@mxf-dev/core 1.0.1 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/README.md +18 -0
  2. package/dist/adapters/FrameworkAdapter.js +1 -1
  3. package/dist/adapters/FrameworkAdapter.js.map +1 -1
  4. package/dist/config/ConfigManager.d.ts +9 -8
  5. package/dist/config/ConfigManager.d.ts.map +1 -1
  6. package/dist/config/ConfigManager.js +47 -17
  7. package/dist/config/ConfigManager.js.map +1 -1
  8. package/dist/config/memory-strata.config.d.ts +25 -0
  9. package/dist/config/memory-strata.config.d.ts.map +1 -0
  10. package/dist/config/memory-strata.config.js +107 -0
  11. package/dist/config/memory-strata.config.js.map +1 -0
  12. package/dist/constants/ToolNames.d.ts +1 -29
  13. package/dist/constants/ToolNames.d.ts.map +1 -1
  14. package/dist/constants/ToolNames.js +4 -17
  15. package/dist/constants/ToolNames.js.map +1 -1
  16. package/dist/database/DatabaseAdapterFactory.d.ts +14 -2
  17. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -1
  18. package/dist/database/DatabaseAdapterFactory.js +21 -6
  19. package/dist/database/DatabaseAdapterFactory.js.map +1 -1
  20. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +7 -1
  21. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -1
  22. package/dist/database/adapters/mongodb/MongoBaseRepository.js +12 -2
  23. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -1
  24. package/dist/events/ClientEventBus.d.ts +16 -77
  25. package/dist/events/ClientEventBus.d.ts.map +1 -1
  26. package/dist/events/ClientEventBus.js +38 -311
  27. package/dist/events/ClientEventBus.js.map +1 -1
  28. package/dist/events/EventBus.d.ts +1 -1
  29. package/dist/events/EventBus.d.ts.map +1 -1
  30. package/dist/events/EventBus.js +5 -4
  31. package/dist/events/EventBus.js.map +1 -1
  32. package/dist/events/EventBusBase.d.ts +139 -34
  33. package/dist/events/EventBusBase.d.ts.map +1 -1
  34. package/dist/events/EventBusBase.js +366 -88
  35. package/dist/events/EventBusBase.js.map +1 -1
  36. package/dist/events/EventNames.d.ts +10 -1
  37. package/dist/events/EventNames.d.ts.map +1 -1
  38. package/dist/events/EventNames.js +3 -0
  39. package/dist/events/EventNames.js.map +1 -1
  40. package/dist/events/PublicEvents.d.ts +6 -2
  41. package/dist/events/PublicEvents.d.ts.map +1 -1
  42. package/dist/events/PublicEvents.js +7 -4
  43. package/dist/events/PublicEvents.js.map +1 -1
  44. package/dist/events/ServerEventBus.d.ts +23 -112
  45. package/dist/events/ServerEventBus.d.ts.map +1 -1
  46. package/dist/events/ServerEventBus.js +58 -323
  47. package/dist/events/ServerEventBus.js.map +1 -1
  48. package/dist/events/event-definitions/LlmBudgetEvents.d.ts +68 -0
  49. package/dist/events/event-definitions/LlmBudgetEvents.d.ts.map +1 -0
  50. package/dist/events/event-definitions/LlmBudgetEvents.js +35 -0
  51. package/dist/events/event-definitions/LlmBudgetEvents.js.map +1 -0
  52. package/dist/interfaces/IMemoryPersistence.d.ts +41 -0
  53. package/dist/interfaces/IMemoryPersistence.d.ts.map +1 -0
  54. package/dist/interfaces/IMemoryPersistence.js +15 -0
  55. package/dist/interfaces/IMemoryPersistence.js.map +1 -0
  56. package/dist/middleware/MxpMiddleware.d.ts +8 -1
  57. package/dist/middleware/MxpMiddleware.d.ts.map +1 -1
  58. package/dist/middleware/MxpMiddleware.js +42 -20
  59. package/dist/middleware/MxpMiddleware.js.map +1 -1
  60. package/dist/models/channelKey.d.ts +1 -0
  61. package/dist/models/channelKey.d.ts.map +1 -1
  62. package/dist/models/channelKey.js +5 -0
  63. package/dist/models/channelKey.js.map +1 -1
  64. package/dist/models/memoryUtility.d.ts +39 -0
  65. package/dist/models/memoryUtility.d.ts.map +1 -0
  66. package/dist/models/memoryUtility.js +39 -0
  67. package/dist/models/memoryUtility.js.map +1 -0
  68. package/dist/models/user.d.ts.map +1 -1
  69. package/dist/models/user.js +23 -1
  70. package/dist/models/user.js.map +1 -1
  71. package/dist/mxp/BinaryProtocolLayer.d.ts +24 -8
  72. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -1
  73. package/dist/mxp/BinaryProtocolLayer.js +90 -103
  74. package/dist/mxp/BinaryProtocolLayer.js.map +1 -1
  75. package/dist/mxp/ContextCompressionEngine.d.ts +57 -10
  76. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -1
  77. package/dist/mxp/ContextCompressionEngine.js +170 -128
  78. package/dist/mxp/ContextCompressionEngine.js.map +1 -1
  79. package/dist/mxp/MxpTokenOptimizer.d.ts +7 -3
  80. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -1
  81. package/dist/mxp/MxpTokenOptimizer.js +8 -5
  82. package/dist/mxp/MxpTokenOptimizer.js.map +1 -1
  83. package/dist/prompts/MxfAgentSystemPrompt.d.ts +1 -1
  84. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -1
  85. package/dist/prompts/MxfAgentSystemPrompt.js +47 -57
  86. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -1
  87. package/dist/protocols/mcp/ToolError.d.ts +123 -0
  88. package/dist/protocols/mcp/ToolError.d.ts.map +1 -0
  89. package/dist/protocols/mcp/ToolError.js +108 -0
  90. package/dist/protocols/mcp/ToolError.js.map +1 -0
  91. package/dist/protocols/mcp/defineTool.d.ts +133 -0
  92. package/dist/protocols/mcp/defineTool.d.ts.map +1 -0
  93. package/dist/protocols/mcp/defineTool.js +236 -0
  94. package/dist/protocols/mcp/defineTool.js.map +1 -0
  95. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts +38 -0
  96. package/dist/protocols/mcp/security/HttpTargetGuard.d.ts.map +1 -0
  97. package/dist/protocols/mcp/security/HttpTargetGuard.js +227 -0
  98. package/dist/protocols/mcp/security/HttpTargetGuard.js.map +1 -0
  99. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +9 -1
  100. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -1
  101. package/dist/protocols/mcp/security/McpSecurityGuard.js +10 -2
  102. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -1
  103. package/dist/protocols/mcp/security/McpToolPolicy.d.ts +81 -0
  104. package/dist/protocols/mcp/security/McpToolPolicy.d.ts.map +1 -0
  105. package/dist/protocols/mcp/security/McpToolPolicy.js +202 -0
  106. package/dist/protocols/mcp/security/McpToolPolicy.js.map +1 -0
  107. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +51 -18
  108. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -1
  109. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +256 -283
  110. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -1
  111. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +39 -6
  112. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -1
  113. package/dist/protocols/mcp/services/ExternalServerConfigs.js +76 -18
  114. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -1
  115. package/dist/protocols/mcp/tools/AnalyticsTools.js +1 -1
  116. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -1
  117. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -1
  118. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +15 -0
  119. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -1
  120. package/dist/protocols/mcp/tools/EffectivenessTools.js +3 -3
  121. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -1
  122. package/dist/protocols/mcp/tools/GitTools.d.ts +9 -369
  123. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -1
  124. package/dist/protocols/mcp/tools/GitTools.js +222 -517
  125. package/dist/protocols/mcp/tools/GitTools.js.map +1 -1
  126. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +56 -24
  127. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -1
  128. package/dist/protocols/mcp/tools/InfrastructureTools.js +117 -26
  129. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -1
  130. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +0 -3
  131. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -1
  132. package/dist/protocols/mcp/tools/MemorySearchTools.js +58 -1
  133. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -1
  134. package/dist/protocols/mcp/tools/OrparTools.d.ts +8 -0
  135. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -1
  136. package/dist/protocols/mcp/tools/OrparTools.js +66 -0
  137. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -1
  138. package/dist/protocols/mcp/tools/SafetyTools.d.ts +7 -525
  139. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -1
  140. package/dist/protocols/mcp/tools/SafetyTools.js +349 -514
  141. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -1
  142. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -1
  143. package/dist/protocols/mcp/tools/TaskPlanningTools.js +56 -26
  144. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -1
  145. package/dist/protocols/mcp/tools/TestTools.d.ts +15 -376
  146. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -1
  147. package/dist/protocols/mcp/tools/TestTools.js +241 -363
  148. package/dist/protocols/mcp/tools/TestTools.js.map +1 -1
  149. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +6 -276
  150. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -1
  151. package/dist/protocols/mcp/tools/TypeScriptTools.js +223 -337
  152. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -1
  153. package/dist/protocols/mcp/tools/WebTools.d.ts +15 -728
  154. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -1
  155. package/dist/protocols/mcp/tools/WebTools.js +151 -257
  156. package/dist/protocols/mcp/tools/WebTools.js.map +1 -1
  157. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +5 -3
  158. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -1
  159. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +31 -6
  160. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -1
  161. package/dist/schemas/EventPayloadSchema.d.ts +21 -0
  162. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -1
  163. package/dist/schemas/EventPayloadSchema.js +14 -0
  164. package/dist/schemas/EventPayloadSchema.js.map +1 -1
  165. package/dist/services/BackgroundTaskManager.d.ts.map +1 -1
  166. package/dist/services/BackgroundTaskManager.js +12 -4
  167. package/dist/services/BackgroundTaskManager.js.map +1 -1
  168. package/dist/services/BrowserManager.d.ts +1 -1
  169. package/dist/services/BrowserManager.d.ts.map +1 -1
  170. package/dist/services/BrowserManager.js +26 -3
  171. package/dist/services/BrowserManager.js.map +1 -1
  172. package/dist/services/MemoryCompressor.d.ts +11 -2
  173. package/dist/services/MemoryCompressor.d.ts.map +1 -1
  174. package/dist/services/MemoryCompressor.js +8 -26
  175. package/dist/services/MemoryCompressor.js.map +1 -1
  176. package/dist/services/MemoryService.d.ts +16 -3
  177. package/dist/services/MemoryService.d.ts.map +1 -1
  178. package/dist/services/MemoryService.js +79 -55
  179. package/dist/services/MemoryService.js.map +1 -1
  180. package/dist/services/MxfMLService.d.ts +5 -0
  181. package/dist/services/MxfMLService.d.ts.map +1 -1
  182. package/dist/services/MxfMLService.js +32 -6
  183. package/dist/services/MxfMLService.js.map +1 -1
  184. package/dist/services/PredictiveAnalyticsService.d.ts +45 -9
  185. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  186. package/dist/services/PredictiveAnalyticsService.js +82 -44
  187. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  188. package/dist/services/QValueManager.d.ts +7 -0
  189. package/dist/services/QValueManager.d.ts.map +1 -1
  190. package/dist/services/QValueManager.js +9 -0
  191. package/dist/services/QValueManager.js.map +1 -1
  192. package/dist/services/RewardSignalProcessor.d.ts +38 -1
  193. package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
  194. package/dist/services/RewardSignalProcessor.js +109 -7
  195. package/dist/services/RewardSignalProcessor.js.map +1 -1
  196. package/dist/services/SharedStateService.d.ts +16 -2
  197. package/dist/services/SharedStateService.d.ts.map +1 -1
  198. package/dist/services/SharedStateService.js +44 -3
  199. package/dist/services/SharedStateService.js.map +1 -1
  200. package/dist/services/TaskEffectivenessService.d.ts +34 -18
  201. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  202. package/dist/services/TaskEffectivenessService.js +91 -155
  203. package/dist/services/TaskEffectivenessService.js.map +1 -1
  204. package/dist/services/WebSearchService.d.ts.map +1 -1
  205. package/dist/services/WebSearchService.js.map +1 -1
  206. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  207. package/dist/services/dag/TaskDagService.js +2 -0
  208. package/dist/services/dag/TaskDagService.js.map +1 -1
  209. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +7 -0
  210. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  211. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +71 -10
  212. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  213. package/dist/types/MemoryUtilityTypes.d.ts +2 -0
  214. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
  215. package/dist/types/MemoryUtilityTypes.js.map +1 -1
  216. package/dist/utils/Logger.d.ts +43 -3
  217. package/dist/utils/Logger.d.ts.map +1 -1
  218. package/dist/utils/Logger.js +78 -36
  219. package/dist/utils/Logger.js.map +1 -1
  220. package/dist/utils/MxpEncryption.d.ts +19 -6
  221. package/dist/utils/MxpEncryption.d.ts.map +1 -1
  222. package/dist/utils/MxpEncryption.js +48 -16
  223. package/dist/utils/MxpEncryption.js.map +1 -1
  224. package/package.json +19 -4
  225. package/src/adapters/FrameworkAdapter.ts +1 -1
  226. package/src/config/ConfigManager.ts +52 -19
  227. package/src/config/memory-strata.config.ts +136 -0
  228. package/src/constants/ToolNames.ts +4 -18
  229. package/src/database/DatabaseAdapterFactory.ts +23 -6
  230. package/src/database/adapters/mongodb/MongoBaseRepository.ts +16 -2
  231. package/src/events/ClientEventBus.ts +68 -403
  232. package/src/events/EventBus.ts +7 -8
  233. package/src/events/EventBusBase.ts +479 -116
  234. package/src/events/EventNames.ts +6 -0
  235. package/src/events/PublicEvents.ts +7 -4
  236. package/src/events/ServerEventBus.ts +78 -473
  237. package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
  238. package/src/interfaces/IMemoryPersistence.ts +51 -0
  239. package/src/middleware/MxpMiddleware.ts +51 -24
  240. package/src/models/channelKey.ts +18 -4
  241. package/src/models/memoryUtility.ts +64 -0
  242. package/src/models/user.ts +36 -4
  243. package/src/mxp/BinaryProtocolLayer.ts +108 -124
  244. package/src/mxp/ContextCompressionEngine.ts +219 -161
  245. package/src/mxp/MxpTokenOptimizer.ts +10 -10
  246. package/src/prompts/MxfAgentSystemPrompt.ts +45 -55
  247. package/src/protocols/mcp/ToolError.ts +201 -0
  248. package/src/protocols/mcp/defineTool.ts +379 -0
  249. package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
  250. package/src/protocols/mcp/security/McpSecurityGuard.ts +10 -3
  251. package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
  252. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +340 -322
  253. package/src/protocols/mcp/services/ExternalServerConfigs.ts +82 -19
  254. package/src/protocols/mcp/tools/AnalyticsTools.ts +1 -1
  255. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +15 -0
  256. package/src/protocols/mcp/tools/EffectivenessTools.ts +3 -3
  257. package/src/protocols/mcp/tools/GitTools.ts +290 -569
  258. package/src/protocols/mcp/tools/InfrastructureTools.ts +189 -43
  259. package/src/protocols/mcp/tools/MemorySearchTools.ts +77 -1
  260. package/src/protocols/mcp/tools/OrparTools.ts +87 -0
  261. package/src/protocols/mcp/tools/SafetyTools.ts +501 -579
  262. package/src/protocols/mcp/tools/TaskPlanningTools.ts +81 -39
  263. package/src/protocols/mcp/tools/TestTools.ts +339 -419
  264. package/src/protocols/mcp/tools/TypeScriptTools.ts +316 -376
  265. package/src/protocols/mcp/tools/WebTools.ts +209 -307
  266. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +53 -14
  267. package/src/schemas/EventPayloadSchema.ts +37 -0
  268. package/src/services/BackgroundTaskManager.ts +12 -4
  269. package/src/services/BrowserManager.ts +41 -1
  270. package/src/services/MemoryCompressor.ts +20 -32
  271. package/src/services/MemoryService.ts +96 -58
  272. package/src/services/MxfMLService.ts +41 -7
  273. package/src/services/PredictiveAnalyticsService.ts +101 -51
  274. package/src/services/QValueManager.ts +10 -0
  275. package/src/services/RewardSignalProcessor.ts +138 -9
  276. package/src/services/SharedStateService.ts +56 -8
  277. package/src/services/TaskEffectivenessService.ts +114 -187
  278. package/src/services/WebSearchService.ts +2 -1
  279. package/src/services/dag/TaskDagService.ts +2 -0
  280. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +86 -10
  281. package/src/types/MemoryUtilityTypes.ts +2 -0
  282. package/src/utils/Logger.ts +116 -40
  283. package/src/utils/MxpEncryption.ts +69 -34
  284. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
  285. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
  286. package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
  287. package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
  288. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
  289. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
  290. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
  291. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
  292. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
  293. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
  294. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
  295. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
  296. package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
  297. package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
  298. package/dist/protocols/mcp/tools/LspTools.js +0 -469
  299. package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
  300. package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
  301. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
  302. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
  303. package/src/protocols/mcp/tools/LspTools.ts +0 -476
@@ -1,361 +0,0 @@
1
- /**
2
- * Copyright 2024 Brad Anderson
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- *
16
- * @author Brad Anderson <BradA1878@pm.me>
17
- * @repository https://github.com/BradA1878/model-exchange-framework
18
- * @documentation https://mxf-dev.github.io/mxf/
19
- */
20
- /**
21
- * MXP Event Forwarding Queue Enhancer
22
- *
23
- * Enhances the existing EventForwardingQueue with MXP 2.0 compression and optimization.
24
- * Integrates binary protocol, message batching, and priority-aware compression.
25
- * Only activates when bandwidth optimization is enabled.
26
- */
27
- import { v4 as uuidv4 } from 'uuid';
28
- import { Logger } from '../utils/Logger.js';
29
- import { createStrictValidator } from '../utils/validation.js';
30
- import { MxpConfigManager } from './MxpConfigManager.js';
31
- import { BinaryProtocolLayer } from './BinaryProtocolLayer.js';
32
- // Event priority levels (matching existing system)
33
- export var EventPriority;
34
- (function (EventPriority) {
35
- EventPriority[EventPriority["CRITICAL"] = 0] = "CRITICAL";
36
- EventPriority[EventPriority["HIGH"] = 1] = "HIGH";
37
- EventPriority[EventPriority["NORMAL"] = 2] = "NORMAL";
38
- EventPriority[EventPriority["LOW"] = 3] = "LOW";
39
- EventPriority[EventPriority["BACKGROUND"] = 4] = "BACKGROUND"; // Memory updates, analytics
40
- })(EventPriority || (EventPriority = {}));
41
- // Default MXP-enhanced configuration
42
- const defaultMxpQueueConfig = {
43
- enabled: true,
44
- batchSize: 10,
45
- processingDelayMs: 25,
46
- maxQueueSize: 1000,
47
- maxRetries: 3,
48
- mxpEnabled: true,
49
- compressionByPriority: {
50
- [EventPriority.CRITICAL]: {
51
- enabled: false, // Speed over size for critical events
52
- algorithm: 'none',
53
- minSize: 0
54
- },
55
- [EventPriority.HIGH]: {
56
- enabled: true, // Light compression for high priority
57
- algorithm: 'msgpack',
58
- minSize: 512 // 512 bytes minimum
59
- },
60
- [EventPriority.NORMAL]: {
61
- enabled: true, // Standard compression
62
- algorithm: 'msgpack',
63
- minSize: 256 // 256 bytes minimum
64
- },
65
- [EventPriority.LOW]: {
66
- enabled: true, // Aggressive compression for low priority
67
- algorithm: 'msgpack-compressed',
68
- minSize: 128 // 128 bytes minimum
69
- },
70
- [EventPriority.BACKGROUND]: {
71
- enabled: true, // Maximum compression for background
72
- algorithm: 'msgpack-compressed',
73
- minSize: 64 // 64 bytes minimum
74
- }
75
- }
76
- };
77
- export class MxpEventForwardingEnhancer {
78
- static instance = null;
79
- logger;
80
- validator = createStrictValidator('MxpEventForwardingEnhancer');
81
- config;
82
- // Enhanced queues with MXP support
83
- enhancedQueues = new Map();
84
- processing = false;
85
- processingTimer = null;
86
- // Statistics tracking
87
- stats = {
88
- totalEvents: 0,
89
- compressedEvents: 0,
90
- totalBandwidthSaved: 0,
91
- averageCompressionRatio: 0,
92
- processingTimeMs: 0
93
- };
94
- constructor(config = defaultMxpQueueConfig) {
95
- this.config = { ...config };
96
- this.logger = new Logger('info', 'MxpEventForwardingEnhancer', 'server');
97
- // Initialize enhanced priority queues
98
- Object.values(EventPriority).forEach(priority => {
99
- if (typeof priority === 'number') {
100
- this.enhancedQueues.set(priority, []);
101
- }
102
- });
103
- }
104
- /**
105
- * Get the singleton instance of MxpEventForwardingEnhancer
106
- */
107
- static getInstance() {
108
- if (!MxpEventForwardingEnhancer.instance) {
109
- MxpEventForwardingEnhancer.instance = new MxpEventForwardingEnhancer();
110
- }
111
- return MxpEventForwardingEnhancer.instance;
112
- }
113
- /**
114
- * Enhanced event queueing with MXP compression support
115
- * Only applies compression when bandwidth optimization is enabled
116
- */
117
- async enqueueEvent(eventName, payload, priority, targetId, type, channelId, excludedAgentId) {
118
- this.validator.assertIsNonEmptyString(eventName, 'Event name is required');
119
- this.validator.assertIsObject(payload, 'Event payload must be an object');
120
- this.validator.assertIsNonEmptyString(targetId, 'Target ID is required');
121
- try {
122
- const startTime = Date.now();
123
- // Check if MXP bandwidth optimization is enabled for this context
124
- const isBandwidthOptEnabled = channelId ?
125
- MxpConfigManager.getInstance().isFeatureEnabled(channelId, 'bandwidthOptimization', targetId) :
126
- false;
127
- // Create base event
128
- const event = {
129
- id: `mxp_event_${uuidv4()}`,
130
- priority,
131
- type,
132
- eventName,
133
- payload,
134
- targetId,
135
- excludedAgentId,
136
- timestamp: Date.now(),
137
- retryCount: 0,
138
- compressionEnabled: isBandwidthOptEnabled && this.config.mxpEnabled,
139
- channelId
140
- };
141
- // Apply MXP compression if enabled
142
- if (event.compressionEnabled && this.shouldCompressEvent(event)) {
143
- await this.applyMxpCompression(event);
144
- }
145
- // Add to appropriate priority queue
146
- const queue = this.enhancedQueues.get(priority);
147
- if (queue) {
148
- // Check queue size limits
149
- if (queue.length >= this.config.maxQueueSize) {
150
- this.logger.warn(`Queue full for priority ${priority}, dropping oldest event`);
151
- queue.shift(); // Remove oldest event
152
- }
153
- queue.push(event);
154
- this.stats.totalEvents++;
155
- // ;
156
- }
157
- // Start processing if not already running
158
- if (!this.processing && this.config.enabled) {
159
- this.startProcessing();
160
- }
161
- }
162
- catch (error) {
163
- this.logger.error('Failed to enqueue MXP event', {
164
- error: error instanceof Error ? error.message : String(error),
165
- eventName,
166
- priority: EventPriority[priority],
167
- targetId
168
- });
169
- throw error;
170
- }
171
- }
172
- /**
173
- * Enhanced batch processing with MXP compression awareness
174
- */
175
- async processBatch() {
176
- const batch = [];
177
- const batchStartTime = Date.now();
178
- // Collect events by priority (CRITICAL first)
179
- for (const priority of [EventPriority.CRITICAL, EventPriority.HIGH, EventPriority.NORMAL, EventPriority.LOW, EventPriority.BACKGROUND]) {
180
- const queue = this.enhancedQueues.get(priority);
181
- if (queue && queue.length > 0) {
182
- const batchSize = Math.min(this.config.batchSize - batch.length, queue.length);
183
- batch.push(...queue.splice(0, batchSize));
184
- if (batch.length >= this.config.batchSize)
185
- break;
186
- }
187
- }
188
- if (batch.length === 0)
189
- return;
190
- try {
191
- // Group events by compression status for efficient processing
192
- const compressedEvents = batch.filter(e => e.compressedData);
193
- const uncompressedEvents = batch.filter(e => !e.compressedData);
194
- // ;
195
- // Process compressed events (may need decompression for forwarding)
196
- for (const event of compressedEvents) {
197
- await this.processCompressedEvent(event);
198
- }
199
- // Process uncompressed events normally
200
- for (const event of uncompressedEvents) {
201
- await this.processUncompressedEvent(event);
202
- }
203
- // Update statistics
204
- this.stats.processingTimeMs += (Date.now() - batchStartTime);
205
- }
206
- catch (error) {
207
- this.logger.error('Batch processing failed', {
208
- error: error instanceof Error ? error.message : String(error),
209
- batchSize: batch.length
210
- });
211
- }
212
- }
213
- /**
214
- * Apply MXP compression to an event if warranted
215
- */
216
- async applyMxpCompression(event) {
217
- const priorityConfig = this.config.compressionByPriority[event.priority];
218
- if (!priorityConfig.enabled) {
219
- return; // Compression disabled for this priority level
220
- }
221
- try {
222
- // Calculate payload size
223
- const payloadString = JSON.stringify(event.payload);
224
- const payloadSize = Buffer.byteLength(payloadString, 'utf8');
225
- event.originalSize = payloadSize;
226
- // Check minimum size threshold
227
- if (payloadSize < priorityConfig.minSize) {
228
- return;
229
- }
230
- // Create MXP message for compression
231
- const mxpMessage = {
232
- type: event.eventName,
233
- payload: event.payload,
234
- metadata: {
235
- eventId: event.id,
236
- priority: event.priority,
237
- timestamp: event.timestamp
238
- },
239
- size: payloadSize
240
- };
241
- // Apply compression using BinaryProtocolLayer
242
- const compressionResult = BinaryProtocolLayer.getInstance().encodeMessage(mxpMessage, event.channelId || 'default', event.targetId);
243
- if (compressionResult) {
244
- event.compressedData = compressionResult;
245
- this.stats.compressedEvents++;
246
- this.stats.totalBandwidthSaved += (compressionResult.originalSize - compressionResult.compressedSize);
247
- // Update average compression ratio
248
- const totalCompressed = this.stats.compressedEvents;
249
- this.stats.averageCompressionRatio =
250
- ((this.stats.averageCompressionRatio * (totalCompressed - 1)) + compressionResult.compressionRatio) / totalCompressed;
251
- // ;
252
- }
253
- }
254
- catch (error) {
255
- this.logger.warn('MXP compression failed, proceeding without compression', {
256
- error: error instanceof Error ? error.message : String(error),
257
- eventId: event.id
258
- });
259
- }
260
- }
261
- /**
262
- * Check if an event should be compressed based on configuration
263
- */
264
- shouldCompressEvent(event) {
265
- const priorityConfig = this.config.compressionByPriority[event.priority];
266
- return priorityConfig.enabled && this.config.mxpEnabled;
267
- }
268
- /**
269
- * Process a compressed event (placeholder for actual forwarding logic)
270
- */
271
- async processCompressedEvent(event) {
272
- // In full implementation, this would forward the compressed event
273
- // For now, we'll decompress and forward normally as a placeholder
274
- if (event.compressedData) {
275
- // Optionally decompress for forwarding (depends on receiving end capability)
276
- const decompressed = BinaryProtocolLayer.getInstance().decodeMessage(event.compressedData);
277
- if (decompressed) {
278
- // Forward the decompressed message
279
- // ;
280
- }
281
- }
282
- }
283
- /**
284
- * Process an uncompressed event (placeholder for actual forwarding logic)
285
- */
286
- async processUncompressedEvent(event) {
287
- // In full implementation, this would forward the event normally
288
- // ;
289
- }
290
- /**
291
- * Start enhanced batch processing
292
- */
293
- startProcessing() {
294
- if (this.processing || !this.config.enabled)
295
- return;
296
- this.processing = true;
297
- this.scheduleNextBatch();
298
- }
299
- /**
300
- * Stop enhanced batch processing
301
- */
302
- stopProcessing() {
303
- this.processing = false;
304
- if (this.processingTimer) {
305
- clearTimeout(this.processingTimer);
306
- this.processingTimer = null;
307
- }
308
- }
309
- /**
310
- * Schedule next batch processing
311
- */
312
- scheduleNextBatch() {
313
- if (!this.processing)
314
- return;
315
- this.processingTimer = setTimeout(() => {
316
- this.processBatch();
317
- this.scheduleNextBatch();
318
- }, this.config.processingDelayMs);
319
- }
320
- /**
321
- * Get MXP-enhanced queue statistics
322
- */
323
- getEnhancedStats() {
324
- const queueSizes = {};
325
- for (const [priority, queue] of this.enhancedQueues.entries()) {
326
- queueSizes[EventPriority[priority]] = queue.length;
327
- }
328
- return {
329
- totalEvents: this.stats.totalEvents,
330
- compressedEvents: this.stats.compressedEvents,
331
- compressionRate: this.stats.totalEvents > 0 ?
332
- Math.round((this.stats.compressedEvents / this.stats.totalEvents) * 100) : 0,
333
- totalBandwidthSaved: this.stats.totalBandwidthSaved,
334
- averageCompressionRatio: this.stats.averageCompressionRatio,
335
- queueSizes,
336
- processingTimeMs: this.stats.processingTimeMs
337
- };
338
- }
339
- /**
340
- * Update configuration at runtime
341
- */
342
- updateConfig(newConfig) {
343
- this.config = { ...this.config, ...newConfig };
344
- }
345
- /**
346
- * Clear all queues (useful for testing or shutdown)
347
- */
348
- clearQueues() {
349
- for (const queue of this.enhancedQueues.values()) {
350
- queue.length = 0;
351
- }
352
- }
353
- /**
354
- * Check if MXP enhancement is enabled
355
- */
356
- isMxpEnabled() {
357
- return this.config.mxpEnabled;
358
- }
359
- }
360
- // Note: Use MxpEventForwardingEnhancer.getInstance() to get the singleton instance
361
- //# sourceMappingURL=MxpEventForwardingEnhancer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MxpEventForwardingEnhancer.js","sourceRoot":"","sources":["../../src/mxp/MxpEventForwardingEnhancer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAqB,MAAM,0BAA0B,CAAC;AAElF,mDAAmD;AACnD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,yDAAY,CAAA;IACZ,iDAAQ,CAAA;IACR,qDAAU,CAAA;IACV,+CAAO,CAAA;IACP,6DAAc,CAAA,CAAG,4BAA4B;AACjD,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAwCD,qCAAqC;AACrC,MAAM,qBAAqB,GAAwB;IAC/C,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,EAAE;IACb,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,IAAI;IAClB,UAAU,EAAE,CAAC;IAEb,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE;QACnB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YACtB,OAAO,EAAE,KAAK,EAAS,sCAAsC;YAC7D,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,CAAC;SACb;QACD,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAClB,OAAO,EAAE,IAAI,EAAU,sCAAsC;YAC7D,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,GAAG,CAAW,oBAAoB;SAC9C;QACD,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACpB,OAAO,EAAE,IAAI,EAAU,uBAAuB;YAC9C,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,GAAG,CAAW,oBAAoB;SAC9C;QACD,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;YACjB,OAAO,EAAE,IAAI,EAAU,0CAA0C;YACjE,SAAS,EAAE,oBAAoB;YAC/B,OAAO,EAAE,GAAG,CAAW,oBAAoB;SAC9C;QACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;YACxB,OAAO,EAAE,IAAI,EAAU,qCAAqC;YAC5D,SAAS,EAAE,oBAAoB;YAC/B,OAAO,EAAE,EAAE,CAAY,mBAAmB;SAC7C;KACJ;CACJ,CAAC;AAEF,MAAM,OAAO,0BAA0B;IAC3B,MAAM,CAAC,QAAQ,GAAsC,IAAI,CAAC;IAEjD,MAAM,CAAS;IACf,SAAS,GAAG,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;IACzE,MAAM,CAAsB;IAEpC,mCAAmC;IAC3B,cAAc,GAAyC,IAAI,GAAG,EAAE,CAAC;IACjE,UAAU,GAAY,KAAK,CAAC;IAC5B,eAAe,GAA0B,IAAI,CAAC;IAEtD,sBAAsB;IACd,KAAK,GAAG;QACZ,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,mBAAmB,EAAE,CAAC;QACtB,uBAAuB,EAAE,CAAC;QAC1B,gBAAgB,EAAE,CAAC;KACtB,CAAC;IAEF,YAAoB,SAA8B,qBAAqB;QACnE,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,4BAA4B,EAAE,QAAQ,CAAC,CAAC;QAEzE,sCAAsC;QACtC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC;YACvC,0BAA0B,CAAC,QAAQ,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC3E,CAAC;QACD,OAAO,0BAA0B,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CACrB,SAAiB,EACjB,OAAY,EACZ,QAAuB,EACvB,QAAgB,EAChB,IAAyB,EACzB,SAAkB,EAClB,eAAwB;QAExB,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAEzE,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,kEAAkE;YAClE,MAAM,qBAAqB,GAAG,SAAS,CAAC,CAAC;gBACrC,gBAAgB,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,uBAAuB,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC/F,KAAK,CAAC;YAEV,oBAAoB;YACpB,MAAM,KAAK,GAAmB;gBAC1B,EAAE,EAAE,aAAa,MAAM,EAAE,EAAE;gBAC3B,QAAQ;gBACR,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,QAAQ;gBACR,eAAe;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,UAAU,EAAE,CAAC;gBACb,kBAAkB,EAAE,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;gBACnE,SAAS;aACZ,CAAC;YAEF,mCAAmC;YACnC,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAED,oCAAoC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACR,0BAA0B;gBAC1B,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,QAAQ,yBAAyB,CAAC,CAAC;oBAC/E,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,sBAAsB;gBACzC,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAEzB,IAAI;YACR,CAAC;YAED,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC7C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS;gBACT,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;gBACjC,QAAQ;aACX,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACtB,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,8CAA8C;QAC9C,KAAK,MAAM,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;YACrI,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;gBAE1C,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;oBAAE,MAAM;YACrD,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,IAAI,CAAC;YACD,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC7D,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAEhE,IAAI;YAEJ,oEAAoE;YACpE,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;YAED,uCAAuC;YACvC,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC;YAED,oBAAoB;YACpB,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAC;QAGjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,SAAS,EAAE,KAAK,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,KAAqB;QACnD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,+CAA+C;QAC3D,CAAC;QAED,IAAI,CAAC;YACD,yBAAyB;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC7D,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;YAEjC,+BAA+B;YAC/B,IAAI,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO;YACX,CAAC;YAED,qCAAqC;YACrC,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,KAAK,CAAC,SAAS;gBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE;oBACN,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC7B;gBACD,IAAI,EAAE,WAAW;aACpB,CAAC;YAEF,8CAA8C;YAC9C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC,aAAa,CACrE,UAAU,EACV,KAAK,CAAC,SAAS,IAAI,SAAS,EAC5B,KAAK,CAAC,QAAQ,CACjB,CAAC;YAEF,IAAI,iBAAiB,EAAE,CAAC;gBACpB,KAAK,CAAC,cAAc,GAAG,iBAAiB,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAEtG,mCAAmC;gBACnC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACpD,IAAI,CAAC,KAAK,CAAC,uBAAuB;oBAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,eAAe,CAAC;gBAE1H,IAAI;YACR,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE;gBACvE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,KAAK,CAAC,EAAE;aACpB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAqB;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,OAAO,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,KAAqB;QACtD,kEAAkE;QAClE,kEAAkE;QAElE,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,6EAA6E;YAC7E,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC3F,IAAI,YAAY,EAAE,CAAC;gBACf,mCAAmC;gBACnC,IAAI;YACR,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,KAAqB;QACxD,gEAAgE;QAChE,IAAI;IACR,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAEpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,cAAc;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,gBAAgB;QASnB,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACvD,CAAC;QAED,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAC7C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB;YACnD,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,uBAAuB;YAC3D,UAAU;YACV,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;SAChD,CAAC;IACN,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,SAAuC;QACvD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,WAAW;QACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;OAEG;IACI,YAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IAClC,CAAC;;AAGL,mFAAmF"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Copyright 2024 Brad Anderson
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- *
16
- * @author Brad Anderson <BradA1878@pm.me>
17
- * @repository https://github.com/BradA1878/model-exchange-framework
18
- * @documentation https://mxf-dev.github.io/mxf/
19
- */
20
- /**
21
- * ToolSchemaEnhancements.ts
22
- *
23
- * Provides enhanced schemas and examples for external MCP tools to improve
24
- * agent understanding of complex tool structures. This is particularly useful
25
- * for tools with nested objects or domain-specific knowledge (like n8n workflows).
26
- */
27
- /**
28
- * Schema enhancement for a specific tool
29
- */
30
- export interface ToolSchemaEnhancement {
31
- /** Tool name to enhance */
32
- toolName: string;
33
- /** Server ID that provides the tool */
34
- serverId: string;
35
- /** Examples to add to the schema */
36
- examples?: any[];
37
- /** Additional schema properties to merge */
38
- propertyEnhancements?: Record<string, any>;
39
- }
40
- /**
41
- * All tool schema enhancements
42
- *
43
- * NOTE: Previously contained n8n workflow enhancements, but those are no longer
44
- * needed since the actual n8n-mcp server (czlonkowski/n8n-mcp) has built-in
45
- * validation, autofix, and example support.
46
- */
47
- export declare const TOOL_SCHEMA_ENHANCEMENTS: ToolSchemaEnhancement[];
48
- /**
49
- * Find enhancement for a specific tool
50
- */
51
- export declare const findToolEnhancement: (toolName: string, serverId: string) => ToolSchemaEnhancement | undefined;
52
- /**
53
- * Apply enhancements to a tool's input schema
54
- */
55
- export declare const enhanceToolSchema: (toolName: string, serverId: string, originalSchema: Record<string, any>) => Record<string, any>;
56
- //# sourceMappingURL=ToolSchemaEnhancements.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolSchemaEnhancements.d.ts","sourceRoot":"","sources":["../../../../src/protocols/mcp/services/ToolSchemaEnhancements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,qBAAqB,EAAO,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,KAAG,qBAAqB,GAAG,SAIhG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC1B,UAAU,MAAM,EAChB,UAAU,MAAM,EAChB,gBAAgB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACpC,MAAM,CAAC,MAAM,EAAE,GAAG,CAwBpB,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Copyright 2024 Brad Anderson
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- *
16
- * @author Brad Anderson <BradA1878@pm.me>
17
- * @repository https://github.com/BradA1878/model-exchange-framework
18
- * @documentation https://mxf-dev.github.io/mxf/
19
- */
20
- /**
21
- * All tool schema enhancements
22
- *
23
- * NOTE: Previously contained n8n workflow enhancements, but those are no longer
24
- * needed since the actual n8n-mcp server (czlonkowski/n8n-mcp) has built-in
25
- * validation, autofix, and example support.
26
- */
27
- export const TOOL_SCHEMA_ENHANCEMENTS = [];
28
- /**
29
- * Find enhancement for a specific tool
30
- */
31
- export const findToolEnhancement = (toolName, serverId) => {
32
- return TOOL_SCHEMA_ENHANCEMENTS.find(enhancement => enhancement.toolName === toolName && enhancement.serverId === serverId);
33
- };
34
- /**
35
- * Apply enhancements to a tool's input schema
36
- */
37
- export const enhanceToolSchema = (toolName, serverId, originalSchema) => {
38
- const enhancement = findToolEnhancement(toolName, serverId);
39
- if (!enhancement) {
40
- return originalSchema;
41
- }
42
- // Create enhanced schema by merging
43
- const enhancedSchema = { ...originalSchema };
44
- // Add examples if provided
45
- if (enhancement.examples && enhancement.examples.length > 0) {
46
- enhancedSchema.examples = enhancement.examples;
47
- }
48
- // Enhance property definitions if provided
49
- if (enhancement.propertyEnhancements && enhancedSchema.properties) {
50
- enhancedSchema.properties = {
51
- ...enhancedSchema.properties,
52
- ...enhancement.propertyEnhancements
53
- };
54
- }
55
- return enhancedSchema;
56
- };
57
- //# sourceMappingURL=ToolSchemaEnhancements.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolSchemaEnhancements.js","sourceRoot":"","sources":["../../../../src/protocols/mcp/services/ToolSchemaEnhancements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAwBH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA4B,EAAE,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAqC,EAAE;IACzG,OAAO,wBAAwB,CAAC,IAAI,CAChC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,CACxF,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,QAAgB,EAChB,QAAgB,EAChB,cAAmC,EAChB,EAAE;IACrB,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,oCAAoC;IACpC,MAAM,cAAc,GAAG,EAAE,GAAG,cAAc,EAAE,CAAC;IAE7C,2BAA2B;IAC3B,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,cAAc,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IACnD,CAAC;IAED,2CAA2C;IAC3C,IAAI,WAAW,CAAC,oBAAoB,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;QAChE,cAAc,CAAC,UAAU,GAAG;YACxB,GAAG,cAAc,CAAC,UAAU;YAC5B,GAAG,WAAW,CAAC,oBAAoB;SACtC,CAAC;IACN,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC"}