@mxf-dev/core 2.0.5 → 3.1.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 (511) hide show
  1. package/dist/config/ConfigManager.d.ts +64 -0
  2. package/dist/config/ConfigManager.d.ts.map +1 -1
  3. package/dist/config/ConfigManager.js +68 -1
  4. package/dist/config/ConfigManager.js.map +1 -1
  5. package/dist/config/ModelContextLimits.d.ts.map +1 -1
  6. package/dist/config/ModelContextLimits.js +7 -1
  7. package/dist/config/ModelContextLimits.js.map +1 -1
  8. package/dist/constants/CoreTools.d.ts +6 -5
  9. package/dist/constants/CoreTools.d.ts.map +1 -1
  10. package/dist/constants/CoreTools.js +6 -5
  11. package/dist/constants/CoreTools.js.map +1 -1
  12. package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -1
  13. package/dist/constants/DefaultPhaseProfiles.js +29 -0
  14. package/dist/constants/DefaultPhaseProfiles.js.map +1 -1
  15. package/dist/constants/ReservedIdentities.d.ts +14 -0
  16. package/dist/constants/ReservedIdentities.d.ts.map +1 -0
  17. package/dist/constants/ReservedIdentities.js +42 -0
  18. package/dist/constants/ReservedIdentities.js.map +1 -0
  19. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts.map +1 -1
  20. package/dist/database/adapters/mongodb/MongoChannelRepository.js +2 -1
  21. package/dist/database/adapters/mongodb/MongoChannelRepository.js.map +1 -1
  22. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +16 -16
  23. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -1
  24. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +98 -36
  25. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -1
  26. package/dist/events/ClientEventBus.d.ts +28 -0
  27. package/dist/events/ClientEventBus.d.ts.map +1 -1
  28. package/dist/events/ClientEventBus.js +87 -40
  29. package/dist/events/ClientEventBus.js.map +1 -1
  30. package/dist/events/EventBus.d.ts +19 -1
  31. package/dist/events/EventBus.d.ts.map +1 -1
  32. package/dist/events/EventBus.js +23 -0
  33. package/dist/events/EventBus.js.map +1 -1
  34. package/dist/events/EventBusBase.d.ts +37 -6
  35. package/dist/events/EventBusBase.d.ts.map +1 -1
  36. package/dist/events/EventBusBase.js +75 -27
  37. package/dist/events/EventBusBase.js.map +1 -1
  38. package/dist/events/EventNames.d.ts +50 -36
  39. package/dist/events/EventNames.d.ts.map +1 -1
  40. package/dist/events/EventNames.js +38 -36
  41. package/dist/events/EventNames.js.map +1 -1
  42. package/dist/events/PublicEvents.d.ts +5 -1
  43. package/dist/events/PublicEvents.d.ts.map +1 -1
  44. package/dist/events/PublicEvents.js +7 -0
  45. package/dist/events/PublicEvents.js.map +1 -1
  46. package/dist/events/ServerEventBus.d.ts +7 -54
  47. package/dist/events/ServerEventBus.d.ts.map +1 -1
  48. package/dist/events/ServerEventBus.js +10 -96
  49. package/dist/events/ServerEventBus.js.map +1 -1
  50. package/dist/events/event-definitions/ConfigEvents.d.ts +6 -0
  51. package/dist/events/event-definitions/ConfigEvents.d.ts.map +1 -1
  52. package/dist/events/event-definitions/ConfigEvents.js +0 -5
  53. package/dist/events/event-definitions/ConfigEvents.js.map +1 -1
  54. package/dist/events/event-definitions/ControlLoopEvents.d.ts +35 -0
  55. package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -1
  56. package/dist/events/event-definitions/ControlLoopEvents.js +6 -0
  57. package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -1
  58. package/dist/events/event-definitions/SdkEvents.d.ts +55 -0
  59. package/dist/events/event-definitions/SdkEvents.d.ts.map +1 -0
  60. package/dist/events/event-definitions/SdkEvents.js +36 -0
  61. package/dist/events/event-definitions/SdkEvents.js.map +1 -0
  62. package/dist/events/event-definitions/SystemEvents.d.ts +16 -0
  63. package/dist/events/event-definitions/SystemEvents.d.ts.map +1 -1
  64. package/dist/events/event-definitions/SystemEvents.js +2 -0
  65. package/dist/events/event-definitions/SystemEvents.js.map +1 -1
  66. package/dist/events/event-definitions/TaskEvents.d.ts +2 -7
  67. package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -1
  68. package/dist/index.d.ts +4 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +2 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/interfaces/AgentInterfaces.d.ts +5 -0
  73. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
  74. package/dist/interfaces/Channel.d.ts +3 -0
  75. package/dist/interfaces/Channel.d.ts.map +1 -1
  76. package/dist/interfaces/ChannelConfig.d.ts +4 -2
  77. package/dist/interfaces/ChannelConfig.d.ts.map +1 -1
  78. package/dist/interfaces/ConversationMessage.d.ts +1 -1
  79. package/dist/interfaces/ConversationMessage.d.ts.map +1 -1
  80. package/dist/interfaces/IMemoryPersistence.d.ts +47 -1
  81. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -1
  82. package/dist/interfaces/SocketServiceInterface.d.ts +3 -2
  83. package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -1
  84. package/dist/interfaces/TaskInterfaces.d.ts +14 -1
  85. package/dist/interfaces/TaskInterfaces.d.ts.map +1 -1
  86. package/dist/models/agent.d.ts +0 -1
  87. package/dist/models/agent.d.ts.map +1 -1
  88. package/dist/models/agent.js +0 -5
  89. package/dist/models/agent.js.map +1 -1
  90. package/dist/models/agentIdentityReservation.d.ts +42 -0
  91. package/dist/models/agentIdentityReservation.d.ts.map +1 -0
  92. package/dist/models/agentIdentityReservation.js +52 -0
  93. package/dist/models/agentIdentityReservation.js.map +1 -0
  94. package/dist/models/channel.d.ts +4 -0
  95. package/dist/models/channel.d.ts.map +1 -1
  96. package/dist/models/channel.js +8 -0
  97. package/dist/models/channel.js.map +1 -1
  98. package/dist/models/channelKey.d.ts +1 -0
  99. package/dist/models/channelKey.d.ts.map +1 -1
  100. package/dist/models/channelKey.js +5 -0
  101. package/dist/models/channelKey.js.map +1 -1
  102. package/dist/models/memory.d.ts +1 -1
  103. package/dist/models/memory.d.ts.map +1 -1
  104. package/dist/models/memory.js +9 -12
  105. package/dist/models/memory.js.map +1 -1
  106. package/dist/models/memoryStrata.d.ts +3 -16
  107. package/dist/models/memoryStrata.d.ts.map +1 -1
  108. package/dist/models/memoryStrata.js +3 -5
  109. package/dist/models/memoryStrata.js.map +1 -1
  110. package/dist/models/plan.d.ts +2 -2
  111. package/dist/models/plan.d.ts.map +1 -1
  112. package/dist/models/plan.js +1 -1
  113. package/dist/models/plan.js.map +1 -1
  114. package/dist/models/taskEffectiveness.d.ts +1 -0
  115. package/dist/models/taskEffectiveness.d.ts.map +1 -1
  116. package/dist/models/taskEffectiveness.js +7 -1
  117. package/dist/models/taskEffectiveness.js.map +1 -1
  118. package/dist/models/user.d.ts +4 -0
  119. package/dist/models/user.d.ts.map +1 -1
  120. package/dist/models/user.js +8 -0
  121. package/dist/models/user.js.map +1 -1
  122. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
  123. package/dist/prompts/MxfAgentSystemPrompt.js +9 -1
  124. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
  125. package/dist/prompts/SystemLlmStanceGuidance.d.ts +37 -0
  126. package/dist/prompts/SystemLlmStanceGuidance.d.ts.map +1 -0
  127. package/dist/prompts/SystemLlmStanceGuidance.js +48 -0
  128. package/dist/prompts/SystemLlmStanceGuidance.js.map +1 -0
  129. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts +16 -0
  130. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts.map +1 -0
  131. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js +25 -0
  132. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js.map +1 -0
  133. package/dist/protocols/mcp/McpServerTypes.d.ts +9 -0
  134. package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -1
  135. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -1
  136. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -0
  137. package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -1
  138. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -1
  139. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -0
  140. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -1
  141. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +4 -0
  142. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -1
  143. package/dist/protocols/mcp/providers/BaseMcpClient.js +10 -0
  144. package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -1
  145. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -1
  146. package/dist/protocols/mcp/providers/CustomMcpClient.js +7 -0
  147. package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -1
  148. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -1
  149. package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -0
  150. package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -1
  151. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -0
  152. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -1
  153. package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -0
  154. package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -1
  155. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -1
  156. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -0
  157. package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -1
  158. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
  159. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +2 -0
  160. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
  161. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -1
  162. package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -0
  163. package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -1
  164. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts +14 -0
  165. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts.map +1 -0
  166. package/dist/protocols/mcp/security/BrowserTargetGuard.js +55 -0
  167. package/dist/protocols/mcp/security/BrowserTargetGuard.js.map +1 -0
  168. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts +24 -0
  169. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts.map +1 -0
  170. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js +33 -0
  171. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js.map +1 -0
  172. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -1
  173. package/dist/protocols/mcp/security/HttpTargetGuard.js +68 -6
  174. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -1
  175. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  176. package/dist/protocols/mcp/security/McpSecurityGuard.js +7 -5
  177. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  178. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +18 -0
  179. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -1
  180. package/dist/protocols/mcp/security/McpToolPolicy.js +60 -0
  181. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -1
  182. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +25 -0
  183. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  184. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +93 -17
  185. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  186. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +2 -2
  187. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  188. package/dist/protocols/mcp/services/ExternalServerConfigs.js +25 -8
  189. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  190. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +3 -37
  191. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -1
  192. package/dist/protocols/mcp/tools/AnalyticsTools.js +134 -614
  193. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  194. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  195. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -13
  196. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  197. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -1
  198. package/dist/protocols/mcp/tools/EffectivenessTools.js +94 -30
  199. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  200. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  201. package/dist/protocols/mcp/tools/GitTools.js +9 -5
  202. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  203. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +10 -40
  204. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  205. package/dist/protocols/mcp/tools/InfrastructureTools.js +29 -70
  206. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  207. package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -1
  208. package/dist/protocols/mcp/tools/JsonTools.js +4 -4
  209. package/dist/protocols/mcp/tools/JsonTools.js.map +1 -1
  210. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +55 -592
  211. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -1
  212. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +169 -119
  213. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -1
  214. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +6 -6
  215. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  216. package/dist/protocols/mcp/tools/MemorySearchTools.js +107 -39
  217. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  218. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +4 -5
  219. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -1
  220. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +59 -208
  221. package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -1
  222. package/dist/protocols/mcp/tools/PlanningTools.d.ts +2 -1
  223. package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -1
  224. package/dist/protocols/mcp/tools/PlanningTools.js +111 -49
  225. package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -1
  226. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -1
  227. package/dist/protocols/mcp/tools/ProjectContextTools.js +18 -12
  228. package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -1
  229. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  230. package/dist/protocols/mcp/tools/SafetyTools.js +16 -13
  231. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  232. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +24 -7
  233. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -1
  234. package/dist/protocols/mcp/tools/SearchProjectTools.js +226 -126
  235. package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -1
  236. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +0 -32
  237. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  238. package/dist/protocols/mcp/tools/TaskPlanningTools.js +363 -450
  239. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  240. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  241. package/dist/protocols/mcp/tools/TestTools.js +18 -11
  242. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  243. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  244. package/dist/protocols/mcp/tools/TypeScriptTools.js +22 -12
  245. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  246. package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -1
  247. package/dist/protocols/mcp/tools/UserInputTools.js +14 -1
  248. package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -1
  249. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +3 -1
  250. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -1
  251. package/dist/protocols/mcp/tools/UserMemoryTools.js +27 -62
  252. package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -1
  253. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  254. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +14 -60
  255. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  256. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -1
  257. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +9 -27
  258. package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -1
  259. package/dist/repositories/interfaces/IChannelRepository.d.ts +2 -0
  260. package/dist/repositories/interfaces/IChannelRepository.d.ts.map +1 -1
  261. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +40 -30
  262. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -1
  263. package/dist/schemas/EventPayloadSchema.d.ts +41 -1
  264. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  265. package/dist/schemas/EventPayloadSchema.js +54 -1
  266. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  267. package/dist/schemas/MxpProtocolSchemas.d.ts +6 -6
  268. package/dist/services/AgentPerformanceService.d.ts +11 -0
  269. package/dist/services/AgentPerformanceService.d.ts.map +1 -1
  270. package/dist/services/AgentPerformanceService.js +59 -33
  271. package/dist/services/AgentPerformanceService.js.map +1 -1
  272. package/dist/services/AutoCorrectionService.d.ts +3 -0
  273. package/dist/services/AutoCorrectionService.d.ts.map +1 -1
  274. package/dist/services/AutoCorrectionService.js +19 -2
  275. package/dist/services/AutoCorrectionService.js.map +1 -1
  276. package/dist/services/BackgroundTaskManager.d.ts +29 -7
  277. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  278. package/dist/services/BackgroundTaskManager.js +171 -60
  279. package/dist/services/BackgroundTaskManager.js.map +1 -1
  280. package/dist/services/BrowserManager.d.ts +2 -0
  281. package/dist/services/BrowserManager.d.ts.map +1 -1
  282. package/dist/services/BrowserManager.js +18 -15
  283. package/dist/services/BrowserManager.js.map +1 -1
  284. package/dist/services/ChannelContextMemoryOperations.d.ts +8 -1
  285. package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -1
  286. package/dist/services/ChannelContextMemoryOperations.js +89 -165
  287. package/dist/services/ChannelContextMemoryOperations.js.map +1 -1
  288. package/dist/services/ChannelContextMessageOperations.d.ts +4 -3
  289. package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -1
  290. package/dist/services/ChannelContextMessageOperations.js +72 -212
  291. package/dist/services/ChannelContextMessageOperations.js.map +1 -1
  292. package/dist/services/MemoryService.d.ts +52 -21
  293. package/dist/services/MemoryService.d.ts.map +1 -1
  294. package/dist/services/MemoryService.js +775 -548
  295. package/dist/services/MemoryService.js.map +1 -1
  296. package/dist/services/PatternLearningService.d.ts +5 -0
  297. package/dist/services/PatternLearningService.d.ts.map +1 -1
  298. package/dist/services/PatternLearningService.js +26 -3
  299. package/dist/services/PatternLearningService.js.map +1 -1
  300. package/dist/services/PerformanceOptimizationService.d.ts +2 -1
  301. package/dist/services/PerformanceOptimizationService.d.ts.map +1 -1
  302. package/dist/services/PerformanceOptimizationService.js +21 -6
  303. package/dist/services/PerformanceOptimizationService.js.map +1 -1
  304. package/dist/services/PredictiveAnalyticsService.d.ts +1 -0
  305. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  306. package/dist/services/PredictiveAnalyticsService.js +18 -6
  307. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  308. package/dist/services/ProactiveValidationService.d.ts +6 -0
  309. package/dist/services/ProactiveValidationService.d.ts.map +1 -1
  310. package/dist/services/ProactiveValidationService.js +58 -39
  311. package/dist/services/ProactiveValidationService.js.map +1 -1
  312. package/dist/services/TaskEffectivenessService.d.ts +55 -31
  313. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  314. package/dist/services/TaskEffectivenessService.js +243 -125
  315. package/dist/services/TaskEffectivenessService.js.map +1 -1
  316. package/dist/services/ToolExecutionInterceptor.d.ts +4 -0
  317. package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -1
  318. package/dist/services/ToolExecutionInterceptor.js +31 -5
  319. package/dist/services/ToolExecutionInterceptor.js.map +1 -1
  320. package/dist/services/UserInputRequestManager.d.ts +13 -3
  321. package/dist/services/UserInputRequestManager.d.ts.map +1 -1
  322. package/dist/services/UserInputRequestManager.js +42 -6
  323. package/dist/services/UserInputRequestManager.js.map +1 -1
  324. package/dist/services/UserMemoryService.d.ts +2 -0
  325. package/dist/services/UserMemoryService.d.ts.map +1 -1
  326. package/dist/services/UserMemoryService.js +9 -4
  327. package/dist/services/UserMemoryService.js.map +1 -1
  328. package/dist/services/ValidationAnalyticsService.d.ts +4 -0
  329. package/dist/services/ValidationAnalyticsService.d.ts.map +1 -1
  330. package/dist/services/ValidationAnalyticsService.js +30 -8
  331. package/dist/services/ValidationAnalyticsService.js.map +1 -1
  332. package/dist/services/ValidationCacheService.d.ts +3 -1
  333. package/dist/services/ValidationCacheService.d.ts.map +1 -1
  334. package/dist/services/ValidationCacheService.js +25 -4
  335. package/dist/services/ValidationCacheService.js.map +1 -1
  336. package/dist/services/ValidationMiddleware.d.ts +7 -0
  337. package/dist/services/ValidationMiddleware.d.ts.map +1 -1
  338. package/dist/services/ValidationMiddleware.js +53 -10
  339. package/dist/services/ValidationMiddleware.js.map +1 -1
  340. package/dist/services/ValidationPerformanceService.d.ts +3 -0
  341. package/dist/services/ValidationPerformanceService.d.ts.map +1 -1
  342. package/dist/services/ValidationPerformanceService.js +28 -11
  343. package/dist/services/ValidationPerformanceService.js.map +1 -1
  344. package/dist/services/WebSearchService.d.ts.map +1 -1
  345. package/dist/services/WebSearchService.js +9 -0
  346. package/dist/services/WebSearchService.js.map +1 -1
  347. package/dist/services/dag/TaskDagService.d.ts +3 -0
  348. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  349. package/dist/services/dag/TaskDagService.js +18 -0
  350. package/dist/services/dag/TaskDagService.js.map +1 -1
  351. package/dist/services/kg/EntityQValueManager.d.ts +3 -1
  352. package/dist/services/kg/EntityQValueManager.d.ts.map +1 -1
  353. package/dist/services/kg/EntityQValueManager.js +10 -10
  354. package/dist/services/kg/EntityQValueManager.js.map +1 -1
  355. package/dist/services/kg/GraphSurpriseCalculator.d.ts +0 -4
  356. package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -1
  357. package/dist/services/kg/GraphSurpriseCalculator.js +0 -9
  358. package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -1
  359. package/dist/services/kg/KnowledgeGraphService.d.ts +12 -12
  360. package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -1
  361. package/dist/services/kg/KnowledgeGraphService.js +43 -51
  362. package/dist/services/kg/KnowledgeGraphService.js.map +1 -1
  363. package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -1
  364. package/dist/services/kg/OrparGraphIntegration.js +6 -5
  365. package/dist/services/kg/OrparGraphIntegration.js.map +1 -1
  366. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -0
  367. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -1
  368. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +8 -1
  369. package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -1
  370. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
  371. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  372. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +93 -45
  373. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  374. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -0
  375. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -1
  376. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +8 -1
  377. package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -1
  378. package/dist/types/ChannelContext.d.ts +2 -1
  379. package/dist/types/ChannelContext.d.ts.map +1 -1
  380. package/dist/types/EffectivenessTypes.d.ts +4 -1
  381. package/dist/types/EffectivenessTypes.d.ts.map +1 -1
  382. package/dist/types/SystemLlmStanceTypes.d.ts +123 -0
  383. package/dist/types/SystemLlmStanceTypes.d.ts.map +1 -0
  384. package/dist/types/SystemLlmStanceTypes.js +101 -0
  385. package/dist/types/SystemLlmStanceTypes.js.map +1 -0
  386. package/dist/types/TaskCompletionTypes.d.ts +7 -5
  387. package/dist/types/TaskCompletionTypes.d.ts.map +1 -1
  388. package/dist/types/TaskTypes.d.ts +8 -1
  389. package/dist/types/TaskTypes.d.ts.map +1 -1
  390. package/dist/utils/GlobMatcher.d.ts +37 -0
  391. package/dist/utils/GlobMatcher.d.ts.map +1 -0
  392. package/dist/utils/GlobMatcher.js +131 -0
  393. package/dist/utils/GlobMatcher.js.map +1 -0
  394. package/dist/utils/PromptTemplateReplacer.d.ts +5 -0
  395. package/dist/utils/PromptTemplateReplacer.d.ts.map +1 -1
  396. package/dist/utils/PromptTemplateReplacer.js +13 -0
  397. package/dist/utils/PromptTemplateReplacer.js.map +1 -1
  398. package/package.json +1 -1
  399. package/src/config/ConfigManager.ts +126 -1
  400. package/src/config/ModelContextLimits.ts +7 -1
  401. package/src/constants/CoreTools.ts +6 -5
  402. package/src/constants/DefaultPhaseProfiles.ts +29 -0
  403. package/src/constants/ReservedIdentities.ts +51 -0
  404. package/src/database/adapters/mongodb/MongoChannelRepository.ts +2 -1
  405. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +115 -36
  406. package/src/events/ClientEventBus.ts +117 -48
  407. package/src/events/EventBus.ts +32 -2
  408. package/src/events/EventBusBase.ts +132 -39
  409. package/src/events/EventNames.ts +43 -36
  410. package/src/events/PublicEvents.ts +8 -0
  411. package/src/events/ServerEventBus.ts +9 -128
  412. package/src/events/event-definitions/ConfigEvents.ts +8 -0
  413. package/src/events/event-definitions/ControlLoopEvents.ts +12 -0
  414. package/src/events/event-definitions/SdkEvents.ts +58 -0
  415. package/src/events/event-definitions/SystemEvents.ts +24 -0
  416. package/src/events/event-definitions/TaskEvents.ts +2 -2
  417. package/src/index.ts +15 -0
  418. package/src/interfaces/AgentInterfaces.ts +5 -0
  419. package/src/interfaces/Channel.ts +4 -0
  420. package/src/interfaces/ChannelConfig.ts +8 -2
  421. package/src/interfaces/ConversationMessage.ts +6 -0
  422. package/src/interfaces/IMemoryPersistence.ts +55 -1
  423. package/src/interfaces/SocketServiceInterface.ts +3 -2
  424. package/src/interfaces/TaskInterfaces.ts +16 -1
  425. package/src/models/agent.ts +0 -6
  426. package/src/models/agentIdentityReservation.ts +77 -0
  427. package/src/models/channel.ts +12 -0
  428. package/src/models/channelKey.ts +10 -0
  429. package/src/models/memory.ts +18 -19
  430. package/src/models/memoryStrata.ts +9 -23
  431. package/src/models/plan.ts +3 -3
  432. package/src/models/taskEffectiveness.ts +9 -2
  433. package/src/models/user.ts +12 -0
  434. package/src/prompts/MxfAgentSystemPrompt.ts +9 -1
  435. package/src/prompts/SystemLlmStanceGuidance.ts +67 -0
  436. package/src/protocols/mcp/LlmTestEnvironmentGuard.ts +30 -0
  437. package/src/protocols/mcp/McpServerTypes.ts +9 -0
  438. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +2 -0
  439. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -0
  440. package/src/protocols/mcp/providers/BaseMcpClient.ts +13 -0
  441. package/src/protocols/mcp/providers/CustomMcpClient.ts +7 -0
  442. package/src/protocols/mcp/providers/GeminiMcpClient.ts +2 -0
  443. package/src/protocols/mcp/providers/OllamaMcpClient.ts +3 -1
  444. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +2 -0
  445. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +3 -0
  446. package/src/protocols/mcp/providers/XaiMcpClient.ts +2 -0
  447. package/src/protocols/mcp/security/BrowserTargetGuard.ts +64 -0
  448. package/src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts +38 -0
  449. package/src/protocols/mcp/security/HttpTargetGuard.ts +77 -6
  450. package/src/protocols/mcp/security/McpSecurityGuard.ts +7 -5
  451. package/src/protocols/mcp/security/McpToolPolicy.ts +74 -0
  452. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +146 -17
  453. package/src/protocols/mcp/services/ExternalServerConfigs.ts +26 -8
  454. package/src/protocols/mcp/tools/AnalyticsTools.ts +167 -641
  455. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +44 -14
  456. package/src/protocols/mcp/tools/EffectivenessTools.ts +185 -45
  457. package/src/protocols/mcp/tools/GitTools.ts +15 -5
  458. package/src/protocols/mcp/tools/InfrastructureTools.ts +42 -90
  459. package/src/protocols/mcp/tools/JsonTools.ts +7 -4
  460. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +313 -164
  461. package/src/protocols/mcp/tools/MemorySearchTools.ts +158 -46
  462. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +85 -232
  463. package/src/protocols/mcp/tools/PlanningTools.ts +137 -59
  464. package/src/protocols/mcp/tools/ProjectContextTools.ts +33 -12
  465. package/src/protocols/mcp/tools/SafetyTools.ts +49 -13
  466. package/src/protocols/mcp/tools/SearchProjectTools.ts +294 -153
  467. package/src/protocols/mcp/tools/TaskPlanningTools.ts +437 -514
  468. package/src/protocols/mcp/tools/TestTools.ts +41 -11
  469. package/src/protocols/mcp/tools/TypeScriptTools.ts +61 -12
  470. package/src/protocols/mcp/tools/UserInputTools.ts +15 -1
  471. package/src/protocols/mcp/tools/UserMemoryTools.ts +27 -62
  472. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +26 -84
  473. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +13 -31
  474. package/src/repositories/interfaces/IChannelRepository.ts +2 -0
  475. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +45 -27
  476. package/src/schemas/EventPayloadSchema.ts +85 -2
  477. package/src/services/AgentPerformanceService.ts +85 -36
  478. package/src/services/AutoCorrectionService.ts +25 -6
  479. package/src/services/BackgroundTaskManager.ts +217 -79
  480. package/src/services/BrowserManager.ts +20 -16
  481. package/src/services/ChannelContextMemoryOperations.ts +169 -202
  482. package/src/services/ChannelContextMessageOperations.ts +112 -274
  483. package/src/services/MemoryService.ts +1053 -760
  484. package/src/services/PatternLearningService.ts +32 -7
  485. package/src/services/PerformanceOptimizationService.ts +26 -9
  486. package/src/services/PredictiveAnalyticsService.ts +23 -10
  487. package/src/services/ProactiveValidationService.ts +66 -40
  488. package/src/services/TaskEffectivenessService.ts +421 -206
  489. package/src/services/ToolExecutionInterceptor.ts +40 -9
  490. package/src/services/UserInputRequestManager.ts +51 -6
  491. package/src/services/UserMemoryService.ts +12 -3
  492. package/src/services/ValidationAnalyticsService.ts +36 -11
  493. package/src/services/ValidationCacheService.ts +30 -7
  494. package/src/services/ValidationMiddleware.ts +62 -14
  495. package/src/services/ValidationPerformanceService.ts +47 -25
  496. package/src/services/WebSearchService.ts +16 -4
  497. package/src/services/dag/TaskDagService.ts +20 -1
  498. package/src/services/kg/EntityQValueManager.ts +21 -10
  499. package/src/services/kg/GraphSurpriseCalculator.ts +0 -14
  500. package/src/services/kg/KnowledgeGraphService.ts +56 -48
  501. package/src/services/kg/OrparGraphIntegration.ts +11 -5
  502. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +10 -1
  503. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +142 -71
  504. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +10 -1
  505. package/src/types/ChannelContext.ts +3 -1
  506. package/src/types/EffectivenessTypes.ts +6 -2
  507. package/src/types/SystemLlmStanceTypes.ts +162 -0
  508. package/src/types/TaskCompletionTypes.ts +9 -9
  509. package/src/types/TaskTypes.ts +12 -1
  510. package/src/utils/GlobMatcher.ts +157 -0
  511. package/src/utils/PromptTemplateReplacer.ts +17 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Identifiers used by MXF as internal routing sentinels.
3
+ *
4
+ * Agent and channel ids are also socket-routing coordinates. Letting an
5
+ * external tenant claim one of these values would turn a framework-emitted
6
+ * event into traffic for that tenant's socket. Comparisons are intentionally
7
+ * case-insensitive so visually equivalent aliases cannot be persisted and
8
+ * later confused with an internal principal.
9
+ */
10
+
11
+ const RESERVED_AGENT_IDS = new Set([
12
+ 'system',
13
+ 'system_agent',
14
+ 'sdk_system_agent',
15
+ 'system-service',
16
+ 'mxf-server'
17
+ ]);
18
+
19
+ const RESERVED_CHANNEL_IDS = new Set([
20
+ 'system',
21
+ 'no_channel',
22
+ 'global',
23
+ 'config_channel'
24
+ ]);
25
+
26
+ const normalizeIdentity = (value: unknown): string | null => {
27
+ if (typeof value !== 'string') {
28
+ return null;
29
+ }
30
+
31
+ const normalized = value.trim().toLowerCase();
32
+ return normalized.length > 0 ? normalized : null;
33
+ };
34
+
35
+ /** Return true when an agent id is reserved for framework-originated work. */
36
+ export const isReservedAgentId = (value: unknown): boolean => {
37
+ const normalized = normalizeIdentity(value);
38
+ return normalized !== null && (
39
+ RESERVED_AGENT_IDS.has(normalized) ||
40
+ normalized.startsWith('system:')
41
+ );
42
+ };
43
+
44
+ /** Return true when a channel id denotes a framework/global routing scope. */
45
+ export const isReservedChannelId = (value: unknown): boolean => {
46
+ const normalized = normalizeIdentity(value);
47
+ return normalized !== null && (
48
+ RESERVED_CHANNEL_IDS.has(normalized) ||
49
+ normalized.startsWith('system:')
50
+ );
51
+ };
@@ -63,7 +63,8 @@ export class MongoChannelRepository
63
63
  lastActive: doc.lastActive,
64
64
  metadata: doc.metadata || {},
65
65
  allowedTools: doc.allowedTools,
66
- systemLlmEnabled: doc.systemLlmEnabled
66
+ systemLlmEnabled: doc.systemLlmEnabled,
67
+ systemLlmStance: doc.systemLlmStance
67
68
  };
68
69
  }
69
70
 
@@ -52,6 +52,18 @@ import { Logger } from '../../../utils/Logger.js';
52
52
 
53
53
  const logger = new Logger('info', 'MongoKnowledgeGraphRepository', 'server');
54
54
 
55
+ /**
56
+ * Every mutation and id-list read is bound to one channel. A blank channel
57
+ * would turn the predicate into "any channel", so it is rejected before the
58
+ * query is built.
59
+ */
60
+ const requireChannelId = (channelId: ChannelId, operation: string): ChannelId => {
61
+ if (typeof channelId !== 'string' || channelId.trim().length === 0) {
62
+ throw new Error(`${operation} requires a non-empty channelId`);
63
+ }
64
+ return channelId;
65
+ };
66
+
55
67
  /**
56
68
  * MongoDB implementation of IKnowledgeGraphRepository
57
69
  */
@@ -95,25 +107,30 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
95
107
  return toEntityObject(saved);
96
108
  }
97
109
 
98
- async getEntity(entityId: string): Promise<Entity | null> {
99
- const doc = await EntityModel.findById(entityId);
110
+ async getEntity(entityId: string, channelId?: ChannelId): Promise<Entity | null> {
111
+ const doc = await EntityModel.findOne({
112
+ _id: entityId,
113
+ ...(channelId ? { channelId } : {})
114
+ });
100
115
  return doc ? toEntityObject(doc) : null;
101
116
  }
102
117
 
103
- async updateEntity(entityId: string, updates: Partial<Entity>): Promise<Entity | null> {
104
- const doc = await EntityModel.findByIdAndUpdate(
105
- entityId,
118
+ async updateEntity(entityId: string, channelId: ChannelId, updates: Partial<Entity>): Promise<Entity | null> {
119
+ const doc = await EntityModel.findOneAndUpdate(
120
+ { _id: entityId, channelId: requireChannelId(channelId, 'updateEntity') },
106
121
  { $set: updates },
107
122
  { new: true }
108
123
  );
109
124
  return doc ? toEntityObject(doc) : null;
110
125
  }
111
126
 
112
- async deleteEntity(entityId: string): Promise<boolean> {
113
- const result = await EntityModel.deleteOne({ _id: entityId });
127
+ async deleteEntity(entityId: string, channelId: ChannelId): Promise<boolean> {
128
+ const exactChannelId = requireChannelId(channelId, 'deleteEntity');
129
+ const result = await EntityModel.deleteOne({ _id: entityId, channelId: exactChannelId });
114
130
  if (result.deletedCount > 0) {
115
131
  // Also delete relationships involving this entity
116
132
  await RelationshipModel.deleteMany({
133
+ channelId: exactChannelId,
117
134
  $or: [
118
135
  { fromEntityId: entityId },
119
136
  { toEntityId: entityId },
@@ -224,9 +241,13 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
224
241
 
225
242
  async mergeEntities(
226
243
  targetEntityId: string,
227
- sourceEntityIds: string[]
244
+ sourceEntityIds: string[],
245
+ channelId?: ChannelId
228
246
  ): Promise<EntityMergeResult> {
229
- const target = await EntityModel.findById(targetEntityId);
247
+ const target = await EntityModel.findOne({
248
+ _id: targetEntityId,
249
+ ...(channelId ? { channelId } : {})
250
+ });
230
251
  if (!target) {
231
252
  return {
232
253
  success: false,
@@ -235,12 +256,23 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
235
256
  };
236
257
  }
237
258
 
238
- const sources = await EntityModel.find({ _id: { $in: sourceEntityIds } });
239
- if (sources.length === 0) {
259
+ const uniqueSourceEntityIds = [...new Set(sourceEntityIds)];
260
+ if (uniqueSourceEntityIds.includes(targetEntityId)) {
261
+ return {
262
+ success: false,
263
+ sourceEntityIds,
264
+ error: 'The merge target cannot also be a source entity',
265
+ };
266
+ }
267
+ const sources = await EntityModel.find({
268
+ _id: { $in: uniqueSourceEntityIds },
269
+ ...(channelId ? { channelId } : {})
270
+ });
271
+ if (sources.length !== uniqueSourceEntityIds.length) {
240
272
  return {
241
273
  success: false,
242
274
  sourceEntityIds,
243
- error: 'No source entities found',
275
+ error: 'Every source entity must exist in the authorized channel',
244
276
  };
245
277
  }
246
278
 
@@ -261,7 +293,10 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
261
293
 
262
294
  // Mark sources as merged
263
295
  await EntityModel.updateMany(
264
- { _id: { $in: sourceEntityIds } },
296
+ {
297
+ _id: { $in: uniqueSourceEntityIds },
298
+ ...(channelId ? { channelId } : {})
299
+ },
265
300
  {
266
301
  $set: {
267
302
  merged: true,
@@ -272,11 +307,17 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
272
307
 
273
308
  // Update relationships to point to target
274
309
  await RelationshipModel.updateMany(
275
- { fromEntityId: { $in: sourceEntityIds } },
310
+ {
311
+ fromEntityId: { $in: uniqueSourceEntityIds },
312
+ ...(channelId ? { channelId } : {})
313
+ },
276
314
  { $set: { fromEntityId: targetEntityId } }
277
315
  );
278
316
  await RelationshipModel.updateMany(
279
- { toEntityId: { $in: sourceEntityIds } },
317
+ {
318
+ toEntityId: { $in: uniqueSourceEntityIds },
319
+ ...(channelId ? { channelId } : {})
320
+ },
280
321
  { $set: { toEntityId: targetEntityId } }
281
322
  );
282
323
 
@@ -423,18 +464,22 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
423
464
 
424
465
  async updateRelationship(
425
466
  relationshipId: string,
467
+ channelId: ChannelId,
426
468
  updates: Partial<Relationship>
427
469
  ): Promise<Relationship | null> {
428
- const doc = await RelationshipModel.findByIdAndUpdate(
429
- relationshipId,
470
+ const doc = await RelationshipModel.findOneAndUpdate(
471
+ { _id: relationshipId, channelId: requireChannelId(channelId, 'updateRelationship') },
430
472
  { $set: updates },
431
473
  { new: true }
432
474
  );
433
475
  return doc ? toRelationshipObject(doc) : null;
434
476
  }
435
477
 
436
- async deleteRelationship(relationshipId: string): Promise<boolean> {
437
- const result = await RelationshipModel.deleteOne({ _id: relationshipId });
478
+ async deleteRelationship(relationshipId: string, channelId: ChannelId): Promise<boolean> {
479
+ const result = await RelationshipModel.deleteOne({
480
+ _id: relationshipId,
481
+ channelId: requireChannelId(channelId, 'deleteRelationship')
482
+ });
438
483
  return result.deletedCount > 0;
439
484
  }
440
485
 
@@ -497,7 +542,8 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
497
542
  entityType?: EntityType | EntityType[];
498
543
  maxDepth?: number;
499
544
  limit?: number;
500
- }
545
+ },
546
+ channelId?: ChannelId
501
547
  ): Promise<{ entities: Entity[]; relationships: Relationship[] }> {
502
548
  const direction = options?.direction || 'both';
503
549
  const limit = options?.limit || 100;
@@ -519,6 +565,9 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
519
565
  ? { $in: options.relationshipType }
520
566
  : options.relationshipType;
521
567
  }
568
+ if (channelId) {
569
+ relationshipQuery.channelId = channelId;
570
+ }
522
571
 
523
572
  const relationships = await RelationshipModel.find(relationshipQuery)
524
573
  .limit(limit)
@@ -533,6 +582,7 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
533
582
  let entityQuery: any = {
534
583
  _id: { $in: Array.from(neighborIds) },
535
584
  merged: false,
585
+ ...(channelId ? { channelId } : {})
536
586
  };
537
587
 
538
588
  if (options?.entityType) {
@@ -542,19 +592,37 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
542
592
  }
543
593
 
544
594
  const entities = await EntityModel.find(entityQuery).lean();
595
+ const scopedEntities = entities.map(doc => toEntityObject(doc as unknown as IEntity));
596
+ const scopedEntityIds = new Set<string>([
597
+ entityId,
598
+ ...scopedEntities.map(entity => entity.id)
599
+ ]);
600
+ const scopedRelationships = relationships
601
+ .map(doc => toRelationshipObject(doc as unknown as IRelationship))
602
+ .filter(relationship => (
603
+ scopedEntityIds.has(relationship.fromEntityId) &&
604
+ scopedEntityIds.has(relationship.toEntityId)
605
+ ));
545
606
 
546
607
  return {
547
- entities: entities.map((doc: any) => toEntityObject(doc as IEntity)),
548
- relationships: relationships.map((doc: any) => toRelationshipObject(doc as IRelationship)),
608
+ entities: scopedEntities,
609
+ relationships: scopedRelationships,
549
610
  };
550
611
  }
551
612
 
552
613
  async findPath(
553
614
  fromEntityId: string,
554
615
  toEntityId: string,
555
- maxHops?: number
616
+ maxHops?: number,
617
+ channelId?: ChannelId
556
618
  ): Promise<GraphPath | null> {
557
- const paths = await this.findAllPaths(fromEntityId, toEntityId, maxHops, 1);
619
+ const paths = await this.findAllPaths(
620
+ fromEntityId,
621
+ toEntityId,
622
+ maxHops,
623
+ 1,
624
+ channelId
625
+ );
558
626
  return paths.length > 0 ? paths[0] : null;
559
627
  }
560
628
 
@@ -562,7 +630,8 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
562
630
  fromEntityId: string,
563
631
  toEntityId: string,
564
632
  maxHops?: number,
565
- limit?: number
633
+ limit?: number,
634
+ channelId?: ChannelId
566
635
  ): Promise<GraphPath[]> {
567
636
  const maxDepth = maxHops ?? 5;
568
637
  const maxPaths = limit ?? 10;
@@ -613,6 +682,7 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
613
682
  // Get outgoing relationships
614
683
  const rels = await RelationshipModel.find({
615
684
  fromEntityId: current.currentId,
685
+ ...(channelId ? { channelId } : {})
616
686
  }).lean();
617
687
 
618
688
  for (const rel of rels) {
@@ -687,7 +757,8 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
687
757
  async getSubgraph(
688
758
  entityId: string,
689
759
  depth?: number,
690
- limit?: number
760
+ limit?: number,
761
+ channelId?: ChannelId
691
762
  ): Promise<{ entities: Entity[]; relationships: Relationship[] }> {
692
763
  const maxDepth = depth ?? 2;
693
764
  const maxEntities = limit ?? 50;
@@ -703,7 +774,7 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
703
774
  for (const id of currentLevel) {
704
775
  const neighbors = await this.getNeighbors(id, {
705
776
  limit: Math.min(10, maxEntities - entityIds.size),
706
- });
777
+ }, channelId);
707
778
 
708
779
  for (const rel of neighbors.relationships) {
709
780
  if (!relationships.find((r) => r.id === rel.id)) {
@@ -724,6 +795,7 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
724
795
 
725
796
  const entities = await EntityModel.find({
726
797
  _id: { $in: Array.from(entityIds) },
798
+ ...(channelId ? { channelId } : {})
727
799
  }).lean();
728
800
 
729
801
  return {
@@ -736,24 +808,28 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
736
808
  // Batch Operations
737
809
  // ========================================================================
738
810
 
739
- async getEntitiesByIds(entityIds: string[]): Promise<Entity[]> {
811
+ async getEntitiesByIds(channelId: ChannelId, entityIds: string[]): Promise<Entity[]> {
812
+ const exactChannelId = requireChannelId(channelId, 'getEntitiesByIds');
740
813
  if (entityIds.length === 0) {
741
814
  return [];
742
815
  }
743
816
 
744
817
  const docs = await EntityModel.find({
745
818
  _id: { $in: entityIds },
819
+ channelId: exactChannelId,
746
820
  merged: false,
747
821
  }).lean();
748
822
  return docs.map((doc: any) => toEntityObject(doc as IEntity));
749
823
  }
750
824
 
751
- async getRelationshipsByEntityIds(entityIds: string[]): Promise<Relationship[]> {
825
+ async getRelationshipsByEntityIds(channelId: ChannelId, entityIds: string[]): Promise<Relationship[]> {
826
+ const exactChannelId = requireChannelId(channelId, 'getRelationshipsByEntityIds');
752
827
  if (entityIds.length === 0) {
753
828
  return [];
754
829
  }
755
830
 
756
831
  const docs = await RelationshipModel.find({
832
+ channelId: exactChannelId,
757
833
  $or: [
758
834
  { fromEntityId: { $in: entityIds } },
759
835
  { toEntityId: { $in: entityIds } },
@@ -792,11 +868,12 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
792
868
 
793
869
  async updateEntityQValue(
794
870
  entityId: string,
871
+ channelId: ChannelId,
795
872
  newQValue: number,
796
873
  reason: string
797
874
  ): Promise<Entity | null> {
798
- const doc = await EntityModel.findByIdAndUpdate(
799
- entityId,
875
+ const doc = await EntityModel.findOneAndUpdate(
876
+ { _id: entityId, channelId: requireChannelId(channelId, 'updateEntityQValue') },
800
877
  {
801
878
  $set: {
802
879
  'utility.qValue': newQValue,
@@ -814,11 +891,13 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
814
891
  }
815
892
 
816
893
  async batchUpdateQValues(
894
+ channelId: ChannelId,
817
895
  updates: Array<{ entityId: string; qValue: number; reason: string }>
818
896
  ): Promise<void> {
897
+ const exactChannelId = requireChannelId(channelId, 'batchUpdateQValues');
819
898
  const bulkOps = updates.map((update) => ({
820
899
  updateOne: {
821
- filter: { _id: update.entityId },
900
+ filter: { _id: update.entityId, channelId: exactChannelId },
822
901
  update: {
823
902
  $set: {
824
903
  'utility.qValue': update.qValue,
@@ -861,9 +940,9 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
861
940
  return docs.map((doc: any) => toEntityObject(doc as IEntity));
862
941
  }
863
942
 
864
- async incrementRetrievalCount(entityIds: string[]): Promise<void> {
943
+ async incrementRetrievalCount(channelId: ChannelId, entityIds: string[]): Promise<void> {
865
944
  await EntityModel.updateMany(
866
- { _id: { $in: entityIds } },
945
+ { _id: { $in: entityIds }, channelId: requireChannelId(channelId, 'incrementRetrievalCount') },
867
946
  {
868
947
  $inc: { 'utility.retrievalCount': 1 },
869
948
  $set: { 'utility.lastAccessedAt': Date.now() },
@@ -871,10 +950,10 @@ export class MongoKnowledgeGraphRepository implements IKnowledgeGraphRepository
871
950
  );
872
951
  }
873
952
 
874
- async recordOutcome(entityIds: string[], success: boolean): Promise<void> {
953
+ async recordOutcome(channelId: ChannelId, entityIds: string[], success: boolean): Promise<void> {
875
954
  const field = success ? 'utility.successCount' : 'utility.failureCount';
876
955
  await EntityModel.updateMany(
877
- { _id: { $in: entityIds } },
956
+ { _id: { $in: entityIds }, channelId: requireChannelId(channelId, 'recordOutcome') },
878
957
  { $inc: { [field]: 1 } }
879
958
  );
880
959
  }