@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,2299 @@
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
+ * PredictiveAnalyticsService - Phase 6 Advanced Analytics
23
+ *
24
+ * ML-based prediction features including:
25
+ * - Error prediction model
26
+ * - Anomaly detection
27
+ * - Proactive suggestions
28
+ * - Pattern forecasting
29
+ * - Risk scoring
30
+ */
31
+
32
+ import { createBaseEventPayload } from '../schemas/EventPayloadSchema.js';
33
+ import * as os from 'os';
34
+ import { EventEmitter } from 'events';
35
+ import { Logger } from '../utils/Logger.js';
36
+ import { EventBus } from '../events/EventBus.js';
37
+ import { Events } from '../events/EventNames.js';
38
+ import { TensorFlowEvents } from '../events/event-definitions/TensorFlowEvents.js';
39
+ import {
40
+ SYSTEM_AGENT_ID,
41
+ SYSTEM_CHANNEL_ID,
42
+ createTfInferenceFallbackPayload,
43
+ } from '../schemas/EventPayloadSchema.js';
44
+ import { PatternLearningService } from './PatternLearningService.js';
45
+ import { MxfMLService } from './MxfMLService.js';
46
+ import { MxfModelType } from '../types/TensorFlowTypes.js';
47
+ import { isTensorFlowEnabled, getTensorFlowConfig } from '../config/tensorflow.config.js';
48
+ import { AgentId, ChannelId } from '../types/ChannelContext.js';
49
+ import { v4 as uuidv4 } from 'uuid';
50
+
51
+ /**
52
+ * Prediction types
53
+ */
54
+ export enum PredictionType {
55
+ ERROR_PROBABILITY = 'error_probability',
56
+ PARAMETER_VALUE = 'parameter_value',
57
+ EXECUTION_TIME = 'execution_time',
58
+ SUCCESS_RATE = 'success_rate',
59
+ ANOMALY_SCORE = 'anomaly_score'
60
+ }
61
+
62
+ /**
63
+ * Model types
64
+ */
65
+ export enum ModelType {
66
+ RANDOM_FOREST = 'random_forest',
67
+ GRADIENT_BOOSTING = 'gradient_boosting',
68
+ NEURAL_NETWORK = 'neural_network',
69
+ ISOLATION_FOREST = 'isolation_forest',
70
+ LSTM = 'lstm'
71
+ }
72
+
73
+ /**
74
+ * Feature vector for predictions
75
+ */
76
+ export interface FeatureVector {
77
+ // Tool features
78
+ toolName: string;
79
+ toolCategory: string;
80
+ toolComplexity: number;
81
+
82
+ // Parameter features
83
+ parameterCount: number;
84
+ parameterTypes: string[];
85
+ parameterPatternMatch: number;
86
+
87
+ // Agent features
88
+ agentType: string;
89
+ agentExperience: number; // Number of successful tool calls
90
+ agentErrorRate: number;
91
+
92
+ // Context features
93
+ timeOfDay: number; // Hour 0-23
94
+ dayOfWeek: number; // 0-6
95
+ systemLoad: number;
96
+ concurrentRequests: number;
97
+
98
+ // Historical features
99
+ recentErrors: number; // Last hour
100
+ recentSuccesses: number;
101
+ averageLatency: number;
102
+ }
103
+
104
+ /**
105
+ * Prediction result
106
+ */
107
+ export interface PredictionResult {
108
+ predictionId: string;
109
+ type: PredictionType;
110
+ timestamp: number;
111
+ prediction: {
112
+ value: number | string | Record<string, any>;
113
+ confidence: number;
114
+ explanation?: string;
115
+ };
116
+ features: Partial<FeatureVector>;
117
+ model: {
118
+ type: ModelType;
119
+ version: string;
120
+ accuracy: number | null;
121
+ };
122
+ }
123
+
124
+ /**
125
+ * Anomaly detection result
126
+ */
127
+ export interface AnomalyResult {
128
+ anomalyId: string;
129
+ timestamp: number;
130
+ score: number; // 0-1, higher means more anomalous
131
+ type: 'parameter' | 'behavior' | 'performance' | 'pattern';
132
+ description: string;
133
+ context: Record<string, any>;
134
+ severity: 'low' | 'medium' | 'high' | 'critical';
135
+ suggestedAction?: string;
136
+ }
137
+
138
+ /**
139
+ * Proactive suggestion
140
+ */
141
+ export interface ProactiveSuggestion {
142
+ suggestionId: string;
143
+ timestamp: number;
144
+ type: 'parameter' | 'tool' | 'timing' | 'strategy';
145
+ title: string;
146
+ description: string;
147
+ confidence: number;
148
+ expectedBenefit: string;
149
+ implementation?: string;
150
+ }
151
+
152
+ /**
153
+ * Pattern forecast
154
+ */
155
+ export interface PatternForecast {
156
+ forecastId: string;
157
+ pattern: string;
158
+ timeframe: 'hour' | 'day' | 'week';
159
+ predictions: Array<{
160
+ timestamp: number;
161
+ value: number;
162
+ confidence: number;
163
+ upperBound: number;
164
+ lowerBound: number;
165
+ }>;
166
+ accuracy: number | null;
167
+ }
168
+
169
+ /**
170
+ * Risk score result
171
+ */
172
+ export interface RiskScore {
173
+ scoreId: string;
174
+ timestamp: number;
175
+ overallRisk: number; // 0-100
176
+ riskFactors: Array<{
177
+ factor: string;
178
+ weight: number;
179
+ score: number;
180
+ description: string;
181
+ }>;
182
+ mitigation: string[];
183
+ trend: 'increasing' | 'stable' | 'decreasing';
184
+ }
185
+
186
+ /**
187
+ * Model metadata
188
+ */
189
+ export interface ModelMetadata {
190
+ modelId: string;
191
+ type: ModelType;
192
+ version: string;
193
+ trainedAt: number;
194
+ accuracy: number | null;
195
+ features: string[];
196
+ hyperparameters: Record<string, any>;
197
+ trainingDataSize: number;
198
+ validationMetrics: Record<string, number>;
199
+ }
200
+
201
+ /** TF.js model ID for the error prediction Dense classifier */
202
+ const TF_ERROR_PREDICTION_MODEL_ID = 'error_prediction';
203
+
204
+ /** TF.js model ID for the anomaly detection autoencoder */
205
+ const TF_ANOMALY_AUTOENCODER_MODEL_ID = 'anomaly_autoencoder';
206
+
207
+ /** Number of features in the vectorized feature vector */
208
+ const ERROR_PREDICTION_FEATURE_COUNT = 12;
209
+
210
+ /**
211
+ * Scale factor for normalizing autoencoder reconstruction error to 0-1 range.
212
+ * Raw MSE is multiplied by this value and clamped to [0, 1].
213
+ * Calibrated so that MSE ≈ 0.08 maps to the existing anomaly threshold of 0.8.
214
+ */
215
+ const AUTOENCODER_ANOMALY_SCALE_FACTOR = 10;
216
+
217
+ /**
218
+ * Predictive Analytics Service
219
+ */
220
+ export class PredictiveAnalyticsService extends EventEmitter {
221
+ private readonly logger: Logger;
222
+
223
+ // Service dependencies
224
+ private readonly patternLearningService: PatternLearningService;
225
+
226
+ // TF.js error prediction model state
227
+ // When TF.js is enabled and the model is trained, predict() uses MxfMLService.
228
+ // Otherwise falls back to the heuristic runModel().
229
+ private tfErrorPredictionReady: boolean = false;
230
+
231
+ // TF.js anomaly detection autoencoder state
232
+ // When TF.js is enabled and the autoencoder is trained, anomaly detection
233
+ // uses reconstruction error from MxfMLService.predictWithReconstruction().
234
+ // Otherwise falls back to the heuristic distance-based isolation score.
235
+ private tfAnomalyAutoencoderReady: boolean = false;
236
+
237
+ // Models (simplified in-memory implementation)
238
+ private readonly models = new Map<string, any>();
239
+ private readonly modelMetadata = new Map<string, ModelMetadata>();
240
+
241
+ // Training data
242
+ private readonly trainingData: Array<{
243
+ features: FeatureVector;
244
+ label: any;
245
+ timestamp: number;
246
+ }> = [];
247
+
248
+ // Prediction cache
249
+ private readonly predictionCache = new Map<string, PredictionResult>();
250
+
251
+ // Anomaly detection
252
+ private readonly anomalyThresholds = {
253
+ parameter: 0.8,
254
+ behavior: 0.85,
255
+ performance: 0.9,
256
+ pattern: 0.75
257
+ };
258
+
259
+ // Configuration
260
+ private config = {
261
+ enableRealTimePrediction: true,
262
+ enableAnomalyDetection: true,
263
+ enableProactiveSuggestions: true,
264
+ minTrainingDataSize: 100,
265
+ retrainInterval: 3600000, // 1 hour
266
+ predictionCacheTTL: 300000, // 5 minutes
267
+ maxTrainingDataSize: 10000
268
+ };
269
+
270
+ // Metrics
271
+ private metrics = {
272
+ predictionsMade: 0,
273
+ anomaliesDetected: 0,
274
+ suggestionsGenerated: 0,
275
+ modelRetrains: 0,
276
+ averagePredictionTime: 0,
277
+ predictionAccuracy: 0
278
+ };
279
+
280
+ private retrainInterval?: NodeJS.Timeout;
281
+
282
+ private static instance: PredictiveAnalyticsService;
283
+
284
+ private constructor() {
285
+ super();
286
+ this.logger = new Logger('info', 'PredictiveAnalyticsService', 'server');
287
+
288
+ // Initialize service dependencies
289
+ this.patternLearningService = PatternLearningService.getInstance();
290
+
291
+ this.initializeModels();
292
+ this.setupEventListeners();
293
+ this.startRetrainSchedule();
294
+
295
+ // TF.js model initialization is deferred to initializeTensorFlowModels().
296
+ // This service is instantiated at module load time (via validationAnalyticsController),
297
+ // which runs BEFORE MxfMLService.initialize() in server Step 2.8.
298
+ // The server calls initializeTensorFlowModels() after MxfMLService is ready.
299
+ }
300
+
301
+ /**
302
+ * Get singleton instance
303
+ */
304
+ public static getInstance(): PredictiveAnalyticsService {
305
+ if (!PredictiveAnalyticsService.instance) {
306
+ PredictiveAnalyticsService.instance = new PredictiveAnalyticsService();
307
+ }
308
+ return PredictiveAnalyticsService.instance;
309
+ }
310
+
311
+ // =============================================================================
312
+ // TF.JS DEFERRED INITIALIZATION
313
+ // =============================================================================
314
+
315
+ /**
316
+ * Initialize TF.js models after MxfMLService is ready.
317
+ *
318
+ * Called from server/index.ts after Step 2.8 (MxfMLService.initialize()).
319
+ * This service is instantiated at module load time (before Step 2.8),
320
+ * so TF model registration must be deferred to this explicit call.
321
+ *
322
+ * Registers and builds both the error prediction Dense classifier and the
323
+ * anomaly detection autoencoder. If either fails, the heuristic fallbacks
324
+ * continue to serve predictions.
325
+ */
326
+ public async initializeTensorFlowModels(): Promise<void> {
327
+ if (!isTensorFlowEnabled()) {
328
+ this.logger.debug(
329
+ '[PredictiveAnalyticsService] TensorFlow.js disabled, skipping TF model initialization'
330
+ );
331
+ return;
332
+ }
333
+
334
+ const mlService = MxfMLService.getInstance();
335
+ if (!mlService.isEnabled()) {
336
+ this.logger.warn(
337
+ '[PredictiveAnalyticsService] MxfMLService not enabled after Step 2.8, ' +
338
+ 'TF models will not be registered'
339
+ );
340
+ return;
341
+ }
342
+
343
+ // Initialize error prediction Dense classifier
344
+ try {
345
+ await this.initializeTfErrorPrediction();
346
+ } catch (error) {
347
+ this.logger.warn(
348
+ `[PredictiveAnalyticsService] TF.js error prediction init failed, ` +
349
+ `using heuristic fallback: ${error instanceof Error ? error.message : String(error)}`
350
+ );
351
+ }
352
+
353
+ // Initialize anomaly detection autoencoder
354
+ try {
355
+ await this.initializeTfAnomalyAutoencoder();
356
+ } catch (error) {
357
+ this.logger.warn(
358
+ `[PredictiveAnalyticsService] TF.js anomaly autoencoder init failed, ` +
359
+ `using heuristic fallback: ${error instanceof Error ? error.message : String(error)}`
360
+ );
361
+ }
362
+ }
363
+
364
+ // =============================================================================
365
+ // TF.JS ERROR PREDICTION MODEL SETUP
366
+ // =============================================================================
367
+
368
+ /**
369
+ * Initialize TF.js error prediction model.
370
+ *
371
+ * Registers, builds, and optionally loads a Dense(12→32→16→1) binary
372
+ * classifier with MxfMLService. The model uses binary cross-entropy loss
373
+ * and sigmoid output for error probability prediction.
374
+ *
375
+ * Architecture: input(12) → Dense(32, relu) → Dense(16, relu) → Dense(1, sigmoid)
376
+ *
377
+ * If a previously trained model exists in storage (GridFS), it is loaded
378
+ * automatically. Otherwise the model starts untrained and waits for enough
379
+ * training data (100 samples) before the first training run.
380
+ */
381
+ private async initializeTfErrorPrediction(): Promise<void> {
382
+ const mlService = MxfMLService.getInstance();
383
+
384
+ if (!mlService.isEnabled()) {
385
+ this.logger.debug(
386
+ '[PredictiveAnalyticsService] MxfMLService not enabled, skipping TF.js model setup'
387
+ );
388
+ return;
389
+ }
390
+
391
+ // Register the error prediction model configuration
392
+ mlService.registerModel({
393
+ modelId: TF_ERROR_PREDICTION_MODEL_ID,
394
+ type: MxfModelType.DENSE_CLASSIFIER,
395
+ inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
396
+ outputShape: [1],
397
+ minTrainingSamples: 100,
398
+ batchSize: 32,
399
+ epochs: 10,
400
+ validationSplit: 0.2,
401
+ learningRate: 0.001,
402
+ autoTrain: true,
403
+ retrainIntervalMs: this.config.retrainInterval,
404
+ hyperparameters: {
405
+ architecture: 'dense(12)->dense(32,relu)->dense(16,relu)->dense(1,sigmoid)',
406
+ loss: 'binaryCrossentropy',
407
+ optimizer: 'adam',
408
+ },
409
+ });
410
+
411
+ // Build the Dense(12→32→16→1) model
412
+ await mlService.buildSequentialModel(TF_ERROR_PREDICTION_MODEL_ID, (tf) => {
413
+ const model = tf.sequential();
414
+ model.add(tf.layers.dense({
415
+ units: 32,
416
+ activation: 'relu',
417
+ inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
418
+ }));
419
+ model.add(tf.layers.dense({
420
+ units: 16,
421
+ activation: 'relu',
422
+ }));
423
+ model.add(tf.layers.dense({
424
+ units: 1,
425
+ activation: 'sigmoid',
426
+ }));
427
+ model.compile({
428
+ optimizer: tf.train.adam(0.001),
429
+ loss: 'binaryCrossentropy',
430
+ metrics: ['accuracy'],
431
+ });
432
+ return model;
433
+ });
434
+
435
+ // Try to load a previously saved model from storage
436
+ const loaded = await mlService.loadModel(TF_ERROR_PREDICTION_MODEL_ID);
437
+ if (loaded) {
438
+ this.tfErrorPredictionReady = true;
439
+ this.logger.info(
440
+ '[PredictiveAnalyticsService] Loaded pre-trained TF.js error prediction model'
441
+ );
442
+ } else {
443
+ this.logger.info(
444
+ '[PredictiveAnalyticsService] TF.js error prediction model built (untrained, ' +
445
+ 'will train when 100+ samples collected)'
446
+ );
447
+ }
448
+
449
+ // Schedule automatic retraining with MxfMLService
450
+ const config = getTensorFlowConfig();
451
+ if (config.autoTrainEnabled) {
452
+ mlService.scheduleRetrain(TF_ERROR_PREDICTION_MODEL_ID, async () => {
453
+ await this.trainErrorPredictionModel();
454
+ });
455
+ }
456
+ }
457
+
458
+ // =============================================================================
459
+ // TF.JS ANOMALY DETECTION AUTOENCODER SETUP
460
+ // =============================================================================
461
+
462
+ /**
463
+ * Initialize TF.js anomaly detection autoencoder.
464
+ *
465
+ * Registers, builds, and optionally loads an autoencoder with MxfMLService.
466
+ * The autoencoder learns to reconstruct the 12-element feature vector;
467
+ * anomalies are inputs that reconstruct poorly (high MSE).
468
+ *
469
+ * Architecture: input(12) → Dense(8, relu) → Dense(4, relu) → Dense(8, relu) → Dense(12, linear)
470
+ * - Encoder: 12 → 8 → 4 (bottleneck)
471
+ * - Decoder: 4 → 8 → 12 (reconstruction)
472
+ * - Loss: MSE (mean squared error)
473
+ * - Optimizer: Adam(lr=0.001)
474
+ *
475
+ * Unsupervised training: trains on ALL feature vectors (input = output).
476
+ * Normal patterns are learned; anomalies produce high reconstruction error.
477
+ */
478
+ private async initializeTfAnomalyAutoencoder(): Promise<void> {
479
+ const mlService = MxfMLService.getInstance();
480
+
481
+ if (!mlService.isEnabled()) {
482
+ this.logger.debug(
483
+ '[PredictiveAnalyticsService] MxfMLService not enabled, skipping anomaly autoencoder setup'
484
+ );
485
+ return;
486
+ }
487
+
488
+ // Register the anomaly autoencoder model configuration
489
+ mlService.registerModel({
490
+ modelId: TF_ANOMALY_AUTOENCODER_MODEL_ID,
491
+ type: MxfModelType.AUTOENCODER,
492
+ inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
493
+ outputShape: [ERROR_PREDICTION_FEATURE_COUNT],
494
+ minTrainingSamples: 100,
495
+ batchSize: 32,
496
+ epochs: 20,
497
+ validationSplit: 0.1,
498
+ learningRate: 0.001,
499
+ autoTrain: true,
500
+ retrainIntervalMs: this.config.retrainInterval,
501
+ hyperparameters: {
502
+ architecture: 'dense(12)->dense(8,relu)->dense(4,relu)->dense(8,relu)->dense(12,linear)',
503
+ loss: 'meanSquaredError',
504
+ optimizer: 'adam',
505
+ bottleneckSize: 4,
506
+ },
507
+ });
508
+
509
+ // Build the autoencoder: encoder(12→8→4) + decoder(4→8→12)
510
+ await mlService.buildSequentialModel(TF_ANOMALY_AUTOENCODER_MODEL_ID, (tf) => {
511
+ const model = tf.sequential();
512
+ // Encoder
513
+ model.add(tf.layers.dense({
514
+ units: 8,
515
+ activation: 'relu',
516
+ inputShape: [ERROR_PREDICTION_FEATURE_COUNT],
517
+ }));
518
+ model.add(tf.layers.dense({
519
+ units: 4,
520
+ activation: 'relu',
521
+ }));
522
+ // Decoder
523
+ model.add(tf.layers.dense({
524
+ units: 8,
525
+ activation: 'relu',
526
+ }));
527
+ model.add(tf.layers.dense({
528
+ units: ERROR_PREDICTION_FEATURE_COUNT,
529
+ activation: 'linear',
530
+ }));
531
+ model.compile({
532
+ optimizer: tf.train.adam(0.001),
533
+ loss: 'meanSquaredError',
534
+ });
535
+ return model;
536
+ });
537
+
538
+ // Try to load a previously saved model from storage
539
+ const loaded = await mlService.loadModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
540
+ if (loaded) {
541
+ this.tfAnomalyAutoencoderReady = true;
542
+ this.logger.info(
543
+ '[PredictiveAnalyticsService] Loaded pre-trained TF.js anomaly autoencoder model'
544
+ );
545
+ } else {
546
+ this.logger.info(
547
+ '[PredictiveAnalyticsService] TF.js anomaly autoencoder model built (untrained, ' +
548
+ 'will train when 100+ samples collected)'
549
+ );
550
+ }
551
+
552
+ // Schedule automatic retraining with MxfMLService
553
+ const config = getTensorFlowConfig();
554
+ if (config.autoTrainEnabled) {
555
+ mlService.scheduleRetrain(TF_ANOMALY_AUTOENCODER_MODEL_ID, async () => {
556
+ await this.trainAnomalyDetectionModel();
557
+ });
558
+ }
559
+ }
560
+
561
+ // =============================================================================
562
+ // ERROR PREDICTION
563
+ // =============================================================================
564
+
565
+ /**
566
+ * Predict error probability
567
+ */
568
+ public async predictErrors(
569
+ agentId: AgentId,
570
+ channelId: ChannelId,
571
+ toolName: string,
572
+ parameters: Record<string, any>
573
+ ): Promise<PredictionResult> {
574
+ const startTime = Date.now();
575
+ const cacheKey = this.generateCacheKey('error', agentId, toolName, parameters);
576
+
577
+ // Check cache
578
+ const cached = this.predictionCache.get(cacheKey);
579
+ if (cached && Date.now() - cached.timestamp < this.config.predictionCacheTTL) {
580
+ return cached;
581
+ }
582
+
583
+ // Extract features
584
+ const features = await this.extractFeatures(agentId, channelId, toolName, parameters);
585
+
586
+ // Get prediction — use TF.js model if available, otherwise heuristic
587
+ const prediction = this.runErrorPrediction(agentId, channelId, features);
588
+
589
+ // Report model type based on which prediction path was used
590
+ const usedTfModel = prediction.source === 'model';
591
+ const modelMeta = this.modelMetadata.get('error_prediction');
592
+
593
+ const result: PredictionResult = {
594
+ predictionId: uuidv4(),
595
+ type: PredictionType.ERROR_PROBABILITY,
596
+ timestamp: Date.now(),
597
+ prediction: {
598
+ value: prediction.probability,
599
+ confidence: prediction.confidence,
600
+ explanation: this.generateExplanation(features)
601
+ },
602
+ features,
603
+ model: {
604
+ type: usedTfModel ? ModelType.NEURAL_NETWORK : ModelType.GRADIENT_BOOSTING,
605
+ version: modelMeta?.version || '1.0',
606
+ accuracy: modelMeta?.accuracy ?? null
607
+ }
608
+ };
609
+
610
+ // Cache result
611
+ this.predictionCache.set(cacheKey, result);
612
+
613
+ // Update metrics
614
+ this.metrics.predictionsMade++;
615
+ this.updatePredictionTime(Date.now() - startTime);
616
+
617
+ // Emit prediction event
618
+ this.emit('prediction_made', result);
619
+
620
+ if (prediction.probability > 0.7) {
621
+ EventBus.server.emit(Events.Analytics.HIGH_ERROR_RISK_PREDICTED, createBaseEventPayload(
622
+ Events.Analytics.HIGH_ERROR_RISK_PREDICTED,
623
+ agentId,
624
+ channelId,
625
+ {
626
+ predictionId: result.predictionId,
627
+ agentId,
628
+ channelId,
629
+ toolName,
630
+ riskScore: prediction.probability,
631
+ details: { importantFeatures: prediction.importantFeatures, source: prediction.source },
632
+ timestamp: new Date()
633
+ }
634
+ ));
635
+ }
636
+
637
+ return result;
638
+ }
639
+
640
+ /**
641
+ * Extract features for prediction
642
+ */
643
+ private async extractFeatures(
644
+ agentId: AgentId,
645
+ channelId: ChannelId,
646
+ toolName: string,
647
+ parameters: Record<string, any>
648
+ ): Promise<FeatureVector> {
649
+ // Get agent metrics
650
+ const agentMetrics = await this.getAgentMetrics(agentId);
651
+
652
+ // Get tool complexity
653
+ const toolComplexity = this.calculateToolComplexity(toolName);
654
+
655
+ // Get system context
656
+ const systemContext = this.getSystemContext();
657
+
658
+ // Get pattern match score
659
+ const patternMatch = await this.calculatePatternMatch(toolName, parameters);
660
+
661
+ const features: FeatureVector = {
662
+ // Tool features
663
+ toolName,
664
+ toolCategory: this.categorizeTool(toolName),
665
+ toolComplexity,
666
+
667
+ // Parameter features
668
+ parameterCount: Object.keys(parameters).length,
669
+ parameterTypes: Object.values(parameters).map(v => typeof v),
670
+ parameterPatternMatch: patternMatch,
671
+
672
+ // Agent features
673
+ agentType: agentId.split('-')[0],
674
+ agentExperience: agentMetrics.successfulCalls,
675
+ agentErrorRate: agentMetrics.errorRate,
676
+
677
+ // Context features
678
+ timeOfDay: new Date().getHours(),
679
+ dayOfWeek: new Date().getDay(),
680
+ systemLoad: systemContext.load,
681
+ concurrentRequests: systemContext.concurrentRequests,
682
+
683
+ // Historical features
684
+ recentErrors: agentMetrics.recentErrors,
685
+ recentSuccesses: agentMetrics.recentSuccesses,
686
+ averageLatency: agentMetrics.averageLatency
687
+ };
688
+
689
+ return features;
690
+ }
691
+
692
+ /**
693
+ * Run error prediction, dispatching to TF.js model or heuristic fallback.
694
+ *
695
+ * When TF.js is enabled and the model is trained, runs inference via MxfMLService.predict().
696
+ * The model outputs a single sigmoid value [0, 1] representing error probability.
697
+ * Confidence is derived from model training metrics (validation accuracy).
698
+ *
699
+ * When TF.js is unavailable or the model is untrained, falls back to the
700
+ * rule-based heuristic that uses feature thresholds.
701
+ *
702
+ * @returns Prediction with probability, confidence, source, and important features
703
+ */
704
+ private runErrorPrediction(
705
+ agentId: AgentId,
706
+ channelId: ChannelId,
707
+ features: FeatureVector
708
+ ): {
709
+ probability: number;
710
+ confidence: number;
711
+ source: 'model' | 'heuristic';
712
+ importantFeatures: string[];
713
+ } {
714
+ // Try TF.js model first
715
+ if (this.tfErrorPredictionReady) {
716
+ try {
717
+ const mlService = MxfMLService.getInstance();
718
+ const featureArray = this.vectorizeFeatures(features);
719
+ const result = mlService.predict(TF_ERROR_PREDICTION_MODEL_ID, featureArray);
720
+
721
+ // The model outputs a single sigmoid value (error probability)
722
+ const probability = Math.max(0, Math.min(1, result.values[0]));
723
+
724
+ // Confidence from model training metrics (validation accuracy, or default 0.8)
725
+ const modelEntry = mlService.getModel(TF_ERROR_PREDICTION_MODEL_ID);
726
+ const confidence = modelEntry?.lastTrainingMetrics?.valAccuracy
727
+ ?? modelEntry?.lastTrainingMetrics?.accuracy
728
+ ?? 0.8;
729
+
730
+ return {
731
+ probability,
732
+ confidence,
733
+ source: 'model',
734
+ importantFeatures: ['toolComplexity', 'agentExperience', 'parameterPatternMatch'],
735
+ };
736
+ } catch (error) {
737
+ // TF.js prediction failed — emit fallback event and use heuristic
738
+ this.logger.warn(
739
+ `[PredictiveAnalyticsService] TF.js prediction failed, using heuristic: ` +
740
+ `${error instanceof Error ? error.message : String(error)}`
741
+ );
742
+ try {
743
+ EventBus.server.emit(
744
+ TensorFlowEvents.INFERENCE_FALLBACK,
745
+ createTfInferenceFallbackPayload(
746
+ channelId,
747
+ agentId,
748
+ TF_ERROR_PREDICTION_MODEL_ID,
749
+ 'error',
750
+ error instanceof Error ? error.message : 'prediction_error'
751
+ )
752
+ );
753
+ } catch {
754
+ // Swallow event emission errors
755
+ }
756
+ }
757
+ }
758
+
759
+ // Fall back to heuristic prediction
760
+ return this.runHeuristicPrediction(agentId, channelId, features);
761
+ }
762
+
763
+ /**
764
+ * Heuristic error prediction using rule-based feature thresholds.
765
+ *
766
+ * This is the original prediction logic that serves as the graceful
767
+ * degradation fallback when TF.js is disabled, the model is untrained,
768
+ * or inference fails. Uses hand-tuned thresholds on the 12-feature vector.
769
+ */
770
+ private runHeuristicPrediction(
771
+ agentId: AgentId,
772
+ channelId: ChannelId,
773
+ features: FeatureVector
774
+ ): {
775
+ probability: number;
776
+ confidence: number;
777
+ source: 'model' | 'heuristic';
778
+ importantFeatures: string[];
779
+ } {
780
+ // Base error rate: 10%
781
+ let probability = 0.1;
782
+
783
+ // High complexity tools have higher error rates
784
+ if (features.toolComplexity > 0.7) probability += 0.2;
785
+
786
+ // New agents have higher error rates
787
+ if (features.agentExperience < 10) probability += 0.15;
788
+
789
+ // High system load increases errors
790
+ if (features.systemLoad > 0.8) probability += 0.1;
791
+
792
+ // Many parameters increase complexity
793
+ if (features.parameterCount > 5) probability += 0.1;
794
+
795
+ // Pattern mismatch increases errors
796
+ if (features.parameterPatternMatch < 0.5) probability += 0.2;
797
+
798
+ // Recent errors indicate ongoing issues
799
+ if (features.recentErrors > 5) probability += 0.15;
800
+
801
+ // Cap probability
802
+ probability = Math.min(0.95, probability);
803
+
804
+ // Calculate confidence based on data availability
805
+ const confidence = features.agentExperience > 50 ? 0.85 : 0.6;
806
+
807
+ // Emit fallback event when TF.js is enabled but model isn't ready
808
+ if (isTensorFlowEnabled() && !this.tfErrorPredictionReady) {
809
+ try {
810
+ EventBus.server.emit(
811
+ TensorFlowEvents.INFERENCE_FALLBACK,
812
+ createTfInferenceFallbackPayload(
813
+ channelId,
814
+ agentId,
815
+ TF_ERROR_PREDICTION_MODEL_ID,
816
+ 'untrained'
817
+ )
818
+ );
819
+ } catch {
820
+ // Swallow event emission errors
821
+ }
822
+ }
823
+
824
+ return {
825
+ probability,
826
+ confidence,
827
+ source: 'heuristic',
828
+ importantFeatures: ['toolComplexity', 'agentExperience', 'parameterPatternMatch'],
829
+ };
830
+ }
831
+
832
+ /**
833
+ * Generate explanation for prediction
834
+ */
835
+ private generateExplanation(features: FeatureVector): string {
836
+ const factors: string[] = [];
837
+
838
+ if (features.toolComplexity > 0.7) {
839
+ factors.push('high tool complexity');
840
+ }
841
+
842
+ if (features.agentExperience < 10) {
843
+ factors.push('limited agent experience');
844
+ }
845
+
846
+ if (features.parameterPatternMatch < 0.5) {
847
+ factors.push('unusual parameter pattern');
848
+ }
849
+
850
+ if (features.recentErrors > 5) {
851
+ factors.push('recent error history');
852
+ }
853
+
854
+ if (factors.length === 0) {
855
+ return 'Low error risk based on normal patterns';
856
+ }
857
+
858
+ return `Elevated error risk due to: ${factors.join(', ')}`;
859
+ }
860
+
861
+ // =============================================================================
862
+ // ANOMALY DETECTION
863
+ // =============================================================================
864
+
865
+ /**
866
+ * Detect anomalies
867
+ */
868
+ public async detectAnomalies(
869
+ agentId: AgentId,
870
+ channelId: ChannelId,
871
+ toolName: string,
872
+ parameters: Record<string, any>,
873
+ executionMetrics?: {
874
+ latency?: number;
875
+ memoryUsage?: number;
876
+ errorType?: string;
877
+ }
878
+ ): Promise<AnomalyResult[]> {
879
+ const anomalies: AnomalyResult[] = [];
880
+
881
+ if (!this.config.enableAnomalyDetection) return anomalies;
882
+
883
+ // Parameter anomalies
884
+ const parameterAnomaly = await this.detectParameterAnomaly(
885
+ agentId,
886
+ channelId,
887
+ toolName,
888
+ parameters
889
+ );
890
+ if (parameterAnomaly) anomalies.push(parameterAnomaly);
891
+
892
+ // Behavioral anomalies
893
+ const behaviorAnomaly = await this.detectBehaviorAnomaly(
894
+ agentId,
895
+ toolName
896
+ );
897
+ if (behaviorAnomaly) anomalies.push(behaviorAnomaly);
898
+
899
+ // Performance anomalies
900
+ if (executionMetrics?.latency) {
901
+ const performanceAnomaly = await this.detectPerformanceAnomaly(
902
+ toolName,
903
+ executionMetrics.latency
904
+ );
905
+ if (performanceAnomaly) anomalies.push(performanceAnomaly);
906
+ }
907
+
908
+ // Pattern anomalies
909
+ const patternAnomaly = await this.detectPatternAnomaly(
910
+ agentId,
911
+ channelId,
912
+ toolName,
913
+ parameters
914
+ );
915
+ if (patternAnomaly) anomalies.push(patternAnomaly);
916
+
917
+ // Update metrics
918
+ this.metrics.anomaliesDetected += anomalies.length;
919
+
920
+ // Emit anomaly events
921
+ for (const anomaly of anomalies) {
922
+ this.emit('anomaly_detected', anomaly);
923
+
924
+ if (anomaly.severity === 'critical' || anomaly.severity === 'high') {
925
+ EventBus.server.emit(Events.Analytics.ANOMALY_DETECTED, createBaseEventPayload(
926
+ Events.Analytics.ANOMALY_DETECTED,
927
+ agentId,
928
+ channelId,
929
+ {
930
+ anomalyId: anomaly.anomalyId,
931
+ type: anomaly.type,
932
+ severity: anomaly.severity,
933
+ description: anomaly.description,
934
+ metrics: { ...anomaly.context, score: anomaly.score, toolName },
935
+ timestamp: new Date()
936
+ }
937
+ ));
938
+ }
939
+ }
940
+
941
+ return anomalies;
942
+ }
943
+
944
+ /**
945
+ * Detect parameter anomalies.
946
+ *
947
+ * When TF.js autoencoder is trained, uses reconstruction error as the
948
+ * anomaly score. Otherwise falls back to heuristic distance-based
949
+ * isolation scoring against historical parameter patterns.
950
+ */
951
+ private async detectParameterAnomaly(
952
+ agentId: AgentId,
953
+ channelId: ChannelId,
954
+ toolName: string,
955
+ parameters: Record<string, any>
956
+ ): Promise<AnomalyResult | null> {
957
+ // Get historical parameter patterns (used by heuristic fallback)
958
+ const patterns = await this.getParameterPatterns(toolName);
959
+
960
+ // Calculate anomaly score — dispatches to TF.js autoencoder or heuristic
961
+ const score = await this.runParameterAnomalyDetection(
962
+ agentId, channelId, toolName, parameters, patterns
963
+ );
964
+
965
+ if (score > this.anomalyThresholds.parameter) {
966
+ return {
967
+ anomalyId: uuidv4(),
968
+ timestamp: Date.now(),
969
+ score,
970
+ type: 'parameter',
971
+ description: `Unusual parameter combination for ${toolName}`,
972
+ context: { toolName, parameters },
973
+ severity: score > 0.9 ? 'high' : 'medium',
974
+ suggestedAction: 'Review parameter values and validate against expected patterns'
975
+ };
976
+ }
977
+
978
+ return null;
979
+ }
980
+
981
+ /**
982
+ * Detect behavioral anomalies
983
+ */
984
+ private async detectBehaviorAnomaly(
985
+ agentId: AgentId,
986
+ toolName: string
987
+ ): Promise<AnomalyResult | null> {
988
+ // Get agent's typical behavior
989
+ const typicalBehavior = await this.getAgentBehavior(agentId);
990
+
991
+ // Check for unusual tool usage
992
+ if (!typicalBehavior.commonTools.includes(toolName)) {
993
+ const score = 0.85; // Fixed score for new tool usage
994
+
995
+ return {
996
+ anomalyId: uuidv4(),
997
+ timestamp: Date.now(),
998
+ score,
999
+ type: 'behavior',
1000
+ description: `Agent ${agentId} using unfamiliar tool ${toolName}`,
1001
+ context: { agentId, toolName, typicalTools: typicalBehavior.commonTools },
1002
+ severity: 'low',
1003
+ suggestedAction: 'Monitor for potential errors with unfamiliar tool'
1004
+ };
1005
+ }
1006
+
1007
+ return null;
1008
+ }
1009
+
1010
+ /**
1011
+ * Detect performance anomalies
1012
+ */
1013
+ private async detectPerformanceAnomaly(
1014
+ toolName: string,
1015
+ latency: number
1016
+ ): Promise<AnomalyResult | null> {
1017
+ // Get historical performance data
1018
+ const perfData = await this.getPerformanceHistory(toolName);
1019
+
1020
+ // Calculate z-score
1021
+ const mean = perfData.avgLatency;
1022
+ const stdDev = perfData.stdDevLatency;
1023
+ const zScore = Math.abs((latency - mean) / stdDev);
1024
+
1025
+ // Convert to anomaly score (0-1)
1026
+ const score = Math.min(1, zScore / 4); // 4 sigma = score of 1
1027
+
1028
+ if (score > this.anomalyThresholds.performance) {
1029
+ return {
1030
+ anomalyId: uuidv4(),
1031
+ timestamp: Date.now(),
1032
+ score,
1033
+ type: 'performance',
1034
+ description: `Abnormal latency for ${toolName}: ${latency}ms (expected: ${mean.toFixed(0)}ms)`,
1035
+ context: { toolName, latency, expectedLatency: mean, zScore },
1036
+ severity: latency > mean * 3 ? 'high' : 'medium',
1037
+ suggestedAction: 'Investigate performance bottleneck or system resource constraints'
1038
+ };
1039
+ }
1040
+
1041
+ return null;
1042
+ }
1043
+
1044
+ /**
1045
+ * Detect pattern anomalies
1046
+ */
1047
+ private async detectPatternAnomaly(
1048
+ agentId: AgentId,
1049
+ channelId: ChannelId,
1050
+ toolName: string,
1051
+ parameters: Record<string, any>
1052
+ ): Promise<AnomalyResult | null> {
1053
+ // Get learned patterns
1054
+ const patterns = await this.patternLearningService.getEnhancedPatterns(
1055
+ channelId,
1056
+ 'tool_sequence'
1057
+ );
1058
+
1059
+ // Check if current usage fits patterns
1060
+ const allPatterns = [...patterns.successful, ...patterns.shared];
1061
+ const patternMatch = this.matchesPatterns(toolName, parameters, allPatterns);
1062
+ const score = 1 - patternMatch; // Invert match to get anomaly score
1063
+
1064
+ if (score > this.anomalyThresholds.pattern) {
1065
+ return {
1066
+ anomalyId: uuidv4(),
1067
+ timestamp: Date.now(),
1068
+ score,
1069
+ type: 'pattern',
1070
+ description: 'Tool usage deviates from established patterns',
1071
+ context: { agentId, toolName, expectedPatterns: allPatterns.slice(0, 3) },
1072
+ severity: 'medium',
1073
+ suggestedAction: 'Verify if new usage pattern is intentional'
1074
+ };
1075
+ }
1076
+
1077
+ return null;
1078
+ }
1079
+
1080
+ /**
1081
+ * Run parameter anomaly detection, dispatching to TF.js autoencoder or heuristic.
1082
+ *
1083
+ * When TF.js autoencoder is trained:
1084
+ * - Extracts the 12-element normalized feature vector
1085
+ * - Runs predictWithReconstruction() to get reconstruction error
1086
+ * - Normalizes error to 0-1 range using AUTOENCODER_ANOMALY_SCALE_FACTOR
1087
+ *
1088
+ * When TF.js is unavailable or untrained:
1089
+ * - Falls back to heuristic distance-based isolation scoring
1090
+ * - Emits INFERENCE_FALLBACK event for observability
1091
+ */
1092
+ private async runParameterAnomalyDetection(
1093
+ agentId: AgentId,
1094
+ channelId: ChannelId,
1095
+ toolName: string,
1096
+ parameters: Record<string, any>,
1097
+ historicalPatterns: any[]
1098
+ ): Promise<number> {
1099
+ // Try TF.js autoencoder first
1100
+ if (this.tfAnomalyAutoencoderReady) {
1101
+ try {
1102
+ const mlService = MxfMLService.getInstance();
1103
+ const features = await this.extractFeatures(agentId, channelId, toolName, parameters);
1104
+ const featureArray = this.vectorizeFeatures(features);
1105
+ const result = mlService.predictWithReconstruction(
1106
+ TF_ANOMALY_AUTOENCODER_MODEL_ID,
1107
+ featureArray
1108
+ );
1109
+
1110
+ // Normalize reconstruction error to 0-1 range
1111
+ // Higher reconstruction error = more anomalous
1112
+ return Math.min(1, result.reconstructionError * AUTOENCODER_ANOMALY_SCALE_FACTOR);
1113
+ } catch (error) {
1114
+ // TF.js inference failed — emit fallback event and use heuristic
1115
+ this.logger.warn(
1116
+ `[PredictiveAnalyticsService] TF.js anomaly autoencoder inference failed, ` +
1117
+ `using heuristic: ${error instanceof Error ? error.message : String(error)}`
1118
+ );
1119
+ try {
1120
+ EventBus.server.emit(
1121
+ TensorFlowEvents.INFERENCE_FALLBACK,
1122
+ createTfInferenceFallbackPayload(
1123
+ channelId,
1124
+ agentId,
1125
+ TF_ANOMALY_AUTOENCODER_MODEL_ID,
1126
+ 'error',
1127
+ error instanceof Error ? error.message : 'prediction_error'
1128
+ )
1129
+ );
1130
+ } catch {
1131
+ // Swallow event emission errors
1132
+ }
1133
+ }
1134
+ }
1135
+
1136
+ // Emit fallback event when TF.js is enabled but autoencoder isn't ready
1137
+ if (isTensorFlowEnabled() && !this.tfAnomalyAutoencoderReady) {
1138
+ try {
1139
+ EventBus.server.emit(
1140
+ TensorFlowEvents.INFERENCE_FALLBACK,
1141
+ createTfInferenceFallbackPayload(
1142
+ channelId,
1143
+ agentId,
1144
+ TF_ANOMALY_AUTOENCODER_MODEL_ID,
1145
+ 'untrained'
1146
+ )
1147
+ );
1148
+ } catch {
1149
+ // Swallow event emission errors
1150
+ }
1151
+ }
1152
+
1153
+ // Fall back to heuristic isolation scoring
1154
+ return this.calculateHeuristicIsolationScore(parameters, historicalPatterns);
1155
+ }
1156
+
1157
+ /**
1158
+ * Heuristic isolation score using distance-based parameter comparison.
1159
+ *
1160
+ * This is the original isolation forest scoring logic that serves as the
1161
+ * graceful degradation fallback when TF.js is disabled, the autoencoder
1162
+ * is untrained, or inference fails.
1163
+ */
1164
+ private calculateHeuristicIsolationScore(
1165
+ parameters: Record<string, any>,
1166
+ historicalPatterns: any[]
1167
+ ): number {
1168
+ // Simplified isolation forest scoring
1169
+ if (historicalPatterns.length === 0) return 0.5;
1170
+
1171
+ // Calculate distance to nearest patterns
1172
+ let minDistance = Infinity;
1173
+
1174
+ for (const pattern of historicalPatterns) {
1175
+ const distance = this.calculateParameterDistance(parameters, pattern);
1176
+ minDistance = Math.min(minDistance, distance);
1177
+ }
1178
+
1179
+ // Convert distance to anomaly score
1180
+ return Math.min(1, minDistance / 10);
1181
+ }
1182
+
1183
+ /**
1184
+ * Calculate parameter distance
1185
+ */
1186
+ private calculateParameterDistance(
1187
+ params1: Record<string, any>,
1188
+ params2: Record<string, any>
1189
+ ): number {
1190
+ let distance = 0;
1191
+ const allKeys = new Set([...Object.keys(params1), ...Object.keys(params2)]);
1192
+
1193
+ for (const key of allKeys) {
1194
+ if (!(key in params1) || !(key in params2)) {
1195
+ distance += 1;
1196
+ } else if (params1[key] !== params2[key]) {
1197
+ distance += 0.5;
1198
+ }
1199
+ }
1200
+
1201
+ return distance;
1202
+ }
1203
+
1204
+ // =============================================================================
1205
+ // PROACTIVE SUGGESTIONS
1206
+ // =============================================================================
1207
+
1208
+ /**
1209
+ * Generate proactive suggestions
1210
+ */
1211
+ public async generateProactiveSuggestions(
1212
+ agentId: AgentId,
1213
+ channelId: ChannelId,
1214
+ context: {
1215
+ currentTool?: string;
1216
+ recentTools?: string[];
1217
+ currentTask?: string;
1218
+ errorHistory?: any[];
1219
+ }
1220
+ ): Promise<ProactiveSuggestion[]> {
1221
+ const suggestions: ProactiveSuggestion[] = [];
1222
+
1223
+ if (!this.config.enableProactiveSuggestions) return suggestions;
1224
+
1225
+ // Parameter suggestions
1226
+ if (context.currentTool) {
1227
+ const paramSuggestions = await this.generateParameterSuggestions(
1228
+ context.currentTool,
1229
+ context.errorHistory
1230
+ );
1231
+ suggestions.push(...paramSuggestions);
1232
+ }
1233
+
1234
+ // Tool suggestions
1235
+ if (context.currentTask) {
1236
+ const toolSuggestions = await this.generateToolSuggestions(
1237
+ context.currentTask,
1238
+ context.recentTools || []
1239
+ );
1240
+ suggestions.push(...toolSuggestions);
1241
+ }
1242
+
1243
+ // Timing suggestions
1244
+ const timingSuggestions = await this.generateTimingSuggestions(agentId);
1245
+ suggestions.push(...timingSuggestions);
1246
+
1247
+ // Strategy suggestions
1248
+ if (context.errorHistory && context.errorHistory.length > 3) {
1249
+ const strategySuggestions = await this.generateStrategySuggestions(
1250
+ context.errorHistory
1251
+ );
1252
+ suggestions.push(...strategySuggestions);
1253
+ }
1254
+
1255
+ // Sort by confidence
1256
+ suggestions.sort((a, b) => b.confidence - a.confidence);
1257
+
1258
+ // Update metrics
1259
+ this.metrics.suggestionsGenerated += suggestions.length;
1260
+
1261
+ return suggestions;
1262
+ }
1263
+
1264
+ /**
1265
+ * Generate parameter suggestions
1266
+ */
1267
+ private async generateParameterSuggestions(
1268
+ toolName: string,
1269
+ errorHistory?: any[]
1270
+ ): Promise<ProactiveSuggestion[]> {
1271
+ const suggestions: ProactiveSuggestion[] = [];
1272
+
1273
+ // Analyze error patterns
1274
+ const commonErrors = this.analyzeErrorPatterns(errorHistory || []);
1275
+
1276
+ if (commonErrors.includes('missing_required_parameter')) {
1277
+ suggestions.push({
1278
+ suggestionId: uuidv4(),
1279
+ timestamp: Date.now(),
1280
+ type: 'parameter',
1281
+ title: 'Include all required parameters',
1282
+ description: `Tool ${toolName} requires specific parameters that are often missing`,
1283
+ confidence: 0.9,
1284
+ expectedBenefit: 'Reduce validation errors by 80%',
1285
+ implementation: 'Use tool_help to see required parameters'
1286
+ });
1287
+ }
1288
+
1289
+ if (commonErrors.includes('invalid_parameter_type')) {
1290
+ suggestions.push({
1291
+ suggestionId: uuidv4(),
1292
+ timestamp: Date.now(),
1293
+ type: 'parameter',
1294
+ title: 'Check parameter types',
1295
+ description: 'Parameter type mismatches are causing validation failures',
1296
+ confidence: 0.85,
1297
+ expectedBenefit: 'Eliminate type-related errors',
1298
+ implementation: 'Use validation_preview before execution'
1299
+ });
1300
+ }
1301
+
1302
+ return suggestions;
1303
+ }
1304
+
1305
+ /**
1306
+ * Generate tool suggestions
1307
+ */
1308
+ private async generateToolSuggestions(
1309
+ task: string,
1310
+ recentTools: string[]
1311
+ ): Promise<ProactiveSuggestion[]> {
1312
+ const suggestions: ProactiveSuggestion[] = [];
1313
+
1314
+ // Suggest tools based on task patterns
1315
+ if (task.includes('search') && !recentTools.includes('web_search')) {
1316
+ suggestions.push({
1317
+ suggestionId: uuidv4(),
1318
+ timestamp: Date.now(),
1319
+ type: 'tool',
1320
+ title: 'Consider using web_search tool',
1321
+ description: 'The web_search tool might be helpful for this task',
1322
+ confidence: 0.75,
1323
+ expectedBenefit: 'Find relevant information quickly'
1324
+ });
1325
+ }
1326
+
1327
+ if (task.includes('calculate') && !recentTools.includes('calculator')) {
1328
+ suggestions.push({
1329
+ suggestionId: uuidv4(),
1330
+ timestamp: Date.now(),
1331
+ type: 'tool',
1332
+ title: 'Use calculator for computations',
1333
+ description: 'The calculator tool can handle mathematical operations',
1334
+ confidence: 0.8,
1335
+ expectedBenefit: 'Accurate calculations without errors'
1336
+ });
1337
+ }
1338
+
1339
+ return suggestions;
1340
+ }
1341
+
1342
+ /**
1343
+ * Generate timing suggestions
1344
+ */
1345
+ private async generateTimingSuggestions(
1346
+ agentId: AgentId
1347
+ ): Promise<ProactiveSuggestion[]> {
1348
+ const suggestions: ProactiveSuggestion[] = [];
1349
+ const currentHour = new Date().getHours();
1350
+
1351
+ // Analyze agent's success patterns by time
1352
+ const successByHour = await this.getSuccessRateByHour(agentId);
1353
+
1354
+ if (successByHour && successByHour[currentHour] < 0.7) {
1355
+ const bestHour = this.findBestHour(successByHour);
1356
+
1357
+ suggestions.push({
1358
+ suggestionId: uuidv4(),
1359
+ timestamp: Date.now(),
1360
+ type: 'timing',
1361
+ title: 'Consider scheduling complex tasks differently',
1362
+ description: `Your success rate is higher around ${bestHour}:00`,
1363
+ confidence: 0.7,
1364
+ expectedBenefit: `Improve success rate by ${((successByHour[bestHour] - successByHour[currentHour]) * 100).toFixed(0)}%`
1365
+ });
1366
+ }
1367
+
1368
+ return suggestions;
1369
+ }
1370
+
1371
+ /**
1372
+ * Generate strategy suggestions
1373
+ */
1374
+ private async generateStrategySuggestions(
1375
+ errorHistory: any[]
1376
+ ): Promise<ProactiveSuggestion[]> {
1377
+ const suggestions: ProactiveSuggestion[] = [];
1378
+
1379
+ // Detect repeated errors
1380
+ const errorCounts = new Map<string, number>();
1381
+ for (const error of errorHistory) {
1382
+ const key = error.type || error.message;
1383
+ errorCounts.set(key, (errorCounts.get(key) || 0) + 1);
1384
+ }
1385
+
1386
+ // Find most common error
1387
+ let maxCount = 0;
1388
+ let commonError = '';
1389
+ for (const [error, count] of errorCounts) {
1390
+ if (count > maxCount) {
1391
+ maxCount = count;
1392
+ commonError = error;
1393
+ }
1394
+ }
1395
+
1396
+ if (maxCount > 3) {
1397
+ suggestions.push({
1398
+ suggestionId: uuidv4(),
1399
+ timestamp: Date.now(),
1400
+ type: 'strategy',
1401
+ title: 'Address recurring error pattern',
1402
+ description: `Error "${commonError}" has occurred ${maxCount} times`,
1403
+ confidence: 0.9,
1404
+ expectedBenefit: 'Eliminate most common error source',
1405
+ implementation: 'Use error_diagnose tool for root cause analysis'
1406
+ });
1407
+ }
1408
+
1409
+ return suggestions;
1410
+ }
1411
+
1412
+ // =============================================================================
1413
+ // PATTERN FORECASTING
1414
+ // =============================================================================
1415
+
1416
+ /**
1417
+ * Forecast patterns
1418
+ */
1419
+ public async forecastPatterns(
1420
+ pattern: string,
1421
+ timeframe: 'hour' | 'day' | 'week'
1422
+ ): Promise<PatternForecast> {
1423
+ // Get historical data
1424
+ const historicalData = await this.getPatternHistory(pattern, timeframe);
1425
+
1426
+ // Simple time series forecasting
1427
+ const predictions = this.performTimeSeriesForecast(
1428
+ historicalData,
1429
+ timeframe
1430
+ );
1431
+
1432
+ const forecast: PatternForecast = {
1433
+ forecastId: uuidv4(),
1434
+ pattern,
1435
+ timeframe,
1436
+ predictions,
1437
+ accuracy: this.calculateForecastAccuracy(historicalData)
1438
+ };
1439
+
1440
+ return forecast;
1441
+ }
1442
+
1443
+ /**
1444
+ * Perform time series forecasting
1445
+ */
1446
+ private performTimeSeriesForecast(
1447
+ data: number[],
1448
+ timeframe: string
1449
+ ): Array<{
1450
+ timestamp: number;
1451
+ value: number;
1452
+ confidence: number;
1453
+ upperBound: number;
1454
+ lowerBound: number;
1455
+ }> {
1456
+ const predictions = [];
1457
+ const periods = timeframe === 'hour' ? 6 : timeframe === 'day' ? 7 : 4;
1458
+
1459
+ // Simple moving average forecast
1460
+ const windowSize = Math.min(data.length, 10);
1461
+ const recentData = data.slice(-windowSize);
1462
+ const avg = recentData.reduce((a, b) => a + b, 0) / recentData.length;
1463
+ const stdDev = Math.sqrt(
1464
+ recentData.reduce((sum, val) => sum + Math.pow(val - avg, 2), 0) / recentData.length
1465
+ );
1466
+
1467
+ const now = Date.now();
1468
+ const interval = timeframe === 'hour' ? 3600000 : timeframe === 'day' ? 86400000 : 604800000;
1469
+
1470
+ for (let i = 1; i <= periods; i++) {
1471
+ // Add trend component
1472
+ const trend = (data[data.length - 1] - data[0]) / data.length * i;
1473
+ const value = avg + trend;
1474
+
1475
+ predictions.push({
1476
+ timestamp: now + i * interval,
1477
+ value: Math.max(0, value),
1478
+ confidence: Math.max(0.5, 1 - (i * 0.1)), // Confidence decreases with distance
1479
+ upperBound: value + 2 * stdDev,
1480
+ lowerBound: Math.max(0, value - 2 * stdDev)
1481
+ });
1482
+ }
1483
+
1484
+ return predictions;
1485
+ }
1486
+
1487
+ /**
1488
+ * Calculate forecast accuracy
1489
+ */
1490
+ private calculateForecastAccuracy(data: number[]): number {
1491
+ // Use last 20% of data for validation
1492
+ const splitIndex = Math.floor(data.length * 0.8);
1493
+ const training = data.slice(0, splitIndex);
1494
+ const validation = data.slice(splitIndex);
1495
+
1496
+ if (validation.length === 0) return 0.7; // Default accuracy
1497
+
1498
+ // Make predictions on training data
1499
+ const predictions = this.performTimeSeriesForecast(training, 'hour');
1500
+
1501
+ // Calculate MAPE (Mean Absolute Percentage Error)
1502
+ let totalError = 0;
1503
+ for (let i = 0; i < Math.min(predictions.length, validation.length); i++) {
1504
+ const actual = validation[i];
1505
+ const predicted = predictions[i].value;
1506
+ if (actual !== 0) {
1507
+ totalError += Math.abs((actual - predicted) / actual);
1508
+ }
1509
+ }
1510
+
1511
+ const mape = totalError / Math.min(predictions.length, validation.length);
1512
+ return Math.max(0, 1 - mape); // Convert to accuracy
1513
+ }
1514
+
1515
+ // =============================================================================
1516
+ // RISK SCORING
1517
+ // =============================================================================
1518
+
1519
+ /**
1520
+ * Calculate risk score
1521
+ */
1522
+ public async calculateRiskScore(
1523
+ agentId: AgentId,
1524
+ channelId: ChannelId,
1525
+ operation: {
1526
+ toolName: string;
1527
+ parameters: Record<string, any>;
1528
+ context?: Record<string, any>;
1529
+ }
1530
+ ): Promise<RiskScore> {
1531
+ const riskFactors: Array<{
1532
+ factor: string;
1533
+ weight: number;
1534
+ score: number;
1535
+ description: string;
1536
+ }> = [];
1537
+
1538
+ // Error probability risk
1539
+ const errorPrediction = await this.predictErrors(
1540
+ agentId,
1541
+ channelId,
1542
+ operation.toolName,
1543
+ operation.parameters
1544
+ );
1545
+
1546
+ riskFactors.push({
1547
+ factor: 'error_probability',
1548
+ weight: 0.3,
1549
+ score: errorPrediction.prediction.value as number * 100,
1550
+ description: `${((errorPrediction.prediction.value as number) * 100).toFixed(0)}% chance of error`
1551
+ });
1552
+
1553
+ // Tool complexity risk
1554
+ const complexity = this.calculateToolComplexity(operation.toolName);
1555
+ riskFactors.push({
1556
+ factor: 'tool_complexity',
1557
+ weight: 0.2,
1558
+ score: complexity * 100,
1559
+ description: `Tool complexity: ${complexity > 0.7 ? 'High' : complexity > 0.4 ? 'Medium' : 'Low'}`
1560
+ });
1561
+
1562
+ // Agent experience risk
1563
+ const agentMetrics = await this.getAgentMetrics(agentId);
1564
+ const experienceRisk = Math.max(0, 1 - (agentMetrics.successfulCalls / 100));
1565
+ riskFactors.push({
1566
+ factor: 'agent_experience',
1567
+ weight: 0.2,
1568
+ score: experienceRisk * 100,
1569
+ description: `Agent has ${agentMetrics.successfulCalls} successful operations`
1570
+ });
1571
+
1572
+ // System load risk
1573
+ const systemContext = this.getSystemContext();
1574
+ riskFactors.push({
1575
+ factor: 'system_load',
1576
+ weight: 0.15,
1577
+ score: systemContext.load * 100,
1578
+ description: `System load: ${(systemContext.load * 100).toFixed(0)}%`
1579
+ });
1580
+
1581
+ // Parameter pattern risk
1582
+ const patternMatch = await this.calculatePatternMatch(
1583
+ operation.toolName,
1584
+ operation.parameters
1585
+ );
1586
+ const patternRisk = 1 - patternMatch;
1587
+ riskFactors.push({
1588
+ factor: 'parameter_pattern',
1589
+ weight: 0.15,
1590
+ score: patternRisk * 100,
1591
+ description: `Parameter pattern match: ${(patternMatch * 100).toFixed(0)}%`
1592
+ });
1593
+
1594
+ // Calculate overall risk
1595
+ const overallRisk = riskFactors.reduce(
1596
+ (total, factor) => total + factor.score * factor.weight,
1597
+ 0
1598
+ );
1599
+
1600
+ // Determine trend
1601
+ const historicalRisk = await this.getHistoricalRisk(agentId);
1602
+ const trend = overallRisk > historicalRisk + 5 ? 'increasing' :
1603
+ overallRisk < historicalRisk - 5 ? 'decreasing' : 'stable';
1604
+
1605
+ // Generate mitigation strategies
1606
+ const mitigation = this.generateMitigationStrategies(riskFactors);
1607
+
1608
+ const riskScore: RiskScore = {
1609
+ scoreId: uuidv4(),
1610
+ timestamp: Date.now(),
1611
+ overallRisk,
1612
+ riskFactors,
1613
+ mitigation,
1614
+ trend
1615
+ };
1616
+
1617
+ return riskScore;
1618
+ }
1619
+
1620
+ /**
1621
+ * Generate mitigation strategies
1622
+ */
1623
+ private generateMitigationStrategies(
1624
+ riskFactors: Array<{ factor: string; score: number }>
1625
+ ): string[] {
1626
+ const strategies: string[] = [];
1627
+
1628
+ for (const factor of riskFactors) {
1629
+ if (factor.score > 70) {
1630
+ switch (factor.factor) {
1631
+ case 'error_probability':
1632
+ strategies.push('Use validation_preview before execution');
1633
+ strategies.push('Review parameters with tool_help');
1634
+ break;
1635
+ case 'tool_complexity':
1636
+ strategies.push('Break operation into smaller steps');
1637
+ strategies.push('Use simpler alternative tools if available');
1638
+ break;
1639
+ case 'agent_experience':
1640
+ strategies.push('Start with simpler operations');
1641
+ strategies.push('Use help tools for guidance');
1642
+ break;
1643
+ case 'system_load':
1644
+ strategies.push('Defer non-critical operations');
1645
+ strategies.push('Enable async validation mode');
1646
+ break;
1647
+ case 'parameter_pattern':
1648
+ strategies.push('Review successful parameter examples');
1649
+ strategies.push('Use validation_hints for suggestions');
1650
+ break;
1651
+ }
1652
+ }
1653
+ }
1654
+
1655
+ return [...new Set(strategies)]; // Remove duplicates
1656
+ }
1657
+
1658
+ // =============================================================================
1659
+ // MODEL MANAGEMENT
1660
+ // =============================================================================
1661
+
1662
+ /**
1663
+ * Initialize models
1664
+ */
1665
+ private initializeModels(): void {
1666
+ // Initialize simplified models
1667
+ // In production, would load actual trained models
1668
+
1669
+ this.models.set('error_prediction', {
1670
+ type: ModelType.GRADIENT_BOOSTING,
1671
+ predict: (features: number[]) => ({ score: 0.5, confidence: 0.7 })
1672
+ });
1673
+
1674
+ this.models.set('anomaly_detection', {
1675
+ type: ModelType.ISOLATION_FOREST,
1676
+ predict: (features: number[]) => ({ score: 0.5 })
1677
+ });
1678
+
1679
+ this.models.set('pattern_forecast', {
1680
+ type: ModelType.LSTM,
1681
+ predict: (sequence: number[]) => sequence[sequence.length - 1] * 1.1
1682
+ });
1683
+
1684
+ // Set metadata
1685
+ for (const [name, model] of this.models) {
1686
+ this.modelMetadata.set(name, {
1687
+ modelId: uuidv4(),
1688
+ type: model.type,
1689
+ version: '1.0.0',
1690
+ trainedAt: Date.now(),
1691
+ accuracy: 0.75,
1692
+ features: [],
1693
+ hyperparameters: {},
1694
+ trainingDataSize: 1000,
1695
+ validationMetrics: { accuracy: 0.75, precision: 0.8, recall: 0.7 }
1696
+ });
1697
+ }
1698
+ }
1699
+
1700
+ /**
1701
+ * Train models
1702
+ */
1703
+ public async trainModels(): Promise<void> {
1704
+ if (this.trainingData.length < this.config.minTrainingDataSize) {
1705
+ return;
1706
+ }
1707
+
1708
+ try {
1709
+ // Train error prediction model
1710
+ await this.trainErrorPredictionModel();
1711
+
1712
+ // Train anomaly detection model
1713
+ await this.trainAnomalyDetectionModel();
1714
+
1715
+ // Update metrics
1716
+ this.metrics.modelRetrains++;
1717
+ } catch (error) {
1718
+ this.logger.error('Model training failed:', error);
1719
+ }
1720
+ }
1721
+
1722
+ /**
1723
+ * Train error prediction model.
1724
+ *
1725
+ * When TF.js is enabled and sufficient training samples exist:
1726
+ * - Vectorizes features and binary labels from collected training data
1727
+ * - Calls MxfMLService.train() to run supervised training on the Dense classifier
1728
+ * - Updates internal model metadata with real training metrics
1729
+ * - Saves the trained model to persistent storage (GridFS)
1730
+ * - Marks the TF.js model as ready for inference
1731
+ *
1732
+ * When TF.js is disabled, updates metadata with simulated accuracy
1733
+ * (preserving the original behavior for non-TF.js deployments).
1734
+ */
1735
+ private async trainErrorPredictionModel(): Promise<void> {
1736
+ // Extract features and labels from collected training data
1737
+ const features: number[][] = [];
1738
+ const labels: number[] = [];
1739
+
1740
+ for (const sample of this.trainingData) {
1741
+ if (sample.label.type === 'error_occurred') {
1742
+ features.push(this.vectorizeFeatures(sample.features));
1743
+ labels.push(sample.label.value ? 1 : 0);
1744
+ }
1745
+ }
1746
+
1747
+ if (features.length < 50) return;
1748
+
1749
+ // Try TF.js training if enabled
1750
+ if (isTensorFlowEnabled()) {
1751
+ try {
1752
+ const mlService = MxfMLService.getInstance();
1753
+
1754
+ if (!mlService.isEnabled()) {
1755
+ this.logger.debug(
1756
+ '[PredictiveAnalyticsService] MxfMLService not enabled, using simulated training'
1757
+ );
1758
+ this.updateHeuristicMetadata(features.length);
1759
+ return;
1760
+ }
1761
+
1762
+ // Ensure model is registered (idempotent check — may already be registered)
1763
+ const existingModel = mlService.getModel(TF_ERROR_PREDICTION_MODEL_ID);
1764
+ if (!existingModel) {
1765
+ this.logger.warn(
1766
+ '[PredictiveAnalyticsService] TF.js error prediction model not registered, ' +
1767
+ 'falling back to simulated training'
1768
+ );
1769
+ this.updateHeuristicMetadata(features.length);
1770
+ return;
1771
+ }
1772
+
1773
+ // Check minimum training samples for TF.js model
1774
+ if (features.length < existingModel.config.minTrainingSamples) {
1775
+ this.logger.debug(
1776
+ `[PredictiveAnalyticsService] Not enough training samples for TF.js: ` +
1777
+ `${features.length}/${existingModel.config.minTrainingSamples}`
1778
+ );
1779
+ return;
1780
+ }
1781
+
1782
+ // Format labels as 2D array for MxfMLService.train()
1783
+ const yData = labels.map(l => [l]);
1784
+
1785
+ // Train the TF.js model
1786
+ const metrics = await mlService.train(
1787
+ TF_ERROR_PREDICTION_MODEL_ID,
1788
+ features,
1789
+ yData
1790
+ );
1791
+
1792
+ // Update internal metadata with real training metrics
1793
+ const modelMeta = this.modelMetadata.get('error_prediction');
1794
+ if (modelMeta) {
1795
+ modelMeta.trainedAt = Date.now();
1796
+ modelMeta.trainingDataSize = features.length;
1797
+ modelMeta.accuracy = metrics.accuracy ?? metrics.valAccuracy ?? 0.75;
1798
+ modelMeta.validationMetrics = {
1799
+ accuracy: metrics.accuracy ?? 0,
1800
+ val_accuracy: metrics.valAccuracy ?? 0,
1801
+ loss: metrics.loss,
1802
+ val_loss: metrics.valLoss ?? 0,
1803
+ };
1804
+ }
1805
+
1806
+ // Mark TF.js model as ready for inference
1807
+ this.tfErrorPredictionReady = true;
1808
+
1809
+ // Save trained model to persistent storage
1810
+ try {
1811
+ await mlService.saveModel(TF_ERROR_PREDICTION_MODEL_ID);
1812
+ } catch (saveError) {
1813
+ this.logger.warn(
1814
+ `[PredictiveAnalyticsService] Failed to save trained model: ` +
1815
+ `${saveError instanceof Error ? saveError.message : String(saveError)}`
1816
+ );
1817
+ }
1818
+
1819
+ this.logger.info(
1820
+ `[PredictiveAnalyticsService] TF.js error prediction model trained ` +
1821
+ `(samples=${features.length}, loss=${metrics.loss.toFixed(4)}, ` +
1822
+ `accuracy=${(metrics.accuracy ?? 0).toFixed(4)})`
1823
+ );
1824
+
1825
+ return;
1826
+ } catch (error) {
1827
+ this.logger.error(
1828
+ `[PredictiveAnalyticsService] TF.js training failed, updating heuristic metadata: ` +
1829
+ `${error instanceof Error ? error.message : String(error)}`
1830
+ );
1831
+ // Fall through to heuristic metadata update
1832
+ }
1833
+ }
1834
+
1835
+ // Non-TF.js path: update metadata with simulated accuracy
1836
+ this.updateHeuristicMetadata(features.length);
1837
+ }
1838
+
1839
+ /**
1840
+ * Update model metadata with simulated accuracy for heuristic-only mode.
1841
+ *
1842
+ * Preserves the original behavior when TF.js is disabled.
1843
+ */
1844
+ private updateHeuristicMetadata(sampleCount: number): void {
1845
+ const modelMeta = this.modelMetadata.get('error_prediction');
1846
+ if (modelMeta) {
1847
+ modelMeta.trainedAt = Date.now();
1848
+ modelMeta.trainingDataSize = sampleCount;
1849
+ modelMeta.accuracy = null; // heuristics have no measured validation accuracy
1850
+ }
1851
+ }
1852
+
1853
+ /**
1854
+ * Train anomaly detection model.
1855
+ *
1856
+ * When TF.js is enabled and sufficient training samples exist:
1857
+ * - Vectorizes ALL feature vectors from collected training data (unsupervised —
1858
+ * the autoencoder trains to reconstruct its input, so xData = yData)
1859
+ * - Calls MxfMLService.train() to run training on the autoencoder
1860
+ * - Updates internal model metadata with real training metrics
1861
+ * - Saves the trained model to persistent storage (GridFS)
1862
+ * - Marks the TF.js autoencoder as ready for inference
1863
+ *
1864
+ * When TF.js is disabled, updates metadata with simulated accuracy
1865
+ * (preserving the original behavior for non-TF.js deployments).
1866
+ */
1867
+ private async trainAnomalyDetectionModel(): Promise<void> {
1868
+ // Extract ALL feature vectors — autoencoder is unsupervised,
1869
+ // it learns "normal" patterns regardless of error labels
1870
+ const features: number[][] = [];
1871
+
1872
+ for (const sample of this.trainingData) {
1873
+ features.push(this.vectorizeFeatures(sample.features));
1874
+ }
1875
+
1876
+ // Try TF.js training if enabled
1877
+ if (isTensorFlowEnabled() && features.length > 0) {
1878
+ try {
1879
+ const mlService = MxfMLService.getInstance();
1880
+
1881
+ if (!mlService.isEnabled()) {
1882
+ this.logger.debug(
1883
+ '[PredictiveAnalyticsService] MxfMLService not enabled, using simulated anomaly training'
1884
+ );
1885
+ this.updateAnomalyHeuristicMetadata();
1886
+ return;
1887
+ }
1888
+
1889
+ // Ensure model is registered
1890
+ const existingModel = mlService.getModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
1891
+ if (!existingModel) {
1892
+ this.logger.warn(
1893
+ '[PredictiveAnalyticsService] TF.js anomaly autoencoder model not registered, ' +
1894
+ 'falling back to simulated training'
1895
+ );
1896
+ this.updateAnomalyHeuristicMetadata();
1897
+ return;
1898
+ }
1899
+
1900
+ // Check minimum training samples
1901
+ if (features.length < existingModel.config.minTrainingSamples) {
1902
+ this.logger.debug(
1903
+ `[PredictiveAnalyticsService] Not enough training samples for anomaly autoencoder: ` +
1904
+ `${features.length}/${existingModel.config.minTrainingSamples}`
1905
+ );
1906
+ return;
1907
+ }
1908
+
1909
+ // Autoencoder: input = output (learns to reconstruct normal patterns)
1910
+ const metrics = await mlService.train(
1911
+ TF_ANOMALY_AUTOENCODER_MODEL_ID,
1912
+ features,
1913
+ features
1914
+ );
1915
+
1916
+ // Update internal metadata with real training metrics
1917
+ const modelMeta = this.modelMetadata.get('anomaly_detection');
1918
+ if (modelMeta) {
1919
+ modelMeta.trainedAt = Date.now();
1920
+ modelMeta.trainingDataSize = features.length;
1921
+ // For autoencoders, accuracy is not directly applicable —
1922
+ // use inverse of loss as a quality indicator (lower loss = better reconstruction)
1923
+ modelMeta.accuracy = Math.max(0, Math.min(1, 1 - metrics.loss));
1924
+ modelMeta.validationMetrics = {
1925
+ loss: metrics.loss,
1926
+ val_loss: metrics.valLoss ?? 0,
1927
+ };
1928
+ }
1929
+
1930
+ // Mark TF.js autoencoder as ready for inference
1931
+ this.tfAnomalyAutoencoderReady = true;
1932
+
1933
+ // Save trained model to persistent storage
1934
+ try {
1935
+ await mlService.saveModel(TF_ANOMALY_AUTOENCODER_MODEL_ID);
1936
+ } catch (saveError) {
1937
+ this.logger.warn(
1938
+ `[PredictiveAnalyticsService] Failed to save anomaly autoencoder model: ` +
1939
+ `${saveError instanceof Error ? saveError.message : String(saveError)}`
1940
+ );
1941
+ }
1942
+
1943
+ this.logger.info(
1944
+ `[PredictiveAnalyticsService] TF.js anomaly autoencoder trained ` +
1945
+ `(samples=${features.length}, loss=${metrics.loss.toFixed(4)})`
1946
+ );
1947
+
1948
+ return;
1949
+ } catch (error) {
1950
+ this.logger.error(
1951
+ `[PredictiveAnalyticsService] TF.js anomaly autoencoder training failed, ` +
1952
+ `updating heuristic metadata: ${error instanceof Error ? error.message : String(error)}`
1953
+ );
1954
+ // Fall through to heuristic metadata update
1955
+ }
1956
+ }
1957
+
1958
+ // Non-TF.js path: update metadata with simulated accuracy
1959
+ this.updateAnomalyHeuristicMetadata();
1960
+ }
1961
+
1962
+ /**
1963
+ * Update anomaly detection model metadata with simulated accuracy for heuristic-only mode.
1964
+ *
1965
+ * Preserves the original behavior when TF.js is disabled.
1966
+ */
1967
+ private updateAnomalyHeuristicMetadata(): void {
1968
+ const modelMeta = this.modelMetadata.get('anomaly_detection');
1969
+ if (modelMeta) {
1970
+ modelMeta.trainedAt = Date.now();
1971
+ modelMeta.accuracy = null; // heuristics have no measured validation accuracy
1972
+ }
1973
+ }
1974
+
1975
+ /**
1976
+ * Vectorize features
1977
+ */
1978
+ private vectorizeFeatures(features: FeatureVector): number[] {
1979
+ return [
1980
+ features.toolComplexity,
1981
+ features.parameterCount,
1982
+ features.parameterPatternMatch,
1983
+ features.agentExperience,
1984
+ features.agentErrorRate,
1985
+ features.timeOfDay / 24,
1986
+ features.dayOfWeek / 7,
1987
+ features.systemLoad,
1988
+ features.concurrentRequests / 100,
1989
+ features.recentErrors / 10,
1990
+ features.recentSuccesses / 100,
1991
+ features.averageLatency / 1000
1992
+ ];
1993
+ }
1994
+
1995
+ // =============================================================================
1996
+ // HELPER METHODS
1997
+ // =============================================================================
1998
+
1999
+ /**
2000
+ * Get agent metrics
2001
+ */
2002
+ private async getAgentMetrics(agentId: AgentId): Promise<any> {
2003
+ // Would query actual metrics
2004
+ return {
2005
+ successfulCalls: 100,
2006
+ errorRate: 0.1,
2007
+ recentErrors: 2,
2008
+ recentSuccesses: 18,
2009
+ averageLatency: 150
2010
+ };
2011
+ }
2012
+
2013
+ /**
2014
+ * Calculate tool complexity
2015
+ */
2016
+ private calculateToolComplexity(toolName: string): number {
2017
+ const complexTools = ['file_write', 'execute_command', 'database_query'];
2018
+ const simpleTools = ['calculator', 'echo', 'get_time'];
2019
+
2020
+ if (complexTools.includes(toolName)) return 0.8;
2021
+ if (simpleTools.includes(toolName)) return 0.2;
2022
+ return 0.5;
2023
+ }
2024
+
2025
+ /**
2026
+ * Categorize tool
2027
+ */
2028
+ private categorizeTool(toolName: string): string {
2029
+ if (!toolName) return 'general';
2030
+ if (toolName.includes('file')) return 'filesystem';
2031
+ if (toolName.includes('web') || toolName.includes('http')) return 'network';
2032
+ if (toolName.includes('calc') || toolName.includes('math')) return 'computation';
2033
+ if (toolName.includes('data') || toolName.includes('query')) return 'database';
2034
+ return 'general';
2035
+ }
2036
+
2037
+ /**
2038
+ * Get system context
2039
+ */
2040
+ private getSystemContext(): { load: number; concurrentRequests: number } {
2041
+ // Real normalized CPU load. Concurrent request tracking has no data
2042
+ // source yet — 0 means "untracked", never a fabricated number.
2043
+ return {
2044
+ load: os.loadavg()[0] / os.cpus().length,
2045
+ concurrentRequests: 0
2046
+ };
2047
+ }
2048
+
2049
+ /**
2050
+ * Calculate pattern match
2051
+ */
2052
+ private async calculatePatternMatch(
2053
+ toolName: string,
2054
+ parameters: Record<string, any>
2055
+ ): Promise<number> {
2056
+ // No pattern store is wired up yet: return neutral evidence (0)
2057
+ // rather than a fabricated score.
2058
+ return 0;
2059
+ }
2060
+
2061
+ /**
2062
+ * Analyze error patterns
2063
+ */
2064
+ private analyzeErrorPatterns(errors: any[]): string[] {
2065
+ const patterns: string[] = [];
2066
+
2067
+ const errorTypes = errors.map(e => e.type || 'unknown');
2068
+ const typeCounts = new Map<string, number>();
2069
+
2070
+ for (const type of errorTypes) {
2071
+ typeCounts.set(type, (typeCounts.get(type) || 0) + 1);
2072
+ }
2073
+
2074
+ for (const [type, count] of typeCounts) {
2075
+ if (count > 2) patterns.push(type);
2076
+ }
2077
+
2078
+ return patterns;
2079
+ }
2080
+
2081
+ /**
2082
+ * Get parameter patterns
2083
+ */
2084
+ private async getParameterPatterns(toolName: string): Promise<any[]> {
2085
+ // Would retrieve from pattern learning service
2086
+ return [];
2087
+ }
2088
+
2089
+ /**
2090
+ * Get agent behavior
2091
+ */
2092
+ private async getAgentBehavior(agentId: AgentId): Promise<any> {
2093
+ return {
2094
+ commonTools: ['calculator', 'web_search', 'file_read'],
2095
+ averageToolsPerSession: 5,
2096
+ preferredPatterns: []
2097
+ };
2098
+ }
2099
+
2100
+ /**
2101
+ * Get performance history
2102
+ */
2103
+ private async getPerformanceHistory(toolName: string): Promise<any> {
2104
+ return {
2105
+ avgLatency: 100,
2106
+ stdDevLatency: 20,
2107
+ p95Latency: 150,
2108
+ p99Latency: 200
2109
+ };
2110
+ }
2111
+
2112
+ /**
2113
+ * Matches patterns
2114
+ */
2115
+ private matchesPatterns(
2116
+ toolName: string,
2117
+ parameters: Record<string, any>,
2118
+ patterns: any[]
2119
+ ): number {
2120
+ // Simplified pattern matching
2121
+ return 0.7;
2122
+ }
2123
+
2124
+ /**
2125
+ * Get success rate by hour
2126
+ */
2127
+ private async getSuccessRateByHour(_agentId: AgentId): Promise<number[] | null> {
2128
+ // No per-hour success metrics are recorded yet. Returning null keeps
2129
+ // the timing suggestion honest — fabricated rates produced fake
2130
+ // "your success rate is higher around X:00" advice.
2131
+ return null;
2132
+ }
2133
+
2134
+ /**
2135
+ * Find best hour
2136
+ */
2137
+ private findBestHour(successByHour: number[]): number {
2138
+ let bestHour = 0;
2139
+ let bestRate = 0;
2140
+
2141
+ for (let i = 0; i < successByHour.length; i++) {
2142
+ if (successByHour[i] > bestRate) {
2143
+ bestRate = successByHour[i];
2144
+ bestHour = i;
2145
+ }
2146
+ }
2147
+
2148
+ return bestHour;
2149
+ }
2150
+
2151
+ /**
2152
+ * Get pattern history
2153
+ */
2154
+ private async getPatternHistory(
2155
+ pattern: string,
2156
+ _timeframe: string
2157
+ ): Promise<number[]> {
2158
+ // Fail fast: there is no historical pattern store. Forecasting over
2159
+ // fabricated data produced confident-looking noise.
2160
+ throw new Error(
2161
+ `Pattern history tracking is not implemented — cannot forecast '${pattern}' without a data source`
2162
+ );
2163
+ }
2164
+
2165
+ /**
2166
+ * Get historical risk
2167
+ */
2168
+ private async getHistoricalRisk(agentId: AgentId): Promise<number> {
2169
+ return 45; // Baseline risk
2170
+ }
2171
+
2172
+ /**
2173
+ * Generate cache key
2174
+ */
2175
+ private generateCacheKey(
2176
+ type: string,
2177
+ agentId: AgentId,
2178
+ toolName: string,
2179
+ parameters: Record<string, any>
2180
+ ): string {
2181
+ return `${type}:${agentId}:${toolName}:${JSON.stringify(parameters)}`;
2182
+ }
2183
+
2184
+ /**
2185
+ * Update prediction time
2186
+ */
2187
+ private updatePredictionTime(time: number): void {
2188
+ const alpha = 0.1; // Exponential smoothing factor
2189
+ this.metrics.averagePredictionTime =
2190
+ alpha * time + (1 - alpha) * this.metrics.averagePredictionTime;
2191
+ }
2192
+
2193
+ // =============================================================================
2194
+ // EVENT LISTENERS
2195
+ // =============================================================================
2196
+
2197
+ /**
2198
+ * Setup event listeners
2199
+ */
2200
+ private setupEventListeners(): void {
2201
+ // Collect training data from events
2202
+ EventBus.server.on(Events.Mcp.TOOL_RESULT, async (event) => {
2203
+ try {
2204
+ const features = await this.extractFeatures(
2205
+ event.agentId,
2206
+ event.channelId,
2207
+ event.toolName,
2208
+ event.parameters || {}
2209
+ );
2210
+
2211
+ this.trainingData.push({
2212
+ features,
2213
+ label: {
2214
+ type: 'error_occurred',
2215
+ value: !event.success
2216
+ },
2217
+ timestamp: Date.now()
2218
+ });
2219
+
2220
+ // Trim training data
2221
+ if (this.trainingData.length > this.config.maxTrainingDataSize) {
2222
+ this.trainingData.shift();
2223
+ }
2224
+
2225
+ } catch (error) {
2226
+ this.logger.warn('Failed to collect training data:', error);
2227
+ }
2228
+ });
2229
+ }
2230
+
2231
+ /**
2232
+ * Start retrain schedule.
2233
+ *
2234
+ * When TF.js is enabled, both error prediction and anomaly detection
2235
+ * retraining are managed by MxfMLService.scheduleRetrain() (configured
2236
+ * in initializeTfErrorPrediction() and initializeTfAnomalyAutoencoder()).
2237
+ * This interval serves as the retraining path when TF.js is disabled
2238
+ * and as a fallback when MxfMLService scheduling is not active.
2239
+ */
2240
+ private startRetrainSchedule(): void {
2241
+ this.retrainInterval = setInterval(() => {
2242
+ this.trainModels();
2243
+ }, this.config.retrainInterval);
2244
+ }
2245
+
2246
+ // =============================================================================
2247
+ // PUBLIC API
2248
+ // =============================================================================
2249
+
2250
+ /**
2251
+ * Get model metadata
2252
+ */
2253
+ public getModelMetadata(): ModelMetadata[] {
2254
+ return Array.from(this.modelMetadata.values());
2255
+ }
2256
+
2257
+ /**
2258
+ * Get metrics
2259
+ */
2260
+ public getMetrics(): any {
2261
+ return { ...this.metrics };
2262
+ }
2263
+
2264
+ /**
2265
+ * Get configuration
2266
+ */
2267
+ public getConfig(): any {
2268
+ return { ...this.config };
2269
+ }
2270
+
2271
+ /**
2272
+ * Update configuration
2273
+ */
2274
+ public updateConfig(newConfig: Partial<typeof this.config>): void {
2275
+ this.config = { ...this.config, ...newConfig };
2276
+ }
2277
+
2278
+ /**
2279
+ * Clear training data (for testing)
2280
+ */
2281
+ public clearTrainingData(): void {
2282
+ this.trainingData.length = 0;
2283
+ this.predictionCache.clear();
2284
+ }
2285
+
2286
+ /**
2287
+ * Cleanup.
2288
+ *
2289
+ * Stops the retrain schedule. TF.js model disposal is handled by
2290
+ * MxfMLService.dispose() during server shutdown.
2291
+ */
2292
+ public cleanup(): void {
2293
+ if (this.retrainInterval) {
2294
+ clearInterval(this.retrainInterval);
2295
+ }
2296
+ this.tfErrorPredictionReady = false;
2297
+ this.tfAnomalyAutoencoderReady = false;
2298
+ }
2299
+ }