@mxf-dev/core 2.0.4 → 3.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 (466) hide show
  1. package/dist/config/ModelContextLimits.d.ts.map +1 -1
  2. package/dist/config/ModelContextLimits.js +7 -1
  3. package/dist/config/ModelContextLimits.js.map +1 -1
  4. package/dist/constants/CoreTools.d.ts +6 -5
  5. package/dist/constants/CoreTools.d.ts.map +1 -1
  6. package/dist/constants/CoreTools.js +6 -5
  7. package/dist/constants/CoreTools.js.map +1 -1
  8. package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -1
  9. package/dist/constants/DefaultPhaseProfiles.js +29 -0
  10. package/dist/constants/DefaultPhaseProfiles.js.map +1 -1
  11. package/dist/constants/ReservedIdentities.d.ts +14 -0
  12. package/dist/constants/ReservedIdentities.d.ts.map +1 -0
  13. package/dist/constants/ReservedIdentities.js +42 -0
  14. package/dist/constants/ReservedIdentities.js.map +1 -0
  15. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +16 -16
  16. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -1
  17. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +98 -36
  18. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -1
  19. package/dist/events/ClientEventBus.d.ts +28 -0
  20. package/dist/events/ClientEventBus.d.ts.map +1 -1
  21. package/dist/events/ClientEventBus.js +87 -40
  22. package/dist/events/ClientEventBus.js.map +1 -1
  23. package/dist/events/EventBus.d.ts +19 -1
  24. package/dist/events/EventBus.d.ts.map +1 -1
  25. package/dist/events/EventBus.js +23 -0
  26. package/dist/events/EventBus.js.map +1 -1
  27. package/dist/events/EventBusBase.d.ts +37 -6
  28. package/dist/events/EventBusBase.d.ts.map +1 -1
  29. package/dist/events/EventBusBase.js +75 -27
  30. package/dist/events/EventBusBase.js.map +1 -1
  31. package/dist/events/EventNames.d.ts +49 -36
  32. package/dist/events/EventNames.d.ts.map +1 -1
  33. package/dist/events/EventNames.js +38 -36
  34. package/dist/events/EventNames.js.map +1 -1
  35. package/dist/events/PublicEvents.d.ts +5 -1
  36. package/dist/events/PublicEvents.d.ts.map +1 -1
  37. package/dist/events/PublicEvents.js +7 -0
  38. package/dist/events/PublicEvents.js.map +1 -1
  39. package/dist/events/ServerEventBus.d.ts +7 -54
  40. package/dist/events/ServerEventBus.d.ts.map +1 -1
  41. package/dist/events/ServerEventBus.js +10 -96
  42. package/dist/events/ServerEventBus.js.map +1 -1
  43. package/dist/events/event-definitions/ControlLoopEvents.d.ts +35 -0
  44. package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -1
  45. package/dist/events/event-definitions/ControlLoopEvents.js +6 -0
  46. package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -1
  47. package/dist/events/event-definitions/SdkEvents.d.ts +55 -0
  48. package/dist/events/event-definitions/SdkEvents.d.ts.map +1 -0
  49. package/dist/events/event-definitions/SdkEvents.js +36 -0
  50. package/dist/events/event-definitions/SdkEvents.js.map +1 -0
  51. package/dist/events/event-definitions/TaskEvents.d.ts +2 -7
  52. package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -1
  53. package/dist/index.d.ts +4 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/interfaces/AgentInterfaces.d.ts +5 -0
  58. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
  59. package/dist/interfaces/ChannelConfig.d.ts +2 -2
  60. package/dist/interfaces/ChannelConfig.d.ts.map +1 -1
  61. package/dist/interfaces/ConversationMessage.d.ts +1 -1
  62. package/dist/interfaces/ConversationMessage.d.ts.map +1 -1
  63. package/dist/interfaces/IMemoryPersistence.d.ts +47 -1
  64. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -1
  65. package/dist/interfaces/SocketServiceInterface.d.ts +3 -2
  66. package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -1
  67. package/dist/interfaces/TaskInterfaces.d.ts +14 -1
  68. package/dist/interfaces/TaskInterfaces.d.ts.map +1 -1
  69. package/dist/models/agent.d.ts +0 -1
  70. package/dist/models/agent.d.ts.map +1 -1
  71. package/dist/models/agent.js +0 -5
  72. package/dist/models/agent.js.map +1 -1
  73. package/dist/models/agentIdentityReservation.d.ts +42 -0
  74. package/dist/models/agentIdentityReservation.d.ts.map +1 -0
  75. package/dist/models/agentIdentityReservation.js +52 -0
  76. package/dist/models/agentIdentityReservation.js.map +1 -0
  77. package/dist/models/channel.d.ts +2 -0
  78. package/dist/models/channel.d.ts.map +1 -1
  79. package/dist/models/channel.js.map +1 -1
  80. package/dist/models/channelKey.d.ts +1 -0
  81. package/dist/models/channelKey.d.ts.map +1 -1
  82. package/dist/models/channelKey.js +5 -0
  83. package/dist/models/channelKey.js.map +1 -1
  84. package/dist/models/memory.d.ts +1 -1
  85. package/dist/models/memory.d.ts.map +1 -1
  86. package/dist/models/memory.js +9 -12
  87. package/dist/models/memory.js.map +1 -1
  88. package/dist/models/memoryStrata.d.ts +3 -16
  89. package/dist/models/memoryStrata.d.ts.map +1 -1
  90. package/dist/models/memoryStrata.js +3 -5
  91. package/dist/models/memoryStrata.js.map +1 -1
  92. package/dist/models/plan.d.ts +2 -2
  93. package/dist/models/plan.d.ts.map +1 -1
  94. package/dist/models/plan.js +1 -1
  95. package/dist/models/plan.js.map +1 -1
  96. package/dist/models/taskEffectiveness.d.ts +1 -0
  97. package/dist/models/taskEffectiveness.d.ts.map +1 -1
  98. package/dist/models/taskEffectiveness.js +7 -1
  99. package/dist/models/taskEffectiveness.js.map +1 -1
  100. package/dist/models/user.d.ts +4 -0
  101. package/dist/models/user.d.ts.map +1 -1
  102. package/dist/models/user.js +8 -0
  103. package/dist/models/user.js.map +1 -1
  104. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts +16 -0
  105. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts.map +1 -0
  106. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js +25 -0
  107. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js.map +1 -0
  108. package/dist/protocols/mcp/McpServerTypes.d.ts +9 -0
  109. package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -1
  110. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -1
  111. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -0
  112. package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -1
  113. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -1
  114. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -0
  115. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -1
  116. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +4 -0
  117. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -1
  118. package/dist/protocols/mcp/providers/BaseMcpClient.js +10 -0
  119. package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -1
  120. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -1
  121. package/dist/protocols/mcp/providers/CustomMcpClient.js +7 -0
  122. package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -1
  123. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -1
  124. package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -0
  125. package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -1
  126. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -0
  127. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -1
  128. package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -0
  129. package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -1
  130. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -1
  131. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -0
  132. package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -1
  133. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
  134. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +2 -0
  135. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
  136. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -1
  137. package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -0
  138. package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -1
  139. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts +14 -0
  140. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts.map +1 -0
  141. package/dist/protocols/mcp/security/BrowserTargetGuard.js +55 -0
  142. package/dist/protocols/mcp/security/BrowserTargetGuard.js.map +1 -0
  143. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts +24 -0
  144. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts.map +1 -0
  145. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js +33 -0
  146. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js.map +1 -0
  147. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -1
  148. package/dist/protocols/mcp/security/HttpTargetGuard.js +68 -6
  149. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -1
  150. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  151. package/dist/protocols/mcp/security/McpSecurityGuard.js +7 -5
  152. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  153. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +18 -0
  154. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -1
  155. package/dist/protocols/mcp/security/McpToolPolicy.js +60 -0
  156. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -1
  157. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +118 -5
  158. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  159. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +499 -98
  160. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  161. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +2 -2
  162. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  163. package/dist/protocols/mcp/services/ExternalServerConfigs.js +25 -8
  164. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  165. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +3 -37
  166. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -1
  167. package/dist/protocols/mcp/tools/AnalyticsTools.js +134 -614
  168. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  169. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  170. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -13
  171. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  172. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -1
  173. package/dist/protocols/mcp/tools/EffectivenessTools.js +94 -30
  174. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  175. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  176. package/dist/protocols/mcp/tools/GitTools.js +9 -5
  177. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  178. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +10 -40
  179. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  180. package/dist/protocols/mcp/tools/InfrastructureTools.js +29 -70
  181. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  182. package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -1
  183. package/dist/protocols/mcp/tools/JsonTools.js +4 -4
  184. package/dist/protocols/mcp/tools/JsonTools.js.map +1 -1
  185. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +55 -592
  186. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -1
  187. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +169 -119
  188. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -1
  189. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +6 -6
  190. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  191. package/dist/protocols/mcp/tools/MemorySearchTools.js +107 -39
  192. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  193. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +4 -5
  194. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -1
  195. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +59 -208
  196. package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -1
  197. package/dist/protocols/mcp/tools/PlanningTools.d.ts +2 -1
  198. package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -1
  199. package/dist/protocols/mcp/tools/PlanningTools.js +111 -49
  200. package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -1
  201. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -1
  202. package/dist/protocols/mcp/tools/ProjectContextTools.js +18 -12
  203. package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -1
  204. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  205. package/dist/protocols/mcp/tools/SafetyTools.js +16 -13
  206. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  207. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +24 -7
  208. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -1
  209. package/dist/protocols/mcp/tools/SearchProjectTools.js +226 -126
  210. package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -1
  211. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +0 -32
  212. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  213. package/dist/protocols/mcp/tools/TaskPlanningTools.js +363 -450
  214. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  215. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  216. package/dist/protocols/mcp/tools/TestTools.js +18 -11
  217. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  218. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  219. package/dist/protocols/mcp/tools/TypeScriptTools.js +22 -12
  220. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  221. package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -1
  222. package/dist/protocols/mcp/tools/UserInputTools.js +14 -1
  223. package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -1
  224. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +3 -1
  225. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -1
  226. package/dist/protocols/mcp/tools/UserMemoryTools.js +27 -62
  227. package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -1
  228. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  229. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +14 -60
  230. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  231. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -1
  232. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +9 -27
  233. package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -1
  234. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +40 -30
  235. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -1
  236. package/dist/schemas/EventPayloadSchema.d.ts +28 -0
  237. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  238. package/dist/schemas/EventPayloadSchema.js +30 -1
  239. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  240. package/dist/schemas/MxpProtocolSchemas.d.ts +6 -6
  241. package/dist/services/AgentPerformanceService.d.ts +11 -0
  242. package/dist/services/AgentPerformanceService.d.ts.map +1 -1
  243. package/dist/services/AgentPerformanceService.js +59 -33
  244. package/dist/services/AgentPerformanceService.js.map +1 -1
  245. package/dist/services/AutoCorrectionService.d.ts +3 -0
  246. package/dist/services/AutoCorrectionService.d.ts.map +1 -1
  247. package/dist/services/AutoCorrectionService.js +19 -2
  248. package/dist/services/AutoCorrectionService.js.map +1 -1
  249. package/dist/services/BackgroundTaskManager.d.ts +23 -7
  250. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  251. package/dist/services/BackgroundTaskManager.js +137 -57
  252. package/dist/services/BackgroundTaskManager.js.map +1 -1
  253. package/dist/services/BrowserManager.d.ts +2 -0
  254. package/dist/services/BrowserManager.d.ts.map +1 -1
  255. package/dist/services/BrowserManager.js +18 -15
  256. package/dist/services/BrowserManager.js.map +1 -1
  257. package/dist/services/ChannelContextMemoryOperations.d.ts +8 -1
  258. package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -1
  259. package/dist/services/ChannelContextMemoryOperations.js +89 -165
  260. package/dist/services/ChannelContextMemoryOperations.js.map +1 -1
  261. package/dist/services/ChannelContextMessageOperations.d.ts +4 -3
  262. package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -1
  263. package/dist/services/ChannelContextMessageOperations.js +72 -212
  264. package/dist/services/ChannelContextMessageOperations.js.map +1 -1
  265. package/dist/services/MemoryService.d.ts +52 -21
  266. package/dist/services/MemoryService.d.ts.map +1 -1
  267. package/dist/services/MemoryService.js +775 -548
  268. package/dist/services/MemoryService.js.map +1 -1
  269. package/dist/services/PatternLearningService.d.ts +5 -0
  270. package/dist/services/PatternLearningService.d.ts.map +1 -1
  271. package/dist/services/PatternLearningService.js +26 -3
  272. package/dist/services/PatternLearningService.js.map +1 -1
  273. package/dist/services/PerformanceOptimizationService.d.ts +2 -1
  274. package/dist/services/PerformanceOptimizationService.d.ts.map +1 -1
  275. package/dist/services/PerformanceOptimizationService.js +21 -6
  276. package/dist/services/PerformanceOptimizationService.js.map +1 -1
  277. package/dist/services/PredictiveAnalyticsService.d.ts +1 -0
  278. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  279. package/dist/services/PredictiveAnalyticsService.js +18 -6
  280. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  281. package/dist/services/ProactiveValidationService.d.ts +6 -0
  282. package/dist/services/ProactiveValidationService.d.ts.map +1 -1
  283. package/dist/services/ProactiveValidationService.js +58 -39
  284. package/dist/services/ProactiveValidationService.js.map +1 -1
  285. package/dist/services/TaskEffectivenessService.d.ts +55 -31
  286. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  287. package/dist/services/TaskEffectivenessService.js +243 -125
  288. package/dist/services/TaskEffectivenessService.js.map +1 -1
  289. package/dist/services/ToolExecutionInterceptor.d.ts +4 -0
  290. package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -1
  291. package/dist/services/ToolExecutionInterceptor.js +31 -5
  292. package/dist/services/ToolExecutionInterceptor.js.map +1 -1
  293. package/dist/services/UserInputRequestManager.d.ts +13 -3
  294. package/dist/services/UserInputRequestManager.d.ts.map +1 -1
  295. package/dist/services/UserInputRequestManager.js +42 -6
  296. package/dist/services/UserInputRequestManager.js.map +1 -1
  297. package/dist/services/UserMemoryService.d.ts +2 -0
  298. package/dist/services/UserMemoryService.d.ts.map +1 -1
  299. package/dist/services/UserMemoryService.js +9 -4
  300. package/dist/services/UserMemoryService.js.map +1 -1
  301. package/dist/services/ValidationAnalyticsService.d.ts +4 -0
  302. package/dist/services/ValidationAnalyticsService.d.ts.map +1 -1
  303. package/dist/services/ValidationAnalyticsService.js +30 -8
  304. package/dist/services/ValidationAnalyticsService.js.map +1 -1
  305. package/dist/services/ValidationCacheService.d.ts +3 -1
  306. package/dist/services/ValidationCacheService.d.ts.map +1 -1
  307. package/dist/services/ValidationCacheService.js +25 -4
  308. package/dist/services/ValidationCacheService.js.map +1 -1
  309. package/dist/services/ValidationMiddleware.d.ts +7 -0
  310. package/dist/services/ValidationMiddleware.d.ts.map +1 -1
  311. package/dist/services/ValidationMiddleware.js +53 -10
  312. package/dist/services/ValidationMiddleware.js.map +1 -1
  313. package/dist/services/ValidationPerformanceService.d.ts +3 -0
  314. package/dist/services/ValidationPerformanceService.d.ts.map +1 -1
  315. package/dist/services/ValidationPerformanceService.js +28 -11
  316. package/dist/services/ValidationPerformanceService.js.map +1 -1
  317. package/dist/services/WebSearchService.d.ts.map +1 -1
  318. package/dist/services/WebSearchService.js +9 -0
  319. package/dist/services/WebSearchService.js.map +1 -1
  320. package/dist/services/dag/TaskDagService.d.ts +3 -0
  321. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  322. package/dist/services/dag/TaskDagService.js +18 -0
  323. package/dist/services/dag/TaskDagService.js.map +1 -1
  324. package/dist/services/kg/EntityQValueManager.d.ts +3 -1
  325. package/dist/services/kg/EntityQValueManager.d.ts.map +1 -1
  326. package/dist/services/kg/EntityQValueManager.js +10 -10
  327. package/dist/services/kg/EntityQValueManager.js.map +1 -1
  328. package/dist/services/kg/GraphSurpriseCalculator.d.ts +0 -4
  329. package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -1
  330. package/dist/services/kg/GraphSurpriseCalculator.js +0 -9
  331. package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -1
  332. package/dist/services/kg/KnowledgeGraphService.d.ts +12 -12
  333. package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -1
  334. package/dist/services/kg/KnowledgeGraphService.js +43 -51
  335. package/dist/services/kg/KnowledgeGraphService.js.map +1 -1
  336. package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -1
  337. package/dist/services/kg/OrparGraphIntegration.js +6 -5
  338. package/dist/services/kg/OrparGraphIntegration.js.map +1 -1
  339. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -0
  340. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -1
  341. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +8 -1
  342. package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -1
  343. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
  344. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  345. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +93 -45
  346. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  347. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -0
  348. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -1
  349. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +8 -1
  350. package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -1
  351. package/dist/types/ChannelContext.d.ts +2 -1
  352. package/dist/types/ChannelContext.d.ts.map +1 -1
  353. package/dist/types/EffectivenessTypes.d.ts +4 -1
  354. package/dist/types/EffectivenessTypes.d.ts.map +1 -1
  355. package/dist/types/TaskCompletionTypes.d.ts +7 -5
  356. package/dist/types/TaskCompletionTypes.d.ts.map +1 -1
  357. package/dist/types/TaskTypes.d.ts +8 -1
  358. package/dist/types/TaskTypes.d.ts.map +1 -1
  359. package/dist/utils/GlobMatcher.d.ts +37 -0
  360. package/dist/utils/GlobMatcher.d.ts.map +1 -0
  361. package/dist/utils/GlobMatcher.js +131 -0
  362. package/dist/utils/GlobMatcher.js.map +1 -0
  363. package/package.json +1 -1
  364. package/src/config/ModelContextLimits.ts +7 -1
  365. package/src/constants/CoreTools.ts +6 -5
  366. package/src/constants/DefaultPhaseProfiles.ts +29 -0
  367. package/src/constants/ReservedIdentities.ts +51 -0
  368. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +115 -36
  369. package/src/events/ClientEventBus.ts +117 -48
  370. package/src/events/EventBus.ts +32 -2
  371. package/src/events/EventBusBase.ts +132 -39
  372. package/src/events/EventNames.ts +43 -36
  373. package/src/events/PublicEvents.ts +8 -0
  374. package/src/events/ServerEventBus.ts +9 -128
  375. package/src/events/event-definitions/ControlLoopEvents.ts +12 -0
  376. package/src/events/event-definitions/SdkEvents.ts +58 -0
  377. package/src/events/event-definitions/TaskEvents.ts +2 -2
  378. package/src/index.ts +15 -0
  379. package/src/interfaces/AgentInterfaces.ts +5 -0
  380. package/src/interfaces/ChannelConfig.ts +2 -2
  381. package/src/interfaces/ConversationMessage.ts +5 -0
  382. package/src/interfaces/IMemoryPersistence.ts +55 -1
  383. package/src/interfaces/SocketServiceInterface.ts +3 -2
  384. package/src/interfaces/TaskInterfaces.ts +16 -1
  385. package/src/models/agent.ts +0 -6
  386. package/src/models/agentIdentityReservation.ts +77 -0
  387. package/src/models/channel.ts +2 -0
  388. package/src/models/channelKey.ts +10 -0
  389. package/src/models/memory.ts +18 -19
  390. package/src/models/memoryStrata.ts +9 -23
  391. package/src/models/plan.ts +3 -3
  392. package/src/models/taskEffectiveness.ts +9 -2
  393. package/src/models/user.ts +12 -0
  394. package/src/protocols/mcp/LlmTestEnvironmentGuard.ts +30 -0
  395. package/src/protocols/mcp/McpServerTypes.ts +9 -0
  396. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +2 -0
  397. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -0
  398. package/src/protocols/mcp/providers/BaseMcpClient.ts +13 -0
  399. package/src/protocols/mcp/providers/CustomMcpClient.ts +7 -0
  400. package/src/protocols/mcp/providers/GeminiMcpClient.ts +2 -0
  401. package/src/protocols/mcp/providers/OllamaMcpClient.ts +3 -1
  402. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +2 -0
  403. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +3 -0
  404. package/src/protocols/mcp/providers/XaiMcpClient.ts +2 -0
  405. package/src/protocols/mcp/security/BrowserTargetGuard.ts +64 -0
  406. package/src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts +38 -0
  407. package/src/protocols/mcp/security/HttpTargetGuard.ts +77 -6
  408. package/src/protocols/mcp/security/McpSecurityGuard.ts +7 -5
  409. package/src/protocols/mcp/security/McpToolPolicy.ts +74 -0
  410. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +656 -111
  411. package/src/protocols/mcp/services/ExternalServerConfigs.ts +26 -8
  412. package/src/protocols/mcp/tools/AnalyticsTools.ts +167 -641
  413. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +44 -14
  414. package/src/protocols/mcp/tools/EffectivenessTools.ts +185 -45
  415. package/src/protocols/mcp/tools/GitTools.ts +15 -5
  416. package/src/protocols/mcp/tools/InfrastructureTools.ts +42 -90
  417. package/src/protocols/mcp/tools/JsonTools.ts +7 -4
  418. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +313 -164
  419. package/src/protocols/mcp/tools/MemorySearchTools.ts +158 -46
  420. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +85 -232
  421. package/src/protocols/mcp/tools/PlanningTools.ts +137 -59
  422. package/src/protocols/mcp/tools/ProjectContextTools.ts +33 -12
  423. package/src/protocols/mcp/tools/SafetyTools.ts +49 -13
  424. package/src/protocols/mcp/tools/SearchProjectTools.ts +294 -153
  425. package/src/protocols/mcp/tools/TaskPlanningTools.ts +437 -514
  426. package/src/protocols/mcp/tools/TestTools.ts +41 -11
  427. package/src/protocols/mcp/tools/TypeScriptTools.ts +61 -12
  428. package/src/protocols/mcp/tools/UserInputTools.ts +15 -1
  429. package/src/protocols/mcp/tools/UserMemoryTools.ts +27 -62
  430. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +26 -84
  431. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +13 -31
  432. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +45 -27
  433. package/src/schemas/EventPayloadSchema.ts +45 -1
  434. package/src/services/AgentPerformanceService.ts +85 -36
  435. package/src/services/AutoCorrectionService.ts +25 -6
  436. package/src/services/BackgroundTaskManager.ts +183 -76
  437. package/src/services/BrowserManager.ts +20 -16
  438. package/src/services/ChannelContextMemoryOperations.ts +169 -202
  439. package/src/services/ChannelContextMessageOperations.ts +112 -274
  440. package/src/services/MemoryService.ts +1053 -760
  441. package/src/services/PatternLearningService.ts +32 -7
  442. package/src/services/PerformanceOptimizationService.ts +26 -9
  443. package/src/services/PredictiveAnalyticsService.ts +23 -10
  444. package/src/services/ProactiveValidationService.ts +66 -40
  445. package/src/services/TaskEffectivenessService.ts +421 -206
  446. package/src/services/ToolExecutionInterceptor.ts +40 -9
  447. package/src/services/UserInputRequestManager.ts +51 -6
  448. package/src/services/UserMemoryService.ts +12 -3
  449. package/src/services/ValidationAnalyticsService.ts +36 -11
  450. package/src/services/ValidationCacheService.ts +30 -7
  451. package/src/services/ValidationMiddleware.ts +62 -14
  452. package/src/services/ValidationPerformanceService.ts +47 -25
  453. package/src/services/WebSearchService.ts +16 -4
  454. package/src/services/dag/TaskDagService.ts +20 -1
  455. package/src/services/kg/EntityQValueManager.ts +21 -10
  456. package/src/services/kg/GraphSurpriseCalculator.ts +0 -14
  457. package/src/services/kg/KnowledgeGraphService.ts +56 -48
  458. package/src/services/kg/OrparGraphIntegration.ts +11 -5
  459. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +10 -1
  460. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +142 -71
  461. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +10 -1
  462. package/src/types/ChannelContext.ts +3 -1
  463. package/src/types/EffectivenessTypes.ts +6 -2
  464. package/src/types/TaskCompletionTypes.ts +9 -9
  465. package/src/types/TaskTypes.ts +12 -1
  466. package/src/utils/GlobMatcher.ts +157 -0
@@ -26,203 +26,128 @@
26
26
  */
27
27
 
28
28
  import { Observable, throwError } from 'rxjs';
29
+ import { map } from 'rxjs/operators';
29
30
 
30
31
  import {
31
32
  ChannelId,
32
- AgentId,
33
- ChannelContextType,
34
- ChannelContextHistoryEntry,
35
33
  ChannelMessage
36
34
  } from '../types/ChannelContext.js';
37
35
 
38
- import { Logger } from '../utils/Logger.js';
39
36
  import { createStrictValidator } from '../utils/validation.js';
40
37
  import { EventBus } from '../events/EventBus.js';
38
+ import { EventBusBase } from '../events/EventBusBase.js';
41
39
  import { Events } from '../events/EventNames.js';
42
40
  import { MemoryScope } from '../types/MemoryTypes.js';
43
41
  import { createMemoryGetEventPayload, createMemoryUpdateEventPayload } from '../schemas/EventPayloadSchema.js';
44
42
  import { v4 as uuidv4 } from 'uuid';
45
43
 
44
+ interface MemoryOperationResponseData {
45
+ operationId?: string;
46
+ memory?: unknown;
47
+ error?: string;
48
+ }
49
+
50
+ interface MemoryOperationResponse {
51
+ data?: MemoryOperationResponseData;
52
+ }
53
+
54
+ type MemoryEventBus = EventBusBase & {
55
+ emit(event: string, payload: unknown): void;
56
+ };
57
+
58
+ const SYSTEM_AGENT_ID = 'SYSTEM_AGENT';
59
+
46
60
  /**
47
61
  * Provides message operations for the channel context service
48
62
  */
49
63
  export class ChannelContextMessageOperations {
50
- private logger: Logger;
51
- private eventBus: any; // Will be either EventBus.client or this.eventBus
64
+ private eventBus: MemoryEventBus;
52
65
 
53
66
  constructor(isClientContext: boolean = false) {
54
- const target = isClientContext ? 'client' : 'server';
55
- this.logger = new Logger('debug', 'ChannelContextMessageOperations', target);
56
- this.eventBus = isClientContext ? EventBus.client : EventBus.server;
67
+ this.eventBus = (isClientContext ? EventBus.client : EventBus.server) as MemoryEventBus;
68
+ }
69
+
70
+ private requestMemoryResult(
71
+ resultEvent: string,
72
+ operationId: string,
73
+ emitRequest: () => void
74
+ ): Observable<MemoryOperationResponseData> {
75
+ return new Observable(observer => {
76
+ let settled = false;
77
+ const handler = (response: unknown): void => {
78
+ if (!response || typeof response !== 'object') return;
79
+ const data = (response as MemoryOperationResponse).data;
80
+ if (data?.operationId !== operationId || settled) return;
81
+ settled = true;
82
+ if (data.error) {
83
+ observer.error(new Error(data.error));
84
+ return;
85
+ }
86
+ observer.next(data);
87
+ observer.complete();
88
+ };
89
+ const subscription = this.eventBus.on(resultEvent, handler);
90
+ try {
91
+ emitRequest();
92
+ } catch (error) {
93
+ settled = true;
94
+ observer.error(error instanceof Error ? error : new Error(String(error)));
95
+ }
96
+ return () => subscription.unsubscribe();
97
+ });
98
+ }
99
+
100
+ private isChannelMessage(value: unknown): value is ChannelMessage {
101
+ if (!value || typeof value !== 'object') return false;
102
+ const message = value as Partial<ChannelMessage>;
103
+ return typeof message.messageId === 'string' &&
104
+ (typeof message.content === 'string' || (
105
+ message.content !== null && typeof message.content === 'object'
106
+ )) &&
107
+ typeof message.senderId === 'string' &&
108
+ typeof message.timestamp === 'number' &&
109
+ ['text', 'command', 'response', 'system'].includes(message.type ?? '');
57
110
  }
58
111
  /**
59
- * Helper method to handle common memory get/update pattern
112
+ * Append a message batch through the authoritative atomic memory bridge.
60
113
  * @param channelId - Channel ID
61
114
  * @param messagesMemoryKey - Memory key for messages
62
115
  * @param messages - Array of channel messages to add
63
116
  * @param updateMetadata - Metadata for the update operation
64
117
  * @returns Observable of success status
65
118
  */
66
- private handleMemoryGetAndUpdate = (
119
+ private appendMessages = (
67
120
  channelId: ChannelId,
68
121
  messagesMemoryKey: string,
69
122
  messages: ChannelMessage[],
70
- updateMetadata: any
123
+ updateMetadata: Record<string, unknown>
71
124
  ): Observable<boolean> => {
72
- return new Observable<boolean>(observer => {
73
- // Set up timeout for bulk operation (longer timeout for larger batches)
74
- const timeoutMs = Math.min(15000, 5000 + (messages.length * 100)); // Base 5s + 100ms per message, max 15s
75
- let timeoutId: NodeJS.Timeout | null = setTimeout(() => {
76
- this.logger.warn(`Bulk message timeout triggered for ${messages.length} messages after ${timeoutMs}ms`);
77
-
78
- if (timeoutId) {
79
- clearTimeout(timeoutId);
80
- timeoutId = null;
81
- }
82
- this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
83
-
84
- // Fallback: save just the new messages without merging
85
- const fallbackData = { [messagesMemoryKey]: messages };
86
- const fallbackMetadata = {
87
- type: 'channelMessages',
88
- channelId: channelId,
89
- lastUpdated: Date.now(),
90
- isBulkInsert: true,
91
- messageCount: messages.length
92
- };
93
-
94
-
95
- this.eventBus.emit(
125
+ const uniqueMessages = [...new Map(
126
+ messages.map(message => [message.messageId, message])
127
+ ).values()];
128
+ const operationId = uuidv4();
129
+ return this.requestMemoryResult(
130
+ Events.Memory.UPDATE_RESULT,
131
+ operationId,
132
+ () => this.eventBus.emit(
133
+ Events.Memory.UPDATE,
134
+ createMemoryUpdateEventPayload(
96
135
  Events.Memory.UPDATE,
97
- createMemoryUpdateEventPayload(
98
- Events.Memory.UPDATE,
99
- 'system',
100
- channelId,
101
- {
102
- operationId: uuidv4(),
103
- scope: MemoryScope.CHANNEL,
104
- id: channelId,
105
- data: fallbackData,
106
- metadata: fallbackMetadata
107
- }
108
- )
109
- );
110
-
111
- observer.next(true);
112
- observer.complete();
113
- }, timeoutMs);
114
-
115
- // Set up response handler for bulk GET operation
116
- const getResponseHandler = (response: any): void => {
117
-
118
- if (!response?.data || response.data.id !== messagesMemoryKey) {
119
- return; // Not our response
120
- }
121
-
122
- // Clear timeout since we got a response
123
- if (timeoutId) {
124
- clearTimeout(timeoutId);
125
- timeoutId = null;
126
- }
127
-
128
- // Remove the listener since we're handling the response
129
- this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
130
-
131
-
132
- try {
133
- let existingMessages: ChannelMessage[] = [];
134
-
135
- // Extract existing messages if they exist
136
- if (response.data.data && Array.isArray(response.data.data)) {
137
- existingMessages = response.data.data
138
- .filter((msg: any) => msg && typeof msg === 'object' && msg.messageId && msg.content && msg.senderId)
139
- .map((msg: any) => ({
140
- messageId: msg.messageId,
141
- content: msg.content,
142
- senderId: msg.senderId,
143
- timestamp: msg.timestamp || Date.now(),
144
- type: ['text', 'command', 'response', 'system'].includes(msg.type) ? msg.type : 'text',
145
- metadata: typeof msg.metadata === 'object' ? msg.metadata : {}
146
- }));
147
- }
148
-
149
- // Merge existing messages with new messages
150
- const allMessages = [...existingMessages, ...messages];
151
-
152
- // Sort by timestamp (oldest first)
153
- allMessages.sort((a, b) => a.timestamp - b.timestamp);
154
-
155
- // Remove duplicates based on messageId (keep the latest)
156
- const uniqueMessages = new Map<string, ChannelMessage>();
157
- for (const msg of allMessages) {
158
- uniqueMessages.set(msg.messageId, msg);
159
- }
160
- const finalMessages = Array.from(uniqueMessages.values()).sort((a, b) => a.timestamp - b.timestamp);
161
-
162
- // Prepare update data
163
- const updateData = { [messagesMemoryKey]: finalMessages };
164
- const updateMetadataWithMessageCount = {
165
- ...updateMetadata,
166
- messageCount: finalMessages.length,
167
- newMessageCount: messages.length
168
- };
169
-
170
-
171
- // Update memory with all messages
172
- this.eventBus.emit(
173
- Events.Memory.UPDATE,
174
- createMemoryUpdateEventPayload(
175
- Events.Memory.UPDATE,
176
- 'system',
177
- channelId,
178
- {
179
- operationId: uuidv4(),
180
- scope: MemoryScope.CHANNEL,
181
- id: channelId,
182
- data: updateData,
183
- metadata: updateMetadataWithMessageCount
184
- }
185
- )
186
- );
187
-
188
- observer.next(true);
189
- observer.complete();
190
-
191
- } catch (error) {
192
- this.logger.error(`[ChannelContextMessageOperations:BULK] Error processing bulk messages: ${error instanceof Error ? error.message : String(error)}`);
193
- observer.error(error instanceof Error ? error : new Error(String(error)));
194
- }
195
- };
196
-
197
- // Listen for the GET response
198
- this.eventBus.on(Events.Memory.GET_RESULT, getResponseHandler);
199
-
200
-
201
- // Get existing messages first
202
- this.eventBus.emit(
203
- Events.Memory.GET,
204
- createMemoryGetEventPayload(
205
- Events.Memory.GET,
206
- 'system',
136
+ SYSTEM_AGENT_ID,
207
137
  channelId,
208
138
  {
209
- operationId: uuidv4(),
139
+ operationId,
210
140
  scope: MemoryScope.CHANNEL,
211
- id: channelId,
212
- key: messagesMemoryKey
141
+ id: messagesMemoryKey,
142
+ data: { [messagesMemoryKey]: uniqueMessages },
143
+ metadata: {
144
+ ...updateMetadata,
145
+ newMessageCount: uniqueMessages.length
146
+ }
213
147
  }
214
148
  )
215
- );
216
-
217
- // Return cleanup function
218
- return (): void => {
219
- if (timeoutId) {
220
- clearTimeout(timeoutId);
221
- timeoutId = null;
222
- }
223
- this.eventBus.off(Events.Memory.GET_RESULT, getResponseHandler);
224
- };
225
- });
149
+ )
150
+ ).pipe(map(() => true));
226
151
  };
227
152
 
228
153
  /**
@@ -270,7 +195,7 @@ export class ChannelContextMessageOperations {
270
195
 
271
196
  const messagesMemoryKey = `channel:messages:${channelId}`;
272
197
 
273
- return this.handleMemoryGetAndUpdate(channelId, messagesMemoryKey, messages, {
198
+ return this.appendMessages(channelId, messagesMemoryKey, messages, {
274
199
  type: 'channelMessages',
275
200
  channelId: channelId,
276
201
  lastUpdated: Date.now(),
@@ -313,123 +238,36 @@ export class ChannelContextMessageOperations {
313
238
  }
314
239
 
315
240
  const messagesMemoryKey = `channel:messages:${channelId}`;
316
-
317
- return new Observable<ChannelMessage[]>(observer => {
318
-
319
- // Set up an internal timeout to ensure we don't wait forever
320
- const internalTimeoutMs = 8000; // 8 seconds - less than controller's 10s
321
- let timeoutId: NodeJS.Timeout | null = setTimeout(() => {
322
- this.logger.warn(`Internal timeout triggered for getMessages (channel ${channelId}) after ${internalTimeoutMs}ms`);
323
-
324
- // Clean up event listener when timeout occurs
325
- if (timeoutId) {
326
- clearTimeout(timeoutId);
327
- timeoutId = null;
328
- }
329
- this.eventBus.off(Events.Memory.GET_RESULT, responseHandler);
330
-
331
- // Try direct database query as a fallback
332
- // Since this is just a read operation, it's reasonable to complete with empty results
333
- observer.next([]);
334
- observer.complete();
335
- }, internalTimeoutMs);
336
-
337
- // Set up response handler with detailed logging
338
- const responseHandler = (response: any): void => {
339
-
340
- // Only process if this is the response we're waiting for
341
- if (!response?.data) {
342
- this.logger.warn('[ChannelContextMessageOperations] Received undefined response or missing data');
343
- return;
344
- }
345
-
346
- if (response.data.id !== messagesMemoryKey) {
347
- return;
348
- }
349
-
350
-
351
- // Clear the timeout since we got a response
352
- if (timeoutId) {
353
- clearTimeout(timeoutId);
354
- timeoutId = null;
355
- }
356
-
357
- // Clean up listener
358
- this.eventBus.off(Events.Memory.GET_RESULT, responseHandler);
359
-
360
- let messages: ChannelMessage[] = [];
361
-
362
- if (Array.isArray(response.data.data)) {
363
- try {
364
- const validator = createStrictValidator('ChannelMessages');
365
-
366
- // Process and validate each message
367
- messages = response.data.data.filter((msg: any) => {
368
- // Basic structure validation
369
- if (!msg || typeof msg !== 'object') return false;
370
- if (!msg.messageId || !msg.content || !msg.senderId) return false;
371
-
372
- return true;
373
- }).map((msg: any) => {
374
- // Ensure consistent structure even if some fields are missing
375
- return {
376
- messageId: msg.messageId,
377
- content: msg.content,
378
- senderId: msg.senderId,
379
- timestamp: msg.timestamp || Date.now(),
380
- type: ['text', 'command', 'response', 'system'].includes(msg.type) ?
381
- msg.type : 'text',
382
- metadata: typeof msg.metadata === 'object' ? msg.metadata : {}
383
- };
384
- });
385
-
386
- // Sort by timestamp (oldest first)
387
- messages.sort((a, b) => a.timestamp - b.timestamp);
388
-
389
- // Apply limit if specified
390
- if (limit && limit > 0 && messages.length > limit) {
391
- messages = messages.slice(-limit); // Get most recent messages
392
- }
393
-
394
- } catch (error) {
395
- this.logger.error(`Error processing messages: ${error instanceof Error ? error.message : String(error)}`);
396
- // Fall back to empty array on error
397
- messages = [];
398
- }
399
- } else {
400
- this.logger.warn(`No message array found in memory response for id ${messagesMemoryKey}`);
401
- }
402
-
403
- observer.next(messages);
404
- observer.complete();
405
- };
406
-
407
- // Listen for the response
408
- this.eventBus.on(Events.Memory.GET_RESULT, responseHandler);
409
-
410
- this.eventBus.emit(
411
- Events.Memory.GET,
241
+
242
+ const operationId = uuidv4();
243
+ return this.requestMemoryResult(
244
+ Events.Memory.GET_RESULT,
245
+ operationId,
246
+ () => this.eventBus.emit(
247
+ Events.Memory.GET,
412
248
  createMemoryGetEventPayload(
413
- Events.Memory.GET, // eventType
414
- 'system', // agentId - placeholder
415
- channelId, // channelId
416
- { // MemoryGetEventData
417
- operationId: uuidv4(), // Generate a new operationId for this GET request
249
+ Events.Memory.GET,
250
+ SYSTEM_AGENT_ID,
251
+ channelId,
252
+ {
253
+ operationId,
418
254
  scope: MemoryScope.CHANNEL,
419
- id: channelId,
255
+ id: messagesMemoryKey,
420
256
  key: messagesMemoryKey
421
257
  }
422
258
  )
423
- );
424
-
425
- // Return cleanup function
426
- return (): void => {
427
- if (timeoutId) {
428
- clearTimeout(timeoutId);
429
- timeoutId = null;
430
- }
431
- this.eventBus.off(Events.Memory.GET_RESULT, responseHandler);
432
- };
433
- });
259
+ )
260
+ ).pipe(
261
+ map(result => {
262
+ const messages = Array.isArray(result.memory)
263
+ ? result.memory.filter((message): message is ChannelMessage =>
264
+ this.isChannelMessage(message))
265
+ : [];
266
+ messages.sort((left, right) => left.timestamp - right.timestamp);
267
+ return limit && limit > 0 && messages.length > limit
268
+ ? messages.slice(-limit)
269
+ : messages;
270
+ })
271
+ );
434
272
  };
435
273
  }