@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,1876 @@
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
+ * Unified Memory Service Implementation
23
+ *
24
+ * This service provides the core functionality for the MXF Memory System.
25
+ * It handles different memory scopes (agent, channel, relationship) and
26
+ * persistence levels (temporary, persistent).
27
+ *
28
+ * CONSOLIDATED: Includes cognitive operations from AgentMemoryService
29
+ * for LLM workflows (observations, reasoning, plans, reflections).
30
+ */
31
+
32
+ import { Observable, of } from 'rxjs';
33
+ import { v4 as uuidv4 } from 'uuid';
34
+
35
+ import {
36
+ IAgentMemory,
37
+ IChannelMemory,
38
+ IRelationshipMemory,
39
+ MemoryScope,
40
+ MemoryPersistenceLevel,
41
+ MemoryData,
42
+ MemoryQueryParams,
43
+ createMemoryValidator
44
+ } from '../types/MemoryTypes.js';
45
+
46
+ // Cognitive operation types from control loop
47
+ import {
48
+ Observation,
49
+ Reasoning,
50
+ Plan,
51
+ Reflection
52
+ } from '../models/controlLoop.js';
53
+
54
+ import { Logger } from '../utils/Logger.js';
55
+ import { EventBus } from '../events/EventBus.js';
56
+ import { Events } from '../events/EventNames.js';
57
+ import { MemoryGetEvent, MemoryUpdateEvent } from '../events/event-definitions/MemoryEvents.js';
58
+ import { createBaseEventPayload, createMemoryUpdateResultEventPayload,
59
+ createMemoryDeleteResultEventPayload,
60
+ MemoryDeleteResultEventData,
61
+ MemoryUpdateResultEventData,
62
+ MemoryGetEventPayload,
63
+ MemoryUpdateEventPayload,
64
+ createMemoryGetResultEventPayload,
65
+ MemoryGetResultEventData
66
+ } from '../schemas/EventPayloadSchema.js';
67
+ import { AgentId, ChannelId } from '../types/ChannelContext.js';
68
+ import {
69
+ UtilityRetrievalOptions,
70
+ RetrievedMemoryWithUtility,
71
+ UtilityRetrievalResult,
72
+ MemoryCandidate,
73
+ OrparPhase,
74
+ MemoryUtilitySubdocument
75
+ } from '../types/MemoryUtilityTypes.js';
76
+ import { QValueManager } from './QValueManager.js';
77
+ import { UtilityScorerService } from './UtilityScorerService.js';
78
+ import { RewardSignalProcessor } from './RewardSignalProcessor.js';
79
+ import {
80
+ isKnowledgeGraphEnabled,
81
+ isExtractionEnabled,
82
+ } from '../config/knowledge-graph.config.js';
83
+ import { EntityExtractionService } from './kg/EntityExtractionService.js';
84
+
85
+ /**
86
+ * Types of cognitive memory content
87
+ */
88
+ export enum CognitiveMemoryType {
89
+ SHORT_TERM = 'short_term', // Temporary observations and immediate context
90
+ WORKING = 'working', // Active reasoning and planning
91
+ LONG_TERM = 'long_term' // Persistent reflections and learned patterns
92
+ }
93
+
94
+ /**
95
+ * Cognitive memory entry with metadata
96
+ */
97
+ export interface CognitiveMemoryEntry<T> {
98
+ id: string;
99
+ agentId: AgentId;
100
+ channelId: ChannelId;
101
+ memoryType: CognitiveMemoryType;
102
+ content: T;
103
+ createdAt: number;
104
+ updatedAt: number;
105
+ expiresAt?: number;
106
+ labels: string[];
107
+ relevance?: number;
108
+ }
109
+
110
+ /**
111
+ * Query options for cognitive memory
112
+ */
113
+ export interface CognitiveMemoryQueryOptions {
114
+ memoryTypes?: CognitiveMemoryType[];
115
+ limit?: number;
116
+ offset?: number;
117
+ sortBy?: 'createdAt' | 'updatedAt' | 'relevance';
118
+ sortDirection?: 'asc' | 'desc';
119
+ labels?: string[];
120
+ fromTimestamp?: number;
121
+ toTimestamp?: number;
122
+ textQuery?: string;
123
+ }
124
+
125
+ /**
126
+ * Enhanced Agent Memory with cognitive operations
127
+ */
128
+ export interface IEnhancedAgentMemory extends IAgentMemory {
129
+ // Cognitive Memory References
130
+ cognitiveMemory: {
131
+ observationIds: string[];
132
+ reasoningIds: string[];
133
+ planIds: string[];
134
+ reflectionIds: string[];
135
+ };
136
+ }
137
+
138
+ /**
139
+ * Enhanced Channel Memory with shared cognitive insights
140
+ */
141
+ export interface IEnhancedChannelMemory extends IChannelMemory {
142
+ // Channel activity tracking
143
+ lastActivity?: number;
144
+ messageCount?: number;
145
+ participants?: string[];
146
+ topics?: string[];
147
+ summary?: string;
148
+
149
+ // Shared Cognitive Insights
150
+ sharedCognitiveInsights: {
151
+ systemSummaries: string[];
152
+ topicExtractions: string[];
153
+ collaborativeReflections: string[];
154
+ };
155
+ }
156
+
157
+ /**
158
+ * Configuration options for Memory Service
159
+ */
160
+ interface MemoryServiceConfig {
161
+ enablePersistence?: boolean;
162
+ cacheSize?: number;
163
+ persistenceService?: any; // Optional persistence service (server-only)
164
+ }
165
+
166
+ /**
167
+ * Default configuration
168
+ */
169
+ const DEFAULT_CONFIG: MemoryServiceConfig = {
170
+ enablePersistence: true,
171
+ cacheSize: 100
172
+ };
173
+
174
+ /**
175
+ * Memory Service
176
+ *
177
+ * Core service for managing the Memory System and handling in-memory cache.
178
+ */
179
+ export class MemoryService {
180
+ // Singleton instance
181
+ private static instance: MemoryService;
182
+
183
+ // Memory cache
184
+ private agentMemory: Map<string, IEnhancedAgentMemory> = new Map();
185
+ private channelMemory: Map<string, IEnhancedChannelMemory> = new Map();
186
+ private relationshipMemory: Map<string, IRelationshipMemory> = new Map();
187
+ private generalData: Map<string, any> = new Map();
188
+ private cognitiveMemory: Map<string, CognitiveMemoryEntry<any>> = new Map();
189
+
190
+ // Configuration
191
+ private config: MemoryServiceConfig;
192
+
193
+ // Optional persistence service (server-only)
194
+ private persistenceService?: any;
195
+
196
+ // Validator
197
+ private validator = createMemoryValidator('MemoryService');
198
+
199
+ // Logger
200
+ private logger = new Logger('debug', 'MemoryService', "server");
201
+
202
+ /**
203
+ * Private constructor for singleton pattern
204
+ * @param config Configuration options
205
+ */
206
+ private constructor(config: MemoryServiceConfig = {}) {
207
+ this.config = { ...DEFAULT_CONFIG, ...config };
208
+ this.persistenceService = config.persistenceService;
209
+
210
+ if (this.persistenceService) {
211
+ } else {
212
+ }
213
+
214
+ // Set up event listeners
215
+ this.setupEventListeners();
216
+ }
217
+
218
+ /**
219
+ * Set up event listeners
220
+ */
221
+ private setupEventListeners(): void {
222
+ // Listen for memory update events to keep cache in sync
223
+ EventBus.server.on(Events.Memory.UPDATE_RESULT, (data: { scope: MemoryScope, id: string, memory: any }) => {
224
+ if (data.scope === MemoryScope.AGENT && data.memory) {
225
+ this.agentMemory.set(data.id, data.memory);
226
+ // ;
227
+ } else if (data.scope === MemoryScope.CHANNEL && data.memory) {
228
+ this.channelMemory.set(data.id, data.memory);
229
+ // ;
230
+ } else if (data.scope === MemoryScope.RELATIONSHIP && data.memory) {
231
+ this.relationshipMemory.set(data.id, data.memory);
232
+ // ;
233
+ }
234
+ });
235
+
236
+ // Set up EventBus bridge for Memory.UPDATE events
237
+ // This bridges EventBus memory events to internal memory operations
238
+ // Required for ChannelContextMemoryOperations to save data
239
+ EventBus.server.on(Events.Memory.UPDATE, (event: MemoryUpdateEventPayload) => {
240
+ try {
241
+ // Extract memory operation data from the event (handle EventBus forwarding nesting)
242
+ const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
243
+
244
+ // Validate required fields
245
+ this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
246
+ this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
247
+
248
+ // Determine the action based on memory scope and handle UPDATE operations
249
+ if (memoryEventData.scope === MemoryScope.CHANNEL) {
250
+ // For channel data, store by key (e.g., "channel:context:${channelId}")
251
+ const memoryKey = memoryEventData.id; // Use the id as the key
252
+ const memoryData = memoryEventData.data;
253
+
254
+ if (memoryKey && memoryData) {
255
+ // Store the data in generalData map (in-memory cache)
256
+ this.generalData.set(memoryKey, memoryData);
257
+
258
+ // Also persist to MongoDB for durability (if persistence service available)
259
+ // Extract actual context data - it's wrapped in another object with the key
260
+ const actualContextData = memoryData[memoryKey];
261
+ if (actualContextData && actualContextData.channelId && this.persistenceService) {
262
+ try {
263
+ // Convert to IChannelMemory format for persistence
264
+ const channelMemoryUpdate: any = {
265
+ id: `${actualContextData.channelId}-context`,
266
+ channelId: actualContextData.channelId,
267
+ createdAt: new Date(actualContextData.createdAt || Date.now()),
268
+ updatedAt: new Date(),
269
+ persistenceLevel: 'persistent' as any,
270
+ sharedState: { context: actualContextData },
271
+ notes: { channelContext: 'Auto-saved from ChannelContextService' },
272
+ conversationHistory: [],
273
+ customData: { contextMetadata: memoryEventData.metadata || {} }
274
+ };
275
+
276
+ // Persist to MongoDB (fire and forget for performance)
277
+ this.persistenceService.saveChannelMemory(channelMemoryUpdate)
278
+ .subscribe({
279
+ next: () => this.logger.info(`Channel context persisted to MongoDB for ${actualContextData.channelId}`),
280
+ error: (err: Error) => this.logger.warn(`Failed to persist channel context to MongoDB: ${err.message}`)
281
+ });
282
+ } catch (persistError) {
283
+ this.logger.warn(`Error persisting channel context: ${persistError}`);
284
+ }
285
+ }
286
+
287
+ // Create success result payload
288
+ const updateResultData: MemoryUpdateResultEventData = {
289
+ operationId: memoryEventData.operationId,
290
+ scope: MemoryScope.CHANNEL,
291
+ id: memoryKey,
292
+ memory: memoryData
293
+ };
294
+
295
+ const systemAgentId: AgentId = 'SYSTEM_AGENT';
296
+ const channelId: ChannelId = event.channelId || 'NO_CHANNEL';
297
+
298
+ const payload = createMemoryUpdateResultEventPayload(
299
+ Events.Memory.UPDATE_RESULT,
300
+ systemAgentId,
301
+ channelId,
302
+ updateResultData
303
+ );
304
+
305
+ EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
306
+ } else {
307
+ this.logger.warn(`Invalid UPDATE data - missing key or data: key=${memoryKey}, data=${!!memoryData}`);
308
+ }
309
+ }
310
+ } catch (error) {
311
+ this.logger.error(`Error handling Memory.UPDATE event: ${error instanceof Error ? error.message : String(error)}`);
312
+ }
313
+ });
314
+
315
+ // Set up EventBus bridge for Memory.GET events
316
+ // This bridges EventBus memory events to internal memory operations
317
+ // Required for ChannelContextMessageOperations to work with the memory system
318
+ EventBus.server.on(Events.Memory.GET, (event: MemoryGetEventPayload) => {
319
+ try {
320
+ // Extract memory operation data from the event (handle EventBus forwarding nesting)
321
+ const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
322
+
323
+ // Validate required fields
324
+ this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
325
+ this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
326
+
327
+ let memoryObservable: any = null;
328
+
329
+ // Determine the action based on memory scope and handle GET operations
330
+ switch (memoryEventData.scope) {
331
+ case MemoryScope.CHANNEL:
332
+ // Determine the memory key to look up - prioritize key field over id field
333
+ const memoryKey = memoryEventData.key || (Array.isArray(memoryEventData.id) ? memoryEventData.id[0] : memoryEventData.id);
334
+
335
+ if (memoryKey) {
336
+ // For channel data, look up by key (e.g., "channel:messages:${channelId}" or "channel:context:${channelId}")
337
+ const channelMemory = this.generalData.get(memoryKey);
338
+
339
+ // Create result payload
340
+ const getResultData: MemoryGetResultEventData = {
341
+ operationId: memoryEventData.operationId,
342
+ scope: MemoryScope.CHANNEL,
343
+ id: memoryKey, // Use the memory key as the id for proper matching
344
+ memory: channelMemory || null
345
+ };
346
+
347
+ const systemAgentId: AgentId = 'SYSTEM_AGENT';
348
+ const noChannelId: ChannelId = 'NO_CHANNEL';
349
+
350
+ const payload = createMemoryGetResultEventPayload(
351
+ Events.Memory.GET_RESULT,
352
+ systemAgentId,
353
+ noChannelId,
354
+ getResultData
355
+ );
356
+
357
+ //// this.logger.info(`[CRITICAL] MemoryService emitting GET_RESULT:`, Object.keys(payload));
358
+ EventBus.server.emit(Events.Memory.GET_RESULT, payload);
359
+ } else {
360
+ this.logger.warn(`[DEBUG] No memory key found in GET event data`);
361
+ }
362
+ break;
363
+
364
+ case MemoryScope.AGENT:
365
+ if (typeof memoryEventData.id === 'string') {
366
+ // ;
367
+ memoryObservable = this.getAgentMemory(memoryEventData.id);
368
+
369
+ // Subscribe to the observable and emit result
370
+ memoryObservable.subscribe({
371
+ next: (agentMemory: IEnhancedAgentMemory) => {
372
+ // Create result payload
373
+ const getResultData: MemoryGetResultEventData = {
374
+ operationId: memoryEventData.operationId,
375
+ scope: MemoryScope.AGENT,
376
+ id: memoryEventData.id as string,
377
+ memory: agentMemory || null
378
+ };
379
+
380
+ const payload = createMemoryGetResultEventPayload(
381
+ Events.Memory.GET_RESULT,
382
+ event.agentId,
383
+ event.channelId,
384
+ getResultData
385
+ );
386
+
387
+ EventBus.server.emit(Events.Memory.GET_RESULT, payload);
388
+ },
389
+ error: (error: Error) => {
390
+ this.logger.error(`Error getting agent memory: ${error}`);
391
+
392
+ // Create error result payload
393
+ const getResultData: MemoryGetResultEventData = {
394
+ operationId: memoryEventData.operationId,
395
+ scope: MemoryScope.AGENT,
396
+ id: memoryEventData.id as string,
397
+ memory: null
398
+ };
399
+
400
+ const payload = createMemoryGetResultEventPayload(
401
+ Events.Memory.GET_RESULT,
402
+ event.agentId,
403
+ event.channelId,
404
+ getResultData
405
+ );
406
+
407
+ EventBus.server.emit(Events.Memory.GET_RESULT, payload);
408
+ }
409
+ });
410
+ }
411
+ break;
412
+
413
+ case MemoryScope.RELATIONSHIP:
414
+ // Handle relationship memory GET
415
+ break;
416
+
417
+ default:
418
+ this.logger.warn(`Unsupported memory scope: ${memoryEventData.scope}`);
419
+ }
420
+
421
+ } catch (error) {
422
+ this.logger.error('[ERROR] Error processing EventBus Memory.GET:', error);
423
+
424
+ // Log error details for debugging without creating fake event payloads
425
+ const operationId = event.data?.operationId || '[NO_OPERATION_ID]';
426
+ const memoryId = event.data?.id || event.data?.key || '[NO_MEMORY_ID]';
427
+ this.logger.error(`Memory GET operation failed - OperationId: ${operationId}, MemoryId: ${memoryId}, Error: ${(error as Error).message}`);
428
+
429
+ // Cannot emit GET_RESULT event without valid agentId and channelId from original request
430
+ // Original event should have contained these required identifiers
431
+ this.logger.warn('Cannot emit Memory.GET_RESULT event - original event lacked valid agentId/channelId. Memory operation errors should be handled by the requesting component.');
432
+ }
433
+ });
434
+
435
+ // Set up EventBus bridge for Memory.UPDATE events
436
+ EventBus.server.on(Events.Memory.UPDATE, (event: MemoryUpdateEventPayload) => {
437
+ try {
438
+ // Extract memory operation data from the event (handle EventBus forwarding nesting)
439
+ const memoryEventData = event.data.scope ? event.data : (event.data as any).data;
440
+
441
+ // Validate required fields
442
+ this.validator.assertIsString(memoryEventData.scope, 'Memory scope is required');
443
+ this.validator.assertIsString(memoryEventData.operationId, 'Operation ID is required');
444
+
445
+ // Handle UPDATE operations
446
+ switch (memoryEventData.scope) {
447
+ case MemoryScope.CHANNEL:
448
+ // For UPDATE operations, the id field contains the memory key
449
+ const updateMemoryKey = Array.isArray(memoryEventData.id) ? memoryEventData.id[0] : memoryEventData.id;
450
+
451
+ // Handle the actual data structure from ChannelContextMessageOperations and ChannelContextMemoryOperations
452
+ // Data comes in format:
453
+ // - { "channel:messages:${channelId}": [...messages] } for messages
454
+ // - { "channel:context:${channelId}": {...context} } for context
455
+ if (memoryEventData.data && typeof memoryEventData.data === 'object') {
456
+ // Check if the data is already properly keyed or needs to be keyed
457
+ const dataKeys = Object.keys(memoryEventData.data);
458
+
459
+ if (updateMemoryKey.startsWith('channel:')) {
460
+ // Direct storage: id field is the memory key, data field contains the actual data
461
+ // ;
462
+
463
+ // If data has nested structure with the same key, extract the nested data
464
+ const actualData = memoryEventData.data[updateMemoryKey] || memoryEventData.data;
465
+
466
+ // Check if data has actually changed before updating
467
+ const existingData = this.generalData.get(updateMemoryKey);
468
+ const dataHasChanged = !this.isDataEqual(existingData, actualData);
469
+
470
+ if (!dataHasChanged) {
471
+ // ;
472
+ return; // Skip update and event emission
473
+ }
474
+
475
+ // ;
476
+ this.generalData.set(updateMemoryKey, actualData);
477
+
478
+ // Create success result payload
479
+ const updateResult: MemoryUpdateResultEventData = {
480
+ operationId: memoryEventData.operationId,
481
+ scope: MemoryScope.CHANNEL,
482
+ id: updateMemoryKey, // Use the memory key as the id for proper matching
483
+ memory: actualData
484
+ };
485
+
486
+ const systemAgentId: AgentId = 'SYSTEM_AGENT';
487
+ const noChannelId: ChannelId = 'NO_CHANNEL';
488
+
489
+ const payload = createMemoryUpdateResultEventPayload(
490
+ Events.Memory.UPDATE_RESULT,
491
+ systemAgentId,
492
+ noChannelId,
493
+ updateResult
494
+ );
495
+
496
+ // ;
497
+ EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
498
+ } else {
499
+ // Legacy format: Find any channel-related key and data in the data object
500
+ const channelKey = dataKeys.find(key =>
501
+ key.startsWith('channel:messages:') || key.startsWith('channel:context:')
502
+ );
503
+
504
+ if (channelKey && memoryEventData.data[channelKey]) {
505
+ // ;
506
+
507
+ const newData = memoryEventData.data[channelKey];
508
+
509
+ // Check if data has actually changed before updating
510
+ const existingData = this.generalData.get(channelKey);
511
+ const dataHasChanged = !this.isDataEqual(existingData, newData);
512
+
513
+ if (!dataHasChanged) {
514
+ // ;
515
+ return; // Skip update and event emission
516
+ }
517
+
518
+ // Store the data by the key (messages array or context object)
519
+ // ;
520
+ this.generalData.set(channelKey, newData);
521
+
522
+ // Create success result payload
523
+ const updateResult: MemoryUpdateResultEventData = {
524
+ operationId: memoryEventData.operationId,
525
+ scope: MemoryScope.CHANNEL,
526
+ id: channelKey, // Use the memory key as the id for proper matching
527
+ memory: newData
528
+ };
529
+
530
+ const systemAgentId: AgentId = 'SYSTEM_AGENT';
531
+ const noChannelId: ChannelId = 'NO_CHANNEL';
532
+
533
+ const payload = createMemoryUpdateResultEventPayload(
534
+ Events.Memory.UPDATE_RESULT,
535
+ systemAgentId,
536
+ noChannelId,
537
+ updateResult
538
+ );
539
+
540
+ // ;
541
+ EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
542
+ } else {
543
+ this.logger.warn(`No recognized channel key found in data keys: ${dataKeys.join(', ')}`);
544
+ }
545
+ }
546
+ }
547
+ break;
548
+
549
+ case MemoryScope.AGENT:
550
+ // Handle agent memory UPDATE
551
+ if (typeof memoryEventData.id === 'string' && memoryEventData.data) {
552
+ // CRITICAL: Must subscribe to Observable to trigger execution!
553
+ this.updateAgentMemory(memoryEventData.id, memoryEventData.data).subscribe({
554
+ next: () => null,
555
+ error: (err) => this.logger.error(`Agent memory update failed for ${memoryEventData.id}: ${err}`)
556
+ });
557
+ }
558
+ break;
559
+
560
+ case MemoryScope.RELATIONSHIP:
561
+ // Handle relationship memory UPDATE
562
+ break;
563
+
564
+ default:
565
+ this.logger.warn(`Unsupported memory scope: ${memoryEventData.scope}`);
566
+ }
567
+
568
+ } catch (error) {
569
+ this.logger.error('[ERROR] Error processing EventBus Memory.UPDATE:', error);
570
+
571
+ // Log error details for debugging without creating fake event payloads
572
+ const operationId = event.data?.operationId || '[NO_OPERATION_ID]';
573
+ const memoryId = event.data?.id || '[NO_MEMORY_ID]';
574
+ this.logger.error(`Memory UPDATE operation failed - OperationId: ${operationId}, MemoryId: ${memoryId}, Error: ${(error as Error).message}`);
575
+
576
+ // Cannot emit UPDATE_RESULT event without valid agentId and channelId from original request
577
+ // Original event should have contained these required identifiers
578
+ this.logger.warn('Cannot emit Memory.UPDATE_RESULT event - original event lacked valid agentId/channelId. Memory operation errors should be handled by the requesting component.');
579
+ }
580
+ });
581
+
582
+ }
583
+
584
+ /**
585
+ * Get the singleton instance
586
+ * @param config Configuration options
587
+ * @returns The memory service instance
588
+ */
589
+ public static getInstance(config?: MemoryServiceConfig): MemoryService {
590
+ if (!MemoryService.instance) {
591
+ MemoryService.instance = new MemoryService(config);
592
+ } else if (config?.persistenceService && !MemoryService.instance.persistenceService) {
593
+ // Upgrade existing instance with persistence service (for server initialization)
594
+ MemoryService.instance.persistenceService = config.persistenceService;
595
+ MemoryService.instance.logger.info('Memory Service upgraded with MongoDB persistence');
596
+ }
597
+ return MemoryService.instance;
598
+ }
599
+
600
+ /**
601
+ * Get agent memory
602
+ * @param agentId Agent ID
603
+ * @returns Observable of agent memory
604
+ */
605
+ public getAgentMemory(agentId: string): Observable<IEnhancedAgentMemory> {
606
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
607
+
608
+ // Return existing memory from cache if available (fast path)
609
+ const existingMemory = this.agentMemory.get(agentId);
610
+ if (existingMemory) {
611
+ return of(existingMemory);
612
+ }
613
+
614
+ // If persistence service is available, try loading from MongoDB
615
+ if (this.persistenceService) {
616
+ return new Observable<IEnhancedAgentMemory>(observer => {
617
+ this.persistenceService.getAgentMemory(agentId).subscribe({
618
+ next: (loadedMemory: any) => {
619
+ // Enhance the loaded memory with cognitive memory structure
620
+ const enhancedMemory: IEnhancedAgentMemory = {
621
+ ...loadedMemory,
622
+ cognitiveMemory: loadedMemory.cognitiveMemory || {
623
+ observationIds: [],
624
+ reasoningIds: [],
625
+ planIds: [],
626
+ reflectionIds: []
627
+ }
628
+ };
629
+
630
+ // Cache the loaded memory
631
+ this.agentMemory.set(agentId, enhancedMemory);
632
+
633
+
634
+ observer.next(enhancedMemory);
635
+ observer.complete();
636
+ },
637
+ error: (error: any) => {
638
+ this.logger.warn(`Failed to load agent memory from MongoDB for ${agentId}: ${error.message}`);
639
+ // Fall back to creating new memory
640
+ const newMemory = this.createNewAgentMemory(agentId);
641
+ observer.next(newMemory);
642
+ observer.complete();
643
+ }
644
+ });
645
+ });
646
+ }
647
+
648
+ // No persistence service - create new memory
649
+ const newMemory = this.createNewAgentMemory(agentId);
650
+ return of(newMemory);
651
+ }
652
+
653
+ /**
654
+ * Create new agent memory
655
+ * @param agentId Agent ID
656
+ * @returns New agent memory
657
+ */
658
+ private createNewAgentMemory(agentId: string): IEnhancedAgentMemory {
659
+ const newMemory: IEnhancedAgentMemory = {
660
+ id: uuidv4(),
661
+ agentId,
662
+ createdAt: new Date(),
663
+ updatedAt: new Date(),
664
+ persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
665
+ notes: {},
666
+ conversationHistory: [],
667
+ customData: {},
668
+ cognitiveMemory: {
669
+ observationIds: [],
670
+ reasoningIds: [],
671
+ planIds: [],
672
+ reflectionIds: []
673
+ }
674
+ };
675
+
676
+ this.agentMemory.set(agentId, newMemory);
677
+
678
+ const operationId_agent_get_new = uuidv4();
679
+ const systemAgentId_agent_get_new: AgentId = 'SYSTEM_AGENT';
680
+ const noChannelId_agent_get_new: ChannelId = 'NO_CHANNEL';
681
+ const updateResultData_agent_get_new: MemoryUpdateResultEventData = {
682
+ operationId: operationId_agent_get_new,
683
+ scope: MemoryScope.AGENT,
684
+ id: agentId,
685
+ memory: newMemory
686
+ };
687
+ EventBus.server.emit(
688
+ Events.Memory.UPDATE_RESULT,
689
+ createMemoryUpdateResultEventPayload(
690
+ Events.Memory.UPDATE_RESULT,
691
+ systemAgentId_agent_get_new,
692
+ noChannelId_agent_get_new,
693
+ updateResultData_agent_get_new
694
+ )
695
+ );
696
+
697
+ return newMemory;
698
+ }
699
+
700
+ /**
701
+ * Update agent memory
702
+ * @param pAgentId Agent ID
703
+ * @param updates Memory updates
704
+ * @returns Observable of updated agent memory
705
+ */
706
+ public updateAgentMemory(pAgentId: string, updates: Partial<IEnhancedAgentMemory>): Observable<IEnhancedAgentMemory> {
707
+ this.validator.assertIsNonEmptyString(pAgentId, 'Agent ID must be a non-empty string');
708
+ this.validator.assertIsObject(updates, 'Updates must be an object');
709
+
710
+ // Get existing memory or create new one
711
+ return new Observable<IEnhancedAgentMemory>(observer => {
712
+ this.getAgentMemory(pAgentId).subscribe(originalAgentMemory => {
713
+ // Apply updates
714
+ const updatedMemory: IEnhancedAgentMemory = {
715
+ ...originalAgentMemory,
716
+ ...updates,
717
+ updatedAt: new Date(),
718
+ // Ensure these fields can't be overridden
719
+ id: originalAgentMemory.id,
720
+ agentId: originalAgentMemory.agentId,
721
+ createdAt: originalAgentMemory.createdAt
722
+ };
723
+
724
+ // Deep merge for nested objects
725
+ if (updates.notes) {
726
+ updatedMemory.notes = { ...originalAgentMemory.notes, ...updates.notes };
727
+ }
728
+
729
+ if (updates.customData) {
730
+ updatedMemory.customData = { ...originalAgentMemory.customData, ...updates.customData };
731
+ }
732
+
733
+ if (updates.cognitiveMemory) {
734
+ updatedMemory.cognitiveMemory = {
735
+ ...originalAgentMemory.cognitiveMemory,
736
+ ...updates.cognitiveMemory
737
+ };
738
+ }
739
+
740
+ // Replace conversation history if provided (SDK sends full array, not incremental)
741
+ if (updates.conversationHistory !== undefined) {
742
+ updatedMemory.conversationHistory = updates.conversationHistory;
743
+ }
744
+
745
+ // Store updated memory in cache
746
+ this.agentMemory.set(pAgentId, updatedMemory);
747
+
748
+ // Persist to MongoDB if persistence service is available (async, non-blocking)
749
+ if (this.persistenceService) {
750
+ this.persistenceService.saveAgentMemory(updatedMemory)
751
+ .subscribe({
752
+ next: () => null,
753
+ error: (err: any) => this.logger.warn(`Failed to persist agent memory to MongoDB for ${pAgentId}: ${err.message}`)
754
+ });
755
+ }
756
+
757
+ // Trigger entity extraction from conversation history if Knowledge Graph is enabled
758
+ // This extracts entities and relationships for the Knowledge Graph
759
+ if (updates.conversationHistory && updates.conversationHistory.length > 0) {
760
+ const lastMessages = updates.conversationHistory.slice(-3);
761
+ const contentToExtract = lastMessages
762
+ .filter((msg): msg is typeof msg & { content: string } =>
763
+ typeof msg.content === 'string' && msg.content.length > 0)
764
+ .map(msg => msg.content)
765
+ .join('\n\n');
766
+
767
+ if (contentToExtract.length > 0) {
768
+ // Use agent ID as channel context for agent-level memories
769
+ // Entities extracted from agent memory are scoped to a pseudo-channel
770
+ const channelContext = `agent-memory-${pAgentId}`;
771
+ const memoryId = `agent-${pAgentId}-${Date.now()}`;
772
+ this.triggerEntityExtraction(channelContext, memoryId, contentToExtract)
773
+ .catch(err => this.logger.warn(`Entity extraction failed: ${err.message}`));
774
+ }
775
+ }
776
+
777
+ // Emit update event through EventBus
778
+ const operationId = uuidv4(); // Generate operationId for the event data
779
+ const updateResultData: MemoryUpdateResultEventData = {
780
+ operationId,
781
+ scope: MemoryScope.AGENT,
782
+ id: pAgentId,
783
+ memory: updatedMemory
784
+ };
785
+
786
+ // Define standard agentId and channelId for system-level memory events
787
+ const systemAgentId: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
788
+ const noChannelId: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
789
+
790
+ const payload = createMemoryUpdateResultEventPayload(
791
+ Events.Memory.UPDATE_RESULT,
792
+ systemAgentId,
793
+ noChannelId,
794
+ updateResultData
795
+ );
796
+ EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
797
+
798
+ observer.next(updatedMemory);
799
+ observer.complete();
800
+ }, error => {
801
+ const operationId_agent_update_error = uuidv4();
802
+ const updateResultData_agent_update_error: MemoryUpdateResultEventData = {
803
+ operationId: operationId_agent_update_error,
804
+ scope: MemoryScope.AGENT,
805
+ id: pAgentId,
806
+ memory: null,
807
+ error: (error as Error).message
808
+ };
809
+ const systemAgentId_agent_update_error: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
810
+ const noChannelId_agent_update_error: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
811
+ EventBus.server.emit(
812
+ Events.Memory.UPDATE_RESULT,
813
+ createMemoryUpdateResultEventPayload(
814
+ Events.Memory.UPDATE_RESULT,
815
+ systemAgentId_agent_update_error,
816
+ noChannelId_agent_update_error,
817
+ updateResultData_agent_update_error
818
+ )
819
+ );
820
+ observer.error(error);
821
+ });
822
+ });
823
+ }
824
+
825
+ /**
826
+ * Channel-scoped validation for cognitive operations
827
+ * @param agentId Agent ID
828
+ * @param channelId Channel ID
829
+ */
830
+ private validateCognitiveAccess(agentId: AgentId, channelId: ChannelId): void {
831
+ const agentMemory = this.agentMemory.get(agentId);
832
+ if (!agentMemory) {
833
+ throw new Error(`Agent ${agentId} not found in memory`);
834
+ }
835
+ // Note: Agent memory doesn't currently store channelId, but in the unified architecture it should
836
+ // For now, we'll validate that the agent exists and the channel is provided
837
+ if (!channelId) {
838
+ throw new Error(`Channel ID required for cognitive operations`);
839
+ }
840
+ }
841
+
842
+ /**
843
+ * Store an observation in cognitive memory
844
+ * @param agentId Agent ID
845
+ * @param channelId Channel ID for privacy enforcement
846
+ * @param observation The observation to store
847
+ * @returns Observable of observation ID
848
+ */
849
+ public storeObservation(agentId: AgentId, channelId: ChannelId, observation: Observation): Observable<string> {
850
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
851
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
852
+ this.validator.assertIsObject(observation, 'Observation must be an object');
853
+
854
+ this.validateCognitiveAccess(agentId, channelId);
855
+
856
+ const observationId = `obs-${uuidv4()}`;
857
+
858
+ // Create cognitive memory entry
859
+ const cognitiveEntry: CognitiveMemoryEntry<Observation> = {
860
+ id: observationId,
861
+ agentId,
862
+ channelId,
863
+ memoryType: CognitiveMemoryType.SHORT_TERM,
864
+ content: {
865
+ ...observation,
866
+ id: observationId,
867
+ agentId,
868
+ timestamp: observation.timestamp || Date.now()
869
+ },
870
+ createdAt: Date.now(),
871
+ updatedAt: Date.now(),
872
+ labels: ['observation'],
873
+ relevance: 1.0
874
+ };
875
+
876
+ // Store in cognitive memory
877
+ this.cognitiveMemory.set(observationId, cognitiveEntry);
878
+
879
+ // Update agent memory references
880
+ this.updateAgentMemory(agentId, {
881
+ cognitiveMemory: {
882
+ observationIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || []), observationId],
883
+ reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
884
+ planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
885
+ reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
886
+ }
887
+ }).subscribe();
888
+
889
+ // ;
890
+
891
+ return of(observationId);
892
+ }
893
+
894
+ /**
895
+ * Get recent observations for an agent
896
+ * @param agentId Agent ID
897
+ * @param channelId Channel ID for privacy enforcement
898
+ * @param limit Maximum number of observations to retrieve
899
+ * @returns Observable of observations
900
+ */
901
+ public getRecentObservations(agentId: AgentId, channelId: ChannelId, limit: number = 10): Observable<Observation[]> {
902
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
903
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
904
+
905
+ this.validateCognitiveAccess(agentId, channelId);
906
+
907
+ const agentMemory = this.agentMemory.get(agentId);
908
+ if (!agentMemory) {
909
+ return of([]);
910
+ }
911
+
912
+ // Get observations from cognitive memory
913
+ const observations: Observation[] = agentMemory.cognitiveMemory.observationIds
914
+ .map(id => this.cognitiveMemory.get(id))
915
+ .filter(entry => entry && entry.channelId === channelId)
916
+ .sort((a, b) => (b?.createdAt || 0) - (a?.createdAt || 0))
917
+ .slice(0, limit)
918
+ .map(entry => entry!.content)
919
+ .filter(obs => obs) as Observation[];
920
+
921
+ return of(observations);
922
+ }
923
+
924
+ /**
925
+ * Store reasoning in cognitive memory
926
+ * @param agentId Agent ID
927
+ * @param channelId Channel ID for privacy enforcement
928
+ * @param reasoning The reasoning to store
929
+ * @returns Observable of reasoning ID
930
+ */
931
+ public storeReasoning(agentId: AgentId, channelId: ChannelId, reasoning: Reasoning): Observable<string> {
932
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
933
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
934
+ this.validator.assertIsObject(reasoning, 'Reasoning must be an object');
935
+
936
+ this.validateCognitiveAccess(agentId, channelId);
937
+
938
+ const reasoningId = `reason-${uuidv4()}`;
939
+
940
+ // Create cognitive memory entry
941
+ const cognitiveEntry: CognitiveMemoryEntry<Reasoning> = {
942
+ id: reasoningId,
943
+ agentId,
944
+ channelId,
945
+ memoryType: CognitiveMemoryType.WORKING,
946
+ content: {
947
+ ...reasoning,
948
+ id: reasoningId,
949
+ agentId,
950
+ timestamp: reasoning.timestamp || Date.now()
951
+ },
952
+ createdAt: Date.now(),
953
+ updatedAt: Date.now(),
954
+ labels: ['reasoning'],
955
+ relevance: reasoning.confidence || 1.0
956
+ };
957
+
958
+ // Store in cognitive memory
959
+ this.cognitiveMemory.set(reasoningId, cognitiveEntry);
960
+
961
+ // Update agent memory references
962
+ this.updateAgentMemory(agentId, {
963
+ cognitiveMemory: {
964
+ observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
965
+ reasoningIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || []), reasoningId],
966
+ planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
967
+ reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
968
+ }
969
+ }).subscribe();
970
+
971
+ // ;
972
+
973
+ return of(reasoningId);
974
+ }
975
+
976
+ /**
977
+ * Store a plan in cognitive memory
978
+ * @param agentId Agent ID
979
+ * @param channelId Channel ID for privacy enforcement
980
+ * @param plan The plan to store
981
+ * @returns Observable of plan ID
982
+ */
983
+ public storePlan(agentId: AgentId, channelId: ChannelId, plan: Plan): Observable<string> {
984
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
985
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
986
+ this.validator.assertIsObject(plan, 'Plan must be an object');
987
+
988
+ this.validateCognitiveAccess(agentId, channelId);
989
+
990
+ const planId = `plan-${uuidv4()}`;
991
+
992
+ // Create cognitive memory entry
993
+ const cognitiveEntry: CognitiveMemoryEntry<Plan> = {
994
+ id: planId,
995
+ agentId,
996
+ channelId,
997
+ memoryType: CognitiveMemoryType.WORKING,
998
+ content: {
999
+ ...plan,
1000
+ id: planId,
1001
+ agentId,
1002
+ timestamp: plan.timestamp || Date.now()
1003
+ },
1004
+ createdAt: Date.now(),
1005
+ updatedAt: Date.now(),
1006
+ labels: ['plan'],
1007
+ relevance: 1.0
1008
+ };
1009
+
1010
+ // Store in cognitive memory
1011
+ this.cognitiveMemory.set(planId, cognitiveEntry);
1012
+
1013
+ // Update agent memory references
1014
+ this.updateAgentMemory(agentId, {
1015
+ cognitiveMemory: {
1016
+ observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
1017
+ reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
1018
+ planIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.planIds || []), planId],
1019
+ reflectionIds: this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []
1020
+ }
1021
+ }).subscribe();
1022
+
1023
+ // ;
1024
+
1025
+ return of(planId);
1026
+ }
1027
+
1028
+ /**
1029
+ * Update a plan in cognitive memory
1030
+ * @param agentId Agent ID
1031
+ * @param channelId Channel ID for privacy enforcement
1032
+ * @param plan The updated plan
1033
+ * @returns Observable of success status
1034
+ */
1035
+ public updatePlan(agentId: AgentId, channelId: ChannelId, plan: Plan): Observable<boolean> {
1036
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
1037
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
1038
+ this.validator.assertIsObject(plan, 'Plan must be an object');
1039
+
1040
+ this.validateCognitiveAccess(agentId, channelId);
1041
+
1042
+ const existingEntry = this.cognitiveMemory.get(plan.id);
1043
+ if (!existingEntry || existingEntry.agentId !== agentId || existingEntry.channelId !== channelId) {
1044
+ return of(false);
1045
+ }
1046
+
1047
+ // Update cognitive memory entry
1048
+ const updatedEntry: CognitiveMemoryEntry<Plan> = {
1049
+ ...existingEntry,
1050
+ content: {
1051
+ ...plan,
1052
+ timestamp: plan.timestamp || Date.now()
1053
+ },
1054
+ updatedAt: Date.now()
1055
+ };
1056
+
1057
+ this.cognitiveMemory.set(plan.id, updatedEntry);
1058
+
1059
+ // ;
1060
+
1061
+ return of(true);
1062
+ }
1063
+
1064
+ /**
1065
+ * Store a reflection in cognitive memory
1066
+ * @param agentId Agent ID
1067
+ * @param channelId Channel ID for privacy enforcement
1068
+ * @param reflection The reflection to store
1069
+ * @returns Observable of reflection ID
1070
+ */
1071
+ public storeReflection(agentId: AgentId, channelId: ChannelId, reflection: Reflection): Observable<string> {
1072
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
1073
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
1074
+ this.validator.assertIsObject(reflection, 'Reflection must be an object');
1075
+
1076
+ this.validateCognitiveAccess(agentId, channelId);
1077
+
1078
+ const reflectionId = `reflect-${uuidv4()}`;
1079
+
1080
+ // Create cognitive memory entry
1081
+ const cognitiveEntry: CognitiveMemoryEntry<Reflection> = {
1082
+ id: reflectionId,
1083
+ agentId,
1084
+ channelId,
1085
+ memoryType: CognitiveMemoryType.LONG_TERM,
1086
+ content: {
1087
+ ...reflection,
1088
+ id: reflectionId,
1089
+ agentId,
1090
+ timestamp: reflection.timestamp || Date.now()
1091
+ },
1092
+ createdAt: Date.now(),
1093
+ updatedAt: Date.now(),
1094
+ labels: ['reflection'],
1095
+ relevance: 1.0
1096
+ };
1097
+
1098
+ // Store in cognitive memory
1099
+ this.cognitiveMemory.set(reflectionId, cognitiveEntry);
1100
+
1101
+ // Update agent memory references
1102
+ this.updateAgentMemory(agentId, {
1103
+ cognitiveMemory: {
1104
+ observationIds: this.agentMemory.get(agentId)?.cognitiveMemory.observationIds || [],
1105
+ reasoningIds: this.agentMemory.get(agentId)?.cognitiveMemory.reasoningIds || [],
1106
+ planIds: this.agentMemory.get(agentId)?.cognitiveMemory.planIds || [],
1107
+ reflectionIds: [...(this.agentMemory.get(agentId)?.cognitiveMemory.reflectionIds || []), reflectionId]
1108
+ }
1109
+ }).subscribe();
1110
+
1111
+ // ;
1112
+
1113
+ return of(reflectionId);
1114
+ }
1115
+
1116
+ /**
1117
+ * Query cognitive memory with filtering options
1118
+ * @param agentId Agent ID
1119
+ * @param channelId Channel ID for privacy enforcement
1120
+ * @param options Query options
1121
+ * @returns Observable of cognitive memory entries
1122
+ */
1123
+ public queryCognitiveMemory(agentId: AgentId, channelId: ChannelId, options: CognitiveMemoryQueryOptions = {}): Observable<CognitiveMemoryEntry<any>[]> {
1124
+ this.validator.assertIsNonEmptyString(agentId, 'Agent ID must be a non-empty string');
1125
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
1126
+
1127
+ this.validateCognitiveAccess(agentId, channelId);
1128
+
1129
+ // Get all cognitive memory entries for this agent and channel
1130
+ const entries = Array.from(this.cognitiveMemory.values())
1131
+ .filter(entry => entry.agentId === agentId && entry.channelId === channelId);
1132
+
1133
+ // Apply filters
1134
+ let filteredEntries = entries;
1135
+
1136
+ if (options.memoryTypes && options.memoryTypes.length > 0) {
1137
+ filteredEntries = filteredEntries.filter(entry => options.memoryTypes!.includes(entry.memoryType));
1138
+ }
1139
+
1140
+ if (options.labels && options.labels.length > 0) {
1141
+ filteredEntries = filteredEntries.filter(entry =>
1142
+ options.labels!.some(label => entry.labels.includes(label))
1143
+ );
1144
+ }
1145
+
1146
+ if (options.fromTimestamp) {
1147
+ filteredEntries = filteredEntries.filter(entry => entry.createdAt >= options.fromTimestamp!);
1148
+ }
1149
+
1150
+ if (options.toTimestamp) {
1151
+ filteredEntries = filteredEntries.filter(entry => entry.createdAt <= options.toTimestamp!);
1152
+ }
1153
+
1154
+ // Sort results
1155
+ const sortBy = options.sortBy || 'createdAt';
1156
+ const sortDirection = options.sortDirection || 'desc';
1157
+ filteredEntries.sort((a, b) => {
1158
+ const aVal = a[sortBy] || 0;
1159
+ const bVal = b[sortBy] || 0;
1160
+ return sortDirection === 'asc' ? aVal - bVal : bVal - aVal;
1161
+ });
1162
+
1163
+ // Apply pagination
1164
+ const offset = options.offset || 0;
1165
+ const limit = options.limit || 50;
1166
+ filteredEntries = filteredEntries.slice(offset, offset + limit);
1167
+
1168
+ return of(filteredEntries);
1169
+ }
1170
+
1171
+ /**
1172
+ * Get channel memory
1173
+ * @param channelId Channel ID
1174
+ * @returns Observable of channel memory
1175
+ */
1176
+ public getChannelMemory(channelId: string): Observable<IEnhancedChannelMemory> {
1177
+ // ;
1178
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
1179
+
1180
+ // Return from cache if available
1181
+ if (this.channelMemory.has(channelId)) {
1182
+ const memory = this.channelMemory.get(channelId)!;
1183
+ // ;
1184
+ return of(memory);
1185
+ }
1186
+
1187
+
1188
+ // Create new memory
1189
+ const newMemory: IEnhancedChannelMemory = {
1190
+ id: uuidv4(),
1191
+ channelId,
1192
+ createdAt: new Date(),
1193
+ updatedAt: new Date(),
1194
+ persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
1195
+ notes: {},
1196
+ sharedState: {},
1197
+ conversationHistory: [],
1198
+ customData: {},
1199
+ lastActivity: undefined,
1200
+ messageCount: undefined,
1201
+ participants: undefined,
1202
+ topics: undefined,
1203
+ summary: undefined,
1204
+ sharedCognitiveInsights: {
1205
+ systemSummaries: [],
1206
+ topicExtractions: [],
1207
+ collaborativeReflections: []
1208
+ }
1209
+ };
1210
+
1211
+ this.channelMemory.set(channelId, newMemory);
1212
+
1213
+ const operationId_channel_get_new = uuidv4();
1214
+ const systemAgentId_channel_get_new: AgentId = 'SYSTEM_AGENT';
1215
+ const noChannelId_channel_get_new: ChannelId = 'NO_CHANNEL';
1216
+ const updateResultData_channel_get_new: MemoryUpdateResultEventData = {
1217
+ operationId: operationId_channel_get_new,
1218
+ scope: MemoryScope.CHANNEL,
1219
+ id: channelId,
1220
+ memory: newMemory
1221
+ };
1222
+ EventBus.server.emit(
1223
+ Events.Memory.UPDATE_RESULT,
1224
+ createMemoryUpdateResultEventPayload(
1225
+ Events.Memory.UPDATE_RESULT,
1226
+ systemAgentId_channel_get_new,
1227
+ noChannelId_channel_get_new,
1228
+ updateResultData_channel_get_new
1229
+ )
1230
+ );
1231
+
1232
+ return of(newMemory);
1233
+ }
1234
+
1235
+ /**
1236
+ * Update channel memory
1237
+ * @param channelId Channel ID
1238
+ * @param updates Channel memory updates
1239
+ * @returns Observable of updated channel memory
1240
+ */
1241
+ public updateChannelMemory(channelId: ChannelId, updates: Partial<IEnhancedChannelMemory>): Observable<IEnhancedChannelMemory> {
1242
+ this.validator.assertIsNonEmptyString(channelId, 'Channel ID must be a non-empty string');
1243
+
1244
+ return new Observable<IEnhancedChannelMemory>(observer => {
1245
+ this.getChannelMemory(channelId).subscribe(originalChannelMemory => {
1246
+ // Create updated memory by merging with original
1247
+ const updatedMemory: IEnhancedChannelMemory = {
1248
+ ...originalChannelMemory, // This spreads all base properties
1249
+ channelId,
1250
+ lastActivity: updates.lastActivity || originalChannelMemory.lastActivity || Date.now(),
1251
+ messageCount: updates.messageCount !== undefined ? updates.messageCount : originalChannelMemory.messageCount,
1252
+ participants: updates.participants
1253
+ ? [...new Set([...(originalChannelMemory.participants || []), ...updates.participants])]
1254
+ : originalChannelMemory.participants,
1255
+ topics: updates.topics
1256
+ ? [...new Set([...(originalChannelMemory.topics || []), ...updates.topics])]
1257
+ : originalChannelMemory.topics,
1258
+ summary: updates.summary || originalChannelMemory.summary,
1259
+ conversationHistory: [...(originalChannelMemory.conversationHistory || [])],
1260
+ sharedCognitiveInsights: {
1261
+ ...originalChannelMemory.sharedCognitiveInsights,
1262
+ ...updates.sharedCognitiveInsights
1263
+ }
1264
+ };
1265
+
1266
+ // Handle conversation history updates
1267
+ if (updates.conversationHistory && updates.conversationHistory.length > 0) {
1268
+ updatedMemory.conversationHistory = [
1269
+ ...(originalChannelMemory.conversationHistory || []),
1270
+ ...updates.conversationHistory
1271
+ ];
1272
+ }
1273
+
1274
+ // Store updated memory in cache
1275
+ this.channelMemory.set(channelId, updatedMemory);
1276
+
1277
+ // Emit update event through EventBus
1278
+ const operationId = uuidv4();
1279
+ const updateResultData: MemoryUpdateResultEventData = {
1280
+ operationId,
1281
+ scope: MemoryScope.CHANNEL,
1282
+ id: channelId,
1283
+ memory: updatedMemory
1284
+ };
1285
+
1286
+ // Define standard agentId and channelId for system-level memory events
1287
+ const systemAgentId: AgentId = 'SYSTEM_AGENT';
1288
+ const systemChannelId: ChannelId = channelId; // Use the actual channel ID for channel operations
1289
+
1290
+ const payload = createMemoryUpdateResultEventPayload(
1291
+ Events.Memory.UPDATE_RESULT,
1292
+ systemAgentId,
1293
+ systemChannelId,
1294
+ updateResultData
1295
+ );
1296
+ EventBus.server.emit(Events.Memory.UPDATE_RESULT, payload);
1297
+
1298
+ observer.next(updatedMemory);
1299
+ observer.complete();
1300
+ }, error => {
1301
+ const operationId_channel_update_error = uuidv4();
1302
+ const updateResultData_channel_update_error: MemoryUpdateResultEventData = {
1303
+ operationId: operationId_channel_update_error,
1304
+ scope: MemoryScope.CHANNEL,
1305
+ id: channelId,
1306
+ memory: null,
1307
+ error: (error as Error).message
1308
+ };
1309
+ const systemAgentId_channel_update_error: AgentId = 'SYSTEM_AGENT';
1310
+ const systemChannelId_channel_update_error: ChannelId = channelId;
1311
+ EventBus.server.emit(
1312
+ Events.Memory.UPDATE_RESULT,
1313
+ createMemoryUpdateResultEventPayload(
1314
+ Events.Memory.UPDATE_RESULT,
1315
+ systemAgentId_channel_update_error,
1316
+ systemChannelId_channel_update_error,
1317
+ updateResultData_channel_update_error
1318
+ )
1319
+ );
1320
+ observer.error(error);
1321
+ });
1322
+ });
1323
+ }
1324
+
1325
+ /**
1326
+ * Get relationship memory
1327
+ * @param agentId1 First agent ID
1328
+ * @param agentId2 Second agent ID
1329
+ * @param channelId Optional channel ID
1330
+ * @returns Observable of relationship memory
1331
+ */
1332
+ public getRelationshipMemory(agentId1: string, agentId2: string, channelId?: string): Observable<IRelationshipMemory> {
1333
+ this.validator.assertIsNonEmptyString(agentId1, 'First agent ID must be a non-empty string');
1334
+ this.validator.assertIsNonEmptyString(agentId2, 'Second agent ID must be a non-empty string');
1335
+
1336
+ // Sort agent IDs for consistent key generation
1337
+ const [sortedId1, sortedId2] = [agentId1, agentId2].sort();
1338
+
1339
+ // Create a composite key
1340
+ const relationshipKey = channelId
1341
+ ? `${sortedId1}:${sortedId2}:${channelId}`
1342
+ : `${sortedId1}:${sortedId2}`;
1343
+
1344
+ // Return existing memory if available
1345
+ const existingMemory = this.relationshipMemory.get(relationshipKey);
1346
+ if (existingMemory) {
1347
+ return of(existingMemory);
1348
+ }
1349
+
1350
+ // Create new memory
1351
+ const newMemory: IRelationshipMemory = {
1352
+ id: uuidv4(),
1353
+ agentId1: sortedId1,
1354
+ agentId2: sortedId2,
1355
+ channelId,
1356
+ createdAt: new Date(),
1357
+ updatedAt: new Date(),
1358
+ persistenceLevel: MemoryPersistenceLevel.PERSISTENT,
1359
+ notes: {},
1360
+ interactionHistory: [],
1361
+ customData: {}
1362
+ };
1363
+
1364
+ this.relationshipMemory.set(relationshipKey, newMemory);
1365
+
1366
+ const operationId_rel_get_new = uuidv4();
1367
+ const systemAgentId_rel_get_new: AgentId = 'SYSTEM_AGENT';
1368
+ const noChannelId_rel_get_new: ChannelId = 'NO_CHANNEL';
1369
+ const updateResultData_rel_get_new: MemoryUpdateResultEventData = {
1370
+ operationId: operationId_rel_get_new,
1371
+ scope: MemoryScope.RELATIONSHIP,
1372
+ id: relationshipKey,
1373
+ memory: newMemory
1374
+ };
1375
+ EventBus.server.emit(
1376
+ Events.Memory.UPDATE_RESULT,
1377
+ createMemoryUpdateResultEventPayload(
1378
+ Events.Memory.UPDATE_RESULT,
1379
+ systemAgentId_rel_get_new,
1380
+ noChannelId_rel_get_new,
1381
+ updateResultData_rel_get_new
1382
+ )
1383
+ );
1384
+
1385
+ return of(newMemory);
1386
+ }
1387
+
1388
+ /**
1389
+ * Update relationship memory
1390
+ * @param pAgentId1 Agent ID 1
1391
+ * @param pAgentId2 Agent ID 2
1392
+ * @param pChannelId Channel ID (optional, for context)
1393
+ * @param updates Memory updates
1394
+ * @returns Observable of updated relationship memory
1395
+ */
1396
+ public updateRelationshipMemory(pAgentId1: string, pAgentId2: string, pChannelId: string, updates: Partial<IRelationshipMemory>): Observable<IRelationshipMemory> {
1397
+ this.validator.assertIsNonEmptyString(pAgentId1, 'Agent ID 1 must be a non-empty string');
1398
+ this.validator.assertIsNonEmptyString(pAgentId2, 'Agent ID 2 must be a non-empty string');
1399
+ this.validator.assertIsNonEmptyString(pChannelId, 'Channel ID must be a non-empty string');
1400
+ this.validator.assertIsObject(updates, 'Updates must be an object');
1401
+
1402
+ const relationshipKey = this.getRelationshipKey(pAgentId1, pAgentId2, pChannelId);
1403
+
1404
+ // Get existing memory or create new one
1405
+ return new Observable<IRelationshipMemory>(observer => {
1406
+ this.getRelationshipMemory(pAgentId1, pAgentId2, pChannelId).subscribe(originalRelationshipMemory => {
1407
+ // Apply updates
1408
+ const updatedMemory: IRelationshipMemory = {
1409
+ ...originalRelationshipMemory,
1410
+ ...updates,
1411
+ updatedAt: new Date(),
1412
+ // Ensure these fields can't be overridden
1413
+ id: originalRelationshipMemory.id,
1414
+ agentId1: originalRelationshipMemory.agentId1,
1415
+ agentId2: originalRelationshipMemory.agentId2,
1416
+ channelId: originalRelationshipMemory.channelId,
1417
+ createdAt: originalRelationshipMemory.createdAt
1418
+ };
1419
+
1420
+ // Deep merge for nested objects (if any)
1421
+ // Example: if (updates.customData) { updatedMemory.customData = { ...originalRelationshipMemory.customData, ...updates.customData }; }
1422
+
1423
+ // Update in-memory store
1424
+ this.relationshipMemory.set(relationshipKey, updatedMemory);
1425
+
1426
+ const operationId_rel_update_success = uuidv4();
1427
+ const systemAgentId_rel_update_success: AgentId = 'SYSTEM_AGENT';
1428
+ const noChannelId_rel_update_success: ChannelId = 'NO_CHANNEL'; // General system event
1429
+ const updateResultData_rel_update_success: MemoryUpdateResultEventData = {
1430
+ operationId: operationId_rel_update_success,
1431
+ scope: MemoryScope.RELATIONSHIP,
1432
+ id: relationshipKey,
1433
+ memory: updatedMemory
1434
+ };
1435
+ EventBus.server.emit(
1436
+ Events.Memory.UPDATE_RESULT,
1437
+ createMemoryUpdateResultEventPayload(
1438
+ Events.Memory.UPDATE_RESULT,
1439
+ systemAgentId_rel_update_success,
1440
+ noChannelId_rel_update_success,
1441
+ updateResultData_rel_update_success
1442
+ )
1443
+ );
1444
+
1445
+ // Return updated memory
1446
+ observer.next(updatedMemory);
1447
+ observer.complete();
1448
+ }, error => { // This 'error' is from getRelationshipMemory()
1449
+ const operationId_rel_update_error = uuidv4();
1450
+ const systemAgentId_rel_update_error: AgentId = 'SYSTEM_AGENT';
1451
+ const noChannelId_rel_update_error: ChannelId = 'NO_CHANNEL';
1452
+ // Reconstruct the key for the 'id' field as it was the one attempted for the update.
1453
+ const attemptedRelationshipKey = this.getRelationshipKey(pAgentId1, pAgentId2, pChannelId);
1454
+ const updateResultData_rel_update_error: MemoryUpdateResultEventData = {
1455
+ operationId: operationId_rel_update_error,
1456
+ scope: MemoryScope.RELATIONSHIP,
1457
+ id: attemptedRelationshipKey, // Use the key that was attempted
1458
+ memory: null,
1459
+ error: (error as Error).message
1460
+ };
1461
+ EventBus.server.emit(
1462
+ Events.Memory.UPDATE_RESULT,
1463
+ createMemoryUpdateResultEventPayload(
1464
+ Events.Memory.UPDATE_RESULT,
1465
+ systemAgentId_rel_update_error,
1466
+ noChannelId_rel_update_error,
1467
+ updateResultData_rel_update_error
1468
+ )
1469
+ );
1470
+ observer.error(error);
1471
+ });
1472
+ });
1473
+ }
1474
+
1475
+ /**
1476
+ * Delete memory by scope and ID
1477
+ * @param scope Memory scope
1478
+ * @param id Entity ID
1479
+ * @returns Observable of success status
1480
+ */
1481
+ public deleteMemory(scope: MemoryScope, id: string): Observable<boolean> {
1482
+ this.validator.validateMemoryScope(scope);
1483
+ this.validator.assertIsNonEmptyString(id, 'ID must be a non-empty string');
1484
+
1485
+ let success = false;
1486
+ const operationId = uuidv4(); // Generate operationId for the event data
1487
+
1488
+ switch (scope) {
1489
+ case MemoryScope.AGENT:
1490
+ success = this.agentMemory.delete(id);
1491
+ break;
1492
+ case MemoryScope.CHANNEL:
1493
+ success = this.channelMemory.delete(id);
1494
+ break;
1495
+ case MemoryScope.RELATIONSHIP:
1496
+ success = this.relationshipMemory.delete(id);
1497
+ break;
1498
+ }
1499
+
1500
+ // Emit delete event through EventBus
1501
+ const deleteResultData: MemoryDeleteResultEventData = {
1502
+ operationId,
1503
+ scope,
1504
+ id,
1505
+ success
1506
+ };
1507
+
1508
+ // Define standard agentId and channelId for system-level memory events
1509
+ const systemAgentId: AgentId = 'SYSTEM_AGENT'; // Or a more specific system agent ID
1510
+ const noChannelId: ChannelId = 'NO_CHANNEL'; // Or a more specific system channel ID or null if appropriate
1511
+
1512
+ const payload = createMemoryDeleteResultEventPayload(
1513
+ Events.Memory.DELETE_RESULT,
1514
+ systemAgentId,
1515
+ noChannelId,
1516
+ deleteResultData
1517
+ );
1518
+ EventBus.server.emit(Events.Memory.DELETE_RESULT, payload);
1519
+
1520
+ return of(success);
1521
+ }
1522
+
1523
+ /**
1524
+ * Clear all memory of a specific scope
1525
+ * @param scope Memory scope
1526
+ * @returns Observable of success status
1527
+ */
1528
+ public clearMemory(scope: MemoryScope): Observable<boolean> {
1529
+ this.validator.validateMemoryScope(scope);
1530
+
1531
+ switch (scope) {
1532
+ case MemoryScope.AGENT:
1533
+ this.agentMemory.clear();
1534
+ break;
1535
+ case MemoryScope.CHANNEL:
1536
+ this.channelMemory.clear();
1537
+ break;
1538
+ case MemoryScope.RELATIONSHIP:
1539
+ this.relationshipMemory.clear();
1540
+ break;
1541
+ }
1542
+
1543
+ // Emit clear event through EventBus
1544
+ EventBus.server.emit(Events.Memory.CLEAR_RESULT, {
1545
+ scope,
1546
+ timestamp: Date.now()
1547
+ });
1548
+
1549
+ return of(true);
1550
+ }
1551
+
1552
+ /**
1553
+ * Clear all memory
1554
+ * @returns Observable of success status
1555
+ */
1556
+ public clearAllMemory(): Observable<boolean> {
1557
+ this.agentMemory.clear();
1558
+ this.channelMemory.clear();
1559
+ this.relationshipMemory.clear();
1560
+ this.generalData.clear();
1561
+ this.cognitiveMemory.clear();
1562
+
1563
+ // Emit clear all event through EventBus
1564
+ EventBus.server.emit(Events.Memory.CLEAR_ALL_RESULT, {
1565
+ timestamp: Date.now()
1566
+ });
1567
+
1568
+ return of(true);
1569
+ }
1570
+
1571
+ /**
1572
+ * Get general key-value data
1573
+ * Used for tool-level key-value storage
1574
+ */
1575
+ public getGeneralData(key: string): any {
1576
+ return this.generalData.get(key);
1577
+ }
1578
+
1579
+ /**
1580
+ * Set general key-value data
1581
+ * Used for tool-level key-value storage
1582
+ */
1583
+ public setGeneralData(key: string, value: any): void {
1584
+ this.generalData.set(key, value);
1585
+ }
1586
+
1587
+ /**
1588
+ * Delete general key-value data
1589
+ */
1590
+ public deleteGeneralData(key: string): boolean {
1591
+ return this.generalData.delete(key);
1592
+ }
1593
+
1594
+ // =========================================================================
1595
+ // Memory Utility Learning System (MULS) Methods
1596
+ // =========================================================================
1597
+
1598
+ /**
1599
+ * Retrieve memories with utility-based scoring (MULS)
1600
+ *
1601
+ * Two-Phase Retrieval:
1602
+ * Phase A: Query semantic search → filter by similarity threshold → take top k1
1603
+ * Phase B: Fetch Q-values → z-score normalize → composite score → return top k2
1604
+ *
1605
+ * @param options Retrieval options including query, phase, and filters
1606
+ * @returns Retrieved memories with utility scoring information
1607
+ */
1608
+ public async retrieveWithUtility(options: UtilityRetrievalOptions): Promise<UtilityRetrievalResult> {
1609
+ const startTime = Date.now();
1610
+ const qValueManager = QValueManager.getInstance();
1611
+ const utilityScorer = UtilityScorerService.getInstance();
1612
+
1613
+ // If MULS is disabled, return empty result
1614
+ if (!qValueManager.isEnabled()) {
1615
+ return {
1616
+ memories: [],
1617
+ metadata: {
1618
+ query: options.query,
1619
+ phase: options.phase,
1620
+ lambda: 0,
1621
+ totalCandidates: 0,
1622
+ semanticSearchTimeMs: 0,
1623
+ utilityScoringTimeMs: 0,
1624
+ totalTimeMs: Date.now() - startTime
1625
+ }
1626
+ };
1627
+ }
1628
+
1629
+ const semanticSearchStart = Date.now();
1630
+
1631
+ // Phase A: Semantic search to get candidates
1632
+ // This would typically integrate with MxfMeilisearchService
1633
+ // For now, we search cognitive memory as a fallback
1634
+ const candidates: MemoryCandidate[] = [];
1635
+
1636
+ // Search cognitive memory entries matching the query
1637
+ const allCognitiveEntries = Array.from(this.cognitiveMemory.values());
1638
+ for (const entry of allCognitiveEntries) {
1639
+ // Filter by agent/channel if specified
1640
+ if (options.agentId && entry.agentId !== options.agentId) continue;
1641
+ if (options.channelId && entry.channelId !== options.channelId) continue;
1642
+
1643
+ // Simple text similarity for cognitive memory (in production, use Meilisearch)
1644
+ const contentStr = JSON.stringify(entry.content).toLowerCase();
1645
+ const queryWords = options.query.toLowerCase().split(/\s+/);
1646
+ const matchCount = queryWords.filter(word => contentStr.includes(word)).length;
1647
+ const similarity = matchCount / Math.max(queryWords.length, 1);
1648
+
1649
+ // Apply similarity threshold
1650
+ const threshold = options.similarityThreshold ?? 0.3;
1651
+ if (similarity >= threshold) {
1652
+ // Get Q-value from manager or use default
1653
+ const qValue = qValueManager.getQValue(entry.id);
1654
+
1655
+ candidates.push({
1656
+ memoryId: entry.id,
1657
+ similarity,
1658
+ qValue,
1659
+ content: entry.content,
1660
+ metadata: {
1661
+ memoryType: entry.memoryType,
1662
+ labels: entry.labels,
1663
+ createdAt: entry.createdAt
1664
+ }
1665
+ });
1666
+ }
1667
+ }
1668
+
1669
+ const semanticSearchTimeMs = Date.now() - semanticSearchStart;
1670
+
1671
+ // Limit candidates for Phase B
1672
+ const maxCandidates = options.maxCandidates ?? 20;
1673
+ candidates.sort((a, b) => b.similarity - a.similarity);
1674
+ const topCandidates = candidates.slice(0, maxCandidates);
1675
+
1676
+ // Phase B: Utility scoring
1677
+ const utilityScoringStart = Date.now();
1678
+
1679
+ const scoringResult = options.phase
1680
+ ? utilityScorer.scoreForPhase(options.query, topCandidates, options.phase)
1681
+ : utilityScorer.scoreMemories(options.query, topCandidates, {
1682
+ lambda: options.lambda,
1683
+ maxResults: options.maxResults,
1684
+ includeBreakdown: options.includeBreakdown
1685
+ });
1686
+
1687
+ const utilityScoringTimeMs = Date.now() - utilityScoringStart;
1688
+
1689
+ // Build result
1690
+ const memories: RetrievedMemoryWithUtility[] = scoringResult.memories.map(scored => ({
1691
+ memoryId: scored.memoryId,
1692
+ content: scored.content,
1693
+ score: scored.finalScore,
1694
+ breakdown: scored.breakdown,
1695
+ metadata: scored.metadata
1696
+ }));
1697
+
1698
+ // Emit retrieval event
1699
+ this.emitUtilityRetrievalEvent(options, memories, scoringResult.stats.lambdaUsed, {
1700
+ semanticSearchTimeMs,
1701
+ utilityScoringTimeMs,
1702
+ totalCandidates: candidates.length
1703
+ });
1704
+
1705
+ return {
1706
+ memories,
1707
+ metadata: {
1708
+ query: options.query,
1709
+ phase: options.phase,
1710
+ lambda: scoringResult.stats.lambdaUsed,
1711
+ totalCandidates: candidates.length,
1712
+ semanticSearchTimeMs,
1713
+ utilityScoringTimeMs,
1714
+ totalTimeMs: Date.now() - startTime
1715
+ }
1716
+ };
1717
+ }
1718
+
1719
+ /**
1720
+ * Track memory usage for reward attribution
1721
+ *
1722
+ * @param taskId The task ID to track usage for
1723
+ * @param memoryIds The memory IDs that were retrieved
1724
+ * @param phase The ORPAR phase when retrieval occurred
1725
+ */
1726
+ public trackMemoryUsage(taskId: string, memoryIds: string[], phase: OrparPhase): void {
1727
+ const rewardProcessor = RewardSignalProcessor.getInstance();
1728
+
1729
+ if (!rewardProcessor.isEnabled()) {
1730
+ return;
1731
+ }
1732
+
1733
+ rewardProcessor.trackMemoriesUsage(taskId, memoryIds, phase);
1734
+ this.logger.debug(`[MemoryService] Tracked ${memoryIds.length} memories for task ${taskId} (phase=${phase})`);
1735
+ }
1736
+
1737
+ /**
1738
+ * Update Q-value for a specific memory
1739
+ * Used by QValueManager persistence callback
1740
+ */
1741
+ public async updateMemoryUtility(memoryId: string, utilityUpdate: Partial<MemoryUtilitySubdocument>): Promise<void> {
1742
+ // Find the memory in cognitive memory cache
1743
+ const cognitiveEntry = this.cognitiveMemory.get(memoryId);
1744
+ if (cognitiveEntry) {
1745
+ // Update in-memory cache (cognitive memory doesn't have utility subdoc by default)
1746
+ // For cognitive memory, we just rely on QValueManager's cache
1747
+ return;
1748
+ }
1749
+
1750
+ // For persistent memory, delegate to persistence service
1751
+ if (this.persistenceService) {
1752
+ try {
1753
+ // Update agent memory with utility subdocument
1754
+ // This is a partial update to just the utility field
1755
+ await this.persistenceService.updateAgentMemoryUtility?.(memoryId, utilityUpdate);
1756
+ } catch (error) {
1757
+ this.logger.warn(`[MemoryService] Failed to update utility for memory ${memoryId}: ${error}`);
1758
+ }
1759
+ }
1760
+ }
1761
+
1762
+ /**
1763
+ * Trigger entity extraction from memory content
1764
+ *
1765
+ * Called when memory is stored or promoted to extract entities and relationships
1766
+ * for the Knowledge Graph. Only processes if Knowledge Graph is enabled and
1767
+ * entity extraction is enabled.
1768
+ *
1769
+ * @param channelId - The channel context for the extracted entities
1770
+ * @param memoryId - The memory ID being processed
1771
+ * @param content - The text content to extract entities from
1772
+ */
1773
+ public async triggerEntityExtraction(
1774
+ channelId: ChannelId,
1775
+ memoryId: string,
1776
+ content: string
1777
+ ): Promise<void> {
1778
+ // Check if Knowledge Graph and extraction are enabled
1779
+ if (!isKnowledgeGraphEnabled() || !isExtractionEnabled()) {
1780
+ return;
1781
+ }
1782
+
1783
+ // Skip if content is too short or empty
1784
+ if (!content || content.trim().length < 20) {
1785
+ return;
1786
+ }
1787
+
1788
+ try {
1789
+ const extractionService = EntityExtractionService.getInstance();
1790
+ const result = await extractionService.processMemory(channelId, memoryId, content);
1791
+
1792
+ if (result.entitiesExtracted > 0 || result.relationshipsExtracted > 0) {
1793
+ this.logger.debug(
1794
+ `[MemoryService] Extracted ${result.entitiesExtracted} entities and ` +
1795
+ `${result.relationshipsExtracted} relationships from memory ${memoryId}`
1796
+ );
1797
+ }
1798
+ } catch (error: any) {
1799
+ this.logger.warn(
1800
+ `[MemoryService] Entity extraction failed for memory ${memoryId}: ${error.message}`
1801
+ );
1802
+ }
1803
+ }
1804
+
1805
+ /**
1806
+ * Emit utility retrieval completed event
1807
+ */
1808
+ private emitUtilityRetrievalEvent(
1809
+ options: UtilityRetrievalOptions,
1810
+ memories: RetrievedMemoryWithUtility[],
1811
+ lambda: number,
1812
+ timing: { semanticSearchTimeMs: number; utilityScoringTimeMs: number; totalCandidates: number }
1813
+ ): void {
1814
+ try {
1815
+ EventBus.server.emit(Events.MemoryUtility.UTILITY_RETRIEVAL_COMPLETED, createBaseEventPayload(
1816
+ Events.MemoryUtility.UTILITY_RETRIEVAL_COMPLETED,
1817
+ options.agentId ?? 'system',
1818
+ options.channelId ?? 'global',
1819
+ {
1820
+ query: options.query,
1821
+ phase: options.phase,
1822
+ lambda,
1823
+ totalCandidates: timing.totalCandidates,
1824
+ resultsReturned: memories.length,
1825
+ semanticSearchTimeMs: timing.semanticSearchTimeMs,
1826
+ utilityScoringTimeMs: timing.utilityScoringTimeMs,
1827
+ totalTimeMs: timing.semanticSearchTimeMs + timing.utilityScoringTimeMs,
1828
+ memoryIds: memories.map(m => m.memoryId),
1829
+ agentId: options.agentId,
1830
+ channelId: options.channelId
1831
+ }
1832
+ ));
1833
+ } catch (error) {
1834
+ // EventBus may not be available in all contexts
1835
+ this.logger.debug(`[MemoryService] Could not emit utility retrieval event: ${error}`);
1836
+ }
1837
+ }
1838
+
1839
+ private getRelationshipKey(agentId1: string, agentId2: string, channelId?: string): string {
1840
+ const [sortedId1, sortedId2] = [agentId1, agentId2].sort();
1841
+ return channelId ? `${sortedId1}:${sortedId2}:${channelId}` : `${sortedId1}:${sortedId2}`;
1842
+ }
1843
+
1844
+ /**
1845
+ * Compare two data objects to determine if they are equal
1846
+ * Uses deep comparison for objects and arrays
1847
+ */
1848
+ private isDataEqual(data1: any, data2: any): boolean {
1849
+ // Handle null/undefined cases
1850
+ if (data1 === data2) return true;
1851
+ if (data1 == null || data2 == null) return false;
1852
+
1853
+ // Handle primitive types
1854
+ if (typeof data1 !== 'object' || typeof data2 !== 'object') {
1855
+ return data1 === data2;
1856
+ }
1857
+
1858
+ // Handle arrays
1859
+ if (Array.isArray(data1) && Array.isArray(data2)) {
1860
+ if (data1.length !== data2.length) return false;
1861
+ return data1.every((item, index) => this.isDataEqual(item, data2[index]));
1862
+ }
1863
+
1864
+ // Handle objects
1865
+ if (Array.isArray(data1) || Array.isArray(data2)) return false;
1866
+
1867
+ const keys1 = Object.keys(data1);
1868
+ const keys2 = Object.keys(data2);
1869
+
1870
+ if (keys1.length !== keys2.length) return false;
1871
+
1872
+ return keys1.every(key =>
1873
+ keys2.includes(key) && this.isDataEqual(data1[key], data2[key])
1874
+ );
1875
+ }
1876
+ }