@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,14 @@
1
+ /**
2
+ * Fail-closed network policy for Puppeteer pages used by MXF web tools.
3
+ *
4
+ * Checking only the top-level URL is insufficient: redirects, scripts, images,
5
+ * frames, and fetch/XHR requests can each target a different host. Every browser
6
+ * request is therefore checked immediately before Puppeteer continues it.
7
+ */
8
+ import type { HTTPRequest, Page } from 'puppeteer';
9
+ /** Reject a top-level browser target before allocating a browser or page. */
10
+ export declare const requireAllowedBrowserTarget: (rawUrl: string) => Promise<void>;
11
+ export declare const guardBrowserRequest: (request: HTTPRequest) => Promise<void>;
12
+ /** Install the target policy before the first navigation on a Puppeteer page. */
13
+ export declare const installBrowserTargetGuard: (page: Page) => Promise<void>;
14
+ //# sourceMappingURL=BrowserTargetGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserTargetGuard.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/BrowserTargetGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAcnD,6EAA6E;AAC7E,eAAO,MAAM,2BAA2B,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAK9E,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,SAAS,WAAW,KAAG,OAAO,CAAC,IAAI,CAqB5E,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,IAAI,CASxE,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Fail-closed network policy for Puppeteer pages used by MXF web tools.
3
+ *
4
+ * Checking only the top-level URL is insufficient: redirects, scripts, images,
5
+ * frames, and fetch/XHR requests can each target a different host. Every browser
6
+ * request is therefore checked immediately before Puppeteer continues it.
7
+ */
8
+ import { checkHttpTarget } from './HttpTargetGuard.js';
9
+ const BROWSER_LOCAL_PROTOCOLS = new Set(['about:', 'blob:', 'data:']);
10
+ const isBrowserLocalUrl = (rawUrl) => {
11
+ try {
12
+ return BROWSER_LOCAL_PROTOCOLS.has(new URL(rawUrl).protocol);
13
+ }
14
+ catch {
15
+ return rawUrl === 'about:blank';
16
+ }
17
+ };
18
+ /** Reject a top-level browser target before allocating a browser or page. */
19
+ export const requireAllowedBrowserTarget = async (rawUrl) => {
20
+ const decision = await checkHttpTarget(rawUrl);
21
+ if (!decision.allowed) {
22
+ throw new Error(decision.reason ?? `Browser target '${rawUrl}' is not allowed`);
23
+ }
24
+ };
25
+ export const guardBrowserRequest = async (request) => {
26
+ if (request.isInterceptResolutionHandled()) {
27
+ return;
28
+ }
29
+ const rawUrl = request.url();
30
+ if (isBrowserLocalUrl(rawUrl)) {
31
+ await request.continue();
32
+ return;
33
+ }
34
+ const decision = await checkHttpTarget(rawUrl);
35
+ if (request.isInterceptResolutionHandled()) {
36
+ return;
37
+ }
38
+ if (!decision.allowed) {
39
+ await request.abort('blockedbyclient');
40
+ return;
41
+ }
42
+ await request.continue();
43
+ };
44
+ /** Install the target policy before the first navigation on a Puppeteer page. */
45
+ export const installBrowserTargetGuard = async (page) => {
46
+ await page.setRequestInterception(true);
47
+ page.on('request', (request) => {
48
+ void guardBrowserRequest(request).catch(async () => {
49
+ if (!request.isInterceptResolutionHandled()) {
50
+ await request.abort('blockedbyclient');
51
+ }
52
+ }).catch(() => undefined);
53
+ });
54
+ };
55
+ //# sourceMappingURL=BrowserTargetGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowserTargetGuard.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/BrowserTargetGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAW,EAAE;IAClD,IAAI,CAAC;QACD,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,MAAM,KAAK,aAAa,CAAC;IACpC,CAAC;AACL,CAAC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,MAAc,EAAiB,EAAE;IAC/E,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,mBAAmB,MAAM,kBAAkB,CAAC,CAAC;IACpF,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAoB,EAAiB,EAAE;IAC7E,IAAI,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;QACzC,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;QACzC,OAAO;IACX,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACvC,OAAO;IACX,CAAC;IAED,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,iFAAiF;AACjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAAE,IAAU,EAAiB,EAAE;IACzE,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAoB,EAAE,EAAE;QACxC,KAAK,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;gBAC1C,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Policy for caller-supplied stdio MCP server registrations.
3
+ *
4
+ * A stdio registration is equivalent to asking the host to execute a command.
5
+ * It is therefore off by default and may only be exposed by a server entry
6
+ * point after that entry point has independently established an administrator
7
+ * principal. Built-in, server-owned configurations do not pass through this
8
+ * policy because their commands come from source-controlled configuration.
9
+ */
10
+ export declare const UNSAFE_STDIO_MCP_ENV = "MXF_UNSAFE_STDIO_MCP_ENABLED";
11
+ /**
12
+ * True only for the exact, explicit opt-in value.
13
+ */
14
+ export declare const isUnsafeStdioMcpEnabled: () => boolean;
15
+ /**
16
+ * External server payloads historically omitted transport and were treated as
17
+ * stdio, so an absent transport must remain on the dangerous side of the gate.
18
+ */
19
+ export declare const isStdioMcpTransport: (transport: unknown) => boolean;
20
+ /**
21
+ * Fail closed when a caller-controlled registration would execute a process.
22
+ */
23
+ export declare const assertUnsafeStdioMcpEnabled: (transport: unknown) => void;
24
+ //# sourceMappingURL=ExternalMcpRegistrationPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalMcpRegistrationPolicy.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,OAE1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,OAAO,KAAG,OAExD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,WAAW,OAAO,KAAG,IAOhE,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Policy for caller-supplied stdio MCP server registrations.
3
+ *
4
+ * A stdio registration is equivalent to asking the host to execute a command.
5
+ * It is therefore off by default and may only be exposed by a server entry
6
+ * point after that entry point has independently established an administrator
7
+ * principal. Built-in, server-owned configurations do not pass through this
8
+ * policy because their commands come from source-controlled configuration.
9
+ */
10
+ export const UNSAFE_STDIO_MCP_ENV = 'MXF_UNSAFE_STDIO_MCP_ENABLED';
11
+ /**
12
+ * True only for the exact, explicit opt-in value.
13
+ */
14
+ export const isUnsafeStdioMcpEnabled = () => {
15
+ return process.env[UNSAFE_STDIO_MCP_ENV] === 'true';
16
+ };
17
+ /**
18
+ * External server payloads historically omitted transport and were treated as
19
+ * stdio, so an absent transport must remain on the dangerous side of the gate.
20
+ */
21
+ export const isStdioMcpTransport = (transport) => {
22
+ return transport === undefined || transport === null || transport === '' || transport === 'stdio';
23
+ };
24
+ /**
25
+ * Fail closed when a caller-controlled registration would execute a process.
26
+ */
27
+ export const assertUnsafeStdioMcpEnabled = (transport) => {
28
+ if (isStdioMcpTransport(transport) && !isUnsafeStdioMcpEnabled()) {
29
+ throw new Error(`Caller-supplied stdio MCP registration is disabled. ` +
30
+ `An administrator must explicitly set ${UNSAFE_STDIO_MCP_ENV}=true to expose this unsafe capability.`);
31
+ }
32
+ };
33
+ //# sourceMappingURL=ExternalMcpRegistrationPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExternalMcpRegistrationPolicy.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/ExternalMcpRegistrationPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAY,EAAE;IACjD,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,MAAM,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkB,EAAW,EAAE;IAC/D,OAAO,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,KAAK,OAAO,CAAC;AACtG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAkB,EAAQ,EAAE;IACpE,IAAI,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACX,sDAAsD;YACtD,wCAAwC,oBAAoB,yCAAyC,CACxG,CAAC;IACN,CAAC;AACL,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpTargetGuard.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/HttpTargetGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAyBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAkHD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6F9E"}
1
+ {"version":3,"file":"HttpTargetGuard.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/HttpTargetGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAyBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAyLD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6F9E"}
@@ -92,6 +92,67 @@ function ipv4InCidr(address, cidr) {
92
92
  const mask = (0xffffffff << (32 - prefix)) >>> 0;
93
93
  return (addressInt & mask) === (networkInt & mask);
94
94
  }
95
+ /**
96
+ * Decode an IPv6 literal into its eight 16-bit words.
97
+ *
98
+ * Node's `isIP()` tells us that a value is IPv6, but it does not expose the
99
+ * embedded IPv4 address from mapped forms. Browsers and operating systems
100
+ * accept both dotted (`::ffff:127.0.0.1`) and hexadecimal
101
+ * (`::ffff:7f00:1`) spellings, so matching only the dotted text leaves a
102
+ * loopback/metadata bypass.
103
+ */
104
+ function parseIpv6Words(address) {
105
+ let normalized = address.toLowerCase();
106
+ const embeddedIpv4 = normalized.match(/^(.*:)(\d{1,3}(?:\.\d{1,3}){3})$/);
107
+ if (embeddedIpv4) {
108
+ const ipv4 = ipv4ToInt(embeddedIpv4[2]);
109
+ if (ipv4 === null) {
110
+ return null;
111
+ }
112
+ normalized = `${embeddedIpv4[1]}${(ipv4 >>> 16).toString(16)}:${(ipv4 & 0xffff).toString(16)}`;
113
+ }
114
+ const compressedParts = normalized.split('::');
115
+ if (compressedParts.length > 2) {
116
+ return null;
117
+ }
118
+ const parseSide = (side) => {
119
+ if (side.length === 0) {
120
+ return [];
121
+ }
122
+ const words = side.split(':');
123
+ if (words.some(word => !/^[0-9a-f]{1,4}$/.test(word))) {
124
+ return null;
125
+ }
126
+ return words.map(word => Number.parseInt(word, 16));
127
+ };
128
+ const left = parseSide(compressedParts[0]);
129
+ const right = parseSide(compressedParts[1] ?? '');
130
+ if (!left || !right) {
131
+ return null;
132
+ }
133
+ if (compressedParts.length === 1) {
134
+ return left.length === 8 ? left : null;
135
+ }
136
+ const omittedWordCount = 8 - left.length - right.length;
137
+ if (omittedWordCount < 1) {
138
+ return null;
139
+ }
140
+ return [...left, ...Array(omittedWordCount).fill(0), ...right];
141
+ }
142
+ /** Return the dotted IPv4 address carried by an IPv4-mapped IPv6 literal. */
143
+ function mappedIpv4Address(address) {
144
+ const words = parseIpv6Words(address);
145
+ if (!words || words.length !== 8 ||
146
+ words.slice(0, 5).some(word => word !== 0) || words[5] !== 0xffff) {
147
+ return null;
148
+ }
149
+ return [
150
+ words[6] >>> 8,
151
+ words[6] & 0xff,
152
+ words[7] >>> 8,
153
+ words[7] & 0xff
154
+ ].join('.');
155
+ }
95
156
  /**
96
157
  * Is this address one the server must not be steered into?
97
158
  *
@@ -109,6 +170,13 @@ function matchBlockedRange(address) {
109
170
  }
110
171
  if (version === 6) {
111
172
  const normalized = address.toLowerCase();
173
+ // IPv4-mapped addresses have multiple equivalent textual forms. Decode
174
+ // the address instead of applying a dotted-quad-only regex, then run the
175
+ // embedded address through the complete IPv4 policy.
176
+ const mappedIpv4 = mappedIpv4Address(normalized);
177
+ if (mappedIpv4) {
178
+ return matchBlockedRange(mappedIpv4);
179
+ }
112
180
  // IPv6 loopback
113
181
  if (normalized === '::1' || normalized === '0:0:0:0:0:0:0:1') {
114
182
  return 'IPv6 loopback';
@@ -125,12 +193,6 @@ function matchBlockedRange(address) {
125
193
  if (/^fe[89ab][0-9a-f]:/.test(normalized)) {
126
194
  return 'IPv6 link-local address';
127
195
  }
128
- // IPv4-mapped (::ffff:127.0.0.1) — re-check the embedded IPv4 address,
129
- // otherwise ::ffff:169.254.169.254 would walk straight past this guard.
130
- const mapped = normalized.match(/^::ffff:(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/);
131
- if (mapped) {
132
- return matchBlockedRange(mapped[1]);
133
- }
134
196
  return null;
135
197
  }
136
198
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"HttpTargetGuard.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/HttpTargetGuard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpTargetGuard.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/HttpTargetGuard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"McpSecurityGuard.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpSecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkBH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AA+ID,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;;;;OAOG;gBACS,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,QAAQ;IAMtG;;;;;;;;;OASG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,uBAAuB;IA8DnF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmE7B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB;IAiFjG;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAKxE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU;IAK/F;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,UAAU;CAcrB;AAOD,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAQvE"}
1
+ {"version":3,"file":"McpSecurityGuard.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpSecurityGuard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkBH,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACnD,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AA+ID,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAgB;IAEpC;;;;;;;OAOG;gBACS,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,QAAQ;IAMtG;;;;;;;;;OASG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,uBAAuB;IAgEnF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmE7B;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB;IAiFjG;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAKxE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU;IAK/F;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;OAEG;IACH,OAAO,CAAC,UAAU;CAcrB;AAOD,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAQvE"}
@@ -200,17 +200,19 @@ export class McpSecurityGuard {
200
200
  // This prevents bypass via `echo hello; rm -rf /` where only `echo` was validated.
201
201
  const parsed = parseCommand(command);
202
202
  const effectiveCommands = extractEffectiveCommands(command);
203
- // Subshell constructs ($() or backticks) cannot be safely parsed the parser
204
- // detects their presence but doesn't extract commands inside them. Require
205
- // confirmation so agents can't bypass validation with `echo $(rm -rf /)`.
203
+ // Subshell constructs ($() or backticks) are run by the shell but never
204
+ // reach this parser, so the commands inside them are checked against
205
+ // neither the block rules nor the configured allowlist. `git status
206
+ // $(bash -c ...)` would pass on the strength of `git`. They are denied
207
+ // outright; an agent that needs a value from one command can run it as
208
+ // its own command first.
206
209
  if (parsed.hasSubshells) {
207
210
  const destructiveWarnings = getDestructiveWarnings(command);
208
211
  const warningMessages = destructiveWarnings.length > 0
209
212
  ? destructiveWarnings.map(w => w.warning)
210
213
  : undefined;
211
214
  return {
212
- allowed: true,
213
- requiresConfirmation: true,
215
+ allowed: false,
214
216
  reason: 'Command contains subshell constructs ($() or backticks) that cannot be statically validated',
215
217
  riskLevel: 'high',
216
218
  warnings: warningMessages
@@ -1 +1 @@
1
- {"version":3,"file":"McpSecurityGuard.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpSecurityGuard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpSecurityGuard.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpSecurityGuard.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,18 @@
26
26
  * cannot widen it by passing arguments.
27
27
  */
28
28
  export declare function getShellAllowedCommands(): string[];
29
+ /**
30
+ * Enforce MXF_SHELL_ALLOWED_COMMANDS against a full command line.
31
+ *
32
+ * Applies to every agent-driven command, whether it arrives through
33
+ * shell_execute or through a host tool that calls executeShellCommand.
34
+ * Wrappers and env prefixes (`sudo cmd`, `FOO=bar cmd`, `timeout 5 cmd`) are
35
+ * resolved to the command they run, and compound lines (`a && b`) are checked
36
+ * command by command, so an allowlisted wrapper cannot smuggle another binary.
37
+ *
38
+ * @throws Error when an allowlist is configured and any effective command is not on it
39
+ */
40
+ export declare function assertCommandAllowlisted(commandLine: string): void;
29
41
  /**
30
42
  * Is a command allowlist configured at all?
31
43
  */
@@ -68,6 +80,12 @@ export declare function getWorkspaceRoot(): string | undefined;
68
80
  * @throws Error when MXF_WORKSPACE_ROOT is not configured
69
81
  */
70
82
  export declare function requireWorkspaceRoot(consumer: string): string;
83
+ /**
84
+ * Resolve a caller path under MXF_WORKSPACE_ROOT and reject lexical and symlink
85
+ * escapes. Non-existent leaf paths are checked through their nearest existing
86
+ * ancestor so create/write operations cannot traverse an existing symlink.
87
+ */
88
+ export declare function resolveWorkspacePath(candidate: string | undefined, consumer: string): string;
71
89
  /**
72
90
  * May api_fetch reach loopback and private-network addresses?
73
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"McpToolPolicy.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpToolPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkFH;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C"}
1
+ {"version":3,"file":"McpToolPolicy.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpToolPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAoFH;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAclE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAMrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAY7D;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GACjB,MAAM,CA+BR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C"}
@@ -45,6 +45,8 @@
45
45
  * addresses. Default false. Only for local dev.
46
46
  */
47
47
  import * as path from 'path';
48
+ import { extractEffectiveCommands } from '../tools/shell/ShellCommandParser.js';
49
+ import * as fs from 'fs';
48
50
  /**
49
51
  * Environment variables always forwarded to a shell child.
50
52
  *
@@ -103,6 +105,30 @@ function parseBoolean(value, fallback) {
103
105
  export function getShellAllowedCommands() {
104
106
  return parseList(process.env.MXF_SHELL_ALLOWED_COMMANDS);
105
107
  }
108
+ /**
109
+ * Enforce MXF_SHELL_ALLOWED_COMMANDS against a full command line.
110
+ *
111
+ * Applies to every agent-driven command, whether it arrives through
112
+ * shell_execute or through a host tool that calls executeShellCommand.
113
+ * Wrappers and env prefixes (`sudo cmd`, `FOO=bar cmd`, `timeout 5 cmd`) are
114
+ * resolved to the command they run, and compound lines (`a && b`) are checked
115
+ * command by command, so an allowlisted wrapper cannot smuggle another binary.
116
+ *
117
+ * @throws Error when an allowlist is configured and any effective command is not on it
118
+ */
119
+ export function assertCommandAllowlisted(commandLine) {
120
+ if (!hasShellAllowlist()) {
121
+ return;
122
+ }
123
+ const allowedCommands = getShellAllowedCommands();
124
+ for (const effectiveCommand of extractEffectiveCommands(commandLine)) {
125
+ const baseCommand = effectiveCommand.trim().split(/\s+/)[0];
126
+ if (!allowedCommands.includes(baseCommand)) {
127
+ throw new Error(`Command '${baseCommand}' is not in the configured allowlist ` +
128
+ `(MXF_SHELL_ALLOWED_COMMANDS). Allowed: ${allowedCommands.join(', ')}`);
129
+ }
130
+ }
131
+ }
106
132
  /**
107
133
  * Is a command allowlist configured at all?
108
134
  */
@@ -187,6 +213,40 @@ export function requireWorkspaceRoot(consumer) {
187
213
  }
188
214
  return root;
189
215
  }
216
+ const isWithinPath = (root, candidate) => (candidate === root || candidate.startsWith(`${root}${path.sep}`));
217
+ /**
218
+ * Resolve a caller path under MXF_WORKSPACE_ROOT and reject lexical and symlink
219
+ * escapes. Non-existent leaf paths are checked through their nearest existing
220
+ * ancestor so create/write operations cannot traverse an existing symlink.
221
+ */
222
+ export function resolveWorkspacePath(candidate, consumer) {
223
+ const configuredRoot = requireWorkspaceRoot(consumer);
224
+ const realRoot = fs.realpathSync(configuredRoot);
225
+ const resolved = candidate && candidate.trim().length > 0
226
+ ? path.resolve(realRoot, candidate.trim())
227
+ : realRoot;
228
+ if (!isWithinPath(realRoot, resolved)) {
229
+ throw new Error(`${consumer} path is outside MXF_WORKSPACE_ROOT`);
230
+ }
231
+ let existingAncestor = resolved;
232
+ while (!fs.existsSync(existingAncestor)) {
233
+ const parent = path.dirname(existingAncestor);
234
+ if (parent === existingAncestor) {
235
+ throw new Error(`${consumer} path has no existing workspace ancestor`);
236
+ }
237
+ existingAncestor = parent;
238
+ }
239
+ const realAncestor = fs.realpathSync(existingAncestor);
240
+ if (!isWithinPath(realRoot, realAncestor)) {
241
+ throw new Error(`${consumer} path escapes MXF_WORKSPACE_ROOT through a symlink`);
242
+ }
243
+ const suffix = path.relative(existingAncestor, resolved);
244
+ const finalPath = path.resolve(realAncestor, suffix);
245
+ if (!isWithinPath(realRoot, finalPath)) {
246
+ throw new Error(`${consumer} path is outside MXF_WORKSPACE_ROOT`);
247
+ }
248
+ return finalPath;
249
+ }
190
250
  /**
191
251
  * May api_fetch reach loopback and private-network addresses?
192
252
  *
@@ -1 +1 @@
1
- {"version":3,"file":"McpToolPolicy.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpToolPolicy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpToolPolicy.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/security/McpToolPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG;IACxB,MAAM;IACN,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,6EAA6E;IAC7E,YAAY;IACZ,SAAS;IACT,SAAS;IACT,aAAa;IACb,MAAM;IACN,KAAK;CACR,CAAC;AAEF,sEAAsE;AACtE,SAAS,SAAS,CAAC,KAAyB;IACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,KAAK;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,KAAyB,EAAE,QAAiB;IAC9D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB;IACnC,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IACxD,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACvB,OAAO;IACX,CAAC;IACD,MAAM,eAAe,GAAG,uBAAuB,EAAE,CAAC;IAClD,KAAK,MAAM,gBAAgB,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,YAAY,WAAW,uCAAuC;gBAC9D,0CAA0C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACN,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,uBAAuB,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAC9B,WAAoC;IAEpC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,MAAM,gBAAgB,GAAG;QACrB,GAAG,mBAAmB;QACtB,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;KACtD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,8DAA8D;IAC9D,IAAI,WAAW,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAClD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACX,GAAG,QAAQ,kEAAkE;YAC7E,wDAAwD;YACxD,gEAAgE;YAChE,0EAA0E;YAC1E,0DAA0D,CAC7D,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAW,EAAE,CAAC,CAC/D,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CACnE,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAChC,SAA6B,EAC7B,QAAgB;IAEhB,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,CAAC,CAAC,QAAQ,CAAC;IAEf,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,qCAAqC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,gBAAgB,GAAG,QAAQ,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,0CAA0C,CAAC,CAAC;QAC3E,CAAC;QACD,gBAAgB,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,oDAAoD,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,qCAAqC,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACzE,CAAC"}
@@ -36,6 +36,10 @@ export interface ExternalServerConfig {
36
36
  command: string;
37
37
  /** Arguments for the command */
38
38
  args: string[];
39
+ /** Transport requested by a remote registration. Omitted means stdio. */
40
+ transport?: 'stdio' | 'http';
41
+ /** Endpoint for an HTTP transport registration. */
42
+ url?: string;
39
43
  /** Working directory for the process */
40
44
  workingDirectory?: string;
41
45
  /** Environment variables for the process */
@@ -79,6 +83,10 @@ export interface ExternalMcpTool {
79
83
  description: string;
80
84
  inputSchema: Record<string, any>;
81
85
  serverId: string;
86
+ /** Authoritative visibility scope assigned when the server was registered. */
87
+ scope: 'global' | 'channel' | 'agent';
88
+ /** Channel or agent identifier for non-global scopes. */
89
+ scopeId?: string;
82
90
  }
83
91
  /** How long to wait for a reply to a JSON-RPC request, per method. */
84
92
  declare const REQUEST_TIMEOUTS_MS: {
@@ -93,11 +101,19 @@ declare const REQUEST_TIMEOUTS_MS: {
93
101
  export declare class ExternalMcpServerManager extends EventEmitter {
94
102
  private servers;
95
103
  private serverScopes;
104
+ /**
105
+ * Channel ids which crossed their terminal deletion boundary in this
106
+ * process. Channel ids are reserved in persistence, so this tombstone never
107
+ * needs to be removed and closes register/delete races in both directions.
108
+ */
109
+ private retiredChannelIds;
96
110
  private autoCorrectionService;
97
111
  /** Injectable event emitter — decouples from direct EventBus.server dependency.
98
112
  * Server-side: uses default ServerToolEventEmitter (wraps EventBus.server).
99
113
  * Client-side: uses ClientToolEventEmitter (wraps EventBus.client + socketEmit). */
100
114
  private toolEventEmitter;
115
+ /** EventBus subscriptions owned by this manager instance. */
116
+ private eventSubscriptions;
101
117
  /** Delay before restarting a crashed server. Overridable for tests. */
102
118
  private restartDelayMs;
103
119
  /** Per-method JSON-RPC reply timeouts. Overridable for tests and tuning. */
@@ -152,6 +168,15 @@ export declare class ExternalMcpServerManager extends EventEmitter {
152
168
  * "not found" against it leaves the zombie in place forever.
153
169
  */
154
170
  unregisterChannelServer(channelId: string, serverId: string): Promise<void>;
171
+ /**
172
+ * Permanently retire a channel's MCP runtime in this process.
173
+ *
174
+ * The tombstone is installed before process cleanup, which makes concurrent
175
+ * registrations fail both before and after their asynchronous startup.
176
+ * Every known scoped record is removed, including orphaned records whose
177
+ * scope metadata or server entry is only partially present.
178
+ */
179
+ retireChannel(channelId: string): Promise<void>;
155
180
  /**
156
181
  * Unregister a server by its full id (global servers, and the SDK-facing
157
182
  * EXTERNAL_SERVER_UNREGISTER path). Also removes scope tracking — this
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalMcpServerManager.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/services/ExternalMcpServerManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalMcpServerManager.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/services/ExternalMcpServerManager.ts"],"names":[],"mappings":"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"}