@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 @@
1
+ {"version":3,"file":"ReservedIdentities.js","sourceRoot":"","sources":["../../src/constants/ReservedIdentities.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAC/B,QAAQ;IACR,cAAc;IACd,kBAAkB;IAClB,gBAAgB;IAChB,YAAY;CACf,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACjC,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,gBAAgB;CACnB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAiB,EAAE;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAW,EAAE;IACzD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,UAAU,KAAK,IAAI,IAAI,CAC1B,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CACnC,CAAC;AACN,CAAC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,UAAU,KAAK,IAAI,IAAI,CAC1B,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CACnC,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MongoChannelRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoChannelRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAW,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,qBAAa,sBACT,SAAQ,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CACpD,YAAW,kBAAkB;;IAM7B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc;IA8B5C;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKxE;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKnE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKjE;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS9F;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IASjG;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK3D;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQzE;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,OAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhF;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAO5D;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgBlE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAIhD"}
1
+ {"version":3,"file":"MongoChannelRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoChannelRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAW,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC/H,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;GAGG;AACH,qBAAa,sBACT,SAAQ,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CACpD,YAAW,kBAAkB;;IAM7B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc;IA+B5C;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKxE;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKnE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAKjE;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAS9F;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IASjG;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK3D;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQzE;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,OAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhF;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAO5D;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgBlE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;CAIhD"}
@@ -56,7 +56,8 @@ export class MongoChannelRepository extends MongoBaseRepository {
56
56
  lastActive: doc.lastActive,
57
57
  metadata: doc.metadata || {},
58
58
  allowedTools: doc.allowedTools,
59
- systemLlmEnabled: doc.systemLlmEnabled
59
+ systemLlmEnabled: doc.systemLlmEnabled,
60
+ systemLlmStance: doc.systemLlmStance
60
61
  };
61
62
  }
62
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MongoChannelRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoChannelRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoChannelRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoChannelRepository.ts"],"names":[],"mappings":"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"}
@@ -31,22 +31,22 @@ export declare class MongoKnowledgeGraphRepository implements IKnowledgeGraphRep
31
31
  */
32
32
  static getInstance(): MongoKnowledgeGraphRepository;
33
33
  createEntity(request: CreateEntityRequest): Promise<Entity>;
34
- getEntity(entityId: string): Promise<Entity | null>;
35
- updateEntity(entityId: string, updates: Partial<Entity>): Promise<Entity | null>;
36
- deleteEntity(entityId: string): Promise<boolean>;
34
+ getEntity(entityId: string, channelId?: ChannelId): Promise<Entity | null>;
35
+ updateEntity(entityId: string, channelId: ChannelId, updates: Partial<Entity>): Promise<Entity | null>;
36
+ deleteEntity(entityId: string, channelId: ChannelId): Promise<boolean>;
37
37
  findEntities(channelId: ChannelId, filter?: EntityFilter, limit?: number): Promise<Entity[]>;
38
38
  findEntityByName(channelId: ChannelId, name: string, exact?: boolean): Promise<Entity[]>;
39
39
  findEntityByAlias(channelId: ChannelId, alias: string): Promise<Entity[]>;
40
40
  findOrCreateEntity(request: CreateEntityRequest): Promise<Entity>;
41
- mergeEntities(targetEntityId: string, sourceEntityIds: string[]): Promise<EntityMergeResult>;
41
+ mergeEntities(targetEntityId: string, sourceEntityIds: string[], channelId?: ChannelId): Promise<EntityMergeResult>;
42
42
  findSimilarEntities(channelId: ChannelId, threshold?: number): Promise<EntitySimilarity[]>;
43
43
  private calculateStringSimilarity;
44
44
  private levenshteinDistance;
45
45
  private calculateAliasSimilarity;
46
46
  createRelationship(request: CreateRelationshipRequest): Promise<Relationship>;
47
47
  getRelationship(relationshipId: string): Promise<Relationship | null>;
48
- updateRelationship(relationshipId: string, updates: Partial<Relationship>): Promise<Relationship | null>;
49
- deleteRelationship(relationshipId: string): Promise<boolean>;
48
+ updateRelationship(relationshipId: string, channelId: ChannelId, updates: Partial<Relationship>): Promise<Relationship | null>;
49
+ deleteRelationship(relationshipId: string, channelId: ChannelId): Promise<boolean>;
50
50
  getRelationshipsBetween(fromEntityId: string, toEntityId: string, type?: RelationshipType): Promise<Relationship[]>;
51
51
  getEntityRelationships(entityId: string, filter?: RelationshipFilter): Promise<Relationship[]>;
52
52
  getNeighbors(entityId: string, options?: {
@@ -55,31 +55,31 @@ export declare class MongoKnowledgeGraphRepository implements IKnowledgeGraphRep
55
55
  entityType?: EntityType | EntityType[];
56
56
  maxDepth?: number;
57
57
  limit?: number;
58
- }): Promise<{
58
+ }, channelId?: ChannelId): Promise<{
59
59
  entities: Entity[];
60
60
  relationships: Relationship[];
61
61
  }>;
62
- findPath(fromEntityId: string, toEntityId: string, maxHops?: number): Promise<GraphPath | null>;
63
- findAllPaths(fromEntityId: string, toEntityId: string, maxHops?: number, limit?: number): Promise<GraphPath[]>;
62
+ findPath(fromEntityId: string, toEntityId: string, maxHops?: number, channelId?: ChannelId): Promise<GraphPath | null>;
63
+ findAllPaths(fromEntityId: string, toEntityId: string, maxHops?: number, limit?: number, channelId?: ChannelId): Promise<GraphPath[]>;
64
64
  query(channelId: ChannelId, query: GraphQuery): Promise<GraphQueryResult>;
65
- getSubgraph(entityId: string, depth?: number, limit?: number): Promise<{
65
+ getSubgraph(entityId: string, depth?: number, limit?: number, channelId?: ChannelId): Promise<{
66
66
  entities: Entity[];
67
67
  relationships: Relationship[];
68
68
  }>;
69
- getEntitiesByIds(entityIds: string[]): Promise<Entity[]>;
70
- getRelationshipsByEntityIds(entityIds: string[]): Promise<Relationship[]>;
69
+ getEntitiesByIds(channelId: ChannelId, entityIds: string[]): Promise<Entity[]>;
70
+ getRelationshipsByEntityIds(channelId: ChannelId, entityIds: string[]): Promise<Relationship[]>;
71
71
  linkMemoryToEntities(memoryId: string, entityIds: string[]): Promise<void>;
72
72
  getEntitiesForMemory(memoryId: string): Promise<Entity[]>;
73
73
  getMemoriesForEntity(entityId: string): Promise<string[]>;
74
- updateEntityQValue(entityId: string, newQValue: number, reason: string): Promise<Entity | null>;
75
- batchUpdateQValues(updates: Array<{
74
+ updateEntityQValue(entityId: string, channelId: ChannelId, newQValue: number, reason: string): Promise<Entity | null>;
75
+ batchUpdateQValues(channelId: ChannelId, updates: Array<{
76
76
  entityId: string;
77
77
  qValue: number;
78
78
  reason: string;
79
79
  }>): Promise<void>;
80
80
  getEntitiesByQValue(channelId: ChannelId, minQValue?: number, maxQValue?: number, limit?: number): Promise<Entity[]>;
81
- incrementRetrievalCount(entityIds: string[]): Promise<void>;
82
- recordOutcome(entityIds: string[], success: boolean): Promise<void>;
81
+ incrementRetrievalCount(channelId: ChannelId, entityIds: string[]): Promise<void>;
82
+ recordOutcome(channelId: ChannelId, entityIds: string[], success: boolean): Promise<void>;
83
83
  getGraphContext(channelId: ChannelId, taskId?: string, keywords?: string[]): Promise<GraphContext>;
84
84
  getHighUtilityEntities(channelId: ChannelId, limit?: number): Promise<Entity[]>;
85
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MongoKnowledgeGraphRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EACH,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAEnB,MAAM,uCAAuC,CAAC;AAM/C;;GAEG;AACH,qBAAa,6BAA8B,YAAW,yBAAyB;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgC;IAEvD,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,6BAA6B;IAWpD,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB3D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKnD,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAShF,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAehD,YAAY,CACd,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,YAAY,EACrB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAuCd,gBAAgB,CAClB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBd,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASzE,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BjE,aAAa,CACf,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAkEvB,mBAAmB,CACrB,SAAS,EAAE,SAAS,EACpB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA0C9B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,wBAAwB;IAmB1B,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC;IAuB7E,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKrE,kBAAkB,CACpB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAC/B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IASzB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D,uBAAuB,CACzB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;IAUpB,sBAAsB,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,kBAAkB,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;IAkCpB,YAAY,CACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;QAC7C,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;QACzD,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,GACF,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAmD3D,QAAQ,CACV,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAKtB,YAAY,CACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,EAAE,CAAC;IAoEjB,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqDzE,WAAW,CACb,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAgD3D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYxD,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkBzE,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1E,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQzD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IASzD,kBAAkB,CACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmBnB,kBAAkB,CACpB,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GACrE,OAAO,CAAC,IAAI,CAAC;IAmBV,mBAAmB,CACrB,SAAS,EAAE,SAAS,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,eAAe,CACjB,SAAS,EAAE,SAAS,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC;IAkFlB,sBAAsB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxF"}
1
+ {"version":3,"file":"MongoKnowledgeGraphRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,17 @@ import { DEFAULT_ENTITY_UTILITY, } from '../../../types/KnowledgeGraphTypes.js';
23
23
  import { getContextLimits } from '../../../config/knowledge-graph.config.js';
24
24
  import { Logger } from '../../../utils/Logger.js';
25
25
  const logger = new Logger('info', 'MongoKnowledgeGraphRepository', 'server');
26
+ /**
27
+ * Every mutation and id-list read is bound to one channel. A blank channel
28
+ * would turn the predicate into "any channel", so it is rejected before the
29
+ * query is built.
30
+ */
31
+ const requireChannelId = (channelId, operation) => {
32
+ if (typeof channelId !== 'string' || channelId.trim().length === 0) {
33
+ throw new Error(`${operation} requires a non-empty channelId`);
34
+ }
35
+ return channelId;
36
+ };
26
37
  /**
27
38
  * MongoDB implementation of IKnowledgeGraphRepository
28
39
  */
@@ -60,19 +71,24 @@ export class MongoKnowledgeGraphRepository {
60
71
  logger.debug(`Created entity: ${saved.name} (${saved.type}) in channel ${request.channelId}`);
61
72
  return toEntityObject(saved);
62
73
  }
63
- async getEntity(entityId) {
64
- const doc = await EntityModel.findById(entityId);
74
+ async getEntity(entityId, channelId) {
75
+ const doc = await EntityModel.findOne({
76
+ _id: entityId,
77
+ ...(channelId ? { channelId } : {})
78
+ });
65
79
  return doc ? toEntityObject(doc) : null;
66
80
  }
67
- async updateEntity(entityId, updates) {
68
- const doc = await EntityModel.findByIdAndUpdate(entityId, { $set: updates }, { new: true });
81
+ async updateEntity(entityId, channelId, updates) {
82
+ const doc = await EntityModel.findOneAndUpdate({ _id: entityId, channelId: requireChannelId(channelId, 'updateEntity') }, { $set: updates }, { new: true });
69
83
  return doc ? toEntityObject(doc) : null;
70
84
  }
71
- async deleteEntity(entityId) {
72
- const result = await EntityModel.deleteOne({ _id: entityId });
85
+ async deleteEntity(entityId, channelId) {
86
+ const exactChannelId = requireChannelId(channelId, 'deleteEntity');
87
+ const result = await EntityModel.deleteOne({ _id: entityId, channelId: exactChannelId });
73
88
  if (result.deletedCount > 0) {
74
89
  // Also delete relationships involving this entity
75
90
  await RelationshipModel.deleteMany({
91
+ channelId: exactChannelId,
76
92
  $or: [
77
93
  { fromEntityId: entityId },
78
94
  { toEntityId: entityId },
@@ -160,8 +176,11 @@ export class MongoKnowledgeGraphRepository {
160
176
  }
161
177
  return this.createEntity(request);
162
178
  }
163
- async mergeEntities(targetEntityId, sourceEntityIds) {
164
- const target = await EntityModel.findById(targetEntityId);
179
+ async mergeEntities(targetEntityId, sourceEntityIds, channelId) {
180
+ const target = await EntityModel.findOne({
181
+ _id: targetEntityId,
182
+ ...(channelId ? { channelId } : {})
183
+ });
165
184
  if (!target) {
166
185
  return {
167
186
  success: false,
@@ -169,12 +188,23 @@ export class MongoKnowledgeGraphRepository {
169
188
  error: 'Target entity not found',
170
189
  };
171
190
  }
172
- const sources = await EntityModel.find({ _id: { $in: sourceEntityIds } });
173
- if (sources.length === 0) {
191
+ const uniqueSourceEntityIds = [...new Set(sourceEntityIds)];
192
+ if (uniqueSourceEntityIds.includes(targetEntityId)) {
193
+ return {
194
+ success: false,
195
+ sourceEntityIds,
196
+ error: 'The merge target cannot also be a source entity',
197
+ };
198
+ }
199
+ const sources = await EntityModel.find({
200
+ _id: { $in: uniqueSourceEntityIds },
201
+ ...(channelId ? { channelId } : {})
202
+ });
203
+ if (sources.length !== uniqueSourceEntityIds.length) {
174
204
  return {
175
205
  success: false,
176
206
  sourceEntityIds,
177
- error: 'No source entities found',
207
+ error: 'Every source entity must exist in the authorized channel',
178
208
  };
179
209
  }
180
210
  // Merge aliases
@@ -191,15 +221,24 @@ export class MongoKnowledgeGraphRepository {
191
221
  }
192
222
  target.sourceMemoryIds = Array.from(allMemoryIds);
193
223
  // Mark sources as merged
194
- await EntityModel.updateMany({ _id: { $in: sourceEntityIds } }, {
224
+ await EntityModel.updateMany({
225
+ _id: { $in: uniqueSourceEntityIds },
226
+ ...(channelId ? { channelId } : {})
227
+ }, {
195
228
  $set: {
196
229
  merged: true,
197
230
  mergedInto: targetEntityId,
198
231
  },
199
232
  });
200
233
  // Update relationships to point to target
201
- await RelationshipModel.updateMany({ fromEntityId: { $in: sourceEntityIds } }, { $set: { fromEntityId: targetEntityId } });
202
- await RelationshipModel.updateMany({ toEntityId: { $in: sourceEntityIds } }, { $set: { toEntityId: targetEntityId } });
234
+ await RelationshipModel.updateMany({
235
+ fromEntityId: { $in: uniqueSourceEntityIds },
236
+ ...(channelId ? { channelId } : {})
237
+ }, { $set: { fromEntityId: targetEntityId } });
238
+ await RelationshipModel.updateMany({
239
+ toEntityId: { $in: uniqueSourceEntityIds },
240
+ ...(channelId ? { channelId } : {})
241
+ }, { $set: { toEntityId: targetEntityId } });
203
242
  await target.save();
204
243
  logger.info(`Merged ${sources.length} entities into ${target.name}`);
205
244
  return {
@@ -310,12 +349,15 @@ export class MongoKnowledgeGraphRepository {
310
349
  const doc = await RelationshipModel.findById(relationshipId);
311
350
  return doc ? toRelationshipObject(doc) : null;
312
351
  }
313
- async updateRelationship(relationshipId, updates) {
314
- const doc = await RelationshipModel.findByIdAndUpdate(relationshipId, { $set: updates }, { new: true });
352
+ async updateRelationship(relationshipId, channelId, updates) {
353
+ const doc = await RelationshipModel.findOneAndUpdate({ _id: relationshipId, channelId: requireChannelId(channelId, 'updateRelationship') }, { $set: updates }, { new: true });
315
354
  return doc ? toRelationshipObject(doc) : null;
316
355
  }
317
- async deleteRelationship(relationshipId) {
318
- const result = await RelationshipModel.deleteOne({ _id: relationshipId });
356
+ async deleteRelationship(relationshipId, channelId) {
357
+ const result = await RelationshipModel.deleteOne({
358
+ _id: relationshipId,
359
+ channelId: requireChannelId(channelId, 'deleteRelationship')
360
+ });
319
361
  return result.deletedCount > 0;
320
362
  }
321
363
  async getRelationshipsBetween(fromEntityId, toEntityId, type) {
@@ -356,7 +398,7 @@ export class MongoKnowledgeGraphRepository {
356
398
  // ========================================================================
357
399
  // Graph Query Operations
358
400
  // ========================================================================
359
- async getNeighbors(entityId, options) {
401
+ async getNeighbors(entityId, options, channelId) {
360
402
  const direction = options?.direction || 'both';
361
403
  const limit = options?.limit || 100;
362
404
  let relationshipQuery = {};
@@ -376,6 +418,9 @@ export class MongoKnowledgeGraphRepository {
376
418
  ? { $in: options.relationshipType }
377
419
  : options.relationshipType;
378
420
  }
421
+ if (channelId) {
422
+ relationshipQuery.channelId = channelId;
423
+ }
379
424
  const relationships = await RelationshipModel.find(relationshipQuery)
380
425
  .limit(limit)
381
426
  .lean();
@@ -389,6 +434,7 @@ export class MongoKnowledgeGraphRepository {
389
434
  let entityQuery = {
390
435
  _id: { $in: Array.from(neighborIds) },
391
436
  merged: false,
437
+ ...(channelId ? { channelId } : {})
392
438
  };
393
439
  if (options?.entityType) {
394
440
  entityQuery.type = Array.isArray(options.entityType)
@@ -396,16 +442,25 @@ export class MongoKnowledgeGraphRepository {
396
442
  : options.entityType;
397
443
  }
398
444
  const entities = await EntityModel.find(entityQuery).lean();
445
+ const scopedEntities = entities.map(doc => toEntityObject(doc));
446
+ const scopedEntityIds = new Set([
447
+ entityId,
448
+ ...scopedEntities.map(entity => entity.id)
449
+ ]);
450
+ const scopedRelationships = relationships
451
+ .map(doc => toRelationshipObject(doc))
452
+ .filter(relationship => (scopedEntityIds.has(relationship.fromEntityId) &&
453
+ scopedEntityIds.has(relationship.toEntityId)));
399
454
  return {
400
- entities: entities.map((doc) => toEntityObject(doc)),
401
- relationships: relationships.map((doc) => toRelationshipObject(doc)),
455
+ entities: scopedEntities,
456
+ relationships: scopedRelationships,
402
457
  };
403
458
  }
404
- async findPath(fromEntityId, toEntityId, maxHops) {
405
- const paths = await this.findAllPaths(fromEntityId, toEntityId, maxHops, 1);
459
+ async findPath(fromEntityId, toEntityId, maxHops, channelId) {
460
+ const paths = await this.findAllPaths(fromEntityId, toEntityId, maxHops, 1, channelId);
406
461
  return paths.length > 0 ? paths[0] : null;
407
462
  }
408
- async findAllPaths(fromEntityId, toEntityId, maxHops, limit) {
463
+ async findAllPaths(fromEntityId, toEntityId, maxHops, limit, channelId) {
409
464
  const maxDepth = maxHops ?? 5;
410
465
  const maxPaths = limit ?? 10;
411
466
  // BFS to find paths
@@ -443,6 +498,7 @@ export class MongoKnowledgeGraphRepository {
443
498
  // Get outgoing relationships
444
499
  const rels = await RelationshipModel.find({
445
500
  fromEntityId: current.currentId,
501
+ ...(channelId ? { channelId } : {})
446
502
  }).lean();
447
503
  for (const rel of rels) {
448
504
  if (!current.path.includes(rel.toEntityId)) {
@@ -502,7 +558,7 @@ export class MongoKnowledgeGraphRepository {
502
558
  executionTimeMs: Date.now() - startTime,
503
559
  };
504
560
  }
505
- async getSubgraph(entityId, depth, limit) {
561
+ async getSubgraph(entityId, depth, limit, channelId) {
506
562
  const maxDepth = depth ?? 2;
507
563
  const maxEntities = limit ?? 50;
508
564
  const entityIds = new Set([entityId]);
@@ -513,7 +569,7 @@ export class MongoKnowledgeGraphRepository {
513
569
  for (const id of currentLevel) {
514
570
  const neighbors = await this.getNeighbors(id, {
515
571
  limit: Math.min(10, maxEntities - entityIds.size),
516
- });
572
+ }, channelId);
517
573
  for (const rel of neighbors.relationships) {
518
574
  if (!relationships.find((r) => r.id === rel.id)) {
519
575
  relationships.push(rel);
@@ -530,6 +586,7 @@ export class MongoKnowledgeGraphRepository {
530
586
  }
531
587
  const entities = await EntityModel.find({
532
588
  _id: { $in: Array.from(entityIds) },
589
+ ...(channelId ? { channelId } : {})
533
590
  }).lean();
534
591
  return {
535
592
  entities: entities.map((doc) => toEntityObject(doc)),
@@ -539,21 +596,25 @@ export class MongoKnowledgeGraphRepository {
539
596
  // ========================================================================
540
597
  // Batch Operations
541
598
  // ========================================================================
542
- async getEntitiesByIds(entityIds) {
599
+ async getEntitiesByIds(channelId, entityIds) {
600
+ const exactChannelId = requireChannelId(channelId, 'getEntitiesByIds');
543
601
  if (entityIds.length === 0) {
544
602
  return [];
545
603
  }
546
604
  const docs = await EntityModel.find({
547
605
  _id: { $in: entityIds },
606
+ channelId: exactChannelId,
548
607
  merged: false,
549
608
  }).lean();
550
609
  return docs.map((doc) => toEntityObject(doc));
551
610
  }
552
- async getRelationshipsByEntityIds(entityIds) {
611
+ async getRelationshipsByEntityIds(channelId, entityIds) {
612
+ const exactChannelId = requireChannelId(channelId, 'getRelationshipsByEntityIds');
553
613
  if (entityIds.length === 0) {
554
614
  return [];
555
615
  }
556
616
  const docs = await RelationshipModel.find({
617
+ channelId: exactChannelId,
557
618
  $or: [
558
619
  { fromEntityId: { $in: entityIds } },
559
620
  { toEntityId: { $in: entityIds } },
@@ -581,8 +642,8 @@ export class MongoKnowledgeGraphRepository {
581
642
  // ========================================================================
582
643
  // Q-Value / MULS Operations
583
644
  // ========================================================================
584
- async updateEntityQValue(entityId, newQValue, reason) {
585
- const doc = await EntityModel.findByIdAndUpdate(entityId, {
645
+ async updateEntityQValue(entityId, channelId, newQValue, reason) {
646
+ const doc = await EntityModel.findOneAndUpdate({ _id: entityId, channelId: requireChannelId(channelId, 'updateEntityQValue') }, {
586
647
  $set: {
587
648
  'utility.qValue': newQValue,
588
649
  'utility.lastQValueUpdateAt': Date.now(),
@@ -593,10 +654,11 @@ export class MongoKnowledgeGraphRepository {
593
654
  }
594
655
  return doc ? toEntityObject(doc) : null;
595
656
  }
596
- async batchUpdateQValues(updates) {
657
+ async batchUpdateQValues(channelId, updates) {
658
+ const exactChannelId = requireChannelId(channelId, 'batchUpdateQValues');
597
659
  const bulkOps = updates.map((update) => ({
598
660
  updateOne: {
599
- filter: { _id: update.entityId },
661
+ filter: { _id: update.entityId, channelId: exactChannelId },
600
662
  update: {
601
663
  $set: {
602
664
  'utility.qValue': update.qValue,
@@ -628,15 +690,15 @@ export class MongoKnowledgeGraphRepository {
628
690
  const docs = await q.lean();
629
691
  return docs.map((doc) => toEntityObject(doc));
630
692
  }
631
- async incrementRetrievalCount(entityIds) {
632
- await EntityModel.updateMany({ _id: { $in: entityIds } }, {
693
+ async incrementRetrievalCount(channelId, entityIds) {
694
+ await EntityModel.updateMany({ _id: { $in: entityIds }, channelId: requireChannelId(channelId, 'incrementRetrievalCount') }, {
633
695
  $inc: { 'utility.retrievalCount': 1 },
634
696
  $set: { 'utility.lastAccessedAt': Date.now() },
635
697
  });
636
698
  }
637
- async recordOutcome(entityIds, success) {
699
+ async recordOutcome(channelId, entityIds, success) {
638
700
  const field = success ? 'utility.successCount' : 'utility.failureCount';
639
- await EntityModel.updateMany({ _id: { $in: entityIds } }, { $inc: { [field]: 1 } });
701
+ await EntityModel.updateMany({ _id: { $in: entityIds }, channelId: requireChannelId(channelId, 'recordOutcome') }, { $inc: { [field]: 1 } });
640
702
  }
641
703
  // ========================================================================
642
704
  // Context Operations
@@ -1 +1 @@
1
- {"version":3,"file":"MongoKnowledgeGraphRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoKnowledgeGraphRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts"],"names":[],"mappings":"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"}