@mxf-dev/core 1.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 (1545) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +29 -0
  3. package/dist/adapters/FrameworkAdapter.d.ts +177 -0
  4. package/dist/adapters/FrameworkAdapter.d.ts.map +1 -0
  5. package/dist/adapters/FrameworkAdapter.js +142 -0
  6. package/dist/adapters/FrameworkAdapter.js.map +1 -0
  7. package/dist/adapters/index.d.ts +24 -0
  8. package/dist/adapters/index.d.ts.map +1 -0
  9. package/dist/adapters/index.js +21 -0
  10. package/dist/adapters/index.js.map +1 -0
  11. package/dist/config/ConfigManager.d.ts +606 -0
  12. package/dist/config/ConfigManager.d.ts.map +1 -0
  13. package/dist/config/ConfigManager.js +814 -0
  14. package/dist/config/ConfigManager.js.map +1 -0
  15. package/dist/config/FeatureFlags.d.ts +84 -0
  16. package/dist/config/FeatureFlags.d.ts.map +1 -0
  17. package/dist/config/FeatureFlags.js +103 -0
  18. package/dist/config/FeatureFlags.js.map +1 -0
  19. package/dist/config/McpPromptsConfig.d.ts +43 -0
  20. package/dist/config/McpPromptsConfig.d.ts.map +1 -0
  21. package/dist/config/McpPromptsConfig.js +108 -0
  22. package/dist/config/McpPromptsConfig.js.map +1 -0
  23. package/dist/config/ModelContextLimits.d.ts +40 -0
  24. package/dist/config/ModelContextLimits.d.ts.map +1 -0
  25. package/dist/config/ModelContextLimits.js +137 -0
  26. package/dist/config/ModelContextLimits.js.map +1 -0
  27. package/dist/config/PromptCompactionConfig.d.ts +75 -0
  28. package/dist/config/PromptCompactionConfig.d.ts.map +1 -0
  29. package/dist/config/PromptCompactionConfig.js +146 -0
  30. package/dist/config/PromptCompactionConfig.js.map +1 -0
  31. package/dist/config/PromptConfig.d.ts +57 -0
  32. package/dist/config/PromptConfig.d.ts.map +1 -0
  33. package/dist/config/PromptConfig.js +43 -0
  34. package/dist/config/PromptConfig.js.map +1 -0
  35. package/dist/config/ServerConfig.d.ts +45 -0
  36. package/dist/config/ServerConfig.d.ts.map +1 -0
  37. package/dist/config/ServerConfig.js +51 -0
  38. package/dist/config/ServerConfig.js.map +1 -0
  39. package/dist/config/dag.config.d.ts +83 -0
  40. package/dist/config/dag.config.d.ts.map +1 -0
  41. package/dist/config/dag.config.js +171 -0
  42. package/dist/config/dag.config.js.map +1 -0
  43. package/dist/config/knowledge-graph.config.d.ts +112 -0
  44. package/dist/config/knowledge-graph.config.d.ts.map +1 -0
  45. package/dist/config/knowledge-graph.config.js +225 -0
  46. package/dist/config/knowledge-graph.config.js.map +1 -0
  47. package/dist/config/orpar-memory.config.d.ts +115 -0
  48. package/dist/config/orpar-memory.config.d.ts.map +1 -0
  49. package/dist/config/orpar-memory.config.js +309 -0
  50. package/dist/config/orpar-memory.config.js.map +1 -0
  51. package/dist/config/tensorflow.config.d.ts +74 -0
  52. package/dist/config/tensorflow.config.d.ts.map +1 -0
  53. package/dist/config/tensorflow.config.js +165 -0
  54. package/dist/config/tensorflow.config.js.map +1 -0
  55. package/dist/constants/CoreTools.d.ts +47 -0
  56. package/dist/constants/CoreTools.d.ts.map +1 -0
  57. package/dist/constants/CoreTools.js +80 -0
  58. package/dist/constants/CoreTools.js.map +1 -0
  59. package/dist/constants/DefaultPhaseProfiles.d.ts +163 -0
  60. package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -0
  61. package/dist/constants/DefaultPhaseProfiles.js +618 -0
  62. package/dist/constants/DefaultPhaseProfiles.js.map +1 -0
  63. package/dist/constants/EnhancementConstants.d.ts +352 -0
  64. package/dist/constants/EnhancementConstants.d.ts.map +1 -0
  65. package/dist/constants/EnhancementConstants.js +352 -0
  66. package/dist/constants/EnhancementConstants.js.map +1 -0
  67. package/dist/constants/ToolNames.d.ts +649 -0
  68. package/dist/constants/ToolNames.d.ts.map +1 -0
  69. package/dist/constants/ToolNames.js +463 -0
  70. package/dist/constants/ToolNames.js.map +1 -0
  71. package/dist/database/DatabaseAdapterFactory.d.ts +107 -0
  72. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -0
  73. package/dist/database/DatabaseAdapterFactory.js +160 -0
  74. package/dist/database/DatabaseAdapterFactory.js.map +1 -0
  75. package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +82 -0
  76. package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts.map +1 -0
  77. package/dist/database/adapters/mongodb/MongoAgentRepository.js +145 -0
  78. package/dist/database/adapters/mongodb/MongoAgentRepository.js.map +1 -0
  79. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +79 -0
  80. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -0
  81. package/dist/database/adapters/mongodb/MongoBaseRepository.js +168 -0
  82. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -0
  83. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +80 -0
  84. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts.map +1 -0
  85. package/dist/database/adapters/mongodb/MongoChannelRepository.js +155 -0
  86. package/dist/database/adapters/mongodb/MongoChannelRepository.js.map +1 -0
  87. package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +104 -0
  88. package/dist/database/adapters/mongodb/MongoDagRepository.d.ts.map +1 -0
  89. package/dist/database/adapters/mongodb/MongoDagRepository.js +288 -0
  90. package/dist/database/adapters/mongodb/MongoDagRepository.js.map +1 -0
  91. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +86 -0
  92. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -0
  93. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +717 -0
  94. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -0
  95. package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +60 -0
  96. package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts.map +1 -0
  97. package/dist/database/adapters/mongodb/MongoMemoryRepository.js +176 -0
  98. package/dist/database/adapters/mongodb/MongoMemoryRepository.js.map +1 -0
  99. package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +103 -0
  100. package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts.map +1 -0
  101. package/dist/database/adapters/mongodb/MongoTaskRepository.js +301 -0
  102. package/dist/database/adapters/mongodb/MongoTaskRepository.js.map +1 -0
  103. package/dist/database/adapters/mongodb/index.d.ts +25 -0
  104. package/dist/database/adapters/mongodb/index.d.ts.map +1 -0
  105. package/dist/database/adapters/mongodb/index.js +25 -0
  106. package/dist/database/adapters/mongodb/index.js.map +1 -0
  107. package/dist/database/index.d.ts +22 -0
  108. package/dist/database/index.d.ts.map +1 -0
  109. package/dist/database/index.js +22 -0
  110. package/dist/database/index.js.map +1 -0
  111. package/dist/events/ClientEventBus.d.ts +226 -0
  112. package/dist/events/ClientEventBus.d.ts.map +1 -0
  113. package/dist/events/ClientEventBus.js +630 -0
  114. package/dist/events/ClientEventBus.js.map +1 -0
  115. package/dist/events/EventBus.d.ts +59 -0
  116. package/dist/events/EventBus.d.ts.map +1 -0
  117. package/dist/events/EventBus.js +98 -0
  118. package/dist/events/EventBus.js.map +1 -0
  119. package/dist/events/EventBusBase.d.ts +236 -0
  120. package/dist/events/EventBusBase.d.ts.map +1 -0
  121. package/dist/events/EventBusBase.js +247 -0
  122. package/dist/events/EventBusBase.js.map +1 -0
  123. package/dist/events/EventNames.d.ts +747 -0
  124. package/dist/events/EventNames.d.ts.map +1 -0
  125. package/dist/events/EventNames.js +157 -0
  126. package/dist/events/EventNames.js.map +1 -0
  127. package/dist/events/PublicEvents.d.ts +102 -0
  128. package/dist/events/PublicEvents.d.ts.map +1 -0
  129. package/dist/events/PublicEvents.js +221 -0
  130. package/dist/events/PublicEvents.js.map +1 -0
  131. package/dist/events/ServerEventBus.d.ts +201 -0
  132. package/dist/events/ServerEventBus.d.ts.map +1 -0
  133. package/dist/events/ServerEventBus.js +412 -0
  134. package/dist/events/ServerEventBus.js.map +1 -0
  135. package/dist/events/event-definitions/AgentEvents.d.ts +270 -0
  136. package/dist/events/event-definitions/AgentEvents.d.ts.map +1 -0
  137. package/dist/events/event-definitions/AgentEvents.js +82 -0
  138. package/dist/events/event-definitions/AgentEvents.js.map +1 -0
  139. package/dist/events/event-definitions/AnalyticsEvents.d.ts +280 -0
  140. package/dist/events/event-definitions/AnalyticsEvents.d.ts.map +1 -0
  141. package/dist/events/event-definitions/AnalyticsEvents.js +52 -0
  142. package/dist/events/event-definitions/AnalyticsEvents.js.map +1 -0
  143. package/dist/events/event-definitions/BulkEvents.d.ts +445 -0
  144. package/dist/events/event-definitions/BulkEvents.d.ts.map +1 -0
  145. package/dist/events/event-definitions/BulkEvents.js +61 -0
  146. package/dist/events/event-definitions/BulkEvents.js.map +1 -0
  147. package/dist/events/event-definitions/ChannelEvents.d.ts +197 -0
  148. package/dist/events/event-definitions/ChannelEvents.d.ts.map +1 -0
  149. package/dist/events/event-definitions/ChannelEvents.js +82 -0
  150. package/dist/events/event-definitions/ChannelEvents.js.map +1 -0
  151. package/dist/events/event-definitions/CodeExecutionEvents.d.ts +263 -0
  152. package/dist/events/event-definitions/CodeExecutionEvents.d.ts.map +1 -0
  153. package/dist/events/event-definitions/CodeExecutionEvents.js +41 -0
  154. package/dist/events/event-definitions/CodeExecutionEvents.js.map +1 -0
  155. package/dist/events/event-definitions/CompactionEvents.d.ts +166 -0
  156. package/dist/events/event-definitions/CompactionEvents.d.ts.map +1 -0
  157. package/dist/events/event-definitions/CompactionEvents.js +35 -0
  158. package/dist/events/event-definitions/CompactionEvents.js.map +1 -0
  159. package/dist/events/event-definitions/ConfigEvents.d.ts +319 -0
  160. package/dist/events/event-definitions/ConfigEvents.d.ts.map +1 -0
  161. package/dist/events/event-definitions/ConfigEvents.js +45 -0
  162. package/dist/events/event-definitions/ConfigEvents.js.map +1 -0
  163. package/dist/events/event-definitions/ControlLoopEvents.d.ts +113 -0
  164. package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -0
  165. package/dist/events/event-definitions/ControlLoopEvents.js +40 -0
  166. package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -0
  167. package/dist/events/event-definitions/DagEvents.d.ts +216 -0
  168. package/dist/events/event-definitions/DagEvents.d.ts.map +1 -0
  169. package/dist/events/event-definitions/DagEvents.js +46 -0
  170. package/dist/events/event-definitions/DagEvents.js.map +1 -0
  171. package/dist/events/event-definitions/HeartbeatEvents.d.ts +45 -0
  172. package/dist/events/event-definitions/HeartbeatEvents.d.ts.map +1 -0
  173. package/dist/events/event-definitions/HeartbeatEvents.js +28 -0
  174. package/dist/events/event-definitions/HeartbeatEvents.js.map +1 -0
  175. package/dist/events/event-definitions/InferenceParameterEvents.d.ts +99 -0
  176. package/dist/events/event-definitions/InferenceParameterEvents.d.ts.map +1 -0
  177. package/dist/events/event-definitions/InferenceParameterEvents.js +38 -0
  178. package/dist/events/event-definitions/InferenceParameterEvents.js.map +1 -0
  179. package/dist/events/event-definitions/KeyEvents.d.ts +141 -0
  180. package/dist/events/event-definitions/KeyEvents.d.ts.map +1 -0
  181. package/dist/events/event-definitions/KeyEvents.js +49 -0
  182. package/dist/events/event-definitions/KeyEvents.js.map +1 -0
  183. package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +257 -0
  184. package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts.map +1 -0
  185. package/dist/events/event-definitions/KnowledgeGraphEvents.js +49 -0
  186. package/dist/events/event-definitions/KnowledgeGraphEvents.js.map +1 -0
  187. package/dist/events/event-definitions/LlmEvents.d.ts +50 -0
  188. package/dist/events/event-definitions/LlmEvents.d.ts.map +1 -0
  189. package/dist/events/event-definitions/LlmEvents.js +29 -0
  190. package/dist/events/event-definitions/LlmEvents.js.map +1 -0
  191. package/dist/events/event-definitions/McpEvents.d.ts +385 -0
  192. package/dist/events/event-definitions/McpEvents.d.ts.map +1 -0
  193. package/dist/events/event-definitions/McpEvents.js +86 -0
  194. package/dist/events/event-definitions/McpEvents.js.map +1 -0
  195. package/dist/events/event-definitions/MeilisearchEvents.d.ts +49 -0
  196. package/dist/events/event-definitions/MeilisearchEvents.d.ts.map +1 -0
  197. package/dist/events/event-definitions/MeilisearchEvents.js +34 -0
  198. package/dist/events/event-definitions/MeilisearchEvents.js.map +1 -0
  199. package/dist/events/event-definitions/MemoryEvents.d.ts +328 -0
  200. package/dist/events/event-definitions/MemoryEvents.d.ts.map +1 -0
  201. package/dist/events/event-definitions/MemoryEvents.js +69 -0
  202. package/dist/events/event-definitions/MemoryEvents.js.map +1 -0
  203. package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +233 -0
  204. package/dist/events/event-definitions/MemoryUtilityEvents.d.ts.map +1 -0
  205. package/dist/events/event-definitions/MemoryUtilityEvents.js +37 -0
  206. package/dist/events/event-definitions/MemoryUtilityEvents.js.map +1 -0
  207. package/dist/events/event-definitions/MessageEvents.d.ts +86 -0
  208. package/dist/events/event-definitions/MessageEvents.d.ts.map +1 -0
  209. package/dist/events/event-definitions/MessageEvents.js +42 -0
  210. package/dist/events/event-definitions/MessageEvents.js.map +1 -0
  211. package/dist/events/event-definitions/MxpEvents.d.ts +113 -0
  212. package/dist/events/event-definitions/MxpEvents.d.ts.map +1 -0
  213. package/dist/events/event-definitions/MxpEvents.js +46 -0
  214. package/dist/events/event-definitions/MxpEvents.js.map +1 -0
  215. package/dist/events/event-definitions/OrparEvents.d.ts +222 -0
  216. package/dist/events/event-definitions/OrparEvents.d.ts.map +1 -0
  217. package/dist/events/event-definitions/OrparEvents.js +58 -0
  218. package/dist/events/event-definitions/OrparEvents.js.map +1 -0
  219. package/dist/events/event-definitions/OrparMemoryEvents.d.ts +357 -0
  220. package/dist/events/event-definitions/OrparMemoryEvents.d.ts.map +1 -0
  221. package/dist/events/event-definitions/OrparMemoryEvents.js +79 -0
  222. package/dist/events/event-definitions/OrparMemoryEvents.js.map +1 -0
  223. package/dist/events/event-definitions/PlanEvents.d.ts +109 -0
  224. package/dist/events/event-definitions/PlanEvents.d.ts.map +1 -0
  225. package/dist/events/event-definitions/PlanEvents.js +41 -0
  226. package/dist/events/event-definitions/PlanEvents.js.map +1 -0
  227. package/dist/events/event-definitions/ProgressEvents.d.ts +44 -0
  228. package/dist/events/event-definitions/ProgressEvents.d.ts.map +1 -0
  229. package/dist/events/event-definitions/ProgressEvents.js +30 -0
  230. package/dist/events/event-definitions/ProgressEvents.js.map +1 -0
  231. package/dist/events/event-definitions/ShellExecutionEvents.d.ts +280 -0
  232. package/dist/events/event-definitions/ShellExecutionEvents.d.ts.map +1 -0
  233. package/dist/events/event-definitions/ShellExecutionEvents.js +41 -0
  234. package/dist/events/event-definitions/ShellExecutionEvents.js.map +1 -0
  235. package/dist/events/event-definitions/SystemEvents.d.ts +234 -0
  236. package/dist/events/event-definitions/SystemEvents.d.ts.map +1 -0
  237. package/dist/events/event-definitions/SystemEvents.js +42 -0
  238. package/dist/events/event-definitions/SystemEvents.js.map +1 -0
  239. package/dist/events/event-definitions/TaskEvents.d.ts +239 -0
  240. package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -0
  241. package/dist/events/event-definitions/TaskEvents.js +58 -0
  242. package/dist/events/event-definitions/TaskEvents.js.map +1 -0
  243. package/dist/events/event-definitions/TensorFlowEvents.d.ts +144 -0
  244. package/dist/events/event-definitions/TensorFlowEvents.d.ts.map +1 -0
  245. package/dist/events/event-definitions/TensorFlowEvents.js +45 -0
  246. package/dist/events/event-definitions/TensorFlowEvents.js.map +1 -0
  247. package/dist/events/event-definitions/UserInputEvents.d.ts +180 -0
  248. package/dist/events/event-definitions/UserInputEvents.d.ts.map +1 -0
  249. package/dist/events/event-definitions/UserInputEvents.js +36 -0
  250. package/dist/events/event-definitions/UserInputEvents.js.map +1 -0
  251. package/dist/events/event-definitions/WorkflowEvents.d.ts +142 -0
  252. package/dist/events/event-definitions/WorkflowEvents.d.ts.map +1 -0
  253. package/dist/events/event-definitions/WorkflowEvents.js +50 -0
  254. package/dist/events/event-definitions/WorkflowEvents.js.map +1 -0
  255. package/dist/index.d.ts +14 -0
  256. package/dist/index.d.ts.map +1 -0
  257. package/dist/index.js +12 -0
  258. package/dist/index.js.map +1 -0
  259. package/dist/interfaces/AgentContext.d.ts +154 -0
  260. package/dist/interfaces/AgentContext.d.ts.map +1 -0
  261. package/dist/interfaces/AgentContext.js +38 -0
  262. package/dist/interfaces/AgentContext.js.map +1 -0
  263. package/dist/interfaces/AgentInterfaces.d.ts +96 -0
  264. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -0
  265. package/dist/interfaces/AgentInterfaces.js +21 -0
  266. package/dist/interfaces/AgentInterfaces.js.map +1 -0
  267. package/dist/interfaces/Channel.d.ts +34 -0
  268. package/dist/interfaces/Channel.d.ts.map +1 -0
  269. package/dist/interfaces/Channel.js +21 -0
  270. package/dist/interfaces/Channel.js.map +1 -0
  271. package/dist/interfaces/ChannelConfig.d.ts +50 -0
  272. package/dist/interfaces/ChannelConfig.d.ts.map +1 -0
  273. package/dist/interfaces/ChannelConfig.js +21 -0
  274. package/dist/interfaces/ChannelConfig.js.map +1 -0
  275. package/dist/interfaces/ChannelConnectionConfig.d.ts +36 -0
  276. package/dist/interfaces/ChannelConnectionConfig.d.ts.map +1 -0
  277. package/dist/interfaces/ChannelConnectionConfig.js +21 -0
  278. package/dist/interfaces/ChannelConnectionConfig.js.map +1 -0
  279. package/dist/interfaces/ChannelInfo.d.ts +32 -0
  280. package/dist/interfaces/ChannelInfo.d.ts.map +1 -0
  281. package/dist/interfaces/ChannelInfo.js +21 -0
  282. package/dist/interfaces/ChannelInfo.js.map +1 -0
  283. package/dist/interfaces/ConversationMessage.d.ts +74 -0
  284. package/dist/interfaces/ConversationMessage.d.ts.map +1 -0
  285. package/dist/interfaces/ConversationMessage.js +21 -0
  286. package/dist/interfaces/ConversationMessage.js.map +1 -0
  287. package/dist/interfaces/ILlmTopicExtractor.d.ts +65 -0
  288. package/dist/interfaces/ILlmTopicExtractor.d.ts.map +1 -0
  289. package/dist/interfaces/ILlmTopicExtractor.js +21 -0
  290. package/dist/interfaces/ILlmTopicExtractor.js.map +1 -0
  291. package/dist/interfaces/SocketServiceInterface.d.ts +93 -0
  292. package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -0
  293. package/dist/interfaces/SocketServiceInterface.js +21 -0
  294. package/dist/interfaces/SocketServiceInterface.js.map +1 -0
  295. package/dist/interfaces/TaskInterfaces.d.ts +50 -0
  296. package/dist/interfaces/TaskInterfaces.d.ts.map +1 -0
  297. package/dist/interfaces/TaskInterfaces.js +21 -0
  298. package/dist/interfaces/TaskInterfaces.js.map +1 -0
  299. package/dist/middleware/MxpMiddleware.d.ts +84 -0
  300. package/dist/middleware/MxpMiddleware.d.ts.map +1 -0
  301. package/dist/middleware/MxpMiddleware.js +284 -0
  302. package/dist/middleware/MxpMiddleware.js.map +1 -0
  303. package/dist/models/PatternLearningModels.d.ts +163 -0
  304. package/dist/models/PatternLearningModels.d.ts.map +1 -0
  305. package/dist/models/PatternLearningModels.js +409 -0
  306. package/dist/models/PatternLearningModels.js.map +1 -0
  307. package/dist/models/agent.d.ts +59 -0
  308. package/dist/models/agent.d.ts.map +1 -0
  309. package/dist/models/agent.js +113 -0
  310. package/dist/models/agent.js.map +1 -0
  311. package/dist/models/auditLog.d.ts +46 -0
  312. package/dist/models/auditLog.d.ts.map +1 -0
  313. package/dist/models/auditLog.js +106 -0
  314. package/dist/models/auditLog.js.map +1 -0
  315. package/dist/models/channel.d.ts +91 -0
  316. package/dist/models/channel.d.ts.map +1 -0
  317. package/dist/models/channel.js +205 -0
  318. package/dist/models/channel.js.map +1 -0
  319. package/dist/models/channelKey.d.ts +57 -0
  320. package/dist/models/channelKey.d.ts.map +1 -0
  321. package/dist/models/channelKey.js +93 -0
  322. package/dist/models/channelKey.js.map +1 -0
  323. package/dist/models/codeExecution.d.ts +57 -0
  324. package/dist/models/codeExecution.d.ts.map +1 -0
  325. package/dist/models/codeExecution.js +197 -0
  326. package/dist/models/codeExecution.js.map +1 -0
  327. package/dist/models/controlLoop.d.ts +138 -0
  328. package/dist/models/controlLoop.d.ts.map +1 -0
  329. package/dist/models/controlLoop.js +38 -0
  330. package/dist/models/controlLoop.js.map +1 -0
  331. package/dist/models/coordination.d.ts +76 -0
  332. package/dist/models/coordination.d.ts.map +1 -0
  333. package/dist/models/coordination.js +130 -0
  334. package/dist/models/coordination.js.map +1 -0
  335. package/dist/models/document.d.ts +123 -0
  336. package/dist/models/document.d.ts.map +1 -0
  337. package/dist/models/document.js +191 -0
  338. package/dist/models/document.js.map +1 -0
  339. package/dist/models/entity.d.ts +60 -0
  340. package/dist/models/entity.d.ts.map +1 -0
  341. package/dist/models/entity.js +163 -0
  342. package/dist/models/entity.js.map +1 -0
  343. package/dist/models/mcpTool.d.ts +95 -0
  344. package/dist/models/mcpTool.d.ts.map +1 -0
  345. package/dist/models/mcpTool.js +175 -0
  346. package/dist/models/mcpTool.js.map +1 -0
  347. package/dist/models/mcpToolExecution.d.ts +77 -0
  348. package/dist/models/mcpToolExecution.d.ts.map +1 -0
  349. package/dist/models/mcpToolExecution.js +110 -0
  350. package/dist/models/mcpToolExecution.js.map +1 -0
  351. package/dist/models/memory.d.ts +47 -0
  352. package/dist/models/memory.d.ts.map +1 -0
  353. package/dist/models/memory.js +251 -0
  354. package/dist/models/memory.js.map +1 -0
  355. package/dist/models/memoryStrata.d.ts +130 -0
  356. package/dist/models/memoryStrata.d.ts.map +1 -0
  357. package/dist/models/memoryStrata.js +317 -0
  358. package/dist/models/memoryStrata.js.map +1 -0
  359. package/dist/models/personalAccessToken.d.ts +78 -0
  360. package/dist/models/personalAccessToken.d.ts.map +1 -0
  361. package/dist/models/personalAccessToken.js +155 -0
  362. package/dist/models/personalAccessToken.js.map +1 -0
  363. package/dist/models/plan.d.ts +53 -0
  364. package/dist/models/plan.d.ts.map +1 -0
  365. package/dist/models/plan.js +100 -0
  366. package/dist/models/plan.js.map +1 -0
  367. package/dist/models/relationship.d.ts +59 -0
  368. package/dist/models/relationship.d.ts.map +1 -0
  369. package/dist/models/relationship.js +132 -0
  370. package/dist/models/relationship.js.map +1 -0
  371. package/dist/models/shellOutput.d.ts +54 -0
  372. package/dist/models/shellOutput.d.ts.map +1 -0
  373. package/dist/models/shellOutput.js +76 -0
  374. package/dist/models/shellOutput.js.map +1 -0
  375. package/dist/models/task.d.ts +77 -0
  376. package/dist/models/task.d.ts.map +1 -0
  377. package/dist/models/task.js +297 -0
  378. package/dist/models/task.js.map +1 -0
  379. package/dist/models/taskEffectiveness.d.ts +45 -0
  380. package/dist/models/taskEffectiveness.d.ts.map +1 -0
  381. package/dist/models/taskEffectiveness.js +132 -0
  382. package/dist/models/taskEffectiveness.js.map +1 -0
  383. package/dist/models/tool.d.ts +57 -0
  384. package/dist/models/tool.d.ts.map +1 -0
  385. package/dist/models/tool.js +68 -0
  386. package/dist/models/tool.js.map +1 -0
  387. package/dist/models/toolExecution.d.ts +44 -0
  388. package/dist/models/toolExecution.d.ts.map +1 -0
  389. package/dist/models/toolExecution.js +46 -0
  390. package/dist/models/toolExecution.js.map +1 -0
  391. package/dist/models/toolModels.d.ts +130 -0
  392. package/dist/models/toolModels.d.ts.map +1 -0
  393. package/dist/models/toolModels.js +315 -0
  394. package/dist/models/toolModels.js.map +1 -0
  395. package/dist/models/user.d.ts +52 -0
  396. package/dist/models/user.d.ts.map +1 -0
  397. package/dist/models/user.js +118 -0
  398. package/dist/models/user.js.map +1 -0
  399. package/dist/models/userMemory.d.ts +57 -0
  400. package/dist/models/userMemory.d.ts.map +1 -0
  401. package/dist/models/userMemory.js +113 -0
  402. package/dist/models/userMemory.js.map +1 -0
  403. package/dist/mxp/BinaryProtocolLayer.d.ts +86 -0
  404. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -0
  405. package/dist/mxp/BinaryProtocolLayer.js +313 -0
  406. package/dist/mxp/BinaryProtocolLayer.js.map +1 -0
  407. package/dist/mxp/ContextCompressionEngine.d.ts +134 -0
  408. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -0
  409. package/dist/mxp/ContextCompressionEngine.js +416 -0
  410. package/dist/mxp/ContextCompressionEngine.js.map +1 -0
  411. package/dist/mxp/MxpConfigManager.d.ts +109 -0
  412. package/dist/mxp/MxpConfigManager.d.ts.map +1 -0
  413. package/dist/mxp/MxpConfigManager.js +257 -0
  414. package/dist/mxp/MxpConfigManager.js.map +1 -0
  415. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +134 -0
  416. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +1 -0
  417. package/dist/mxp/MxpEventForwardingEnhancer.js +361 -0
  418. package/dist/mxp/MxpEventForwardingEnhancer.js.map +1 -0
  419. package/dist/mxp/MxpTokenOptimizer.d.ts +68 -0
  420. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -0
  421. package/dist/mxp/MxpTokenOptimizer.js +198 -0
  422. package/dist/mxp/MxpTokenOptimizer.js.map +1 -0
  423. package/dist/prompts/ChannelContextProvider.d.ts +55 -0
  424. package/dist/prompts/ChannelContextProvider.d.ts.map +1 -0
  425. package/dist/prompts/ChannelContextProvider.js +159 -0
  426. package/dist/prompts/ChannelContextProvider.js.map +1 -0
  427. package/dist/prompts/DeferredToolSchemaRegistry.d.ts +84 -0
  428. package/dist/prompts/DeferredToolSchemaRegistry.d.ts.map +1 -0
  429. package/dist/prompts/DeferredToolSchemaRegistry.js +186 -0
  430. package/dist/prompts/DeferredToolSchemaRegistry.js.map +1 -0
  431. package/dist/prompts/DynamicContextProvider.d.ts +94 -0
  432. package/dist/prompts/DynamicContextProvider.d.ts.map +1 -0
  433. package/dist/prompts/DynamicContextProvider.js +124 -0
  434. package/dist/prompts/DynamicContextProvider.js.map +1 -0
  435. package/dist/prompts/MemoryPromptInjector.d.ts +77 -0
  436. package/dist/prompts/MemoryPromptInjector.d.ts.map +1 -0
  437. package/dist/prompts/MemoryPromptInjector.js +248 -0
  438. package/dist/prompts/MemoryPromptInjector.js.map +1 -0
  439. package/dist/prompts/MxfAgentSystemPrompt.d.ts +121 -0
  440. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -0
  441. package/dist/prompts/MxfAgentSystemPrompt.js +922 -0
  442. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -0
  443. package/dist/prompts/PromptSegmentRegistry.d.ts +103 -0
  444. package/dist/prompts/PromptSegmentRegistry.d.ts.map +1 -0
  445. package/dist/prompts/PromptSegmentRegistry.js +303 -0
  446. package/dist/prompts/PromptSegmentRegistry.js.map +1 -0
  447. package/dist/prompts/ToolBehavioralGuidance.d.ts +68 -0
  448. package/dist/prompts/ToolBehavioralGuidance.d.ts.map +1 -0
  449. package/dist/prompts/ToolBehavioralGuidance.js +171 -0
  450. package/dist/prompts/ToolBehavioralGuidance.js.map +1 -0
  451. package/dist/protocols/binaryProtocol.d.ts +109 -0
  452. package/dist/protocols/binaryProtocol.d.ts.map +1 -0
  453. package/dist/protocols/binaryProtocol.js +329 -0
  454. package/dist/protocols/binaryProtocol.js.map +1 -0
  455. package/dist/protocols/mcp/ClientExecutableManifest.d.ts +68 -0
  456. package/dist/protocols/mcp/ClientExecutableManifest.d.ts.map +1 -0
  457. package/dist/protocols/mcp/ClientExecutableManifest.js +81 -0
  458. package/dist/protocols/mcp/ClientExecutableManifest.js.map +1 -0
  459. package/dist/protocols/mcp/IMcpClient.d.ts +285 -0
  460. package/dist/protocols/mcp/IMcpClient.d.ts.map +1 -0
  461. package/dist/protocols/mcp/IMcpClient.js +40 -0
  462. package/dist/protocols/mcp/IMcpClient.js.map +1 -0
  463. package/dist/protocols/mcp/LlmProviderFactory.d.ts +40 -0
  464. package/dist/protocols/mcp/LlmProviderFactory.d.ts.map +1 -0
  465. package/dist/protocols/mcp/LlmProviderFactory.js +78 -0
  466. package/dist/protocols/mcp/LlmProviderFactory.js.map +1 -0
  467. package/dist/protocols/mcp/LlmProviders.d.ts +42 -0
  468. package/dist/protocols/mcp/LlmProviders.d.ts.map +1 -0
  469. package/dist/protocols/mcp/LlmProviders.js +45 -0
  470. package/dist/protocols/mcp/LlmProviders.js.map +1 -0
  471. package/dist/protocols/mcp/McpClient.d.ts +106 -0
  472. package/dist/protocols/mcp/McpClient.d.ts.map +1 -0
  473. package/dist/protocols/mcp/McpClient.js +159 -0
  474. package/dist/protocols/mcp/McpClient.js.map +1 -0
  475. package/dist/protocols/mcp/McpClientFactory.d.ts +41 -0
  476. package/dist/protocols/mcp/McpClientFactory.d.ts.map +1 -0
  477. package/dist/protocols/mcp/McpClientFactory.js +51 -0
  478. package/dist/protocols/mcp/McpClientFactory.js.map +1 -0
  479. package/dist/protocols/mcp/McpServerTypes.d.ts +195 -0
  480. package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -0
  481. package/dist/protocols/mcp/McpServerTypes.js +21 -0
  482. package/dist/protocols/mcp/McpServerTypes.js.map +1 -0
  483. package/dist/protocols/mcp/McpToolCallParser.d.ts +68 -0
  484. package/dist/protocols/mcp/McpToolCallParser.d.ts.map +1 -0
  485. package/dist/protocols/mcp/McpToolCallParser.js +240 -0
  486. package/dist/protocols/mcp/McpToolCallParser.js.map +1 -0
  487. package/dist/protocols/mcp/McpToolSchema.d.ts +160 -0
  488. package/dist/protocols/mcp/McpToolSchema.d.ts.map +1 -0
  489. package/dist/protocols/mcp/McpToolSchema.js +512 -0
  490. package/dist/protocols/mcp/McpToolSchema.js.map +1 -0
  491. package/dist/protocols/mcp/converters/IFormatConverter.d.ts +309 -0
  492. package/dist/protocols/mcp/converters/IFormatConverter.d.ts.map +1 -0
  493. package/dist/protocols/mcp/converters/IFormatConverter.js +76 -0
  494. package/dist/protocols/mcp/converters/IFormatConverter.js.map +1 -0
  495. package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +80 -0
  496. package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts.map +1 -0
  497. package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +234 -0
  498. package/dist/protocols/mcp/converters/UnifiedMessageConverter.js.map +1 -0
  499. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +101 -0
  500. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts.map +1 -0
  501. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +434 -0
  502. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js.map +1 -0
  503. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +34 -0
  504. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts.map +1 -0
  505. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +49 -0
  506. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js.map +1 -0
  507. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +39 -0
  508. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts.map +1 -0
  509. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +43 -0
  510. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js.map +1 -0
  511. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +96 -0
  512. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts.map +1 -0
  513. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +334 -0
  514. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js.map +1 -0
  515. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +30 -0
  516. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts.map +1 -0
  517. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +34 -0
  518. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js.map +1 -0
  519. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +115 -0
  520. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -0
  521. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +514 -0
  522. package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -0
  523. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +151 -0
  524. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -0
  525. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +657 -0
  526. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -0
  527. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +152 -0
  528. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -0
  529. package/dist/protocols/mcp/providers/BaseMcpClient.js +219 -0
  530. package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -0
  531. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +106 -0
  532. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -0
  533. package/dist/protocols/mcp/providers/CustomMcpClient.js +282 -0
  534. package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -0
  535. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +121 -0
  536. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -0
  537. package/dist/protocols/mcp/providers/GeminiMcpClient.js +581 -0
  538. package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -0
  539. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +97 -0
  540. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -0
  541. package/dist/protocols/mcp/providers/OllamaMcpClient.js +418 -0
  542. package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -0
  543. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +133 -0
  544. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -0
  545. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +672 -0
  546. package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -0
  547. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +164 -0
  548. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -0
  549. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +902 -0
  550. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -0
  551. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +96 -0
  552. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -0
  553. package/dist/protocols/mcp/providers/XaiMcpClient.js +474 -0
  554. package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -0
  555. package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +113 -0
  556. package/dist/protocols/mcp/security/McpConfirmationManager.d.ts.map +1 -0
  557. package/dist/protocols/mcp/security/McpConfirmationManager.js +238 -0
  558. package/dist/protocols/mcp/security/McpConfirmationManager.js.map +1 -0
  559. package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +119 -0
  560. package/dist/protocols/mcp/security/McpSecurityConfig.d.ts.map +1 -0
  561. package/dist/protocols/mcp/security/McpSecurityConfig.js +306 -0
  562. package/dist/protocols/mcp/security/McpSecurityConfig.js.map +1 -0
  563. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +91 -0
  564. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -0
  565. package/dist/protocols/mcp/security/McpSecurityGuard.js +458 -0
  566. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -0
  567. package/dist/protocols/mcp/security/index.d.ts +28 -0
  568. package/dist/protocols/mcp/security/index.d.ts.map +1 -0
  569. package/dist/protocols/mcp/security/index.js +28 -0
  570. package/dist/protocols/mcp/security/index.js.map +1 -0
  571. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +232 -0
  572. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -0
  573. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +1174 -0
  574. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -0
  575. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +109 -0
  576. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -0
  577. package/dist/protocols/mcp/services/ExternalServerConfigs.js +321 -0
  578. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -0
  579. package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +50 -0
  580. package/dist/protocols/mcp/services/IToolEventEmitter.d.ts.map +1 -0
  581. package/dist/protocols/mcp/services/IToolEventEmitter.js +21 -0
  582. package/dist/protocols/mcp/services/IToolEventEmitter.js.map +1 -0
  583. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +56 -0
  584. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +1 -0
  585. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +57 -0
  586. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +1 -0
  587. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +68 -0
  588. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -0
  589. package/dist/protocols/mcp/tools/AnalyticsTools.js +725 -0
  590. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -0
  591. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +614 -0
  592. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -0
  593. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +645 -0
  594. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -0
  595. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +270 -0
  596. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +1 -0
  597. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +256 -0
  598. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +1 -0
  599. package/dist/protocols/mcp/tools/DateTimeTools.d.ts +431 -0
  600. package/dist/protocols/mcp/tools/DateTimeTools.d.ts.map +1 -0
  601. package/dist/protocols/mcp/tools/DateTimeTools.js +525 -0
  602. package/dist/protocols/mcp/tools/DateTimeTools.js.map +1 -0
  603. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +51 -0
  604. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -0
  605. package/dist/protocols/mcp/tools/EffectivenessTools.js +403 -0
  606. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -0
  607. package/dist/protocols/mcp/tools/GitTools.d.ts +389 -0
  608. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -0
  609. package/dist/protocols/mcp/tools/GitTools.js +657 -0
  610. package/dist/protocols/mcp/tools/GitTools.js.map +1 -0
  611. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +826 -0
  612. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -0
  613. package/dist/protocols/mcp/tools/InfrastructureTools.js +689 -0
  614. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -0
  615. package/dist/protocols/mcp/tools/JsonTools.d.ts +339 -0
  616. package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -0
  617. package/dist/protocols/mcp/tools/JsonTools.js +304 -0
  618. package/dist/protocols/mcp/tools/JsonTools.js.map +1 -0
  619. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1295 -0
  620. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -0
  621. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +929 -0
  622. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -0
  623. package/dist/protocols/mcp/tools/LspTools.d.ts +495 -0
  624. package/dist/protocols/mcp/tools/LspTools.d.ts.map +1 -0
  625. package/dist/protocols/mcp/tools/LspTools.js +469 -0
  626. package/dist/protocols/mcp/tools/LspTools.js.map +1 -0
  627. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +457 -0
  628. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -0
  629. package/dist/protocols/mcp/tools/MemorySearchTools.js +476 -0
  630. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -0
  631. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +47 -0
  632. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -0
  633. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +480 -0
  634. package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -0
  635. package/dist/protocols/mcp/tools/OrparTools.d.ts +396 -0
  636. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -0
  637. package/dist/protocols/mcp/tools/OrparTools.js +963 -0
  638. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -0
  639. package/dist/protocols/mcp/tools/PlanningTools.d.ts +63 -0
  640. package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -0
  641. package/dist/protocols/mcp/tools/PlanningTools.js +533 -0
  642. package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -0
  643. package/dist/protocols/mcp/tools/PredictiveTools.d.ts +74 -0
  644. package/dist/protocols/mcp/tools/PredictiveTools.d.ts.map +1 -0
  645. package/dist/protocols/mcp/tools/PredictiveTools.js +316 -0
  646. package/dist/protocols/mcp/tools/PredictiveTools.js.map +1 -0
  647. package/dist/protocols/mcp/tools/ProgressTools.d.ts +41 -0
  648. package/dist/protocols/mcp/tools/ProgressTools.d.ts.map +1 -0
  649. package/dist/protocols/mcp/tools/ProgressTools.js +85 -0
  650. package/dist/protocols/mcp/tools/ProgressTools.js.map +1 -0
  651. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +35 -0
  652. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -0
  653. package/dist/protocols/mcp/tools/ProjectContextTools.js +311 -0
  654. package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -0
  655. package/dist/protocols/mcp/tools/SafetyTools.d.ts +545 -0
  656. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -0
  657. package/dist/protocols/mcp/tools/SafetyTools.js +959 -0
  658. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -0
  659. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +153 -0
  660. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -0
  661. package/dist/protocols/mcp/tools/SearchProjectTools.js +233 -0
  662. package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -0
  663. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +49 -0
  664. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -0
  665. package/dist/protocols/mcp/tools/TaskPlanningTools.js +570 -0
  666. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -0
  667. package/dist/protocols/mcp/tools/TestTools.d.ts +396 -0
  668. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -0
  669. package/dist/protocols/mcp/tools/TestTools.js +498 -0
  670. package/dist/protocols/mcp/tools/TestTools.js.map +1 -0
  671. package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +164 -0
  672. package/dist/protocols/mcp/tools/ToolHelpTools.d.ts.map +1 -0
  673. package/dist/protocols/mcp/tools/ToolHelpTools.js +269 -0
  674. package/dist/protocols/mcp/tools/ToolHelpTools.js.map +1 -0
  675. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +296 -0
  676. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -0
  677. package/dist/protocols/mcp/tools/TypeScriptTools.js +446 -0
  678. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -0
  679. package/dist/protocols/mcp/tools/UserInputTools.d.ts +306 -0
  680. package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -0
  681. package/dist/protocols/mcp/tools/UserInputTools.js +354 -0
  682. package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -0
  683. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +59 -0
  684. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -0
  685. package/dist/protocols/mcp/tools/UserMemoryTools.js +339 -0
  686. package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -0
  687. package/dist/protocols/mcp/tools/WebTools.d.ts +758 -0
  688. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -0
  689. package/dist/protocols/mcp/tools/WebTools.js +494 -0
  690. package/dist/protocols/mcp/tools/WebTools.js.map +1 -0
  691. package/dist/protocols/mcp/tools/WolframTools.d.ts +175 -0
  692. package/dist/protocols/mcp/tools/WolframTools.d.ts.map +1 -0
  693. package/dist/protocols/mcp/tools/WolframTools.js +200 -0
  694. package/dist/protocols/mcp/tools/WolframTools.js.map +1 -0
  695. package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +54 -0
  696. package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts.map +1 -0
  697. package/dist/protocols/mcp/tools/shell/CommandClassification.js +487 -0
  698. package/dist/protocols/mcp/tools/shell/CommandClassification.js.map +1 -0
  699. package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +64 -0
  700. package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts.map +1 -0
  701. package/dist/protocols/mcp/tools/shell/CommandSemantics.js +300 -0
  702. package/dist/protocols/mcp/tools/shell/CommandSemantics.js.map +1 -0
  703. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +47 -0
  704. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts.map +1 -0
  705. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +177 -0
  706. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js.map +1 -0
  707. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +70 -0
  708. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts.map +1 -0
  709. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +123 -0
  710. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js.map +1 -0
  711. package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts +56 -0
  712. package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts.map +1 -0
  713. package/dist/protocols/mcp/tools/shell/ShellCommandParser.js +521 -0
  714. package/dist/protocols/mcp/tools/shell/ShellCommandParser.js.map +1 -0
  715. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +112 -0
  716. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -0
  717. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +314 -0
  718. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -0
  719. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +90 -0
  720. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -0
  721. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +350 -0
  722. package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -0
  723. package/dist/protocols/mcp/tools/shell/index.d.ts +46 -0
  724. package/dist/protocols/mcp/tools/shell/index.d.ts.map +1 -0
  725. package/dist/protocols/mcp/tools/shell/index.js +39 -0
  726. package/dist/protocols/mcp/tools/shell/index.js.map +1 -0
  727. package/dist/protocols/mcp/utils/JsonRecovery.d.ts +67 -0
  728. package/dist/protocols/mcp/utils/JsonRecovery.d.ts.map +1 -0
  729. package/dist/protocols/mcp/utils/JsonRecovery.js +230 -0
  730. package/dist/protocols/mcp/utils/JsonRecovery.js.map +1 -0
  731. package/dist/protocols/mcp/utils/MessageConverters.d.ts +99 -0
  732. package/dist/protocols/mcp/utils/MessageConverters.d.ts.map +1 -0
  733. package/dist/protocols/mcp/utils/MessageConverters.js +193 -0
  734. package/dist/protocols/mcp/utils/MessageConverters.js.map +1 -0
  735. package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +76 -0
  736. package/dist/protocols/mcp/utils/NetworkRecovery.d.ts.map +1 -0
  737. package/dist/protocols/mcp/utils/NetworkRecovery.js +227 -0
  738. package/dist/protocols/mcp/utils/NetworkRecovery.js.map +1 -0
  739. package/dist/protocols/mcp/utils/ToolHandlers.d.ts +95 -0
  740. package/dist/protocols/mcp/utils/ToolHandlers.d.ts.map +1 -0
  741. package/dist/protocols/mcp/utils/ToolHandlers.js +231 -0
  742. package/dist/protocols/mcp/utils/ToolHandlers.js.map +1 -0
  743. package/dist/repositories/interfaces/IAgentRepository.d.ts +112 -0
  744. package/dist/repositories/interfaces/IAgentRepository.d.ts.map +1 -0
  745. package/dist/repositories/interfaces/IAgentRepository.js +21 -0
  746. package/dist/repositories/interfaces/IAgentRepository.js.map +1 -0
  747. package/dist/repositories/interfaces/IBaseRepository.d.ts +64 -0
  748. package/dist/repositories/interfaces/IBaseRepository.d.ts.map +1 -0
  749. package/dist/repositories/interfaces/IBaseRepository.js +21 -0
  750. package/dist/repositories/interfaces/IBaseRepository.js.map +1 -0
  751. package/dist/repositories/interfaces/IChannelRepository.d.ts +141 -0
  752. package/dist/repositories/interfaces/IChannelRepository.d.ts.map +1 -0
  753. package/dist/repositories/interfaces/IChannelRepository.js +21 -0
  754. package/dist/repositories/interfaces/IChannelRepository.js.map +1 -0
  755. package/dist/repositories/interfaces/IDagRepository.d.ts +153 -0
  756. package/dist/repositories/interfaces/IDagRepository.d.ts.map +1 -0
  757. package/dist/repositories/interfaces/IDagRepository.js +21 -0
  758. package/dist/repositories/interfaces/IDagRepository.js.map +1 -0
  759. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +307 -0
  760. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -0
  761. package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +21 -0
  762. package/dist/repositories/interfaces/IKnowledgeGraphRepository.js.map +1 -0
  763. package/dist/repositories/interfaces/IMemoryRepository.d.ts +156 -0
  764. package/dist/repositories/interfaces/IMemoryRepository.d.ts.map +1 -0
  765. package/dist/repositories/interfaces/IMemoryRepository.js +42 -0
  766. package/dist/repositories/interfaces/IMemoryRepository.js.map +1 -0
  767. package/dist/repositories/interfaces/ITaskRepository.d.ts +183 -0
  768. package/dist/repositories/interfaces/ITaskRepository.d.ts.map +1 -0
  769. package/dist/repositories/interfaces/ITaskRepository.js +21 -0
  770. package/dist/repositories/interfaces/ITaskRepository.js.map +1 -0
  771. package/dist/repositories/interfaces/index.d.ts +27 -0
  772. package/dist/repositories/interfaces/index.d.ts.map +1 -0
  773. package/dist/repositories/interfaces/index.js +27 -0
  774. package/dist/repositories/interfaces/index.js.map +1 -0
  775. package/dist/repositories/types/FilterTypes.d.ts +69 -0
  776. package/dist/repositories/types/FilterTypes.d.ts.map +1 -0
  777. package/dist/repositories/types/FilterTypes.js +21 -0
  778. package/dist/repositories/types/FilterTypes.js.map +1 -0
  779. package/dist/repositories/types/PaginationTypes.d.ts +55 -0
  780. package/dist/repositories/types/PaginationTypes.d.ts.map +1 -0
  781. package/dist/repositories/types/PaginationTypes.js +21 -0
  782. package/dist/repositories/types/PaginationTypes.js.map +1 -0
  783. package/dist/schemas/CodeExecutionEventPayloads.d.ts +108 -0
  784. package/dist/schemas/CodeExecutionEventPayloads.d.ts.map +1 -0
  785. package/dist/schemas/CodeExecutionEventPayloads.js +164 -0
  786. package/dist/schemas/CodeExecutionEventPayloads.js.map +1 -0
  787. package/dist/schemas/EventPayloadSchema.d.ts +2467 -0
  788. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -0
  789. package/dist/schemas/EventPayloadSchema.js +2049 -0
  790. package/dist/schemas/EventPayloadSchema.js.map +1 -0
  791. package/dist/schemas/JsonResponseSchemas.d.ts +352 -0
  792. package/dist/schemas/JsonResponseSchemas.d.ts.map +1 -0
  793. package/dist/schemas/JsonResponseSchemas.js +256 -0
  794. package/dist/schemas/JsonResponseSchemas.js.map +1 -0
  795. package/dist/schemas/MessageSchemas.d.ts +180 -0
  796. package/dist/schemas/MessageSchemas.d.ts.map +1 -0
  797. package/dist/schemas/MessageSchemas.js +282 -0
  798. package/dist/schemas/MessageSchemas.js.map +1 -0
  799. package/dist/schemas/MxpProtocolSchemas.d.ts +340 -0
  800. package/dist/schemas/MxpProtocolSchemas.d.ts.map +1 -0
  801. package/dist/schemas/MxpProtocolSchemas.js +282 -0
  802. package/dist/schemas/MxpProtocolSchemas.js.map +1 -0
  803. package/dist/schemas/ShellExecutionEventPayloads.d.ts +117 -0
  804. package/dist/schemas/ShellExecutionEventPayloads.d.ts.map +1 -0
  805. package/dist/schemas/ShellExecutionEventPayloads.js +165 -0
  806. package/dist/schemas/ShellExecutionEventPayloads.js.map +1 -0
  807. package/dist/services/AgentPerformanceService.d.ts +73 -0
  808. package/dist/services/AgentPerformanceService.d.ts.map +1 -0
  809. package/dist/services/AgentPerformanceService.js +499 -0
  810. package/dist/services/AgentPerformanceService.js.map +1 -0
  811. package/dist/services/AutoCorrectionIntegrationService.d.ts +243 -0
  812. package/dist/services/AutoCorrectionIntegrationService.d.ts.map +1 -0
  813. package/dist/services/AutoCorrectionIntegrationService.js +594 -0
  814. package/dist/services/AutoCorrectionIntegrationService.js.map +1 -0
  815. package/dist/services/AutoCorrectionService.d.ts +178 -0
  816. package/dist/services/AutoCorrectionService.d.ts.map +1 -0
  817. package/dist/services/AutoCorrectionService.js +822 -0
  818. package/dist/services/AutoCorrectionService.js.map +1 -0
  819. package/dist/services/AutoMemoryCreator.d.ts +133 -0
  820. package/dist/services/AutoMemoryCreator.d.ts.map +1 -0
  821. package/dist/services/AutoMemoryCreator.js +453 -0
  822. package/dist/services/AutoMemoryCreator.js.map +1 -0
  823. package/dist/services/BackgroundTaskManager.d.ts +174 -0
  824. package/dist/services/BackgroundTaskManager.d.ts.map +1 -0
  825. package/dist/services/BackgroundTaskManager.js +443 -0
  826. package/dist/services/BackgroundTaskManager.js.map +1 -0
  827. package/dist/services/BrowserManager.d.ts +53 -0
  828. package/dist/services/BrowserManager.d.ts.map +1 -0
  829. package/dist/services/BrowserManager.js +203 -0
  830. package/dist/services/BrowserManager.js.map +1 -0
  831. package/dist/services/ChannelContextMemoryOperations.d.ts +63 -0
  832. package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -0
  833. package/dist/services/ChannelContextMemoryOperations.js +284 -0
  834. package/dist/services/ChannelContextMemoryOperations.js.map +1 -0
  835. package/dist/services/ChannelContextMessageOperations.d.ts +66 -0
  836. package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -0
  837. package/dist/services/ChannelContextMessageOperations.js +331 -0
  838. package/dist/services/ChannelContextMessageOperations.js.map +1 -0
  839. package/dist/services/CodeExecutionSandboxService.d.ts +129 -0
  840. package/dist/services/CodeExecutionSandboxService.d.ts.map +1 -0
  841. package/dist/services/CodeExecutionSandboxService.js +314 -0
  842. package/dist/services/CodeExecutionSandboxService.js.map +1 -0
  843. package/dist/services/ContainerExecutionManager.d.ts +161 -0
  844. package/dist/services/ContainerExecutionManager.d.ts.map +1 -0
  845. package/dist/services/ContainerExecutionManager.js +594 -0
  846. package/dist/services/ContainerExecutionManager.js.map +1 -0
  847. package/dist/services/ContainerPoolManager.d.ts +9 -0
  848. package/dist/services/ContainerPoolManager.d.ts.map +1 -0
  849. package/dist/services/ContainerPoolManager.js +8 -0
  850. package/dist/services/ContainerPoolManager.js.map +1 -0
  851. package/dist/services/ContentProcessor.d.ts +133 -0
  852. package/dist/services/ContentProcessor.d.ts.map +1 -0
  853. package/dist/services/ContentProcessor.js +428 -0
  854. package/dist/services/ContentProcessor.js.map +1 -0
  855. package/dist/services/McpToolDocumentationService.d.ts +54 -0
  856. package/dist/services/McpToolDocumentationService.d.ts.map +1 -0
  857. package/dist/services/McpToolDocumentationService.js +202 -0
  858. package/dist/services/McpToolDocumentationService.js.map +1 -0
  859. package/dist/services/MemoryCompressor.d.ts +92 -0
  860. package/dist/services/MemoryCompressor.d.ts.map +1 -0
  861. package/dist/services/MemoryCompressor.js +283 -0
  862. package/dist/services/MemoryCompressor.js.map +1 -0
  863. package/dist/services/MemoryService.d.ts +328 -0
  864. package/dist/services/MemoryService.d.ts.map +1 -0
  865. package/dist/services/MemoryService.js +1424 -0
  866. package/dist/services/MemoryService.js.map +1 -0
  867. package/dist/services/MxfMLService.d.ts +236 -0
  868. package/dist/services/MxfMLService.d.ts.map +1 -0
  869. package/dist/services/MxfMLService.js +930 -0
  870. package/dist/services/MxfMLService.js.map +1 -0
  871. package/dist/services/MxfMeilisearchService.d.ts +232 -0
  872. package/dist/services/MxfMeilisearchService.d.ts.map +1 -0
  873. package/dist/services/MxfMeilisearchService.js +477 -0
  874. package/dist/services/MxfMeilisearchService.js.map +1 -0
  875. package/dist/services/MxfMessageAggregator.d.ts +86 -0
  876. package/dist/services/MxfMessageAggregator.d.ts.map +1 -0
  877. package/dist/services/MxfMessageAggregator.js +259 -0
  878. package/dist/services/MxfMessageAggregator.js.map +1 -0
  879. package/dist/services/PatternLearningService.d.ts +101 -0
  880. package/dist/services/PatternLearningService.d.ts.map +1 -0
  881. package/dist/services/PatternLearningService.js +893 -0
  882. package/dist/services/PatternLearningService.js.map +1 -0
  883. package/dist/services/PerformanceOptimizationService.d.ts +273 -0
  884. package/dist/services/PerformanceOptimizationService.d.ts.map +1 -0
  885. package/dist/services/PerformanceOptimizationService.js +861 -0
  886. package/dist/services/PerformanceOptimizationService.js.map +1 -0
  887. package/dist/services/PredictiveAnalyticsService.d.ts +513 -0
  888. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -0
  889. package/dist/services/PredictiveAnalyticsService.js +1656 -0
  890. package/dist/services/PredictiveAnalyticsService.js.map +1 -0
  891. package/dist/services/ProactiveValidationService.d.ts +266 -0
  892. package/dist/services/ProactiveValidationService.d.ts.map +1 -0
  893. package/dist/services/ProactiveValidationService.js +1012 -0
  894. package/dist/services/ProactiveValidationService.js.map +1 -0
  895. package/dist/services/PromptArgumentInferenceService.d.ts +51 -0
  896. package/dist/services/PromptArgumentInferenceService.d.ts.map +1 -0
  897. package/dist/services/PromptArgumentInferenceService.js +148 -0
  898. package/dist/services/PromptArgumentInferenceService.js.map +1 -0
  899. package/dist/services/QValueManager.d.ts +164 -0
  900. package/dist/services/QValueManager.d.ts.map +1 -0
  901. package/dist/services/QValueManager.js +502 -0
  902. package/dist/services/QValueManager.js.map +1 -0
  903. package/dist/services/ReasoningToolParser.d.ts +106 -0
  904. package/dist/services/ReasoningToolParser.d.ts.map +1 -0
  905. package/dist/services/ReasoningToolParser.js +354 -0
  906. package/dist/services/ReasoningToolParser.js.map +1 -0
  907. package/dist/services/RecoveryWorkflowService.d.ts +233 -0
  908. package/dist/services/RecoveryWorkflowService.d.ts.map +1 -0
  909. package/dist/services/RecoveryWorkflowService.js +655 -0
  910. package/dist/services/RecoveryWorkflowService.js.map +1 -0
  911. package/dist/services/ReflectionService.d.ts +66 -0
  912. package/dist/services/ReflectionService.d.ts.map +1 -0
  913. package/dist/services/ReflectionService.js +257 -0
  914. package/dist/services/ReflectionService.js.map +1 -0
  915. package/dist/services/RetentionGateService.d.ts +108 -0
  916. package/dist/services/RetentionGateService.d.ts.map +1 -0
  917. package/dist/services/RetentionGateService.js +306 -0
  918. package/dist/services/RetentionGateService.js.map +1 -0
  919. package/dist/services/RewardSignalProcessor.d.ts +164 -0
  920. package/dist/services/RewardSignalProcessor.d.ts.map +1 -0
  921. package/dist/services/RewardSignalProcessor.js +511 -0
  922. package/dist/services/RewardSignalProcessor.js.map +1 -0
  923. package/dist/services/SharedStateService.d.ts +79 -0
  924. package/dist/services/SharedStateService.d.ts.map +1 -0
  925. package/dist/services/SharedStateService.js +178 -0
  926. package/dist/services/SharedStateService.js.map +1 -0
  927. package/dist/services/StratumManager.d.ts +118 -0
  928. package/dist/services/StratumManager.d.ts.map +1 -0
  929. package/dist/services/StratumManager.js +392 -0
  930. package/dist/services/StratumManager.js.map +1 -0
  931. package/dist/services/StructuredSummaryBuilder.d.ts +90 -0
  932. package/dist/services/StructuredSummaryBuilder.d.ts.map +1 -0
  933. package/dist/services/StructuredSummaryBuilder.js +257 -0
  934. package/dist/services/StructuredSummaryBuilder.js.map +1 -0
  935. package/dist/services/SurpriseCalculator.d.ts +118 -0
  936. package/dist/services/SurpriseCalculator.d.ts.map +1 -0
  937. package/dist/services/SurpriseCalculator.js +303 -0
  938. package/dist/services/SurpriseCalculator.js.map +1 -0
  939. package/dist/services/SystemLlmMemoryAnalyzer.d.ts +73 -0
  940. package/dist/services/SystemLlmMemoryAnalyzer.d.ts.map +1 -0
  941. package/dist/services/SystemLlmMemoryAnalyzer.js +357 -0
  942. package/dist/services/SystemLlmMemoryAnalyzer.js.map +1 -0
  943. package/dist/services/TaskEffectivenessService.d.ts +122 -0
  944. package/dist/services/TaskEffectivenessService.d.ts.map +1 -0
  945. package/dist/services/TaskEffectivenessService.js +777 -0
  946. package/dist/services/TaskEffectivenessService.js.map +1 -0
  947. package/dist/services/ToolExecutionInterceptor.d.ts +158 -0
  948. package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -0
  949. package/dist/services/ToolExecutionInterceptor.js +362 -0
  950. package/dist/services/ToolExecutionInterceptor.js.map +1 -0
  951. package/dist/services/UserInputRequestManager.d.ts +113 -0
  952. package/dist/services/UserInputRequestManager.d.ts.map +1 -0
  953. package/dist/services/UserInputRequestManager.js +392 -0
  954. package/dist/services/UserInputRequestManager.js.map +1 -0
  955. package/dist/services/UserMemoryService.d.ts +141 -0
  956. package/dist/services/UserMemoryService.d.ts.map +1 -0
  957. package/dist/services/UserMemoryService.js +398 -0
  958. package/dist/services/UserMemoryService.js.map +1 -0
  959. package/dist/services/UtilityScorerService.d.ts +120 -0
  960. package/dist/services/UtilityScorerService.d.ts.map +1 -0
  961. package/dist/services/UtilityScorerService.js +343 -0
  962. package/dist/services/UtilityScorerService.js.map +1 -0
  963. package/dist/services/ValidationAnalyticsService.d.ts +332 -0
  964. package/dist/services/ValidationAnalyticsService.d.ts.map +1 -0
  965. package/dist/services/ValidationAnalyticsService.js +859 -0
  966. package/dist/services/ValidationAnalyticsService.js.map +1 -0
  967. package/dist/services/ValidationCacheService.d.ts +250 -0
  968. package/dist/services/ValidationCacheService.d.ts.map +1 -0
  969. package/dist/services/ValidationCacheService.js +864 -0
  970. package/dist/services/ValidationCacheService.js.map +1 -0
  971. package/dist/services/ValidationMiddleware.d.ts +177 -0
  972. package/dist/services/ValidationMiddleware.d.ts.map +1 -0
  973. package/dist/services/ValidationMiddleware.js +671 -0
  974. package/dist/services/ValidationMiddleware.js.map +1 -0
  975. package/dist/services/ValidationPerformanceService.d.ts +84 -0
  976. package/dist/services/ValidationPerformanceService.d.ts.map +1 -0
  977. package/dist/services/ValidationPerformanceService.js +581 -0
  978. package/dist/services/ValidationPerformanceService.js.map +1 -0
  979. package/dist/services/WebSearchService.d.ts +76 -0
  980. package/dist/services/WebSearchService.d.ts.map +1 -0
  981. package/dist/services/WebSearchService.js +286 -0
  982. package/dist/services/WebSearchService.js.map +1 -0
  983. package/dist/services/dag/TaskDagService.d.ts +161 -0
  984. package/dist/services/dag/TaskDagService.d.ts.map +1 -0
  985. package/dist/services/dag/TaskDagService.js +771 -0
  986. package/dist/services/dag/TaskDagService.js.map +1 -0
  987. package/dist/services/dag/algorithms/TopologicalSort.d.ts +113 -0
  988. package/dist/services/dag/algorithms/TopologicalSort.d.ts.map +1 -0
  989. package/dist/services/dag/algorithms/TopologicalSort.js +460 -0
  990. package/dist/services/dag/algorithms/TopologicalSort.js.map +1 -0
  991. package/dist/services/kg/EntityExtractionService.d.ts +86 -0
  992. package/dist/services/kg/EntityExtractionService.d.ts.map +1 -0
  993. package/dist/services/kg/EntityExtractionService.js +385 -0
  994. package/dist/services/kg/EntityExtractionService.js.map +1 -0
  995. package/dist/services/kg/EntityQValueManager.d.ts +101 -0
  996. package/dist/services/kg/EntityQValueManager.d.ts.map +1 -0
  997. package/dist/services/kg/EntityQValueManager.js +263 -0
  998. package/dist/services/kg/EntityQValueManager.js.map +1 -0
  999. package/dist/services/kg/GraphSurpriseCalculator.d.ts +82 -0
  1000. package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -0
  1001. package/dist/services/kg/GraphSurpriseCalculator.js +278 -0
  1002. package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -0
  1003. package/dist/services/kg/KnowledgeGraphService.d.ts +166 -0
  1004. package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -0
  1005. package/dist/services/kg/KnowledgeGraphService.js +555 -0
  1006. package/dist/services/kg/KnowledgeGraphService.js.map +1 -0
  1007. package/dist/services/kg/OrparGraphIntegration.d.ts +205 -0
  1008. package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -0
  1009. package/dist/services/kg/OrparGraphIntegration.js +571 -0
  1010. package/dist/services/kg/OrparGraphIntegration.js.map +1 -0
  1011. package/dist/services/lsp/LspDocumentManager.d.ts +75 -0
  1012. package/dist/services/lsp/LspDocumentManager.d.ts.map +1 -0
  1013. package/dist/services/lsp/LspDocumentManager.js +253 -0
  1014. package/dist/services/lsp/LspDocumentManager.js.map +1 -0
  1015. package/dist/services/lsp/LspProtocolAdapter.d.ts +117 -0
  1016. package/dist/services/lsp/LspProtocolAdapter.d.ts.map +1 -0
  1017. package/dist/services/lsp/LspProtocolAdapter.js +363 -0
  1018. package/dist/services/lsp/LspProtocolAdapter.js.map +1 -0
  1019. package/dist/services/lsp/LspServerManager.d.ts +87 -0
  1020. package/dist/services/lsp/LspServerManager.d.ts.map +1 -0
  1021. package/dist/services/lsp/LspServerManager.js +354 -0
  1022. package/dist/services/lsp/LspServerManager.js.map +1 -0
  1023. package/dist/services/lsp/interfaces/ILspConnection.d.ts +53 -0
  1024. package/dist/services/lsp/interfaces/ILspConnection.d.ts.map +1 -0
  1025. package/dist/services/lsp/interfaces/ILspConnection.js +7 -0
  1026. package/dist/services/lsp/interfaces/ILspConnection.js.map +1 -0
  1027. package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts +65 -0
  1028. package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts.map +1 -0
  1029. package/dist/services/lsp/interfaces/ILspDocumentManager.js +7 -0
  1030. package/dist/services/lsp/interfaces/ILspDocumentManager.js.map +1 -0
  1031. package/dist/services/lsp/interfaces/ILspServerManager.d.ts +56 -0
  1032. package/dist/services/lsp/interfaces/ILspServerManager.d.ts.map +1 -0
  1033. package/dist/services/lsp/interfaces/ILspServerManager.js +7 -0
  1034. package/dist/services/lsp/interfaces/ILspServerManager.js.map +1 -0
  1035. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +133 -0
  1036. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -0
  1037. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +505 -0
  1038. package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -0
  1039. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +201 -0
  1040. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -0
  1041. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +783 -0
  1042. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -0
  1043. package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +163 -0
  1044. package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts.map +1 -0
  1045. package/dist/services/orpar-memory/PhaseMemoryOperations.js +399 -0
  1046. package/dist/services/orpar-memory/PhaseMemoryOperations.js.map +1 -0
  1047. package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +93 -0
  1048. package/dist/services/orpar-memory/PhaseStrataRouter.d.ts.map +1 -0
  1049. package/dist/services/orpar-memory/PhaseStrataRouter.js +317 -0
  1050. package/dist/services/orpar-memory/PhaseStrataRouter.js.map +1 -0
  1051. package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +115 -0
  1052. package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts.map +1 -0
  1053. package/dist/services/orpar-memory/PhaseWeightedRewarder.js +333 -0
  1054. package/dist/services/orpar-memory/PhaseWeightedRewarder.js.map +1 -0
  1055. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +149 -0
  1056. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -0
  1057. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +436 -0
  1058. package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -0
  1059. package/dist/services/orpar-memory/index.d.ts +75 -0
  1060. package/dist/services/orpar-memory/index.d.ts.map +1 -0
  1061. package/dist/services/orpar-memory/index.js +76 -0
  1062. package/dist/services/orpar-memory/index.js.map +1 -0
  1063. package/dist/types/Agent.d.ts +95 -0
  1064. package/dist/types/Agent.d.ts.map +1 -0
  1065. package/dist/types/Agent.js +34 -0
  1066. package/dist/types/Agent.js.map +1 -0
  1067. package/dist/types/AgentPerformanceTypes.d.ts +314 -0
  1068. package/dist/types/AgentPerformanceTypes.d.ts.map +1 -0
  1069. package/dist/types/AgentPerformanceTypes.js +21 -0
  1070. package/dist/types/AgentPerformanceTypes.js.map +1 -0
  1071. package/dist/types/AgentRegistry.d.ts +89 -0
  1072. package/dist/types/AgentRegistry.d.ts.map +1 -0
  1073. package/dist/types/AgentRegistry.js +246 -0
  1074. package/dist/types/AgentRegistry.js.map +1 -0
  1075. package/dist/types/AgentTypes.d.ts +46 -0
  1076. package/dist/types/AgentTypes.d.ts.map +1 -0
  1077. package/dist/types/AgentTypes.js +34 -0
  1078. package/dist/types/AgentTypes.js.map +1 -0
  1079. package/dist/types/ChannelContext.d.ts +221 -0
  1080. package/dist/types/ChannelContext.d.ts.map +1 -0
  1081. package/dist/types/ChannelContext.js +21 -0
  1082. package/dist/types/ChannelContext.js.map +1 -0
  1083. package/dist/types/ControlLoopTypes.d.ts +164 -0
  1084. package/dist/types/ControlLoopTypes.d.ts.map +1 -0
  1085. package/dist/types/ControlLoopTypes.js +37 -0
  1086. package/dist/types/ControlLoopTypes.js.map +1 -0
  1087. package/dist/types/DagTypes.d.ts +321 -0
  1088. package/dist/types/DagTypes.d.ts.map +1 -0
  1089. package/dist/types/DagTypes.js +82 -0
  1090. package/dist/types/DagTypes.js.map +1 -0
  1091. package/dist/types/EffectivenessTypes.d.ts +245 -0
  1092. package/dist/types/EffectivenessTypes.d.ts.map +1 -0
  1093. package/dist/types/EffectivenessTypes.js +21 -0
  1094. package/dist/types/EffectivenessTypes.js.map +1 -0
  1095. package/dist/types/InferenceParameterTypes.d.ts +510 -0
  1096. package/dist/types/InferenceParameterTypes.d.ts.map +1 -0
  1097. package/dist/types/InferenceParameterTypes.js +21 -0
  1098. package/dist/types/InferenceParameterTypes.js.map +1 -0
  1099. package/dist/types/KnowledgeGraphTypes.d.ts +455 -0
  1100. package/dist/types/KnowledgeGraphTypes.d.ts.map +1 -0
  1101. package/dist/types/KnowledgeGraphTypes.js +146 -0
  1102. package/dist/types/KnowledgeGraphTypes.js.map +1 -0
  1103. package/dist/types/LlmTypes.d.ts +144 -0
  1104. package/dist/types/LlmTypes.d.ts.map +1 -0
  1105. package/dist/types/LlmTypes.js +21 -0
  1106. package/dist/types/LlmTypes.js.map +1 -0
  1107. package/dist/types/LspTypes.d.ts +607 -0
  1108. package/dist/types/LspTypes.d.ts.map +1 -0
  1109. package/dist/types/LspTypes.js +80 -0
  1110. package/dist/types/LspTypes.js.map +1 -0
  1111. package/dist/types/McpPromptTypes.d.ts +275 -0
  1112. package/dist/types/McpPromptTypes.d.ts.map +1 -0
  1113. package/dist/types/McpPromptTypes.js +38 -0
  1114. package/dist/types/McpPromptTypes.js.map +1 -0
  1115. package/dist/types/MemoryStrataTypes.d.ts +340 -0
  1116. package/dist/types/MemoryStrataTypes.d.ts.map +1 -0
  1117. package/dist/types/MemoryStrataTypes.js +34 -0
  1118. package/dist/types/MemoryStrataTypes.js.map +1 -0
  1119. package/dist/types/MemoryTypes.d.ts +230 -0
  1120. package/dist/types/MemoryTypes.d.ts.map +1 -0
  1121. package/dist/types/MemoryTypes.js +118 -0
  1122. package/dist/types/MemoryTypes.js.map +1 -0
  1123. package/dist/types/MemoryUtilityTypes.d.ts +451 -0
  1124. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -0
  1125. package/dist/types/MemoryUtilityTypes.js +122 -0
  1126. package/dist/types/MemoryUtilityTypes.js.map +1 -0
  1127. package/dist/types/MxpTypes.d.ts +264 -0
  1128. package/dist/types/MxpTypes.d.ts.map +1 -0
  1129. package/dist/types/MxpTypes.js +132 -0
  1130. package/dist/types/MxpTypes.js.map +1 -0
  1131. package/dist/types/NetworkRecoveryTypes.d.ts +133 -0
  1132. package/dist/types/NetworkRecoveryTypes.d.ts.map +1 -0
  1133. package/dist/types/NetworkRecoveryTypes.js +169 -0
  1134. package/dist/types/NetworkRecoveryTypes.js.map +1 -0
  1135. package/dist/types/OrparMemoryIntegrationTypes.d.ts +463 -0
  1136. package/dist/types/OrparMemoryIntegrationTypes.d.ts.map +1 -0
  1137. package/dist/types/OrparMemoryIntegrationTypes.js +260 -0
  1138. package/dist/types/OrparMemoryIntegrationTypes.js.map +1 -0
  1139. package/dist/types/PatternLearningTypes.d.ts +366 -0
  1140. package/dist/types/PatternLearningTypes.d.ts.map +1 -0
  1141. package/dist/types/PatternLearningTypes.js +21 -0
  1142. package/dist/types/PatternLearningTypes.js.map +1 -0
  1143. package/dist/types/PatternMemoryTypes.d.ts +245 -0
  1144. package/dist/types/PatternMemoryTypes.d.ts.map +1 -0
  1145. package/dist/types/PatternMemoryTypes.js +30 -0
  1146. package/dist/types/PatternMemoryTypes.js.map +1 -0
  1147. package/dist/types/ReflectionTypes.d.ts +61 -0
  1148. package/dist/types/ReflectionTypes.d.ts.map +1 -0
  1149. package/dist/types/ReflectionTypes.js +21 -0
  1150. package/dist/types/ReflectionTypes.js.map +1 -0
  1151. package/dist/types/TaskCompletionTypes.d.ts +122 -0
  1152. package/dist/types/TaskCompletionTypes.d.ts.map +1 -0
  1153. package/dist/types/TaskCompletionTypes.js +21 -0
  1154. package/dist/types/TaskCompletionTypes.js.map +1 -0
  1155. package/dist/types/TaskTypes.d.ts +237 -0
  1156. package/dist/types/TaskTypes.d.ts.map +1 -0
  1157. package/dist/types/TaskTypes.js +21 -0
  1158. package/dist/types/TaskTypes.js.map +1 -0
  1159. package/dist/types/TensorFlowTypes.d.ts +257 -0
  1160. package/dist/types/TensorFlowTypes.d.ts.map +1 -0
  1161. package/dist/types/TensorFlowTypes.js +115 -0
  1162. package/dist/types/TensorFlowTypes.js.map +1 -0
  1163. package/dist/types/ValidationPerformanceTypes.d.ts +168 -0
  1164. package/dist/types/ValidationPerformanceTypes.d.ts.map +1 -0
  1165. package/dist/types/ValidationPerformanceTypes.js +21 -0
  1166. package/dist/types/ValidationPerformanceTypes.js.map +1 -0
  1167. package/dist/types/WorkflowTypes.d.ts +291 -0
  1168. package/dist/types/WorkflowTypes.d.ts.map +1 -0
  1169. package/dist/types/WorkflowTypes.js +8 -0
  1170. package/dist/types/WorkflowTypes.js.map +1 -0
  1171. package/dist/types/toolTypes.d.ts +93 -0
  1172. package/dist/types/toolTypes.d.ts.map +1 -0
  1173. package/dist/types/toolTypes.js +82 -0
  1174. package/dist/types/toolTypes.js.map +1 -0
  1175. package/dist/types/types.d.ts +89 -0
  1176. package/dist/types/types.d.ts.map +1 -0
  1177. package/dist/types/types.js +31 -0
  1178. package/dist/types/types.js.map +1 -0
  1179. package/dist/utils/Logger.d.ts +125 -0
  1180. package/dist/utils/Logger.d.ts.map +1 -0
  1181. package/dist/utils/Logger.js +194 -0
  1182. package/dist/utils/Logger.js.map +1 -0
  1183. package/dist/utils/MxpEncryption.d.ts +63 -0
  1184. package/dist/utils/MxpEncryption.d.ts.map +1 -0
  1185. package/dist/utils/MxpEncryption.js +169 -0
  1186. package/dist/utils/MxpEncryption.js.map +1 -0
  1187. package/dist/utils/ParameterNormalizer.d.ts +85 -0
  1188. package/dist/utils/ParameterNormalizer.d.ts.map +1 -0
  1189. package/dist/utils/ParameterNormalizer.js +409 -0
  1190. package/dist/utils/ParameterNormalizer.js.map +1 -0
  1191. package/dist/utils/PromptTemplateReplacer.d.ts +119 -0
  1192. package/dist/utils/PromptTemplateReplacer.d.ts.map +1 -0
  1193. package/dist/utils/PromptTemplateReplacer.js +255 -0
  1194. package/dist/utils/PromptTemplateReplacer.js.map +1 -0
  1195. package/dist/utils/TokenEstimator.d.ts +43 -0
  1196. package/dist/utils/TokenEstimator.d.ts.map +1 -0
  1197. package/dist/utils/TokenEstimator.js +113 -0
  1198. package/dist/utils/TokenEstimator.js.map +1 -0
  1199. package/dist/utils/ToolPaginationUtils.d.ts +177 -0
  1200. package/dist/utils/ToolPaginationUtils.d.ts.map +1 -0
  1201. package/dist/utils/ToolPaginationUtils.js +180 -0
  1202. package/dist/utils/ToolPaginationUtils.js.map +1 -0
  1203. package/dist/utils/env.d.ts +19 -0
  1204. package/dist/utils/env.d.ts.map +1 -0
  1205. package/dist/utils/env.js +25 -0
  1206. package/dist/utils/env.js.map +1 -0
  1207. package/dist/utils/toon/eligibility.d.ts +65 -0
  1208. package/dist/utils/toon/eligibility.d.ts.map +1 -0
  1209. package/dist/utils/toon/eligibility.js +259 -0
  1210. package/dist/utils/toon/eligibility.js.map +1 -0
  1211. package/dist/utils/toon/encoder.d.ts +72 -0
  1212. package/dist/utils/toon/encoder.d.ts.map +1 -0
  1213. package/dist/utils/toon/encoder.js +321 -0
  1214. package/dist/utils/toon/encoder.js.map +1 -0
  1215. package/dist/utils/toon/formatter.d.ts +118 -0
  1216. package/dist/utils/toon/formatter.d.ts.map +1 -0
  1217. package/dist/utils/toon/formatter.js +214 -0
  1218. package/dist/utils/toon/formatter.js.map +1 -0
  1219. package/dist/utils/toon/index.d.ts +49 -0
  1220. package/dist/utils/toon/index.d.ts.map +1 -0
  1221. package/dist/utils/toon/index.js +55 -0
  1222. package/dist/utils/toon/index.js.map +1 -0
  1223. package/dist/utils/toon/metrics.d.ts +162 -0
  1224. package/dist/utils/toon/metrics.d.ts.map +1 -0
  1225. package/dist/utils/toon/metrics.js +283 -0
  1226. package/dist/utils/toon/metrics.js.map +1 -0
  1227. package/dist/utils/toon/types.d.ts +145 -0
  1228. package/dist/utils/toon/types.d.ts.map +1 -0
  1229. package/dist/utils/toon/types.js +21 -0
  1230. package/dist/utils/toon/types.js.map +1 -0
  1231. package/dist/utils/validation.d.ts +169 -0
  1232. package/dist/utils/validation.d.ts.map +1 -0
  1233. package/dist/utils/validation.js +471 -0
  1234. package/dist/utils/validation.js.map +1 -0
  1235. package/package.json +84 -0
  1236. package/src/adapters/FrameworkAdapter.ts +261 -0
  1237. package/src/adapters/index.ts +26 -0
  1238. package/src/config/ConfigManager.ts +1406 -0
  1239. package/src/config/FeatureFlags.ts +180 -0
  1240. package/src/config/McpPromptsConfig.ts +134 -0
  1241. package/src/config/ModelContextLimits.ts +154 -0
  1242. package/src/config/PromptCompactionConfig.ts +236 -0
  1243. package/src/config/PromptConfig.ts +85 -0
  1244. package/src/config/ServerConfig.ts +69 -0
  1245. package/src/config/dag.config.ts +211 -0
  1246. package/src/config/knowledge-graph.config.ts +290 -0
  1247. package/src/config/orpar-memory.config.ts +365 -0
  1248. package/src/config/tensorflow.config.ts +209 -0
  1249. package/src/constants/CoreTools.ts +95 -0
  1250. package/src/constants/DefaultPhaseProfiles.ts +699 -0
  1251. package/src/constants/EnhancementConstants.ts +383 -0
  1252. package/src/constants/ToolNames.ts +538 -0
  1253. package/src/database/DatabaseAdapterFactory.ts +212 -0
  1254. package/src/database/adapters/mongodb/MongoAgentRepository.ts +181 -0
  1255. package/src/database/adapters/mongodb/MongoBaseRepository.ts +203 -0
  1256. package/src/database/adapters/mongodb/MongoChannelRepository.ts +185 -0
  1257. package/src/database/adapters/mongodb/MongoDagRepository.ts +370 -0
  1258. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +975 -0
  1259. package/src/database/adapters/mongodb/MongoMemoryRepository.ts +244 -0
  1260. package/src/database/adapters/mongodb/MongoTaskRepository.ts +361 -0
  1261. package/src/database/adapters/mongodb/index.ts +25 -0
  1262. package/src/database/index.ts +22 -0
  1263. package/src/events/ClientEventBus.ts +821 -0
  1264. package/src/events/EventBus.ts +111 -0
  1265. package/src/events/EventBusBase.ts +419 -0
  1266. package/src/events/EventNames.ts +308 -0
  1267. package/src/events/PublicEvents.ts +231 -0
  1268. package/src/events/ServerEventBus.ts +606 -0
  1269. package/src/events/event-definitions/AgentEvents.ts +187 -0
  1270. package/src/events/event-definitions/AnalyticsEvents.ts +299 -0
  1271. package/src/events/event-definitions/BulkEvents.ts +474 -0
  1272. package/src/events/event-definitions/ChannelEvents.ts +230 -0
  1273. package/src/events/event-definitions/CodeExecutionEvents.ts +360 -0
  1274. package/src/events/event-definitions/CompactionEvents.ts +185 -0
  1275. package/src/events/event-definitions/ConfigEvents.ts +343 -0
  1276. package/src/events/event-definitions/ControlLoopEvents.ts +61 -0
  1277. package/src/events/event-definitions/DagEvents.ts +275 -0
  1278. package/src/events/event-definitions/HeartbeatEvents.ts +43 -0
  1279. package/src/events/event-definitions/InferenceParameterEvents.ts +110 -0
  1280. package/src/events/event-definitions/KeyEvents.ts +154 -0
  1281. package/src/events/event-definitions/KnowledgeGraphEvents.ts +285 -0
  1282. package/src/events/event-definitions/LlmEvents.ts +39 -0
  1283. package/src/events/event-definitions/McpEvents.ts +234 -0
  1284. package/src/events/event-definitions/MeilisearchEvents.ts +55 -0
  1285. package/src/events/event-definitions/MemoryEvents.ts +379 -0
  1286. package/src/events/event-definitions/MemoryUtilityEvents.ts +254 -0
  1287. package/src/events/event-definitions/MessageEvents.ts +107 -0
  1288. package/src/events/event-definitions/MxpEvents.ts +138 -0
  1289. package/src/events/event-definitions/OrparEvents.ts +249 -0
  1290. package/src/events/event-definitions/OrparMemoryEvents.ts +404 -0
  1291. package/src/events/event-definitions/PlanEvents.ts +124 -0
  1292. package/src/events/event-definitions/ProgressEvents.ts +67 -0
  1293. package/src/events/event-definitions/ShellExecutionEvents.ts +383 -0
  1294. package/src/events/event-definitions/SystemEvents.ts +263 -0
  1295. package/src/events/event-definitions/TaskEvents.ts +201 -0
  1296. package/src/events/event-definitions/TensorFlowEvents.ts +162 -0
  1297. package/src/events/event-definitions/UserInputEvents.ts +218 -0
  1298. package/src/events/event-definitions/WorkflowEvents.ts +139 -0
  1299. package/src/index.ts +17 -0
  1300. package/src/interfaces/AgentContext.ts +214 -0
  1301. package/src/interfaces/AgentInterfaces.ts +132 -0
  1302. package/src/interfaces/Channel.ts +36 -0
  1303. package/src/interfaces/ChannelConfig.ts +59 -0
  1304. package/src/interfaces/ChannelConnectionConfig.ts +36 -0
  1305. package/src/interfaces/ChannelInfo.ts +33 -0
  1306. package/src/interfaces/ConversationMessage.ts +109 -0
  1307. package/src/interfaces/ILlmTopicExtractor.ts +76 -0
  1308. package/src/interfaces/SocketServiceInterface.ts +104 -0
  1309. package/src/interfaces/TaskInterfaces.ts +53 -0
  1310. package/src/middleware/MxpMiddleware.ts +346 -0
  1311. package/src/models/PatternLearningModels.ts +585 -0
  1312. package/src/models/agent.ts +162 -0
  1313. package/src/models/auditLog.ts +133 -0
  1314. package/src/models/channel.ts +304 -0
  1315. package/src/models/channelKey.ts +129 -0
  1316. package/src/models/codeExecution.ts +272 -0
  1317. package/src/models/controlLoop.ts +165 -0
  1318. package/src/models/coordination.ts +166 -0
  1319. package/src/models/document.ts +263 -0
  1320. package/src/models/entity.ts +206 -0
  1321. package/src/models/mcpTool.ts +254 -0
  1322. package/src/models/mcpToolExecution.ts +162 -0
  1323. package/src/models/memory.ts +310 -0
  1324. package/src/models/memoryStrata.ts +432 -0
  1325. package/src/models/personalAccessToken.ts +206 -0
  1326. package/src/models/plan.ts +135 -0
  1327. package/src/models/relationship.ts +165 -0
  1328. package/src/models/shellOutput.ts +102 -0
  1329. package/src/models/task.ts +397 -0
  1330. package/src/models/taskEffectiveness.ts +152 -0
  1331. package/src/models/tool.ts +102 -0
  1332. package/src/models/toolExecution.ts +64 -0
  1333. package/src/models/toolModels.ts +423 -0
  1334. package/src/models/user.ts +147 -0
  1335. package/src/models/userMemory.ts +165 -0
  1336. package/src/mxp/BinaryProtocolLayer.ts +420 -0
  1337. package/src/mxp/ContextCompressionEngine.ts +534 -0
  1338. package/src/mxp/MxpConfigManager.ts +316 -0
  1339. package/src/mxp/MxpEventForwardingEnhancer.ts +471 -0
  1340. package/src/mxp/MxpTokenOptimizer.ts +266 -0
  1341. package/src/prompts/ChannelContextProvider.ts +212 -0
  1342. package/src/prompts/DeferredToolSchemaRegistry.ts +212 -0
  1343. package/src/prompts/DynamicContextProvider.ts +186 -0
  1344. package/src/prompts/MemoryPromptInjector.ts +332 -0
  1345. package/src/prompts/MxfAgentSystemPrompt.ts +1037 -0
  1346. package/src/prompts/PromptSegmentRegistry.ts +372 -0
  1347. package/src/prompts/ToolBehavioralGuidance.ts +214 -0
  1348. package/src/protocols/binaryProtocol.ts +402 -0
  1349. package/src/protocols/mcp/ClientExecutableManifest.ts +85 -0
  1350. package/src/protocols/mcp/IMcpClient.ts +332 -0
  1351. package/src/protocols/mcp/LlmProviderFactory.ts +81 -0
  1352. package/src/protocols/mcp/LlmProviders.ts +45 -0
  1353. package/src/protocols/mcp/McpClient.ts +220 -0
  1354. package/src/protocols/mcp/McpClientFactory.ts +59 -0
  1355. package/src/protocols/mcp/McpServerTypes.ts +208 -0
  1356. package/src/protocols/mcp/McpToolCallParser.ts +297 -0
  1357. package/src/protocols/mcp/McpToolSchema.ts +666 -0
  1358. package/src/protocols/mcp/converters/IFormatConverter.ts +384 -0
  1359. package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +286 -0
  1360. package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +545 -0
  1361. package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +63 -0
  1362. package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +49 -0
  1363. package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +394 -0
  1364. package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +39 -0
  1365. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +632 -0
  1366. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +760 -0
  1367. package/src/protocols/mcp/providers/BaseMcpClient.ts +286 -0
  1368. package/src/protocols/mcp/providers/CustomMcpClient.ts +326 -0
  1369. package/src/protocols/mcp/providers/GeminiMcpClient.ts +687 -0
  1370. package/src/protocols/mcp/providers/OllamaMcpClient.ts +564 -0
  1371. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +779 -0
  1372. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +1151 -0
  1373. package/src/protocols/mcp/providers/XaiMcpClient.ts +601 -0
  1374. package/src/protocols/mcp/security/McpConfirmationManager.ts +315 -0
  1375. package/src/protocols/mcp/security/McpSecurityConfig.ts +429 -0
  1376. package/src/protocols/mcp/security/McpSecurityGuard.ts +527 -0
  1377. package/src/protocols/mcp/security/README.md +274 -0
  1378. package/src/protocols/mcp/security/index.ts +29 -0
  1379. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +1540 -0
  1380. package/src/protocols/mcp/services/ExternalServerConfigs.ts +346 -0
  1381. package/src/protocols/mcp/services/IToolEventEmitter.ts +75 -0
  1382. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +92 -0
  1383. package/src/protocols/mcp/tools/AnalyticsTools.ts +759 -0
  1384. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +715 -0
  1385. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +302 -0
  1386. package/src/protocols/mcp/tools/DateTimeTools.ts +554 -0
  1387. package/src/protocols/mcp/tools/EffectivenessTools.ts +434 -0
  1388. package/src/protocols/mcp/tools/GitTools.ts +727 -0
  1389. package/src/protocols/mcp/tools/InfrastructureTools.ts +926 -0
  1390. package/src/protocols/mcp/tools/JsonTools.ts +376 -0
  1391. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1015 -0
  1392. package/src/protocols/mcp/tools/LspTools.ts +476 -0
  1393. package/src/protocols/mcp/tools/MemorySearchTools.ts +510 -0
  1394. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +514 -0
  1395. package/src/protocols/mcp/tools/OrparTools.ts +1115 -0
  1396. package/src/protocols/mcp/tools/PlanningTools.ts +660 -0
  1397. package/src/protocols/mcp/tools/PredictiveTools.ts +351 -0
  1398. package/src/protocols/mcp/tools/ProgressTools.ts +115 -0
  1399. package/src/protocols/mcp/tools/ProjectContextTools.ts +330 -0
  1400. package/src/protocols/mcp/tools/README.md +566 -0
  1401. package/src/protocols/mcp/tools/SafetyTools.ts +1073 -0
  1402. package/src/protocols/mcp/tools/SearchProjectTools.ts +279 -0
  1403. package/src/protocols/mcp/tools/TaskPlanningTools.ts +629 -0
  1404. package/src/protocols/mcp/tools/TestTools.ts +556 -0
  1405. package/src/protocols/mcp/tools/ToolHelpTools.ts +294 -0
  1406. package/src/protocols/mcp/tools/TypeScriptTools.ts +490 -0
  1407. package/src/protocols/mcp/tools/UserInputTools.ts +415 -0
  1408. package/src/protocols/mcp/tools/UserMemoryTools.ts +396 -0
  1409. package/src/protocols/mcp/tools/WebTools.ts +558 -0
  1410. package/src/protocols/mcp/tools/WolframTools.ts +258 -0
  1411. package/src/protocols/mcp/tools/shell/CommandClassification.ts +570 -0
  1412. package/src/protocols/mcp/tools/shell/CommandSemantics.ts +363 -0
  1413. package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +214 -0
  1414. package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +169 -0
  1415. package/src/protocols/mcp/tools/shell/ShellCommandParser.ts +613 -0
  1416. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +502 -0
  1417. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +448 -0
  1418. package/src/protocols/mcp/tools/shell/index.ts +53 -0
  1419. package/src/protocols/mcp/utils/JsonRecovery.ts +280 -0
  1420. package/src/protocols/mcp/utils/MessageConverters.ts +217 -0
  1421. package/src/protocols/mcp/utils/NetworkRecovery.ts +275 -0
  1422. package/src/protocols/mcp/utils/ToolHandlers.ts +271 -0
  1423. package/src/repositories/interfaces/IAgentRepository.ts +125 -0
  1424. package/src/repositories/interfaces/IBaseRepository.ts +72 -0
  1425. package/src/repositories/interfaces/IChannelRepository.ts +154 -0
  1426. package/src/repositories/interfaces/IDagRepository.ts +195 -0
  1427. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +439 -0
  1428. package/src/repositories/interfaces/IMemoryRepository.ts +174 -0
  1429. package/src/repositories/interfaces/ITaskRepository.ts +208 -0
  1430. package/src/repositories/interfaces/index.ts +27 -0
  1431. package/src/repositories/types/FilterTypes.ts +89 -0
  1432. package/src/repositories/types/PaginationTypes.ts +64 -0
  1433. package/src/schemas/CodeExecutionEventPayloads.ts +271 -0
  1434. package/src/schemas/EventPayloadSchema.ts +4448 -0
  1435. package/src/schemas/JsonResponseSchemas.ts +262 -0
  1436. package/src/schemas/MessageSchemas.ts +441 -0
  1437. package/src/schemas/MxpProtocolSchemas.ts +362 -0
  1438. package/src/schemas/ShellExecutionEventPayloads.ts +271 -0
  1439. package/src/services/AgentPerformanceService.ts +619 -0
  1440. package/src/services/AutoCorrectionIntegrationService.ts +814 -0
  1441. package/src/services/AutoCorrectionService.ts +1074 -0
  1442. package/src/services/AutoMemoryCreator.ts +570 -0
  1443. package/src/services/BackgroundTaskManager.ts +631 -0
  1444. package/src/services/BrowserManager.ts +250 -0
  1445. package/src/services/ChannelContextMemoryOperations.ts +366 -0
  1446. package/src/services/ChannelContextMessageOperations.ts +435 -0
  1447. package/src/services/CodeExecutionSandboxService.ts +408 -0
  1448. package/src/services/ContainerExecutionManager.ts +725 -0
  1449. package/src/services/ContainerPoolManager.ts +13 -0
  1450. package/src/services/ContentProcessor.ts +549 -0
  1451. package/src/services/McpToolDocumentationService.ts +238 -0
  1452. package/src/services/MemoryCompressor.ts +385 -0
  1453. package/src/services/MemoryService.ts +1876 -0
  1454. package/src/services/MxfMLService.ts +1229 -0
  1455. package/src/services/MxfMeilisearchService.ts +629 -0
  1456. package/src/services/MxfMessageAggregator.ts +313 -0
  1457. package/src/services/PatternLearningService.ts +1084 -0
  1458. package/src/services/PerformanceOptimizationService.ts +1132 -0
  1459. package/src/services/PredictiveAnalyticsService.ts +2299 -0
  1460. package/src/services/ProactiveValidationService.ts +1385 -0
  1461. package/src/services/PromptArgumentInferenceService.ts +192 -0
  1462. package/src/services/QValueManager.ts +649 -0
  1463. package/src/services/ReasoningToolParser.ts +457 -0
  1464. package/src/services/RecoveryWorkflowService.ts +911 -0
  1465. package/src/services/ReflectionService.ts +299 -0
  1466. package/src/services/RetentionGateService.ts +393 -0
  1467. package/src/services/RewardSignalProcessor.ts +648 -0
  1468. package/src/services/SharedStateService.ts +241 -0
  1469. package/src/services/StratumManager.ts +523 -0
  1470. package/src/services/StructuredSummaryBuilder.ts +325 -0
  1471. package/src/services/SurpriseCalculator.ts +436 -0
  1472. package/src/services/SystemLlmMemoryAnalyzer.ts +421 -0
  1473. package/src/services/TaskEffectivenessService.ts +968 -0
  1474. package/src/services/ToolExecutionInterceptor.ts +513 -0
  1475. package/src/services/UserInputRequestManager.ts +536 -0
  1476. package/src/services/UserMemoryService.ts +506 -0
  1477. package/src/services/UtilityScorerService.ts +427 -0
  1478. package/src/services/ValidationAnalyticsService.ts +1173 -0
  1479. package/src/services/ValidationCacheService.ts +1177 -0
  1480. package/src/services/ValidationMiddleware.ts +876 -0
  1481. package/src/services/ValidationPerformanceService.ts +751 -0
  1482. package/src/services/WebSearchService.ts +382 -0
  1483. package/src/services/dag/TaskDagService.ts +1057 -0
  1484. package/src/services/dag/algorithms/TopologicalSort.ts +562 -0
  1485. package/src/services/kg/EntityExtractionService.ts +511 -0
  1486. package/src/services/kg/EntityQValueManager.ts +368 -0
  1487. package/src/services/kg/GraphSurpriseCalculator.ts +381 -0
  1488. package/src/services/kg/KnowledgeGraphService.ts +830 -0
  1489. package/src/services/kg/OrparGraphIntegration.ts +815 -0
  1490. package/src/services/lsp/LspDocumentManager.ts +304 -0
  1491. package/src/services/lsp/LspProtocolAdapter.ts +471 -0
  1492. package/src/services/lsp/LspServerManager.ts +442 -0
  1493. package/src/services/lsp/interfaces/ILspConnection.ts +60 -0
  1494. package/src/services/lsp/interfaces/ILspDocumentManager.ts +74 -0
  1495. package/src/services/lsp/interfaces/ILspServerManager.ts +64 -0
  1496. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +693 -0
  1497. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +1001 -0
  1498. package/src/services/orpar-memory/PhaseMemoryOperations.ts +531 -0
  1499. package/src/services/orpar-memory/PhaseStrataRouter.ts +387 -0
  1500. package/src/services/orpar-memory/PhaseWeightedRewarder.ts +430 -0
  1501. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +572 -0
  1502. package/src/services/orpar-memory/index.ts +79 -0
  1503. package/src/types/Agent.ts +102 -0
  1504. package/src/types/AgentPerformanceTypes.ts +404 -0
  1505. package/src/types/AgentRegistry.ts +319 -0
  1506. package/src/types/AgentTypes.ts +49 -0
  1507. package/src/types/ChannelContext.ts +289 -0
  1508. package/src/types/ControlLoopTypes.ts +182 -0
  1509. package/src/types/DagTypes.ts +427 -0
  1510. package/src/types/EffectivenessTypes.ts +303 -0
  1511. package/src/types/InferenceParameterTypes.ts +598 -0
  1512. package/src/types/KnowledgeGraphTypes.ts +620 -0
  1513. package/src/types/LlmTypes.ts +153 -0
  1514. package/src/types/LspTypes.ts +640 -0
  1515. package/src/types/McpPromptTypes.ts +299 -0
  1516. package/src/types/MemoryStrataTypes.ts +378 -0
  1517. package/src/types/MemoryTypes.ts +280 -0
  1518. package/src/types/MemoryUtilityTypes.ts +577 -0
  1519. package/src/types/MxpTypes.ts +404 -0
  1520. package/src/types/NetworkRecoveryTypes.ts +268 -0
  1521. package/src/types/OrparMemoryIntegrationTypes.ts +698 -0
  1522. package/src/types/PatternLearningTypes.ts +445 -0
  1523. package/src/types/PatternMemoryTypes.ts +314 -0
  1524. package/src/types/ReflectionTypes.ts +74 -0
  1525. package/src/types/TaskCompletionTypes.ts +163 -0
  1526. package/src/types/TaskTypes.ts +311 -0
  1527. package/src/types/TensorFlowTypes.ts +329 -0
  1528. package/src/types/ValidationPerformanceTypes.ts +186 -0
  1529. package/src/types/WorkflowTypes.ts +323 -0
  1530. package/src/types/toolTypes.ts +118 -0
  1531. package/src/types/types.ts +95 -0
  1532. package/src/utils/Logger.ts +240 -0
  1533. package/src/utils/MxpEncryption.ts +195 -0
  1534. package/src/utils/ParameterNormalizer.ts +432 -0
  1535. package/src/utils/PromptTemplateReplacer.ts +331 -0
  1536. package/src/utils/TokenEstimator.ts +132 -0
  1537. package/src/utils/ToolPaginationUtils.ts +252 -0
  1538. package/src/utils/env.ts +27 -0
  1539. package/src/utils/toon/eligibility.ts +316 -0
  1540. package/src/utils/toon/encoder.ts +396 -0
  1541. package/src/utils/toon/formatter.ts +258 -0
  1542. package/src/utils/toon/index.ts +88 -0
  1543. package/src/utils/toon/metrics.ts +339 -0
  1544. package/src/utils/toon/types.ts +183 -0
  1545. package/src/utils/validation.ts +548 -0
@@ -0,0 +1,1540 @@
1
+ /**
2
+ * Copyright 2024 Brad Anderson
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ * @author Brad Anderson <BradA1878@pm.me>
17
+ * @repository https://github.com/mxf-dev/mxf
18
+ * @documentation https://mxf-dev.github.io/mxf/
19
+ */
20
+
21
+ /**
22
+ * ExternalMcpServerManager.ts
23
+ *
24
+ * Manages external MCP server processes for the hybrid MCP architecture.
25
+ * Provides process lifecycle management, health monitoring, and tool discovery
26
+ * for external MCP servers like calculator, sequential thinking, filesystem, etc.
27
+ */
28
+
29
+ import { spawn, ChildProcess } from 'child_process';
30
+ import { EventEmitter } from 'events';
31
+ import { createStrictValidator } from '../../../utils/validation.js';
32
+ import { Logger } from '../../../utils/Logger.js';
33
+ import { McpEvents } from '../../../events/event-definitions/McpEvents.js';
34
+ import { EventBus } from '../../../events/EventBus.js';
35
+ import {
36
+ createExternalMcpServerEventPayload,
37
+ createExternalMcpServerErrorEventPayload,
38
+ createExternalMcpServerHealthStatusEventPayload,
39
+ createExternalMcpServerToolsDiscoveredEventPayload
40
+ } from '../../../schemas/EventPayloadSchema.js';
41
+ import { AgentId, ChannelId } from '../../../types/ChannelContext.js';
42
+ import { AutoCorrectionService } from '../../../services/AutoCorrectionService.js';
43
+ import { IToolEventEmitter } from './IToolEventEmitter.js';
44
+ import { Events } from '../../../events/EventNames.js';
45
+ import { v4 as uuidv4 } from 'uuid';
46
+
47
+ // Create logger and validator instances
48
+ const logger = new Logger('info', 'ExternalMcpServerManager', 'server');
49
+ const validator = createStrictValidator('ExternalMcpServerManager');
50
+
51
+ /**
52
+ * Configuration for an external MCP server
53
+ */
54
+ export interface ExternalServerConfig {
55
+ /** Unique identifier for the server */
56
+ id: string;
57
+ /** Display name for the server */
58
+ name: string;
59
+ /** Version of the server */
60
+ version: string;
61
+ /** Description of the server's capabilities */
62
+ description?: string;
63
+ /** Command to execute (e.g., "npx", "uvx", "node") */
64
+ command: string;
65
+ /** Arguments for the command */
66
+ args: string[];
67
+ /** Working directory for the process */
68
+ workingDirectory?: string;
69
+ /** Environment variables for the process */
70
+ environmentVariables?: Record<string, string>;
71
+ /** Whether to auto-start the server on initialization */
72
+ autoStart: boolean;
73
+ /** Whether to restart the server automatically on crash */
74
+ restartOnCrash: boolean;
75
+ /** Health check interval in milliseconds */
76
+ healthCheckInterval: number;
77
+ /** Maximum number of restart attempts */
78
+ maxRestartAttempts: number;
79
+ /** Timeout for server startup in milliseconds */
80
+ startupTimeout: number;
81
+ }
82
+
83
+ /**
84
+ * Status of an external MCP server
85
+ */
86
+ export interface ExternalServerStatus {
87
+ id: string;
88
+ name: string;
89
+ status: 'stopped' | 'starting' | 'running' | 'error' | 'restarting';
90
+ pid?: number;
91
+ uptime?: number;
92
+ restartCount: number;
93
+ lastError?: string;
94
+ lastHealthCheck?: number;
95
+ initialized?: boolean; // Flag to track if MCP connection has been initialized
96
+ initializing?: boolean; // Flag to prevent concurrent initialization
97
+ tools: Array<{
98
+ name: string;
99
+ description: string;
100
+ inputSchema: Record<string, any>;
101
+ }>;
102
+ }
103
+
104
+ /**
105
+ * MCP tool definition from external server
106
+ */
107
+ export interface ExternalMcpTool {
108
+ name: string;
109
+ description: string;
110
+ inputSchema: Record<string, any>;
111
+ serverId: string;
112
+ }
113
+
114
+ /**
115
+ * Manages external MCP server processes and their lifecycle
116
+ */
117
+ export class ExternalMcpServerManager extends EventEmitter {
118
+ private servers: Map<string, {
119
+ config: ExternalServerConfig;
120
+ process?: ChildProcess;
121
+ status: ExternalServerStatus;
122
+ healthCheckTimer?: NodeJS.Timeout;
123
+ startupTimer?: NodeJS.Timeout;
124
+ }> = new Map();
125
+
126
+ // Scope tracking for channel/agent-scoped servers
127
+ private serverScopes: Map<string, {
128
+ scope: 'global' | 'channel' | 'agent';
129
+ scopeId?: string;
130
+ connectedAgents: Set<string>;
131
+ keepAliveMinutes?: number;
132
+ keepAliveTimer?: NodeJS.Timeout;
133
+ // Registration context for deferred success emission after tool discovery
134
+ registrationContext?: {
135
+ agentId: string;
136
+ channelId: string;
137
+ originalServerId: string;
138
+ serverName: string;
139
+ };
140
+ }> = new Map();
141
+
142
+ private autoCorrectionService: AutoCorrectionService;
143
+
144
+ /** Injectable event emitter — decouples from direct EventBus.server dependency.
145
+ * Server-side: uses default ServerToolEventEmitter (wraps EventBus.server).
146
+ * Client-side: uses ClientToolEventEmitter (wraps EventBus.client + socketEmit). */
147
+ private toolEventEmitter: IToolEventEmitter | null = null;
148
+
149
+ /**
150
+ * @param options.toolEventEmitter - Injectable event emitter for decoupling from EventBus.server
151
+ * @param options.skipServerEventHandlers - Skip setting up EventBus.server listeners (for client-side usage)
152
+ */
153
+ constructor(options?: { toolEventEmitter?: IToolEventEmitter; skipServerEventHandlers?: boolean }) {
154
+ super();
155
+ this.autoCorrectionService = AutoCorrectionService.getInstance();
156
+
157
+ if (options?.toolEventEmitter) {
158
+ this.toolEventEmitter = options.toolEventEmitter;
159
+ }
160
+
161
+ // Set up event listeners for SDK-initiated server registration
162
+ // Skipped when running client-side (no EventBus.server listeners needed)
163
+ if (!options?.skipServerEventHandlers) {
164
+ this.setupEventHandlers();
165
+ }
166
+ }
167
+
168
+ /**
169
+ * Set up EventBus handlers for external server registration from SDK
170
+ */
171
+ private setupEventHandlers(): void {
172
+
173
+ // Handle external server registration requests from SDK
174
+ EventBus.server.on(Events.Mcp.EXTERNAL_SERVER_REGISTER, async (payload: any) => {
175
+ try {
176
+
177
+ const serverConfig = {
178
+ id: payload.data.id,
179
+ name: payload.data.name,
180
+ version: payload.data.version || '1.0.0',
181
+ command: payload.data.command || '',
182
+ args: payload.data.args || [],
183
+ transport: (payload.data.transport || 'stdio') as 'stdio' | 'http',
184
+ url: payload.data.url,
185
+ autoStart: payload.data.autoStart !== false,
186
+ restartOnCrash: payload.data.restartOnCrash !== false,
187
+ maxRestartAttempts: payload.data.maxRestartAttempts || 3,
188
+ healthCheckInterval: payload.data.healthCheckInterval || 30000,
189
+ startupTimeout: payload.data.startupTimeout || 10000,
190
+ environmentVariables: payload.data.environmentVariables || {}
191
+ };
192
+
193
+ // Register the server
194
+ await this.registerServer(serverConfig);
195
+
196
+ // Emit success response
197
+ EventBus.server.emit(Events.Mcp.EXTERNAL_SERVER_REGISTERED, {
198
+ eventId: uuidv4(),
199
+ eventType: Events.Mcp.EXTERNAL_SERVER_REGISTERED,
200
+ timestamp: Date.now(),
201
+ agentId: payload.agentId,
202
+ channelId: payload.channelId,
203
+ data: {
204
+ serverId: serverConfig.id,
205
+ success: true,
206
+ message: `Server ${serverConfig.name} registered successfully`
207
+ }
208
+ });
209
+
210
+
211
+ } catch (error) {
212
+ logger.error(`Error registering external server:`, error);
213
+
214
+ // Emit error response
215
+ EventBus.server.emit(Events.Mcp.EXTERNAL_SERVER_REGISTRATION_FAILED, {
216
+ eventId: uuidv4(),
217
+ eventType: Events.Mcp.EXTERNAL_SERVER_REGISTRATION_FAILED,
218
+ timestamp: Date.now(),
219
+ agentId: payload.agentId,
220
+ channelId: payload.channelId,
221
+ data: {
222
+ serverId: payload.data?.id,
223
+ success: false,
224
+ error: error instanceof Error ? error.message : String(error)
225
+ }
226
+ });
227
+ }
228
+ });
229
+
230
+ // Handle external server unregistration requests from SDK
231
+ EventBus.server.on(Events.Mcp.EXTERNAL_SERVER_UNREGISTER, async (payload: any) => {
232
+ try {
233
+
234
+ const serverId = payload.data.serverId;
235
+ await this.stopServer(serverId);
236
+ this.servers.delete(serverId);
237
+
238
+ // Emit success response
239
+ EventBus.server.emit(Events.Mcp.EXTERNAL_SERVER_UNREGISTERED, {
240
+ eventId: uuidv4(),
241
+ eventType: Events.Mcp.EXTERNAL_SERVER_UNREGISTERED,
242
+ timestamp: Date.now(),
243
+ agentId: payload.agentId,
244
+ channelId: payload.channelId,
245
+ data: {
246
+ serverId: serverId,
247
+ success: true,
248
+ message: `Server ${serverId} unregistered successfully`
249
+ }
250
+ });
251
+
252
+
253
+ } catch (error) {
254
+ logger.error(`Error unregistering external server:`, error);
255
+
256
+ // Emit error response
257
+ EventBus.server.emit(Events.Mcp.EXTERNAL_SERVER_UNREGISTERED, {
258
+ eventId: uuidv4(),
259
+ eventType: Events.Mcp.EXTERNAL_SERVER_UNREGISTERED,
260
+ timestamp: Date.now(),
261
+ agentId: payload.agentId,
262
+ channelId: payload.channelId,
263
+ data: {
264
+ serverId: payload.data?.serverId,
265
+ success: false,
266
+ error: error instanceof Error ? error.message : String(error)
267
+ }
268
+ });
269
+ }
270
+ });
271
+
272
+ // Handle channel-scoped server registration requests
273
+ EventBus.server.on(Events.Mcp.CHANNEL_SERVER_REGISTER, async (payload: any) => {
274
+ try {
275
+ logger.info(`[CHANNEL_SERVER_REGISTER] Received registration request: ${JSON.stringify({ agentId: payload.agentId, channelId: payload.channelId, serverId: payload.data?.id })}`);
276
+
277
+
278
+ const channelId = payload.data.channelId || payload.channelId;
279
+ const serverId = `${channelId}:${payload.data.id}`;
280
+
281
+ const serverConfig = {
282
+ id: serverId,
283
+ name: payload.data.name,
284
+ version: payload.data.version || '1.0.0',
285
+ command: payload.data.command || '',
286
+ args: payload.data.args || [],
287
+ transport: (payload.data.transport || 'stdio') as 'stdio' | 'http',
288
+ url: payload.data.url,
289
+ autoStart: payload.data.autoStart !== false,
290
+ restartOnCrash: payload.data.restartOnCrash !== false,
291
+ maxRestartAttempts: payload.data.maxRestartAttempts || 3,
292
+ healthCheckInterval: payload.data.healthCheckInterval || 30000,
293
+ startupTimeout: payload.data.startupTimeout || 10000,
294
+ environmentVariables: payload.data.environmentVariables || {}
295
+ };
296
+
297
+ // Track scope BEFORE registration so we can store the registration context
298
+ // Note: connectedAgents starts empty - only actual game agents are counted, not the admin who registers
299
+ this.serverScopes.set(serverId, {
300
+ scope: 'channel',
301
+ scopeId: channelId,
302
+ connectedAgents: new Set(),
303
+ keepAliveMinutes: payload.data.keepAliveMinutes || 5,
304
+ // Store registration context for deferred success emission
305
+ registrationContext: {
306
+ agentId: payload.agentId,
307
+ channelId,
308
+ originalServerId: payload.data.id,
309
+ serverName: payload.data.name
310
+ }
311
+ });
312
+
313
+ // Register the server (this starts the process and tool discovery)
314
+ // Success event will be emitted after tool discovery completes
315
+ await this.registerServer(serverConfig);
316
+
317
+ logger.info(`[CHANNEL_SERVER_REGISTER] Server ${serverId} registered, waiting for tool discovery before emitting success`);
318
+
319
+ } catch (error) {
320
+
321
+ logger.error(`Error registering channel server:`, error);
322
+
323
+ // Emit error response
324
+ EventBus.server.emit(McpEvents.CHANNEL_SERVER_REGISTRATION_FAILED,
325
+ createExternalMcpServerEventPayload(
326
+ McpEvents.CHANNEL_SERVER_REGISTRATION_FAILED,
327
+ payload.agentId,
328
+ payload.data?.channelId || payload.channelId,
329
+ {
330
+ serverId: payload.data?.id,
331
+ scope: 'channel',
332
+ scopeId: payload.data?.channelId || payload.channelId,
333
+ success: false,
334
+ error: error instanceof Error ? error.message : String(error)
335
+ }
336
+ )
337
+ );
338
+ }
339
+ });
340
+
341
+ // Handle channel server unregistration requests
342
+ EventBus.server.on(Events.Mcp.CHANNEL_SERVER_UNREGISTER, async (payload: any) => {
343
+ try {
344
+
345
+ const channelId = payload.data.channelId || payload.channelId;
346
+ const serverId = `${channelId}:${payload.data.serverId}`;
347
+
348
+ await this.stopServer(serverId);
349
+ this.servers.delete(serverId);
350
+ this.serverScopes.delete(serverId);
351
+
352
+ // Emit success response
353
+ EventBus.server.emit(McpEvents.CHANNEL_SERVER_UNREGISTERED,
354
+ createExternalMcpServerEventPayload(
355
+ McpEvents.CHANNEL_SERVER_UNREGISTERED,
356
+ payload.agentId,
357
+ channelId,
358
+ {
359
+ serverId: payload.data.serverId,
360
+ scope: 'channel',
361
+ scopeId: channelId,
362
+ success: true,
363
+ message: `Channel server ${payload.data.serverId} unregistered successfully`
364
+ }
365
+ )
366
+ );
367
+
368
+ } catch (error) {
369
+
370
+ logger.error(`Error unregistering channel server:`, error);
371
+
372
+ // Emit error response
373
+ EventBus.server.emit(McpEvents.CHANNEL_SERVER_UNREGISTERED,
374
+ createExternalMcpServerEventPayload(
375
+ McpEvents.CHANNEL_SERVER_UNREGISTERED,
376
+ payload.agentId,
377
+ payload.data?.channelId || payload.channelId,
378
+ {
379
+ serverId: payload.data?.serverId,
380
+ scope: 'channel',
381
+ scopeId: payload.data?.channelId || payload.channelId,
382
+ success: false,
383
+ error: error instanceof Error ? error.message : String(error)
384
+ }
385
+ )
386
+ );
387
+ }
388
+ });
389
+
390
+ }
391
+
392
+ /**
393
+ * Register a new external server configuration
394
+ */
395
+ public async registerServer(config: ExternalServerConfig): Promise<void> {
396
+ logger.info(`[REGISTER_SERVER] Registering server ${config.id}: command="${config.command}", args=${JSON.stringify(config.args)}, autoStart=${config.autoStart}`);
397
+
398
+ // Validate configuration
399
+ validator.assertIsNonEmptyString(config.id, 'Server ID must be a non-empty string');
400
+ validator.assertIsNonEmptyString(config.name, 'Server name must be a non-empty string');
401
+ validator.assertIsNonEmptyString(config.command, 'Server command must be a non-empty string');
402
+ validator.assertIsArray(config.args, 'Server args must be an array');
403
+
404
+
405
+ // Check if server already exists
406
+ if (this.servers.has(config.id)) {
407
+ throw new Error(`Server with ID ${config.id} is already registered`);
408
+ }
409
+
410
+ // Create initial status
411
+ const status: ExternalServerStatus = {
412
+ id: config.id,
413
+ name: config.name,
414
+ status: 'stopped',
415
+ restartCount: 0,
416
+ tools: []
417
+ };
418
+
419
+ // Store server configuration and status
420
+ this.servers.set(config.id, {
421
+ config,
422
+ status
423
+ });
424
+
425
+
426
+ // Auto-start if configured
427
+ if (config.autoStart) {
428
+ logger.info(`[REGISTER_SERVER] Auto-starting server ${config.id}`);
429
+ await this.startServer(config.id);
430
+ }
431
+ }
432
+
433
+ /**
434
+ * Start an external server process
435
+ */
436
+ public async startServer(serverId: string, agentId?: AgentId, channelId?: ChannelId): Promise<void> {
437
+ logger.info(`[START_SERVER] Starting server ${serverId}`);
438
+
439
+ const serverData = this.servers.get(serverId);
440
+ if (!serverData) {
441
+ // Server was unregistered (e.g., during cleanup) - log warning and return gracefully
442
+ logger.warn(`⚠️ Cannot start server ${serverId} - server not found (likely unregistered)`);
443
+ return;
444
+ }
445
+
446
+ const { config, status } = serverData;
447
+
448
+ if (status.status === 'running') {
449
+ logger.info(`[START_SERVER] Server ${serverId} already running`);
450
+ return;
451
+ }
452
+
453
+
454
+ // Update status
455
+ status.status = 'starting';
456
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_SPAWN, serverId, agentId, channelId);
457
+
458
+ try {
459
+ // Spawn the process
460
+ const cwd = config.workingDirectory || process.cwd();
461
+ logger.info(`[START_SERVER] Spawning: ${config.command} ${config.args.join(' ')} in ${cwd}`);
462
+
463
+ // Least privilege: external servers get only what a child process
464
+ // needs to run plus their declared variables — never the full
465
+ // parent environment (which holds JWT/DB/API secrets).
466
+ const declaredEnv = config.environmentVariables ?? {};
467
+ for (const [name, value] of Object.entries(declaredEnv)) {
468
+ if (value === undefined || value === null || value === '') {
469
+ throw new Error(
470
+ `External MCP server '${serverId}' requires environment variable ${name} but it resolved empty — set it before starting this server`
471
+ );
472
+ }
473
+ }
474
+ const childEnv: Record<string, string> = {
475
+ ...(process.env.PATH ? { PATH: process.env.PATH } : {}),
476
+ ...(process.env.HOME ? { HOME: process.env.HOME } : {}),
477
+ ...(process.env.NODE_ENV ? { NODE_ENV: process.env.NODE_ENV } : {}),
478
+ ...declaredEnv
479
+ };
480
+ const childProcess = spawn(config.command, config.args, {
481
+ cwd,
482
+ env: childEnv,
483
+ stdio: ['pipe', 'pipe', 'pipe']
484
+ });
485
+
486
+ // Store process reference — PID is assigned by the OS immediately but the
487
+ // process may not have started yet. The 'spawn' event in setupProcessEventHandlers
488
+ // confirms the process actually started; the 'error' event handles spawn failures.
489
+ serverData.process = childProcess;
490
+ status.pid = childProcess.pid;
491
+ logger.info(`[START_SERVER] Process created with PID ${childProcess.pid}, awaiting spawn confirmation...`);
492
+
493
+ // Set up process event handlers
494
+ this.setupProcessEventHandlers(serverId, childProcess);
495
+
496
+ // Set startup timeout
497
+ serverData.startupTimer = setTimeout(() => {
498
+ if (status.status === 'starting') {
499
+ logger.error(`❌ Server ${config.name} startup timed out`);
500
+ this.handleServerError(serverId, 'Startup timeout', agentId, channelId);
501
+ }
502
+ }, config.startupTimeout);
503
+
504
+ // Start health check monitoring
505
+ this.startHealthChecking(serverId);
506
+
507
+
508
+ } catch (error) {
509
+ const errorMessage = error instanceof Error ? error.message : String(error);
510
+ logger.error(`❌ Failed to start server ${config.name}: ${errorMessage}`);
511
+ this.handleServerError(serverId, errorMessage, agentId, channelId);
512
+ }
513
+ }
514
+
515
+ /**
516
+ * Handle agent joining a channel - start channel servers and track connection
517
+ */
518
+ public async onAgentJoinChannel(agentId: string, channelId: string): Promise<void> {
519
+ logger.info(`Agent ${agentId} joining channel ${channelId} - checking for channel servers`);
520
+
521
+ // Find all channel-scoped servers for this channel
522
+ for (const [serverId, scopeData] of this.serverScopes.entries()) {
523
+ if (scopeData.scope === 'channel' && scopeData.scopeId === channelId) {
524
+ // Add agent to connected agents
525
+ scopeData.connectedAgents.add(agentId);
526
+
527
+ // Clear any pending keepAlive timer
528
+ if (scopeData.keepAliveTimer) {
529
+ clearTimeout(scopeData.keepAliveTimer);
530
+ scopeData.keepAliveTimer = undefined;
531
+ }
532
+
533
+ // Start server if not already running
534
+ const serverData = this.servers.get(serverId);
535
+ if (serverData && serverData.status.status !== 'running') {
536
+ logger.info(`Starting channel server ${serverId} for agent ${agentId}`);
537
+ await this.startServer(serverId);
538
+ }
539
+
540
+ logger.info(`Agent ${agentId} connected to channel server ${serverId} (${scopeData.connectedAgents.size} agents)`);
541
+ }
542
+ }
543
+ }
544
+
545
+ /**
546
+ * Handle agent leaving a channel - implement reference counting and keepAlive
547
+ */
548
+ public async onAgentLeaveChannel(agentId: string, channelId: string): Promise<void> {
549
+ logger.info(`Agent ${agentId} leaving channel ${channelId} - checking channel servers`);
550
+
551
+ // Find all channel-scoped servers for this channel
552
+ for (const [serverId, scopeData] of this.serverScopes.entries()) {
553
+ if (scopeData.scope === 'channel' && scopeData.scopeId === channelId) {
554
+ // Remove agent from connected agents
555
+ scopeData.connectedAgents.delete(agentId);
556
+
557
+ logger.info(`Agent ${agentId} disconnected from channel server ${serverId} (${scopeData.connectedAgents.size} agents remaining)`);
558
+
559
+ // If no more agents connected, start keepAlive timer
560
+ if (scopeData.connectedAgents.size === 0) {
561
+ const keepAliveMs = (scopeData.keepAliveMinutes || 5) * 60 * 1000;
562
+
563
+ logger.info(`Last agent left channel server ${serverId}, starting ${scopeData.keepAliveMinutes}min keepAlive timer`);
564
+
565
+ scopeData.keepAliveTimer = setTimeout(async () => {
566
+ logger.info(`KeepAlive expired for server ${serverId}, stopping server`);
567
+ try {
568
+ await this.stopServer(serverId);
569
+ } catch (error) {
570
+ logger.error(`Error stopping server ${serverId} after keepAlive:`, error);
571
+ }
572
+ }, keepAliveMs);
573
+ }
574
+ }
575
+ }
576
+ }
577
+
578
+ /**
579
+ * Get servers by scope
580
+ */
581
+ public getServersByScope(scope: 'global' | 'channel' | 'agent', scopeId?: string): ExternalServerStatus[] {
582
+ const servers: ExternalServerStatus[] = [];
583
+
584
+ for (const [serverId, scopeData] of this.serverScopes.entries()) {
585
+ if (scopeData.scope === scope) {
586
+ // For channel/agent scope, match scopeId
587
+ if ((scope === 'channel' || scope === 'agent') && scopeData.scopeId !== scopeId) {
588
+ continue;
589
+ }
590
+
591
+ const serverData = this.servers.get(serverId);
592
+ if (serverData) {
593
+ servers.push(serverData.status);
594
+ }
595
+ }
596
+ }
597
+
598
+ return servers;
599
+ }
600
+
601
+ /**
602
+ * Stop an external server process
603
+ */
604
+ public async stopServer(serverId: string, agentId?: AgentId, channelId?: ChannelId): Promise<void> {
605
+ const serverData = this.servers.get(serverId);
606
+ if (!serverData) {
607
+ throw new Error(`Server ${serverId} not found`);
608
+ }
609
+
610
+ const { config, status } = serverData;
611
+
612
+ if (status.status === 'stopped') {
613
+ return;
614
+ }
615
+
616
+
617
+ // Emit stop event
618
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STOP, serverId, agentId, channelId);
619
+
620
+ // Clear timers
621
+ if (serverData.healthCheckTimer) {
622
+ clearInterval(serverData.healthCheckTimer);
623
+ serverData.healthCheckTimer = undefined;
624
+ }
625
+ if (serverData.startupTimer) {
626
+ clearTimeout(serverData.startupTimer);
627
+ serverData.startupTimer = undefined;
628
+ }
629
+
630
+ // Terminate process
631
+ if (serverData.process) {
632
+ serverData.process.kill('SIGTERM');
633
+
634
+ // Force kill after timeout
635
+ setTimeout(() => {
636
+ if (serverData.process && !serverData.process.killed) {
637
+ logger.warn(`🔪 Force killing server ${config.name}`);
638
+ serverData.process.kill('SIGKILL');
639
+ }
640
+ }, 5000);
641
+ }
642
+
643
+ // Update status
644
+ status.status = 'stopped';
645
+ status.pid = undefined;
646
+ status.tools = [];
647
+
648
+ // Emit stopped event
649
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STOPPED, serverId, agentId, channelId);
650
+
651
+ }
652
+
653
+ /**
654
+ * Get status of all servers
655
+ */
656
+ public getServerStatus(): Map<string, ExternalServerStatus> {
657
+ const statusMap = new Map<string, ExternalServerStatus>();
658
+
659
+ for (const [id, serverData] of this.servers) {
660
+ statusMap.set(id, { ...serverData.status });
661
+ }
662
+
663
+ return statusMap;
664
+ }
665
+
666
+ /**
667
+ * Get status of a specific server
668
+ */
669
+ public getServerStatusById(serverId: string): ExternalServerStatus | undefined {
670
+ const serverData = this.servers.get(serverId);
671
+ return serverData ? { ...serverData.status } : undefined;
672
+ }
673
+
674
+ /**
675
+ * Get all discovered tools from external servers
676
+ */
677
+ public getAllExternalTools(): ExternalMcpTool[] {
678
+ const tools: ExternalMcpTool[] = [];
679
+
680
+ for (const [serverId, serverData] of this.servers) {
681
+ for (const tool of serverData.status.tools) {
682
+ tools.push({
683
+ ...tool,
684
+ serverId
685
+ });
686
+ }
687
+ }
688
+
689
+ return tools;
690
+ }
691
+
692
+ /**
693
+ * Set up event handlers for a spawned process
694
+ */
695
+ private setupProcessEventHandlers(serverId: string, process: ChildProcess): void {
696
+ const serverData = this.servers.get(serverId);
697
+ if (!serverData) return;
698
+
699
+ const { config, status } = serverData;
700
+
701
+ // Handle process exit
702
+ process.on('exit', (code, signal) => {
703
+
704
+ status.status = 'stopped';
705
+ status.pid = undefined;
706
+
707
+ // Clear timers
708
+ if (serverData.healthCheckTimer) {
709
+ clearInterval(serverData.healthCheckTimer);
710
+ serverData.healthCheckTimer = undefined;
711
+ }
712
+
713
+ // Handle restart if configured
714
+ if (config.restartOnCrash && code !== 0 && status.restartCount < config.maxRestartAttempts) {
715
+ status.restartCount++;
716
+
717
+ setTimeout(() => {
718
+ // Check if server still exists before attempting restart
719
+ // (it may have been unregistered during the delay)
720
+ if (this.servers.has(serverId)) {
721
+ this.startServer(serverId);
722
+ }
723
+ }, 2000); // Wait 2 seconds before restart
724
+ }
725
+
726
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STOPPED, serverId);
727
+ });
728
+
729
+ // Handle process errors
730
+ process.on('error', (error) => {
731
+ logger.error(`❌ Server ${config.name} process error: ${error.message}`);
732
+ this.handleServerError(serverId, error.message);
733
+ });
734
+
735
+ // Handle stdout for tool discovery and health checks
736
+ if (process.stdout) {
737
+ process.stdout.on('data', (data) => {
738
+ const output = data.toString();
739
+ this.handleServerOutput(serverId, output);
740
+ });
741
+ }
742
+
743
+ // Handle stderr — log non-warning output for debugging spawn failures
744
+ if (process.stderr) {
745
+ process.stderr.on('data', (data) => {
746
+ const errorOutput = data.toString().trim();
747
+ // Filter out harmless Node.js experimental warnings from npm
748
+ if (errorOutput.includes('ExperimentalWarning')) {
749
+ return; // Ignore npm's CommonJS/ES Module warnings
750
+ }
751
+ if (errorOutput) {
752
+ logger.debug(`[MCP-STDERR] ${serverId}: ${errorOutput}`);
753
+ }
754
+ });
755
+ }
756
+
757
+ // Mark as started when process is spawned successfully
758
+ process.on('spawn', () => {
759
+ logger.info(`[SPAWN] Server ${serverId} process spawned successfully`);
760
+ status.status = 'running';
761
+
762
+ // Clear startup timer
763
+ if (serverData.startupTimer) {
764
+ clearTimeout(serverData.startupTimer);
765
+ serverData.startupTimer = undefined;
766
+ }
767
+
768
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_STARTED, serverId);
769
+
770
+ // Initialize MCP connection first, then discover tools
771
+ logger.info(`[SPAWN] Will initialize MCP connection for ${serverId} in 2 seconds...`);
772
+ setTimeout(() => {
773
+ this.initializeMcpConnection(serverId).catch((err) => {
774
+ logger.error(`[MCP] Failed to initialize connection to ${serverId}: ${err.message}`);
775
+ this.handleServerError(serverId, `MCP initialization failed: ${err.message}`);
776
+ });
777
+ }, 2000); // Wait 2 seconds for server to fully start
778
+ });
779
+ }
780
+
781
+ /**
782
+ * Start health check monitoring for a server
783
+ */
784
+ private startHealthChecking(serverId: string): void {
785
+ const serverData = this.servers.get(serverId);
786
+ if (!serverData) return;
787
+
788
+ const { config } = serverData;
789
+
790
+ serverData.healthCheckTimer = setInterval(() => {
791
+ this.performHealthCheck(serverId);
792
+ }, config.healthCheckInterval);
793
+ }
794
+
795
+ /**
796
+ * Perform health check for a server
797
+ */
798
+ private async performHealthCheck(serverId: string): Promise<void> {
799
+ const serverData = this.servers.get(serverId);
800
+ if (!serverData) return;
801
+
802
+ const { config, status } = serverData;
803
+
804
+ // Emit health check event
805
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_HEALTH_CHECK, serverId);
806
+
807
+ // Simple health check - process is running
808
+ const isHealthy = serverData.process && !serverData.process.killed;
809
+
810
+ status.lastHealthCheck = Date.now();
811
+
812
+ if (status.status === 'running') {
813
+ status.uptime = Date.now() - (status.lastHealthCheck - config.healthCheckInterval);
814
+ }
815
+
816
+ // Emit health status
817
+ this.emitServerHealthStatus(serverId, isHealthy ? 'healthy' : 'unhealthy');
818
+ }
819
+
820
+ /**
821
+ * Handle server output for tool discovery
822
+ *
823
+ * MCP protocol message parsing is handled in:
824
+ * - initializeMcpConnection(): Handles MCP initialize handshake
825
+ * - discoverRealToolsFromServer(): Handles tools/list JSON-RPC calls
826
+ * - executeToolOnServer(): Handles tools/call JSON-RPC calls
827
+ */
828
+ private handleServerOutput(serverId: string, output: string): void {
829
+ // Server stdout is processed by the MCP JSON-RPC handlers in initializeMcpConnection,
830
+ // discoverRealToolsFromServer, and executeToolOnServer methods.
831
+ // This handler is used for any additional output logging if needed.
832
+ }
833
+
834
+ /**
835
+ * Discover tools available from a server
836
+ */
837
+ private async discoverServerTools(serverId: string): Promise<void> {
838
+ const serverData = this.servers.get(serverId);
839
+ if (!serverData) return;
840
+
841
+ const { config, process } = serverData;
842
+
843
+
844
+ // Emit discovery event
845
+ this.emitServerEvent(McpEvents.EXTERNAL_SERVER_DISCOVERY, serverId);
846
+
847
+ try {
848
+ // Real MCP tool discovery using JSON-RPC tools/list method
849
+ if (process && process.stdin && process.stdout && !process.killed) {
850
+ const realTools = await this.discoverRealToolsFromServer(serverId);
851
+
852
+ serverData.status.tools = realTools;
853
+
854
+ // Log discovered tool names for debugging
855
+ if (realTools.length > 0) {
856
+ // Special logging for calculator server
857
+ if (serverId === 'calculator') {
858
+ // name: t.name,
859
+ // description: t.description?.substring(0, 50) + '...'
860
+ // })));
861
+ } else {
862
+ }
863
+ } else {
864
+ logger.warn(`⚠️ No tools found from ${config.name} - server may not support tools/list or have no tools`);
865
+ }
866
+ } else {
867
+ logger.error(`❌ Server ${config.name} process not available for tool discovery`);
868
+ serverData.status.tools = [];
869
+ }
870
+ } catch (error) {
871
+ logger.error(`❌ Failed to discover tools from ${config.name}: ${error instanceof Error ? error.message : String(error)}`);
872
+ logger.error(`🚫 No fallback - server ${config.name} will have no available tools until discovery succeeds`);
873
+ serverData.status.tools = [];
874
+ }
875
+
876
+ // Emit tools discovered event
877
+ this.emitServerToolsDiscovered(serverId, serverData.status.tools);
878
+
879
+ // Emit deferred CHANNEL_SERVER_REGISTERED for channel-scoped servers
880
+ const scopeData = this.serverScopes.get(serverId);
881
+ if (scopeData?.scope === 'channel' && scopeData.registrationContext) {
882
+ const ctx = scopeData.registrationContext;
883
+
884
+ logger.info(`[CHANNEL_SERVER_REGISTER] Tool discovery complete for ${serverId}, emitting CHANNEL_SERVER_REGISTERED with ${serverData.status.tools.length} tools`);
885
+
886
+ EventBus.server.emit(McpEvents.CHANNEL_SERVER_REGISTERED,
887
+ createExternalMcpServerEventPayload(
888
+ McpEvents.CHANNEL_SERVER_REGISTERED,
889
+ ctx.agentId,
890
+ ctx.channelId,
891
+ {
892
+ serverId: ctx.originalServerId,
893
+ serverName: ctx.serverName,
894
+ scope: 'channel',
895
+ scopeId: ctx.channelId,
896
+ success: true,
897
+ tools: serverData.status.tools,
898
+ message: `Channel server ${ctx.serverName} registered with ${serverData.status.tools.length} tools`
899
+ }
900
+ )
901
+ );
902
+
903
+ // Clear registration context after emission
904
+ scopeData.registrationContext = undefined;
905
+ }
906
+
907
+ }
908
+
909
+ /**
910
+ * Initialize MCP connection with server
911
+ */
912
+ private async initializeMcpConnection(serverId: string): Promise<void> {
913
+ const serverData = this.servers.get(serverId);
914
+ if (!serverData || !serverData.process) {
915
+ throw new Error(`Server ${serverId} not found or not running`);
916
+ }
917
+
918
+ // Prevent duplicate initialization
919
+ if (serverData.status.initialized) {
920
+ logger.warn(`⚠️ MCP connection already initialized for server ${serverData.config.name}`);
921
+ return;
922
+ }
923
+
924
+ const { process, config } = serverData;
925
+
926
+ if (!process.stdin || !process.stdout) {
927
+ throw new Error('Process streams not available');
928
+ }
929
+
930
+ // Mark as initializing to prevent concurrent initialization
931
+ serverData.status.initializing = true;
932
+
933
+
934
+ // Send MCP initialize request with required parameters
935
+ const initializeRequest = {
936
+ jsonrpc: "2.0",
937
+ id: "initialize",
938
+ method: "initialize",
939
+ params: {
940
+ protocolVersion: "2024-11-05",
941
+ capabilities: {
942
+ experimental: {},
943
+ sampling: {}
944
+ },
945
+ clientInfo: {
946
+ name: "MXF Framework",
947
+ version: "0.32.0"
948
+ }
949
+ }
950
+ };
951
+
952
+ const requestJson = JSON.stringify(initializeRequest) + '\n';
953
+ process.stdin.write(requestJson);
954
+
955
+ // Wait for MCP initialize response
956
+ const responseBuffer = await this.waitForMcpResponse(process.stdout, "initialize");
957
+ const response = JSON.parse(responseBuffer);
958
+
959
+ if (response.error) {
960
+ logger.error(`❌ MCP initialize error: ${response.error.message}`);
961
+ throw new Error(`MCP initialize error: ${response.error.message}`);
962
+ }
963
+
964
+
965
+ // Discover tools after MCP connection is initialized
966
+ await this.discoverServerTools(serverId);
967
+
968
+ // Mark as successfully initialized
969
+ serverData.status.initialized = true;
970
+ serverData.status.initializing = false;
971
+ }
972
+
973
+ /**
974
+ * Wait for MCP response with specific ID
975
+ */
976
+ private async waitForMcpResponse(stdout: NodeJS.ReadableStream, requestId: string): Promise<string> {
977
+ return new Promise((resolve, reject) => {
978
+ let responseBuffer = '';
979
+ let timeoutId: NodeJS.Timeout;
980
+ let resolved = false;
981
+
982
+ const responseHandler = (data: Buffer): void => {
983
+ if (resolved) return; // Prevent duplicate responses
984
+
985
+ responseBuffer += data.toString();
986
+
987
+ // Try to parse JSON response (MCP responses are line-delimited JSON)
988
+ const lines = responseBuffer.split('\n');
989
+ for (let i = 0; i < lines.length - 1; i++) {
990
+ const line = lines[i].trim();
991
+ if (line) {
992
+ try {
993
+ const response = JSON.parse(line.trim());
994
+
995
+ // Check if this is our response
996
+ if (response.id === requestId) {
997
+ resolved = true;
998
+ clearTimeout(timeoutId);
999
+ stdout.removeListener('data', responseHandler);
1000
+
1001
+ // Return the clean JSON line instead of the entire buffer
1002
+ resolve(line.trim());
1003
+ return;
1004
+ }
1005
+ } catch (parseError) {
1006
+ // Ignore JSON parse errors for incomplete lines
1007
+ continue;
1008
+ }
1009
+ }
1010
+ }
1011
+
1012
+ // Keep the last incomplete line in buffer
1013
+ responseBuffer = lines[lines.length - 1];
1014
+ };
1015
+
1016
+ // Set up timeout (30 seconds for MCP response - some servers like n8n need more time)
1017
+ timeoutId = setTimeout(() => {
1018
+ if (!resolved) {
1019
+ resolved = true;
1020
+ stdout.removeListener('data', responseHandler);
1021
+ reject(new Error(`Timeout waiting for MCP response after 30 seconds`));
1022
+ }
1023
+ }, 30000);
1024
+
1025
+ // Listen for response
1026
+ stdout.on('data', responseHandler);
1027
+ });
1028
+ }
1029
+
1030
+ /**
1031
+ * Discover tools from external MCP server using JSON-RPC tools/list method
1032
+ */
1033
+ private async discoverRealToolsFromServer(serverId: string): Promise<Array<{ name: string; description: string; inputSchema: Record<string, any> }>> {
1034
+ const serverData = this.servers.get(serverId);
1035
+ if (!serverData || !serverData.process) {
1036
+ throw new Error(`Server ${serverId} not found or not running`);
1037
+ }
1038
+
1039
+ const { process, config } = serverData;
1040
+
1041
+ return new Promise((resolve, reject) => {
1042
+ if (!process.stdin || !process.stdout) {
1043
+ reject(new Error('Process streams not available'));
1044
+ return;
1045
+ }
1046
+
1047
+ const requestId = `tools-list-${uuidv4()}`;
1048
+
1049
+ // Create MCP tool call request according to the protocol
1050
+ const mcpRequest = {
1051
+ jsonrpc: '2.0',
1052
+ id: requestId,
1053
+ method: 'tools/list',
1054
+ params: {}
1055
+ };
1056
+
1057
+ let responseData = '';
1058
+ let timeoutId: NodeJS.Timeout;
1059
+ let resolved = false;
1060
+
1061
+ const handleData = (chunk: Buffer): void => {
1062
+ if (resolved) return; // Prevent duplicate responses
1063
+
1064
+ responseData += chunk.toString();
1065
+
1066
+ // Look for complete JSON-RPC response
1067
+ const lines = responseData.split('\n');
1068
+ for (let i = 0; i < lines.length - 1; i++) {
1069
+ const line = lines[i].trim();
1070
+ if (line) {
1071
+ try {
1072
+ const response = JSON.parse(line.trim());
1073
+
1074
+ // Check if this is our response
1075
+ if (response.id === requestId) {
1076
+ resolved = true;
1077
+ clearTimeout(timeoutId);
1078
+ process.stdout!.off('data', handleData);
1079
+
1080
+ if (response.error) {
1081
+ reject(new Error(`MCP Error: ${response.error.message}`));
1082
+ return;
1083
+ }
1084
+
1085
+ if (response.result && response.result.tools) {
1086
+ const tools = response.result.tools.map((tool: any) => ({
1087
+ name: tool.name,
1088
+ description: tool.description || `Tool from ${config.name}`,
1089
+ inputSchema: tool.inputSchema || { type: 'object', properties: {}, required: [] }
1090
+ }));
1091
+
1092
+ resolve(tools);
1093
+ } else {
1094
+ logger.warn(`⚠️ No tools found in response from ${config.name}`);
1095
+ resolve([]);
1096
+ }
1097
+ return;
1098
+ }
1099
+ } catch (parseError) {
1100
+ // Continue looking for valid JSON in other lines
1101
+ }
1102
+ }
1103
+ }
1104
+
1105
+ // Keep the last incomplete line in buffer
1106
+ responseData = lines[lines.length - 1];
1107
+ };
1108
+
1109
+ // Set up timeout (15 seconds for tool execution)
1110
+ timeoutId = setTimeout(() => {
1111
+ if (!resolved) {
1112
+ resolved = true;
1113
+ process.stdout!.off('data', handleData);
1114
+ reject(new Error(`Timeout waiting for tools/list response from ${config.name} after 15 seconds`));
1115
+ }
1116
+ }, 15000);
1117
+
1118
+ // Listen for response
1119
+ process.stdout.on('data', handleData);
1120
+
1121
+ // Send tools/list request
1122
+ const requestLine = JSON.stringify(mcpRequest) + '\n';
1123
+ process.stdin.write(requestLine);
1124
+ });
1125
+ }
1126
+
1127
+ /**
1128
+ * Handle server errors
1129
+ */
1130
+ private handleServerError(serverId: string, error: string, agentId?: AgentId, channelId?: ChannelId): void {
1131
+ const serverData = this.servers.get(serverId);
1132
+ if (!serverData) return;
1133
+
1134
+ const { status } = serverData;
1135
+
1136
+ status.status = 'error';
1137
+ status.lastError = error;
1138
+
1139
+ logger.error(`❌ Server ${serverId} error: ${error}`);
1140
+
1141
+ // Emit error event
1142
+ this.emitServerErrorEvent(serverId, error, agentId, channelId);
1143
+ }
1144
+
1145
+ /**
1146
+ * Emit server event with proper payload structure
1147
+ */
1148
+ private emitServerEvent(eventType: string, serverId: string, agentId?: AgentId, channelId?: ChannelId): void {
1149
+ const serverData = this.servers.get(serverId);
1150
+ if (!serverData) return;
1151
+
1152
+ const { config } = serverData;
1153
+
1154
+ // Use default values if agentId/channelId not provided
1155
+ const defaultAgentId = agentId || 'SYSTEM' as AgentId;
1156
+ const defaultChannelId = channelId || 'SYSTEM' as ChannelId;
1157
+
1158
+ // Determine scope from server ID
1159
+ const scopeData = this.serverScopes.get(serverId);
1160
+ const scope = scopeData?.scope || 'global';
1161
+ const scopeId = scopeData?.scopeId;
1162
+
1163
+ // Use injectable emitter if available, otherwise direct EventBus.server
1164
+ if (this.toolEventEmitter) {
1165
+ this.toolEventEmitter.emitServerEvent(eventType, serverId, config.name, scope, scopeId, defaultAgentId, defaultChannelId);
1166
+ } else {
1167
+ EventBus.server.emit(eventType, createExternalMcpServerEventPayload(
1168
+ eventType,
1169
+ defaultAgentId,
1170
+ defaultChannelId,
1171
+ {
1172
+ serverId: serverId,
1173
+ serverName: config.name,
1174
+ scope: scope,
1175
+ scopeId: scopeId,
1176
+ status: 'running'
1177
+ }
1178
+ ));
1179
+ }
1180
+ }
1181
+
1182
+ /**
1183
+ * Emit server error event with detailed error information
1184
+ */
1185
+ private emitServerErrorEvent(serverId: string, error: string, agentId?: AgentId, channelId?: ChannelId): void {
1186
+ const serverData = this.servers.get(serverId);
1187
+ if (!serverData) return;
1188
+
1189
+ const defaultAgentId = agentId || 'SYSTEM' as AgentId;
1190
+ const defaultChannelId = channelId || 'SYSTEM' as ChannelId;
1191
+
1192
+ if (this.toolEventEmitter) {
1193
+ this.toolEventEmitter.emitServerError(serverId, error, defaultAgentId, defaultChannelId);
1194
+ } else {
1195
+ EventBus.server.emit(McpEvents.EXTERNAL_SERVER_ERROR, createExternalMcpServerErrorEventPayload(
1196
+ McpEvents.EXTERNAL_SERVER_ERROR,
1197
+ defaultAgentId,
1198
+ defaultChannelId,
1199
+ {
1200
+ error,
1201
+ code: 'EXTERNAL_SERVER_ERROR',
1202
+ details: { serverId }
1203
+ }
1204
+ ));
1205
+ }
1206
+ }
1207
+
1208
+ /**
1209
+ * Emit server health status event
1210
+ */
1211
+ private emitServerHealthStatus(serverId: string, healthStatus: string): void {
1212
+ const serverData = this.servers.get(serverId);
1213
+ if (!serverData) return;
1214
+
1215
+ const { config } = serverData;
1216
+
1217
+ if (this.toolEventEmitter) {
1218
+ this.toolEventEmitter.emitHealthStatus(serverId, config.name, config.version, healthStatus, config.description);
1219
+ } else {
1220
+ EventBus.server.emit(McpEvents.EXTERNAL_SERVER_HEALTH_STATUS, createExternalMcpServerHealthStatusEventPayload(
1221
+ McpEvents.EXTERNAL_SERVER_HEALTH_STATUS,
1222
+ 'SYSTEM' as AgentId,
1223
+ 'SYSTEM' as ChannelId,
1224
+ {
1225
+ name: config.name,
1226
+ version: config.version,
1227
+ status: healthStatus,
1228
+ description: config.description
1229
+ }
1230
+ ));
1231
+ }
1232
+ }
1233
+
1234
+ /**
1235
+ * Emit tools discovered event
1236
+ */
1237
+ private emitServerToolsDiscovered(serverId: string, tools: Array<{ name: string; description: string; inputSchema: Record<string, any> }>): void {
1238
+ const serverData = this.servers.get(serverId);
1239
+ if (!serverData) return;
1240
+
1241
+ const { config } = serverData;
1242
+
1243
+ if (this.toolEventEmitter) {
1244
+ this.toolEventEmitter.emitToolsDiscovered(serverId, config.name, config.version, tools);
1245
+ return;
1246
+ }
1247
+
1248
+ EventBus.server.emit(McpEvents.EXTERNAL_SERVER_TOOLS_DISCOVERED, createExternalMcpServerToolsDiscoveredEventPayload(
1249
+ McpEvents.EXTERNAL_SERVER_TOOLS_DISCOVERED,
1250
+ 'SYSTEM' as AgentId,
1251
+ 'SYSTEM' as ChannelId,
1252
+ {
1253
+ name: config.name,
1254
+ version: config.version,
1255
+ tools
1256
+ }
1257
+ ));
1258
+ }
1259
+
1260
+ /**
1261
+ * Cleanup and shutdown all servers
1262
+ */
1263
+ public async shutdown(): Promise<void> {
1264
+
1265
+ const shutdownPromises = Array.from(this.servers.keys()).map(serverId =>
1266
+ this.stopServer(serverId)
1267
+ );
1268
+
1269
+ await Promise.allSettled(shutdownPromises);
1270
+
1271
+ this.servers.clear();
1272
+ this.removeAllListeners();
1273
+
1274
+ }
1275
+
1276
+ /**
1277
+ * Get list of running server IDs
1278
+ */
1279
+ public getRunningServerIds(): string[] {
1280
+ const runningServers: string[] = [];
1281
+ for (const [serverId, serverData] of this.servers.entries()) {
1282
+ if (serverData.status.status === 'running') {
1283
+ runningServers.push(serverId);
1284
+ }
1285
+ }
1286
+ return runningServers;
1287
+ }
1288
+
1289
+ /**
1290
+ * Get list of failed server IDs
1291
+ */
1292
+ public getFailedServerIds(): string[] {
1293
+ const failedServers: string[] = [];
1294
+ for (const [serverId, serverData] of this.servers.entries()) {
1295
+ if (serverData.status.status === 'error') {
1296
+ failedServers.push(serverId);
1297
+ }
1298
+ }
1299
+ return failedServers;
1300
+ }
1301
+
1302
+ /**
1303
+ * Get statuses of all servers
1304
+ */
1305
+ public getServerStatuses(): Record<string, ExternalServerStatus> {
1306
+ const statuses: Record<string, ExternalServerStatus> = {};
1307
+ for (const [serverId, serverData] of this.servers.entries()) {
1308
+ statuses[serverId] = { ...serverData.status };
1309
+ }
1310
+ return statuses;
1311
+ }
1312
+
1313
+ /**
1314
+ * Start a server using its configuration object
1315
+ */
1316
+ public async startServerFromConfig(config: ExternalServerConfig): Promise<boolean> {
1317
+ try {
1318
+ // Register the server if not already registered
1319
+ if (!this.servers.has(config.id)) {
1320
+ await this.registerServer(config);
1321
+ }
1322
+
1323
+ // Start the server process
1324
+ await this.startServer(config.id);
1325
+ return true;
1326
+
1327
+ } catch (error) {
1328
+ logger.error(`Failed to start server ${config.id}: ${error instanceof Error ? error.message : String(error)}`);
1329
+ return false;
1330
+ }
1331
+ }
1332
+
1333
+ /**
1334
+ * Restart a server by ID
1335
+ */
1336
+ public async restartServer(serverId: string): Promise<boolean> {
1337
+ try {
1338
+
1339
+ // Stop the server first
1340
+ await this.stopServer(serverId);
1341
+
1342
+ // Wait a bit before restarting
1343
+ await new Promise(resolve => setTimeout(resolve, 1000));
1344
+
1345
+ // Start the server again
1346
+ await this.startServer(serverId);
1347
+
1348
+ return true;
1349
+
1350
+ } catch (error) {
1351
+ logger.error(`Failed to restart server ${serverId}: ${error instanceof Error ? error.message : String(error)}`);
1352
+ return false;
1353
+ }
1354
+ }
1355
+
1356
+ /**
1357
+ * Execute a tool on an external MCP server via JSON-RPC with auto-correction support
1358
+ */
1359
+ public async executeToolOnServer(
1360
+ serverId: string,
1361
+ toolName: string,
1362
+ input: any,
1363
+ agentId: string = 'system',
1364
+ channelId: string = 'default'
1365
+ ): Promise<any> {
1366
+ // PROACTIVE CORRECTION: Apply known corrections before attempting execution
1367
+ // NOTE: n8n-mcp server has built-in n8n_autofix_workflow and validation tools,
1368
+ // so proactive correction is not needed for n8n_* tools. This is kept for
1369
+ // potential future external tools that might benefit from it.
1370
+ // Disabled for now since no tools currently need it.
1371
+ const enableProactiveCorrection = false;
1372
+ if (enableProactiveCorrection && (toolName === 'create_workflow' || toolName === 'update_workflow')) {
1373
+ const proactiveCorrection = await this.autoCorrectionService.attemptCorrection(
1374
+ agentId as AgentId,
1375
+ channelId as ChannelId,
1376
+ toolName,
1377
+ input,
1378
+ '', // No error yet - proactive check
1379
+ undefined
1380
+ );
1381
+
1382
+ if (proactiveCorrection.corrected && proactiveCorrection.correctedParameters) {
1383
+ input = proactiveCorrection.correctedParameters;
1384
+ }
1385
+ }
1386
+
1387
+ const maxAttempts = 2; // Original attempt + 1 retry with correction
1388
+ let currentAttempt = 0;
1389
+ let lastError: Error | null = null;
1390
+
1391
+ while (currentAttempt < maxAttempts) {
1392
+ try {
1393
+ const result = await this.executeToolOnServerInternal(serverId, toolName, input);
1394
+ return result;
1395
+
1396
+ } catch (error) {
1397
+ lastError = error instanceof Error ? error : new Error(String(error));
1398
+ logger.error(`❌ External MCP tool ${toolName} failed on attempt ${currentAttempt + 1}: ${lastError.message}`);
1399
+
1400
+ // Only attempt correction if we have retries left
1401
+ if (currentAttempt < maxAttempts - 1) {
1402
+
1403
+ const correctionResult = await this.autoCorrectionService.attemptCorrection(
1404
+ agentId as AgentId,
1405
+ channelId as ChannelId,
1406
+ toolName,
1407
+ input,
1408
+ lastError.message,
1409
+ undefined // tool schema not available for external tools
1410
+ );
1411
+
1412
+ if (correctionResult.corrected && correctionResult.correctedParameters) {
1413
+ input = correctionResult.correctedParameters; // Use corrected params for retry
1414
+ } else {
1415
+ break; // No correction possible, don't retry
1416
+ }
1417
+ }
1418
+
1419
+ currentAttempt++;
1420
+ }
1421
+ }
1422
+
1423
+ // All attempts exhausted
1424
+ throw lastError || new Error(`Failed to execute ${toolName} after ${maxAttempts} attempts`);
1425
+ }
1426
+
1427
+ /**
1428
+ * Internal method to execute tool once (without retry logic)
1429
+ */
1430
+ private async executeToolOnServerInternal(
1431
+ serverId: string,
1432
+ toolName: string,
1433
+ input: any
1434
+ ): Promise<any> {
1435
+ const serverData = this.servers.get(serverId);
1436
+ if (!serverData) {
1437
+ throw new Error(`Server ${serverId} not found`);
1438
+ }
1439
+
1440
+ if (!serverData.process || serverData.status.status !== 'running') {
1441
+ throw new Error(`Server ${serverId} is not running`);
1442
+ }
1443
+
1444
+ // Verify tool exists on server
1445
+ const tool = serverData.status.tools.find(t => t.name === toolName);
1446
+ if (!tool) {
1447
+ throw new Error(`Tool ${toolName} not found on server ${serverId}`);
1448
+ }
1449
+
1450
+ return new Promise((resolve, reject) => {
1451
+ try {
1452
+ const requestId = uuidv4();
1453
+
1454
+ // Create MCP tool call request according to the protocol
1455
+ const mcpRequest = {
1456
+ jsonrpc: "2.0",
1457
+ id: requestId,
1458
+ method: "tools/call",
1459
+ params: {
1460
+ name: toolName,
1461
+ arguments: input
1462
+ }
1463
+ };
1464
+
1465
+ let responseBuffer = '';
1466
+ let timeoutId: NodeJS.Timeout;
1467
+ let resolved = false;
1468
+
1469
+ const responseHandler = (data: Buffer): void => {
1470
+ if (resolved) return; // Prevent duplicate responses
1471
+
1472
+ responseBuffer += data.toString();
1473
+
1474
+ // Try to parse JSON response (MCP responses are line-delimited JSON)
1475
+ const lines = responseBuffer.split('\n');
1476
+ for (let i = 0; i < lines.length - 1; i++) {
1477
+ const line = lines[i].trim();
1478
+ if (line) {
1479
+ try {
1480
+ const response = JSON.parse(line.trim());
1481
+
1482
+ // Check if this is our response
1483
+ if (response.id === requestId) {
1484
+ resolved = true;
1485
+ clearTimeout(timeoutId);
1486
+ serverData.process!.stdout!.removeListener('data', responseHandler);
1487
+
1488
+ if (response.error) {
1489
+ const errorMessage = `MCP error: ${response.error.message || response.error}`;
1490
+ logger.error(`❌ MCP tool call error: ${errorMessage}`);
1491
+ reject(new Error(errorMessage));
1492
+ } else {
1493
+ resolve(response.result);
1494
+ }
1495
+ return;
1496
+ }
1497
+ } catch (parseError) {
1498
+ // Ignore JSON parse errors for incomplete lines
1499
+ continue;
1500
+ }
1501
+ }
1502
+ }
1503
+
1504
+ // Keep the last incomplete line in buffer
1505
+ responseBuffer = lines[lines.length - 1];
1506
+ };
1507
+
1508
+ // Set up timeout (30 seconds for tool execution)
1509
+ timeoutId = setTimeout(() => {
1510
+ if (!resolved) {
1511
+ resolved = true;
1512
+ serverData.process!.stdout!.removeListener('data', responseHandler);
1513
+ reject(new Error(`Timeout waiting for tool execution response from ${serverId} after 30 seconds`));
1514
+ }
1515
+ }, 30000);
1516
+
1517
+ // Listen for response
1518
+ if (!serverData.process || !serverData.process.stdout) {
1519
+ reject(new Error(`Server ${serverId} process stdout not available`));
1520
+ return;
1521
+ }
1522
+ serverData.process.stdout.on('data', responseHandler);
1523
+
1524
+ // Send the request
1525
+ if (!serverData.process.stdin) {
1526
+ reject(new Error(`Server ${serverId} process stdin not available`));
1527
+ return;
1528
+ }
1529
+ const requestJson = JSON.stringify(mcpRequest) + '\n';
1530
+ serverData.process.stdin.write(requestJson);
1531
+
1532
+
1533
+ } catch (error) {
1534
+ const errorMessage = error instanceof Error ? error.message : String(error);
1535
+ logger.error(`❌ Failed to execute tool ${toolName} on server ${serverId}: ${errorMessage}`);
1536
+ reject(error);
1537
+ }
1538
+ });
1539
+ }
1540
+ }