@mxf-dev/core 2.0.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/config/ModelContextLimits.d.ts.map +1 -1
  2. package/dist/config/ModelContextLimits.js +7 -1
  3. package/dist/config/ModelContextLimits.js.map +1 -1
  4. package/dist/constants/CoreTools.d.ts +6 -5
  5. package/dist/constants/CoreTools.d.ts.map +1 -1
  6. package/dist/constants/CoreTools.js +6 -5
  7. package/dist/constants/CoreTools.js.map +1 -1
  8. package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -1
  9. package/dist/constants/DefaultPhaseProfiles.js +29 -0
  10. package/dist/constants/DefaultPhaseProfiles.js.map +1 -1
  11. package/dist/constants/ReservedIdentities.d.ts +14 -0
  12. package/dist/constants/ReservedIdentities.d.ts.map +1 -0
  13. package/dist/constants/ReservedIdentities.js +42 -0
  14. package/dist/constants/ReservedIdentities.js.map +1 -0
  15. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +16 -16
  16. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -1
  17. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +98 -36
  18. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -1
  19. package/dist/events/ClientEventBus.d.ts +28 -0
  20. package/dist/events/ClientEventBus.d.ts.map +1 -1
  21. package/dist/events/ClientEventBus.js +87 -40
  22. package/dist/events/ClientEventBus.js.map +1 -1
  23. package/dist/events/EventBus.d.ts +19 -1
  24. package/dist/events/EventBus.d.ts.map +1 -1
  25. package/dist/events/EventBus.js +23 -0
  26. package/dist/events/EventBus.js.map +1 -1
  27. package/dist/events/EventBusBase.d.ts +37 -6
  28. package/dist/events/EventBusBase.d.ts.map +1 -1
  29. package/dist/events/EventBusBase.js +75 -27
  30. package/dist/events/EventBusBase.js.map +1 -1
  31. package/dist/events/EventNames.d.ts +49 -36
  32. package/dist/events/EventNames.d.ts.map +1 -1
  33. package/dist/events/EventNames.js +38 -36
  34. package/dist/events/EventNames.js.map +1 -1
  35. package/dist/events/PublicEvents.d.ts +5 -1
  36. package/dist/events/PublicEvents.d.ts.map +1 -1
  37. package/dist/events/PublicEvents.js +7 -0
  38. package/dist/events/PublicEvents.js.map +1 -1
  39. package/dist/events/ServerEventBus.d.ts +7 -54
  40. package/dist/events/ServerEventBus.d.ts.map +1 -1
  41. package/dist/events/ServerEventBus.js +10 -96
  42. package/dist/events/ServerEventBus.js.map +1 -1
  43. package/dist/events/event-definitions/ControlLoopEvents.d.ts +35 -0
  44. package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -1
  45. package/dist/events/event-definitions/ControlLoopEvents.js +6 -0
  46. package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -1
  47. package/dist/events/event-definitions/SdkEvents.d.ts +55 -0
  48. package/dist/events/event-definitions/SdkEvents.d.ts.map +1 -0
  49. package/dist/events/event-definitions/SdkEvents.js +36 -0
  50. package/dist/events/event-definitions/SdkEvents.js.map +1 -0
  51. package/dist/events/event-definitions/TaskEvents.d.ts +2 -7
  52. package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -1
  53. package/dist/index.d.ts +4 -0
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/interfaces/AgentInterfaces.d.ts +5 -0
  58. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -1
  59. package/dist/interfaces/ChannelConfig.d.ts +2 -2
  60. package/dist/interfaces/ChannelConfig.d.ts.map +1 -1
  61. package/dist/interfaces/ConversationMessage.d.ts +1 -1
  62. package/dist/interfaces/ConversationMessage.d.ts.map +1 -1
  63. package/dist/interfaces/IMemoryPersistence.d.ts +47 -1
  64. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -1
  65. package/dist/interfaces/SocketServiceInterface.d.ts +3 -2
  66. package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -1
  67. package/dist/interfaces/TaskInterfaces.d.ts +14 -1
  68. package/dist/interfaces/TaskInterfaces.d.ts.map +1 -1
  69. package/dist/models/agent.d.ts +0 -1
  70. package/dist/models/agent.d.ts.map +1 -1
  71. package/dist/models/agent.js +0 -5
  72. package/dist/models/agent.js.map +1 -1
  73. package/dist/models/agentIdentityReservation.d.ts +42 -0
  74. package/dist/models/agentIdentityReservation.d.ts.map +1 -0
  75. package/dist/models/agentIdentityReservation.js +52 -0
  76. package/dist/models/agentIdentityReservation.js.map +1 -0
  77. package/dist/models/channel.d.ts +2 -0
  78. package/dist/models/channel.d.ts.map +1 -1
  79. package/dist/models/channel.js.map +1 -1
  80. package/dist/models/channelKey.d.ts +1 -0
  81. package/dist/models/channelKey.d.ts.map +1 -1
  82. package/dist/models/channelKey.js +5 -0
  83. package/dist/models/channelKey.js.map +1 -1
  84. package/dist/models/memory.d.ts +1 -1
  85. package/dist/models/memory.d.ts.map +1 -1
  86. package/dist/models/memory.js +9 -12
  87. package/dist/models/memory.js.map +1 -1
  88. package/dist/models/memoryStrata.d.ts +3 -16
  89. package/dist/models/memoryStrata.d.ts.map +1 -1
  90. package/dist/models/memoryStrata.js +3 -5
  91. package/dist/models/memoryStrata.js.map +1 -1
  92. package/dist/models/plan.d.ts +2 -2
  93. package/dist/models/plan.d.ts.map +1 -1
  94. package/dist/models/plan.js +1 -1
  95. package/dist/models/plan.js.map +1 -1
  96. package/dist/models/taskEffectiveness.d.ts +1 -0
  97. package/dist/models/taskEffectiveness.d.ts.map +1 -1
  98. package/dist/models/taskEffectiveness.js +7 -1
  99. package/dist/models/taskEffectiveness.js.map +1 -1
  100. package/dist/models/user.d.ts +4 -0
  101. package/dist/models/user.d.ts.map +1 -1
  102. package/dist/models/user.js +8 -0
  103. package/dist/models/user.js.map +1 -1
  104. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts +16 -0
  105. package/dist/protocols/mcp/LlmTestEnvironmentGuard.d.ts.map +1 -0
  106. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js +25 -0
  107. package/dist/protocols/mcp/LlmTestEnvironmentGuard.js.map +1 -0
  108. package/dist/protocols/mcp/McpServerTypes.d.ts +9 -0
  109. package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -1
  110. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -1
  111. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +1 -0
  112. package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -1
  113. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -1
  114. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +1 -0
  115. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -1
  116. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +4 -0
  117. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -1
  118. package/dist/protocols/mcp/providers/BaseMcpClient.js +10 -0
  119. package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -1
  120. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -1
  121. package/dist/protocols/mcp/providers/CustomMcpClient.js +7 -0
  122. package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -1
  123. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -1
  124. package/dist/protocols/mcp/providers/GeminiMcpClient.js +1 -0
  125. package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -1
  126. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +1 -0
  127. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -1
  128. package/dist/protocols/mcp/providers/OllamaMcpClient.js +1 -0
  129. package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -1
  130. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -1
  131. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +1 -0
  132. package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -1
  133. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -1
  134. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +2 -0
  135. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -1
  136. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -1
  137. package/dist/protocols/mcp/providers/XaiMcpClient.js +1 -0
  138. package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -1
  139. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts +14 -0
  140. package/dist/protocols/mcp/security/BrowserTargetGuard.d.ts.map +1 -0
  141. package/dist/protocols/mcp/security/BrowserTargetGuard.js +55 -0
  142. package/dist/protocols/mcp/security/BrowserTargetGuard.js.map +1 -0
  143. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts +24 -0
  144. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.d.ts.map +1 -0
  145. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js +33 -0
  146. package/dist/protocols/mcp/security/ExternalMcpRegistrationPolicy.js.map +1 -0
  147. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -1
  148. package/dist/protocols/mcp/security/HttpTargetGuard.js +68 -6
  149. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -1
  150. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  151. package/dist/protocols/mcp/security/McpSecurityGuard.js +7 -5
  152. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  153. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +18 -0
  154. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -1
  155. package/dist/protocols/mcp/security/McpToolPolicy.js +60 -0
  156. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -1
  157. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +118 -5
  158. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  159. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +499 -98
  160. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  161. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +2 -2
  162. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  163. package/dist/protocols/mcp/services/ExternalServerConfigs.js +25 -8
  164. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  165. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +3 -37
  166. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -1
  167. package/dist/protocols/mcp/tools/AnalyticsTools.js +134 -614
  168. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  169. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  170. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +16 -13
  171. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  172. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -1
  173. package/dist/protocols/mcp/tools/EffectivenessTools.js +94 -30
  174. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  175. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  176. package/dist/protocols/mcp/tools/GitTools.js +9 -5
  177. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  178. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +10 -40
  179. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  180. package/dist/protocols/mcp/tools/InfrastructureTools.js +29 -70
  181. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  182. package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -1
  183. package/dist/protocols/mcp/tools/JsonTools.js +4 -4
  184. package/dist/protocols/mcp/tools/JsonTools.js.map +1 -1
  185. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +55 -592
  186. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -1
  187. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +169 -119
  188. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -1
  189. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +6 -6
  190. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  191. package/dist/protocols/mcp/tools/MemorySearchTools.js +107 -39
  192. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  193. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +4 -5
  194. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -1
  195. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +59 -208
  196. package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -1
  197. package/dist/protocols/mcp/tools/PlanningTools.d.ts +2 -1
  198. package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -1
  199. package/dist/protocols/mcp/tools/PlanningTools.js +111 -49
  200. package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -1
  201. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -1
  202. package/dist/protocols/mcp/tools/ProjectContextTools.js +18 -12
  203. package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -1
  204. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  205. package/dist/protocols/mcp/tools/SafetyTools.js +16 -13
  206. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  207. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +24 -7
  208. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -1
  209. package/dist/protocols/mcp/tools/SearchProjectTools.js +226 -126
  210. package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -1
  211. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +0 -32
  212. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  213. package/dist/protocols/mcp/tools/TaskPlanningTools.js +363 -450
  214. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  215. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  216. package/dist/protocols/mcp/tools/TestTools.js +18 -11
  217. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  218. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  219. package/dist/protocols/mcp/tools/TypeScriptTools.js +22 -12
  220. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  221. package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -1
  222. package/dist/protocols/mcp/tools/UserInputTools.js +14 -1
  223. package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -1
  224. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +3 -1
  225. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -1
  226. package/dist/protocols/mcp/tools/UserMemoryTools.js +27 -62
  227. package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -1
  228. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  229. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +14 -60
  230. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  231. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -1
  232. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +9 -27
  233. package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -1
  234. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +40 -30
  235. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -1
  236. package/dist/schemas/EventPayloadSchema.d.ts +28 -0
  237. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  238. package/dist/schemas/EventPayloadSchema.js +30 -1
  239. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  240. package/dist/schemas/MxpProtocolSchemas.d.ts +6 -6
  241. package/dist/services/AgentPerformanceService.d.ts +11 -0
  242. package/dist/services/AgentPerformanceService.d.ts.map +1 -1
  243. package/dist/services/AgentPerformanceService.js +59 -33
  244. package/dist/services/AgentPerformanceService.js.map +1 -1
  245. package/dist/services/AutoCorrectionService.d.ts +3 -0
  246. package/dist/services/AutoCorrectionService.d.ts.map +1 -1
  247. package/dist/services/AutoCorrectionService.js +19 -2
  248. package/dist/services/AutoCorrectionService.js.map +1 -1
  249. package/dist/services/BackgroundTaskManager.d.ts +23 -7
  250. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  251. package/dist/services/BackgroundTaskManager.js +137 -57
  252. package/dist/services/BackgroundTaskManager.js.map +1 -1
  253. package/dist/services/BrowserManager.d.ts +2 -0
  254. package/dist/services/BrowserManager.d.ts.map +1 -1
  255. package/dist/services/BrowserManager.js +18 -15
  256. package/dist/services/BrowserManager.js.map +1 -1
  257. package/dist/services/ChannelContextMemoryOperations.d.ts +8 -1
  258. package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -1
  259. package/dist/services/ChannelContextMemoryOperations.js +89 -165
  260. package/dist/services/ChannelContextMemoryOperations.js.map +1 -1
  261. package/dist/services/ChannelContextMessageOperations.d.ts +4 -3
  262. package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -1
  263. package/dist/services/ChannelContextMessageOperations.js +72 -212
  264. package/dist/services/ChannelContextMessageOperations.js.map +1 -1
  265. package/dist/services/MemoryService.d.ts +52 -21
  266. package/dist/services/MemoryService.d.ts.map +1 -1
  267. package/dist/services/MemoryService.js +775 -548
  268. package/dist/services/MemoryService.js.map +1 -1
  269. package/dist/services/PatternLearningService.d.ts +5 -0
  270. package/dist/services/PatternLearningService.d.ts.map +1 -1
  271. package/dist/services/PatternLearningService.js +26 -3
  272. package/dist/services/PatternLearningService.js.map +1 -1
  273. package/dist/services/PerformanceOptimizationService.d.ts +2 -1
  274. package/dist/services/PerformanceOptimizationService.d.ts.map +1 -1
  275. package/dist/services/PerformanceOptimizationService.js +21 -6
  276. package/dist/services/PerformanceOptimizationService.js.map +1 -1
  277. package/dist/services/PredictiveAnalyticsService.d.ts +1 -0
  278. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  279. package/dist/services/PredictiveAnalyticsService.js +18 -6
  280. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  281. package/dist/services/ProactiveValidationService.d.ts +6 -0
  282. package/dist/services/ProactiveValidationService.d.ts.map +1 -1
  283. package/dist/services/ProactiveValidationService.js +58 -39
  284. package/dist/services/ProactiveValidationService.js.map +1 -1
  285. package/dist/services/TaskEffectivenessService.d.ts +55 -31
  286. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  287. package/dist/services/TaskEffectivenessService.js +243 -125
  288. package/dist/services/TaskEffectivenessService.js.map +1 -1
  289. package/dist/services/ToolExecutionInterceptor.d.ts +4 -0
  290. package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -1
  291. package/dist/services/ToolExecutionInterceptor.js +31 -5
  292. package/dist/services/ToolExecutionInterceptor.js.map +1 -1
  293. package/dist/services/UserInputRequestManager.d.ts +13 -3
  294. package/dist/services/UserInputRequestManager.d.ts.map +1 -1
  295. package/dist/services/UserInputRequestManager.js +42 -6
  296. package/dist/services/UserInputRequestManager.js.map +1 -1
  297. package/dist/services/UserMemoryService.d.ts +2 -0
  298. package/dist/services/UserMemoryService.d.ts.map +1 -1
  299. package/dist/services/UserMemoryService.js +9 -4
  300. package/dist/services/UserMemoryService.js.map +1 -1
  301. package/dist/services/ValidationAnalyticsService.d.ts +4 -0
  302. package/dist/services/ValidationAnalyticsService.d.ts.map +1 -1
  303. package/dist/services/ValidationAnalyticsService.js +30 -8
  304. package/dist/services/ValidationAnalyticsService.js.map +1 -1
  305. package/dist/services/ValidationCacheService.d.ts +3 -1
  306. package/dist/services/ValidationCacheService.d.ts.map +1 -1
  307. package/dist/services/ValidationCacheService.js +25 -4
  308. package/dist/services/ValidationCacheService.js.map +1 -1
  309. package/dist/services/ValidationMiddleware.d.ts +7 -0
  310. package/dist/services/ValidationMiddleware.d.ts.map +1 -1
  311. package/dist/services/ValidationMiddleware.js +53 -10
  312. package/dist/services/ValidationMiddleware.js.map +1 -1
  313. package/dist/services/ValidationPerformanceService.d.ts +3 -0
  314. package/dist/services/ValidationPerformanceService.d.ts.map +1 -1
  315. package/dist/services/ValidationPerformanceService.js +28 -11
  316. package/dist/services/ValidationPerformanceService.js.map +1 -1
  317. package/dist/services/WebSearchService.d.ts.map +1 -1
  318. package/dist/services/WebSearchService.js +9 -0
  319. package/dist/services/WebSearchService.js.map +1 -1
  320. package/dist/services/dag/TaskDagService.d.ts +3 -0
  321. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  322. package/dist/services/dag/TaskDagService.js +18 -0
  323. package/dist/services/dag/TaskDagService.js.map +1 -1
  324. package/dist/services/kg/EntityQValueManager.d.ts +3 -1
  325. package/dist/services/kg/EntityQValueManager.d.ts.map +1 -1
  326. package/dist/services/kg/EntityQValueManager.js +10 -10
  327. package/dist/services/kg/EntityQValueManager.js.map +1 -1
  328. package/dist/services/kg/GraphSurpriseCalculator.d.ts +0 -4
  329. package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -1
  330. package/dist/services/kg/GraphSurpriseCalculator.js +0 -9
  331. package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -1
  332. package/dist/services/kg/KnowledgeGraphService.d.ts +12 -12
  333. package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -1
  334. package/dist/services/kg/KnowledgeGraphService.js +43 -51
  335. package/dist/services/kg/KnowledgeGraphService.js.map +1 -1
  336. package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -1
  337. package/dist/services/kg/OrparGraphIntegration.js +6 -5
  338. package/dist/services/kg/OrparGraphIntegration.js.map +1 -1
  339. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +1 -0
  340. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -1
  341. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +8 -1
  342. package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -1
  343. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +8 -1
  344. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  345. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +93 -45
  346. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  347. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +1 -0
  348. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -1
  349. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +8 -1
  350. package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -1
  351. package/dist/types/ChannelContext.d.ts +2 -1
  352. package/dist/types/ChannelContext.d.ts.map +1 -1
  353. package/dist/types/EffectivenessTypes.d.ts +4 -1
  354. package/dist/types/EffectivenessTypes.d.ts.map +1 -1
  355. package/dist/types/TaskCompletionTypes.d.ts +7 -5
  356. package/dist/types/TaskCompletionTypes.d.ts.map +1 -1
  357. package/dist/types/TaskTypes.d.ts +8 -1
  358. package/dist/types/TaskTypes.d.ts.map +1 -1
  359. package/dist/utils/GlobMatcher.d.ts +37 -0
  360. package/dist/utils/GlobMatcher.d.ts.map +1 -0
  361. package/dist/utils/GlobMatcher.js +131 -0
  362. package/dist/utils/GlobMatcher.js.map +1 -0
  363. package/package.json +1 -1
  364. package/src/config/ModelContextLimits.ts +7 -1
  365. package/src/constants/CoreTools.ts +6 -5
  366. package/src/constants/DefaultPhaseProfiles.ts +29 -0
  367. package/src/constants/ReservedIdentities.ts +51 -0
  368. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +115 -36
  369. package/src/events/ClientEventBus.ts +117 -48
  370. package/src/events/EventBus.ts +32 -2
  371. package/src/events/EventBusBase.ts +132 -39
  372. package/src/events/EventNames.ts +43 -36
  373. package/src/events/PublicEvents.ts +8 -0
  374. package/src/events/ServerEventBus.ts +9 -128
  375. package/src/events/event-definitions/ControlLoopEvents.ts +12 -0
  376. package/src/events/event-definitions/SdkEvents.ts +58 -0
  377. package/src/events/event-definitions/TaskEvents.ts +2 -2
  378. package/src/index.ts +15 -0
  379. package/src/interfaces/AgentInterfaces.ts +5 -0
  380. package/src/interfaces/ChannelConfig.ts +2 -2
  381. package/src/interfaces/ConversationMessage.ts +5 -0
  382. package/src/interfaces/IMemoryPersistence.ts +55 -1
  383. package/src/interfaces/SocketServiceInterface.ts +3 -2
  384. package/src/interfaces/TaskInterfaces.ts +16 -1
  385. package/src/models/agent.ts +0 -6
  386. package/src/models/agentIdentityReservation.ts +77 -0
  387. package/src/models/channel.ts +2 -0
  388. package/src/models/channelKey.ts +10 -0
  389. package/src/models/memory.ts +18 -19
  390. package/src/models/memoryStrata.ts +9 -23
  391. package/src/models/plan.ts +3 -3
  392. package/src/models/taskEffectiveness.ts +9 -2
  393. package/src/models/user.ts +12 -0
  394. package/src/protocols/mcp/LlmTestEnvironmentGuard.ts +30 -0
  395. package/src/protocols/mcp/McpServerTypes.ts +9 -0
  396. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +2 -0
  397. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +1 -0
  398. package/src/protocols/mcp/providers/BaseMcpClient.ts +13 -0
  399. package/src/protocols/mcp/providers/CustomMcpClient.ts +7 -0
  400. package/src/protocols/mcp/providers/GeminiMcpClient.ts +2 -0
  401. package/src/protocols/mcp/providers/OllamaMcpClient.ts +3 -1
  402. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +2 -0
  403. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +3 -0
  404. package/src/protocols/mcp/providers/XaiMcpClient.ts +2 -0
  405. package/src/protocols/mcp/security/BrowserTargetGuard.ts +64 -0
  406. package/src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts +38 -0
  407. package/src/protocols/mcp/security/HttpTargetGuard.ts +77 -6
  408. package/src/protocols/mcp/security/McpSecurityGuard.ts +7 -5
  409. package/src/protocols/mcp/security/McpToolPolicy.ts +74 -0
  410. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +656 -111
  411. package/src/protocols/mcp/services/ExternalServerConfigs.ts +26 -8
  412. package/src/protocols/mcp/tools/AnalyticsTools.ts +167 -641
  413. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +44 -14
  414. package/src/protocols/mcp/tools/EffectivenessTools.ts +185 -45
  415. package/src/protocols/mcp/tools/GitTools.ts +15 -5
  416. package/src/protocols/mcp/tools/InfrastructureTools.ts +42 -90
  417. package/src/protocols/mcp/tools/JsonTools.ts +7 -4
  418. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +313 -164
  419. package/src/protocols/mcp/tools/MemorySearchTools.ts +158 -46
  420. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +85 -232
  421. package/src/protocols/mcp/tools/PlanningTools.ts +137 -59
  422. package/src/protocols/mcp/tools/ProjectContextTools.ts +33 -12
  423. package/src/protocols/mcp/tools/SafetyTools.ts +49 -13
  424. package/src/protocols/mcp/tools/SearchProjectTools.ts +294 -153
  425. package/src/protocols/mcp/tools/TaskPlanningTools.ts +437 -514
  426. package/src/protocols/mcp/tools/TestTools.ts +41 -11
  427. package/src/protocols/mcp/tools/TypeScriptTools.ts +61 -12
  428. package/src/protocols/mcp/tools/UserInputTools.ts +15 -1
  429. package/src/protocols/mcp/tools/UserMemoryTools.ts +27 -62
  430. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +26 -84
  431. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +13 -31
  432. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +45 -27
  433. package/src/schemas/EventPayloadSchema.ts +45 -1
  434. package/src/services/AgentPerformanceService.ts +85 -36
  435. package/src/services/AutoCorrectionService.ts +25 -6
  436. package/src/services/BackgroundTaskManager.ts +183 -76
  437. package/src/services/BrowserManager.ts +20 -16
  438. package/src/services/ChannelContextMemoryOperations.ts +169 -202
  439. package/src/services/ChannelContextMessageOperations.ts +112 -274
  440. package/src/services/MemoryService.ts +1053 -760
  441. package/src/services/PatternLearningService.ts +32 -7
  442. package/src/services/PerformanceOptimizationService.ts +26 -9
  443. package/src/services/PredictiveAnalyticsService.ts +23 -10
  444. package/src/services/ProactiveValidationService.ts +66 -40
  445. package/src/services/TaskEffectivenessService.ts +421 -206
  446. package/src/services/ToolExecutionInterceptor.ts +40 -9
  447. package/src/services/UserInputRequestManager.ts +51 -6
  448. package/src/services/UserMemoryService.ts +12 -3
  449. package/src/services/ValidationAnalyticsService.ts +36 -11
  450. package/src/services/ValidationCacheService.ts +30 -7
  451. package/src/services/ValidationMiddleware.ts +62 -14
  452. package/src/services/ValidationPerformanceService.ts +47 -25
  453. package/src/services/WebSearchService.ts +16 -4
  454. package/src/services/dag/TaskDagService.ts +20 -1
  455. package/src/services/kg/EntityQValueManager.ts +21 -10
  456. package/src/services/kg/GraphSurpriseCalculator.ts +0 -14
  457. package/src/services/kg/KnowledgeGraphService.ts +56 -48
  458. package/src/services/kg/OrparGraphIntegration.ts +11 -5
  459. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +10 -1
  460. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +142 -71
  461. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +10 -1
  462. package/src/types/ChannelContext.ts +3 -1
  463. package/src/types/EffectivenessTypes.ts +6 -2
  464. package/src/types/TaskCompletionTypes.ts +9 -9
  465. package/src/types/TaskTypes.ts +12 -1
  466. package/src/utils/GlobMatcher.ts +157 -0
@@ -1 +1 @@
1
- {"version":3,"file":"KnowledgeGraphTools.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/tools/KnowledgeGraphTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnowledgeGraphTools.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/tools/KnowledgeGraphTools.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,33 @@ import { OrparGraphIntegration } from '../../../services/kg/OrparGraphIntegratio
31
31
  import { isKnowledgeGraphEnabled } from '../../../config/knowledge-graph.config.js';
32
32
  import { EntityType, RelationshipType } from '../../../types/KnowledgeGraphTypes.js';
33
33
  const logger = new Logger('info', 'KnowledgeGraphTools', 'server');
34
+ function requireKnowledgeGraphIdentity(args, context) {
35
+ if (typeof context.agentId !== 'string' || context.agentId.trim().length === 0 ||
36
+ typeof context.channelId !== 'string' || context.channelId.trim().length === 0) {
37
+ throw new Error('Authenticated agentId and channelId are required for Knowledge Graph tools');
38
+ }
39
+ const agentId = context.agentId.trim();
40
+ const channelId = context.channelId.trim();
41
+ if (args.channelId !== undefined && (typeof args.channelId !== 'string' || args.channelId.trim() !== channelId)) {
42
+ throw new Error('channelId must match the authenticated tool context');
43
+ }
44
+ return { agentId, channelId };
45
+ }
46
+ const errorMessage = (error) => (error instanceof Error ? error.message : String(error));
47
+ const requireStringArgument = (args, name) => {
48
+ const value = args[name];
49
+ if (typeof value !== 'string' || value.trim().length === 0) {
50
+ throw new Error(`${String(name)} must be a non-empty string`);
51
+ }
52
+ return value.trim();
53
+ };
54
+ const requireStringArrayArgument = (args, name) => {
55
+ const value = args[name];
56
+ if (!Array.isArray(value) || value.length === 0 || value.some(item => (typeof item !== 'string' || item.trim().length === 0))) {
57
+ throw new Error(`${String(name)} must be a non-empty array of non-empty strings`);
58
+ }
59
+ return value.map(item => item.trim());
60
+ };
34
61
  /**
35
62
  * Helper to get Knowledge Graph service
36
63
  */
@@ -67,6 +94,7 @@ export const kg_get_entity = {
67
94
  },
68
95
  handler: async (args, context) => {
69
96
  try {
97
+ const identity = requireKnowledgeGraphIdentity(args, context);
70
98
  if (!isKnowledgeGraphEnabled()) {
71
99
  return {
72
100
  success: false,
@@ -75,12 +103,13 @@ export const kg_get_entity = {
75
103
  };
76
104
  }
77
105
  const kgService = getKgService();
78
- const entity = await kgService.getEntity(args.entityId);
106
+ const entityId = requireStringArgument(args, 'entityId');
107
+ const entity = await kgService.getEntity(entityId, identity.channelId);
79
108
  if (!entity) {
80
109
  return {
81
110
  success: false,
82
111
  entity: null,
83
- message: `Entity not found: ${args.entityId}`,
112
+ message: `Entity not found: ${entityId}`,
84
113
  };
85
114
  }
86
115
  return {
@@ -90,12 +119,12 @@ export const kg_get_entity = {
90
119
  };
91
120
  }
92
121
  catch (error) {
93
- logger.error('Failed to get entity', { error: error.message });
122
+ logger.error('Failed to get entity', { error: errorMessage(error) });
94
123
  return {
95
124
  success: false,
96
125
  entity: null,
97
126
  message: 'Failed to get entity',
98
- error: error.message,
127
+ error: errorMessage(error),
99
128
  };
100
129
  }
101
130
  },
@@ -134,6 +163,7 @@ export const kg_find_entity = {
134
163
  },
135
164
  handler: async (args, context) => {
136
165
  try {
166
+ const identity = requireKnowledgeGraphIdentity(args, context);
137
167
  if (!isKnowledgeGraphEnabled()) {
138
168
  return {
139
169
  success: false,
@@ -141,16 +171,9 @@ export const kg_find_entity = {
141
171
  message: 'Knowledge Graph is disabled',
142
172
  };
143
173
  }
144
- const channelId = args.channelId || context.channelId;
145
- if (!channelId) {
146
- return {
147
- success: false,
148
- entities: [],
149
- message: 'channelId is required but not provided',
150
- };
151
- }
152
174
  const kgService = getKgService();
153
- const entities = await kgService.findEntityByName(channelId, args.name, args.exact || false);
175
+ const name = requireStringArgument(args, 'name');
176
+ const entities = await kgService.findEntityByName(identity.channelId, name, args.exact || false);
154
177
  const limitedEntities = entities.slice(0, args.limit || 10);
155
178
  return {
156
179
  success: true,
@@ -158,17 +181,17 @@ export const kg_find_entity = {
158
181
  count: limitedEntities.length,
159
182
  totalFound: entities.length,
160
183
  message: entities.length > 0
161
- ? `Found ${entities.length} entities matching "${args.name}"`
162
- : `No entities found matching "${args.name}"`,
184
+ ? `Found ${entities.length} entities matching "${name}"`
185
+ : `No entities found matching "${name}"`,
163
186
  };
164
187
  }
165
188
  catch (error) {
166
- logger.error('Failed to find entity', { error: error.message });
189
+ logger.error('Failed to find entity', { error: errorMessage(error) });
167
190
  return {
168
191
  success: false,
169
192
  entities: [],
170
193
  message: 'Failed to find entity',
171
- error: error.message,
194
+ error: errorMessage(error),
172
195
  };
173
196
  }
174
197
  },
@@ -208,6 +231,7 @@ export const kg_get_neighbors = {
208
231
  },
209
232
  handler: async (args, context) => {
210
233
  try {
234
+ const identity = requireKnowledgeGraphIdentity(args, context);
211
235
  if (!isKnowledgeGraphEnabled()) {
212
236
  return {
213
237
  success: false,
@@ -217,11 +241,21 @@ export const kg_get_neighbors = {
217
241
  };
218
242
  }
219
243
  const kgService = getKgService();
220
- const result = await kgService.getNeighbors(args.entityId, {
244
+ const entityId = requireStringArgument(args, 'entityId');
245
+ const entity = await kgService.getEntity(entityId, identity.channelId);
246
+ if (!entity) {
247
+ return {
248
+ success: false,
249
+ entities: [],
250
+ relationships: [],
251
+ message: `Entity not found: ${entityId}`,
252
+ };
253
+ }
254
+ const result = await kgService.getNeighbors(entityId, {
221
255
  direction: args.direction || 'both',
222
256
  relationshipType: args.relationshipType,
223
257
  limit: args.limit || 20,
224
- });
258
+ }, identity.channelId);
225
259
  return {
226
260
  success: true,
227
261
  entities: result.entities,
@@ -232,13 +266,13 @@ export const kg_get_neighbors = {
232
266
  };
233
267
  }
234
268
  catch (error) {
235
- logger.error('Failed to get neighbors', { error: error.message });
269
+ logger.error('Failed to get neighbors', { error: errorMessage(error) });
236
270
  return {
237
271
  success: false,
238
272
  entities: [],
239
273
  relationships: [],
240
274
  message: 'Failed to get neighbors',
241
- error: error.message,
275
+ error: errorMessage(error),
242
276
  };
243
277
  }
244
278
  },
@@ -272,6 +306,7 @@ export const kg_find_path = {
272
306
  },
273
307
  handler: async (args, context) => {
274
308
  try {
309
+ const identity = requireKnowledgeGraphIdentity(args, context);
275
310
  if (!isKnowledgeGraphEnabled()) {
276
311
  return {
277
312
  success: false,
@@ -280,7 +315,21 @@ export const kg_find_path = {
280
315
  };
281
316
  }
282
317
  const kgService = getKgService();
283
- const path = await kgService.findPath(args.fromEntityId, args.toEntityId, args.maxHops || 5);
318
+ const fromEntityId = requireStringArgument(args, 'fromEntityId');
319
+ const toEntityId = requireStringArgument(args, 'toEntityId');
320
+ const [fromEntity, toEntity] = await Promise.all([
321
+ kgService.getEntity(fromEntityId, identity.channelId),
322
+ kgService.getEntity(toEntityId, identity.channelId)
323
+ ]);
324
+ if (!fromEntity || !toEntity) {
325
+ return {
326
+ success: false,
327
+ path: null,
328
+ found: false,
329
+ message: 'Both path endpoints must belong to the authenticated channel',
330
+ };
331
+ }
332
+ const path = await kgService.findPath(fromEntityId, toEntityId, args.maxHops || 5, identity.channelId);
284
333
  if (!path) {
285
334
  return {
286
335
  success: true,
@@ -289,6 +338,15 @@ export const kg_find_path = {
289
338
  message: `No path found between entities within ${args.maxHops || 5} hops`,
290
339
  };
291
340
  }
341
+ const pathEntities = await Promise.all(path.entityIds.map(entityId => kgService.getEntity(entityId, identity.channelId)));
342
+ if (pathEntities.some(entity => !entity)) {
343
+ return {
344
+ success: false,
345
+ path: null,
346
+ found: false,
347
+ message: 'The resolved path is not wholly contained in the authenticated channel',
348
+ };
349
+ }
292
350
  return {
293
351
  success: true,
294
352
  path,
@@ -298,12 +356,12 @@ export const kg_find_path = {
298
356
  };
299
357
  }
300
358
  catch (error) {
301
- logger.error('Failed to find path', { error: error.message });
359
+ logger.error('Failed to find path', { error: errorMessage(error) });
302
360
  return {
303
361
  success: false,
304
362
  path: null,
305
363
  message: 'Failed to find path',
306
- error: error.message,
364
+ error: errorMessage(error),
307
365
  };
308
366
  }
309
367
  },
@@ -335,6 +393,7 @@ export const kg_get_context = {
335
393
  },
336
394
  handler: async (args, context) => {
337
395
  try {
396
+ const identity = requireKnowledgeGraphIdentity(args, context);
338
397
  if (!isKnowledgeGraphEnabled()) {
339
398
  return {
340
399
  success: false,
@@ -342,16 +401,8 @@ export const kg_get_context = {
342
401
  message: 'Knowledge Graph is disabled',
343
402
  };
344
403
  }
345
- const channelId = args.channelId || context.channelId;
346
- if (!channelId) {
347
- return {
348
- success: false,
349
- context: null,
350
- message: 'channelId is required but not provided',
351
- };
352
- }
353
404
  const kgService = getKgService();
354
- const graphContext = await kgService.getGraphContext(channelId, args.taskId, args.keywords);
405
+ const graphContext = await kgService.getGraphContext(identity.channelId, args.taskId, args.keywords);
355
406
  return {
356
407
  success: true,
357
408
  context: graphContext,
@@ -360,12 +411,12 @@ export const kg_get_context = {
360
411
  };
361
412
  }
362
413
  catch (error) {
363
- logger.error('Failed to get context', { error: error.message });
414
+ logger.error('Failed to get context', { error: errorMessage(error) });
364
415
  return {
365
416
  success: false,
366
417
  context: null,
367
418
  message: 'Failed to get context',
368
- error: error.message,
419
+ error: errorMessage(error),
369
420
  };
370
421
  }
371
422
  },
@@ -395,6 +446,7 @@ export const kg_get_high_utility_entities = {
395
446
  },
396
447
  handler: async (args, context) => {
397
448
  try {
449
+ const identity = requireKnowledgeGraphIdentity(args, context);
398
450
  if (!isKnowledgeGraphEnabled()) {
399
451
  return {
400
452
  success: false,
@@ -402,16 +454,8 @@ export const kg_get_high_utility_entities = {
402
454
  message: 'Knowledge Graph is disabled',
403
455
  };
404
456
  }
405
- const channelId = args.channelId || context.channelId;
406
- if (!channelId) {
407
- return {
408
- success: false,
409
- entities: [],
410
- message: 'channelId is required but not provided',
411
- };
412
- }
413
457
  const kgService = getKgService();
414
- const entities = await kgService.getHighUtilityEntities(channelId, args.limit || 10);
458
+ const entities = await kgService.getHighUtilityEntities(identity.channelId, args.limit || 10);
415
459
  return {
416
460
  success: true,
417
461
  entities,
@@ -420,12 +464,12 @@ export const kg_get_high_utility_entities = {
420
464
  };
421
465
  }
422
466
  catch (error) {
423
- logger.error('Failed to get high utility entities', { error: error.message });
467
+ logger.error('Failed to get high utility entities', { error: errorMessage(error) });
424
468
  return {
425
469
  success: false,
426
470
  entities: [],
427
471
  message: 'Failed to get high utility entities',
428
- error: error.message,
472
+ error: errorMessage(error),
429
473
  };
430
474
  }
431
475
  },
@@ -473,6 +517,7 @@ export const kg_create_entity = {
473
517
  },
474
518
  handler: async (args, context) => {
475
519
  try {
520
+ const identity = requireKnowledgeGraphIdentity(args, context);
476
521
  if (!isKnowledgeGraphEnabled()) {
477
522
  return {
478
523
  success: false,
@@ -480,24 +525,18 @@ export const kg_create_entity = {
480
525
  message: 'Knowledge Graph is disabled',
481
526
  };
482
527
  }
483
- const channelId = args.channelId || context.channelId;
484
- if (!channelId) {
485
- return {
486
- success: false,
487
- entity: null,
488
- message: 'channelId is required but not provided',
489
- };
490
- }
491
528
  const kgService = getKgService();
529
+ const name = requireStringArgument(args, 'name');
530
+ const type = requireStringArgument(args, 'type');
492
531
  const entity = await kgService.findOrCreateEntity({
493
- channelId,
494
- name: args.name,
495
- type: args.type,
532
+ channelId: identity.channelId,
533
+ name,
534
+ type,
496
535
  aliases: args.aliases,
497
536
  description: args.description,
498
537
  confidence: args.confidence || 0.8,
499
538
  source: 'manual',
500
- }, context.agentId);
539
+ }, identity.agentId);
501
540
  return {
502
541
  success: true,
503
542
  entity,
@@ -505,12 +544,12 @@ export const kg_create_entity = {
505
544
  };
506
545
  }
507
546
  catch (error) {
508
- logger.error('Failed to create entity', { error: error.message });
547
+ logger.error('Failed to create entity', { error: errorMessage(error) });
509
548
  return {
510
549
  success: false,
511
550
  entity: null,
512
551
  message: 'Failed to create entity',
513
- error: error.message,
552
+ error: errorMessage(error),
514
553
  };
515
554
  }
516
555
  },
@@ -557,6 +596,7 @@ export const kg_create_relationship = {
557
596
  },
558
597
  handler: async (args, context) => {
559
598
  try {
599
+ const identity = requireKnowledgeGraphIdentity(args, context);
560
600
  if (!isKnowledgeGraphEnabled()) {
561
601
  return {
562
602
  success: false,
@@ -564,37 +604,43 @@ export const kg_create_relationship = {
564
604
  message: 'Knowledge Graph is disabled',
565
605
  };
566
606
  }
567
- const channelId = args.channelId || context.channelId;
568
- if (!channelId) {
607
+ const kgService = getKgService();
608
+ const fromEntityId = requireStringArgument(args, 'fromEntityId');
609
+ const toEntityId = requireStringArgument(args, 'toEntityId');
610
+ const type = requireStringArgument(args, 'type');
611
+ const [fromEntity, toEntity] = await Promise.all([
612
+ kgService.getEntity(fromEntityId, identity.channelId),
613
+ kgService.getEntity(toEntityId, identity.channelId)
614
+ ]);
615
+ if (!fromEntity || !toEntity) {
569
616
  return {
570
617
  success: false,
571
618
  relationship: null,
572
- message: 'channelId is required but not provided',
619
+ message: 'Both relationship endpoints must belong to the authenticated channel',
573
620
  };
574
621
  }
575
- const kgService = getKgService();
576
622
  const relationship = await kgService.createRelationship({
577
- channelId,
578
- fromEntityId: args.fromEntityId,
579
- toEntityId: args.toEntityId,
580
- type: args.type,
623
+ channelId: identity.channelId,
624
+ fromEntityId,
625
+ toEntityId,
626
+ type,
581
627
  label: args.label,
582
628
  confidence: args.confidence || 0.8,
583
629
  source: 'manual',
584
- }, context.agentId);
630
+ }, identity.agentId);
585
631
  return {
586
632
  success: true,
587
633
  relationship,
588
- message: `Created relationship: ${args.type}`,
634
+ message: `Created relationship: ${type}`,
589
635
  };
590
636
  }
591
637
  catch (error) {
592
- logger.error('Failed to create relationship', { error: error.message });
638
+ logger.error('Failed to create relationship', { error: errorMessage(error) });
593
639
  return {
594
640
  success: false,
595
641
  relationship: null,
596
642
  message: 'Failed to create relationship',
597
- error: error.message,
643
+ error: errorMessage(error),
598
644
  };
599
645
  }
600
646
  },
@@ -625,6 +671,7 @@ export const kg_extract_from_text = {
625
671
  },
626
672
  handler: async (args, context) => {
627
673
  try {
674
+ const identity = requireKnowledgeGraphIdentity(args, context);
628
675
  if (!isKnowledgeGraphEnabled()) {
629
676
  return {
630
677
  success: false,
@@ -632,16 +679,9 @@ export const kg_extract_from_text = {
632
679
  message: 'Knowledge Graph is disabled',
633
680
  };
634
681
  }
635
- const channelId = args.channelId || context.channelId;
636
- if (!channelId) {
637
- return {
638
- success: false,
639
- result: null,
640
- message: 'channelId is required but not provided',
641
- };
642
- }
643
682
  const extractionService = getExtractionService();
644
- const result = await extractionService.extractFromText(channelId, args.text, args.sourceId);
683
+ const text = requireStringArgument(args, 'text');
684
+ const result = await extractionService.extractFromText(identity.channelId, text, args.sourceId);
645
685
  return {
646
686
  success: true,
647
687
  result,
@@ -652,12 +692,12 @@ export const kg_extract_from_text = {
652
692
  };
653
693
  }
654
694
  catch (error) {
655
- logger.error('Failed to extract from text', { error: error.message });
695
+ logger.error('Failed to extract from text', { error: errorMessage(error) });
656
696
  return {
657
697
  success: false,
658
698
  result: null,
659
699
  message: 'Failed to extract from text',
660
- error: error.message,
700
+ error: errorMessage(error),
661
701
  };
662
702
  }
663
703
  },
@@ -688,6 +728,7 @@ export const kg_extract_from_memory = {
688
728
  },
689
729
  handler: async (args, context) => {
690
730
  try {
731
+ const identity = requireKnowledgeGraphIdentity(args, context);
691
732
  if (!isKnowledgeGraphEnabled()) {
692
733
  return {
693
734
  success: false,
@@ -695,16 +736,10 @@ export const kg_extract_from_memory = {
695
736
  message: 'Knowledge Graph is disabled',
696
737
  };
697
738
  }
698
- const channelId = args.channelId || context.channelId;
699
- if (!channelId) {
700
- return {
701
- success: false,
702
- result: null,
703
- message: 'channelId is required but not provided',
704
- };
705
- }
706
739
  const extractionService = getExtractionService();
707
- const result = await extractionService.processMemory(channelId, args.memoryId, args.memoryContent);
740
+ const memoryId = requireStringArgument(args, 'memoryId');
741
+ const memoryContent = requireStringArgument(args, 'memoryContent');
742
+ const result = await extractionService.processMemory(identity.channelId, memoryId, memoryContent);
708
743
  return {
709
744
  success: true,
710
745
  result,
@@ -715,12 +750,12 @@ export const kg_extract_from_memory = {
715
750
  };
716
751
  }
717
752
  catch (error) {
718
- logger.error('Failed to extract from memory', { error: error.message });
753
+ logger.error('Failed to extract from memory', { error: errorMessage(error) });
719
754
  return {
720
755
  success: false,
721
756
  result: null,
722
757
  message: 'Failed to extract from memory',
723
- error: error.message,
758
+ error: errorMessage(error),
724
759
  };
725
760
  }
726
761
  },
@@ -757,6 +792,7 @@ export const kg_get_phase_context = {
757
792
  },
758
793
  handler: async (args, context) => {
759
794
  try {
795
+ const identity = requireKnowledgeGraphIdentity(args, context);
760
796
  if (!isKnowledgeGraphEnabled()) {
761
797
  return {
762
798
  success: false,
@@ -764,16 +800,25 @@ export const kg_get_phase_context = {
764
800
  message: 'Knowledge Graph is disabled',
765
801
  };
766
802
  }
767
- const channelId = args.channelId || context.channelId;
768
- if (!channelId) {
769
- return {
770
- success: false,
771
- phaseContext: null,
772
- message: 'channelId is required but not provided',
773
- };
803
+ if (args.entityIds !== undefined && (!Array.isArray(args.entityIds) ||
804
+ args.entityIds.some((entityId) => (typeof entityId !== 'string' || entityId.trim().length === 0)))) {
805
+ throw new Error('entityIds must contain only non-empty entity identifiers');
806
+ }
807
+ const entityIds = (args.entityIds || []);
808
+ if (entityIds.length > 0) {
809
+ const kgService = getKgService();
810
+ const scopedEntities = await Promise.all(entityIds.map(entityId => kgService.getEntity(entityId, identity.channelId)));
811
+ if (scopedEntities.some(entity => !entity)) {
812
+ return {
813
+ success: false,
814
+ phaseContext: null,
815
+ message: 'Every phase-context entity must belong to the authenticated channel',
816
+ };
817
+ }
774
818
  }
775
819
  const orparIntegration = getOrparIntegration();
776
- const phaseContext = await orparIntegration.getPhaseContext(channelId, context.agentId, args.phase, args.taskContent, args.entityIds);
820
+ const phase = requireStringArgument(args, 'phase');
821
+ const phaseContext = await orparIntegration.getPhaseContext(identity.channelId, identity.agentId, phase, args.taskContent, entityIds);
777
822
  return {
778
823
  success: true,
779
824
  phaseContext,
@@ -785,12 +830,12 @@ export const kg_get_phase_context = {
785
830
  };
786
831
  }
787
832
  catch (error) {
788
- logger.error('Failed to get phase context', { error: error.message });
833
+ logger.error('Failed to get phase context', { error: errorMessage(error) });
789
834
  return {
790
835
  success: false,
791
836
  phaseContext: null,
792
837
  message: 'Failed to get phase context',
793
- error: error.message,
838
+ error: errorMessage(error),
794
839
  };
795
840
  }
796
841
  },
@@ -820,6 +865,7 @@ export const kg_find_duplicates = {
820
865
  },
821
866
  handler: async (args, context) => {
822
867
  try {
868
+ const identity = requireKnowledgeGraphIdentity(args, context);
823
869
  if (!isKnowledgeGraphEnabled()) {
824
870
  return {
825
871
  success: false,
@@ -827,16 +873,8 @@ export const kg_find_duplicates = {
827
873
  message: 'Knowledge Graph is disabled',
828
874
  };
829
875
  }
830
- const channelId = args.channelId || context.channelId;
831
- if (!channelId) {
832
- return {
833
- success: false,
834
- duplicates: [],
835
- message: 'channelId is required but not provided',
836
- };
837
- }
838
876
  const kgService = getKgService();
839
- const duplicates = await kgService.findSimilarEntities(channelId, args.threshold || 0.8);
877
+ const duplicates = await kgService.findSimilarEntities(identity.channelId, args.threshold || 0.8);
840
878
  return {
841
879
  success: true,
842
880
  duplicates,
@@ -847,12 +885,12 @@ export const kg_find_duplicates = {
847
885
  };
848
886
  }
849
887
  catch (error) {
850
- logger.error('Failed to find duplicates', { error: error.message });
888
+ logger.error('Failed to find duplicates', { error: errorMessage(error) });
851
889
  return {
852
890
  success: false,
853
891
  duplicates: [],
854
892
  message: 'Failed to find duplicates',
855
- error: error.message,
893
+ error: errorMessage(error),
856
894
  };
857
895
  }
858
896
  },
@@ -880,6 +918,7 @@ export const kg_merge_entities = {
880
918
  },
881
919
  handler: async (args, context) => {
882
920
  try {
921
+ const identity = requireKnowledgeGraphIdentity(args, context);
883
922
  if (!isKnowledgeGraphEnabled()) {
884
923
  return {
885
924
  success: false,
@@ -888,22 +927,33 @@ export const kg_merge_entities = {
888
927
  };
889
928
  }
890
929
  const kgService = getKgService();
891
- const result = await kgService.mergeEntities(args.targetEntityId, args.sourceEntityIds, context.agentId);
930
+ const targetEntityId = requireStringArgument(args, 'targetEntityId');
931
+ const sourceEntityIds = requireStringArrayArgument(args, 'sourceEntityIds');
932
+ const entityIds = [targetEntityId, ...sourceEntityIds];
933
+ const scopedEntities = await Promise.all(entityIds.map((entityId) => kgService.getEntity(entityId, identity.channelId)));
934
+ if (scopedEntities.some(entity => !entity)) {
935
+ return {
936
+ success: false,
937
+ result: null,
938
+ message: 'Every merged entity must belong to the authenticated channel',
939
+ };
940
+ }
941
+ const result = await kgService.mergeEntities(targetEntityId, sourceEntityIds, identity.agentId, identity.channelId);
892
942
  return {
893
943
  success: result.success,
894
944
  result,
895
945
  message: result.success
896
- ? `Successfully merged ${args.sourceEntityIds.length} entities into target`
946
+ ? `Successfully merged ${sourceEntityIds.length} entities into target`
897
947
  : result.error || 'Merge failed',
898
948
  };
899
949
  }
900
950
  catch (error) {
901
- logger.error('Failed to merge entities', { error: error.message });
951
+ logger.error('Failed to merge entities', { error: errorMessage(error) });
902
952
  return {
903
953
  success: false,
904
954
  result: null,
905
955
  message: 'Failed to merge entities',
906
- error: error.message,
956
+ error: errorMessage(error),
907
957
  };
908
958
  }
909
959
  },