@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
@@ -35,6 +35,11 @@ export interface IClientEventBus extends BaseEventBusImplementation {
35
35
  * @returns this (for chaining)
36
36
  */
37
37
  setClientSocket(socket: SocketLike): this;
38
+ /**
39
+ * Release the primary socket only when it is the expected socket. Named
40
+ * agent transports and listeners owned by other SDK services are retained.
41
+ */
42
+ clearClientSocket(socket?: SocketLike): this;
38
43
  /**
39
44
  * Set up socket event forwarding
40
45
  * @param socket Socket to use
@@ -65,6 +70,8 @@ export interface IClientEventBus extends BaseEventBusImplementation {
65
70
  * @param payload Event payload
66
71
  */
67
72
  emitOn<K extends AnyEventName>(socketId: string, event: K, payload: PayloadOf<K>): void;
73
+ /** Whether the exact named socket used by emitOn() is connected. */
74
+ isRegisteredSocketConnected(socketId: string): boolean;
68
75
  /**
69
76
  * Disconnect the primary socket and unregister all sockets
70
77
  * @returns this (for chaining)
@@ -87,6 +94,13 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
87
94
  private socketListeners;
88
95
  private socketRegistry;
89
96
  private socketListenersRegistry;
97
+ /**
98
+ * Socket.IO broadcasts one envelope to every local agent socket. All of
99
+ * those sockets feed this process-global bus, so remember exact envelopes
100
+ * and publish each one only once. Set iteration order supplies bounded FIFO
101
+ * eviction; raw/custom socket payloads without an eventId remain distinct.
102
+ */
103
+ private readonly inboundEventKeys;
90
104
  /**
91
105
  * Create a new ClientEventBus
92
106
  * @param eventSubject Subject to use for events
@@ -98,6 +112,8 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
98
112
  * @returns this (for chaining)
99
113
  */
100
114
  setClientSocket(socket: SocketLike): this;
115
+ /** Release only the primary transport and the exact callbacks this bus owns. */
116
+ clearClientSocket(socket?: SocketLike): this;
101
117
  /**
102
118
  * Forward an emitted event to the primary socket.
103
119
  *
@@ -151,6 +167,8 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
151
167
  * @returns this (for chaining)
152
168
  */
153
169
  removeAllSocketListeners(): this;
170
+ /** Remove only listeners installed by this bus on the primary socket. */
171
+ private removePrimarySocketListeners;
154
172
  /**
155
173
  * Remove all agent event listeners
156
174
  * @returns this (for chaining)
@@ -161,5 +179,15 @@ export declare class ClientEventBus extends BaseEventBusImplementation implement
161
179
  * @returns true if socket is connected
162
180
  */
163
181
  isSocketConnected(): boolean;
182
+ /**
183
+ * Check the exact named agent socket used by emitOn().
184
+ *
185
+ * Request/response services must not rely on emitOn()'s primary-socket
186
+ * fallback: when no transport is available that fallback only logs, which
187
+ * would leave an acknowledged request pending forever.
188
+ */
189
+ isRegisteredSocketConnected(socketId: string): boolean;
190
+ /** Publish one exact typed socket envelope into the shared local bus. */
191
+ private publishInboundEvent;
164
192
  }
165
193
  //# sourceMappingURL=ClientEventBus.d.ts.map
@@ -1 +1 @@
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"}
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;AAc3B;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,0BAA0B;IAC/D;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAE7C;;;;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,oEAAoE;IACpE,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAEvD;;;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,CAA0C;IAIjE,OAAO,CAAC,cAAc,CAAsC;IAE5D,OAAO,CAAC,uBAAuB,CAAuD;IAEtF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IAGtD;;;OAGG;gBACS,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;IAI/C;;;;OAIG;IACI,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IA2BhD,gFAAgF;IACzE,iBAAiB,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAUnD;;;;;;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;IA8C5D;;;;;;;;;OASG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAoDjE;;;;;;OAMG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAiC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAiCxE;;;OAGG;IACI,UAAU,IAAI,IAAI;IA4BzB;;;OAGG;IACI,wBAAwB,IAAI,IAAI;IA4BvC,yEAAyE;IACzE,OAAO,CAAC,4BAA4B;IA2BpC;;;OAGG;IACI,uBAAuB,IAAI,IAAI;IAKtC;;;OAGG;IACI,iBAAiB,IAAI,OAAO;IAInC;;;;;;OAMG;IACI,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK7D,yEAAyE;IACzE,OAAO,CAAC,mBAAmB;CAsB9B"}
@@ -26,6 +26,8 @@ import { Logger } from '../utils/Logger.js';
26
26
  const logger = new Logger('warn', 'ClientEventBus', 'client');
27
27
  // Create a strict validator for client-side operations
28
28
  const validator = createStrictValidator('ClientEventBus');
29
+ /** Bound process-global socket replay protection without a cleanup timer. */
30
+ const MAX_INBOUND_EVENT_KEYS = 4096;
29
31
  /**
30
32
  * Client-side event bus implementation.
31
33
  *
@@ -42,6 +44,13 @@ export class ClientEventBus extends BaseEventBusImplementation {
42
44
  socketRegistry = new Map();
43
45
  // Listeners tracked for each registered socket's onAny handler
44
46
  socketListenersRegistry = new Map();
47
+ /**
48
+ * Socket.IO broadcasts one envelope to every local agent socket. All of
49
+ * those sockets feed this process-global bus, so remember exact envelopes
50
+ * and publish each one only once. Set iteration order supplies bounded FIFO
51
+ * eviction; raw/custom socket payloads without an eventId remain distinct.
52
+ */
53
+ inboundEventKeys = new Set();
45
54
  /**
46
55
  * Create a new ClientEventBus
47
56
  * @param eventSubject Subject to use for events
@@ -60,6 +69,10 @@ export class ClientEventBus extends BaseEventBusImplementation {
60
69
  // Check that this is a socket-like object
61
70
  validator.assertHasFunction(socket, 'on');
62
71
  validator.assertHasFunction(socket, 'emit');
72
+ // Remove only the EventBus listeners from the previous primary
73
+ // socket. Other SDK lifecycle listeners and named agent sockets
74
+ // have independent owners and must survive a primary reconnect.
75
+ this.removePrimarySocketListeners();
63
76
  // Store the socket
64
77
  this.socket = socket;
65
78
  // Set up event forwarding
@@ -71,6 +84,15 @@ export class ClientEventBus extends BaseEventBusImplementation {
71
84
  }
72
85
  return this;
73
86
  }
87
+ /** Release only the primary transport and the exact callbacks this bus owns. */
88
+ clearClientSocket(socket) {
89
+ if (socket && this.socket !== socket) {
90
+ return this;
91
+ }
92
+ this.removePrimarySocketListeners();
93
+ this.socket = null;
94
+ return this;
95
+ }
74
96
  /**
75
97
  * Forward an emitted event to the primary socket.
76
98
  *
@@ -96,8 +118,6 @@ export class ClientEventBus extends BaseEventBusImplementation {
96
118
  validator.assertIsObject(socket);
97
119
  validator.assertHasFunction(socket, 'on');
98
120
  validator.assertHasFunction(socket, 'onAny');
99
- // Remove previous listeners if any
100
- this.removeAllSocketListeners();
101
121
  // Catch every event with onAny (Socket.IO specific)
102
122
  if (socket.onAny) {
103
123
  // Build a set of events that are handled specifically by MxfService.setupControlLoopSocketListeners()
@@ -119,11 +139,7 @@ export class ClientEventBus extends BaseEventBusImplementation {
119
139
  return;
120
140
  }
121
141
  const payload = args.length > 0 ? args[0] : {};
122
- // Forward to event bus
123
- this.eventSubject.next({
124
- type: event,
125
- payload
126
- });
142
+ this.publishInboundEvent(event, payload);
127
143
  };
128
144
  socket.onAny(handleAnyEvent);
129
145
  this.socketListeners.set('any', handleAnyEvent);
@@ -173,7 +189,7 @@ export class ClientEventBus extends BaseEventBusImplementation {
173
189
  return;
174
190
  }
175
191
  const payload = args.length > 0 ? args[0] : {};
176
- this.eventSubject.next({ type: event, payload });
192
+ this.publishInboundEvent(event, payload);
177
193
  };
178
194
  socket.onAny(handleAnyEvent);
179
195
  // Track the listener for cleanup
@@ -202,13 +218,13 @@ export class ClientEventBus extends BaseEventBusImplementation {
202
218
  return this;
203
219
  }
204
220
  try {
205
- // Remove onAny listener
206
- if (socket.offAny) {
207
- socket.offAny();
208
- }
209
221
  // Remove individually tracked listeners
210
222
  const listeners = this.socketListenersRegistry.get(socketId);
211
223
  if (listeners) {
224
+ const anyListener = listeners.get('any');
225
+ if (socket.offAny && anyListener) {
226
+ socket.offAny(anyListener);
227
+ }
212
228
  for (const [event, listener] of listeners.entries()) {
213
229
  if (event !== 'any') {
214
230
  socket.off(event, listener);
@@ -264,6 +280,7 @@ export class ClientEventBus extends BaseEventBusImplementation {
264
280
  * @returns this (for chaining)
265
281
  */
266
282
  disconnect() {
283
+ this.inboundEventKeys.clear();
267
284
  // Unregister all sockets in the registry
268
285
  for (const socketId of Array.from(this.socketRegistry.keys())) {
269
286
  this.unregisterSocket(socketId);
@@ -290,39 +307,16 @@ export class ClientEventBus extends BaseEventBusImplementation {
290
307
  * @returns this (for chaining)
291
308
  */
292
309
  removeAllSocketListeners() {
293
- // Clean up primary socket listeners
294
- if (this.socket) {
295
- try {
296
- // Remove "any" listener if registered
297
- if (this.socket.offAny && this.socketListeners.has('any')) {
298
- this.socket.offAny();
299
- this.socketListeners.delete('any');
300
- }
301
- // Remove individual event listeners
302
- for (const [event, listener] of this.socketListeners.entries()) {
303
- if (event !== 'any') {
304
- this.socket.off(event, listener);
305
- }
306
- }
307
- // Clear listener map
308
- this.socketListeners.clear();
309
- // Use Socket.IO's removeAllListeners if available
310
- if (this.socket.removeAllListeners) {
311
- this.socket.removeAllListeners();
312
- }
313
- }
314
- catch (error) {
315
- logger.error('[ClientEventBus] Error removing primary socket listeners:', error instanceof Error ? error.message : String(error));
316
- }
317
- }
310
+ this.removePrimarySocketListeners();
318
311
  // Clean up registered sockets' listeners
319
312
  for (const [socketId, socket] of this.socketRegistry.entries()) {
320
313
  try {
321
- if (socket.offAny) {
322
- socket.offAny();
323
- }
324
314
  const listeners = this.socketListenersRegistry.get(socketId);
325
315
  if (listeners) {
316
+ const anyListener = listeners.get('any');
317
+ if (socket.offAny && anyListener) {
318
+ socket.offAny(anyListener);
319
+ }
326
320
  for (const [event, listener] of listeners.entries()) {
327
321
  if (event !== 'any') {
328
322
  socket.off(event, listener);
@@ -338,6 +332,28 @@ export class ClientEventBus extends BaseEventBusImplementation {
338
332
  this.socketListenersRegistry.clear();
339
333
  return this;
340
334
  }
335
+ /** Remove only listeners installed by this bus on the primary socket. */
336
+ removePrimarySocketListeners() {
337
+ if (!this.socket) {
338
+ this.socketListeners.clear();
339
+ return;
340
+ }
341
+ try {
342
+ const anyListener = this.socketListeners.get('any');
343
+ if (this.socket.offAny && anyListener) {
344
+ this.socket.offAny(anyListener);
345
+ }
346
+ for (const [event, listener] of this.socketListeners.entries()) {
347
+ if (event !== 'any') {
348
+ this.socket.off(event, listener);
349
+ }
350
+ }
351
+ this.socketListeners.clear();
352
+ }
353
+ catch (error) {
354
+ logger.error('[ClientEventBus] Error removing primary socket listeners:', error instanceof Error ? error.message : String(error));
355
+ }
356
+ }
341
357
  /**
342
358
  * Remove all agent event listeners
343
359
  * @returns this (for chaining)
@@ -353,5 +369,36 @@ export class ClientEventBus extends BaseEventBusImplementation {
353
369
  isSocketConnected() {
354
370
  return !!this.socket && !!this.socket.connected;
355
371
  }
372
+ /**
373
+ * Check the exact named agent socket used by emitOn().
374
+ *
375
+ * Request/response services must not rely on emitOn()'s primary-socket
376
+ * fallback: when no transport is available that fallback only logs, which
377
+ * would leave an acknowledged request pending forever.
378
+ */
379
+ isRegisteredSocketConnected(socketId) {
380
+ validator.assertIsNonEmptyString(socketId);
381
+ return this.socketRegistry.get(socketId)?.connected === true;
382
+ }
383
+ /** Publish one exact typed socket envelope into the shared local bus. */
384
+ publishInboundEvent(event, payload) {
385
+ if (payload && typeof payload === 'object') {
386
+ const eventId = payload.eventId;
387
+ if (typeof eventId === 'string' && eventId.trim().length > 0) {
388
+ const eventKey = `${event}:${eventId}`;
389
+ if (this.inboundEventKeys.has(eventKey)) {
390
+ return;
391
+ }
392
+ this.inboundEventKeys.add(eventKey);
393
+ if (this.inboundEventKeys.size > MAX_INBOUND_EVENT_KEYS) {
394
+ const oldestKey = this.inboundEventKeys.values().next().value;
395
+ if (typeof oldestKey === 'string') {
396
+ this.inboundEventKeys.delete(oldestKey);
397
+ }
398
+ }
399
+ }
400
+ }
401
+ this.eventSubject.next({ type: event, payload });
402
+ }
356
403
  }
357
404
  //# sourceMappingURL=ClientEventBus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientEventBus.js","sourceRoot":"","sources":["../../src/events/ClientEventBus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientEventBus.js","sourceRoot":"","sources":["../../src/events/ClientEventBus.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,18 @@
17
17
  * @repository https://github.com/BradA1878/model-exchange-framework
18
18
  * @documentation https://mxf-dev.github.io/mxf/
19
19
  */
20
+ /**
21
+ * EventBus
22
+ *
23
+ * Provides a type-safe event bus implementation for the MXF.
24
+ * This implementation is designed to be used with socket.io and other event-based systems.
25
+ *
26
+ * The EventBus serves as a unified facade over both local events and socket.io events:
27
+ * - When a socket is set, events are forwarded to the socket when emitted
28
+ * - For server-side usage, the socket.io server instance can be set for broadcasting
29
+ * - All events are processed through RxJS for local subscriptions
30
+ */
31
+ import { Subscription } from 'rxjs';
20
32
  import { IClientEventBus } from './ClientEventBus.js';
21
33
  import { IServerEventBus } from './ServerEventBus.js';
22
34
  /**
@@ -49,11 +61,17 @@ export declare class EventBusImplementation {
49
61
  * This is primarily used for testing.
50
62
  */
51
63
  reset(): void;
64
+ /**
65
+ * Drain async callbacks owned by either bus without instantiating a bus that
66
+ * was never used. Repeat across both buses because a settling server handler
67
+ * may synchronously publish work to the client bus (or vice versa).
68
+ */
69
+ drain(): Promise<void>;
52
70
  /**
53
71
  * Log every event passing through the bus.
54
72
  * @returns A subscription that can be unsubscribed to stop debugging
55
73
  */
56
- debug(): import("rxjs").Subscription;
74
+ debug(): Subscription;
57
75
  }
58
76
  export declare const EventBus: EventBusImplementation;
59
77
  //# sourceMappingURL=EventBus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAgBH,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;;GAIG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAAgC;IAEtD;;OAEG;;IAKH;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAKnC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAKnC;IAED;;;OAGG;IACI,KAAK,IAAI,IAAI;IAWpB;;;OAGG;IACI,KAAK;CAKf;AAGD,eAAO,MAAM,QAAQ,wBAA+B,CAAC"}
1
+ {"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAAW,YAAY,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtE;;;;GAIG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,cAAc,CAAgC;IAEtD;;OAEG;;IAKH;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAKnC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,eAAe,CAKnC;IAED;;;OAGG;IACI,KAAK,IAAI,IAAI;IAoBpB;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC;;;OAGG;IACI,KAAK,IAAI,YAAY;CAK/B;AAGD,eAAO,MAAM,QAAQ,wBAA+B,CAAC"}
@@ -76,6 +76,14 @@ export class EventBusImplementation {
76
76
  * This is primarily used for testing.
77
77
  */
78
78
  reset() {
79
+ // A Subject completion disposes RxJS subscriptions, but it cannot
80
+ // detach Socket.IO callbacks registered outside RxJS. Release the
81
+ // exact transport listeners owned by the old buses before dropping
82
+ // their instances so a test reset/reinitialize cannot retain a dead
83
+ // bus through socket.onAny().
84
+ this.clientEventBus?.removeAllSocketListeners();
85
+ this.clientEventBus?.removeAllListeners();
86
+ this.serverEventBus?.cleanup();
79
87
  // Completing the Subject disposes every subscription both buses hold,
80
88
  // and their completion callbacks clear their registries.
81
89
  this.eventSubject.complete();
@@ -84,6 +92,21 @@ export class EventBusImplementation {
84
92
  this.clientEventBus = null;
85
93
  this.serverEventBus = null;
86
94
  }
95
+ /**
96
+ * Drain async callbacks owned by either bus without instantiating a bus that
97
+ * was never used. Repeat across both buses because a settling server handler
98
+ * may synchronously publish work to the client bus (or vice versa).
99
+ */
100
+ async drain() {
101
+ for (;;) {
102
+ const buses = [this.serverEventBus, this.clientEventBus].filter((bus) => bus !== null);
103
+ await Promise.all(buses.map(bus => bus.drain()));
104
+ const currentBuses = [this.serverEventBus, this.clientEventBus].filter((bus) => bus !== null);
105
+ if (currentBuses.every(bus => bus.pendingHandlerCount() === 0)) {
106
+ return;
107
+ }
108
+ }
109
+ }
87
110
  /**
88
111
  * Log every event passing through the bus.
89
112
  * @returns A subscription that can be unsubscribed to stop debugging
@@ -1 +1 @@
1
- {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAmB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,wCAAwC;AACxC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAExD;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IACvB,YAAY,CAAwB;IACpC,cAAc,GAA2B,IAAI,CAAC;IAC9C,cAAc,GAA2B,IAAI,CAAC;IAEtD;;OAEG;IACH;QACI,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAgB,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACb,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK;QACR,sEAAsE;QACtE,yDAAyD;QACzD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAgB,CAAC;QAEhD,oEAAoE;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"EventBus.js","sourceRoot":"","sources":["../../src/events/EventBus.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ import { Logger } from '../utils/Logger.js';
33
33
  * rejection can kill the bus subscription or vanish silently. Errors are
34
34
  * logged loudly with the event name; the bus stays alive for other handlers.
35
35
  */
36
- export declare const invokeHandlerSafely: (busLogger: Logger, eventName: unknown, handler: (payload: any) => unknown, payload: any) => void;
36
+ export declare const invokeHandlerSafely: <T>(busLogger: Logger, eventName: unknown, handler: (payload: T) => unknown, payload: T, trackAsyncWork?: (work: Promise<void>) => void) => void;
37
37
  /**
38
38
  * Socket interface based on the subset of Socket.IO functionality we use
39
39
  */
@@ -44,7 +44,7 @@ export interface SocketLike {
44
44
  off: (event: string, listener?: (...args: any[]) => void) => any;
45
45
  emit: (event: string, ...args: any[]) => any;
46
46
  onAny?: (listener: (event: string, ...args: any[]) => void) => any;
47
- offAny?: () => any;
47
+ offAny?: (listener?: (event: string, ...args: unknown[]) => void) => unknown;
48
48
  removeAllListeners?: () => any;
49
49
  disconnect?: () => void;
50
50
  data?: {
@@ -117,7 +117,12 @@ export interface EventBusBase {
117
117
  * @param event Event name
118
118
  * @param payload Event payload
119
119
  */
120
- emit?(event: AnyEventName, payload: any): void;
120
+ emit?<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
121
+ /**
122
+ * Publish an event to local subscribers without forwarding it to the
123
+ * transport. Used when a socket event has already crossed the transport.
124
+ */
125
+ emitLocal<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
121
126
  /**
122
127
  * Check if an event has subscribers
123
128
  * @param event Event name
@@ -142,6 +147,10 @@ export interface EventBusBase {
142
147
  * @returns this (for chaining)
143
148
  */
144
149
  removeAllListeners(event?: AnyEventName): this;
150
+ /** Wait for every async handler already accepted by this bus to settle. */
151
+ drain(): Promise<void>;
152
+ /** Number of accepted async handlers that have not settled yet. */
153
+ pendingHandlerCount(): number;
145
154
  }
146
155
  /**
147
156
  * Helper function to validate an event name
@@ -175,7 +184,7 @@ export declare function isReservedEvent(event: string): boolean;
175
184
  * the wrapper (as an earlier version did) meant off() could never find the entry,
176
185
  * so the RxJS subscription was never disposed and the "one-shot" listener kept
177
186
  * firing on every later event. take(1) now disposes the subscription itself and
178
- * the completion callback clears the registry entry.
187
+ * the subscription teardown clears the registry entry.
179
188
  *
180
189
  * ## Emit contract
181
190
  *
@@ -197,11 +206,13 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
197
206
  * A handler may be registered more than once for the same event, so the
198
207
  * value is a list; off() disposes all of them.
199
208
  */
200
- protected handlerSubscriptions: Map<string, Map<EventHandler<any>, Subscription[]>>;
209
+ protected handlerSubscriptions: Map<string, Map<EventHandler<never>, Subscription[]>>;
201
210
  /** event → number of live per-event subscribers. */
202
211
  protected subscriptionCountMap: Map<string, number>;
203
212
  /** onAll() subscriptions, which are not tied to any single event name. */
204
213
  protected allEventSubscriptions: Set<Subscription>;
214
+ /** Async handler work accepted by this bus and still using server resources. */
215
+ private readonly pendingHandlerWork;
205
216
  private debugMode;
206
217
  private debugSubscription;
207
218
  constructor(eventSubject: Subject<EventMessage>, busLogger: Logger);
@@ -221,6 +232,14 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
221
232
  * @param payload Event payload
222
233
  */
223
234
  emit<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
235
+ /**
236
+ * Deliver an event to this bus's local subscribers only.
237
+ *
238
+ * Socket ingress must use this path when adapting a received event for SDK
239
+ * subscribers. Calling emit()/emitOn() there sends the same event back over
240
+ * the socket and creates a transport echo loop for bidirectional names.
241
+ */
242
+ emitLocal<K extends AnyEventName>(event: K, payload: PayloadOf<K>): void;
224
243
  /**
225
244
  * Publish a properly-formed error event describing a failed emit.
226
245
  *
@@ -241,7 +260,7 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
241
260
  * Subscribe to an event for exactly one delivery.
242
261
  *
243
262
  * take(1) disposes the RxJS subscription after the first event, and the
244
- * completion callback removes it from the registry, so nothing is left
263
+ * subscription teardown removes it from the registry, so nothing is left
245
264
  * behind. off(event, handler) still works before the event arrives.
246
265
  *
247
266
  * @param event Event name
@@ -310,6 +329,14 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
310
329
  * Number of onAll() subscribers on this bus.
311
330
  */
312
331
  allListenerCount(): number;
332
+ /** Number of async callbacks which have not yet settled. */
333
+ pendingHandlerCount(): number;
334
+ /**
335
+ * Wait for all accepted async callbacks, including callbacks accepted by a
336
+ * callback while the current batch is settling. Ingress must be stopped
337
+ * before calling this during process shutdown so the set eventually closes.
338
+ */
339
+ drain(): Promise<void>;
313
340
  /**
314
341
  * Log every event passing through this bus at debug level.
315
342
  *
@@ -317,6 +344,8 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
317
344
  * @returns this (for chaining)
318
345
  */
319
346
  enableDebugMode(enabled?: boolean): this;
347
+ /** Keep shutdown ownership of an async handler until it has settled. */
348
+ private readonly trackAsyncHandlerWork;
320
349
  /** Record a new per-event subscription across all three structures. */
321
350
  private registerHandler;
322
351
  /**
@@ -330,6 +359,8 @@ export declare abstract class BaseEventBusImplementation implements EventBusBase
330
359
  * (category and onAll subscriptions).
331
360
  */
332
361
  private forgetSubscriptionEverywhere;
362
+ /** Drop a subscription from one category without affecting other registrations. */
363
+ private forgetCategorySubscription;
333
364
  /**
334
365
  * Validate event payload to ensure it follows the expected schema
335
366
  * @param event Event name
@@ -1 +1 @@
1
- {"version":3,"file":"EventBusBase.d.ts","sourceRoot":"","sources":["../../src/events/EventBusBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventBusBase.d.ts","sourceRoot":"","sources":["../../src/events/EventBusBase.ts"],"names":[],"mappings":"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"}