@mxf-dev/core 1.0.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) 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/PredictiveAnalyticsService.d.ts +34 -4
  181. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -1
  182. package/dist/services/PredictiveAnalyticsService.js +41 -25
  183. package/dist/services/PredictiveAnalyticsService.js.map +1 -1
  184. package/dist/services/QValueManager.d.ts +7 -0
  185. package/dist/services/QValueManager.d.ts.map +1 -1
  186. package/dist/services/QValueManager.js +9 -0
  187. package/dist/services/QValueManager.js.map +1 -1
  188. package/dist/services/RewardSignalProcessor.d.ts +38 -1
  189. package/dist/services/RewardSignalProcessor.d.ts.map +1 -1
  190. package/dist/services/RewardSignalProcessor.js +109 -7
  191. package/dist/services/RewardSignalProcessor.js.map +1 -1
  192. package/dist/services/SharedStateService.d.ts +16 -2
  193. package/dist/services/SharedStateService.d.ts.map +1 -1
  194. package/dist/services/SharedStateService.js +44 -3
  195. package/dist/services/SharedStateService.js.map +1 -1
  196. package/dist/services/TaskEffectivenessService.d.ts +34 -18
  197. package/dist/services/TaskEffectivenessService.d.ts.map +1 -1
  198. package/dist/services/TaskEffectivenessService.js +91 -155
  199. package/dist/services/TaskEffectivenessService.js.map +1 -1
  200. package/dist/services/WebSearchService.d.ts.map +1 -1
  201. package/dist/services/WebSearchService.js.map +1 -1
  202. package/dist/services/dag/TaskDagService.d.ts.map +1 -1
  203. package/dist/services/dag/TaskDagService.js +2 -0
  204. package/dist/services/dag/TaskDagService.js.map +1 -1
  205. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +7 -0
  206. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -1
  207. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +71 -10
  208. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -1
  209. package/dist/types/MemoryUtilityTypes.d.ts +2 -0
  210. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -1
  211. package/dist/types/MemoryUtilityTypes.js.map +1 -1
  212. package/dist/utils/Logger.d.ts +43 -3
  213. package/dist/utils/Logger.d.ts.map +1 -1
  214. package/dist/utils/Logger.js +78 -36
  215. package/dist/utils/Logger.js.map +1 -1
  216. package/dist/utils/MxpEncryption.d.ts +19 -6
  217. package/dist/utils/MxpEncryption.d.ts.map +1 -1
  218. package/dist/utils/MxpEncryption.js +48 -16
  219. package/dist/utils/MxpEncryption.js.map +1 -1
  220. package/package.json +19 -4
  221. package/src/adapters/FrameworkAdapter.ts +1 -1
  222. package/src/config/ConfigManager.ts +52 -19
  223. package/src/config/memory-strata.config.ts +136 -0
  224. package/src/constants/ToolNames.ts +4 -18
  225. package/src/database/DatabaseAdapterFactory.ts +23 -6
  226. package/src/database/adapters/mongodb/MongoBaseRepository.ts +16 -2
  227. package/src/events/ClientEventBus.ts +68 -403
  228. package/src/events/EventBus.ts +7 -8
  229. package/src/events/EventBusBase.ts +479 -116
  230. package/src/events/EventNames.ts +6 -0
  231. package/src/events/PublicEvents.ts +7 -4
  232. package/src/events/ServerEventBus.ts +78 -473
  233. package/src/events/event-definitions/LlmBudgetEvents.ts +74 -0
  234. package/src/interfaces/IMemoryPersistence.ts +51 -0
  235. package/src/middleware/MxpMiddleware.ts +51 -24
  236. package/src/models/channelKey.ts +18 -4
  237. package/src/models/memoryUtility.ts +64 -0
  238. package/src/models/user.ts +36 -4
  239. package/src/mxp/BinaryProtocolLayer.ts +108 -124
  240. package/src/mxp/ContextCompressionEngine.ts +219 -161
  241. package/src/mxp/MxpTokenOptimizer.ts +10 -10
  242. package/src/prompts/MxfAgentSystemPrompt.ts +45 -55
  243. package/src/protocols/mcp/ToolError.ts +201 -0
  244. package/src/protocols/mcp/defineTool.ts +379 -0
  245. package/src/protocols/mcp/security/HttpTargetGuard.ts +267 -0
  246. package/src/protocols/mcp/security/McpSecurityGuard.ts +10 -3
  247. package/src/protocols/mcp/security/McpToolPolicy.ts +221 -0
  248. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +340 -322
  249. package/src/protocols/mcp/services/ExternalServerConfigs.ts +82 -19
  250. package/src/protocols/mcp/tools/AnalyticsTools.ts +1 -1
  251. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +15 -0
  252. package/src/protocols/mcp/tools/EffectivenessTools.ts +3 -3
  253. package/src/protocols/mcp/tools/GitTools.ts +290 -569
  254. package/src/protocols/mcp/tools/InfrastructureTools.ts +189 -43
  255. package/src/protocols/mcp/tools/MemorySearchTools.ts +77 -1
  256. package/src/protocols/mcp/tools/OrparTools.ts +87 -0
  257. package/src/protocols/mcp/tools/SafetyTools.ts +501 -579
  258. package/src/protocols/mcp/tools/TaskPlanningTools.ts +81 -39
  259. package/src/protocols/mcp/tools/TestTools.ts +339 -419
  260. package/src/protocols/mcp/tools/TypeScriptTools.ts +316 -376
  261. package/src/protocols/mcp/tools/WebTools.ts +209 -307
  262. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +53 -14
  263. package/src/schemas/EventPayloadSchema.ts +37 -0
  264. package/src/services/BackgroundTaskManager.ts +12 -4
  265. package/src/services/BrowserManager.ts +41 -1
  266. package/src/services/MemoryCompressor.ts +20 -32
  267. package/src/services/MemoryService.ts +96 -58
  268. package/src/services/PredictiveAnalyticsService.ts +55 -32
  269. package/src/services/QValueManager.ts +10 -0
  270. package/src/services/RewardSignalProcessor.ts +138 -9
  271. package/src/services/SharedStateService.ts +56 -8
  272. package/src/services/TaskEffectivenessService.ts +114 -187
  273. package/src/services/WebSearchService.ts +2 -1
  274. package/src/services/dag/TaskDagService.ts +2 -0
  275. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +86 -10
  276. package/src/types/MemoryUtilityTypes.ts +2 -0
  277. package/src/utils/Logger.ts +116 -40
  278. package/src/utils/MxpEncryption.ts +69 -34
  279. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +0 -134
  280. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +0 -1
  281. package/dist/mxp/MxpEventForwardingEnhancer.js +0 -361
  282. package/dist/mxp/MxpEventForwardingEnhancer.js.map +0 -1
  283. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +0 -56
  284. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +0 -1
  285. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +0 -57
  286. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +0 -1
  287. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +0 -270
  288. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +0 -1
  289. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +0 -256
  290. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +0 -1
  291. package/dist/protocols/mcp/tools/LspTools.d.ts +0 -495
  292. package/dist/protocols/mcp/tools/LspTools.d.ts.map +0 -1
  293. package/dist/protocols/mcp/tools/LspTools.js +0 -469
  294. package/dist/protocols/mcp/tools/LspTools.js.map +0 -1
  295. package/src/mxp/MxpEventForwardingEnhancer.ts +0 -471
  296. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +0 -92
  297. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +0 -302
  298. package/src/protocols/mcp/tools/LspTools.ts +0 -476
@@ -58,6 +58,13 @@ export declare class DatabaseAdapterFactory {
58
58
  private static instance;
59
59
  private static config;
60
60
  private static connected;
61
+ /**
62
+ * True only when connect() opened the connection itself, as opposed to
63
+ * reusing one the host application (e.g. the server) had already opened.
64
+ * disconnect() closes the connection only in the first case — otherwise the
65
+ * factory would close the server's connection out from under it.
66
+ */
67
+ private static ownsConnection;
61
68
  /**
62
69
  * Initialize the factory with database configuration.
63
70
  * Must be called before create().
@@ -95,8 +102,13 @@ export declare class DatabaseAdapterFactory {
95
102
  static reset(): void;
96
103
  /**
97
104
  * Disconnect from the database.
98
- * Note: Only disconnects if the factory established the connection.
99
- * If mongoose was already connected (e.g., by server), this is a no-op.
105
+ *
106
+ * Closes the connection only when connect() opened it. If mongoose was
107
+ * already connected when connect() ran — the usual case inside the server —
108
+ * the connection belongs to the host and is left alone.
109
+ *
110
+ * Previously `connected` was set true in both cases, so calling disconnect()
111
+ * closed the server's own mongoose connection.
100
112
  */
101
113
  static disconnect(): Promise<void>;
102
114
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseAdapterFactory.d.ts","sourceRoot":"","sources":["../../src/database/DatabaseAdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAUpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkB;IAE1C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAM/C;;;;OAIG;WACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC;;;OAGG;mBACkB,YAAY;IAiBjC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAoBjC;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,cAAc,GAAG,IAAI;IAIzC;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAQ7B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAMpB;;;;OAIG;WACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAQzC"}
1
+ {"version":3,"file":"DatabaseAdapterFactory.d.ts","sourceRoot":"","sources":["../../src/database/DatabaseAdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAUpF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,MAAM,CAAC,MAAM,CAA+B;IACpD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkB;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc,CAAkB;IAE/C;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAO/C;;;;OAIG;WACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC;;;OAGG;mBACkB,YAAY;IAmBjC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,gBAAgB;IAoBjC;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,cAAc,GAAG,IAAI;IAIzC;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAQ7B;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAOpB;;;;;;;;;OASG;WACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAQzC"}
@@ -36,6 +36,13 @@ export class DatabaseAdapterFactory {
36
36
  static instance = null;
37
37
  static config = null;
38
38
  static connected = false;
39
+ /**
40
+ * True only when connect() opened the connection itself, as opposed to
41
+ * reusing one the host application (e.g. the server) had already opened.
42
+ * disconnect() closes the connection only in the first case — otherwise the
43
+ * factory would close the server's connection out from under it.
44
+ */
45
+ static ownsConnection = false;
39
46
  /**
40
47
  * Initialize the factory with database configuration.
41
48
  * Must be called before create().
@@ -44,6 +51,7 @@ export class DatabaseAdapterFactory {
44
51
  this.config = config;
45
52
  this.instance = null; // Reset instance on re-initialization
46
53
  this.connected = false;
54
+ this.ownsConnection = false;
47
55
  }
48
56
  /**
49
57
  * Connect to the database if not already connected.
@@ -73,7 +81,8 @@ export class DatabaseAdapterFactory {
73
81
  static async connectMongo() {
74
82
  // Check if mongoose is already connected (e.g., server has established connection)
75
83
  if (mongoose.connection.readyState === 1) {
76
- // Already connected, reuse existing connection
84
+ // Reuse the existing connection. We did not open it, so we must not close it.
85
+ this.ownsConnection = false;
77
86
  return;
78
87
  }
79
88
  // Not connected, establish new connection
@@ -83,6 +92,7 @@ export class DatabaseAdapterFactory {
83
92
  ...this.config?.options
84
93
  };
85
94
  await mongoose.connect(this.config.connectionString, options);
95
+ this.ownsConnection = true;
86
96
  }
87
97
  /**
88
98
  * Create or return the repository bundle.
@@ -129,21 +139,26 @@ export class DatabaseAdapterFactory {
129
139
  this.instance = null;
130
140
  this.config = null;
131
141
  this.connected = false;
142
+ this.ownsConnection = false;
132
143
  }
133
144
  /**
134
145
  * Disconnect from the database.
135
- * Note: Only disconnects if the factory established the connection.
136
- * If mongoose was already connected (e.g., by server), this is a no-op.
146
+ *
147
+ * Closes the connection only when connect() opened it. If mongoose was
148
+ * already connected when connect() ran — the usual case inside the server —
149
+ * the connection belongs to the host and is left alone.
150
+ *
151
+ * Previously `connected` was set true in both cases, so calling disconnect()
152
+ * closed the server's own mongoose connection.
137
153
  */
138
154
  static async disconnect() {
139
- if (this.connected && this.config?.type === 'mongodb') {
140
- // Only disconnect if we established the connection
141
- // Check if mongoose connection was established by us
155
+ if (this.connected && this.ownsConnection && this.config?.type === 'mongodb') {
142
156
  if (mongoose.connection.readyState === 1) {
143
157
  await mongoose.connection.close();
144
158
  }
145
159
  }
146
160
  this.connected = false;
161
+ this.ownsConnection = false;
147
162
  }
148
163
  /**
149
164
  * Create MongoDB repository implementations
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseAdapterFactory.js","sourceRoot":"","sources":["../../src/database/DatabaseAdapterFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseAdapterFactory.js","sourceRoot":"","sources":["../../src/database/DatabaseAdapterFactory.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,13 @@ export declare abstract class MongoBaseRepository<T, D extends Document, CreateD
72
72
  */
73
73
  protected buildMongoFilter(filter: FilterOptions<T>): FilterQuery<D>;
74
74
  /**
75
- * Map comparison operator to MongoDB operator
75
+ * Map comparison operator to MongoDB operator.
76
+ *
77
+ * An unknown operator throws. Defaulting to '$eq' turned, say, a mistyped
78
+ * 'gte' into an equality match: the query ran, returned the wrong rows, and
79
+ * nothing anywhere said so.
80
+ *
81
+ * @throws If the operator is not one this repository supports
76
82
  */
77
83
  private mapComparisonOperator;
78
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBaseRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoBaseRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAsB,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEpG;;;;GAIG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAC3G,YAAW,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAAf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK7C;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAM1D;;OAEG;IACG,QAAQ,CACV,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IA2B9B;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzC;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAS5D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1C;;OAEG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAExC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IA6CpE;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAchC"}
1
+ {"version":3,"file":"MongoBaseRepository.d.ts","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoBaseRepository.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAe,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,aAAa,EAAsB,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEpG;;;;GAIG;AACH,8BAAsB,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAC3G,YAAW,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAAf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK7C;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAM1D;;OAEG;IACG,QAAQ,CACV,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,UAAU,CAAC,EAAE,iBAAiB,GAC/B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IA2B9B;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAKzC;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAS5D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK1C;;OAEG;IACG,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAExC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IA6CpE;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CAsBhC"}
@@ -148,7 +148,13 @@ export class MongoBaseRepository {
148
148
  return mongoFilter;
149
149
  }
150
150
  /**
151
- * Map comparison operator to MongoDB operator
151
+ * Map comparison operator to MongoDB operator.
152
+ *
153
+ * An unknown operator throws. Defaulting to '$eq' turned, say, a mistyped
154
+ * 'gte' into an equality match: the query ran, returned the wrong rows, and
155
+ * nothing anywhere said so.
156
+ *
157
+ * @throws If the operator is not one this repository supports
152
158
  */
153
159
  mapComparisonOperator(op) {
154
160
  const mapping = {
@@ -162,7 +168,11 @@ export class MongoBaseRepository {
162
168
  'nin': '$nin',
163
169
  'regex': '$regex'
164
170
  };
165
- return mapping[op] || '$eq';
171
+ const mongoOperator = mapping[op];
172
+ if (!mongoOperator) {
173
+ throw new Error(`Unsupported comparison operator '${op}'. Supported operators: ${Object.keys(mapping).join(', ')}`);
174
+ }
175
+ return mongoOperator;
166
176
  }
167
177
  }
168
178
  //# sourceMappingURL=MongoBaseRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MongoBaseRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoBaseRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoBaseRepository.js","sourceRoot":"","sources":["../../../../src/database/adapters/mongodb/MongoBaseRepository.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,8 @@
23
23
  * Provides client-side event bus implementation for the MXF.
24
24
  * Handles client-specific event operations, socket connections, and event forwarding.
25
25
  */
26
- import { Subject, Subscription } from 'rxjs';
27
- import { AnyEventName, BaseEventBusImplementation, EventHandler, EventMessage, SocketLike, PayloadOf } from './EventBusBase.js';
26
+ import { Subject } from 'rxjs';
27
+ import { AnyEventName, BaseEventBusImplementation, EventMessage, SocketLike, PayloadOf } from './EventBusBase.js';
28
28
  /**
29
29
  * Interface for client-specific event bus functionality
30
30
  */
@@ -58,8 +58,8 @@ export interface IClientEventBus extends BaseEventBusImplementation {
58
58
  */
59
59
  unregisterSocket(socketId: string): this;
60
60
  /**
61
- * Emit an event through a specific registered socket
62
- * Falls back to the primary socket with a warning if socketId not found.
61
+ * Emit an event through a specific registered socket.
62
+ * Uses the primary socket when socketId is not in the registry.
63
63
  * @param socketId Identifier of the socket to emit through
64
64
  * @param event Event name
65
65
  * @param payload Event payload
@@ -71,28 +71,20 @@ export interface IClientEventBus extends BaseEventBusImplementation {
71
71
  */
72
72
  disconnect(): this;
73
73
  /**
74
- * Remove all socket listeners
74
+ * Remove listeners the sockets registered on this bus
75
75
  * @returns this (for chaining)
76
76
  */
77
- removeAllListeners(event?: AnyEventName): this;
78
- /**
79
- * Emit an event through the primary socket
80
- * @param event Event name
81
- * @param payload Event payload
82
- */
83
- emit<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
77
+ removeAllSocketListeners(): this;
84
78
  }
85
79
  /**
86
- * Client-side event bus implementation
80
+ * Client-side event bus implementation.
81
+ *
82
+ * Subscription handling (on/once/off/onAll/categories/debug) lives in
83
+ * BaseEventBusImplementation. This class owns only the socket transport.
87
84
  */
88
85
  export declare class ClientEventBus extends BaseEventBusImplementation implements IClientEventBus {
89
86
  private socket;
90
87
  private socketListeners;
91
- private subscriptions;
92
- private categorySubscriptions;
93
- private handlerSubscriptions;
94
- private debugMode;
95
- private debugSubscription;
96
88
  private socketRegistry;
97
89
  private socketListenersRegistry;
98
90
  /**
@@ -107,12 +99,13 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
107
99
  */
108
100
  setClientSocket(socket: SocketLike): this;
109
101
  /**
110
- * Emit an event
111
- * This is the core method that handles all event emission
112
- * @param event Event name
113
- * @param payload Event payload
102
+ * Forward an emitted event to the primary socket.
103
+ *
104
+ * Called by BaseEventBusImplementation.emit() after validation and local
105
+ * delivery. A disconnected socket is a warning, not an error: local
106
+ * subscribers still received the event.
114
107
  */
115
- emit<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
108
+ protected forwardToTransport<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
116
109
  /**
117
110
  * Set up socket event forwarding from socket to event bus
118
111
  * @param socket Socket to use
@@ -153,12 +146,6 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
153
146
  * @returns this (for chaining)
154
147
  */
155
148
  disconnect(): this;
156
- /**
157
- * Unsubscribe from an event
158
- * @param event Event name
159
- * @param handler Event handler function (optional)
160
- */
161
- off<K extends AnyEventName>(event: K, handler?: EventHandler<any>): void;
162
149
  /**
163
150
  * Remove all socket listeners (primary socket and all registered sockets)
164
151
  * @returns this (for chaining)
@@ -174,53 +161,5 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
174
161
  * @returns true if socket is connected
175
162
  */
176
163
  isSocketConnected(): boolean;
177
- /**
178
- * Subscribe to an event in the client event bus
179
- *
180
- * @param event Event name to subscribe to
181
- * @param listener Listener function to call when the event is emitted
182
- * @returns Subscription that can be unsubscribed to stop listening
183
- */
184
- on<T extends AnyEventName>(event: T, listener: (payload: PayloadOf<T>) => void): Subscription;
185
- /**
186
- * Subscribe to an event once in the client event bus
187
- * Once the event is fired, the subscription is automatically removed
188
- *
189
- * @param event Event name to subscribe to
190
- * @param listener Listener function to call when the event is emitted
191
- * @returns Subscription that can be unsubscribed to stop listening
192
- */
193
- once<T extends AnyEventName>(event: T, listener: (payload: PayloadOf<T>) => void): Subscription;
194
- /**
195
- * Subscribe to all events in the client event bus
196
- *
197
- * @param listener Listener function that receives both event type and payload
198
- * @returns Subscription that can be unsubscribed to stop listening
199
- */
200
- onAll(listener: (eventType: string, payload: any) => void): Subscription;
201
- /**
202
- * Subscribe to an event in the client event bus with category
203
- * for grouped subscription management
204
- *
205
- * @param category Category name for grouping subscriptions
206
- * @param event Event name to subscribe to
207
- * @param listener Listener function to call when the event is emitted
208
- * @returns Subscription that can be unsubscribed to stop listening
209
- */
210
- onWithCategory<T extends AnyEventName>(category: string, event: T, listener: (payload: any) => void): Subscription;
211
- /**
212
- * Unsubscribe from all events in a specific category
213
- *
214
- * @param category Category name to unsubscribe from
215
- * @returns this (for chaining)
216
- */
217
- unsubscribeCategory(category: string): this;
218
- /**
219
- * Enable or disable debug mode to log all events
220
- *
221
- * @param enabled Whether debug mode should be enabled
222
- * @returns this (for chaining)
223
- */
224
- enableDebugMode(enabled?: boolean): this;
225
164
  }
226
165
  //# sourceMappingURL=ClientEventBus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientEventBus.d.ts","sourceRoot":"","sources":["../../src/events/ClientEventBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientEventBus.d.ts","sourceRoot":"","sources":["../../src/events/ClientEventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,MAAM,CAAC;AAG7C,OAAO,EACH,YAAY,EACZ,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EAEV,SAAS,EACZ,MAAM,mBAAmB,CAAC;AAU3B;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,0BAA0B;IAC/D;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAE1C;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAEtD;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAE3D;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAExF;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;OAGG;IACH,wBAAwB,IAAI,IAAI,CAAC;CACpC;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,0BAA2B,YAAW,eAAe;IAErF,OAAO,CAAC,MAAM,CAA2B;IAEzC,OAAO,CAAC,eAAe,CAAoD;IAI3E,OAAO,CAAC,cAAc,CAAsC;IAE5D,OAAO,CAAC,uBAAuB,CAAiE;IAGhG;;;OAGG;gBACS,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;IAI/C;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAsBhD;;;;;;OAMG;cACgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAYpG;;;;OAIG;IACI,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAqD5D;;;;;;;;;OASG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAoDjE;;;;;;OAMG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAiCxE;;;OAGG;IACI,UAAU,IAAI,IAAI;IA0BzB;;;OAGG;IACI,wBAAwB,IAAI,IAAI;IAqDvC;;;OAGG;IACI,uBAAuB,IAAI,IAAI;IAKtC;;;OAGG;IACI,iBAAiB,IAAI,OAAO;CAItC"}