@mxf-dev/core 1.0.1 → 2.0.1

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 (303) hide show
  1. package/README.md +18 -0
  2. package/dist/adapters/FrameworkAdapter.js +1 -1
  3. package/dist/adapters/FrameworkAdapter.js.map +1 -1
  4. package/dist/config/ConfigManager.d.ts +9 -8
  5. package/dist/config/ConfigManager.d.ts.map +1 -1
  6. package/dist/config/ConfigManager.js +47 -17
  7. package/dist/config/ConfigManager.js.map +1 -1
  8. package/dist/config/memory-strata.config.d.ts +25 -0
  9. package/dist/config/memory-strata.config.d.ts.map +1 -0
  10. package/dist/config/memory-strata.config.js +107 -0
  11. package/dist/config/memory-strata.config.js.map +1 -0
  12. package/dist/constants/ToolNames.d.ts +1 -29
  13. package/dist/constants/ToolNames.d.ts.map +1 -1
  14. package/dist/constants/ToolNames.js +4 -17
  15. package/dist/constants/ToolNames.js.map +1 -1
  16. package/dist/database/DatabaseAdapterFactory.d.ts +14 -2
  17. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
  18. package/dist/database/DatabaseAdapterFactory.js +21 -6
  19. package/dist/database/DatabaseAdapterFactory.js.map +1 -1
  20. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +7 -1
  21. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
  22. package/dist/database/adapters/mongodb/MongoBaseRepository.js +12 -2
  23. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
  24. package/dist/events/ClientEventBus.d.ts +16 -77
  25. package/dist/events/ClientEventBus.d.ts.map +1 -1
  26. package/dist/events/ClientEventBus.js +38 -311
  27. package/dist/events/ClientEventBus.js.map +1 -1
  28. package/dist/events/EventBus.d.ts +1 -1
  29. package/dist/events/EventBus.d.ts.map +1 -1
  30. package/dist/events/EventBus.js +5 -4
  31. package/dist/events/EventBus.js.map +1 -1
  32. package/dist/events/EventBusBase.d.ts +139 -34
  33. package/dist/events/EventBusBase.d.ts.map +1 -1
  34. package/dist/events/EventBusBase.js +366 -88
  35. package/dist/events/EventBusBase.js.map +1 -1
  36. package/dist/events/EventNames.d.ts +10 -1
  37. package/dist/events/EventNames.d.ts.map +1 -1
  38. package/dist/events/EventNames.js +3 -0
  39. package/dist/events/EventNames.js.map +1 -1
  40. package/dist/events/PublicEvents.d.ts +6 -2
  41. package/dist/events/PublicEvents.d.ts.map +1 -1
  42. package/dist/events/PublicEvents.js +7 -4
  43. package/dist/events/PublicEvents.js.map +1 -1
  44. package/dist/events/ServerEventBus.d.ts +23 -112
  45. package/dist/events/ServerEventBus.d.ts.map +1 -1
  46. package/dist/events/ServerEventBus.js +58 -323
  47. package/dist/events/ServerEventBus.js.map +1 -1
  48. package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
  49. package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
  50. package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
  51. package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
  52. package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
  53. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
  54. package/dist/interfaces/IMemoryPersistence.js +15 -0
  55. package/dist/interfaces/IMemoryPersistence.js.map +1 -0
  56. package/dist/middleware/MxpMiddleware.d.ts +8 -1
  57. package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
  58. package/dist/middleware/MxpMiddleware.js +42 -20
  59. package/dist/middleware/MxpMiddleware.js.map +1 -1
  60. package/dist/models/channelKey.d.ts +1 -0
  61. package/dist/models/channelKey.d.ts.map +1 -1
  62. package/dist/models/channelKey.js +5 -0
  63. package/dist/models/channelKey.js.map +1 -1
  64. package/dist/models/memoryUtility.d.ts +39 -0
  65. package/dist/models/memoryUtility.d.ts.map +1 -0
  66. package/dist/models/memoryUtility.js +39 -0
  67. package/dist/models/memoryUtility.js.map +1 -0
  68. package/dist/models/user.d.ts.map +1 -1
  69. package/dist/models/user.js +23 -1
  70. package/dist/models/user.js.map +1 -1
  71. package/dist/mxp/BinaryProtocolLayer.d.ts +24 -8
  72. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
  73. package/dist/mxp/BinaryProtocolLayer.js +90 -103
  74. package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
  75. package/dist/mxp/ContextCompressionEngine.d.ts +57 -10
  76. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
  77. package/dist/mxp/ContextCompressionEngine.js +170 -128
  78. package/dist/mxp/ContextCompressionEngine.js.map +1 -1
  79. package/dist/mxp/MxpTokenOptimizer.d.ts +7 -3
  80. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
  81. package/dist/mxp/MxpTokenOptimizer.js +8 -5
  82. package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
  83. package/dist/prompts/MxfAgentSystemPrompt.d.ts +1 -1
  84. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
  85. package/dist/prompts/MxfAgentSystemPrompt.js +47 -57
  86. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
  87. package/dist/protocols/mcp/ToolError.d.ts +123 -0
  88. package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
  89. package/dist/protocols/mcp/ToolError.js +108 -0
  90. package/dist/protocols/mcp/ToolError.js.map +1 -0
  91. package/dist/protocols/mcp/defineTool.d.ts +133 -0
  92. package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
  93. package/dist/protocols/mcp/defineTool.js +236 -0
  94. package/dist/protocols/mcp/defineTool.js.map +1 -0
  95. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
  96. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
  97. package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
  98. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
  99. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +9 -1
  100. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  101. package/dist/protocols/mcp/security/McpSecurityGuard.js +10 -2
  102. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  103. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
  104. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
  105. package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
  106. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
  107. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +51 -18
  108. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  109. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +256 -283
  110. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  111. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +39 -6
  112. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  113. package/dist/protocols/mcp/services/ExternalServerConfigs.js +76 -18
  114. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  115. package/dist/protocols/mcp/tools/AnalyticsTools.js +1 -1
  116. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  117. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  118. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +15 -0
  119. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  120. package/dist/protocols/mcp/tools/EffectivenessTools.js +3 -3
  121. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  122. package/dist/protocols/mcp/tools/GitTools.d.ts +9 -369
  123. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  124. package/dist/protocols/mcp/tools/GitTools.js +222 -517
  125. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  126. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +56 -24
  127. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  128. package/dist/protocols/mcp/tools/InfrastructureTools.js +117 -26
  129. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  130. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +0 -3
  131. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  132. package/dist/protocols/mcp/tools/MemorySearchTools.js +58 -1
  133. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  134. package/dist/protocols/mcp/tools/OrparTools.d.ts +8 -0
  135. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
  136. package/dist/protocols/mcp/tools/OrparTools.js +66 -0
  137. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
  138. package/dist/protocols/mcp/tools/SafetyTools.d.ts +7 -525
  139. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  140. package/dist/protocols/mcp/tools/SafetyTools.js +349 -514
  141. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  142. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  143. package/dist/protocols/mcp/tools/TaskPlanningTools.js +56 -26
  144. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  145. package/dist/protocols/mcp/tools/TestTools.d.ts +15 -376
  146. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  147. package/dist/protocols/mcp/tools/TestTools.js +241 -363
  148. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  149. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +6 -276
  150. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  151. package/dist/protocols/mcp/tools/TypeScriptTools.js +223 -337
  152. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  153. package/dist/protocols/mcp/tools/WebTools.d.ts +15 -728
  154. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
  155. package/dist/protocols/mcp/tools/WebTools.js +151 -257
  156. package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
  157. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +5 -3
  158. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  159. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +31 -6
  160. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  161. package/dist/schemas/EventPayloadSchema.d.ts +21 -0
  162. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  163. package/dist/schemas/EventPayloadSchema.js +14 -0
  164. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  165. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  166. package/dist/services/BackgroundTaskManager.js +12 -4
  167. package/dist/services/BackgroundTaskManager.js.map +1 -1
  168. package/dist/services/BrowserManager.d.ts +1 -1
  169. package/dist/services/BrowserManager.d.ts.map +1 -1
  170. package/dist/services/BrowserManager.js +26 -3
  171. package/dist/services/BrowserManager.js.map +1 -1
  172. package/dist/services/MemoryCompressor.d.ts +11 -2
  173. package/dist/services/MemoryCompressor.d.ts.map +1 -1
  174. package/dist/services/MemoryCompressor.js +8 -26
  175. package/dist/services/MemoryCompressor.js.map +1 -1
  176. package/dist/services/MemoryService.d.ts +16 -3
  177. package/dist/services/MemoryService.d.ts.map +1 -1
  178. package/dist/services/MemoryService.js +79 -55
  179. package/dist/services/MemoryService.js.map +1 -1
  180. package/dist/services/MxfMLService.d.ts +5 -0
  181. package/dist/services/MxfMLService.d.ts.map +1 -1
  182. package/dist/services/MxfMLService.js +32 -6
  183. package/dist/services/MxfMLService.js.map +1 -1
  184. package/dist/services/PredictiveAnalyticsService.d.ts +45 -9
  185. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  186. package/dist/services/PredictiveAnalyticsService.js +82 -44
  187. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  188. package/dist/services/QValueManager.d.ts +7 -0
  189. package/dist/services/QValueManager.d.ts.map +1 -1
  190. package/dist/services/QValueManager.js +9 -0
  191. package/dist/services/QValueManager.js.map +1 -1
  192. package/dist/services/RewardSignalProcessor.d.ts +38 -1
  193. package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
  194. package/dist/services/RewardSignalProcessor.js +109 -7
  195. package/dist/services/RewardSignalProcessor.js.map +1 -1
  196. package/dist/services/SharedStateService.d.ts +16 -2
  197. package/dist/services/SharedStateService.d.ts.map +1 -1
  198. package/dist/services/SharedStateService.js +44 -3
  199. package/dist/services/SharedStateService.js.map +1 -1
  200. package/dist/services/TaskEffectivenessService.d.ts +34 -18
  201. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  202. package/dist/services/TaskEffectivenessService.js +91 -155
  203. package/dist/services/TaskEffectivenessService.js.map +1 -1
  204. package/dist/services/WebSearchService.d.ts.map +1 -1
  205. package/dist/services/WebSearchService.js.map +1 -1
  206. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  207. package/dist/services/dag/TaskDagService.js +2 -0
  208. package/dist/services/dag/TaskDagService.js.map +1 -1
  209. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +7 -0
  210. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  211. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +71 -10
  212. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  213. package/dist/types/MemoryUtilityTypes.d.ts +2 -0
  214. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
  215. package/dist/types/MemoryUtilityTypes.js.map +1 -1
  216. package/dist/utils/Logger.d.ts +43 -3
  217. package/dist/utils/Logger.d.ts.map +1 -1
  218. package/dist/utils/Logger.js +78 -36
  219. package/dist/utils/Logger.js.map +1 -1
  220. package/dist/utils/MxpEncryption.d.ts +19 -6
  221. package/dist/utils/MxpEncryption.d.ts.map +1 -1
  222. package/dist/utils/MxpEncryption.js +48 -16
  223. package/dist/utils/MxpEncryption.js.map +1 -1
  224. package/package.json +19 -4
  225. package/src/adapters/FrameworkAdapter.ts +1 -1
  226. package/src/config/ConfigManager.ts +52 -19
  227. package/src/config/memory-strata.config.ts +136 -0
  228. package/src/constants/ToolNames.ts +4 -18
  229. package/src/database/DatabaseAdapterFactory.ts +23 -6
  230. package/src/database/adapters/mongodb/MongoBaseRepository.ts +16 -2
  231. package/src/events/ClientEventBus.ts +68 -403
  232. package/src/events/EventBus.ts +7 -8
  233. package/src/events/EventBusBase.ts +479 -116
  234. package/src/events/EventNames.ts +6 -0
  235. package/src/events/PublicEvents.ts +7 -4
  236. package/src/events/ServerEventBus.ts +78 -473
  237. package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
  238. package/src/interfaces/IMemoryPersistence.ts +51 -0
  239. package/src/middleware/MxpMiddleware.ts +51 -24
  240. package/src/models/channelKey.ts +18 -4
  241. package/src/models/memoryUtility.ts +64 -0
  242. package/src/models/user.ts +36 -4
  243. package/src/mxp/BinaryProtocolLayer.ts +108 -124
  244. package/src/mxp/ContextCompressionEngine.ts +219 -161
  245. package/src/mxp/MxpTokenOptimizer.ts +10 -10
  246. package/src/prompts/MxfAgentSystemPrompt.ts +45 -55
  247. package/src/protocols/mcp/ToolError.ts +201 -0
  248. package/src/protocols/mcp/defineTool.ts +379 -0
  249. package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
  250. package/src/protocols/mcp/security/McpSecurityGuard.ts +10 -3
  251. package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
  252. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +340 -322
  253. package/src/protocols/mcp/services/ExternalServerConfigs.ts +82 -19
  254. package/src/protocols/mcp/tools/AnalyticsTools.ts +1 -1
  255. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +15 -0
  256. package/src/protocols/mcp/tools/EffectivenessTools.ts +3 -3
  257. package/src/protocols/mcp/tools/GitTools.ts +290 -569
  258. package/src/protocols/mcp/tools/InfrastructureTools.ts +189 -43
  259. package/src/protocols/mcp/tools/MemorySearchTools.ts +77 -1
  260. package/src/protocols/mcp/tools/OrparTools.ts +87 -0
  261. package/src/protocols/mcp/tools/SafetyTools.ts +501 -579
  262. package/src/protocols/mcp/tools/TaskPlanningTools.ts +81 -39
  263. package/src/protocols/mcp/tools/TestTools.ts +339 -419
  264. package/src/protocols/mcp/tools/TypeScriptTools.ts +316 -376
  265. package/src/protocols/mcp/tools/WebTools.ts +209 -307
  266. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +53 -14
  267. package/src/schemas/EventPayloadSchema.ts +37 -0
  268. package/src/services/BackgroundTaskManager.ts +12 -4
  269. package/src/services/BrowserManager.ts +41 -1
  270. package/src/services/MemoryCompressor.ts +20 -32
  271. package/src/services/MemoryService.ts +96 -58
  272. package/src/services/MxfMLService.ts +41 -7
  273. package/src/services/PredictiveAnalyticsService.ts +101 -51
  274. package/src/services/QValueManager.ts +10 -0
  275. package/src/services/RewardSignalProcessor.ts +138 -9
  276. package/src/services/SharedStateService.ts +56 -8
  277. package/src/services/TaskEffectivenessService.ts +114 -187
  278. package/src/services/WebSearchService.ts +2 -1
  279. package/src/services/dag/TaskDagService.ts +2 -0
  280. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +86 -10
  281. package/src/types/MemoryUtilityTypes.ts +2 -0
  282. package/src/utils/Logger.ts +116 -40
  283. package/src/utils/MxpEncryption.ts +69 -34
  284. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
  285. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
  286. package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
  287. package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
  288. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
  289. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
  290. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
  291. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
  292. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
  293. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
  294. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
  295. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
  296. package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
  297. package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
  298. package/dist/protocols/mcp/tools/LspTools.js +0 -469
  299. package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
  300. package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
  301. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
  302. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
  303. package/src/protocols/mcp/tools/LspTools.ts +0 -476
@@ -28,6 +28,7 @@
28
28
  * for LLM workflows (observations, reasoning, plans, reflections).
29
29
  */
30
30
  import { Observable } from 'rxjs';
31
+ import { IMemoryPersistence } from '../interfaces/IMemoryPersistence.js';
31
32
  import { IAgentMemory, IChannelMemory, IRelationshipMemory, MemoryScope } from '../types/MemoryTypes.js';
32
33
  import { Observation, Reasoning, Plan, Reflection } from '../models/controlLoop.js';
33
34
  import { AgentId, ChannelId } from '../types/ChannelContext.js';
@@ -101,7 +102,7 @@ export interface IEnhancedChannelMemory extends IChannelMemory {
101
102
  interface MemoryServiceConfig {
102
103
  enablePersistence?: boolean;
103
104
  cacheSize?: number;
104
- persistenceService?: any;
105
+ persistenceService?: IMemoryPersistence;
105
106
  }
106
107
  /**
107
108
  * Memory Service
@@ -297,10 +298,22 @@ export declare class MemoryService {
297
298
  */
298
299
  trackMemoryUsage(taskId: string, memoryIds: string[], phase: OrparPhase): void;
299
300
  /**
300
- * Update Q-value for a specific memory
301
- * Used by QValueManager persistence callback
301
+ * Persist the utility subdocument for a memory.
302
+ *
303
+ * Registered as QValueManager's persistence callback at server boot, so this runs
304
+ * on every Q-value change and on dirty-cache eviction. It must throw on failure:
305
+ * swallowing the error here is what previously made the whole learning system look
306
+ * like it worked while retaining nothing across a restart.
302
307
  */
303
308
  updateMemoryUtility(memoryId: string, utilityUpdate: Partial<MemoryUtilitySubdocument>): Promise<void>;
309
+ /**
310
+ * Load stored Q-values for a batch of memories into the QValueManager cache.
311
+ *
312
+ * Called before utility scoring so that ranking uses values learned in previous
313
+ * runs rather than the default for every memory the current process has not seen.
314
+ * Memories with no stored utility keep the configured default.
315
+ */
316
+ hydrateQValues(memoryIds: string[]): Promise<void>;
304
317
  /**
305
318
  * Trigger entity extraction from memory content
306
319
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryService.d.ts","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@
28
28
  * for LLM workflows (observations, reasoning, plans, reflections).
29
29
  */
30
30
  import { Observable, of } from 'rxjs';
31
+ import { MxfMeilisearchService } from './MxfMeilisearchService.js';
31
32
  import { v4 as uuidv4 } from 'uuid';
32
33
  import { MemoryScope, MemoryPersistenceLevel, createMemoryValidator } from '../types/MemoryTypes.js';
33
34
  import { Logger } from '../utils/Logger.js';
@@ -403,9 +404,10 @@ export class MemoryService {
403
404
  return of(existingMemory);
404
405
  }
405
406
  // If persistence service is available, try loading from MongoDB
406
- if (this.persistenceService) {
407
+ const persistence = this.persistenceService;
408
+ if (persistence) {
407
409
  return new Observable(observer => {
408
- this.persistenceService.getAgentMemory(agentId).subscribe({
410
+ persistence.getAgentMemory(agentId).subscribe({
409
411
  next: (loadedMemory) => {
410
412
  // Enhance the loaded memory with cognitive memory structure
411
413
  const enhancedMemory = {
@@ -1215,46 +1217,55 @@ export class MemoryService {
1215
1217
  };
1216
1218
  }
1217
1219
  const semanticSearchStart = Date.now();
1218
- // Phase A: Semantic search to get candidates
1219
- // This would typically integrate with MxfMeilisearchService
1220
- // For now, we search cognitive memory as a fallback
1220
+ // Phase A: semantic search over the real memory index.
1221
+ //
1222
+ // Meilisearch is the only retrieval path agents actually use, so utility scoring
1223
+ // has to sit on top of it to influence anything. (This previously searched an
1224
+ // in-process cognitiveMemory Map with keyword counting, which nothing populated
1225
+ // in production — so the whole two-phase retrieval could never return a result.)
1226
+ const meilisearch = MxfMeilisearchService.getInstance();
1227
+ const maxCandidates = options.maxCandidates ?? 20;
1228
+ const similarityThreshold = options.similarityThreshold ?? 0.3;
1229
+ const filters = [];
1230
+ if (options.agentId) {
1231
+ filters.push(`agentId = "${options.agentId}"`);
1232
+ }
1233
+ if (options.channelId) {
1234
+ filters.push(`channelId = "${options.channelId}"`);
1235
+ }
1236
+ const searchResult = await meilisearch.searchConversations({
1237
+ query: options.query,
1238
+ filter: filters.length > 0 ? filters.join(' AND ') : undefined,
1239
+ limit: maxCandidates,
1240
+ hybridRatio: options.hybridRatio ?? 0.7
1241
+ });
1242
+ const semanticSearchTimeMs = Date.now() - semanticSearchStart;
1221
1243
  const candidates = [];
1222
- // Search cognitive memory entries matching the query
1223
- const allCognitiveEntries = Array.from(this.cognitiveMemory.values());
1224
- for (const entry of allCognitiveEntries) {
1225
- // Filter by agent/channel if specified
1226
- if (options.agentId && entry.agentId !== options.agentId)
1244
+ for (const hit of searchResult.hits) {
1245
+ // Meilisearch ranking scores are already normalised to 0..1.
1246
+ const similarity = hit._rankingScore;
1247
+ if (similarity < similarityThreshold) {
1227
1248
  continue;
1228
- if (options.channelId && entry.channelId !== options.channelId)
1229
- continue;
1230
- // Simple text similarity for cognitive memory (in production, use Meilisearch)
1231
- const contentStr = JSON.stringify(entry.content).toLowerCase();
1232
- const queryWords = options.query.toLowerCase().split(/\s+/);
1233
- const matchCount = queryWords.filter(word => contentStr.includes(word)).length;
1234
- const similarity = matchCount / Math.max(queryWords.length, 1);
1235
- // Apply similarity threshold
1236
- const threshold = options.similarityThreshold ?? 0.3;
1237
- if (similarity >= threshold) {
1238
- // Get Q-value from manager or use default
1239
- const qValue = qValueManager.getQValue(entry.id);
1240
- candidates.push({
1241
- memoryId: entry.id,
1242
- similarity,
1243
- qValue,
1244
- content: entry.content,
1245
- metadata: {
1246
- memoryType: entry.memoryType,
1247
- labels: entry.labels,
1248
- createdAt: entry.createdAt
1249
- }
1250
- });
1251
1249
  }
1250
+ candidates.push({
1251
+ memoryId: hit.id,
1252
+ similarity,
1253
+ qValue: qValueManager.getQValue(hit.id),
1254
+ content: hit.content,
1255
+ metadata: {
1256
+ memoryType: hit.role,
1257
+ createdAt: new Date(hit.timestamp)
1258
+ }
1259
+ });
1252
1260
  }
1253
- const semanticSearchTimeMs = Date.now() - semanticSearchStart;
1254
- // Limit candidates for Phase B
1255
- const maxCandidates = options.maxCandidates ?? 20;
1256
- candidates.sort((a, b) => b.similarity - a.similarity);
1257
- const topCandidates = candidates.slice(0, maxCandidates);
1261
+ // Load Q-values learned in previous runs before scoring, otherwise every memory
1262
+ // this process has not seen yet would score at the default and ranking would
1263
+ // silently ignore everything the system has learned.
1264
+ await this.hydrateQValues(candidates.map(c => c.memoryId));
1265
+ for (const candidate of candidates) {
1266
+ candidate.qValue = qValueManager.getQValue(candidate.memoryId);
1267
+ }
1268
+ const topCandidates = candidates;
1258
1269
  // Phase B: Utility scoring
1259
1270
  const utilityScoringStart = Date.now();
1260
1271
  const scoringResult = options.phase
@@ -1308,28 +1319,41 @@ export class MemoryService {
1308
1319
  this.logger.debug(`[MemoryService] Tracked ${memoryIds.length} memories for task ${taskId} (phase=${phase})`);
1309
1320
  }
1310
1321
  /**
1311
- * Update Q-value for a specific memory
1312
- * Used by QValueManager persistence callback
1322
+ * Persist the utility subdocument for a memory.
1323
+ *
1324
+ * Registered as QValueManager's persistence callback at server boot, so this runs
1325
+ * on every Q-value change and on dirty-cache eviction. It must throw on failure:
1326
+ * swallowing the error here is what previously made the whole learning system look
1327
+ * like it worked while retaining nothing across a restart.
1313
1328
  */
1314
1329
  async updateMemoryUtility(memoryId, utilityUpdate) {
1315
- // Find the memory in cognitive memory cache
1316
- const cognitiveEntry = this.cognitiveMemory.get(memoryId);
1317
- if (cognitiveEntry) {
1318
- // Update in-memory cache (cognitive memory doesn't have utility subdoc by default)
1319
- // For cognitive memory, we just rely on QValueManager's cache
1330
+ if (!this.persistenceService) {
1331
+ throw new Error(`[MemoryService] Cannot persist utility for memory ${memoryId}: no persistence service is configured. ` +
1332
+ `MULS requires the server to inject a persistence service at boot.`);
1333
+ }
1334
+ await this.persistenceService.updateAgentMemoryUtility(memoryId, utilityUpdate);
1335
+ }
1336
+ /**
1337
+ * Load stored Q-values for a batch of memories into the QValueManager cache.
1338
+ *
1339
+ * Called before utility scoring so that ranking uses values learned in previous
1340
+ * runs rather than the default for every memory the current process has not seen.
1341
+ * Memories with no stored utility keep the configured default.
1342
+ */
1343
+ async hydrateQValues(memoryIds) {
1344
+ if (!this.persistenceService || memoryIds.length === 0) {
1320
1345
  return;
1321
1346
  }
1322
- // For persistent memory, delegate to persistence service
1323
- if (this.persistenceService) {
1324
- try {
1325
- // Update agent memory with utility subdocument
1326
- // This is a partial update to just the utility field
1327
- await this.persistenceService.updateAgentMemoryUtility?.(memoryId, utilityUpdate);
1328
- }
1329
- catch (error) {
1330
- this.logger.warn(`[MemoryService] Failed to update utility for memory ${memoryId}: ${error}`);
1331
- }
1347
+ const qValueManager = QValueManager.getInstance();
1348
+ const uncached = memoryIds.filter(id => !qValueManager.isCached(id));
1349
+ if (uncached.length === 0) {
1350
+ return;
1351
+ }
1352
+ const utilities = await this.persistenceService.getAgentMemoryUtilities(uncached);
1353
+ for (const [memoryId, utility] of utilities) {
1354
+ qValueManager.setQValueInCache(memoryId, utility.qValue);
1332
1355
  }
1356
+ this.logger.debug(`[MemoryService] Hydrated ${utilities.size}/${uncached.length} Q-values from persistence`);
1333
1357
  }
1334
1358
  /**
1335
1359
  * Trigger entity extraction from memory content
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryService.js","sourceRoot":"","sources":["../../src/services/MemoryService.ts"],"names":[],"mappings":"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"}
@@ -199,6 +199,11 @@ export declare class MxfMLService {
199
199
  *
200
200
  * Calls the provided trainCallback at the model's retrainIntervalMs.
201
201
  * The callback is responsible for collecting training data and calling train().
202
+ * No-ops when auto-training is disabled (autoTrainEnabled=false).
203
+ *
204
+ * A model must have exactly one retraining owner: either a timer registered
205
+ * here or a consumer-managed schedule — never both. Overlapping schedules
206
+ * train on the same data twice and collide on TF.js fit() calls.
202
207
  *
203
208
  * @param modelId - ID of a registered model
204
209
  * @param trainCallback - Function to call when retraining is due
@@ -1 +1 @@
1
- {"version":3,"file":"MxfMLService.d.ts","sourceRoot":"","sources":["../../src/services/MxfMLService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MxfMLService.d.ts","sourceRoot":"","sources":["../../src/services/MxfMLService.ts"],"names":[],"mappings":"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"}
@@ -364,6 +364,13 @@ export class MxfMLService {
364
364
  if (!entry.model) {
365
365
  throw new Error(`[MxfMLService] Model "${modelId}" has not been built yet`);
366
366
  }
367
+ // Fail fast on concurrent training: TF.js rejects overlapping fit() calls
368
+ // on a single model, and two callers would race on this entry's status
369
+ // and metrics. Callers must serialize training per model.
370
+ if (entry.status === ModelStatus.TRAINING) {
371
+ throw new Error(`[MxfMLService] Model "${modelId}" is already training — ` +
372
+ `concurrent training on the same model is not allowed`);
373
+ }
367
374
  if (xData.length < entry.config.minTrainingSamples) {
368
375
  throw new Error(`[MxfMLService] Insufficient training data for "${modelId}": ` +
369
376
  `got ${xData.length}, need ${entry.config.minTrainingSamples}`);
@@ -375,10 +382,13 @@ export class MxfMLService {
375
382
  this.emitTrainingStarted(modelId, xData.length, epochs);
376
383
  entry.status = ModelStatus.TRAINING;
377
384
  const startTime = Date.now();
385
+ // fit() is async, so tf.tidy() cannot wrap it — create the tensors
386
+ // eagerly and dispose them in finally so a failed fit() does not leak.
387
+ let xs;
388
+ let ys;
378
389
  try {
379
- // Create tensors inside tidy to prevent leaks during training setup
380
- const xs = tfRef.tensor2d(xData);
381
- const ys = tfRef.tensor2d(yData);
390
+ xs = tfRef.tensor2d(xData);
391
+ ys = tfRef.tensor2d(yData);
382
392
  const layersModel = entry.model;
383
393
  const result = await layersModel.fit(xs, ys, {
384
394
  epochs,
@@ -398,9 +408,6 @@ export class MxfMLService {
398
408
  durationMs: Date.now() - startTime,
399
409
  samplesUsed: xData.length,
400
410
  };
401
- // Clean up tensors
402
- xs.dispose();
403
- ys.dispose();
404
411
  // Update model state
405
412
  entry.status = ModelStatus.TRAINED;
406
413
  entry.lastTrainingMetrics = metrics;
@@ -422,6 +429,10 @@ export class MxfMLService {
422
429
  this.logger.error(`[MxfMLService] Training failed for ${modelId}: ${errorMsg}`);
423
430
  throw error;
424
431
  }
432
+ finally {
433
+ xs?.dispose();
434
+ ys?.dispose();
435
+ }
425
436
  }
426
437
  // ─── Training: Custom Loop ──────────────────────────────────────────────────
427
438
  /**
@@ -446,6 +457,11 @@ export class MxfMLService {
446
457
  if (!entry.model) {
447
458
  throw new Error(`[MxfMLService] Model "${modelId}" has not been built yet`);
448
459
  }
460
+ // Fail fast on concurrent training (same contract as train())
461
+ if (entry.status === ModelStatus.TRAINING) {
462
+ throw new Error(`[MxfMLService] Model "${modelId}" is already training — ` +
463
+ `concurrent training on the same model is not allowed`);
464
+ }
449
465
  // Emit training started (we don't know sample count upfront for custom training)
450
466
  this.emitTrainingStarted(modelId, 0, entry.config.epochs);
451
467
  entry.status = ModelStatus.TRAINING;
@@ -814,12 +830,22 @@ export class MxfMLService {
814
830
  *
815
831
  * Calls the provided trainCallback at the model's retrainIntervalMs.
816
832
  * The callback is responsible for collecting training data and calling train().
833
+ * No-ops when auto-training is disabled (autoTrainEnabled=false).
834
+ *
835
+ * A model must have exactly one retraining owner: either a timer registered
836
+ * here or a consumer-managed schedule — never both. Overlapping schedules
837
+ * train on the same data twice and collide on TF.js fit() calls.
817
838
  *
818
839
  * @param modelId - ID of a registered model
819
840
  * @param trainCallback - Function to call when retraining is due
820
841
  */
821
842
  scheduleRetrain(modelId, trainCallback) {
822
843
  const entry = this.getModelEntry(modelId);
844
+ if (!getTensorFlowConfig().autoTrainEnabled) {
845
+ this.logger.info(`[MxfMLService] Auto-training disabled (autoTrainEnabled=false), ` +
846
+ `not scheduling retrain for ${modelId}`);
847
+ return;
848
+ }
823
849
  // Clear any existing timer for this model
824
850
  const existingTimer = this.retrainTimers.get(modelId);
825
851
  if (existingTimer) {