@mxf-dev/core 1.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 (1545) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +29 -0
  3. package/dist/adapters/FrameworkAdapter.d.ts +177 -0
  4. package/dist/adapters/FrameworkAdapter.d.ts.map +1 -0
  5. package/dist/adapters/FrameworkAdapter.js +142 -0
  6. package/dist/adapters/FrameworkAdapter.js.map +1 -0
  7. package/dist/adapters/index.d.ts +24 -0
  8. package/dist/adapters/index.d.ts.map +1 -0
  9. package/dist/adapters/index.js +21 -0
  10. package/dist/adapters/index.js.map +1 -0
  11. package/dist/config/ConfigManager.d.ts +606 -0
  12. package/dist/config/ConfigManager.d.ts.map +1 -0
  13. package/dist/config/ConfigManager.js +814 -0
  14. package/dist/config/ConfigManager.js.map +1 -0
  15. package/dist/config/FeatureFlags.d.ts +84 -0
  16. package/dist/config/FeatureFlags.d.ts.map +1 -0
  17. package/dist/config/FeatureFlags.js +103 -0
  18. package/dist/config/FeatureFlags.js.map +1 -0
  19. package/dist/config/McpPromptsConfig.d.ts +43 -0
  20. package/dist/config/McpPromptsConfig.d.ts.map +1 -0
  21. package/dist/config/McpPromptsConfig.js +108 -0
  22. package/dist/config/McpPromptsConfig.js.map +1 -0
  23. package/dist/config/ModelContextLimits.d.ts +40 -0
  24. package/dist/config/ModelContextLimits.d.ts.map +1 -0
  25. package/dist/config/ModelContextLimits.js +137 -0
  26. package/dist/config/ModelContextLimits.js.map +1 -0
  27. package/dist/config/PromptCompactionConfig.d.ts +75 -0
  28. package/dist/config/PromptCompactionConfig.d.ts.map +1 -0
  29. package/dist/config/PromptCompactionConfig.js +146 -0
  30. package/dist/config/PromptCompactionConfig.js.map +1 -0
  31. package/dist/config/PromptConfig.d.ts +57 -0
  32. package/dist/config/PromptConfig.d.ts.map +1 -0
  33. package/dist/config/PromptConfig.js +43 -0
  34. package/dist/config/PromptConfig.js.map +1 -0
  35. package/dist/config/ServerConfig.d.ts +45 -0
  36. package/dist/config/ServerConfig.d.ts.map +1 -0
  37. package/dist/config/ServerConfig.js +51 -0
  38. package/dist/config/ServerConfig.js.map +1 -0
  39. package/dist/config/dag.config.d.ts +83 -0
  40. package/dist/config/dag.config.d.ts.map +1 -0
  41. package/dist/config/dag.config.js +171 -0
  42. package/dist/config/dag.config.js.map +1 -0
  43. package/dist/config/knowledge-graph.config.d.ts +112 -0
  44. package/dist/config/knowledge-graph.config.d.ts.map +1 -0
  45. package/dist/config/knowledge-graph.config.js +225 -0
  46. package/dist/config/knowledge-graph.config.js.map +1 -0
  47. package/dist/config/orpar-memory.config.d.ts +115 -0
  48. package/dist/config/orpar-memory.config.d.ts.map +1 -0
  49. package/dist/config/orpar-memory.config.js +309 -0
  50. package/dist/config/orpar-memory.config.js.map +1 -0
  51. package/dist/config/tensorflow.config.d.ts +74 -0
  52. package/dist/config/tensorflow.config.d.ts.map +1 -0
  53. package/dist/config/tensorflow.config.js +165 -0
  54. package/dist/config/tensorflow.config.js.map +1 -0
  55. package/dist/constants/CoreTools.d.ts +47 -0
  56. package/dist/constants/CoreTools.d.ts.map +1 -0
  57. package/dist/constants/CoreTools.js +80 -0
  58. package/dist/constants/CoreTools.js.map +1 -0
  59. package/dist/constants/DefaultPhaseProfiles.d.ts +163 -0
  60. package/dist/constants/DefaultPhaseProfiles.d.ts.map +1 -0
  61. package/dist/constants/DefaultPhaseProfiles.js +618 -0
  62. package/dist/constants/DefaultPhaseProfiles.js.map +1 -0
  63. package/dist/constants/EnhancementConstants.d.ts +352 -0
  64. package/dist/constants/EnhancementConstants.d.ts.map +1 -0
  65. package/dist/constants/EnhancementConstants.js +352 -0
  66. package/dist/constants/EnhancementConstants.js.map +1 -0
  67. package/dist/constants/ToolNames.d.ts +649 -0
  68. package/dist/constants/ToolNames.d.ts.map +1 -0
  69. package/dist/constants/ToolNames.js +463 -0
  70. package/dist/constants/ToolNames.js.map +1 -0
  71. package/dist/database/DatabaseAdapterFactory.d.ts +107 -0
  72. package/dist/database/DatabaseAdapterFactory.d.ts.map +1 -0
  73. package/dist/database/DatabaseAdapterFactory.js +160 -0
  74. package/dist/database/DatabaseAdapterFactory.js.map +1 -0
  75. package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts +82 -0
  76. package/dist/database/adapters/mongodb/MongoAgentRepository.d.ts.map +1 -0
  77. package/dist/database/adapters/mongodb/MongoAgentRepository.js +145 -0
  78. package/dist/database/adapters/mongodb/MongoAgentRepository.js.map +1 -0
  79. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts +79 -0
  80. package/dist/database/adapters/mongodb/MongoBaseRepository.d.ts.map +1 -0
  81. package/dist/database/adapters/mongodb/MongoBaseRepository.js +168 -0
  82. package/dist/database/adapters/mongodb/MongoBaseRepository.js.map +1 -0
  83. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts +80 -0
  84. package/dist/database/adapters/mongodb/MongoChannelRepository.d.ts.map +1 -0
  85. package/dist/database/adapters/mongodb/MongoChannelRepository.js +155 -0
  86. package/dist/database/adapters/mongodb/MongoChannelRepository.js.map +1 -0
  87. package/dist/database/adapters/mongodb/MongoDagRepository.d.ts +104 -0
  88. package/dist/database/adapters/mongodb/MongoDagRepository.d.ts.map +1 -0
  89. package/dist/database/adapters/mongodb/MongoDagRepository.js +288 -0
  90. package/dist/database/adapters/mongodb/MongoDagRepository.js.map +1 -0
  91. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts +86 -0
  92. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.d.ts.map +1 -0
  93. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js +717 -0
  94. package/dist/database/adapters/mongodb/MongoKnowledgeGraphRepository.js.map +1 -0
  95. package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts +60 -0
  96. package/dist/database/adapters/mongodb/MongoMemoryRepository.d.ts.map +1 -0
  97. package/dist/database/adapters/mongodb/MongoMemoryRepository.js +176 -0
  98. package/dist/database/adapters/mongodb/MongoMemoryRepository.js.map +1 -0
  99. package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts +103 -0
  100. package/dist/database/adapters/mongodb/MongoTaskRepository.d.ts.map +1 -0
  101. package/dist/database/adapters/mongodb/MongoTaskRepository.js +301 -0
  102. package/dist/database/adapters/mongodb/MongoTaskRepository.js.map +1 -0
  103. package/dist/database/adapters/mongodb/index.d.ts +25 -0
  104. package/dist/database/adapters/mongodb/index.d.ts.map +1 -0
  105. package/dist/database/adapters/mongodb/index.js +25 -0
  106. package/dist/database/adapters/mongodb/index.js.map +1 -0
  107. package/dist/database/index.d.ts +22 -0
  108. package/dist/database/index.d.ts.map +1 -0
  109. package/dist/database/index.js +22 -0
  110. package/dist/database/index.js.map +1 -0
  111. package/dist/events/ClientEventBus.d.ts +226 -0
  112. package/dist/events/ClientEventBus.d.ts.map +1 -0
  113. package/dist/events/ClientEventBus.js +630 -0
  114. package/dist/events/ClientEventBus.js.map +1 -0
  115. package/dist/events/EventBus.d.ts +59 -0
  116. package/dist/events/EventBus.d.ts.map +1 -0
  117. package/dist/events/EventBus.js +98 -0
  118. package/dist/events/EventBus.js.map +1 -0
  119. package/dist/events/EventBusBase.d.ts +236 -0
  120. package/dist/events/EventBusBase.d.ts.map +1 -0
  121. package/dist/events/EventBusBase.js +247 -0
  122. package/dist/events/EventBusBase.js.map +1 -0
  123. package/dist/events/EventNames.d.ts +747 -0
  124. package/dist/events/EventNames.d.ts.map +1 -0
  125. package/dist/events/EventNames.js +157 -0
  126. package/dist/events/EventNames.js.map +1 -0
  127. package/dist/events/PublicEvents.d.ts +102 -0
  128. package/dist/events/PublicEvents.d.ts.map +1 -0
  129. package/dist/events/PublicEvents.js +221 -0
  130. package/dist/events/PublicEvents.js.map +1 -0
  131. package/dist/events/ServerEventBus.d.ts +201 -0
  132. package/dist/events/ServerEventBus.d.ts.map +1 -0
  133. package/dist/events/ServerEventBus.js +412 -0
  134. package/dist/events/ServerEventBus.js.map +1 -0
  135. package/dist/events/event-definitions/AgentEvents.d.ts +270 -0
  136. package/dist/events/event-definitions/AgentEvents.d.ts.map +1 -0
  137. package/dist/events/event-definitions/AgentEvents.js +82 -0
  138. package/dist/events/event-definitions/AgentEvents.js.map +1 -0
  139. package/dist/events/event-definitions/AnalyticsEvents.d.ts +280 -0
  140. package/dist/events/event-definitions/AnalyticsEvents.d.ts.map +1 -0
  141. package/dist/events/event-definitions/AnalyticsEvents.js +52 -0
  142. package/dist/events/event-definitions/AnalyticsEvents.js.map +1 -0
  143. package/dist/events/event-definitions/BulkEvents.d.ts +445 -0
  144. package/dist/events/event-definitions/BulkEvents.d.ts.map +1 -0
  145. package/dist/events/event-definitions/BulkEvents.js +61 -0
  146. package/dist/events/event-definitions/BulkEvents.js.map +1 -0
  147. package/dist/events/event-definitions/ChannelEvents.d.ts +197 -0
  148. package/dist/events/event-definitions/ChannelEvents.d.ts.map +1 -0
  149. package/dist/events/event-definitions/ChannelEvents.js +82 -0
  150. package/dist/events/event-definitions/ChannelEvents.js.map +1 -0
  151. package/dist/events/event-definitions/CodeExecutionEvents.d.ts +263 -0
  152. package/dist/events/event-definitions/CodeExecutionEvents.d.ts.map +1 -0
  153. package/dist/events/event-definitions/CodeExecutionEvents.js +41 -0
  154. package/dist/events/event-definitions/CodeExecutionEvents.js.map +1 -0
  155. package/dist/events/event-definitions/CompactionEvents.d.ts +166 -0
  156. package/dist/events/event-definitions/CompactionEvents.d.ts.map +1 -0
  157. package/dist/events/event-definitions/CompactionEvents.js +35 -0
  158. package/dist/events/event-definitions/CompactionEvents.js.map +1 -0
  159. package/dist/events/event-definitions/ConfigEvents.d.ts +319 -0
  160. package/dist/events/event-definitions/ConfigEvents.d.ts.map +1 -0
  161. package/dist/events/event-definitions/ConfigEvents.js +45 -0
  162. package/dist/events/event-definitions/ConfigEvents.js.map +1 -0
  163. package/dist/events/event-definitions/ControlLoopEvents.d.ts +113 -0
  164. package/dist/events/event-definitions/ControlLoopEvents.d.ts.map +1 -0
  165. package/dist/events/event-definitions/ControlLoopEvents.js +40 -0
  166. package/dist/events/event-definitions/ControlLoopEvents.js.map +1 -0
  167. package/dist/events/event-definitions/DagEvents.d.ts +216 -0
  168. package/dist/events/event-definitions/DagEvents.d.ts.map +1 -0
  169. package/dist/events/event-definitions/DagEvents.js +46 -0
  170. package/dist/events/event-definitions/DagEvents.js.map +1 -0
  171. package/dist/events/event-definitions/HeartbeatEvents.d.ts +45 -0
  172. package/dist/events/event-definitions/HeartbeatEvents.d.ts.map +1 -0
  173. package/dist/events/event-definitions/HeartbeatEvents.js +28 -0
  174. package/dist/events/event-definitions/HeartbeatEvents.js.map +1 -0
  175. package/dist/events/event-definitions/InferenceParameterEvents.d.ts +99 -0
  176. package/dist/events/event-definitions/InferenceParameterEvents.d.ts.map +1 -0
  177. package/dist/events/event-definitions/InferenceParameterEvents.js +38 -0
  178. package/dist/events/event-definitions/InferenceParameterEvents.js.map +1 -0
  179. package/dist/events/event-definitions/KeyEvents.d.ts +141 -0
  180. package/dist/events/event-definitions/KeyEvents.d.ts.map +1 -0
  181. package/dist/events/event-definitions/KeyEvents.js +49 -0
  182. package/dist/events/event-definitions/KeyEvents.js.map +1 -0
  183. package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts +257 -0
  184. package/dist/events/event-definitions/KnowledgeGraphEvents.d.ts.map +1 -0
  185. package/dist/events/event-definitions/KnowledgeGraphEvents.js +49 -0
  186. package/dist/events/event-definitions/KnowledgeGraphEvents.js.map +1 -0
  187. package/dist/events/event-definitions/LlmEvents.d.ts +50 -0
  188. package/dist/events/event-definitions/LlmEvents.d.ts.map +1 -0
  189. package/dist/events/event-definitions/LlmEvents.js +29 -0
  190. package/dist/events/event-definitions/LlmEvents.js.map +1 -0
  191. package/dist/events/event-definitions/McpEvents.d.ts +385 -0
  192. package/dist/events/event-definitions/McpEvents.d.ts.map +1 -0
  193. package/dist/events/event-definitions/McpEvents.js +86 -0
  194. package/dist/events/event-definitions/McpEvents.js.map +1 -0
  195. package/dist/events/event-definitions/MeilisearchEvents.d.ts +49 -0
  196. package/dist/events/event-definitions/MeilisearchEvents.d.ts.map +1 -0
  197. package/dist/events/event-definitions/MeilisearchEvents.js +34 -0
  198. package/dist/events/event-definitions/MeilisearchEvents.js.map +1 -0
  199. package/dist/events/event-definitions/MemoryEvents.d.ts +328 -0
  200. package/dist/events/event-definitions/MemoryEvents.d.ts.map +1 -0
  201. package/dist/events/event-definitions/MemoryEvents.js +69 -0
  202. package/dist/events/event-definitions/MemoryEvents.js.map +1 -0
  203. package/dist/events/event-definitions/MemoryUtilityEvents.d.ts +233 -0
  204. package/dist/events/event-definitions/MemoryUtilityEvents.d.ts.map +1 -0
  205. package/dist/events/event-definitions/MemoryUtilityEvents.js +37 -0
  206. package/dist/events/event-definitions/MemoryUtilityEvents.js.map +1 -0
  207. package/dist/events/event-definitions/MessageEvents.d.ts +86 -0
  208. package/dist/events/event-definitions/MessageEvents.d.ts.map +1 -0
  209. package/dist/events/event-definitions/MessageEvents.js +42 -0
  210. package/dist/events/event-definitions/MessageEvents.js.map +1 -0
  211. package/dist/events/event-definitions/MxpEvents.d.ts +113 -0
  212. package/dist/events/event-definitions/MxpEvents.d.ts.map +1 -0
  213. package/dist/events/event-definitions/MxpEvents.js +46 -0
  214. package/dist/events/event-definitions/MxpEvents.js.map +1 -0
  215. package/dist/events/event-definitions/OrparEvents.d.ts +222 -0
  216. package/dist/events/event-definitions/OrparEvents.d.ts.map +1 -0
  217. package/dist/events/event-definitions/OrparEvents.js +58 -0
  218. package/dist/events/event-definitions/OrparEvents.js.map +1 -0
  219. package/dist/events/event-definitions/OrparMemoryEvents.d.ts +357 -0
  220. package/dist/events/event-definitions/OrparMemoryEvents.d.ts.map +1 -0
  221. package/dist/events/event-definitions/OrparMemoryEvents.js +79 -0
  222. package/dist/events/event-definitions/OrparMemoryEvents.js.map +1 -0
  223. package/dist/events/event-definitions/PlanEvents.d.ts +109 -0
  224. package/dist/events/event-definitions/PlanEvents.d.ts.map +1 -0
  225. package/dist/events/event-definitions/PlanEvents.js +41 -0
  226. package/dist/events/event-definitions/PlanEvents.js.map +1 -0
  227. package/dist/events/event-definitions/ProgressEvents.d.ts +44 -0
  228. package/dist/events/event-definitions/ProgressEvents.d.ts.map +1 -0
  229. package/dist/events/event-definitions/ProgressEvents.js +30 -0
  230. package/dist/events/event-definitions/ProgressEvents.js.map +1 -0
  231. package/dist/events/event-definitions/ShellExecutionEvents.d.ts +280 -0
  232. package/dist/events/event-definitions/ShellExecutionEvents.d.ts.map +1 -0
  233. package/dist/events/event-definitions/ShellExecutionEvents.js +41 -0
  234. package/dist/events/event-definitions/ShellExecutionEvents.js.map +1 -0
  235. package/dist/events/event-definitions/SystemEvents.d.ts +234 -0
  236. package/dist/events/event-definitions/SystemEvents.d.ts.map +1 -0
  237. package/dist/events/event-definitions/SystemEvents.js +42 -0
  238. package/dist/events/event-definitions/SystemEvents.js.map +1 -0
  239. package/dist/events/event-definitions/TaskEvents.d.ts +239 -0
  240. package/dist/events/event-definitions/TaskEvents.d.ts.map +1 -0
  241. package/dist/events/event-definitions/TaskEvents.js +58 -0
  242. package/dist/events/event-definitions/TaskEvents.js.map +1 -0
  243. package/dist/events/event-definitions/TensorFlowEvents.d.ts +144 -0
  244. package/dist/events/event-definitions/TensorFlowEvents.d.ts.map +1 -0
  245. package/dist/events/event-definitions/TensorFlowEvents.js +45 -0
  246. package/dist/events/event-definitions/TensorFlowEvents.js.map +1 -0
  247. package/dist/events/event-definitions/UserInputEvents.d.ts +180 -0
  248. package/dist/events/event-definitions/UserInputEvents.d.ts.map +1 -0
  249. package/dist/events/event-definitions/UserInputEvents.js +36 -0
  250. package/dist/events/event-definitions/UserInputEvents.js.map +1 -0
  251. package/dist/events/event-definitions/WorkflowEvents.d.ts +142 -0
  252. package/dist/events/event-definitions/WorkflowEvents.d.ts.map +1 -0
  253. package/dist/events/event-definitions/WorkflowEvents.js +50 -0
  254. package/dist/events/event-definitions/WorkflowEvents.js.map +1 -0
  255. package/dist/index.d.ts +14 -0
  256. package/dist/index.d.ts.map +1 -0
  257. package/dist/index.js +12 -0
  258. package/dist/index.js.map +1 -0
  259. package/dist/interfaces/AgentContext.d.ts +154 -0
  260. package/dist/interfaces/AgentContext.d.ts.map +1 -0
  261. package/dist/interfaces/AgentContext.js +38 -0
  262. package/dist/interfaces/AgentContext.js.map +1 -0
  263. package/dist/interfaces/AgentInterfaces.d.ts +96 -0
  264. package/dist/interfaces/AgentInterfaces.d.ts.map +1 -0
  265. package/dist/interfaces/AgentInterfaces.js +21 -0
  266. package/dist/interfaces/AgentInterfaces.js.map +1 -0
  267. package/dist/interfaces/Channel.d.ts +34 -0
  268. package/dist/interfaces/Channel.d.ts.map +1 -0
  269. package/dist/interfaces/Channel.js +21 -0
  270. package/dist/interfaces/Channel.js.map +1 -0
  271. package/dist/interfaces/ChannelConfig.d.ts +50 -0
  272. package/dist/interfaces/ChannelConfig.d.ts.map +1 -0
  273. package/dist/interfaces/ChannelConfig.js +21 -0
  274. package/dist/interfaces/ChannelConfig.js.map +1 -0
  275. package/dist/interfaces/ChannelConnectionConfig.d.ts +36 -0
  276. package/dist/interfaces/ChannelConnectionConfig.d.ts.map +1 -0
  277. package/dist/interfaces/ChannelConnectionConfig.js +21 -0
  278. package/dist/interfaces/ChannelConnectionConfig.js.map +1 -0
  279. package/dist/interfaces/ChannelInfo.d.ts +32 -0
  280. package/dist/interfaces/ChannelInfo.d.ts.map +1 -0
  281. package/dist/interfaces/ChannelInfo.js +21 -0
  282. package/dist/interfaces/ChannelInfo.js.map +1 -0
  283. package/dist/interfaces/ConversationMessage.d.ts +74 -0
  284. package/dist/interfaces/ConversationMessage.d.ts.map +1 -0
  285. package/dist/interfaces/ConversationMessage.js +21 -0
  286. package/dist/interfaces/ConversationMessage.js.map +1 -0
  287. package/dist/interfaces/ILlmTopicExtractor.d.ts +65 -0
  288. package/dist/interfaces/ILlmTopicExtractor.d.ts.map +1 -0
  289. package/dist/interfaces/ILlmTopicExtractor.js +21 -0
  290. package/dist/interfaces/ILlmTopicExtractor.js.map +1 -0
  291. package/dist/interfaces/SocketServiceInterface.d.ts +93 -0
  292. package/dist/interfaces/SocketServiceInterface.d.ts.map +1 -0
  293. package/dist/interfaces/SocketServiceInterface.js +21 -0
  294. package/dist/interfaces/SocketServiceInterface.js.map +1 -0
  295. package/dist/interfaces/TaskInterfaces.d.ts +50 -0
  296. package/dist/interfaces/TaskInterfaces.d.ts.map +1 -0
  297. package/dist/interfaces/TaskInterfaces.js +21 -0
  298. package/dist/interfaces/TaskInterfaces.js.map +1 -0
  299. package/dist/middleware/MxpMiddleware.d.ts +84 -0
  300. package/dist/middleware/MxpMiddleware.d.ts.map +1 -0
  301. package/dist/middleware/MxpMiddleware.js +284 -0
  302. package/dist/middleware/MxpMiddleware.js.map +1 -0
  303. package/dist/models/PatternLearningModels.d.ts +163 -0
  304. package/dist/models/PatternLearningModels.d.ts.map +1 -0
  305. package/dist/models/PatternLearningModels.js +409 -0
  306. package/dist/models/PatternLearningModels.js.map +1 -0
  307. package/dist/models/agent.d.ts +59 -0
  308. package/dist/models/agent.d.ts.map +1 -0
  309. package/dist/models/agent.js +113 -0
  310. package/dist/models/agent.js.map +1 -0
  311. package/dist/models/auditLog.d.ts +46 -0
  312. package/dist/models/auditLog.d.ts.map +1 -0
  313. package/dist/models/auditLog.js +106 -0
  314. package/dist/models/auditLog.js.map +1 -0
  315. package/dist/models/channel.d.ts +91 -0
  316. package/dist/models/channel.d.ts.map +1 -0
  317. package/dist/models/channel.js +205 -0
  318. package/dist/models/channel.js.map +1 -0
  319. package/dist/models/channelKey.d.ts +57 -0
  320. package/dist/models/channelKey.d.ts.map +1 -0
  321. package/dist/models/channelKey.js +93 -0
  322. package/dist/models/channelKey.js.map +1 -0
  323. package/dist/models/codeExecution.d.ts +57 -0
  324. package/dist/models/codeExecution.d.ts.map +1 -0
  325. package/dist/models/codeExecution.js +197 -0
  326. package/dist/models/codeExecution.js.map +1 -0
  327. package/dist/models/controlLoop.d.ts +138 -0
  328. package/dist/models/controlLoop.d.ts.map +1 -0
  329. package/dist/models/controlLoop.js +38 -0
  330. package/dist/models/controlLoop.js.map +1 -0
  331. package/dist/models/coordination.d.ts +76 -0
  332. package/dist/models/coordination.d.ts.map +1 -0
  333. package/dist/models/coordination.js +130 -0
  334. package/dist/models/coordination.js.map +1 -0
  335. package/dist/models/document.d.ts +123 -0
  336. package/dist/models/document.d.ts.map +1 -0
  337. package/dist/models/document.js +191 -0
  338. package/dist/models/document.js.map +1 -0
  339. package/dist/models/entity.d.ts +60 -0
  340. package/dist/models/entity.d.ts.map +1 -0
  341. package/dist/models/entity.js +163 -0
  342. package/dist/models/entity.js.map +1 -0
  343. package/dist/models/mcpTool.d.ts +95 -0
  344. package/dist/models/mcpTool.d.ts.map +1 -0
  345. package/dist/models/mcpTool.js +175 -0
  346. package/dist/models/mcpTool.js.map +1 -0
  347. package/dist/models/mcpToolExecution.d.ts +77 -0
  348. package/dist/models/mcpToolExecution.d.ts.map +1 -0
  349. package/dist/models/mcpToolExecution.js +110 -0
  350. package/dist/models/mcpToolExecution.js.map +1 -0
  351. package/dist/models/memory.d.ts +47 -0
  352. package/dist/models/memory.d.ts.map +1 -0
  353. package/dist/models/memory.js +251 -0
  354. package/dist/models/memory.js.map +1 -0
  355. package/dist/models/memoryStrata.d.ts +130 -0
  356. package/dist/models/memoryStrata.d.ts.map +1 -0
  357. package/dist/models/memoryStrata.js +317 -0
  358. package/dist/models/memoryStrata.js.map +1 -0
  359. package/dist/models/personalAccessToken.d.ts +78 -0
  360. package/dist/models/personalAccessToken.d.ts.map +1 -0
  361. package/dist/models/personalAccessToken.js +155 -0
  362. package/dist/models/personalAccessToken.js.map +1 -0
  363. package/dist/models/plan.d.ts +53 -0
  364. package/dist/models/plan.d.ts.map +1 -0
  365. package/dist/models/plan.js +100 -0
  366. package/dist/models/plan.js.map +1 -0
  367. package/dist/models/relationship.d.ts +59 -0
  368. package/dist/models/relationship.d.ts.map +1 -0
  369. package/dist/models/relationship.js +132 -0
  370. package/dist/models/relationship.js.map +1 -0
  371. package/dist/models/shellOutput.d.ts +54 -0
  372. package/dist/models/shellOutput.d.ts.map +1 -0
  373. package/dist/models/shellOutput.js +76 -0
  374. package/dist/models/shellOutput.js.map +1 -0
  375. package/dist/models/task.d.ts +77 -0
  376. package/dist/models/task.d.ts.map +1 -0
  377. package/dist/models/task.js +297 -0
  378. package/dist/models/task.js.map +1 -0
  379. package/dist/models/taskEffectiveness.d.ts +45 -0
  380. package/dist/models/taskEffectiveness.d.ts.map +1 -0
  381. package/dist/models/taskEffectiveness.js +132 -0
  382. package/dist/models/taskEffectiveness.js.map +1 -0
  383. package/dist/models/tool.d.ts +57 -0
  384. package/dist/models/tool.d.ts.map +1 -0
  385. package/dist/models/tool.js +68 -0
  386. package/dist/models/tool.js.map +1 -0
  387. package/dist/models/toolExecution.d.ts +44 -0
  388. package/dist/models/toolExecution.d.ts.map +1 -0
  389. package/dist/models/toolExecution.js +46 -0
  390. package/dist/models/toolExecution.js.map +1 -0
  391. package/dist/models/toolModels.d.ts +130 -0
  392. package/dist/models/toolModels.d.ts.map +1 -0
  393. package/dist/models/toolModels.js +315 -0
  394. package/dist/models/toolModels.js.map +1 -0
  395. package/dist/models/user.d.ts +52 -0
  396. package/dist/models/user.d.ts.map +1 -0
  397. package/dist/models/user.js +118 -0
  398. package/dist/models/user.js.map +1 -0
  399. package/dist/models/userMemory.d.ts +57 -0
  400. package/dist/models/userMemory.d.ts.map +1 -0
  401. package/dist/models/userMemory.js +113 -0
  402. package/dist/models/userMemory.js.map +1 -0
  403. package/dist/mxp/BinaryProtocolLayer.d.ts +86 -0
  404. package/dist/mxp/BinaryProtocolLayer.d.ts.map +1 -0
  405. package/dist/mxp/BinaryProtocolLayer.js +313 -0
  406. package/dist/mxp/BinaryProtocolLayer.js.map +1 -0
  407. package/dist/mxp/ContextCompressionEngine.d.ts +134 -0
  408. package/dist/mxp/ContextCompressionEngine.d.ts.map +1 -0
  409. package/dist/mxp/ContextCompressionEngine.js +416 -0
  410. package/dist/mxp/ContextCompressionEngine.js.map +1 -0
  411. package/dist/mxp/MxpConfigManager.d.ts +109 -0
  412. package/dist/mxp/MxpConfigManager.d.ts.map +1 -0
  413. package/dist/mxp/MxpConfigManager.js +257 -0
  414. package/dist/mxp/MxpConfigManager.js.map +1 -0
  415. package/dist/mxp/MxpEventForwardingEnhancer.d.ts +134 -0
  416. package/dist/mxp/MxpEventForwardingEnhancer.d.ts.map +1 -0
  417. package/dist/mxp/MxpEventForwardingEnhancer.js +361 -0
  418. package/dist/mxp/MxpEventForwardingEnhancer.js.map +1 -0
  419. package/dist/mxp/MxpTokenOptimizer.d.ts +68 -0
  420. package/dist/mxp/MxpTokenOptimizer.d.ts.map +1 -0
  421. package/dist/mxp/MxpTokenOptimizer.js +198 -0
  422. package/dist/mxp/MxpTokenOptimizer.js.map +1 -0
  423. package/dist/prompts/ChannelContextProvider.d.ts +55 -0
  424. package/dist/prompts/ChannelContextProvider.d.ts.map +1 -0
  425. package/dist/prompts/ChannelContextProvider.js +159 -0
  426. package/dist/prompts/ChannelContextProvider.js.map +1 -0
  427. package/dist/prompts/DeferredToolSchemaRegistry.d.ts +84 -0
  428. package/dist/prompts/DeferredToolSchemaRegistry.d.ts.map +1 -0
  429. package/dist/prompts/DeferredToolSchemaRegistry.js +186 -0
  430. package/dist/prompts/DeferredToolSchemaRegistry.js.map +1 -0
  431. package/dist/prompts/DynamicContextProvider.d.ts +94 -0
  432. package/dist/prompts/DynamicContextProvider.d.ts.map +1 -0
  433. package/dist/prompts/DynamicContextProvider.js +124 -0
  434. package/dist/prompts/DynamicContextProvider.js.map +1 -0
  435. package/dist/prompts/MemoryPromptInjector.d.ts +77 -0
  436. package/dist/prompts/MemoryPromptInjector.d.ts.map +1 -0
  437. package/dist/prompts/MemoryPromptInjector.js +248 -0
  438. package/dist/prompts/MemoryPromptInjector.js.map +1 -0
  439. package/dist/prompts/MxfAgentSystemPrompt.d.ts +121 -0
  440. package/dist/prompts/MxfAgentSystemPrompt.d.ts.map +1 -0
  441. package/dist/prompts/MxfAgentSystemPrompt.js +922 -0
  442. package/dist/prompts/MxfAgentSystemPrompt.js.map +1 -0
  443. package/dist/prompts/PromptSegmentRegistry.d.ts +103 -0
  444. package/dist/prompts/PromptSegmentRegistry.d.ts.map +1 -0
  445. package/dist/prompts/PromptSegmentRegistry.js +303 -0
  446. package/dist/prompts/PromptSegmentRegistry.js.map +1 -0
  447. package/dist/prompts/ToolBehavioralGuidance.d.ts +68 -0
  448. package/dist/prompts/ToolBehavioralGuidance.d.ts.map +1 -0
  449. package/dist/prompts/ToolBehavioralGuidance.js +171 -0
  450. package/dist/prompts/ToolBehavioralGuidance.js.map +1 -0
  451. package/dist/protocols/binaryProtocol.d.ts +109 -0
  452. package/dist/protocols/binaryProtocol.d.ts.map +1 -0
  453. package/dist/protocols/binaryProtocol.js +329 -0
  454. package/dist/protocols/binaryProtocol.js.map +1 -0
  455. package/dist/protocols/mcp/ClientExecutableManifest.d.ts +68 -0
  456. package/dist/protocols/mcp/ClientExecutableManifest.d.ts.map +1 -0
  457. package/dist/protocols/mcp/ClientExecutableManifest.js +81 -0
  458. package/dist/protocols/mcp/ClientExecutableManifest.js.map +1 -0
  459. package/dist/protocols/mcp/IMcpClient.d.ts +285 -0
  460. package/dist/protocols/mcp/IMcpClient.d.ts.map +1 -0
  461. package/dist/protocols/mcp/IMcpClient.js +40 -0
  462. package/dist/protocols/mcp/IMcpClient.js.map +1 -0
  463. package/dist/protocols/mcp/LlmProviderFactory.d.ts +40 -0
  464. package/dist/protocols/mcp/LlmProviderFactory.d.ts.map +1 -0
  465. package/dist/protocols/mcp/LlmProviderFactory.js +78 -0
  466. package/dist/protocols/mcp/LlmProviderFactory.js.map +1 -0
  467. package/dist/protocols/mcp/LlmProviders.d.ts +42 -0
  468. package/dist/protocols/mcp/LlmProviders.d.ts.map +1 -0
  469. package/dist/protocols/mcp/LlmProviders.js +45 -0
  470. package/dist/protocols/mcp/LlmProviders.js.map +1 -0
  471. package/dist/protocols/mcp/McpClient.d.ts +106 -0
  472. package/dist/protocols/mcp/McpClient.d.ts.map +1 -0
  473. package/dist/protocols/mcp/McpClient.js +159 -0
  474. package/dist/protocols/mcp/McpClient.js.map +1 -0
  475. package/dist/protocols/mcp/McpClientFactory.d.ts +41 -0
  476. package/dist/protocols/mcp/McpClientFactory.d.ts.map +1 -0
  477. package/dist/protocols/mcp/McpClientFactory.js +51 -0
  478. package/dist/protocols/mcp/McpClientFactory.js.map +1 -0
  479. package/dist/protocols/mcp/McpServerTypes.d.ts +195 -0
  480. package/dist/protocols/mcp/McpServerTypes.d.ts.map +1 -0
  481. package/dist/protocols/mcp/McpServerTypes.js +21 -0
  482. package/dist/protocols/mcp/McpServerTypes.js.map +1 -0
  483. package/dist/protocols/mcp/McpToolCallParser.d.ts +68 -0
  484. package/dist/protocols/mcp/McpToolCallParser.d.ts.map +1 -0
  485. package/dist/protocols/mcp/McpToolCallParser.js +240 -0
  486. package/dist/protocols/mcp/McpToolCallParser.js.map +1 -0
  487. package/dist/protocols/mcp/McpToolSchema.d.ts +160 -0
  488. package/dist/protocols/mcp/McpToolSchema.d.ts.map +1 -0
  489. package/dist/protocols/mcp/McpToolSchema.js +512 -0
  490. package/dist/protocols/mcp/McpToolSchema.js.map +1 -0
  491. package/dist/protocols/mcp/converters/IFormatConverter.d.ts +309 -0
  492. package/dist/protocols/mcp/converters/IFormatConverter.d.ts.map +1 -0
  493. package/dist/protocols/mcp/converters/IFormatConverter.js +76 -0
  494. package/dist/protocols/mcp/converters/IFormatConverter.js.map +1 -0
  495. package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts +80 -0
  496. package/dist/protocols/mcp/converters/UnifiedMessageConverter.d.ts.map +1 -0
  497. package/dist/protocols/mcp/converters/UnifiedMessageConverter.js +234 -0
  498. package/dist/protocols/mcp/converters/UnifiedMessageConverter.js.map +1 -0
  499. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts +101 -0
  500. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.d.ts.map +1 -0
  501. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js +434 -0
  502. package/dist/protocols/mcp/converters/adapters/AnthropicMessageAdapter.js.map +1 -0
  503. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts +34 -0
  504. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.d.ts.map +1 -0
  505. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js +49 -0
  506. package/dist/protocols/mcp/converters/adapters/GeminiMessageAdapter.js.map +1 -0
  507. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts +39 -0
  508. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.d.ts.map +1 -0
  509. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js +43 -0
  510. package/dist/protocols/mcp/converters/adapters/OpenAiMessageAdapter.js.map +1 -0
  511. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts +96 -0
  512. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.d.ts.map +1 -0
  513. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js +334 -0
  514. package/dist/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.js.map +1 -0
  515. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts +30 -0
  516. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.d.ts.map +1 -0
  517. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js +34 -0
  518. package/dist/protocols/mcp/converters/adapters/XaiMessageAdapter.js.map +1 -0
  519. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts +115 -0
  520. package/dist/protocols/mcp/providers/AnthropicMcpClient.d.ts.map +1 -0
  521. package/dist/protocols/mcp/providers/AnthropicMcpClient.js +514 -0
  522. package/dist/protocols/mcp/providers/AnthropicMcpClient.js.map +1 -0
  523. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts +151 -0
  524. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.d.ts.map +1 -0
  525. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js +657 -0
  526. package/dist/protocols/mcp/providers/AzureOpenAiMcpClient.js.map +1 -0
  527. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts +152 -0
  528. package/dist/protocols/mcp/providers/BaseMcpClient.d.ts.map +1 -0
  529. package/dist/protocols/mcp/providers/BaseMcpClient.js +219 -0
  530. package/dist/protocols/mcp/providers/BaseMcpClient.js.map +1 -0
  531. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts +106 -0
  532. package/dist/protocols/mcp/providers/CustomMcpClient.d.ts.map +1 -0
  533. package/dist/protocols/mcp/providers/CustomMcpClient.js +282 -0
  534. package/dist/protocols/mcp/providers/CustomMcpClient.js.map +1 -0
  535. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts +121 -0
  536. package/dist/protocols/mcp/providers/GeminiMcpClient.d.ts.map +1 -0
  537. package/dist/protocols/mcp/providers/GeminiMcpClient.js +581 -0
  538. package/dist/protocols/mcp/providers/GeminiMcpClient.js.map +1 -0
  539. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts +97 -0
  540. package/dist/protocols/mcp/providers/OllamaMcpClient.d.ts.map +1 -0
  541. package/dist/protocols/mcp/providers/OllamaMcpClient.js +418 -0
  542. package/dist/protocols/mcp/providers/OllamaMcpClient.js.map +1 -0
  543. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts +133 -0
  544. package/dist/protocols/mcp/providers/OpenAiMcpClient.d.ts.map +1 -0
  545. package/dist/protocols/mcp/providers/OpenAiMcpClient.js +672 -0
  546. package/dist/protocols/mcp/providers/OpenAiMcpClient.js.map +1 -0
  547. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts +164 -0
  548. package/dist/protocols/mcp/providers/OpenRouterMcpClient.d.ts.map +1 -0
  549. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js +902 -0
  550. package/dist/protocols/mcp/providers/OpenRouterMcpClient.js.map +1 -0
  551. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts +96 -0
  552. package/dist/protocols/mcp/providers/XaiMcpClient.d.ts.map +1 -0
  553. package/dist/protocols/mcp/providers/XaiMcpClient.js +474 -0
  554. package/dist/protocols/mcp/providers/XaiMcpClient.js.map +1 -0
  555. package/dist/protocols/mcp/security/McpConfirmationManager.d.ts +113 -0
  556. package/dist/protocols/mcp/security/McpConfirmationManager.d.ts.map +1 -0
  557. package/dist/protocols/mcp/security/McpConfirmationManager.js +238 -0
  558. package/dist/protocols/mcp/security/McpConfirmationManager.js.map +1 -0
  559. package/dist/protocols/mcp/security/McpSecurityConfig.d.ts +119 -0
  560. package/dist/protocols/mcp/security/McpSecurityConfig.d.ts.map +1 -0
  561. package/dist/protocols/mcp/security/McpSecurityConfig.js +306 -0
  562. package/dist/protocols/mcp/security/McpSecurityConfig.js.map +1 -0
  563. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts +91 -0
  564. package/dist/protocols/mcp/security/McpSecurityGuard.d.ts.map +1 -0
  565. package/dist/protocols/mcp/security/McpSecurityGuard.js +458 -0
  566. package/dist/protocols/mcp/security/McpSecurityGuard.js.map +1 -0
  567. package/dist/protocols/mcp/security/index.d.ts +28 -0
  568. package/dist/protocols/mcp/security/index.d.ts.map +1 -0
  569. package/dist/protocols/mcp/security/index.js +28 -0
  570. package/dist/protocols/mcp/security/index.js.map +1 -0
  571. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts +232 -0
  572. package/dist/protocols/mcp/services/ExternalMcpServerManager.d.ts.map +1 -0
  573. package/dist/protocols/mcp/services/ExternalMcpServerManager.js +1174 -0
  574. package/dist/protocols/mcp/services/ExternalMcpServerManager.js.map +1 -0
  575. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts +109 -0
  576. package/dist/protocols/mcp/services/ExternalServerConfigs.d.ts.map +1 -0
  577. package/dist/protocols/mcp/services/ExternalServerConfigs.js +321 -0
  578. package/dist/protocols/mcp/services/ExternalServerConfigs.js.map +1 -0
  579. package/dist/protocols/mcp/services/IToolEventEmitter.d.ts +50 -0
  580. package/dist/protocols/mcp/services/IToolEventEmitter.d.ts.map +1 -0
  581. package/dist/protocols/mcp/services/IToolEventEmitter.js +21 -0
  582. package/dist/protocols/mcp/services/IToolEventEmitter.js.map +1 -0
  583. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts +56 -0
  584. package/dist/protocols/mcp/services/ToolSchemaEnhancements.d.ts.map +1 -0
  585. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js +57 -0
  586. package/dist/protocols/mcp/services/ToolSchemaEnhancements.js.map +1 -0
  587. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts +68 -0
  588. package/dist/protocols/mcp/tools/AnalyticsTools.d.ts.map +1 -0
  589. package/dist/protocols/mcp/tools/AnalyticsTools.js +725 -0
  590. package/dist/protocols/mcp/tools/AnalyticsTools.js.map +1 -0
  591. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts +614 -0
  592. package/dist/protocols/mcp/tools/CodeAnalysisTools.d.ts.map +1 -0
  593. package/dist/protocols/mcp/tools/CodeAnalysisTools.js +645 -0
  594. package/dist/protocols/mcp/tools/CodeAnalysisTools.js.map +1 -0
  595. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts +270 -0
  596. package/dist/protocols/mcp/tools/ControlLoopLifecycle.d.ts.map +1 -0
  597. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js +256 -0
  598. package/dist/protocols/mcp/tools/ControlLoopLifecycle.js.map +1 -0
  599. package/dist/protocols/mcp/tools/DateTimeTools.d.ts +431 -0
  600. package/dist/protocols/mcp/tools/DateTimeTools.d.ts.map +1 -0
  601. package/dist/protocols/mcp/tools/DateTimeTools.js +525 -0
  602. package/dist/protocols/mcp/tools/DateTimeTools.js.map +1 -0
  603. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts +51 -0
  604. package/dist/protocols/mcp/tools/EffectivenessTools.d.ts.map +1 -0
  605. package/dist/protocols/mcp/tools/EffectivenessTools.js +403 -0
  606. package/dist/protocols/mcp/tools/EffectivenessTools.js.map +1 -0
  607. package/dist/protocols/mcp/tools/GitTools.d.ts +389 -0
  608. package/dist/protocols/mcp/tools/GitTools.d.ts.map +1 -0
  609. package/dist/protocols/mcp/tools/GitTools.js +657 -0
  610. package/dist/protocols/mcp/tools/GitTools.js.map +1 -0
  611. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts +826 -0
  612. package/dist/protocols/mcp/tools/InfrastructureTools.d.ts.map +1 -0
  613. package/dist/protocols/mcp/tools/InfrastructureTools.js +689 -0
  614. package/dist/protocols/mcp/tools/InfrastructureTools.js.map +1 -0
  615. package/dist/protocols/mcp/tools/JsonTools.d.ts +339 -0
  616. package/dist/protocols/mcp/tools/JsonTools.d.ts.map +1 -0
  617. package/dist/protocols/mcp/tools/JsonTools.js +304 -0
  618. package/dist/protocols/mcp/tools/JsonTools.js.map +1 -0
  619. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts +1295 -0
  620. package/dist/protocols/mcp/tools/KnowledgeGraphTools.d.ts.map +1 -0
  621. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js +929 -0
  622. package/dist/protocols/mcp/tools/KnowledgeGraphTools.js.map +1 -0
  623. package/dist/protocols/mcp/tools/LspTools.d.ts +495 -0
  624. package/dist/protocols/mcp/tools/LspTools.d.ts.map +1 -0
  625. package/dist/protocols/mcp/tools/LspTools.js +469 -0
  626. package/dist/protocols/mcp/tools/LspTools.js.map +1 -0
  627. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts +457 -0
  628. package/dist/protocols/mcp/tools/MemorySearchTools.d.ts.map +1 -0
  629. package/dist/protocols/mcp/tools/MemorySearchTools.js +476 -0
  630. package/dist/protocols/mcp/tools/MemorySearchTools.js.map +1 -0
  631. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts +47 -0
  632. package/dist/protocols/mcp/tools/MemoryUtilityTools.d.ts.map +1 -0
  633. package/dist/protocols/mcp/tools/MemoryUtilityTools.js +480 -0
  634. package/dist/protocols/mcp/tools/MemoryUtilityTools.js.map +1 -0
  635. package/dist/protocols/mcp/tools/OrparTools.d.ts +396 -0
  636. package/dist/protocols/mcp/tools/OrparTools.d.ts.map +1 -0
  637. package/dist/protocols/mcp/tools/OrparTools.js +963 -0
  638. package/dist/protocols/mcp/tools/OrparTools.js.map +1 -0
  639. package/dist/protocols/mcp/tools/PlanningTools.d.ts +63 -0
  640. package/dist/protocols/mcp/tools/PlanningTools.d.ts.map +1 -0
  641. package/dist/protocols/mcp/tools/PlanningTools.js +533 -0
  642. package/dist/protocols/mcp/tools/PlanningTools.js.map +1 -0
  643. package/dist/protocols/mcp/tools/PredictiveTools.d.ts +74 -0
  644. package/dist/protocols/mcp/tools/PredictiveTools.d.ts.map +1 -0
  645. package/dist/protocols/mcp/tools/PredictiveTools.js +316 -0
  646. package/dist/protocols/mcp/tools/PredictiveTools.js.map +1 -0
  647. package/dist/protocols/mcp/tools/ProgressTools.d.ts +41 -0
  648. package/dist/protocols/mcp/tools/ProgressTools.d.ts.map +1 -0
  649. package/dist/protocols/mcp/tools/ProgressTools.js +85 -0
  650. package/dist/protocols/mcp/tools/ProgressTools.js.map +1 -0
  651. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts +35 -0
  652. package/dist/protocols/mcp/tools/ProjectContextTools.d.ts.map +1 -0
  653. package/dist/protocols/mcp/tools/ProjectContextTools.js +311 -0
  654. package/dist/protocols/mcp/tools/ProjectContextTools.js.map +1 -0
  655. package/dist/protocols/mcp/tools/SafetyTools.d.ts +545 -0
  656. package/dist/protocols/mcp/tools/SafetyTools.d.ts.map +1 -0
  657. package/dist/protocols/mcp/tools/SafetyTools.js +959 -0
  658. package/dist/protocols/mcp/tools/SafetyTools.js.map +1 -0
  659. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts +153 -0
  660. package/dist/protocols/mcp/tools/SearchProjectTools.d.ts.map +1 -0
  661. package/dist/protocols/mcp/tools/SearchProjectTools.js +233 -0
  662. package/dist/protocols/mcp/tools/SearchProjectTools.js.map +1 -0
  663. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts +49 -0
  664. package/dist/protocols/mcp/tools/TaskPlanningTools.d.ts.map +1 -0
  665. package/dist/protocols/mcp/tools/TaskPlanningTools.js +570 -0
  666. package/dist/protocols/mcp/tools/TaskPlanningTools.js.map +1 -0
  667. package/dist/protocols/mcp/tools/TestTools.d.ts +396 -0
  668. package/dist/protocols/mcp/tools/TestTools.d.ts.map +1 -0
  669. package/dist/protocols/mcp/tools/TestTools.js +498 -0
  670. package/dist/protocols/mcp/tools/TestTools.js.map +1 -0
  671. package/dist/protocols/mcp/tools/ToolHelpTools.d.ts +164 -0
  672. package/dist/protocols/mcp/tools/ToolHelpTools.d.ts.map +1 -0
  673. package/dist/protocols/mcp/tools/ToolHelpTools.js +269 -0
  674. package/dist/protocols/mcp/tools/ToolHelpTools.js.map +1 -0
  675. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts +296 -0
  676. package/dist/protocols/mcp/tools/TypeScriptTools.d.ts.map +1 -0
  677. package/dist/protocols/mcp/tools/TypeScriptTools.js +446 -0
  678. package/dist/protocols/mcp/tools/TypeScriptTools.js.map +1 -0
  679. package/dist/protocols/mcp/tools/UserInputTools.d.ts +306 -0
  680. package/dist/protocols/mcp/tools/UserInputTools.d.ts.map +1 -0
  681. package/dist/protocols/mcp/tools/UserInputTools.js +354 -0
  682. package/dist/protocols/mcp/tools/UserInputTools.js.map +1 -0
  683. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts +59 -0
  684. package/dist/protocols/mcp/tools/UserMemoryTools.d.ts.map +1 -0
  685. package/dist/protocols/mcp/tools/UserMemoryTools.js +339 -0
  686. package/dist/protocols/mcp/tools/UserMemoryTools.js.map +1 -0
  687. package/dist/protocols/mcp/tools/WebTools.d.ts +758 -0
  688. package/dist/protocols/mcp/tools/WebTools.d.ts.map +1 -0
  689. package/dist/protocols/mcp/tools/WebTools.js +494 -0
  690. package/dist/protocols/mcp/tools/WebTools.js.map +1 -0
  691. package/dist/protocols/mcp/tools/WolframTools.d.ts +175 -0
  692. package/dist/protocols/mcp/tools/WolframTools.d.ts.map +1 -0
  693. package/dist/protocols/mcp/tools/WolframTools.js +200 -0
  694. package/dist/protocols/mcp/tools/WolframTools.js.map +1 -0
  695. package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts +54 -0
  696. package/dist/protocols/mcp/tools/shell/CommandClassification.d.ts.map +1 -0
  697. package/dist/protocols/mcp/tools/shell/CommandClassification.js +487 -0
  698. package/dist/protocols/mcp/tools/shell/CommandClassification.js.map +1 -0
  699. package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts +64 -0
  700. package/dist/protocols/mcp/tools/shell/CommandSemantics.d.ts.map +1 -0
  701. package/dist/protocols/mcp/tools/shell/CommandSemantics.js +300 -0
  702. package/dist/protocols/mcp/tools/shell/CommandSemantics.js.map +1 -0
  703. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts +47 -0
  704. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.d.ts.map +1 -0
  705. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js +177 -0
  706. package/dist/protocols/mcp/tools/shell/DestructiveCommandWarnings.js.map +1 -0
  707. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts +70 -0
  708. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.d.ts.map +1 -0
  709. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js +123 -0
  710. package/dist/protocols/mcp/tools/shell/LargeOutputHandler.js.map +1 -0
  711. package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts +56 -0
  712. package/dist/protocols/mcp/tools/shell/ShellCommandParser.d.ts.map +1 -0
  713. package/dist/protocols/mcp/tools/shell/ShellCommandParser.js +521 -0
  714. package/dist/protocols/mcp/tools/shell/ShellCommandParser.js.map +1 -0
  715. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts +112 -0
  716. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.d.ts.map +1 -0
  717. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js +314 -0
  718. package/dist/protocols/mcp/tools/shell/ShellExecuteHandler.js.map +1 -0
  719. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts +90 -0
  720. package/dist/protocols/mcp/tools/shell/ShellSandbox.d.ts.map +1 -0
  721. package/dist/protocols/mcp/tools/shell/ShellSandbox.js +350 -0
  722. package/dist/protocols/mcp/tools/shell/ShellSandbox.js.map +1 -0
  723. package/dist/protocols/mcp/tools/shell/index.d.ts +46 -0
  724. package/dist/protocols/mcp/tools/shell/index.d.ts.map +1 -0
  725. package/dist/protocols/mcp/tools/shell/index.js +39 -0
  726. package/dist/protocols/mcp/tools/shell/index.js.map +1 -0
  727. package/dist/protocols/mcp/utils/JsonRecovery.d.ts +67 -0
  728. package/dist/protocols/mcp/utils/JsonRecovery.d.ts.map +1 -0
  729. package/dist/protocols/mcp/utils/JsonRecovery.js +230 -0
  730. package/dist/protocols/mcp/utils/JsonRecovery.js.map +1 -0
  731. package/dist/protocols/mcp/utils/MessageConverters.d.ts +99 -0
  732. package/dist/protocols/mcp/utils/MessageConverters.d.ts.map +1 -0
  733. package/dist/protocols/mcp/utils/MessageConverters.js +193 -0
  734. package/dist/protocols/mcp/utils/MessageConverters.js.map +1 -0
  735. package/dist/protocols/mcp/utils/NetworkRecovery.d.ts +76 -0
  736. package/dist/protocols/mcp/utils/NetworkRecovery.d.ts.map +1 -0
  737. package/dist/protocols/mcp/utils/NetworkRecovery.js +227 -0
  738. package/dist/protocols/mcp/utils/NetworkRecovery.js.map +1 -0
  739. package/dist/protocols/mcp/utils/ToolHandlers.d.ts +95 -0
  740. package/dist/protocols/mcp/utils/ToolHandlers.d.ts.map +1 -0
  741. package/dist/protocols/mcp/utils/ToolHandlers.js +231 -0
  742. package/dist/protocols/mcp/utils/ToolHandlers.js.map +1 -0
  743. package/dist/repositories/interfaces/IAgentRepository.d.ts +112 -0
  744. package/dist/repositories/interfaces/IAgentRepository.d.ts.map +1 -0
  745. package/dist/repositories/interfaces/IAgentRepository.js +21 -0
  746. package/dist/repositories/interfaces/IAgentRepository.js.map +1 -0
  747. package/dist/repositories/interfaces/IBaseRepository.d.ts +64 -0
  748. package/dist/repositories/interfaces/IBaseRepository.d.ts.map +1 -0
  749. package/dist/repositories/interfaces/IBaseRepository.js +21 -0
  750. package/dist/repositories/interfaces/IBaseRepository.js.map +1 -0
  751. package/dist/repositories/interfaces/IChannelRepository.d.ts +141 -0
  752. package/dist/repositories/interfaces/IChannelRepository.d.ts.map +1 -0
  753. package/dist/repositories/interfaces/IChannelRepository.js +21 -0
  754. package/dist/repositories/interfaces/IChannelRepository.js.map +1 -0
  755. package/dist/repositories/interfaces/IDagRepository.d.ts +153 -0
  756. package/dist/repositories/interfaces/IDagRepository.d.ts.map +1 -0
  757. package/dist/repositories/interfaces/IDagRepository.js +21 -0
  758. package/dist/repositories/interfaces/IDagRepository.js.map +1 -0
  759. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts +307 -0
  760. package/dist/repositories/interfaces/IKnowledgeGraphRepository.d.ts.map +1 -0
  761. package/dist/repositories/interfaces/IKnowledgeGraphRepository.js +21 -0
  762. package/dist/repositories/interfaces/IKnowledgeGraphRepository.js.map +1 -0
  763. package/dist/repositories/interfaces/IMemoryRepository.d.ts +156 -0
  764. package/dist/repositories/interfaces/IMemoryRepository.d.ts.map +1 -0
  765. package/dist/repositories/interfaces/IMemoryRepository.js +42 -0
  766. package/dist/repositories/interfaces/IMemoryRepository.js.map +1 -0
  767. package/dist/repositories/interfaces/ITaskRepository.d.ts +183 -0
  768. package/dist/repositories/interfaces/ITaskRepository.d.ts.map +1 -0
  769. package/dist/repositories/interfaces/ITaskRepository.js +21 -0
  770. package/dist/repositories/interfaces/ITaskRepository.js.map +1 -0
  771. package/dist/repositories/interfaces/index.d.ts +27 -0
  772. package/dist/repositories/interfaces/index.d.ts.map +1 -0
  773. package/dist/repositories/interfaces/index.js +27 -0
  774. package/dist/repositories/interfaces/index.js.map +1 -0
  775. package/dist/repositories/types/FilterTypes.d.ts +69 -0
  776. package/dist/repositories/types/FilterTypes.d.ts.map +1 -0
  777. package/dist/repositories/types/FilterTypes.js +21 -0
  778. package/dist/repositories/types/FilterTypes.js.map +1 -0
  779. package/dist/repositories/types/PaginationTypes.d.ts +55 -0
  780. package/dist/repositories/types/PaginationTypes.d.ts.map +1 -0
  781. package/dist/repositories/types/PaginationTypes.js +21 -0
  782. package/dist/repositories/types/PaginationTypes.js.map +1 -0
  783. package/dist/schemas/CodeExecutionEventPayloads.d.ts +108 -0
  784. package/dist/schemas/CodeExecutionEventPayloads.d.ts.map +1 -0
  785. package/dist/schemas/CodeExecutionEventPayloads.js +164 -0
  786. package/dist/schemas/CodeExecutionEventPayloads.js.map +1 -0
  787. package/dist/schemas/EventPayloadSchema.d.ts +2467 -0
  788. package/dist/schemas/EventPayloadSchema.d.ts.map +1 -0
  789. package/dist/schemas/EventPayloadSchema.js +2049 -0
  790. package/dist/schemas/EventPayloadSchema.js.map +1 -0
  791. package/dist/schemas/JsonResponseSchemas.d.ts +352 -0
  792. package/dist/schemas/JsonResponseSchemas.d.ts.map +1 -0
  793. package/dist/schemas/JsonResponseSchemas.js +256 -0
  794. package/dist/schemas/JsonResponseSchemas.js.map +1 -0
  795. package/dist/schemas/MessageSchemas.d.ts +180 -0
  796. package/dist/schemas/MessageSchemas.d.ts.map +1 -0
  797. package/dist/schemas/MessageSchemas.js +282 -0
  798. package/dist/schemas/MessageSchemas.js.map +1 -0
  799. package/dist/schemas/MxpProtocolSchemas.d.ts +340 -0
  800. package/dist/schemas/MxpProtocolSchemas.d.ts.map +1 -0
  801. package/dist/schemas/MxpProtocolSchemas.js +282 -0
  802. package/dist/schemas/MxpProtocolSchemas.js.map +1 -0
  803. package/dist/schemas/ShellExecutionEventPayloads.d.ts +117 -0
  804. package/dist/schemas/ShellExecutionEventPayloads.d.ts.map +1 -0
  805. package/dist/schemas/ShellExecutionEventPayloads.js +165 -0
  806. package/dist/schemas/ShellExecutionEventPayloads.js.map +1 -0
  807. package/dist/services/AgentPerformanceService.d.ts +73 -0
  808. package/dist/services/AgentPerformanceService.d.ts.map +1 -0
  809. package/dist/services/AgentPerformanceService.js +499 -0
  810. package/dist/services/AgentPerformanceService.js.map +1 -0
  811. package/dist/services/AutoCorrectionIntegrationService.d.ts +243 -0
  812. package/dist/services/AutoCorrectionIntegrationService.d.ts.map +1 -0
  813. package/dist/services/AutoCorrectionIntegrationService.js +594 -0
  814. package/dist/services/AutoCorrectionIntegrationService.js.map +1 -0
  815. package/dist/services/AutoCorrectionService.d.ts +178 -0
  816. package/dist/services/AutoCorrectionService.d.ts.map +1 -0
  817. package/dist/services/AutoCorrectionService.js +822 -0
  818. package/dist/services/AutoCorrectionService.js.map +1 -0
  819. package/dist/services/AutoMemoryCreator.d.ts +133 -0
  820. package/dist/services/AutoMemoryCreator.d.ts.map +1 -0
  821. package/dist/services/AutoMemoryCreator.js +453 -0
  822. package/dist/services/AutoMemoryCreator.js.map +1 -0
  823. package/dist/services/BackgroundTaskManager.d.ts +174 -0
  824. package/dist/services/BackgroundTaskManager.d.ts.map +1 -0
  825. package/dist/services/BackgroundTaskManager.js +443 -0
  826. package/dist/services/BackgroundTaskManager.js.map +1 -0
  827. package/dist/services/BrowserManager.d.ts +53 -0
  828. package/dist/services/BrowserManager.d.ts.map +1 -0
  829. package/dist/services/BrowserManager.js +203 -0
  830. package/dist/services/BrowserManager.js.map +1 -0
  831. package/dist/services/ChannelContextMemoryOperations.d.ts +63 -0
  832. package/dist/services/ChannelContextMemoryOperations.d.ts.map +1 -0
  833. package/dist/services/ChannelContextMemoryOperations.js +284 -0
  834. package/dist/services/ChannelContextMemoryOperations.js.map +1 -0
  835. package/dist/services/ChannelContextMessageOperations.d.ts +66 -0
  836. package/dist/services/ChannelContextMessageOperations.d.ts.map +1 -0
  837. package/dist/services/ChannelContextMessageOperations.js +331 -0
  838. package/dist/services/ChannelContextMessageOperations.js.map +1 -0
  839. package/dist/services/CodeExecutionSandboxService.d.ts +129 -0
  840. package/dist/services/CodeExecutionSandboxService.d.ts.map +1 -0
  841. package/dist/services/CodeExecutionSandboxService.js +314 -0
  842. package/dist/services/CodeExecutionSandboxService.js.map +1 -0
  843. package/dist/services/ContainerExecutionManager.d.ts +161 -0
  844. package/dist/services/ContainerExecutionManager.d.ts.map +1 -0
  845. package/dist/services/ContainerExecutionManager.js +594 -0
  846. package/dist/services/ContainerExecutionManager.js.map +1 -0
  847. package/dist/services/ContainerPoolManager.d.ts +9 -0
  848. package/dist/services/ContainerPoolManager.d.ts.map +1 -0
  849. package/dist/services/ContainerPoolManager.js +8 -0
  850. package/dist/services/ContainerPoolManager.js.map +1 -0
  851. package/dist/services/ContentProcessor.d.ts +133 -0
  852. package/dist/services/ContentProcessor.d.ts.map +1 -0
  853. package/dist/services/ContentProcessor.js +428 -0
  854. package/dist/services/ContentProcessor.js.map +1 -0
  855. package/dist/services/McpToolDocumentationService.d.ts +54 -0
  856. package/dist/services/McpToolDocumentationService.d.ts.map +1 -0
  857. package/dist/services/McpToolDocumentationService.js +202 -0
  858. package/dist/services/McpToolDocumentationService.js.map +1 -0
  859. package/dist/services/MemoryCompressor.d.ts +92 -0
  860. package/dist/services/MemoryCompressor.d.ts.map +1 -0
  861. package/dist/services/MemoryCompressor.js +283 -0
  862. package/dist/services/MemoryCompressor.js.map +1 -0
  863. package/dist/services/MemoryService.d.ts +328 -0
  864. package/dist/services/MemoryService.d.ts.map +1 -0
  865. package/dist/services/MemoryService.js +1424 -0
  866. package/dist/services/MemoryService.js.map +1 -0
  867. package/dist/services/MxfMLService.d.ts +236 -0
  868. package/dist/services/MxfMLService.d.ts.map +1 -0
  869. package/dist/services/MxfMLService.js +930 -0
  870. package/dist/services/MxfMLService.js.map +1 -0
  871. package/dist/services/MxfMeilisearchService.d.ts +232 -0
  872. package/dist/services/MxfMeilisearchService.d.ts.map +1 -0
  873. package/dist/services/MxfMeilisearchService.js +477 -0
  874. package/dist/services/MxfMeilisearchService.js.map +1 -0
  875. package/dist/services/MxfMessageAggregator.d.ts +86 -0
  876. package/dist/services/MxfMessageAggregator.d.ts.map +1 -0
  877. package/dist/services/MxfMessageAggregator.js +259 -0
  878. package/dist/services/MxfMessageAggregator.js.map +1 -0
  879. package/dist/services/PatternLearningService.d.ts +101 -0
  880. package/dist/services/PatternLearningService.d.ts.map +1 -0
  881. package/dist/services/PatternLearningService.js +893 -0
  882. package/dist/services/PatternLearningService.js.map +1 -0
  883. package/dist/services/PerformanceOptimizationService.d.ts +273 -0
  884. package/dist/services/PerformanceOptimizationService.d.ts.map +1 -0
  885. package/dist/services/PerformanceOptimizationService.js +861 -0
  886. package/dist/services/PerformanceOptimizationService.js.map +1 -0
  887. package/dist/services/PredictiveAnalyticsService.d.ts +513 -0
  888. package/dist/services/PredictiveAnalyticsService.d.ts.map +1 -0
  889. package/dist/services/PredictiveAnalyticsService.js +1656 -0
  890. package/dist/services/PredictiveAnalyticsService.js.map +1 -0
  891. package/dist/services/ProactiveValidationService.d.ts +266 -0
  892. package/dist/services/ProactiveValidationService.d.ts.map +1 -0
  893. package/dist/services/ProactiveValidationService.js +1012 -0
  894. package/dist/services/ProactiveValidationService.js.map +1 -0
  895. package/dist/services/PromptArgumentInferenceService.d.ts +51 -0
  896. package/dist/services/PromptArgumentInferenceService.d.ts.map +1 -0
  897. package/dist/services/PromptArgumentInferenceService.js +148 -0
  898. package/dist/services/PromptArgumentInferenceService.js.map +1 -0
  899. package/dist/services/QValueManager.d.ts +164 -0
  900. package/dist/services/QValueManager.d.ts.map +1 -0
  901. package/dist/services/QValueManager.js +502 -0
  902. package/dist/services/QValueManager.js.map +1 -0
  903. package/dist/services/ReasoningToolParser.d.ts +106 -0
  904. package/dist/services/ReasoningToolParser.d.ts.map +1 -0
  905. package/dist/services/ReasoningToolParser.js +354 -0
  906. package/dist/services/ReasoningToolParser.js.map +1 -0
  907. package/dist/services/RecoveryWorkflowService.d.ts +233 -0
  908. package/dist/services/RecoveryWorkflowService.d.ts.map +1 -0
  909. package/dist/services/RecoveryWorkflowService.js +655 -0
  910. package/dist/services/RecoveryWorkflowService.js.map +1 -0
  911. package/dist/services/ReflectionService.d.ts +66 -0
  912. package/dist/services/ReflectionService.d.ts.map +1 -0
  913. package/dist/services/ReflectionService.js +257 -0
  914. package/dist/services/ReflectionService.js.map +1 -0
  915. package/dist/services/RetentionGateService.d.ts +108 -0
  916. package/dist/services/RetentionGateService.d.ts.map +1 -0
  917. package/dist/services/RetentionGateService.js +306 -0
  918. package/dist/services/RetentionGateService.js.map +1 -0
  919. package/dist/services/RewardSignalProcessor.d.ts +164 -0
  920. package/dist/services/RewardSignalProcessor.d.ts.map +1 -0
  921. package/dist/services/RewardSignalProcessor.js +511 -0
  922. package/dist/services/RewardSignalProcessor.js.map +1 -0
  923. package/dist/services/SharedStateService.d.ts +79 -0
  924. package/dist/services/SharedStateService.d.ts.map +1 -0
  925. package/dist/services/SharedStateService.js +178 -0
  926. package/dist/services/SharedStateService.js.map +1 -0
  927. package/dist/services/StratumManager.d.ts +118 -0
  928. package/dist/services/StratumManager.d.ts.map +1 -0
  929. package/dist/services/StratumManager.js +392 -0
  930. package/dist/services/StratumManager.js.map +1 -0
  931. package/dist/services/StructuredSummaryBuilder.d.ts +90 -0
  932. package/dist/services/StructuredSummaryBuilder.d.ts.map +1 -0
  933. package/dist/services/StructuredSummaryBuilder.js +257 -0
  934. package/dist/services/StructuredSummaryBuilder.js.map +1 -0
  935. package/dist/services/SurpriseCalculator.d.ts +118 -0
  936. package/dist/services/SurpriseCalculator.d.ts.map +1 -0
  937. package/dist/services/SurpriseCalculator.js +303 -0
  938. package/dist/services/SurpriseCalculator.js.map +1 -0
  939. package/dist/services/SystemLlmMemoryAnalyzer.d.ts +73 -0
  940. package/dist/services/SystemLlmMemoryAnalyzer.d.ts.map +1 -0
  941. package/dist/services/SystemLlmMemoryAnalyzer.js +357 -0
  942. package/dist/services/SystemLlmMemoryAnalyzer.js.map +1 -0
  943. package/dist/services/TaskEffectivenessService.d.ts +122 -0
  944. package/dist/services/TaskEffectivenessService.d.ts.map +1 -0
  945. package/dist/services/TaskEffectivenessService.js +777 -0
  946. package/dist/services/TaskEffectivenessService.js.map +1 -0
  947. package/dist/services/ToolExecutionInterceptor.d.ts +158 -0
  948. package/dist/services/ToolExecutionInterceptor.d.ts.map +1 -0
  949. package/dist/services/ToolExecutionInterceptor.js +362 -0
  950. package/dist/services/ToolExecutionInterceptor.js.map +1 -0
  951. package/dist/services/UserInputRequestManager.d.ts +113 -0
  952. package/dist/services/UserInputRequestManager.d.ts.map +1 -0
  953. package/dist/services/UserInputRequestManager.js +392 -0
  954. package/dist/services/UserInputRequestManager.js.map +1 -0
  955. package/dist/services/UserMemoryService.d.ts +141 -0
  956. package/dist/services/UserMemoryService.d.ts.map +1 -0
  957. package/dist/services/UserMemoryService.js +398 -0
  958. package/dist/services/UserMemoryService.js.map +1 -0
  959. package/dist/services/UtilityScorerService.d.ts +120 -0
  960. package/dist/services/UtilityScorerService.d.ts.map +1 -0
  961. package/dist/services/UtilityScorerService.js +343 -0
  962. package/dist/services/UtilityScorerService.js.map +1 -0
  963. package/dist/services/ValidationAnalyticsService.d.ts +332 -0
  964. package/dist/services/ValidationAnalyticsService.d.ts.map +1 -0
  965. package/dist/services/ValidationAnalyticsService.js +859 -0
  966. package/dist/services/ValidationAnalyticsService.js.map +1 -0
  967. package/dist/services/ValidationCacheService.d.ts +250 -0
  968. package/dist/services/ValidationCacheService.d.ts.map +1 -0
  969. package/dist/services/ValidationCacheService.js +864 -0
  970. package/dist/services/ValidationCacheService.js.map +1 -0
  971. package/dist/services/ValidationMiddleware.d.ts +177 -0
  972. package/dist/services/ValidationMiddleware.d.ts.map +1 -0
  973. package/dist/services/ValidationMiddleware.js +671 -0
  974. package/dist/services/ValidationMiddleware.js.map +1 -0
  975. package/dist/services/ValidationPerformanceService.d.ts +84 -0
  976. package/dist/services/ValidationPerformanceService.d.ts.map +1 -0
  977. package/dist/services/ValidationPerformanceService.js +581 -0
  978. package/dist/services/ValidationPerformanceService.js.map +1 -0
  979. package/dist/services/WebSearchService.d.ts +76 -0
  980. package/dist/services/WebSearchService.d.ts.map +1 -0
  981. package/dist/services/WebSearchService.js +286 -0
  982. package/dist/services/WebSearchService.js.map +1 -0
  983. package/dist/services/dag/TaskDagService.d.ts +161 -0
  984. package/dist/services/dag/TaskDagService.d.ts.map +1 -0
  985. package/dist/services/dag/TaskDagService.js +771 -0
  986. package/dist/services/dag/TaskDagService.js.map +1 -0
  987. package/dist/services/dag/algorithms/TopologicalSort.d.ts +113 -0
  988. package/dist/services/dag/algorithms/TopologicalSort.d.ts.map +1 -0
  989. package/dist/services/dag/algorithms/TopologicalSort.js +460 -0
  990. package/dist/services/dag/algorithms/TopologicalSort.js.map +1 -0
  991. package/dist/services/kg/EntityExtractionService.d.ts +86 -0
  992. package/dist/services/kg/EntityExtractionService.d.ts.map +1 -0
  993. package/dist/services/kg/EntityExtractionService.js +385 -0
  994. package/dist/services/kg/EntityExtractionService.js.map +1 -0
  995. package/dist/services/kg/EntityQValueManager.d.ts +101 -0
  996. package/dist/services/kg/EntityQValueManager.d.ts.map +1 -0
  997. package/dist/services/kg/EntityQValueManager.js +263 -0
  998. package/dist/services/kg/EntityQValueManager.js.map +1 -0
  999. package/dist/services/kg/GraphSurpriseCalculator.d.ts +82 -0
  1000. package/dist/services/kg/GraphSurpriseCalculator.d.ts.map +1 -0
  1001. package/dist/services/kg/GraphSurpriseCalculator.js +278 -0
  1002. package/dist/services/kg/GraphSurpriseCalculator.js.map +1 -0
  1003. package/dist/services/kg/KnowledgeGraphService.d.ts +166 -0
  1004. package/dist/services/kg/KnowledgeGraphService.d.ts.map +1 -0
  1005. package/dist/services/kg/KnowledgeGraphService.js +555 -0
  1006. package/dist/services/kg/KnowledgeGraphService.js.map +1 -0
  1007. package/dist/services/kg/OrparGraphIntegration.d.ts +205 -0
  1008. package/dist/services/kg/OrparGraphIntegration.d.ts.map +1 -0
  1009. package/dist/services/kg/OrparGraphIntegration.js +571 -0
  1010. package/dist/services/kg/OrparGraphIntegration.js.map +1 -0
  1011. package/dist/services/lsp/LspDocumentManager.d.ts +75 -0
  1012. package/dist/services/lsp/LspDocumentManager.d.ts.map +1 -0
  1013. package/dist/services/lsp/LspDocumentManager.js +253 -0
  1014. package/dist/services/lsp/LspDocumentManager.js.map +1 -0
  1015. package/dist/services/lsp/LspProtocolAdapter.d.ts +117 -0
  1016. package/dist/services/lsp/LspProtocolAdapter.d.ts.map +1 -0
  1017. package/dist/services/lsp/LspProtocolAdapter.js +363 -0
  1018. package/dist/services/lsp/LspProtocolAdapter.js.map +1 -0
  1019. package/dist/services/lsp/LspServerManager.d.ts +87 -0
  1020. package/dist/services/lsp/LspServerManager.d.ts.map +1 -0
  1021. package/dist/services/lsp/LspServerManager.js +354 -0
  1022. package/dist/services/lsp/LspServerManager.js.map +1 -0
  1023. package/dist/services/lsp/interfaces/ILspConnection.d.ts +53 -0
  1024. package/dist/services/lsp/interfaces/ILspConnection.d.ts.map +1 -0
  1025. package/dist/services/lsp/interfaces/ILspConnection.js +7 -0
  1026. package/dist/services/lsp/interfaces/ILspConnection.js.map +1 -0
  1027. package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts +65 -0
  1028. package/dist/services/lsp/interfaces/ILspDocumentManager.d.ts.map +1 -0
  1029. package/dist/services/lsp/interfaces/ILspDocumentManager.js +7 -0
  1030. package/dist/services/lsp/interfaces/ILspDocumentManager.js.map +1 -0
  1031. package/dist/services/lsp/interfaces/ILspServerManager.d.ts +56 -0
  1032. package/dist/services/lsp/interfaces/ILspServerManager.d.ts.map +1 -0
  1033. package/dist/services/lsp/interfaces/ILspServerManager.js +7 -0
  1034. package/dist/services/lsp/interfaces/ILspServerManager.js.map +1 -0
  1035. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts +133 -0
  1036. package/dist/services/orpar-memory/CycleConsolidationTrigger.d.ts.map +1 -0
  1037. package/dist/services/orpar-memory/CycleConsolidationTrigger.js +505 -0
  1038. package/dist/services/orpar-memory/CycleConsolidationTrigger.js.map +1 -0
  1039. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts +201 -0
  1040. package/dist/services/orpar-memory/OrparMemoryCoordinator.d.ts.map +1 -0
  1041. package/dist/services/orpar-memory/OrparMemoryCoordinator.js +783 -0
  1042. package/dist/services/orpar-memory/OrparMemoryCoordinator.js.map +1 -0
  1043. package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts +163 -0
  1044. package/dist/services/orpar-memory/PhaseMemoryOperations.d.ts.map +1 -0
  1045. package/dist/services/orpar-memory/PhaseMemoryOperations.js +399 -0
  1046. package/dist/services/orpar-memory/PhaseMemoryOperations.js.map +1 -0
  1047. package/dist/services/orpar-memory/PhaseStrataRouter.d.ts +93 -0
  1048. package/dist/services/orpar-memory/PhaseStrataRouter.d.ts.map +1 -0
  1049. package/dist/services/orpar-memory/PhaseStrataRouter.js +317 -0
  1050. package/dist/services/orpar-memory/PhaseStrataRouter.js.map +1 -0
  1051. package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts +115 -0
  1052. package/dist/services/orpar-memory/PhaseWeightedRewarder.d.ts.map +1 -0
  1053. package/dist/services/orpar-memory/PhaseWeightedRewarder.js +333 -0
  1054. package/dist/services/orpar-memory/PhaseWeightedRewarder.js.map +1 -0
  1055. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts +149 -0
  1056. package/dist/services/orpar-memory/SurpriseOrparAdapter.d.ts.map +1 -0
  1057. package/dist/services/orpar-memory/SurpriseOrparAdapter.js +436 -0
  1058. package/dist/services/orpar-memory/SurpriseOrparAdapter.js.map +1 -0
  1059. package/dist/services/orpar-memory/index.d.ts +75 -0
  1060. package/dist/services/orpar-memory/index.d.ts.map +1 -0
  1061. package/dist/services/orpar-memory/index.js +76 -0
  1062. package/dist/services/orpar-memory/index.js.map +1 -0
  1063. package/dist/types/Agent.d.ts +95 -0
  1064. package/dist/types/Agent.d.ts.map +1 -0
  1065. package/dist/types/Agent.js +34 -0
  1066. package/dist/types/Agent.js.map +1 -0
  1067. package/dist/types/AgentPerformanceTypes.d.ts +314 -0
  1068. package/dist/types/AgentPerformanceTypes.d.ts.map +1 -0
  1069. package/dist/types/AgentPerformanceTypes.js +21 -0
  1070. package/dist/types/AgentPerformanceTypes.js.map +1 -0
  1071. package/dist/types/AgentRegistry.d.ts +89 -0
  1072. package/dist/types/AgentRegistry.d.ts.map +1 -0
  1073. package/dist/types/AgentRegistry.js +246 -0
  1074. package/dist/types/AgentRegistry.js.map +1 -0
  1075. package/dist/types/AgentTypes.d.ts +46 -0
  1076. package/dist/types/AgentTypes.d.ts.map +1 -0
  1077. package/dist/types/AgentTypes.js +34 -0
  1078. package/dist/types/AgentTypes.js.map +1 -0
  1079. package/dist/types/ChannelContext.d.ts +221 -0
  1080. package/dist/types/ChannelContext.d.ts.map +1 -0
  1081. package/dist/types/ChannelContext.js +21 -0
  1082. package/dist/types/ChannelContext.js.map +1 -0
  1083. package/dist/types/ControlLoopTypes.d.ts +164 -0
  1084. package/dist/types/ControlLoopTypes.d.ts.map +1 -0
  1085. package/dist/types/ControlLoopTypes.js +37 -0
  1086. package/dist/types/ControlLoopTypes.js.map +1 -0
  1087. package/dist/types/DagTypes.d.ts +321 -0
  1088. package/dist/types/DagTypes.d.ts.map +1 -0
  1089. package/dist/types/DagTypes.js +82 -0
  1090. package/dist/types/DagTypes.js.map +1 -0
  1091. package/dist/types/EffectivenessTypes.d.ts +245 -0
  1092. package/dist/types/EffectivenessTypes.d.ts.map +1 -0
  1093. package/dist/types/EffectivenessTypes.js +21 -0
  1094. package/dist/types/EffectivenessTypes.js.map +1 -0
  1095. package/dist/types/InferenceParameterTypes.d.ts +510 -0
  1096. package/dist/types/InferenceParameterTypes.d.ts.map +1 -0
  1097. package/dist/types/InferenceParameterTypes.js +21 -0
  1098. package/dist/types/InferenceParameterTypes.js.map +1 -0
  1099. package/dist/types/KnowledgeGraphTypes.d.ts +455 -0
  1100. package/dist/types/KnowledgeGraphTypes.d.ts.map +1 -0
  1101. package/dist/types/KnowledgeGraphTypes.js +146 -0
  1102. package/dist/types/KnowledgeGraphTypes.js.map +1 -0
  1103. package/dist/types/LlmTypes.d.ts +144 -0
  1104. package/dist/types/LlmTypes.d.ts.map +1 -0
  1105. package/dist/types/LlmTypes.js +21 -0
  1106. package/dist/types/LlmTypes.js.map +1 -0
  1107. package/dist/types/LspTypes.d.ts +607 -0
  1108. package/dist/types/LspTypes.d.ts.map +1 -0
  1109. package/dist/types/LspTypes.js +80 -0
  1110. package/dist/types/LspTypes.js.map +1 -0
  1111. package/dist/types/McpPromptTypes.d.ts +275 -0
  1112. package/dist/types/McpPromptTypes.d.ts.map +1 -0
  1113. package/dist/types/McpPromptTypes.js +38 -0
  1114. package/dist/types/McpPromptTypes.js.map +1 -0
  1115. package/dist/types/MemoryStrataTypes.d.ts +340 -0
  1116. package/dist/types/MemoryStrataTypes.d.ts.map +1 -0
  1117. package/dist/types/MemoryStrataTypes.js +34 -0
  1118. package/dist/types/MemoryStrataTypes.js.map +1 -0
  1119. package/dist/types/MemoryTypes.d.ts +230 -0
  1120. package/dist/types/MemoryTypes.d.ts.map +1 -0
  1121. package/dist/types/MemoryTypes.js +118 -0
  1122. package/dist/types/MemoryTypes.js.map +1 -0
  1123. package/dist/types/MemoryUtilityTypes.d.ts +451 -0
  1124. package/dist/types/MemoryUtilityTypes.d.ts.map +1 -0
  1125. package/dist/types/MemoryUtilityTypes.js +122 -0
  1126. package/dist/types/MemoryUtilityTypes.js.map +1 -0
  1127. package/dist/types/MxpTypes.d.ts +264 -0
  1128. package/dist/types/MxpTypes.d.ts.map +1 -0
  1129. package/dist/types/MxpTypes.js +132 -0
  1130. package/dist/types/MxpTypes.js.map +1 -0
  1131. package/dist/types/NetworkRecoveryTypes.d.ts +133 -0
  1132. package/dist/types/NetworkRecoveryTypes.d.ts.map +1 -0
  1133. package/dist/types/NetworkRecoveryTypes.js +169 -0
  1134. package/dist/types/NetworkRecoveryTypes.js.map +1 -0
  1135. package/dist/types/OrparMemoryIntegrationTypes.d.ts +463 -0
  1136. package/dist/types/OrparMemoryIntegrationTypes.d.ts.map +1 -0
  1137. package/dist/types/OrparMemoryIntegrationTypes.js +260 -0
  1138. package/dist/types/OrparMemoryIntegrationTypes.js.map +1 -0
  1139. package/dist/types/PatternLearningTypes.d.ts +366 -0
  1140. package/dist/types/PatternLearningTypes.d.ts.map +1 -0
  1141. package/dist/types/PatternLearningTypes.js +21 -0
  1142. package/dist/types/PatternLearningTypes.js.map +1 -0
  1143. package/dist/types/PatternMemoryTypes.d.ts +245 -0
  1144. package/dist/types/PatternMemoryTypes.d.ts.map +1 -0
  1145. package/dist/types/PatternMemoryTypes.js +30 -0
  1146. package/dist/types/PatternMemoryTypes.js.map +1 -0
  1147. package/dist/types/ReflectionTypes.d.ts +61 -0
  1148. package/dist/types/ReflectionTypes.d.ts.map +1 -0
  1149. package/dist/types/ReflectionTypes.js +21 -0
  1150. package/dist/types/ReflectionTypes.js.map +1 -0
  1151. package/dist/types/TaskCompletionTypes.d.ts +122 -0
  1152. package/dist/types/TaskCompletionTypes.d.ts.map +1 -0
  1153. package/dist/types/TaskCompletionTypes.js +21 -0
  1154. package/dist/types/TaskCompletionTypes.js.map +1 -0
  1155. package/dist/types/TaskTypes.d.ts +237 -0
  1156. package/dist/types/TaskTypes.d.ts.map +1 -0
  1157. package/dist/types/TaskTypes.js +21 -0
  1158. package/dist/types/TaskTypes.js.map +1 -0
  1159. package/dist/types/TensorFlowTypes.d.ts +257 -0
  1160. package/dist/types/TensorFlowTypes.d.ts.map +1 -0
  1161. package/dist/types/TensorFlowTypes.js +115 -0
  1162. package/dist/types/TensorFlowTypes.js.map +1 -0
  1163. package/dist/types/ValidationPerformanceTypes.d.ts +168 -0
  1164. package/dist/types/ValidationPerformanceTypes.d.ts.map +1 -0
  1165. package/dist/types/ValidationPerformanceTypes.js +21 -0
  1166. package/dist/types/ValidationPerformanceTypes.js.map +1 -0
  1167. package/dist/types/WorkflowTypes.d.ts +291 -0
  1168. package/dist/types/WorkflowTypes.d.ts.map +1 -0
  1169. package/dist/types/WorkflowTypes.js +8 -0
  1170. package/dist/types/WorkflowTypes.js.map +1 -0
  1171. package/dist/types/toolTypes.d.ts +93 -0
  1172. package/dist/types/toolTypes.d.ts.map +1 -0
  1173. package/dist/types/toolTypes.js +82 -0
  1174. package/dist/types/toolTypes.js.map +1 -0
  1175. package/dist/types/types.d.ts +89 -0
  1176. package/dist/types/types.d.ts.map +1 -0
  1177. package/dist/types/types.js +31 -0
  1178. package/dist/types/types.js.map +1 -0
  1179. package/dist/utils/Logger.d.ts +125 -0
  1180. package/dist/utils/Logger.d.ts.map +1 -0
  1181. package/dist/utils/Logger.js +194 -0
  1182. package/dist/utils/Logger.js.map +1 -0
  1183. package/dist/utils/MxpEncryption.d.ts +63 -0
  1184. package/dist/utils/MxpEncryption.d.ts.map +1 -0
  1185. package/dist/utils/MxpEncryption.js +169 -0
  1186. package/dist/utils/MxpEncryption.js.map +1 -0
  1187. package/dist/utils/ParameterNormalizer.d.ts +85 -0
  1188. package/dist/utils/ParameterNormalizer.d.ts.map +1 -0
  1189. package/dist/utils/ParameterNormalizer.js +409 -0
  1190. package/dist/utils/ParameterNormalizer.js.map +1 -0
  1191. package/dist/utils/PromptTemplateReplacer.d.ts +119 -0
  1192. package/dist/utils/PromptTemplateReplacer.d.ts.map +1 -0
  1193. package/dist/utils/PromptTemplateReplacer.js +255 -0
  1194. package/dist/utils/PromptTemplateReplacer.js.map +1 -0
  1195. package/dist/utils/TokenEstimator.d.ts +43 -0
  1196. package/dist/utils/TokenEstimator.d.ts.map +1 -0
  1197. package/dist/utils/TokenEstimator.js +113 -0
  1198. package/dist/utils/TokenEstimator.js.map +1 -0
  1199. package/dist/utils/ToolPaginationUtils.d.ts +177 -0
  1200. package/dist/utils/ToolPaginationUtils.d.ts.map +1 -0
  1201. package/dist/utils/ToolPaginationUtils.js +180 -0
  1202. package/dist/utils/ToolPaginationUtils.js.map +1 -0
  1203. package/dist/utils/env.d.ts +19 -0
  1204. package/dist/utils/env.d.ts.map +1 -0
  1205. package/dist/utils/env.js +25 -0
  1206. package/dist/utils/env.js.map +1 -0
  1207. package/dist/utils/toon/eligibility.d.ts +65 -0
  1208. package/dist/utils/toon/eligibility.d.ts.map +1 -0
  1209. package/dist/utils/toon/eligibility.js +259 -0
  1210. package/dist/utils/toon/eligibility.js.map +1 -0
  1211. package/dist/utils/toon/encoder.d.ts +72 -0
  1212. package/dist/utils/toon/encoder.d.ts.map +1 -0
  1213. package/dist/utils/toon/encoder.js +321 -0
  1214. package/dist/utils/toon/encoder.js.map +1 -0
  1215. package/dist/utils/toon/formatter.d.ts +118 -0
  1216. package/dist/utils/toon/formatter.d.ts.map +1 -0
  1217. package/dist/utils/toon/formatter.js +214 -0
  1218. package/dist/utils/toon/formatter.js.map +1 -0
  1219. package/dist/utils/toon/index.d.ts +49 -0
  1220. package/dist/utils/toon/index.d.ts.map +1 -0
  1221. package/dist/utils/toon/index.js +55 -0
  1222. package/dist/utils/toon/index.js.map +1 -0
  1223. package/dist/utils/toon/metrics.d.ts +162 -0
  1224. package/dist/utils/toon/metrics.d.ts.map +1 -0
  1225. package/dist/utils/toon/metrics.js +283 -0
  1226. package/dist/utils/toon/metrics.js.map +1 -0
  1227. package/dist/utils/toon/types.d.ts +145 -0
  1228. package/dist/utils/toon/types.d.ts.map +1 -0
  1229. package/dist/utils/toon/types.js +21 -0
  1230. package/dist/utils/toon/types.js.map +1 -0
  1231. package/dist/utils/validation.d.ts +169 -0
  1232. package/dist/utils/validation.d.ts.map +1 -0
  1233. package/dist/utils/validation.js +471 -0
  1234. package/dist/utils/validation.js.map +1 -0
  1235. package/package.json +84 -0
  1236. package/src/adapters/FrameworkAdapter.ts +261 -0
  1237. package/src/adapters/index.ts +26 -0
  1238. package/src/config/ConfigManager.ts +1406 -0
  1239. package/src/config/FeatureFlags.ts +180 -0
  1240. package/src/config/McpPromptsConfig.ts +134 -0
  1241. package/src/config/ModelContextLimits.ts +154 -0
  1242. package/src/config/PromptCompactionConfig.ts +236 -0
  1243. package/src/config/PromptConfig.ts +85 -0
  1244. package/src/config/ServerConfig.ts +69 -0
  1245. package/src/config/dag.config.ts +211 -0
  1246. package/src/config/knowledge-graph.config.ts +290 -0
  1247. package/src/config/orpar-memory.config.ts +365 -0
  1248. package/src/config/tensorflow.config.ts +209 -0
  1249. package/src/constants/CoreTools.ts +95 -0
  1250. package/src/constants/DefaultPhaseProfiles.ts +699 -0
  1251. package/src/constants/EnhancementConstants.ts +383 -0
  1252. package/src/constants/ToolNames.ts +538 -0
  1253. package/src/database/DatabaseAdapterFactory.ts +212 -0
  1254. package/src/database/adapters/mongodb/MongoAgentRepository.ts +181 -0
  1255. package/src/database/adapters/mongodb/MongoBaseRepository.ts +203 -0
  1256. package/src/database/adapters/mongodb/MongoChannelRepository.ts +185 -0
  1257. package/src/database/adapters/mongodb/MongoDagRepository.ts +370 -0
  1258. package/src/database/adapters/mongodb/MongoKnowledgeGraphRepository.ts +975 -0
  1259. package/src/database/adapters/mongodb/MongoMemoryRepository.ts +244 -0
  1260. package/src/database/adapters/mongodb/MongoTaskRepository.ts +361 -0
  1261. package/src/database/adapters/mongodb/index.ts +25 -0
  1262. package/src/database/index.ts +22 -0
  1263. package/src/events/ClientEventBus.ts +821 -0
  1264. package/src/events/EventBus.ts +111 -0
  1265. package/src/events/EventBusBase.ts +419 -0
  1266. package/src/events/EventNames.ts +308 -0
  1267. package/src/events/PublicEvents.ts +231 -0
  1268. package/src/events/ServerEventBus.ts +606 -0
  1269. package/src/events/event-definitions/AgentEvents.ts +187 -0
  1270. package/src/events/event-definitions/AnalyticsEvents.ts +299 -0
  1271. package/src/events/event-definitions/BulkEvents.ts +474 -0
  1272. package/src/events/event-definitions/ChannelEvents.ts +230 -0
  1273. package/src/events/event-definitions/CodeExecutionEvents.ts +360 -0
  1274. package/src/events/event-definitions/CompactionEvents.ts +185 -0
  1275. package/src/events/event-definitions/ConfigEvents.ts +343 -0
  1276. package/src/events/event-definitions/ControlLoopEvents.ts +61 -0
  1277. package/src/events/event-definitions/DagEvents.ts +275 -0
  1278. package/src/events/event-definitions/HeartbeatEvents.ts +43 -0
  1279. package/src/events/event-definitions/InferenceParameterEvents.ts +110 -0
  1280. package/src/events/event-definitions/KeyEvents.ts +154 -0
  1281. package/src/events/event-definitions/KnowledgeGraphEvents.ts +285 -0
  1282. package/src/events/event-definitions/LlmEvents.ts +39 -0
  1283. package/src/events/event-definitions/McpEvents.ts +234 -0
  1284. package/src/events/event-definitions/MeilisearchEvents.ts +55 -0
  1285. package/src/events/event-definitions/MemoryEvents.ts +379 -0
  1286. package/src/events/event-definitions/MemoryUtilityEvents.ts +254 -0
  1287. package/src/events/event-definitions/MessageEvents.ts +107 -0
  1288. package/src/events/event-definitions/MxpEvents.ts +138 -0
  1289. package/src/events/event-definitions/OrparEvents.ts +249 -0
  1290. package/src/events/event-definitions/OrparMemoryEvents.ts +404 -0
  1291. package/src/events/event-definitions/PlanEvents.ts +124 -0
  1292. package/src/events/event-definitions/ProgressEvents.ts +67 -0
  1293. package/src/events/event-definitions/ShellExecutionEvents.ts +383 -0
  1294. package/src/events/event-definitions/SystemEvents.ts +263 -0
  1295. package/src/events/event-definitions/TaskEvents.ts +201 -0
  1296. package/src/events/event-definitions/TensorFlowEvents.ts +162 -0
  1297. package/src/events/event-definitions/UserInputEvents.ts +218 -0
  1298. package/src/events/event-definitions/WorkflowEvents.ts +139 -0
  1299. package/src/index.ts +17 -0
  1300. package/src/interfaces/AgentContext.ts +214 -0
  1301. package/src/interfaces/AgentInterfaces.ts +132 -0
  1302. package/src/interfaces/Channel.ts +36 -0
  1303. package/src/interfaces/ChannelConfig.ts +59 -0
  1304. package/src/interfaces/ChannelConnectionConfig.ts +36 -0
  1305. package/src/interfaces/ChannelInfo.ts +33 -0
  1306. package/src/interfaces/ConversationMessage.ts +109 -0
  1307. package/src/interfaces/ILlmTopicExtractor.ts +76 -0
  1308. package/src/interfaces/SocketServiceInterface.ts +104 -0
  1309. package/src/interfaces/TaskInterfaces.ts +53 -0
  1310. package/src/middleware/MxpMiddleware.ts +346 -0
  1311. package/src/models/PatternLearningModels.ts +585 -0
  1312. package/src/models/agent.ts +162 -0
  1313. package/src/models/auditLog.ts +133 -0
  1314. package/src/models/channel.ts +304 -0
  1315. package/src/models/channelKey.ts +129 -0
  1316. package/src/models/codeExecution.ts +272 -0
  1317. package/src/models/controlLoop.ts +165 -0
  1318. package/src/models/coordination.ts +166 -0
  1319. package/src/models/document.ts +263 -0
  1320. package/src/models/entity.ts +206 -0
  1321. package/src/models/mcpTool.ts +254 -0
  1322. package/src/models/mcpToolExecution.ts +162 -0
  1323. package/src/models/memory.ts +310 -0
  1324. package/src/models/memoryStrata.ts +432 -0
  1325. package/src/models/personalAccessToken.ts +206 -0
  1326. package/src/models/plan.ts +135 -0
  1327. package/src/models/relationship.ts +165 -0
  1328. package/src/models/shellOutput.ts +102 -0
  1329. package/src/models/task.ts +397 -0
  1330. package/src/models/taskEffectiveness.ts +152 -0
  1331. package/src/models/tool.ts +102 -0
  1332. package/src/models/toolExecution.ts +64 -0
  1333. package/src/models/toolModels.ts +423 -0
  1334. package/src/models/user.ts +147 -0
  1335. package/src/models/userMemory.ts +165 -0
  1336. package/src/mxp/BinaryProtocolLayer.ts +420 -0
  1337. package/src/mxp/ContextCompressionEngine.ts +534 -0
  1338. package/src/mxp/MxpConfigManager.ts +316 -0
  1339. package/src/mxp/MxpEventForwardingEnhancer.ts +471 -0
  1340. package/src/mxp/MxpTokenOptimizer.ts +266 -0
  1341. package/src/prompts/ChannelContextProvider.ts +212 -0
  1342. package/src/prompts/DeferredToolSchemaRegistry.ts +212 -0
  1343. package/src/prompts/DynamicContextProvider.ts +186 -0
  1344. package/src/prompts/MemoryPromptInjector.ts +332 -0
  1345. package/src/prompts/MxfAgentSystemPrompt.ts +1037 -0
  1346. package/src/prompts/PromptSegmentRegistry.ts +372 -0
  1347. package/src/prompts/ToolBehavioralGuidance.ts +214 -0
  1348. package/src/protocols/binaryProtocol.ts +402 -0
  1349. package/src/protocols/mcp/ClientExecutableManifest.ts +85 -0
  1350. package/src/protocols/mcp/IMcpClient.ts +332 -0
  1351. package/src/protocols/mcp/LlmProviderFactory.ts +81 -0
  1352. package/src/protocols/mcp/LlmProviders.ts +45 -0
  1353. package/src/protocols/mcp/McpClient.ts +220 -0
  1354. package/src/protocols/mcp/McpClientFactory.ts +59 -0
  1355. package/src/protocols/mcp/McpServerTypes.ts +208 -0
  1356. package/src/protocols/mcp/McpToolCallParser.ts +297 -0
  1357. package/src/protocols/mcp/McpToolSchema.ts +666 -0
  1358. package/src/protocols/mcp/converters/IFormatConverter.ts +384 -0
  1359. package/src/protocols/mcp/converters/UnifiedMessageConverter.ts +286 -0
  1360. package/src/protocols/mcp/converters/adapters/AnthropicMessageAdapter.ts +545 -0
  1361. package/src/protocols/mcp/converters/adapters/GeminiMessageAdapter.ts +63 -0
  1362. package/src/protocols/mcp/converters/adapters/OpenAiMessageAdapter.ts +49 -0
  1363. package/src/protocols/mcp/converters/adapters/OpenRouterMessageAdapter.ts +394 -0
  1364. package/src/protocols/mcp/converters/adapters/XaiMessageAdapter.ts +39 -0
  1365. package/src/protocols/mcp/providers/AnthropicMcpClient.ts +632 -0
  1366. package/src/protocols/mcp/providers/AzureOpenAiMcpClient.ts +760 -0
  1367. package/src/protocols/mcp/providers/BaseMcpClient.ts +286 -0
  1368. package/src/protocols/mcp/providers/CustomMcpClient.ts +326 -0
  1369. package/src/protocols/mcp/providers/GeminiMcpClient.ts +687 -0
  1370. package/src/protocols/mcp/providers/OllamaMcpClient.ts +564 -0
  1371. package/src/protocols/mcp/providers/OpenAiMcpClient.ts +779 -0
  1372. package/src/protocols/mcp/providers/OpenRouterMcpClient.ts +1151 -0
  1373. package/src/protocols/mcp/providers/XaiMcpClient.ts +601 -0
  1374. package/src/protocols/mcp/security/McpConfirmationManager.ts +315 -0
  1375. package/src/protocols/mcp/security/McpSecurityConfig.ts +429 -0
  1376. package/src/protocols/mcp/security/McpSecurityGuard.ts +527 -0
  1377. package/src/protocols/mcp/security/README.md +274 -0
  1378. package/src/protocols/mcp/security/index.ts +29 -0
  1379. package/src/protocols/mcp/services/ExternalMcpServerManager.ts +1540 -0
  1380. package/src/protocols/mcp/services/ExternalServerConfigs.ts +346 -0
  1381. package/src/protocols/mcp/services/IToolEventEmitter.ts +75 -0
  1382. package/src/protocols/mcp/services/ToolSchemaEnhancements.ts +92 -0
  1383. package/src/protocols/mcp/tools/AnalyticsTools.ts +759 -0
  1384. package/src/protocols/mcp/tools/CodeAnalysisTools.ts +715 -0
  1385. package/src/protocols/mcp/tools/ControlLoopLifecycle.ts +302 -0
  1386. package/src/protocols/mcp/tools/DateTimeTools.ts +554 -0
  1387. package/src/protocols/mcp/tools/EffectivenessTools.ts +434 -0
  1388. package/src/protocols/mcp/tools/GitTools.ts +727 -0
  1389. package/src/protocols/mcp/tools/InfrastructureTools.ts +926 -0
  1390. package/src/protocols/mcp/tools/JsonTools.ts +376 -0
  1391. package/src/protocols/mcp/tools/KnowledgeGraphTools.ts +1015 -0
  1392. package/src/protocols/mcp/tools/LspTools.ts +476 -0
  1393. package/src/protocols/mcp/tools/MemorySearchTools.ts +510 -0
  1394. package/src/protocols/mcp/tools/MemoryUtilityTools.ts +514 -0
  1395. package/src/protocols/mcp/tools/OrparTools.ts +1115 -0
  1396. package/src/protocols/mcp/tools/PlanningTools.ts +660 -0
  1397. package/src/protocols/mcp/tools/PredictiveTools.ts +351 -0
  1398. package/src/protocols/mcp/tools/ProgressTools.ts +115 -0
  1399. package/src/protocols/mcp/tools/ProjectContextTools.ts +330 -0
  1400. package/src/protocols/mcp/tools/README.md +566 -0
  1401. package/src/protocols/mcp/tools/SafetyTools.ts +1073 -0
  1402. package/src/protocols/mcp/tools/SearchProjectTools.ts +279 -0
  1403. package/src/protocols/mcp/tools/TaskPlanningTools.ts +629 -0
  1404. package/src/protocols/mcp/tools/TestTools.ts +556 -0
  1405. package/src/protocols/mcp/tools/ToolHelpTools.ts +294 -0
  1406. package/src/protocols/mcp/tools/TypeScriptTools.ts +490 -0
  1407. package/src/protocols/mcp/tools/UserInputTools.ts +415 -0
  1408. package/src/protocols/mcp/tools/UserMemoryTools.ts +396 -0
  1409. package/src/protocols/mcp/tools/WebTools.ts +558 -0
  1410. package/src/protocols/mcp/tools/WolframTools.ts +258 -0
  1411. package/src/protocols/mcp/tools/shell/CommandClassification.ts +570 -0
  1412. package/src/protocols/mcp/tools/shell/CommandSemantics.ts +363 -0
  1413. package/src/protocols/mcp/tools/shell/DestructiveCommandWarnings.ts +214 -0
  1414. package/src/protocols/mcp/tools/shell/LargeOutputHandler.ts +169 -0
  1415. package/src/protocols/mcp/tools/shell/ShellCommandParser.ts +613 -0
  1416. package/src/protocols/mcp/tools/shell/ShellExecuteHandler.ts +502 -0
  1417. package/src/protocols/mcp/tools/shell/ShellSandbox.ts +448 -0
  1418. package/src/protocols/mcp/tools/shell/index.ts +53 -0
  1419. package/src/protocols/mcp/utils/JsonRecovery.ts +280 -0
  1420. package/src/protocols/mcp/utils/MessageConverters.ts +217 -0
  1421. package/src/protocols/mcp/utils/NetworkRecovery.ts +275 -0
  1422. package/src/protocols/mcp/utils/ToolHandlers.ts +271 -0
  1423. package/src/repositories/interfaces/IAgentRepository.ts +125 -0
  1424. package/src/repositories/interfaces/IBaseRepository.ts +72 -0
  1425. package/src/repositories/interfaces/IChannelRepository.ts +154 -0
  1426. package/src/repositories/interfaces/IDagRepository.ts +195 -0
  1427. package/src/repositories/interfaces/IKnowledgeGraphRepository.ts +439 -0
  1428. package/src/repositories/interfaces/IMemoryRepository.ts +174 -0
  1429. package/src/repositories/interfaces/ITaskRepository.ts +208 -0
  1430. package/src/repositories/interfaces/index.ts +27 -0
  1431. package/src/repositories/types/FilterTypes.ts +89 -0
  1432. package/src/repositories/types/PaginationTypes.ts +64 -0
  1433. package/src/schemas/CodeExecutionEventPayloads.ts +271 -0
  1434. package/src/schemas/EventPayloadSchema.ts +4448 -0
  1435. package/src/schemas/JsonResponseSchemas.ts +262 -0
  1436. package/src/schemas/MessageSchemas.ts +441 -0
  1437. package/src/schemas/MxpProtocolSchemas.ts +362 -0
  1438. package/src/schemas/ShellExecutionEventPayloads.ts +271 -0
  1439. package/src/services/AgentPerformanceService.ts +619 -0
  1440. package/src/services/AutoCorrectionIntegrationService.ts +814 -0
  1441. package/src/services/AutoCorrectionService.ts +1074 -0
  1442. package/src/services/AutoMemoryCreator.ts +570 -0
  1443. package/src/services/BackgroundTaskManager.ts +631 -0
  1444. package/src/services/BrowserManager.ts +250 -0
  1445. package/src/services/ChannelContextMemoryOperations.ts +366 -0
  1446. package/src/services/ChannelContextMessageOperations.ts +435 -0
  1447. package/src/services/CodeExecutionSandboxService.ts +408 -0
  1448. package/src/services/ContainerExecutionManager.ts +725 -0
  1449. package/src/services/ContainerPoolManager.ts +13 -0
  1450. package/src/services/ContentProcessor.ts +549 -0
  1451. package/src/services/McpToolDocumentationService.ts +238 -0
  1452. package/src/services/MemoryCompressor.ts +385 -0
  1453. package/src/services/MemoryService.ts +1876 -0
  1454. package/src/services/MxfMLService.ts +1229 -0
  1455. package/src/services/MxfMeilisearchService.ts +629 -0
  1456. package/src/services/MxfMessageAggregator.ts +313 -0
  1457. package/src/services/PatternLearningService.ts +1084 -0
  1458. package/src/services/PerformanceOptimizationService.ts +1132 -0
  1459. package/src/services/PredictiveAnalyticsService.ts +2299 -0
  1460. package/src/services/ProactiveValidationService.ts +1385 -0
  1461. package/src/services/PromptArgumentInferenceService.ts +192 -0
  1462. package/src/services/QValueManager.ts +649 -0
  1463. package/src/services/ReasoningToolParser.ts +457 -0
  1464. package/src/services/RecoveryWorkflowService.ts +911 -0
  1465. package/src/services/ReflectionService.ts +299 -0
  1466. package/src/services/RetentionGateService.ts +393 -0
  1467. package/src/services/RewardSignalProcessor.ts +648 -0
  1468. package/src/services/SharedStateService.ts +241 -0
  1469. package/src/services/StratumManager.ts +523 -0
  1470. package/src/services/StructuredSummaryBuilder.ts +325 -0
  1471. package/src/services/SurpriseCalculator.ts +436 -0
  1472. package/src/services/SystemLlmMemoryAnalyzer.ts +421 -0
  1473. package/src/services/TaskEffectivenessService.ts +968 -0
  1474. package/src/services/ToolExecutionInterceptor.ts +513 -0
  1475. package/src/services/UserInputRequestManager.ts +536 -0
  1476. package/src/services/UserMemoryService.ts +506 -0
  1477. package/src/services/UtilityScorerService.ts +427 -0
  1478. package/src/services/ValidationAnalyticsService.ts +1173 -0
  1479. package/src/services/ValidationCacheService.ts +1177 -0
  1480. package/src/services/ValidationMiddleware.ts +876 -0
  1481. package/src/services/ValidationPerformanceService.ts +751 -0
  1482. package/src/services/WebSearchService.ts +382 -0
  1483. package/src/services/dag/TaskDagService.ts +1057 -0
  1484. package/src/services/dag/algorithms/TopologicalSort.ts +562 -0
  1485. package/src/services/kg/EntityExtractionService.ts +511 -0
  1486. package/src/services/kg/EntityQValueManager.ts +368 -0
  1487. package/src/services/kg/GraphSurpriseCalculator.ts +381 -0
  1488. package/src/services/kg/KnowledgeGraphService.ts +830 -0
  1489. package/src/services/kg/OrparGraphIntegration.ts +815 -0
  1490. package/src/services/lsp/LspDocumentManager.ts +304 -0
  1491. package/src/services/lsp/LspProtocolAdapter.ts +471 -0
  1492. package/src/services/lsp/LspServerManager.ts +442 -0
  1493. package/src/services/lsp/interfaces/ILspConnection.ts +60 -0
  1494. package/src/services/lsp/interfaces/ILspDocumentManager.ts +74 -0
  1495. package/src/services/lsp/interfaces/ILspServerManager.ts +64 -0
  1496. package/src/services/orpar-memory/CycleConsolidationTrigger.ts +693 -0
  1497. package/src/services/orpar-memory/OrparMemoryCoordinator.ts +1001 -0
  1498. package/src/services/orpar-memory/PhaseMemoryOperations.ts +531 -0
  1499. package/src/services/orpar-memory/PhaseStrataRouter.ts +387 -0
  1500. package/src/services/orpar-memory/PhaseWeightedRewarder.ts +430 -0
  1501. package/src/services/orpar-memory/SurpriseOrparAdapter.ts +572 -0
  1502. package/src/services/orpar-memory/index.ts +79 -0
  1503. package/src/types/Agent.ts +102 -0
  1504. package/src/types/AgentPerformanceTypes.ts +404 -0
  1505. package/src/types/AgentRegistry.ts +319 -0
  1506. package/src/types/AgentTypes.ts +49 -0
  1507. package/src/types/ChannelContext.ts +289 -0
  1508. package/src/types/ControlLoopTypes.ts +182 -0
  1509. package/src/types/DagTypes.ts +427 -0
  1510. package/src/types/EffectivenessTypes.ts +303 -0
  1511. package/src/types/InferenceParameterTypes.ts +598 -0
  1512. package/src/types/KnowledgeGraphTypes.ts +620 -0
  1513. package/src/types/LlmTypes.ts +153 -0
  1514. package/src/types/LspTypes.ts +640 -0
  1515. package/src/types/McpPromptTypes.ts +299 -0
  1516. package/src/types/MemoryStrataTypes.ts +378 -0
  1517. package/src/types/MemoryTypes.ts +280 -0
  1518. package/src/types/MemoryUtilityTypes.ts +577 -0
  1519. package/src/types/MxpTypes.ts +404 -0
  1520. package/src/types/NetworkRecoveryTypes.ts +268 -0
  1521. package/src/types/OrparMemoryIntegrationTypes.ts +698 -0
  1522. package/src/types/PatternLearningTypes.ts +445 -0
  1523. package/src/types/PatternMemoryTypes.ts +314 -0
  1524. package/src/types/ReflectionTypes.ts +74 -0
  1525. package/src/types/TaskCompletionTypes.ts +163 -0
  1526. package/src/types/TaskTypes.ts +311 -0
  1527. package/src/types/TensorFlowTypes.ts +329 -0
  1528. package/src/types/ValidationPerformanceTypes.ts +186 -0
  1529. package/src/types/WorkflowTypes.ts +323 -0
  1530. package/src/types/toolTypes.ts +118 -0
  1531. package/src/types/types.ts +95 -0
  1532. package/src/utils/Logger.ts +240 -0
  1533. package/src/utils/MxpEncryption.ts +195 -0
  1534. package/src/utils/ParameterNormalizer.ts +432 -0
  1535. package/src/utils/PromptTemplateReplacer.ts +331 -0
  1536. package/src/utils/TokenEstimator.ts +132 -0
  1537. package/src/utils/ToolPaginationUtils.ts +252 -0
  1538. package/src/utils/env.ts +27 -0
  1539. package/src/utils/toon/eligibility.ts +316 -0
  1540. package/src/utils/toon/encoder.ts +396 -0
  1541. package/src/utils/toon/formatter.ts +258 -0
  1542. package/src/utils/toon/index.ts +88 -0
  1543. package/src/utils/toon/metrics.ts +339 -0
  1544. package/src/utils/toon/types.ts +183 -0
  1545. package/src/utils/validation.ts +548 -0
@@ -0,0 +1,4448 @@
1
+ /**
2
+ * Copyright 2024 Brad Anderson
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ *
16
+ * @author Brad Anderson <BradA1878@pm.me>
17
+ * @repository https://github.com/mxf-dev/mxf
18
+ * @documentation https://mxf-dev.github.io/mxf/
19
+ */
20
+
21
+ /**
22
+ * EventPayloadSchema.ts
23
+ *
24
+ * Defines standardized event payload schemas used throughout the Model Exchange Framework.
25
+ * These schemas provide a consistent structure for all events exchanged between components.
26
+ */
27
+
28
+ import type { IAgentMemory, IChannelMemory, IRelationshipMemory } from '../types/MemoryTypes.js';
29
+ import type { ChannelTask } from '../types/TaskTypes.js';
30
+ import type { Observation, Reasoning, Plan, PlanAction } from '../types/ControlLoopTypes.js';
31
+ import { v4 as uuidv4 } from 'uuid';
32
+ import type { ChannelActionType, EventName, Events, PlanStepCompletedEventData } from '../events/EventNames.js';
33
+ import { createStrictValidator } from '../utils/validation.js';
34
+ import { AgentId, ChannelId } from '../types/ChannelContext.js';
35
+ import { MemoryScope } from '../types/MemoryTypes.js';
36
+ import { ChannelMessage, AgentMessage } from './MessageSchemas.js';
37
+ import { Logger } from '../utils/Logger.js';
38
+ import {
39
+ OrparMemoryEvents,
40
+ CycleStartedEventData,
41
+ PhaseChangedEventData,
42
+ CycleCompletedEventData
43
+ } from '../events/event-definitions/OrparMemoryEvents.js';
44
+ import {
45
+ DagEvents,
46
+ TaskDependenciesResolvedEventData,
47
+ TaskBlockedEventData,
48
+ TaskUnblockedEventData,
49
+ CycleDetectedEventData,
50
+ DagUpdatedEventData,
51
+ DependencyAddedEventData,
52
+ DependencyRemovedEventData,
53
+ } from '../events/event-definitions/DagEvents.js';
54
+ import {
55
+ TensorFlowEvents,
56
+ ModelRegisteredEventData,
57
+ ModelTrainingStartedEventData,
58
+ ModelTrainingCompletedEventData,
59
+ ModelTrainingFailedEventData,
60
+ ModelLoadedEventData,
61
+ ModelSavedEventData,
62
+ InferenceCompletedEventData,
63
+ InferenceFallbackEventData,
64
+ MemoryWarningEventData,
65
+ MemoryStatsEventData,
66
+ } from '../events/event-definitions/TensorFlowEvents.js';
67
+ import {
68
+ UserInputEvents,
69
+ UserInputRequestData,
70
+ UserInputResponseData,
71
+ UserInputCancelledData,
72
+ UserInputTimeoutData,
73
+ } from '../events/event-definitions/UserInputEvents.js';
74
+ import {
75
+ CompactionEvents,
76
+ MicrocompactionAppliedPayload,
77
+ AutoCompactionTriggeredPayload,
78
+ ReactiveCompactionTriggeredPayload,
79
+ PostCompactionRestoredPayload,
80
+ CompactionSummaryGeneratedPayload,
81
+ } from '../events/event-definitions/CompactionEvents.js';
82
+
83
+ // Create logger instance for event payload schema
84
+ const logger = new Logger('warn', 'EventPayloadSchema', 'server');
85
+
86
+ /** Agent ID for system-level events not tied to a specific agent (e.g., MxfMLService, PredictiveAnalyticsService) */
87
+ export const SYSTEM_AGENT_ID: AgentId = 'system' as AgentId;
88
+
89
+ /** Channel ID for system-level events not tied to a specific channel */
90
+ export const SYSTEM_CHANNEL_ID: ChannelId = 'system' as ChannelId;
91
+
92
+ /**
93
+ * Base interface for all event payloads.
94
+ * Enforces mandatory fields for all events in the system.
95
+ */
96
+ export interface BaseEventPayload<TData = any> {
97
+ eventId: string; // Unique identifier for this specific event instance (auto-generated UUID)
98
+ eventType: EventName | string; // The specific type of event (e.g., Events.ControlLoop.INITIALIZE)
99
+ timestamp: number; // Unix timestamp (milliseconds) when the event was created (auto-generated)
100
+ agentId: AgentId; // ID of the agent primarily associated with this event
101
+ channelId: ChannelId; // ID of the channel primarily associated with this event
102
+ source?: string; // Optional: The component or module that originated the event
103
+ isRecursionProtection?: boolean; // Optional: Flag to prevent recursive event processing
104
+ data: TData; // Event-specific data
105
+ }
106
+
107
+ // --- Specific Event Data Interfaces & Payloads ---
108
+
109
+ /**
110
+ * Data for connection-related events.
111
+ */
112
+ export interface ConnectionEventData {
113
+ connectionId: string;
114
+ status: 'connected' | 'disconnected' | 'error';
115
+ error?: string;
116
+ }
117
+ export type ConnectionEventPayload = BaseEventPayload<ConnectionEventData>;
118
+
119
+ /**
120
+ * Data for agent-related events (e.g., registration, status changes not covered by simple connection status).
121
+ */
122
+ export interface AgentEventData {
123
+ name?: string;
124
+ type?: string;
125
+ capabilities?: string[];
126
+ status?: string; // e.g., 'registered', 'updated', 'unregistered'
127
+ metadata?: Record<string, any>;
128
+ [key: string]: any;
129
+ }
130
+ export type AgentEventPayload = BaseEventPayload<AgentEventData>;
131
+
132
+ /**
133
+ * Data for LLM reasoning events - captures reasoning tokens from advanced models
134
+ */
135
+ export interface LlmReasoningEventData {
136
+ reasoning: string; // The reasoning content from the model
137
+ modelName?: string; // Model that generated the reasoning
138
+ reasoningTokens?: number; // Number of reasoning tokens used
139
+ provider?: string; // Provider (e.g., 'openai', 'anthropic', 'openrouter')
140
+ config?: { // Configuration used for reasoning
141
+ effort?: 'low' | 'medium' | 'high';
142
+ maxTokens?: number;
143
+ exclude?: boolean;
144
+ };
145
+ timestamp?: number; // When reasoning was generated
146
+ metadata?: Record<string, any>; // Additional provider-specific data
147
+ }
148
+ export type LlmReasoningEventPayload = BaseEventPayload<LlmReasoningEventData>;
149
+
150
+ /**
151
+ * Data for LLM reasoning parsed events - when reasoning text is parsed for tool intentions
152
+ */
153
+ export interface LlmReasoningParsedEventData {
154
+ reasoning: string; // The reasoning text that was parsed
155
+ toolIntentions: Array<{ // Tool intentions extracted from reasoning
156
+ toolName: string;
157
+ arguments: Record<string, any>;
158
+ confidence: number;
159
+ reasoning: string;
160
+ }>;
161
+ parseMethod: 'structured' | 'heuristic' | 'failed'; // Method used for parsing
162
+ toolCount: number; // Number of tool intentions found
163
+ parseSuccessful: boolean; // Whether parsing was successful
164
+ metadata?: Record<string, any>; // Additional parse metadata
165
+ }
166
+ export type LlmReasoningParsedEventPayload = BaseEventPayload<LlmReasoningParsedEventData>;
167
+
168
+ /**
169
+ * Data for LLM reasoning tools synthesized events - when tool_calls are created from reasoning
170
+ */
171
+ export interface LlmReasoningToolsSynthesizedEventData {
172
+ toolCalls: Array<{ // Synthesized tool calls
173
+ type: string;
174
+ id: string;
175
+ name: string;
176
+ input: Record<string, any>;
177
+ }>;
178
+ toolIntentions: Array<{ // Original intentions that led to synthesis
179
+ toolName: string;
180
+ arguments: Record<string, any>;
181
+ confidence: number;
182
+ reasoning: string;
183
+ }>;
184
+ parseMethod: 'structured' | 'heuristic' | 'failed'; // Method that found the intentions
185
+ synthesisSuccessful: boolean; // Whether synthesis was successful
186
+ metadata?: Record<string, any>; // Additional synthesis metadata
187
+ }
188
+ export type LlmReasoningToolsSynthesizedEventPayload = BaseEventPayload<LlmReasoningToolsSynthesizedEventData>;
189
+
190
+ /**
191
+ * Data for LLM streaming chunk events — partial tokens emitted during streaming responses.
192
+ * Used by the TUI ThinkingIndicator to show live output preview.
193
+ */
194
+ export interface LlmStreamChunkEventData {
195
+ /** The partial text content received in this chunk */
196
+ chunk: string;
197
+ /** When this chunk was received */
198
+ timestamp: number;
199
+ }
200
+ export type LlmStreamChunkEventPayload = BaseEventPayload<LlmStreamChunkEventData>;
201
+
202
+ /**
203
+ * Data for LLM usage events — captures token counts for cost tracking.
204
+ * Emitted after each LLM response alongside LLM_RESPONSE.
205
+ */
206
+ export interface LlmUsageEventData {
207
+ /** Model that generated the response */
208
+ model: string;
209
+ /** Number of input (prompt) tokens consumed */
210
+ inputTokens: number;
211
+ /** Number of output (completion) tokens generated */
212
+ outputTokens: number;
213
+ /** Total tokens consumed (input + output) */
214
+ totalTokens: number;
215
+ /** When the usage was recorded */
216
+ timestamp: number;
217
+ }
218
+ export type LlmUsageEventPayload = BaseEventPayload<LlmUsageEventData>;
219
+
220
+ /**
221
+ * Interface for agent registration events
222
+ */
223
+ export interface AgentRegistrationEventData {
224
+ agentId: string;
225
+ socketId: string;
226
+ timestamp: number;
227
+ channelId?: string;
228
+ capabilities?: string[];
229
+ status: 'pending' | 'registered' | 'error';
230
+ error?: string;
231
+ }
232
+
233
+ /**
234
+ * Payload type for agent registration events
235
+ */
236
+ export type AgentRegistrationEventPayload = BaseEventPayload<AgentRegistrationEventData>;
237
+
238
+ /**
239
+ * Interface for agent connection events
240
+ */
241
+ export interface AgentConnectionEventData {
242
+ agentId: string;
243
+ socketId: string;
244
+ timestamp: number;
245
+ channelId?: string;
246
+ status: 'connecting' | 'connected' | 'error';
247
+ error?: string;
248
+ }
249
+
250
+ /**
251
+ * Payload type for agent connection events
252
+ */
253
+ export type AgentConnectionEventPayload = BaseEventPayload<AgentConnectionEventData>;
254
+
255
+ /**
256
+ * Interface for agent join events
257
+ */
258
+ export interface AgentJoinEventData {
259
+ agentId: string;
260
+ channelId: string;
261
+ timestamp: number;
262
+ }
263
+
264
+ /**
265
+ * Payload type for agent join events
266
+ */
267
+ export type AgentJoinEventPayload = BaseEventPayload<AgentJoinEventData>;
268
+
269
+ /**
270
+ * Interface for agent leave events
271
+ */
272
+ export interface AgentLeaveEventData {
273
+ agentId: string;
274
+ channelId: string;
275
+ timestamp: number;
276
+ }
277
+
278
+ /**
279
+ * Payload type for agent leave events
280
+ */
281
+ export type AgentLeaveEventPayload = BaseEventPayload<AgentLeaveEventData>;
282
+
283
+ /**
284
+ * Data for allowed tools update events.
285
+ * Used when dynamically changing an agent's allowed tools during runtime.
286
+ */
287
+ export interface AllowedToolsUpdateEventData {
288
+ allowedTools: string[];
289
+ }
290
+
291
+ /**
292
+ * Payload type for allowed tools update events
293
+ */
294
+ export type AllowedToolsUpdateEventPayload = BaseEventPayload<AllowedToolsUpdateEventData>;
295
+
296
+ /**
297
+ * Data for channel-related events (e.g., created, joined, left, deleted).
298
+ */
299
+ export interface ChannelEventData {
300
+ name?: string; // e.g., channel name for creation events
301
+ action: ChannelActionType | 'created' | 'deleted' | 'updated' | 'archived'; // Extended for more channel actions
302
+ targetAgentId?: AgentId; // e.g., for agent_joined, agent_left events
303
+ metadata?: Record<string, any>;
304
+ [key: string]: any;
305
+ }
306
+ export type ChannelEventPayload = BaseEventPayload<ChannelEventData>;
307
+
308
+ /**
309
+ * Data for subscription-related events within a channel.
310
+ */
311
+ export interface SubscriptionEventData {
312
+ // agentId for who is subscribing/unsubscribing is BaseEventPayload.agentId
313
+ // channelId for the subscription is BaseEventPayload.channelId
314
+ action: 'subscribe' | 'unsubscribe';
315
+ targetEvent?: EventName | string; // Optional: if subscribing to a specific event type
316
+ [key: string]: any;
317
+ }
318
+ export type SubscriptionEventPayload = BaseEventPayload<SubscriptionEventData>;
319
+
320
+ /**
321
+ * Data for task request events.
322
+ */
323
+ export interface TaskEventData {
324
+ taskId: string;
325
+ fromAgentId?: AgentId; // Agent initiating the task (could be different from BaseEventPayload.agentId if event is relayed)
326
+ toAgentId?: AgentId; // Agent designated to perform the task
327
+ task: any; // The task content/details — typing this union is the head of the SDK-API typing pass (15 sender contract drifts to reconcile)
328
+ }
329
+ export type TaskEventPayload = BaseEventPayload<TaskEventData>;
330
+
331
+ /**
332
+ * Data for task response events.
333
+ */
334
+ export interface TaskResponseEventData {
335
+ taskId: string;
336
+ fromAgentId?: AgentId; // Agent that performed the task and is sending the response
337
+ toAgentId?: AgentId; // Agent that originally requested the task
338
+ response: any; // The task response content/details — see task field note
339
+ error?: string; // Optional error if task execution failed
340
+ }
341
+ export type TaskResponseEventPayload = BaseEventPayload<TaskResponseEventData>;
342
+
343
+ /**
344
+ * Data for task assignment events.
345
+ */
346
+ export interface TaskAssignmentEventData {
347
+ taskId: string;
348
+ assignedAgentId: AgentId;
349
+ strategy: string;
350
+ confidence: number;
351
+ reasoning: string;
352
+ assignedAt: number;
353
+ estimatedCompletion?: number;
354
+ task: any; // Full task object for consistency with other task events — see TaskEventData.task note
355
+ }
356
+ export type TaskAssignmentEventPayload = BaseEventPayload<TaskAssignmentEventData>;
357
+
358
+ /**
359
+ * Data specific to control loop operations and lifecycle.
360
+ */
361
+ export interface ControlLoopSpecificData {
362
+ loopId: string; // Unique identifier for the control loop instance
363
+ status?: string; // Specific status of the control loop (e.g., 'initializing', 'running', 'paused', 'completed')
364
+ config?: Record<string, unknown>; // Control loop configuration
365
+ observation?: Observation | null; // Current observation
366
+ reasoning?: Reasoning | null; // Current reasoning
367
+ plan?: Plan | null; // Current plan
368
+ action?: PlanAction | null; // Current action (or action to be executed)
369
+ error?: string; // Error if any occurred within the loop's operation
370
+ context?: { [key: string]: any }; // Additional context specific to the loop's state or operation
371
+ [key: string]: any; // Allow for additional data
372
+ }
373
+ export type ControlLoopEventPayload = BaseEventPayload<ControlLoopSpecificData>;
374
+
375
+ // --- Memory Operation Event Data Interfaces & Payloads ---
376
+
377
+ /**
378
+ * Base data for all memory operations.
379
+ */
380
+ export interface BaseMemoryOperationData {
381
+ operationId: string; // Unique ID for this specific memory operation (can be used for correlation)
382
+ scope: MemoryScope;
383
+ id: string | string[]; // Identifier for the memory scope (e.g., agentId, channelId, relationshipId)
384
+ }
385
+
386
+ /**
387
+ * Data for memory GET request events.
388
+ */
389
+ export interface MemoryGetEventData extends BaseMemoryOperationData {
390
+ key?: string; // Optional: specific key to retrieve within the memory
391
+ filters?: Record<string, any>; // Optional: filters to apply if retrieving multiple items or a collection
392
+ }
393
+ export type MemoryGetEventPayload = BaseEventPayload<MemoryGetEventData>;
394
+
395
+ /**
396
+ * Data for memory GET result events.
397
+ */
398
+ export interface MemoryGetResultEventData extends BaseMemoryOperationData {
399
+ key?: string;
400
+ memory: IAgentMemory | IChannelMemory | IRelationshipMemory | Record<string, unknown> | null; // The retrieved memory data. Could be null or undefined if not found.
401
+ error?: string; // Error message if the GET operation failed
402
+ }
403
+ export type MemoryGetResultEventPayload = BaseEventPayload<MemoryGetResultEventData>;
404
+
405
+ /**
406
+ * Data for memory UPDATE request events.
407
+ */
408
+ export interface MemoryUpdateEventData extends BaseMemoryOperationData {
409
+ data: Record<string, any>; // The data to be written or updated in memory
410
+ metadata?: Record<string, any>; // Optional: metadata associated with this update operation
411
+ }
412
+ export type MemoryUpdateEventPayload = BaseEventPayload<MemoryUpdateEventData>;
413
+
414
+ /**
415
+ * Data for memory UPDATE result events.
416
+ */
417
+ export interface MemoryUpdateResultEventData extends BaseMemoryOperationData {
418
+ memory: IAgentMemory | IChannelMemory | IRelationshipMemory | Record<string, unknown> | null; // The state of the memory after the update. Can be the updated object or a success indicator.
419
+ error?: string; // Error message if the UPDATE operation failed
420
+ }
421
+ export type MemoryUpdateResultEventPayload = BaseEventPayload<MemoryUpdateResultEventData>;
422
+
423
+ /**
424
+ * Data for memory DELETE request events.
425
+ */
426
+ export interface MemoryDeleteEventData extends BaseMemoryOperationData {
427
+ key?: string; // Optional: specific key to delete within the memory scope
428
+ }
429
+ export type MemoryDeleteEventPayload = BaseEventPayload<MemoryDeleteEventData>;
430
+
431
+ /**
432
+ * Data for memory DELETE result events.
433
+ */
434
+ export interface MemoryDeleteResultEventData extends BaseMemoryOperationData {
435
+ key?: string; // If a specific key was targeted for deletion
436
+ success: boolean;
437
+ deletedCount?: number; // Optional: if multiple items could be deleted
438
+ error?: string; // Error message if the DELETE operation failed
439
+ }
440
+ export type MemoryDeleteResultEventPayload = BaseEventPayload<MemoryDeleteResultEventData>;
441
+
442
+ /**
443
+ * Data for memory SYNC request events.
444
+ */
445
+ export interface MemorySyncRequestData extends BaseMemoryOperationData {
446
+ // Additional sync-specific parameters can be added here
447
+ target?: 'local' | 'remote' | 'bidirectional'; // Example: direction of sync
448
+ }
449
+ export type MemorySyncRequestPayload = BaseEventPayload<MemorySyncRequestData>;
450
+
451
+ /**
452
+ * Data for memory SYNC COMPLETE events.
453
+ */
454
+ export interface MemorySyncCompleteData extends BaseMemoryOperationData {
455
+ itemCount?: number; // Number of items synced
456
+ statusMessage?: string;
457
+ }
458
+ export type MemorySyncCompletePayload = BaseEventPayload<MemorySyncCompleteData>;
459
+
460
+ /**
461
+ * Data for memory SYNC ERROR events.
462
+ */
463
+ export interface MemorySyncErrorData extends BaseMemoryOperationData {
464
+ error: string;
465
+ details?: any;
466
+ }
467
+ export type MemorySyncErrorPayload = BaseEventPayload<MemorySyncErrorData>;
468
+
469
+ // --- Specific Memory Request Payload Interfaces (for SDK/client-side construction of requests) ---
470
+ // These are not full BaseEventPayloads, but the 'data' portion the SDK Handler will wrap.
471
+
472
+ /**
473
+ * Base structure for memory operation request payloads before they are wrapped into a full BaseEventPayload.
474
+ * This is typically what SDK methods like sendMemoryRequest expect as their 'payload' argument.
475
+ */
476
+ export interface BaseMemoryRequest {
477
+ scope: MemoryScope;
478
+ id: string | string[]; // Identifier for the memory scope (e.g., agentId, channelId, relationshipId)
479
+ channelId: string; // Channel context for the request
480
+ }
481
+
482
+ /**
483
+ * Request payload for getting memory.
484
+ */
485
+ export interface MemoryGetRequest extends BaseMemoryRequest {
486
+ key?: string; // Optional: specific key to retrieve within the memory
487
+ filters?: Record<string, any>; // Optional: filters to apply if retrieving multiple items or a collection
488
+ }
489
+
490
+ /**
491
+ * Request payload for creating memory.
492
+ */
493
+ export interface MemoryCreateRequest<TData = any> extends BaseMemoryRequest {
494
+ data: TData; // Data to be stored
495
+ }
496
+
497
+ /**
498
+ * Request payload for updating memory.
499
+ */
500
+ export interface MemoryUpdateRequest<TData = any> extends BaseMemoryRequest {
501
+ data: Partial<TData>; // Partial data for update
502
+ key?: string; // Optional key for specific entry update
503
+ }
504
+
505
+ /**
506
+ * Request payload for deleting memory.
507
+ */
508
+ export interface MemoryDeleteRequest extends BaseMemoryRequest {
509
+ key?: string; // Optional: specific key to delete within the memory scope
510
+ }
511
+
512
+ /**
513
+ * Union type for all possible memory request payloads that sendMemoryRequest can handle.
514
+ */
515
+ export type MemoryRequestPayload =
516
+ | MemoryGetRequest
517
+ | MemoryCreateRequest<any>
518
+ | MemoryUpdateRequest<any>
519
+ | MemoryDeleteRequest;
520
+
521
+ // --- MCP (Model Control Plane) Event Data ---
522
+ // Placeholder for MCP specific events if they need to be standardized here
523
+ // Example: Tool registration, call, result events if they are to be treated as BaseEventPayload compliant
524
+
525
+ export interface McpToolEventData {
526
+ toolName: string;
527
+ toolVersion?: string;
528
+ [key: string]: any; // For additional properties like arguments, results, errors
529
+ }
530
+ export type McpToolRegisteredEventPayload = BaseEventPayload<McpToolEventData & { registrationDetails: any }>;
531
+ export type McpToolUnregisteredEventPayload = BaseEventPayload<McpToolEventData>;
532
+ export type McpToolCallEventPayload = BaseEventPayload<McpToolEventData & { callId: string; arguments: any }>;
533
+ export type McpToolResultEventPayload = BaseEventPayload<McpToolEventData & { callId: string; result: any }>;
534
+ export type McpToolErrorEventPayload = BaseEventPayload<McpToolEventData & { callId: string; error: any }>;
535
+
536
+ // Client-side tool execution payload types
537
+ export interface McpToolCallCompletedLocalData {
538
+ callId: string;
539
+ toolName: string;
540
+ input: any;
541
+ result: any;
542
+ durationMs: number;
543
+ source: 'internal' | 'external-mcp';
544
+ executedOn: 'client';
545
+ }
546
+ export type McpToolCallCompletedLocalEventPayload = BaseEventPayload<McpToolCallCompletedLocalData>;
547
+
548
+ export interface McpResourceEventData {
549
+ resourceUri: string;
550
+ resourceType?: string;
551
+ [key: string]: any; // For additional properties like data, errors
552
+ }
553
+ export type McpResourceGetEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string }>;
554
+ export type McpResourceListEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; filter?: any }>;
555
+ export type McpResourceResultEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; data: any }>;
556
+ export type McpResourceErrorEventPayload = BaseEventPayload<McpResourceEventData & { requestId: string; error: any }>;
557
+
558
+ /**
559
+ * Data for external MCP server events (global and channel-scoped)
560
+ */
561
+ export interface ExternalMcpServerEventData {
562
+ serverId: string;
563
+ serverName?: string;
564
+ scope: 'global' | 'channel' | 'agent';
565
+ scopeId?: string; // channelId for channel scope, agentId for agent scope
566
+ success?: boolean;
567
+ error?: string;
568
+ message?: string;
569
+ toolsDiscovered?: string[];
570
+ status?: 'stopped' | 'starting' | 'running' | 'error';
571
+ connectedAgents?: number;
572
+ [key: string]: any;
573
+ }
574
+ export type ExternalMcpServerEventPayload = BaseEventPayload<ExternalMcpServerEventData>;
575
+
576
+
577
+ // --- Event Payloads Carrying Standard Messages ---
578
+
579
+ /**
580
+ * Data for generic message-related events.
581
+ * This is used as the 'data' field in events like Events.Message.CHANNEL_MESSAGE or Events.Message.AGENT_MESSAGE.
582
+ */
583
+ export interface MessageEventData {
584
+ /**
585
+ * The actual message content, which can be a ChannelMessage or AgentMessage.
586
+ * This reuses the detailed message structures from MessageSchemas.ts.
587
+ */
588
+ message: ChannelMessage | AgentMessage;
589
+
590
+ /**
591
+ * Optional error message if processing or delivery of the message failed.
592
+ */
593
+ error?: string;
594
+
595
+ /**
596
+ * Allows for additional, event-specific properties if needed.
597
+ */
598
+ [key: string]: any;
599
+ }
600
+
601
+ export type MessageEventPayload = BaseEventPayload<MessageEventData>;
602
+
603
+ /**
604
+ * Event payload for events that carry a standard ChannelMessage.
605
+ */
606
+ export type ChannelMessageEventPayload = BaseEventPayload<ChannelMessage>;
607
+
608
+ /**
609
+ * Event payload for events that carry a standard AgentMessage.
610
+ */
611
+ export type AgentMessageEventPayload = BaseEventPayload<AgentMessage>;
612
+
613
+ /**
614
+ * Payload type for message persistence failure.
615
+ */
616
+ export interface MessagePersistFailedPayload {
617
+ channelId?: string; // The channel ID for which persistence was attempted
618
+ messageId?: string; // The ID of the message, if available
619
+ originalMessage?: Partial<ChannelMessage>; // The original message data that failed to persist
620
+ error: string; // Description of the error
621
+ timestamp: number; // Timestamp of when the error occurred
622
+ fromAgentId?: string; // ID of the agent that initiated the original request, if applicable
623
+ }
624
+
625
+ /**
626
+ * Payload type for message send failure.
627
+ */
628
+ export interface MessageSendFailedPayload {
629
+ channelId?: string; // The channel ID to which the message was intended
630
+ messageId?: string; // The ID of the message that failed to send
631
+ originalMessage?: Partial<ChannelMessage>; // The original message data
632
+ error: string; // Description of the error
633
+ timestamp: number; // Timestamp of when the error occurred
634
+ fromAgentId?: string; // ID of the agent that sent the message, if applicable
635
+ }
636
+
637
+ // --- Helper Functions ---
638
+
639
+ /**
640
+ * Creates a standardized base event payload.
641
+ * This is the core function for generating all event payloads in the system.
642
+ *
643
+ * @param eventType - The specific type of event (e.g., Events.ControlLoop.INITIALIZE).
644
+ * @param agentId - ID of the agent primarily associated with this event.
645
+ * @param channelId - ID of the channel primarily associated with this event.
646
+ * @param data - The event-specific data.
647
+ * @param options - Optional parameters like source, recursion protection, or overrides for eventId and timestamp.
648
+ * @returns A fully formed BaseEventPayload.
649
+ */
650
+ export function createBaseEventPayload<TData>(
651
+ eventType: EventName | string,
652
+ agentId: AgentId,
653
+ channelId: ChannelId,
654
+ data: TData,
655
+ options: {
656
+ source?: string;
657
+ isRecursionProtection?: boolean;
658
+ eventId?: string;
659
+ timestamp?: number;
660
+ } = {}
661
+ ): BaseEventPayload<TData> {
662
+ const validator = createStrictValidator('createBaseEventPayload');
663
+ validator.assertIsNonEmptyString(eventType, 'eventType');
664
+ validator.assertIsNonEmptyString(agentId, 'agentId');
665
+ validator.assertIsNonEmptyString(channelId, 'channelId'); // Enforcing channelId as per requirement
666
+ // data can be anything, so no generic validation here, specific helpers can validate their data.
667
+
668
+ return {
669
+ eventId: options.eventId || uuidv4(),
670
+ eventType,
671
+ timestamp: options.timestamp || Date.now(),
672
+ agentId,
673
+ channelId,
674
+ source: options.source,
675
+ isRecursionProtection: options.isRecursionProtection,
676
+ data,
677
+ };
678
+ }
679
+
680
+ // --- Specific Event Payload Creator Helpers ---
681
+
682
+ /**
683
+ * Creates a ConnectionEventPayload.
684
+ * @param eventType - The specific connection event type (e.g., Events.Agent.CONNECTED, Events.Agent.DISCONNECTED).
685
+ * @param agentId - The Agent ID involved in the connection event.
686
+ * @param channelId - The Channel ID context for this event (can be a default/system channel if not specific).
687
+ * @param connectionData - The specific data for the connection event.
688
+ * @param options - Optional base event payload options.
689
+ * @returns A ConnectionEventPayload.
690
+ */
691
+ export function createConnectionEventPayload(
692
+ eventType: EventName | string,
693
+ agentId: AgentId,
694
+ channelId: ChannelId,
695
+ connectionData: ConnectionEventData,
696
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
697
+ ): ConnectionEventPayload {
698
+ return createBaseEventPayload<ConnectionEventData>(eventType, agentId, channelId, connectionData, options);
699
+ }
700
+
701
+ /**
702
+ * Creates an AgentEventPayload.
703
+ * @param eventType - The specific agent event type (e.g., Events.Agent.REGISTERED, Events.Agent.STATUS_CHANGE).
704
+ * @param agentId - The Agent ID to whom this event pertains.
705
+ * @param channelId - The Channel ID context for this agent event.
706
+ * @param agentData - The specific data for the agent event.
707
+ * @param options - Optional base event payload options.
708
+ * @returns An AgentEventPayload.
709
+ */
710
+ export function createAgentEventPayload(
711
+ eventType: EventName | string,
712
+ agentId: AgentId,
713
+ channelId: ChannelId,
714
+ agentData: AgentEventData,
715
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
716
+ ): AgentEventPayload {
717
+ return createBaseEventPayload<AgentEventData>(eventType, agentId, channelId, agentData, options);
718
+ }
719
+
720
+ /**
721
+ * Creates an AllowedToolsUpdateEventPayload.
722
+ * Used when dynamically changing an agent's allowed tools during runtime.
723
+ *
724
+ * @param eventType - The event type (e.g., Events.Agent.ALLOWED_TOOLS_UPDATE).
725
+ * @param agentId - The Agent ID whose tools are being updated.
726
+ * @param channelId - The Channel ID context for the update.
727
+ * @param allowedTools - The new list of allowed tool names.
728
+ * @param options - Optional base event payload options.
729
+ * @returns An AllowedToolsUpdateEventPayload.
730
+ */
731
+ export function createAllowedToolsUpdateEventPayload(
732
+ eventType: EventName | string,
733
+ agentId: AgentId,
734
+ channelId: ChannelId,
735
+ allowedTools: string[],
736
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
737
+ ): AllowedToolsUpdateEventPayload {
738
+ return createBaseEventPayload<AllowedToolsUpdateEventData>(
739
+ eventType, agentId, channelId,
740
+ { allowedTools },
741
+ options
742
+ );
743
+ }
744
+
745
+ /**
746
+ * Creates an LLM Reasoning EventPayload.
747
+ * @param eventType - The specific LLM reasoning event type (e.g., AgentEvents.LLM_REASONING).
748
+ * @param agentId - The Agent ID that generated the reasoning.
749
+ * @param channelId - The Channel ID context for this reasoning event.
750
+ * @param reasoningData - The specific data for the reasoning event.
751
+ * @param options - Optional base event payload options.
752
+ * @returns An LlmReasoningEventPayload.
753
+ */
754
+ export function createLlmReasoningEventPayload(
755
+ eventType: EventName | string,
756
+ agentId: AgentId,
757
+ channelId: ChannelId,
758
+ reasoningData: LlmReasoningEventData,
759
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
760
+ ): LlmReasoningEventPayload {
761
+ // Add validation for reasoning data
762
+ const validator = createStrictValidator('LlmReasoningEventPayload');
763
+ validator.assertIsNonEmptyString(reasoningData.reasoning, 'Reasoning content is required');
764
+
765
+ return createBaseEventPayload<LlmReasoningEventData>(eventType, agentId, channelId, reasoningData, options);
766
+ }
767
+
768
+ /**
769
+ * Creates an LlmReasoningParsedEventPayload.
770
+ * Used when reasoning text is parsed for tool intentions.
771
+ *
772
+ * @param eventType - The specific event type (e.g., AgentEvents.LLM_REASONING_PARSED).
773
+ * @param agentId - The Agent ID that generated the reasoning.
774
+ * @param channelId - The Channel ID for the agent.
775
+ * @param parsedData - The parsed reasoning data including tool intentions.
776
+ * @param options - Optional base event payload options.
777
+ * @returns An LlmReasoningParsedEventPayload.
778
+ */
779
+ export function createLlmReasoningParsedEventPayload(
780
+ eventType: EventName | string,
781
+ agentId: AgentId,
782
+ channelId: ChannelId,
783
+ parsedData: LlmReasoningParsedEventData,
784
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
785
+ ): LlmReasoningParsedEventPayload {
786
+ // Add validation for parsed data
787
+ const validator = createStrictValidator('LlmReasoningParsedEventPayload');
788
+ validator.assertIsNonEmptyString(parsedData.reasoning, 'Reasoning content is required');
789
+ validator.assertIsArray(parsedData.toolIntentions, 'Tool intentions must be an array');
790
+
791
+ return createBaseEventPayload<LlmReasoningParsedEventData>(eventType, agentId, channelId, parsedData, options);
792
+ }
793
+
794
+ /**
795
+ * Creates an LlmReasoningToolsSynthesizedEventPayload.
796
+ * Used when tool_calls are synthesized from reasoning intentions.
797
+ *
798
+ * @param eventType - The specific event type (e.g., AgentEvents.LLM_REASONING_TOOLS_SYNTHESIZED).
799
+ * @param agentId - The Agent ID that generated the reasoning.
800
+ * @param channelId - The Channel ID for the agent.
801
+ * @param synthesizedData - The synthesized tool calls data.
802
+ * @param options - Optional base event payload options.
803
+ * @returns An LlmReasoningToolsSynthesizedEventPayload.
804
+ */
805
+ export function createLlmReasoningToolsSynthesizedEventPayload(
806
+ eventType: EventName | string,
807
+ agentId: AgentId,
808
+ channelId: ChannelId,
809
+ synthesizedData: LlmReasoningToolsSynthesizedEventData,
810
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
811
+ ): LlmReasoningToolsSynthesizedEventPayload {
812
+ // Add validation for synthesized data
813
+ const validator = createStrictValidator('LlmReasoningToolsSynthesizedEventPayload');
814
+ validator.assertIsArray(synthesizedData.toolCalls, 'Tool calls must be an array');
815
+ validator.assertIsArray(synthesizedData.toolIntentions, 'Tool intentions must be an array');
816
+
817
+ return createBaseEventPayload<LlmReasoningToolsSynthesizedEventData>(eventType, agentId, channelId, synthesizedData, options);
818
+ }
819
+
820
+ /**
821
+ * Creates an LLM Stream Chunk EventPayload for live TUI preview.
822
+ * Emitted during streaming LLM responses as partial tokens arrive.
823
+ *
824
+ * @param eventType - The event type (e.g., AgentEvents.LLM_STREAM_CHUNK).
825
+ * @param agentId - The Agent ID that is streaming.
826
+ * @param channelId - The Channel ID context for this streaming event.
827
+ * @param chunkData - The partial chunk data.
828
+ * @param options - Optional base event payload options.
829
+ * @returns An LlmStreamChunkEventPayload.
830
+ */
831
+ export function createLlmStreamChunkEventPayload(
832
+ eventType: EventName | string,
833
+ agentId: AgentId,
834
+ channelId: ChannelId,
835
+ chunkData: LlmStreamChunkEventData,
836
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
837
+ ): LlmStreamChunkEventPayload {
838
+ return createBaseEventPayload<LlmStreamChunkEventData>(eventType, agentId, channelId, chunkData, options);
839
+ }
840
+
841
+ /**
842
+ * Creates an LLM Usage EventPayload for token cost tracking.
843
+ * Emitted after each LLM response to track input/output token consumption.
844
+ *
845
+ * @param eventType - The event type (e.g., AgentEvents.LLM_USAGE).
846
+ * @param agentId - The Agent ID that consumed the tokens.
847
+ * @param channelId - The Channel ID context for this usage event.
848
+ * @param usageData - Token usage data from the LLM response.
849
+ * @param options - Optional base event payload options.
850
+ * @returns An LlmUsageEventPayload.
851
+ */
852
+ export function createLlmUsageEventPayload(
853
+ eventType: EventName | string,
854
+ agentId: AgentId,
855
+ channelId: ChannelId,
856
+ usageData: LlmUsageEventData,
857
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
858
+ ): LlmUsageEventPayload {
859
+ const validator = createStrictValidator('createLlmUsageEventPayload');
860
+ validator.assertIsObject(usageData, 'usageData');
861
+ validator.assertIsNonEmptyString(usageData.model, 'usageData.model');
862
+
863
+ return createBaseEventPayload<LlmUsageEventData>(eventType, agentId, channelId, usageData, options);
864
+ }
865
+
866
+ /**
867
+ * Creates a ChannelEventPayload.
868
+ * @param eventType - The specific channel event type (e.g., Events.Channel.CREATED, Events.Channel.AGENT_JOINED).
869
+ * @param agentId - The Agent ID initiating or primarily affected by the channel event.
870
+ * @param channelId - The Channel ID to which this event pertains.
871
+ * @param channelData - The specific data for the channel event.
872
+ * @param options - Optional base event payload options.
873
+ * @returns A ChannelEventPayload.
874
+ */
875
+ export function createChannelEventPayload(
876
+ eventType: EventName | string,
877
+ agentId: AgentId,
878
+ channelId: ChannelId,
879
+ channelData: ChannelEventData,
880
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
881
+ ): ChannelEventPayload {
882
+ return createBaseEventPayload<ChannelEventData>(eventType, agentId, channelId, channelData, options);
883
+ }
884
+
885
+ /**
886
+ * Creates a SubscriptionEventPayload.
887
+ * @param eventType - Usually Events.Channel.SUBSCRIBE or Events.Channel.UNSUBSCRIBE.
888
+ * @param agentId - The Agent ID performing the subscribe/unsubscribe action.
889
+ * @param channelId - The Channel ID where the subscription is happening.
890
+ * @param subscriptionData - The specific data for the subscription event.
891
+ * @param options - Optional base event payload options.
892
+ * @returns A SubscriptionEventPayload.
893
+ */
894
+ export function createSubscriptionEventPayload(
895
+ eventType: EventName | string,
896
+ agentId: AgentId,
897
+ channelId: ChannelId,
898
+ subscriptionData: SubscriptionEventData,
899
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
900
+ ): SubscriptionEventPayload {
901
+ return createBaseEventPayload<SubscriptionEventData>(eventType, agentId, channelId, subscriptionData, options);
902
+ }
903
+
904
+ /**
905
+ * Creates a TaskEventPayload (for task requests).
906
+ * @param eventType - Usually Events.Task.REQUEST.
907
+ * @param emittingAgentId - The Agent ID emitting this task request event.
908
+ * @param channelId - The Channel ID context for this task event.
909
+ * @param taskData - The specific data for the task request.
910
+ * @param options - Optional base event payload options.
911
+ * @returns A TaskEventPayload.
912
+ */
913
+ export function createTaskEventPayload<TData extends TaskEventData>(
914
+ eventType: EventName | string,
915
+ emittingAgentId: AgentId,
916
+ channelId: ChannelId,
917
+ taskData: TData,
918
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
919
+ ): TaskEventPayload & { data: TData } {
920
+ // Fail-fast validation for task event payload
921
+ const validator = createStrictValidator('TaskEventPayload');
922
+
923
+ // Validate required event parameters
924
+ validator.assertIsNonEmptyString(eventType, 'Event type is required');
925
+ validator.assertIsNonEmptyString(emittingAgentId, 'Emitting agent ID is required');
926
+ validator.assertIsNonEmptyString(channelId, 'Channel ID is required');
927
+
928
+ // Validate task data structure
929
+ validator.assertIsObject(taskData, 'Task data must be an object');
930
+ validator.assertIsNonEmptyString(taskData.taskId, 'Task ID is required');
931
+ //validator.assertIsNonEmptyString(taskData.toAgentId, 'Target agent ID is required');
932
+
933
+ // Task content is either a plain instruction string (simple request flow)
934
+ // or a creation-fields object — validate per shape.
935
+ const task = taskData.task;
936
+ if (typeof task === 'string') {
937
+ validator.assertIsNonEmptyString(task, 'Task instruction must be a non-empty string');
938
+ } else {
939
+ validator.assertIsObject(task, 'Task content must be an object');
940
+ validator.assertIsNonEmptyString(task.title, 'Task title is required');
941
+ validator.assertIsNonEmptyString(task.description, 'Task description is required');
942
+ validator.assertIsNonEmptyString(task.assignmentStrategy, 'Assignment strategy is required');
943
+
944
+ // Validate assignment scope and related fields
945
+ if (task.assignmentScope) {
946
+ const validScopes = ['single', 'multiple', 'channel-wide'];
947
+ validator.assert(
948
+ validScopes.includes(task.assignmentScope),
949
+ `Assignment scope must be one of: ${validScopes.join(', ')}`
950
+ );
951
+
952
+ // Validate multi-agent assignment requirements
953
+ if (task.assignmentScope === 'multiple') {
954
+ validator.assert(
955
+ Array.isArray(task.assignedAgentIds) && task.assignedAgentIds.length > 1,
956
+ 'Multiple assignment scope requires assignedAgentIds array with 2+ agents'
957
+ );
958
+ }
959
+
960
+ // Validate channel-wide assignment requirements
961
+ if (task.assignmentScope === 'channel-wide') {
962
+ validator.assert(
963
+ task.channelWideTask === true || (task.maxParticipants ?? 0) > 0,
964
+ 'Channel-wide assignment requires channelWideTask flag or maxParticipants limit'
965
+ );
966
+ }
967
+ }
968
+
969
+ // Validate coordination mode if specified
970
+ if (task.coordinationMode) {
971
+ const validModes = ['independent', 'collaborative', 'sequential', 'hierarchical'];
972
+ validator.assert(
973
+ validModes.includes(task.coordinationMode),
974
+ `Coordination mode must be one of: ${validModes.join(', ')}`
975
+ );
976
+ }
977
+ }
978
+
979
+ // Ensure fromAgentId is present in taskData, if not, use emittingAgentId
980
+ const dataWithFromAgent = { ...taskData, fromAgentId: taskData.fromAgentId || emittingAgentId };
981
+
982
+ // The spread widens the literal; the narrowed return is runtime-true
983
+ // because data IS the TData object the caller passed (plus fromAgentId).
984
+ return createBaseEventPayload(eventType, emittingAgentId, channelId, dataWithFromAgent as TData, options) as TaskEventPayload & { data: TData };
985
+ }
986
+
987
+ /**
988
+ * Creates a TaskResponseEventPayload.
989
+ * @param eventType - Usually Events.Task.RESPONSE.
990
+ * @param emittingAgentId - The Agent ID emitting this task response event (usually the one that performed the task).
991
+ * @param channelId - The Channel ID context for this task response event.
992
+ * @param taskResponseData - The specific data for the task response.
993
+ * @param options - Optional base event payload options.
994
+ * @returns A TaskResponseEventPayload.
995
+ */
996
+ export function createTaskResponseEventPayload(
997
+ eventType: EventName | string,
998
+ emittingAgentId: AgentId,
999
+ channelId: ChannelId,
1000
+ taskResponseData: TaskResponseEventData,
1001
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1002
+ ): TaskResponseEventPayload {
1003
+ // Ensure fromAgentId is present in taskResponseData, if not, use emittingAgentId
1004
+ const dataWithFromAgent = { ...taskResponseData, fromAgentId: taskResponseData.fromAgentId || emittingAgentId };
1005
+ return createBaseEventPayload<TaskResponseEventData>(eventType, emittingAgentId, channelId, dataWithFromAgent, options);
1006
+ }
1007
+
1008
+ /**
1009
+ * Creates a TaskAssignmentEventPayload.
1010
+ * @param eventType - Usually Events.Task.ASSIGNED.
1011
+ * @param assignedAgentId - The Agent ID that was assigned the task.
1012
+ * @param channelId - The Channel ID context for this task assignment event.
1013
+ * @param taskAssignmentData - The specific data for the task assignment.
1014
+ * @param options - Optional base event payload options.
1015
+ * @returns A TaskAssignmentEventPayload.
1016
+ */
1017
+ export function createTaskAssignmentEventPayload(
1018
+ eventType: EventName | string,
1019
+ assignedAgentId: AgentId,
1020
+ channelId: ChannelId,
1021
+ taskAssignmentData: TaskAssignmentEventData,
1022
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1023
+ ): TaskAssignmentEventPayload {
1024
+ return createBaseEventPayload<TaskAssignmentEventData>(eventType, assignedAgentId, channelId, taskAssignmentData, options);
1025
+ }
1026
+
1027
+ /**
1028
+ * Creates a ControlLoopEventPayload.
1029
+ * @param eventType - The specific control loop event type (e.g., Events.ControlLoop.INITIALIZE, Events.ControlLoop.OBSERVATION).
1030
+ * @param agentId - The Agent ID that owns/runs this control loop.
1031
+ * @param channelId - The Channel ID with which this control loop is associated.
1032
+ * @param controlLoopData - The specific data for the control loop event.
1033
+ * @param options - Optional base event payload options.
1034
+ * @returns A ControlLoopEventPayload.
1035
+ */
1036
+ export function createControlLoopEventPayload(
1037
+ eventType: EventName | string,
1038
+ agentId: AgentId,
1039
+ channelId: ChannelId,
1040
+ controlLoopData: ControlLoopSpecificData,
1041
+ options: { source?: string; eventId?: string; timestamp?: number; isRecursionProtection?: boolean; } = {}
1042
+ ): ControlLoopEventPayload {
1043
+ return createBaseEventPayload<ControlLoopSpecificData>(eventType, agentId, channelId, controlLoopData, options);
1044
+ }
1045
+
1046
+ // --- Memory Event Payload Creator Helpers ---
1047
+
1048
+ /**
1049
+ * Creates a MemoryGetEventPayload.
1050
+ * @param eventType - Usually Events.Memory.GET.
1051
+ * @param agentId - Agent requesting or involved in the memory operation.
1052
+ * @param channelId - Channel context for the memory operation.
1053
+ * @param memoryGetData - Specific data for the memory get request.
1054
+ * @param options - Optional base event payload options.
1055
+ * @returns A MemoryGetEventPayload.
1056
+ */
1057
+ export function createMemoryGetEventPayload(
1058
+ eventType: typeof Events.Memory.GET,
1059
+ agentId: AgentId,
1060
+ channelId: ChannelId,
1061
+ memoryGetData: MemoryGetEventData,
1062
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1063
+ ): MemoryGetEventPayload {
1064
+ const validator = createStrictValidator('createMemoryGetEventPayload');
1065
+ validator.assertIsNonEmptyString(memoryGetData.operationId, 'memoryGetData.operationId');
1066
+ validator.assert(
1067
+ Object.values(MemoryScope).includes(memoryGetData.scope),
1068
+ `memoryGetData.scope must be a valid MemoryScope value. Received: ${memoryGetData.scope}`
1069
+ );
1070
+ // Validate 'id' which is string | string[]
1071
+ if (Array.isArray(memoryGetData.id)) {
1072
+ validator.assert(memoryGetData.id.length > 0, 'memoryGetData.id array must not be empty');
1073
+ memoryGetData.id.forEach((item, index) => {
1074
+ validator.assertIsNonEmptyString(item, `memoryGetData.id[${index}] must be a non-empty string`);
1075
+ });
1076
+ } else {
1077
+ validator.assertIsNonEmptyString(memoryGetData.id, 'memoryGetData.id must be a non-empty string or a non-empty array of non-empty strings');
1078
+ }
1079
+ return createBaseEventPayload<MemoryGetEventData>(eventType, agentId, channelId, memoryGetData, options);
1080
+ }
1081
+
1082
+ /**
1083
+ * Creates a MemoryGetResultEventPayload.
1084
+ * @param eventType - Usually Events.Memory.GET_RESULT or Events.Memory.GET_ERROR.
1085
+ * @param agentId - Agent involved in the memory operation result.
1086
+ * @param channelId - Channel context for the memory operation result.
1087
+ * @param memoryGetResultData - Specific data for the memory get result.
1088
+ * @param options - Optional base event payload options.
1089
+ * @returns A MemoryGetResultEventPayload.
1090
+ */
1091
+ export function createMemoryGetResultEventPayload(
1092
+ eventType: typeof Events.Memory.GET_RESULT,
1093
+ agentId: AgentId,
1094
+ channelId: ChannelId,
1095
+ memoryGetResultData: MemoryGetResultEventData,
1096
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1097
+ ): MemoryGetResultEventPayload {
1098
+ const validator = createStrictValidator('createMemoryGetResultEventPayload');
1099
+ validator.assertIsNonEmptyString(memoryGetResultData.operationId, 'memoryGetResultData.operationId');
1100
+ validator.assert(
1101
+ Object.values(MemoryScope).includes(memoryGetResultData.scope),
1102
+ `memoryGetResultData.scope must be a valid MemoryScope value. Received: ${memoryGetResultData.scope}`
1103
+ );
1104
+ // Validate 'id' which is string | string[]
1105
+ if (Array.isArray(memoryGetResultData.id)) {
1106
+ validator.assert(memoryGetResultData.id.length > 0, 'memoryGetResultData.id array must not be empty');
1107
+ memoryGetResultData.id.forEach((item, index) => {
1108
+ validator.assertIsNonEmptyString(item, `memoryGetResultData.id[${index}] must be a non-empty string`);
1109
+ });
1110
+ } else {
1111
+ validator.assertIsNonEmptyString(memoryGetResultData.id, 'memoryGetResultData.id must be a non-empty string or a non-empty array of non-empty strings');
1112
+ }
1113
+ // memoryGetResultData.memory can be null/undefined if not found, so no strict check on its presence unless error is also absent.
1114
+ if (!memoryGetResultData.error && memoryGetResultData.memory === undefined) {
1115
+ // MemoryGetResultEventData created without memory or error - this is allowed for empty results
1116
+ }
1117
+ return createBaseEventPayload<MemoryGetResultEventData>(eventType, agentId, channelId, memoryGetResultData, options);
1118
+ }
1119
+
1120
+ /**
1121
+ * Creates a MemoryUpdateEventPayload.
1122
+ * @param eventType - Usually Events.Memory.UPDATE.
1123
+ * @param agentId - Agent requesting or involved in the memory update.
1124
+ * @param channelId - Channel context for the memory update.
1125
+ * @param memoryUpdateData - Specific data for the memory update request.
1126
+ * @param options - Optional base event payload options.
1127
+ * @returns A MemoryUpdateEventPayload.
1128
+ */
1129
+ export function createMemoryUpdateEventPayload(
1130
+ eventType: typeof Events.Memory.UPDATE,
1131
+ agentId: AgentId,
1132
+ channelId: ChannelId,
1133
+ memoryUpdateData: MemoryUpdateEventData,
1134
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1135
+ ): MemoryUpdateEventPayload {
1136
+ const validator = createStrictValidator('createMemoryUpdateEventPayload');
1137
+ validator.assertIsNonEmptyString(memoryUpdateData.operationId, 'memoryUpdateData.operationId');
1138
+ validator.assert(
1139
+ Object.values(MemoryScope).includes(memoryUpdateData.scope),
1140
+ `memoryUpdateData.scope must be a valid MemoryScope value. Received: ${memoryUpdateData.scope}`
1141
+ );
1142
+ // Validate 'id' which is string | string[]
1143
+ if (Array.isArray(memoryUpdateData.id)) {
1144
+ validator.assert(memoryUpdateData.id.length > 0, 'memoryUpdateData.id array must not be empty');
1145
+ memoryUpdateData.id.forEach((item, index) => {
1146
+ validator.assertIsNonEmptyString(item, `memoryUpdateData.id[${index}] must be a non-empty string`);
1147
+ });
1148
+ } else {
1149
+ validator.assertIsNonEmptyString(memoryUpdateData.id, 'memoryUpdateData.id must be a non-empty string or a non-empty array of non-empty strings');
1150
+ }
1151
+ validator.assertIsObject(memoryUpdateData.data, 'memoryUpdateData.data');
1152
+ return createBaseEventPayload<MemoryUpdateEventData>(eventType, agentId, channelId, memoryUpdateData, options);
1153
+ }
1154
+
1155
+ /**
1156
+ * Creates a MemoryUpdateResultEventPayload.
1157
+ * @param eventType - Usually Events.Memory.UPDATE_RESULT or Events.Memory.UPDATE_ERROR.
1158
+ * @param agentId - Agent involved in the memory update result.
1159
+ * @param channelId - Channel context for the memory update result.
1160
+ * @param memoryUpdateResultData - Specific data for the memory update result.
1161
+ * @param options - Optional base event payload options.
1162
+ * @returns A MemoryUpdateResultEventPayload.
1163
+ */
1164
+ export function createMemoryUpdateResultEventPayload(
1165
+ eventType: typeof Events.Memory.UPDATE_RESULT,
1166
+ agentId: AgentId,
1167
+ channelId: ChannelId,
1168
+ memoryUpdateResultData: MemoryUpdateResultEventData,
1169
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1170
+ ): MemoryUpdateResultEventPayload {
1171
+ const validator = createStrictValidator('createMemoryUpdateResultEventPayload');
1172
+ validator.assertIsNonEmptyString(memoryUpdateResultData.operationId, 'memoryUpdateResultData.operationId');
1173
+ validator.assert(
1174
+ Object.values(MemoryScope).includes(memoryUpdateResultData.scope),
1175
+ `memoryUpdateResultData.scope must be a valid MemoryScope value. Received: ${memoryUpdateResultData.scope}`
1176
+ );
1177
+ // Validate 'id' which is string | string[]
1178
+ if (Array.isArray(memoryUpdateResultData.id)) {
1179
+ validator.assert(memoryUpdateResultData.id.length > 0, 'memoryUpdateResultData.id array must not be empty');
1180
+ memoryUpdateResultData.id.forEach((item, index) => {
1181
+ validator.assertIsNonEmptyString(item, `memoryUpdateResultData.id[${index}] must be a non-empty string`);
1182
+ });
1183
+ } else {
1184
+ validator.assertIsNonEmptyString(memoryUpdateResultData.id, 'memoryUpdateResultData.id must be a non-empty string or a non-empty array of non-empty strings');
1185
+ }
1186
+ // memoryUpdateResultData.memory might not be strictly an object if e.g. indicating success only
1187
+ if (!memoryUpdateResultData.error && memoryUpdateResultData.memory === undefined) {
1188
+ // MemoryUpdateResultEventData created without memory or error - this is allowed for success indicators
1189
+ }
1190
+ return createBaseEventPayload<MemoryUpdateResultEventData>(eventType, agentId, channelId, memoryUpdateResultData, options);
1191
+ }
1192
+
1193
+ /**
1194
+ * Creates a MemoryDeleteEventPayload.
1195
+ * @param eventType - Usually Events.Memory.DELETE.
1196
+ * @param agentId - Agent requesting or involved in the memory deletion.
1197
+ * @param channelId - Channel context for the memory deletion.
1198
+ * @param memoryDeleteData - Specific data for the memory delete request.
1199
+ * @param options - Optional base event payload options.
1200
+ * @returns A MemoryDeleteEventPayload.
1201
+ */
1202
+ export function createMemoryDeleteEventPayload(
1203
+ eventType: typeof Events.Memory.DELETE,
1204
+ agentId: AgentId,
1205
+ channelId: ChannelId,
1206
+ memoryDeleteData: MemoryDeleteEventData,
1207
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1208
+ ): MemoryDeleteEventPayload {
1209
+ const validator = createStrictValidator('createMemoryDeleteEventPayload');
1210
+ validator.assertIsNonEmptyString(memoryDeleteData.operationId, 'memoryDeleteData.operationId');
1211
+ validator.assert(
1212
+ Object.values(MemoryScope).includes(memoryDeleteData.scope),
1213
+ `memoryDeleteData.scope must be a valid MemoryScope value. Received: ${memoryDeleteData.scope}`
1214
+ );
1215
+ // Validate 'id' which is string | string[]
1216
+ if (Array.isArray(memoryDeleteData.id)) {
1217
+ validator.assert(memoryDeleteData.id.length > 0, 'memoryDeleteData.id array must not be empty');
1218
+ memoryDeleteData.id.forEach((item, index) => {
1219
+ validator.assertIsNonEmptyString(item, `memoryDeleteData.id[${index}] must be a non-empty string`);
1220
+ });
1221
+ } else {
1222
+ validator.assertIsNonEmptyString(memoryDeleteData.id, 'memoryDeleteData.id must be a non-empty string or a non-empty array of non-empty strings');
1223
+ }
1224
+ return createBaseEventPayload<MemoryDeleteEventData>(eventType, agentId, channelId, memoryDeleteData, options);
1225
+ }
1226
+
1227
+ /**
1228
+ * Creates a MemoryDeleteResultEventPayload.
1229
+ * @param eventType - Usually Events.Memory.DELETE_RESULT or Events.Memory.DELETE_ERROR.
1230
+ * @param agentId - Agent involved in the memory deletion result.
1231
+ * @param channelId - Channel context for the memory deletion result.
1232
+ * @param memoryDeleteResultData - Specific data for the memory delete result.
1233
+ * @param options - Optional base event payload options.
1234
+ * @returns A MemoryDeleteResultEventPayload.
1235
+ */
1236
+ export function createMemoryDeleteResultEventPayload(
1237
+ eventType: typeof Events.Memory.DELETE_RESULT,
1238
+ agentId: AgentId,
1239
+ channelId: ChannelId,
1240
+ memoryDeleteResultData: MemoryDeleteResultEventData,
1241
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1242
+ ): MemoryDeleteResultEventPayload {
1243
+ const validator = createStrictValidator('createMemoryDeleteResultEventPayload');
1244
+ validator.assertIsNonEmptyString(memoryDeleteResultData.operationId, 'memoryDeleteResultData.operationId');
1245
+ validator.assert(
1246
+ Object.values(MemoryScope).includes(memoryDeleteResultData.scope),
1247
+ `memoryDeleteResultData.scope must be a valid MemoryScope value. Received: ${memoryDeleteResultData.scope}`
1248
+ );
1249
+ // Validate 'id' which is string | string[]
1250
+ if (Array.isArray(memoryDeleteResultData.id)) {
1251
+ validator.assert(memoryDeleteResultData.id.length > 0, 'memoryDeleteResultData.id array must not be empty');
1252
+ memoryDeleteResultData.id.forEach((item, index) => {
1253
+ validator.assertIsNonEmptyString(item, `memoryDeleteResultData.id[${index}] must be a non-empty string`);
1254
+ });
1255
+ } else {
1256
+ validator.assertIsNonEmptyString(memoryDeleteResultData.id, 'memoryDeleteResultData.id must be a non-empty string or a non-empty array of non-empty strings');
1257
+ }
1258
+ if (!memoryDeleteResultData.error && typeof memoryDeleteResultData.success !== 'boolean') {
1259
+ throw new Error('MemoryDeleteResultEventData requires a success flag if no error is provided.');
1260
+ }
1261
+ return createBaseEventPayload<MemoryDeleteResultEventData>(eventType, agentId, channelId, memoryDeleteResultData, options);
1262
+ }
1263
+
1264
+ /**
1265
+ * Creates a MemorySyncCompleteEventPayload.
1266
+ * @param eventType - Usually Events.Memory.SYNC_COMPLETE.
1267
+ * @param agentId - Agent involved in the memory sync operation.
1268
+ * @param channelId - Channel context for the memory sync operation.
1269
+ * @param memorySyncCompleteData - Specific data for the memory sync complete.
1270
+ * @param options - Optional base event payload options.
1271
+ * @returns A MemorySyncCompleteEventPayload.
1272
+ */
1273
+ export function createMemorySyncCompleteEventPayload(
1274
+ eventType: typeof Events.Memory.SYNC_COMPLETE,
1275
+ agentId: AgentId,
1276
+ channelId: ChannelId,
1277
+ memorySyncCompleteData: MemorySyncCompleteData,
1278
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1279
+ ): MemorySyncCompletePayload {
1280
+ const validator = createStrictValidator('createMemorySyncCompleteEventPayload');
1281
+ validator.assertIsNonEmptyString(memorySyncCompleteData.operationId, 'memorySyncCompleteData.operationId');
1282
+ validator.assert(
1283
+ Object.values(MemoryScope).includes(memorySyncCompleteData.scope),
1284
+ `memorySyncCompleteData.scope must be a valid MemoryScope value. Received: ${memorySyncCompleteData.scope}`
1285
+ );
1286
+ return createBaseEventPayload<MemorySyncCompleteData>(eventType, agentId, channelId, memorySyncCompleteData, options);
1287
+ }
1288
+
1289
+ /**
1290
+ * Creates a MemorySyncErrorEventPayload.
1291
+ * @param eventType - Usually Events.Memory.SYNC_ERROR.
1292
+ * @param agentId - Agent involved in the memory sync error.
1293
+ * @param channelId - Channel context for the memory sync error.
1294
+ * @param memorySyncErrorData - Specific data for the memory sync error.
1295
+ * @param options - Optional base event payload options.
1296
+ * @returns A MemorySyncErrorEventPayload.
1297
+ */
1298
+ export function createMemorySyncErrorEventPayload(
1299
+ eventType: typeof Events.Memory.SYNC_ERROR,
1300
+ agentId: AgentId,
1301
+ channelId: ChannelId,
1302
+ memorySyncErrorData: MemorySyncErrorData,
1303
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
1304
+ ): MemorySyncErrorPayload {
1305
+ const validator = createStrictValidator('createMemorySyncErrorEventPayload');
1306
+ validator.assertIsNonEmptyString(memorySyncErrorData.operationId, 'memorySyncErrorData.operationId');
1307
+ validator.assert(
1308
+ Object.values(MemoryScope).includes(memorySyncErrorData.scope),
1309
+ `memorySyncErrorData.scope must be a valid MemoryScope value. Received: ${memorySyncErrorData.scope}`
1310
+ );
1311
+ validator.assertIsNonEmptyString(memorySyncErrorData.error, 'memorySyncErrorData.error');
1312
+ return createBaseEventPayload<MemorySyncErrorData>(eventType, agentId, channelId, memorySyncErrorData, options);
1313
+ }
1314
+
1315
+ // --- Message Event Payload Creator Helpers ---
1316
+
1317
+ /**
1318
+ * Creates an event payload that carries a standard ChannelMessage.
1319
+ * @param eventType - The specific event type, e.g., Events.Message.CHANNEL_MESSAGE.
1320
+ * @param agentId - The Agent ID involved in processing or relaying this message event.
1321
+ * @param channelMessage - The ChannelMessage object itself.
1322
+ * @param options - Optional base event payload options.
1323
+ * @returns A ChannelMessageEventPayload.
1324
+ */
1325
+ export function createChannelMessageEventPayload(
1326
+ eventType: EventName | string,
1327
+ agentId: AgentId,
1328
+ channelMessage: ChannelMessage,
1329
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
1330
+ ): ChannelMessageEventPayload {
1331
+ const validator = createStrictValidator('createChannelMessageEventPayload');
1332
+ validator.assertIsObject(channelMessage, 'channelMessage');
1333
+ validator.assertIsNonEmptyString(channelMessage?.context?.channelId, 'channelMessage.context.channelId');
1334
+
1335
+ return createBaseEventPayload<ChannelMessage>(
1336
+ eventType,
1337
+ agentId,
1338
+ channelMessage.context.channelId, // Deriving channelId for BaseEventPayload from the message's context
1339
+ channelMessage,
1340
+ options
1341
+ );
1342
+ }
1343
+
1344
+ /**
1345
+ * Creates an event payload that carries a standard AgentMessage.
1346
+ * @param eventType - The specific event type, e.g., Events.Message.AGENT_MESSAGE.
1347
+ * @param agentId - The Agent ID involved in this agent message event (e.g., sender or receiver based on context).
1348
+ * @param channelId - The Channel ID providing context for this agent message event.
1349
+ * @param agentMessage - The AgentMessage object itself.
1350
+ * @param options - Optional base event payload options.
1351
+ * @returns A AgentMessageEventPayload.
1352
+ */
1353
+ export function createAgentMessageEventPayload(
1354
+ eventType: EventName | string,
1355
+ agentId: AgentId,
1356
+ channelId: ChannelId,
1357
+ agentMessage: AgentMessage,
1358
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
1359
+ ): AgentMessageEventPayload {
1360
+ const validator = createStrictValidator('createAgentMessageEventPayload');
1361
+ validator.assertIsObject(agentMessage, 'agentMessage');
1362
+ // agentMessage.receiverId is validated by its own creator typically
1363
+
1364
+ return createBaseEventPayload<AgentMessage>(
1365
+ eventType,
1366
+ agentId,
1367
+ channelId, // Agent messages can still occur within a channel context for the event logging/tracing
1368
+ agentMessage,
1369
+ options
1370
+ );
1371
+ }
1372
+
1373
+ /**
1374
+ * Creates a MessageEventPayload for message persistence events.
1375
+ * @param eventType - The specific event type (e.g., Events.Message.PERSIST_CHANNEL_MESSAGE_REQUEST).
1376
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1377
+ * @param channelId - The ID of the channel associated with the event.
1378
+ * @param data - The specific data for the message event.
1379
+ * @param options - Optional overrides for eventId and timestamp.
1380
+ * @returns The complete event payload.
1381
+ */
1382
+ export const createMessageEventPayload = (
1383
+ eventType: string,
1384
+ agentId: AgentId,
1385
+ channelId: ChannelId,
1386
+ data: MessageEventData,
1387
+ options?: { eventId?: string; timestamp?: number }
1388
+ ): MessageEventPayload => ({
1389
+ eventId: options?.eventId || uuidv4(),
1390
+ eventType,
1391
+ timestamp: options?.timestamp || Date.now(),
1392
+ agentId,
1393
+ channelId,
1394
+ source: 'SYSTEM',
1395
+ data,
1396
+ });
1397
+
1398
+ /**
1399
+ * Creates a MessagePersistFailedPayload event payload.
1400
+ * @param eventType - The specific event type (e.g., Events.Message.MESSAGE_PERSIST_FAILED).
1401
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1402
+ * @param channelId - The ID of the channel associated with the event.
1403
+ * @param data - The specific data for the message persist failed event.
1404
+ * @param options - Optional overrides for eventId and timestamp.
1405
+ * @returns The complete event payload.
1406
+ */
1407
+ export const createMessagePersistFailedEventPayload = (
1408
+ eventType: string,
1409
+ agentId: AgentId,
1410
+ channelId: ChannelId,
1411
+ data: MessagePersistFailedPayload,
1412
+ options?: { eventId?: string; timestamp?: number }
1413
+ ): BaseEventPayload<MessagePersistFailedPayload> => ({
1414
+ eventId: options?.eventId || uuidv4(),
1415
+ eventType,
1416
+ timestamp: options?.timestamp || Date.now(),
1417
+ agentId,
1418
+ channelId,
1419
+ source: 'SYSTEM',
1420
+ data,
1421
+ });
1422
+
1423
+ /**
1424
+ * Creates a MessageSendFailedPayload event payload.
1425
+ * @param eventType - The specific event type (e.g., Events.Message.MESSAGE_SEND_FAILED).
1426
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1427
+ * @param channelId - The ID of the channel associated with the event.
1428
+ * @param data - The specific data for the message send failed event.
1429
+ * @param options - Optional overrides for eventId and timestamp.
1430
+ * @returns The complete event payload.
1431
+ */
1432
+ export const createMessageSendFailedEventPayload = (
1433
+ eventType: string,
1434
+ agentId: AgentId,
1435
+ channelId: ChannelId,
1436
+ data: MessageSendFailedPayload,
1437
+ options?: { eventId?: string; timestamp?: number }
1438
+ ): BaseEventPayload<MessageSendFailedPayload> => ({
1439
+ eventId: options?.eventId || uuidv4(),
1440
+ eventType,
1441
+ timestamp: options?.timestamp || Date.now(),
1442
+ agentId,
1443
+ channelId,
1444
+ source: 'SYSTEM',
1445
+ data,
1446
+ });
1447
+
1448
+ // --- LLM Service Event Payloads ---
1449
+
1450
+ /**
1451
+ * Data for LLM instruction started event.
1452
+ */
1453
+ export interface LlmInstructionStartedEventData {
1454
+ serviceId: string; // Unique ID for the LLM service instance or request context
1455
+ instructionId: string; // Unique ID for this specific instruction/prompt
1456
+ timestamp: number;
1457
+ prompt: string;
1458
+ options?: Record<string, any>; // LLM provider options
1459
+ }
1460
+
1461
+ /**
1462
+ * Data for LLM instruction completed event.
1463
+ */
1464
+ export interface LlmInstructionCompletedEventData {
1465
+ serviceId: string;
1466
+ instructionId: string;
1467
+ timestamp: number;
1468
+ response: string;
1469
+ usage?: {
1470
+ promptTokens?: number;
1471
+ completionTokens?: number;
1472
+ totalTokens?: number;
1473
+ [key: string]: any; // For other provider-specific usage data
1474
+ };
1475
+ }
1476
+
1477
+ /**
1478
+ * Data for LLM instruction error event.
1479
+ */
1480
+ export interface LlmInstructionErrorEventData {
1481
+ serviceId: string;
1482
+ instructionId: string;
1483
+ timestamp: number;
1484
+ error: string;
1485
+ }
1486
+
1487
+ /**
1488
+ * Creates a payload for an LLM instruction started event.
1489
+ * @param eventType - The specific event type.
1490
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1491
+ * @param channelId - The ID of the channel associated with the event.
1492
+ * @param data - The specific data for the LLM instruction started event.
1493
+ * @returns The complete event payload.
1494
+ */
1495
+ export const createLlmInstructionStartedPayload = (
1496
+ eventType: string,
1497
+ agentId: AgentId,
1498
+ channelId: ChannelId,
1499
+ data: LlmInstructionStartedEventData
1500
+ ): BaseEventPayload<LlmInstructionStartedEventData> => ({
1501
+ eventId: uuidv4(),
1502
+ eventType,
1503
+ timestamp: Date.now(),
1504
+ agentId,
1505
+ channelId,
1506
+ source: 'SYSTEM',
1507
+ data,
1508
+ });
1509
+
1510
+ /**
1511
+ * Creates a payload for an LLM instruction completed event.
1512
+ * @param eventType - The specific event type.
1513
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1514
+ * @param channelId - The ID of the channel associated with the event.
1515
+ * @param data - The specific data for the LLM instruction completed event.
1516
+ * @returns The complete event payload.
1517
+ */
1518
+ export const createLlmInstructionCompletedPayload = (
1519
+ eventType: string,
1520
+ agentId: AgentId,
1521
+ channelId: ChannelId,
1522
+ data: LlmInstructionCompletedEventData
1523
+ ): BaseEventPayload<LlmInstructionCompletedEventData> => ({
1524
+ eventId: uuidv4(),
1525
+ eventType,
1526
+ timestamp: Date.now(),
1527
+ agentId,
1528
+ channelId,
1529
+ source: 'SYSTEM',
1530
+ data,
1531
+ });
1532
+
1533
+ /**
1534
+ * Creates a payload for an LLM instruction error event.
1535
+ * @param eventType - The specific event type.
1536
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1537
+ * @param channelId - The ID of the channel associated with the event.
1538
+ * @param data - The specific data for the LLM instruction error event.
1539
+ * @returns The complete event payload.
1540
+ */
1541
+ export const createLlmInstructionErrorPayload = (
1542
+ eventType: string,
1543
+ agentId: AgentId,
1544
+ channelId: ChannelId,
1545
+ data: LlmInstructionErrorEventData
1546
+ ): BaseEventPayload<LlmInstructionErrorEventData> => ({
1547
+ eventId: uuidv4(),
1548
+ eventType,
1549
+ timestamp: Date.now(),
1550
+ agentId,
1551
+ channelId,
1552
+ source: 'SYSTEM',
1553
+ data,
1554
+ });
1555
+
1556
+ /**
1557
+ * Creates a payload for an MCP tool register event.
1558
+ * @param eventType - The specific event type.
1559
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1560
+ * @param channelId - The ID of the channel associated with the event.
1561
+ * @param data - The specific data for the MCP tool register event.
1562
+ * @returns The complete event payload.
1563
+ */
1564
+ export const createMcpToolRegisterPayload = (
1565
+ eventType: string,
1566
+ agentId: AgentId,
1567
+ channelId: ChannelId,
1568
+ data: McpToolEventData & { registrationDetails: any }
1569
+ ): McpToolRegisteredEventPayload => ({
1570
+ eventId: uuidv4(),
1571
+ eventType,
1572
+ timestamp: Date.now(),
1573
+ agentId,
1574
+ channelId,
1575
+ source: 'SYSTEM',
1576
+ data,
1577
+ });
1578
+
1579
+ /**
1580
+ * Creates a payload for an MCP tool registered response event.
1581
+ * @param eventType - The specific event type.
1582
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1583
+ * @param channelId - The ID of the channel associated with the event.
1584
+ * @param data - The specific data for the MCP tool registered response event.
1585
+ * @returns The complete event payload.
1586
+ */
1587
+ export const createMcpToolRegisteredPayload = (
1588
+ eventType: string,
1589
+ agentId: AgentId,
1590
+ channelId: ChannelId,
1591
+ data: McpToolEventData & { success: boolean; error?: string }
1592
+ ): McpToolRegisteredEventPayload => ({
1593
+ eventId: uuidv4(),
1594
+ eventType,
1595
+ timestamp: Date.now(),
1596
+ agentId,
1597
+ channelId,
1598
+ source: 'SYSTEM',
1599
+ data: {
1600
+ ...data,
1601
+ registrationDetails: { success: data.success, error: data.error }
1602
+ },
1603
+ });
1604
+
1605
+ /**
1606
+ * Creates a payload for an MCP tool unregister event.
1607
+ * @param eventType - The specific event type.
1608
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1609
+ * @param channelId - The ID of the channel associated with the event.
1610
+ * @param data - The specific data for the MCP tool unregister event.
1611
+ * @returns The complete event payload.
1612
+ */
1613
+ export const createMcpToolUnregisterPayload = (
1614
+ eventType: string,
1615
+ agentId: AgentId,
1616
+ channelId: ChannelId,
1617
+ data: McpToolEventData
1618
+ ): McpToolUnregisteredEventPayload => ({
1619
+ eventId: uuidv4(),
1620
+ eventType,
1621
+ timestamp: Date.now(),
1622
+ agentId,
1623
+ channelId,
1624
+ source: 'SYSTEM',
1625
+ data,
1626
+ });
1627
+
1628
+ /**
1629
+ * Creates a payload for an MCP tool call event.
1630
+ * @param eventType - The specific event type.
1631
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1632
+ * @param channelId - The ID of the channel associated with the event.
1633
+ * @param data - The specific data for the MCP tool call event.
1634
+ * @returns The complete event payload.
1635
+ */
1636
+ export const createMcpToolCallPayload = (
1637
+ eventType: string,
1638
+ agentId: AgentId,
1639
+ channelId: ChannelId,
1640
+ data: McpToolEventData & { callId: string; arguments: any }
1641
+ ): McpToolCallEventPayload => ({
1642
+ eventId: uuidv4(),
1643
+ eventType,
1644
+ timestamp: Date.now(),
1645
+ agentId,
1646
+ channelId,
1647
+ source: 'SYSTEM',
1648
+ data,
1649
+ });
1650
+
1651
+ /**
1652
+ * Creates a payload for an MCP tool result event.
1653
+ * @param eventType - The specific event type.
1654
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1655
+ * @param channelId - The ID of the channel associated with the event.
1656
+ * @param data - The specific data for the MCP tool result event.
1657
+ * @returns The complete event payload.
1658
+ */
1659
+ export const createMcpToolResultPayload = (
1660
+ eventType: string,
1661
+ agentId: AgentId,
1662
+ channelId: ChannelId,
1663
+ data: McpToolEventData & { callId: string; result: any }
1664
+ ): McpToolResultEventPayload => ({
1665
+ eventId: uuidv4(),
1666
+ eventType,
1667
+ timestamp: Date.now(),
1668
+ agentId,
1669
+ channelId,
1670
+ source: 'SYSTEM',
1671
+ data,
1672
+ });
1673
+
1674
+ /**
1675
+ * Creates a payload for an MCP tool error event.
1676
+ * @param eventType - The specific event type.
1677
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1678
+ * @param channelId - The ID of the channel associated with the event.
1679
+ * @param data - The specific data for the MCP tool error event.
1680
+ * @returns The complete event payload.
1681
+ */
1682
+ export const createMcpToolErrorPayload = (
1683
+ eventType: string,
1684
+ agentId: AgentId,
1685
+ channelId: ChannelId,
1686
+ data: McpToolEventData & { callId: string; error: any }
1687
+ ): McpToolErrorEventPayload => ({
1688
+ eventId: uuidv4(),
1689
+ eventType,
1690
+ timestamp: Date.now(),
1691
+ agentId,
1692
+ channelId,
1693
+ source: 'SYSTEM',
1694
+ data,
1695
+ });
1696
+
1697
+ /**
1698
+ * Creates a payload for a client-side tool call event (local observability).
1699
+ */
1700
+ export const createMcpToolCallLocalPayload = (
1701
+ eventType: string,
1702
+ agentId: AgentId,
1703
+ channelId: ChannelId,
1704
+ data: McpToolEventData & { callId: string; arguments: any }
1705
+ ): McpToolCallEventPayload => ({
1706
+ eventId: uuidv4(),
1707
+ eventType,
1708
+ timestamp: Date.now(),
1709
+ agentId,
1710
+ channelId,
1711
+ source: 'SYSTEM',
1712
+ data,
1713
+ });
1714
+
1715
+ /**
1716
+ * Creates a payload for a client-side tool result event (local observability).
1717
+ */
1718
+ export const createMcpToolResultLocalPayload = (
1719
+ eventType: string,
1720
+ agentId: AgentId,
1721
+ channelId: ChannelId,
1722
+ data: McpToolEventData & { callId: string; result: any; durationMs: number }
1723
+ ): McpToolResultEventPayload => ({
1724
+ eventId: uuidv4(),
1725
+ eventType,
1726
+ timestamp: Date.now(),
1727
+ agentId,
1728
+ channelId,
1729
+ source: 'SYSTEM',
1730
+ data,
1731
+ });
1732
+
1733
+ /**
1734
+ * Creates a payload for a client-side tool error event (local observability).
1735
+ */
1736
+ export const createMcpToolErrorLocalPayload = (
1737
+ eventType: string,
1738
+ agentId: AgentId,
1739
+ channelId: ChannelId,
1740
+ data: McpToolEventData & { callId: string; error: any }
1741
+ ): McpToolErrorEventPayload => ({
1742
+ eventId: uuidv4(),
1743
+ eventType,
1744
+ timestamp: Date.now(),
1745
+ agentId,
1746
+ channelId,
1747
+ source: 'SYSTEM',
1748
+ data,
1749
+ });
1750
+
1751
+ /**
1752
+ * Creates a payload for the fire-and-forget notification to server
1753
+ * after a tool has been executed client-side. Used for DB history recording.
1754
+ */
1755
+ export const createMcpToolCallCompletedLocalPayload = (
1756
+ eventType: string,
1757
+ agentId: AgentId,
1758
+ channelId: ChannelId,
1759
+ data: McpToolCallCompletedLocalData
1760
+ ): McpToolCallCompletedLocalEventPayload => ({
1761
+ eventId: uuidv4(),
1762
+ eventType,
1763
+ timestamp: Date.now(),
1764
+ agentId,
1765
+ channelId,
1766
+ source: 'SYSTEM',
1767
+ data,
1768
+ });
1769
+
1770
+ /**
1771
+ * Creates a payload for an MCP resource get event.
1772
+ * @param eventType - The specific event type.
1773
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1774
+ * @param channelId - The ID of the channel associated with the event.
1775
+ * @param data - The specific data for the MCP resource get event.
1776
+ * @returns The complete event payload.
1777
+ */
1778
+ export const createMcpResourceGetPayload = (
1779
+ eventType: string,
1780
+ agentId: AgentId,
1781
+ channelId: ChannelId,
1782
+ data: McpResourceEventData & { requestId: string }
1783
+ ): McpResourceGetEventPayload => ({
1784
+ eventId: uuidv4(),
1785
+ eventType,
1786
+ timestamp: Date.now(),
1787
+ agentId,
1788
+ channelId,
1789
+ source: 'SYSTEM',
1790
+ data,
1791
+ });
1792
+
1793
+ /**
1794
+ * Creates a payload for an MCP resource list event.
1795
+ * @param eventType - The specific event type.
1796
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1797
+ * @param channelId - The ID of the channel associated with the event.
1798
+ * @param data - The specific data for the MCP resource list event.
1799
+ * @returns The complete event payload.
1800
+ */
1801
+ export const createMcpResourceListPayload = (
1802
+ eventType: string,
1803
+ agentId: AgentId,
1804
+ channelId: ChannelId,
1805
+ data: McpResourceEventData & { requestId: string; filter?: any }
1806
+ ): McpResourceListEventPayload => ({
1807
+ eventId: uuidv4(),
1808
+ eventType,
1809
+ timestamp: Date.now(),
1810
+ agentId,
1811
+ channelId,
1812
+ source: 'SYSTEM',
1813
+ data,
1814
+ });
1815
+
1816
+ /**
1817
+ * Creates a payload for an MCP resource result event.
1818
+ * @param eventType - The specific event type.
1819
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1820
+ * @param channelId - The ID of the channel associated with the event.
1821
+ * @param data - The specific data for the MCP resource result event.
1822
+ * @returns The complete event payload.
1823
+ */
1824
+ export const createMcpResourceResultPayload = (
1825
+ eventType: string,
1826
+ agentId: AgentId,
1827
+ channelId: ChannelId,
1828
+ data: McpResourceEventData & { requestId: string; data: any }
1829
+ ): McpResourceResultEventPayload => ({
1830
+ eventId: uuidv4(),
1831
+ eventType,
1832
+ timestamp: Date.now(),
1833
+ agentId,
1834
+ channelId,
1835
+ source: 'SYSTEM',
1836
+ data,
1837
+ });
1838
+
1839
+ /**
1840
+ * Creates a payload for an MCP resource error event.
1841
+ * @param eventType - The specific event type.
1842
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1843
+ * @param channelId - The ID of the channel associated with the event.
1844
+ * @param data - The specific data for the MCP resource error event.
1845
+ * @returns The complete event payload.
1846
+ */
1847
+ export const createMcpResourceErrorPayload = (
1848
+ eventType: string,
1849
+ agentId: AgentId,
1850
+ channelId: ChannelId,
1851
+ data: McpResourceEventData & { requestId: string; error: any }
1852
+ ): McpResourceErrorEventPayload => ({
1853
+ eventId: uuidv4(),
1854
+ eventType,
1855
+ timestamp: Date.now(),
1856
+ agentId,
1857
+ channelId,
1858
+ source: 'SYSTEM',
1859
+ data,
1860
+ });
1861
+
1862
+ /**
1863
+ * Creates a payload for an external MCP server event (global or channel-scoped).
1864
+ * @param eventType - The specific event type.
1865
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1866
+ * @param channelId - The ID of the channel associated with the event.
1867
+ * @param serverData - The specific data for the external MCP server event.
1868
+ * @param options - Optional base event payload options.
1869
+ * @returns The complete event payload.
1870
+ */
1871
+ export function createExternalMcpServerEventPayload(
1872
+ eventType: EventName | string,
1873
+ agentId: AgentId,
1874
+ channelId: ChannelId,
1875
+ serverData: ExternalMcpServerEventData,
1876
+ options: { source?: string; eventId?: string; timestamp?: number } = {}
1877
+ ): ExternalMcpServerEventPayload {
1878
+ return createBaseEventPayload<ExternalMcpServerEventData>(
1879
+ eventType,
1880
+ agentId,
1881
+ channelId,
1882
+ serverData,
1883
+ options
1884
+ );
1885
+ }
1886
+
1887
+ /**
1888
+ * Creates a payload for an MCP tool registry changed event.
1889
+ * @param eventType - The specific event type.
1890
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1891
+ * @param channelId - The ID of the channel associated with the event.
1892
+ * @param data - The specific data for the MCP tool registry changed event.
1893
+ * @returns The complete event payload.
1894
+ */
1895
+ export const createMcpToolRegistryChangedPayload = (
1896
+ eventType: string,
1897
+ agentId: AgentId,
1898
+ channelId: ChannelId,
1899
+ data: { tools: Array<{ name: string, description: string, inputSchema: Record<string, any> }> }
1900
+ ): BaseEventPayload<{ tools: Array<{ name: string, description: string, inputSchema: Record<string, any> }> }> => ({
1901
+ eventId: uuidv4(),
1902
+ eventType,
1903
+ timestamp: Date.now(),
1904
+ agentId,
1905
+ channelId,
1906
+ source: 'SYSTEM',
1907
+ data,
1908
+ });
1909
+
1910
+ /**
1911
+ * Data for agent message delivered events.
1912
+ */
1913
+ export interface AgentMessageDeliveredEventData {
1914
+ fromAgentId: string;
1915
+ toAgentId: string;
1916
+ content: any;
1917
+ timestamp: number;
1918
+ [key: string]: any;
1919
+ }
1920
+
1921
+ /**
1922
+ * Payload type for agent message delivered events.
1923
+ */
1924
+ export type AgentMessageDeliveredEventPayload = BaseEventPayload<AgentMessageDeliveredEventData>;
1925
+
1926
+ /**
1927
+ * Data for agent state change events (e.g., agent becoming active/inactive).
1928
+ */
1929
+ export interface AgentStateChangeEventData {
1930
+ // Add properties for agent state change data
1931
+ }
1932
+
1933
+ /**
1934
+ * Creates a payload for an agent message delivered event.
1935
+ * @param eventType - The specific event type.
1936
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1937
+ * @param channelId - The ID of the channel associated with the event.
1938
+ * @param data - The specific data for the agent message delivered event.
1939
+ * @returns The complete event payload.
1940
+ */
1941
+ export const createAgentMessageDeliveredPayload = (
1942
+ eventType: string,
1943
+ agentId: AgentId,
1944
+ channelId: ChannelId,
1945
+ data: AgentMessageDeliveredEventData
1946
+ ): AgentMessageDeliveredEventPayload => ({
1947
+ eventId: uuidv4(),
1948
+ eventType,
1949
+ timestamp: Date.now(),
1950
+ agentId,
1951
+ channelId,
1952
+ source: 'SYSTEM',
1953
+ data,
1954
+ });
1955
+
1956
+ /**
1957
+ * Creates a payload for an agent message forward event (used server-side).
1958
+ * @param eventType - The specific event type.
1959
+ * @param agentId - The ID of the agent initiating or responsible for the event.
1960
+ * @param channelId - The ID of the channel associated with the event.
1961
+ * @param data - The original agent message event payload being forwarded.
1962
+ * @returns The complete event payload.
1963
+ */
1964
+ export const createAgentMessageForwardPayload = (
1965
+ eventType: string,
1966
+ agentId: AgentId,
1967
+ channelId: ChannelId,
1968
+ data: any
1969
+ ): BaseEventPayload<any> => ({
1970
+ eventId: uuidv4(),
1971
+ eventType,
1972
+ timestamp: Date.now(),
1973
+ agentId,
1974
+ channelId,
1975
+ source: 'SYSTEM',
1976
+ data,
1977
+ });
1978
+
1979
+ /**
1980
+ * Defines the parameters required for creating a new channel.
1981
+ * This is used as the 'data' field in channel creation events.
1982
+ */
1983
+ export interface ChannelCreationParams {
1984
+ /**
1985
+ * The unique identifier for the channel to be created.
1986
+ */
1987
+ channelId: string;
1988
+
1989
+ /**
1990
+ * Optional descriptive name for the channel.
1991
+ * If not provided, it may default to the channelId.
1992
+ */
1993
+ name?: string;
1994
+
1995
+ /**
1996
+ * The identifier of the agent initiating the channel creation.
1997
+ */
1998
+ agentId: string;
1999
+
2000
+ // Add any other properties specifically needed for channel creation,
2001
+ // for example, initial members, channel type, metadata, etc.
2002
+ }
2003
+
2004
+ /**
2005
+ * Interface for channel creation events
2006
+ */
2007
+ export interface ChannelCreationEventData {
2008
+ channelId: string;
2009
+ agentId: string;
2010
+ timestamp: number;
2011
+ config?: any;
2012
+ status: 'pending' | 'created' | 'error';
2013
+ error?: string;
2014
+ }
2015
+
2016
+ /**
2017
+ * Payload type for channel creation events
2018
+ */
2019
+ export type ChannelCreationEventPayload = BaseEventPayload<ChannelCreationEventData>;
2020
+
2021
+ /**
2022
+ * Channel context operation payload types
2023
+ */
2024
+
2025
+ // Get context
2026
+ export interface ContextGetEventData {
2027
+ channelId: ChannelId;
2028
+ operationId?: string;
2029
+ timestamp: number;
2030
+ }
2031
+
2032
+ export type ContextGetEventPayload = BaseEventPayload<ContextGetEventData>;
2033
+
2034
+ // Got context
2035
+ export interface ContextGotEventData {
2036
+ channelId: ChannelId;
2037
+ context: any;
2038
+ operationId?: string;
2039
+ timestamp: number;
2040
+ }
2041
+
2042
+ export type ContextGotEventPayload = BaseEventPayload<ContextGotEventData>;
2043
+
2044
+ // Get context failed
2045
+ export interface ContextGetFailedEventData {
2046
+ channelId: ChannelId;
2047
+ error: string;
2048
+ operationId?: string;
2049
+ timestamp: number;
2050
+ }
2051
+
2052
+ export type ContextGetFailedEventPayload = BaseEventPayload<ContextGetFailedEventData>;
2053
+
2054
+ // Update context
2055
+ export interface ContextUpdateEventData {
2056
+ channelId: ChannelId;
2057
+ agentId: AgentId;
2058
+ updates: any;
2059
+ operationId?: string;
2060
+ timestamp: number;
2061
+ }
2062
+
2063
+ export type ContextUpdateEventPayload = BaseEventPayload<ContextUpdateEventData>;
2064
+
2065
+ // Context updated
2066
+ export interface ContextUpdatedEventData {
2067
+ channelId: ChannelId;
2068
+ context: any;
2069
+ operationId?: string;
2070
+ timestamp: number;
2071
+ }
2072
+
2073
+ export type ContextUpdatedEventPayload = BaseEventPayload<ContextUpdatedEventData>;
2074
+
2075
+ // Context update failed
2076
+ export interface ContextUpdateFailedEventData {
2077
+ channelId: ChannelId;
2078
+ error: string;
2079
+ operationId?: string;
2080
+ timestamp: number;
2081
+ }
2082
+
2083
+ export type ContextUpdateFailedEventPayload = BaseEventPayload<ContextUpdateFailedEventData>;
2084
+
2085
+ // Set metadata
2086
+ export interface MetadataSetEventData {
2087
+ channelId: ChannelId;
2088
+ agentId: AgentId;
2089
+ key: string;
2090
+ value: any;
2091
+ operationId?: string;
2092
+ timestamp: number;
2093
+ }
2094
+
2095
+ export type MetadataSetEventPayload = BaseEventPayload<MetadataSetEventData>;
2096
+
2097
+ // Metadata set success
2098
+ export interface MetadataSetSuccessEventData {
2099
+ channelId: ChannelId;
2100
+ key: string;
2101
+ value: any;
2102
+ operationId?: string;
2103
+ timestamp: number;
2104
+ }
2105
+
2106
+ export type MetadataSetSuccessEventPayload = BaseEventPayload<MetadataSetSuccessEventData>;
2107
+
2108
+ // Metadata set failed
2109
+ export interface MetadataSetFailedEventData {
2110
+ channelId: ChannelId;
2111
+ key: string;
2112
+ error: string;
2113
+ operationId?: string;
2114
+ timestamp: number;
2115
+ }
2116
+
2117
+ export type MetadataSetFailedEventPayload = BaseEventPayload<MetadataSetFailedEventData>;
2118
+
2119
+ // Get metadata
2120
+ export interface MetadataGetEventData {
2121
+ channelId: ChannelId;
2122
+ key?: string;
2123
+ operationId?: string;
2124
+ timestamp: number;
2125
+ }
2126
+
2127
+ export type MetadataGetEventPayload = BaseEventPayload<MetadataGetEventData>;
2128
+
2129
+ // Got metadata
2130
+ export interface MetadataGotEventData {
2131
+ channelId: ChannelId;
2132
+ metadata: Record<string, any> | any;
2133
+ operationId?: string;
2134
+ timestamp: number;
2135
+ }
2136
+
2137
+ export type MetadataGotEventPayload = BaseEventPayload<MetadataGotEventData>;
2138
+
2139
+ // Get metadata failed
2140
+ export interface MetadataGetFailedEventData {
2141
+ channelId: ChannelId;
2142
+ key?: string;
2143
+ error: string;
2144
+ operationId?: string;
2145
+ timestamp: number;
2146
+ }
2147
+
2148
+ export type MetadataGetFailedEventPayload = BaseEventPayload<MetadataGetFailedEventData>;
2149
+
2150
+ // Extract topics
2151
+ export interface TopicsExtractEventData {
2152
+ channelId: ChannelId;
2153
+ minRelevance?: number;
2154
+ operationId?: string;
2155
+ timestamp: number;
2156
+ }
2157
+
2158
+ export type TopicsExtractEventPayload = BaseEventPayload<TopicsExtractEventData>;
2159
+
2160
+ // Topics extracted
2161
+ export interface TopicsExtractedEventData {
2162
+ channelId: ChannelId;
2163
+ topics: Array<{
2164
+ id: string;
2165
+ topic: string;
2166
+ keywords: string[];
2167
+ relevance: number;
2168
+ }>;
2169
+ operationId?: string;
2170
+ timestamp: number;
2171
+ }
2172
+
2173
+ export type TopicsExtractedEventPayload = BaseEventPayload<TopicsExtractedEventData>;
2174
+
2175
+ // Topics extract failed
2176
+ export interface TopicsExtractFailedEventData {
2177
+ channelId: ChannelId;
2178
+ error: string;
2179
+ operationId?: string;
2180
+ timestamp: number;
2181
+ }
2182
+
2183
+ export type TopicsExtractFailedEventPayload = BaseEventPayload<TopicsExtractFailedEventData>;
2184
+
2185
+ // Generate summary
2186
+ export interface SummaryGenerateEventData {
2187
+ channelId: ChannelId;
2188
+ messageCount?: number;
2189
+ operationId?: string;
2190
+ timestamp: number;
2191
+ }
2192
+
2193
+ export type SummaryGenerateEventPayload = BaseEventPayload<SummaryGenerateEventData>;
2194
+
2195
+ // Summary generated
2196
+ export interface SummaryGeneratedEventData {
2197
+ channelId: ChannelId;
2198
+ summary: string;
2199
+ operationId?: string;
2200
+ timestamp: number;
2201
+ }
2202
+
2203
+ export type SummaryGeneratedEventPayload = BaseEventPayload<SummaryGeneratedEventData>;
2204
+
2205
+ // Summary generate failed
2206
+ export interface SummaryGenerateFailedEventData {
2207
+ channelId: ChannelId;
2208
+ error: string;
2209
+ operationId?: string;
2210
+ timestamp: number;
2211
+ }
2212
+
2213
+ export type SummaryGenerateFailedEventPayload = BaseEventPayload<SummaryGenerateFailedEventData>;
2214
+
2215
+ /**
2216
+ * Creates a ChannelCreationEventPayload.
2217
+ * @param eventType - The specific event type.
2218
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2219
+ * @param channelId - The ID of the channel associated with the event.
2220
+ * @param data - The specific data for the channel creation event.
2221
+ * @returns The complete event payload.
2222
+ */
2223
+ export const createChannelCreationEventPayload = (
2224
+ eventType: string,
2225
+ agentId: AgentId,
2226
+ channelId: ChannelId,
2227
+ data: ChannelCreationEventData
2228
+ ): ChannelCreationEventPayload => ({
2229
+ eventId: uuidv4(),
2230
+ eventType,
2231
+ timestamp: Date.now(),
2232
+ agentId,
2233
+ channelId,
2234
+ source: 'SYSTEM',
2235
+ data,
2236
+ });
2237
+
2238
+ /**
2239
+ * Creates a ContextGetEventPayload.
2240
+ * @param eventType - The specific event type.
2241
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2242
+ * @param channelId - The ID of the channel associated with the event.
2243
+ * @param data - The specific data for the context get event.
2244
+ * @returns The complete event payload.
2245
+ */
2246
+ export const createContextGetEventPayload = (
2247
+ eventType: string,
2248
+ agentId: AgentId,
2249
+ channelId: ChannelId,
2250
+ data: ContextGetEventData
2251
+ ): ContextGetEventPayload => ({
2252
+ eventId: uuidv4(),
2253
+ eventType,
2254
+ timestamp: Date.now(),
2255
+ agentId,
2256
+ channelId,
2257
+ source: 'SYSTEM',
2258
+ data,
2259
+ });
2260
+
2261
+ /**
2262
+ * Creates a ContextGotEventPayload.
2263
+ * @param eventType - The specific event type.
2264
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2265
+ * @param channelId - The ID of the channel associated with the event.
2266
+ * @param data - The specific data for the context got event.
2267
+ * @returns The complete event payload.
2268
+ */
2269
+ export const createContextGotEventPayload = (
2270
+ eventType: string,
2271
+ agentId: AgentId,
2272
+ channelId: ChannelId,
2273
+ data: ContextGotEventData
2274
+ ): ContextGotEventPayload => ({
2275
+ eventId: uuidv4(),
2276
+ eventType,
2277
+ timestamp: Date.now(),
2278
+ agentId,
2279
+ channelId,
2280
+ source: 'SYSTEM',
2281
+ data,
2282
+ });
2283
+
2284
+ /**
2285
+ * Creates a ContextUpdateEventPayload.
2286
+ * @param eventType - The specific event type.
2287
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2288
+ * @param channelId - The ID of the channel associated with the event.
2289
+ * @param data - The specific data for the context update event.
2290
+ * @returns The complete event payload.
2291
+ */
2292
+ export const createContextUpdateEventPayload = (
2293
+ eventType: string,
2294
+ agentId: AgentId,
2295
+ channelId: ChannelId,
2296
+ data: ContextUpdateEventData
2297
+ ): ContextUpdateEventPayload => ({
2298
+ eventId: uuidv4(),
2299
+ eventType,
2300
+ timestamp: Date.now(),
2301
+ agentId,
2302
+ channelId,
2303
+ source: 'SYSTEM',
2304
+ data,
2305
+ });
2306
+
2307
+ /**
2308
+ * Creates a MetadataSetEventPayload.
2309
+ * @param eventType - The specific event type.
2310
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2311
+ * @param channelId - The ID of the channel associated with the event.
2312
+ * @param data - The specific data for the metadata set event.
2313
+ * @returns The complete event payload.
2314
+ */
2315
+ export const createMetadataSetEventPayload = (
2316
+ eventType: string,
2317
+ agentId: AgentId,
2318
+ channelId: ChannelId,
2319
+ data: MetadataSetEventData
2320
+ ): MetadataSetEventPayload => ({
2321
+ eventId: uuidv4(),
2322
+ eventType,
2323
+ timestamp: Date.now(),
2324
+ agentId,
2325
+ channelId,
2326
+ source: 'SYSTEM',
2327
+ data,
2328
+ });
2329
+
2330
+ /**
2331
+ * Creates a TopicsExtractEventPayload.
2332
+ * @param eventType - The specific event type.
2333
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2334
+ * @param channelId - The ID of the channel associated with the event.
2335
+ * @param data - The specific data for the topics extract event.
2336
+ * @param options - Optional parameters like source, recursion protection flag, or overrides for eventId and timestamp.
2337
+ * @returns The complete event payload.
2338
+ */
2339
+ export const createTopicsExtractEventPayload = (
2340
+ eventType: string,
2341
+ agentId: AgentId,
2342
+ channelId: ChannelId,
2343
+ data: TopicsExtractEventData,
2344
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
2345
+ ): TopicsExtractEventPayload => ({
2346
+ eventId: options.eventId || uuidv4(),
2347
+ eventType,
2348
+ timestamp: options.timestamp || Date.now(),
2349
+ agentId,
2350
+ channelId,
2351
+ source: options.source || 'SYSTEM',
2352
+ isRecursionProtection: options.isRecursionProtection,
2353
+ data,
2354
+ });
2355
+
2356
+ /**
2357
+ * Creates a SummaryGenerateEventPayload.
2358
+ * @param eventType - The specific event type.
2359
+ * @param agentId - The ID of the agent initiating or responsible for the event.
2360
+ * @param channelId - The ID of the channel associated with the event.
2361
+ * @param data - The specific data for the summary generate event.
2362
+ * @param options - Optional parameters like source, recursion protection flag, or overrides for eventId and timestamp.
2363
+ * @returns The complete event payload.
2364
+ */
2365
+ export const createSummaryGenerateEventPayload = (
2366
+ eventType: string,
2367
+ agentId: AgentId,
2368
+ channelId: ChannelId,
2369
+ data: SummaryGenerateEventData,
2370
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
2371
+ ): SummaryGenerateEventPayload => ({
2372
+ eventId: options.eventId || uuidv4(),
2373
+ eventType,
2374
+ timestamp: options.timestamp || Date.now(),
2375
+ agentId,
2376
+ channelId,
2377
+ source: options.source || 'SYSTEM',
2378
+ isRecursionProtection: options.isRecursionProtection,
2379
+ data,
2380
+ });
2381
+
2382
+ /**
2383
+ * Data for agent state change events (e.g., agent becoming active/inactive).
2384
+ */
2385
+ export interface AgentStateChangeEventData {
2386
+ // Add properties for agent state change data
2387
+ }
2388
+
2389
+ export type AgentStateChangeEventPayload = BaseEventPayload<AgentStateChangeEventData>;
2390
+
2391
+ // === MCP Event Payloads ===
2392
+
2393
+ /**
2394
+ * Data for external MCP server error events
2395
+ */
2396
+ export interface ExternalMcpServerErrorEventData {
2397
+ error: string;
2398
+ code: string;
2399
+ details: Record<string, any>;
2400
+ }
2401
+
2402
+ export type ExternalMcpServerErrorEventPayload = BaseEventPayload<ExternalMcpServerErrorEventData>;
2403
+
2404
+ /**
2405
+ * Data for external MCP server health status events
2406
+ */
2407
+ export interface ExternalMcpServerHealthStatusEventData {
2408
+ name: string;
2409
+ version: string;
2410
+ status: string;
2411
+ description?: string;
2412
+ }
2413
+
2414
+ export type ExternalMcpServerHealthStatusEventPayload = BaseEventPayload<ExternalMcpServerHealthStatusEventData>;
2415
+
2416
+ /**
2417
+ * Data for external MCP server tools discovered events
2418
+ */
2419
+ export interface ExternalMcpServerToolsDiscoveredEventData {
2420
+ name: string;
2421
+ version: string;
2422
+ tools: Array<{
2423
+ name: string;
2424
+ description: string;
2425
+ inputSchema: Record<string, any>;
2426
+ }>;
2427
+ }
2428
+
2429
+ export type ExternalMcpServerToolsDiscoveredEventPayload = BaseEventPayload<ExternalMcpServerToolsDiscoveredEventData>;
2430
+
2431
+ /**
2432
+ * Creates an external MCP server error event payload.
2433
+ */
2434
+ export const createExternalMcpServerErrorEventPayload = (
2435
+ eventType: string,
2436
+ agentId: AgentId,
2437
+ channelId: ChannelId,
2438
+ data: ExternalMcpServerErrorEventData,
2439
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
2440
+ ): ExternalMcpServerErrorEventPayload => ({
2441
+ eventId: options.eventId || uuidv4(),
2442
+ eventType,
2443
+ timestamp: options.timestamp || Date.now(),
2444
+ agentId,
2445
+ channelId,
2446
+ source: options.source || 'ExternalMcpServerManager',
2447
+ isRecursionProtection: options.isRecursionProtection,
2448
+ data,
2449
+ });
2450
+
2451
+ /**
2452
+ * Creates an external MCP server health status event payload.
2453
+ */
2454
+ export const createExternalMcpServerHealthStatusEventPayload = (
2455
+ eventType: string,
2456
+ agentId: AgentId,
2457
+ channelId: ChannelId,
2458
+ data: ExternalMcpServerHealthStatusEventData,
2459
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
2460
+ ): ExternalMcpServerHealthStatusEventPayload => ({
2461
+ eventId: options.eventId || uuidv4(),
2462
+ eventType,
2463
+ timestamp: options.timestamp || Date.now(),
2464
+ agentId,
2465
+ channelId,
2466
+ source: options.source || 'ExternalMcpServerManager',
2467
+ isRecursionProtection: options.isRecursionProtection,
2468
+ data,
2469
+ });
2470
+
2471
+ /**
2472
+ * Creates an external MCP server tools discovered event payload.
2473
+ */
2474
+ export const createExternalMcpServerToolsDiscoveredEventPayload = (
2475
+ eventType: string,
2476
+ agentId: AgentId,
2477
+ channelId: ChannelId,
2478
+ data: ExternalMcpServerToolsDiscoveredEventData,
2479
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
2480
+ ): ExternalMcpServerToolsDiscoveredEventPayload => ({
2481
+ eventId: options.eventId || uuidv4(),
2482
+ eventType,
2483
+ timestamp: options.timestamp || Date.now(),
2484
+ agentId,
2485
+ channelId,
2486
+ source: options.source || 'ExternalMcpServerManager',
2487
+ isRecursionProtection: options.isRecursionProtection,
2488
+ data,
2489
+ });
2490
+
2491
+ // === System Event Payloads ===
2492
+
2493
+ /**
2494
+ * Import system event types and interfaces
2495
+ */
2496
+ import type {
2497
+ SystemEphemeralEventData,
2498
+ CoordinationAnalysis,
2499
+ TemporalContext,
2500
+ SystemEventType
2501
+ } from '../events/event-definitions/SystemEvents.js';
2502
+
2503
+ /**
2504
+ * System ephemeral event payload for EventBus integration
2505
+ * These events provide intelligent context injection without appearing in message history
2506
+ */
2507
+ export interface SystemEphemeralEventPayloadData {
2508
+ /** Ephemeral event data with temporal context */
2509
+ eventData: SystemEphemeralEventData;
2510
+ /** Coordination analysis context */
2511
+ coordinationContext?: CoordinationAnalysis;
2512
+ /** Additional system metadata */
2513
+ systemMetadata: {
2514
+ /** System intelligence confidence */
2515
+ systemConfidence: number;
2516
+ /** Processing timestamp */
2517
+ processingTime: number;
2518
+ /** System version */
2519
+ systemVersion: string;
2520
+ /** Analysis method used */
2521
+ analysisMethod: 'pattern_recognition' | 'temporal_analysis' | 'coordination_detection' | 'activity_monitoring';
2522
+ };
2523
+ }
2524
+
2525
+ export type SystemEphemeralEventPayload = BaseEventPayload<SystemEphemeralEventPayloadData>;
2526
+
2527
+ /**
2528
+ * System coordination event payload for coordination analysis results
2529
+ */
2530
+ export interface SystemCoordinationEventPayloadData {
2531
+ /** Coordination analysis results */
2532
+ coordinationAnalysis: CoordinationAnalysis;
2533
+ /** Recommended actions */
2534
+ recommendedActions: string[];
2535
+ /** Priority level for coordination */
2536
+ priority: number;
2537
+ /** Temporal context */
2538
+ temporalContext: TemporalContext;
2539
+ /** Confidence in recommendations */
2540
+ recommendationConfidence: number;
2541
+ }
2542
+
2543
+ export type SystemCoordinationEventPayload = BaseEventPayload<SystemCoordinationEventPayloadData>;
2544
+
2545
+ /**
2546
+ * System temporal pattern event payload for time-based pattern detection
2547
+ */
2548
+ export interface SystemTemporalPatternEventPayloadData {
2549
+ /** Detected temporal pattern */
2550
+ pattern: {
2551
+ /** Pattern type */
2552
+ type: string;
2553
+ /** Pattern description */
2554
+ description: string;
2555
+ /** Temporal context */
2556
+ temporalContext: TemporalContext;
2557
+ /** Pattern confidence */
2558
+ confidence: number;
2559
+ /** Affected channels */
2560
+ affectedChannels: ChannelId[];
2561
+ /** Suggested responses */
2562
+ suggestedResponses: string[];
2563
+ /** Pattern frequency */
2564
+ frequency: 'rare' | 'occasional' | 'regular' | 'frequent' | 'constant';
2565
+ /** Pattern duration */
2566
+ duration: number;
2567
+ };
2568
+ /** Pattern impact assessment */
2569
+ impactAssessment: {
2570
+ /** Severity of pattern impact */
2571
+ severity: 'low' | 'medium' | 'high' | 'critical';
2572
+ /** Affected agents */
2573
+ affectedAgents: AgentId[];
2574
+ /** Recommended response time */
2575
+ responseTimeMs: number;
2576
+ };
2577
+ }
2578
+
2579
+ export type SystemTemporalPatternEventPayload = BaseEventPayload<SystemTemporalPatternEventPayloadData>;
2580
+
2581
+ /**
2582
+ * System context analysis event payload for rich context awareness
2583
+ */
2584
+ export interface SystemContextAnalysisEventPayloadData {
2585
+ /** Context analysis results */
2586
+ contextAnalysis: {
2587
+ /** Channel activity summary */
2588
+ channelActivity: {
2589
+ /** Activity level (0-10) */
2590
+ level: number;
2591
+ /** Recent message count */
2592
+ messageCount: number;
2593
+ /** Active agent count */
2594
+ activeAgents: number;
2595
+ /** Tool usage frequency */
2596
+ toolUsage: number;
2597
+ };
2598
+ /** Agent interaction patterns */
2599
+ interactionPatterns: {
2600
+ /** Collaboration intensity */
2601
+ collaborationIntensity: number;
2602
+ /** Communication frequency */
2603
+ communicationFrequency: number;
2604
+ /** Resource sharing level */
2605
+ resourceSharing: number;
2606
+ };
2607
+ /** System intelligence insights */
2608
+ systemInsights: string[];
2609
+ /** Temporal context */
2610
+ temporalContext: TemporalContext;
2611
+ };
2612
+ /** Analysis confidence */
2613
+ analysisConfidence: number;
2614
+ /** Next analysis scheduled time */
2615
+ nextAnalysisTime: string;
2616
+ }
2617
+
2618
+ export type SystemContextAnalysisEventPayload = BaseEventPayload<SystemContextAnalysisEventPayloadData>;
2619
+
2620
+ // === System Event Payload Creation Helpers ===
2621
+
2622
+ /**
2623
+ * Creates a system ephemeral event payload for intelligent context injection
2624
+ */
2625
+ export const createSystemEphemeralEventPayload = (
2626
+ eventType: SystemEventType,
2627
+ agentId: AgentId,
2628
+ channelId: ChannelId,
2629
+ eventData: SystemEphemeralEventData,
2630
+ coordinationContext?: CoordinationAnalysis,
2631
+ options: {
2632
+ source?: string;
2633
+ isRecursionProtection?: boolean;
2634
+ eventId?: string;
2635
+ timestamp?: number;
2636
+ systemConfidence?: number;
2637
+ analysisMethod?: 'pattern_recognition' | 'temporal_analysis' | 'coordination_detection' | 'activity_monitoring';
2638
+ } = {}
2639
+ ): SystemEphemeralEventPayload => ({
2640
+ eventId: options.eventId || uuidv4(),
2641
+ eventType,
2642
+ timestamp: options.timestamp || Date.now(),
2643
+ agentId,
2644
+ channelId,
2645
+ source: options.source || 'SystemLlmService',
2646
+ isRecursionProtection: options.isRecursionProtection,
2647
+ data: {
2648
+ eventData,
2649
+ coordinationContext,
2650
+ systemMetadata: {
2651
+ systemConfidence: options.systemConfidence || 0.8,
2652
+ processingTime: Date.now(),
2653
+ systemVersion: '1.0.0',
2654
+ analysisMethod: options.analysisMethod || 'coordination_detection'
2655
+ }
2656
+ },
2657
+ });
2658
+
2659
+ /**
2660
+ * Creates a system coordination event payload for coordination analysis
2661
+ */
2662
+ export const createSystemCoordinationEventPayload = (
2663
+ eventType: SystemEventType,
2664
+ agentId: AgentId,
2665
+ channelId: ChannelId,
2666
+ coordinationAnalysis: CoordinationAnalysis,
2667
+ recommendedActions: string[],
2668
+ temporalContext: TemporalContext,
2669
+ options: {
2670
+ source?: string;
2671
+ isRecursionProtection?: boolean;
2672
+ eventId?: string;
2673
+ timestamp?: number;
2674
+ priority?: number;
2675
+ recommendationConfidence?: number;
2676
+ } = {}
2677
+ ): SystemCoordinationEventPayload => ({
2678
+ eventId: options.eventId || uuidv4(),
2679
+ eventType,
2680
+ timestamp: options.timestamp || Date.now(),
2681
+ agentId,
2682
+ channelId,
2683
+ source: options.source || 'SystemLlmService',
2684
+ isRecursionProtection: options.isRecursionProtection,
2685
+ data: {
2686
+ coordinationAnalysis,
2687
+ recommendedActions,
2688
+ priority: options.priority || 5,
2689
+ temporalContext,
2690
+ recommendationConfidence: options.recommendationConfidence || 0.75
2691
+ },
2692
+ });
2693
+
2694
+ /**
2695
+ * Creates a system temporal pattern event payload for pattern detection
2696
+ */
2697
+ export const createSystemTemporalPatternEventPayload = (
2698
+ eventType: SystemEventType,
2699
+ agentId: AgentId,
2700
+ channelId: ChannelId,
2701
+ pattern: SystemTemporalPatternEventPayloadData['pattern'],
2702
+ impactAssessment: SystemTemporalPatternEventPayloadData['impactAssessment'],
2703
+ options: {
2704
+ source?: string;
2705
+ isRecursionProtection?: boolean;
2706
+ eventId?: string;
2707
+ timestamp?: number;
2708
+ } = {}
2709
+ ): SystemTemporalPatternEventPayload => ({
2710
+ eventId: options.eventId || uuidv4(),
2711
+ eventType,
2712
+ timestamp: options.timestamp || Date.now(),
2713
+ agentId,
2714
+ channelId,
2715
+ source: options.source || 'SystemLlmService',
2716
+ isRecursionProtection: options.isRecursionProtection,
2717
+ data: {
2718
+ pattern,
2719
+ impactAssessment
2720
+ },
2721
+ });
2722
+
2723
+ /**
2724
+ * Creates a system context analysis event payload for rich context awareness
2725
+ */
2726
+ export const createSystemContextAnalysisEventPayload = (
2727
+ eventType: SystemEventType,
2728
+ agentId: AgentId,
2729
+ channelId: ChannelId,
2730
+ contextAnalysis: SystemContextAnalysisEventPayloadData['contextAnalysis'],
2731
+ options: {
2732
+ source?: string;
2733
+ isRecursionProtection?: boolean;
2734
+ eventId?: string;
2735
+ timestamp?: number;
2736
+ analysisConfidence?: number;
2737
+ nextAnalysisTime?: string;
2738
+ } = {}
2739
+ ): SystemContextAnalysisEventPayload => ({
2740
+ eventId: options.eventId || uuidv4(),
2741
+ eventType,
2742
+ timestamp: options.timestamp || Date.now(),
2743
+ agentId,
2744
+ channelId,
2745
+ source: options.source || 'SystemLlmService',
2746
+ isRecursionProtection: options.isRecursionProtection,
2747
+ data: {
2748
+ contextAnalysis,
2749
+ analysisConfidence: options.analysisConfidence || 0.8,
2750
+ nextAnalysisTime: options.nextAnalysisTime || new Date(Date.now() + 300000).toISOString() // 5 minutes default
2751
+ },
2752
+ });
2753
+
2754
+ /**
2755
+ * Validation helper for system event payloads
2756
+ * Ensures system events meet quality and security standards
2757
+ */
2758
+ export const validateSystemEventPayload = (payload: SystemEphemeralEventPayload): boolean => {
2759
+ const validator = createStrictValidator('SystemEventPayload');
2760
+
2761
+ try {
2762
+ // Validate base payload structure
2763
+ validator.assertIsNonEmptyString(payload.eventId, 'Event ID is required');
2764
+ validator.assertIsNonEmptyString(payload.eventType, 'Event type is required');
2765
+ validator.assertIsNumber(payload.timestamp, 'Timestamp is required');
2766
+ validator.assertIsNonEmptyString(payload.agentId, 'Agent ID is required');
2767
+ validator.assertIsNonEmptyString(payload.channelId, 'Channel ID is required');
2768
+
2769
+ // Validate system event data
2770
+ validator.assertIsObject(payload.data, 'Event data is required');
2771
+ validator.assertIsObject(payload.data.eventData, 'Event data content is required');
2772
+ validator.assertIsNonEmptyString(payload.data.eventData.content, 'Event content is required');
2773
+ validator.assertIsObject(payload.data.eventData.temporalContext, 'Temporal context is required');
2774
+
2775
+ // Validate confidence scores
2776
+ const confidence = payload.data.eventData.metadata.confidence;
2777
+ validator.assert(confidence >= 0 && confidence <= 1, 'Confidence must be between 0 and 1');
2778
+
2779
+ const relevance = payload.data.eventData.metadata.relevance;
2780
+ validator.assert(relevance >= 0 && relevance <= 1, 'Relevance must be between 0 and 1');
2781
+
2782
+ // Validate TTL
2783
+ validator.assert(payload.data.eventData.ttl > 0, 'TTL must be positive');
2784
+
2785
+ return true;
2786
+ } catch (error) {
2787
+ logger.warn(`System event payload validation failed: ${error}`);
2788
+ return false;
2789
+ }
2790
+ };
2791
+
2792
+ /**
2793
+ * Create a TemporalContext object from Time MCP server data
2794
+ * @param timeData - Raw data from Time MCP server
2795
+ * @param options - Optional configuration for temporal context
2796
+ * @returns Properly formatted TemporalContext object
2797
+ */
2798
+ export const createTemporalContext = (
2799
+ timeData: any = {},
2800
+ options: {
2801
+ businessHoursStart?: string;
2802
+ businessHoursEnd?: string;
2803
+ timezone?: string;
2804
+ } = {}
2805
+ ): TemporalContext => {
2806
+ const validator = createStrictValidator('TemporalContext');
2807
+
2808
+ const now = new Date();
2809
+ const hour = now.getHours();
2810
+ const dayOfWeek = now.getDay();
2811
+ const isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
2812
+ const businessStart = parseInt(options.businessHoursStart?.split(':')[0] || '9');
2813
+ const businessEnd = parseInt(options.businessHoursEnd?.split(':')[0] || '17');
2814
+ const isBusinessHours = hour >= businessStart && hour <= businessEnd && !isWeekend;
2815
+
2816
+ // Generate contextual timing
2817
+ let contextualTiming = 'Standard operating period';
2818
+ if (isWeekend) {
2819
+ contextualTiming = 'Weekend period - reduced activity expected';
2820
+ } else if (hour >= businessStart && hour <= businessEnd) {
2821
+ contextualTiming = 'Peak collaboration hours - high agent activity';
2822
+ } else if (hour >= 18 && hour <= 22) {
2823
+ contextualTiming = 'Evening period - moderate activity';
2824
+ } else {
2825
+ contextualTiming = 'Off-peak hours - limited activity expected';
2826
+ }
2827
+
2828
+ return {
2829
+ currentTime: timeData.current_time || now.toISOString(),
2830
+ localTime: timeData.local_time || now.toLocaleString(),
2831
+ relativeTime: timeData.relative_time || 'now',
2832
+ workingHours: timeData.business_hours ?? isBusinessHours,
2833
+ timeZone: timeData.timezone || options.timezone || 'UTC',
2834
+ dayOfWeek: timeData.day_of_week || now.toLocaleDateString('en-US', { weekday: 'long' }),
2835
+ contextualTiming,
2836
+ metadata: {
2837
+ timestamp: Date.now(),
2838
+ businessHours: {
2839
+ start: options.businessHoursStart || '09:00',
2840
+ end: options.businessHoursEnd || '17:00'
2841
+ },
2842
+ utcOffset: timeData.utc_offset || 0,
2843
+ isWeekend: timeData.is_weekend ?? isWeekend
2844
+ }
2845
+ };
2846
+ };
2847
+
2848
+ /**
2849
+ * Create a basic CoordinationAnalysis object
2850
+ * @param channelId - Channel identifier
2851
+ * @param options - Optional configuration for analysis
2852
+ * @returns Basic CoordinationAnalysis structure
2853
+ */
2854
+ export const createBasicCoordinationAnalysis = (
2855
+ channelId: ChannelId,
2856
+ options: {
2857
+ activeAgents?: AgentId[];
2858
+ messageCount?: number;
2859
+ toolUsage?: number;
2860
+ timePeriod?: string;
2861
+ } = {}
2862
+ ): CoordinationAnalysis => {
2863
+ const validator = createStrictValidator('CoordinationAnalysis');
2864
+ validator.assertIsNonEmptyString(channelId, 'Channel ID is required for coordination analysis');
2865
+
2866
+ return {
2867
+ channelId,
2868
+ activeAgents: options.activeAgents || [],
2869
+ opportunities: [
2870
+ {
2871
+ type: 'collaboration',
2872
+ involvedAgents: options.activeAgents || [],
2873
+ description: 'Detected potential for agent collaboration based on activity patterns',
2874
+ confidence: 0.7,
2875
+ suggestedAction: 'Consider coordinating on shared objectives'
2876
+ }
2877
+ ],
2878
+ activityMetrics: {
2879
+ messageCount: options.messageCount || 0,
2880
+ toolUsage: options.toolUsage || 0,
2881
+ interactionDensity: 0,
2882
+ timePeriod: options.timePeriod || 'last 10 minutes'
2883
+ },
2884
+ temporalPatterns: [],
2885
+ analysisTime: new Date().toISOString()
2886
+ };
2887
+ };
2888
+
2889
+ // === MXF Tool Service Payload Helpers ===
2890
+
2891
+ /**
2892
+ * Data for MXF tool list request events
2893
+ */
2894
+ export interface MxfToolListEventData {
2895
+ filter?: {
2896
+ name?: string;
2897
+ channelId?: string;
2898
+ };
2899
+ allowedTools?: string[]; // Agent-specific tool restrictions
2900
+ requestId?: string;
2901
+ }
2902
+
2903
+ /**
2904
+ * Data for MXF tool list result events
2905
+ */
2906
+ export interface MxfToolListResultEventData {
2907
+ tools: Array<{
2908
+ name: string;
2909
+ description: string;
2910
+ inputSchema: Record<string, any>;
2911
+ enabled: boolean;
2912
+ providerId: string;
2913
+ channelId: string;
2914
+ parameters?: any;
2915
+ metadata?: any;
2916
+ }>;
2917
+ count: number;
2918
+ requestId?: string;
2919
+ }
2920
+
2921
+ /**
2922
+ * Data for MXF tool list error events
2923
+ */
2924
+ export interface MxfToolListErrorEventData {
2925
+ error: string;
2926
+ requestId?: string;
2927
+ }
2928
+
2929
+ /**
2930
+ * Creates a payload for MXF tool list request events
2931
+ */
2932
+ export const createMxfToolListPayload = (
2933
+ eventType: string,
2934
+ agentId: AgentId,
2935
+ channelId: ChannelId,
2936
+ data: MxfToolListEventData
2937
+ ): BaseEventPayload<MxfToolListEventData> => ({
2938
+ eventId: uuidv4(),
2939
+ eventType,
2940
+ timestamp: Date.now(),
2941
+ agentId,
2942
+ channelId,
2943
+ source: 'MXF_CLIENT',
2944
+ data,
2945
+ });
2946
+
2947
+ /**
2948
+ * Creates a payload for MXF tool list result events
2949
+ */
2950
+ export const createMxfToolListResultPayload = (
2951
+ eventType: string,
2952
+ agentId: AgentId,
2953
+ channelId: ChannelId,
2954
+ data: MxfToolListResultEventData
2955
+ ): BaseEventPayload<MxfToolListResultEventData> => ({
2956
+ eventId: uuidv4(),
2957
+ eventType,
2958
+ timestamp: Date.now(),
2959
+ agentId,
2960
+ channelId,
2961
+ source: 'MXF_SERVICE',
2962
+ data,
2963
+ });
2964
+
2965
+ /**
2966
+ * Creates a payload for MXF tool list error events
2967
+ */
2968
+ export const createMxfToolListErrorPayload = (
2969
+ eventType: string,
2970
+ agentId: AgentId,
2971
+ channelId: ChannelId,
2972
+ data: MxfToolListErrorEventData
2973
+ ): BaseEventPayload<MxfToolListErrorEventData> => ({
2974
+ eventId: uuidv4(),
2975
+ eventType,
2976
+ timestamp: Date.now(),
2977
+ agentId,
2978
+ channelId,
2979
+ source: 'MXF_SERVICE',
2980
+ data,
2981
+ });
2982
+
2983
+ // --- MXP 2.0 Event Payload Creators ---
2984
+
2985
+ import type {
2986
+ MxpTokenOptimizationEventData,
2987
+ MxpBandwidthOptimizationEventData,
2988
+ MxpSecurityEventData,
2989
+ MxpAnalyticsEventData
2990
+ } from '../events/event-definitions/MxpEvents.js';
2991
+
2992
+ export type {
2993
+ MxpTokenOptimizationEventData,
2994
+ MxpBandwidthOptimizationEventData,
2995
+ MxpSecurityEventData,
2996
+ MxpAnalyticsEventData
2997
+ };
2998
+
2999
+ /**
3000
+ * Creates an MXP token optimization event payload
3001
+ */
3002
+ export function createMxpTokenOptimizationEventPayload(
3003
+ eventType: string,
3004
+ agentId: AgentId,
3005
+ channelId: ChannelId,
3006
+ data: MxpTokenOptimizationEventData,
3007
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3008
+ ): BaseEventPayload<MxpTokenOptimizationEventData> {
3009
+ const validator = createStrictValidator('createMxpTokenOptimizationEventPayload');
3010
+ validator.assertIsNonEmptyString(data.operationId, 'operationId');
3011
+ validator.assertIsNumber(data.originalTokens, 'originalTokens must be a number');
3012
+ validator.assertIsNumber(data.optimizedTokens, 'optimizedTokens must be a number');
3013
+ validator.assertIsNumber(data.compressionRatio, 'compressionRatio must be a number');
3014
+
3015
+ return createBaseEventPayload<MxpTokenOptimizationEventData>(
3016
+ eventType, agentId, channelId, data, options
3017
+ );
3018
+ }
3019
+
3020
+ /**
3021
+ * Creates an MXP bandwidth optimization event payload
3022
+ */
3023
+ export function createMxpBandwidthOptimizationEventPayload(
3024
+ eventType: string,
3025
+ agentId: AgentId,
3026
+ channelId: ChannelId,
3027
+ data: MxpBandwidthOptimizationEventData,
3028
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3029
+ ): BaseEventPayload<MxpBandwidthOptimizationEventData> {
3030
+ const validator = createStrictValidator('createMxpBandwidthOptimizationEventPayload');
3031
+ validator.assertIsNonEmptyString(data.operationId, 'operationId');
3032
+ validator.assertIsNumber(data.originalSize, 'originalSize must be a number');
3033
+ validator.assertIsNumber(data.compressedSize, 'compressedSize must be a number');
3034
+ validator.assertIsNumber(data.compressionRatio, 'compressionRatio must be a number');
3035
+
3036
+ return createBaseEventPayload<MxpBandwidthOptimizationEventData>(
3037
+ eventType, agentId, channelId, data, options
3038
+ );
3039
+ }
3040
+
3041
+ /**
3042
+ * Creates an MXP security event payload
3043
+ */
3044
+ export function createMxpSecurityEventPayload(
3045
+ eventType: string,
3046
+ agentId: AgentId,
3047
+ channelId: ChannelId,
3048
+ data: MxpSecurityEventData,
3049
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3050
+ ): BaseEventPayload<MxpSecurityEventData> {
3051
+ const validator = createStrictValidator('createMxpSecurityEventPayload');
3052
+ validator.assertIsNonEmptyString(data.newLevel, 'newLevel');
3053
+ validator.assertIsNumber(data.timestamp, 'timestamp must be a number');
3054
+
3055
+ return createBaseEventPayload<MxpSecurityEventData>(
3056
+ eventType, agentId, channelId, data, options
3057
+ );
3058
+ }
3059
+
3060
+ /**
3061
+ * Creates an MXP analytics event payload
3062
+ */
3063
+ export function createMxpAnalyticsEventPayload(
3064
+ eventType: string,
3065
+ agentId: AgentId,
3066
+ channelId: ChannelId,
3067
+ data: MxpAnalyticsEventData,
3068
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3069
+ ): BaseEventPayload<MxpAnalyticsEventData> {
3070
+ const validator = createStrictValidator('createMxpAnalyticsEventPayload');
3071
+ validator.assertIsNonEmptyString(data.metricType, 'metricType');
3072
+ validator.assertIsNumber(data.value, 'value must be a number');
3073
+ validator.assertIsNonEmptyString(data.unit, 'unit');
3074
+ validator.assertIsNumber(data.timestamp, 'timestamp must be a number');
3075
+
3076
+ return createBaseEventPayload<MxpAnalyticsEventData>(
3077
+ eventType, agentId, channelId, data, options
3078
+ );
3079
+ }
3080
+
3081
+ // --- Meilisearch Integration Event Payload Creators ---
3082
+
3083
+ /**
3084
+ * Data for Meilisearch indexing events
3085
+ */
3086
+ export interface MeilisearchIndexEventData {
3087
+ operationId: string; // Unique ID for this indexing operation
3088
+ indexName: string; // Name of the Meilisearch index (e.g., 'mxf-conversations')
3089
+ documentId: string; // ID of the document being indexed
3090
+ documentType: 'conversation' | 'action' | 'pattern' | 'observation'; // Type of document
3091
+ success: boolean; // Whether indexing succeeded
3092
+ duration?: number; // Time taken to index in milliseconds
3093
+ error?: string; // Error message if indexing failed
3094
+ metadata?: { // Additional context
3095
+ messageCount?: number; // For batch operations
3096
+ agentId?: string;
3097
+ channelId?: string;
3098
+ timestamp?: number;
3099
+ };
3100
+ }
3101
+ export type MeilisearchIndexEventPayload = BaseEventPayload<MeilisearchIndexEventData>;
3102
+
3103
+ /**
3104
+ * Data for Meilisearch search events
3105
+ */
3106
+ export interface MeilisearchSearchEventData {
3107
+ operationId: string; // Unique ID for this search operation
3108
+ indexName: string; // Name of the Meilisearch index searched
3109
+ query: string; // Search query text
3110
+ hybridRatio?: number; // Semantic/keyword ratio (0.0-1.0)
3111
+ resultCount: number; // Number of results returned
3112
+ duration: number; // Search latency in milliseconds
3113
+ filters?: Record<string, any>; // Applied filters (channelId, agentId, etc.)
3114
+ success: boolean; // Whether search succeeded
3115
+ error?: string; // Error message if search failed
3116
+ metadata?: { // Additional context
3117
+ semanticSearch?: boolean; // Whether semantic search was used
3118
+ embeddingModel?: string; // Model used for embeddings
3119
+ cacheHit?: boolean; // Whether result was cached
3120
+ };
3121
+ }
3122
+ export type MeilisearchSearchEventPayload = BaseEventPayload<MeilisearchSearchEventData>;
3123
+
3124
+ /**
3125
+ * Data for Meilisearch backfill events
3126
+ */
3127
+ export interface MeilisearchBackfillEventData {
3128
+ operationId: string; // Unique ID for this backfill operation
3129
+ indexName: string; // Name of the Meilisearch index
3130
+ totalDocuments: number; // Total documents to backfill
3131
+ indexedDocuments: number; // Number of documents successfully indexed
3132
+ failedDocuments: number; // Number of documents that failed to index
3133
+ duration: number; // Total time taken in milliseconds
3134
+ success: boolean; // Whether backfill completed successfully
3135
+ source: 'mongodb' | 'memory' | 'other'; // Source of backfilled data
3136
+ error?: string; // Error message if backfill failed
3137
+ metadata?: { // Additional context
3138
+ agentId?: string;
3139
+ channelId?: string;
3140
+ startTimestamp?: number; // Earliest message timestamp
3141
+ endTimestamp?: number; // Latest message timestamp
3142
+ batchSize?: number; // Batch size used for indexing
3143
+ };
3144
+ }
3145
+ export type MeilisearchBackfillEventPayload = BaseEventPayload<MeilisearchBackfillEventData>;
3146
+
3147
+ /**
3148
+ * Creates a Meilisearch indexing event payload
3149
+ */
3150
+ export function createMeilisearchIndexEventPayload(
3151
+ eventType: string,
3152
+ agentId: AgentId,
3153
+ channelId: ChannelId,
3154
+ data: MeilisearchIndexEventData,
3155
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3156
+ ): BaseEventPayload<MeilisearchIndexEventData> {
3157
+ const validator = createStrictValidator('createMeilisearchIndexEventPayload');
3158
+ validator.assertIsNonEmptyString(data.operationId, 'operationId');
3159
+ validator.assertIsNonEmptyString(data.indexName, 'indexName');
3160
+ validator.assertIsNonEmptyString(data.documentId, 'documentId');
3161
+ validator.assertIsNonEmptyString(data.documentType, 'documentType');
3162
+ validator.assertIsBoolean(data.success);
3163
+
3164
+ return createBaseEventPayload<MeilisearchIndexEventData>(
3165
+ eventType, agentId, channelId, data, options
3166
+ );
3167
+ }
3168
+
3169
+ /**
3170
+ * Creates a Meilisearch search event payload
3171
+ */
3172
+ export function createMeilisearchSearchEventPayload(
3173
+ eventType: string,
3174
+ agentId: AgentId,
3175
+ channelId: ChannelId,
3176
+ data: MeilisearchSearchEventData,
3177
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3178
+ ): BaseEventPayload<MeilisearchSearchEventData> {
3179
+ const validator = createStrictValidator('createMeilisearchSearchEventPayload');
3180
+ validator.assertIsNonEmptyString(data.operationId, 'operationId');
3181
+ validator.assertIsNonEmptyString(data.indexName, 'indexName');
3182
+ validator.assertIsNonEmptyString(data.query, 'query');
3183
+ validator.assertIsNumber(data.resultCount, 'resultCount must be a number');
3184
+ validator.assertIsNumber(data.duration, 'duration must be a number');
3185
+ validator.assertIsBoolean(data.success);
3186
+
3187
+ return createBaseEventPayload<MeilisearchSearchEventData>(
3188
+ eventType, agentId, channelId, data, options
3189
+ );
3190
+ }
3191
+
3192
+ /**
3193
+ * Creates a Meilisearch backfill event payload
3194
+ */
3195
+ export function createMeilisearchBackfillEventPayload(
3196
+ eventType: string,
3197
+ agentId: AgentId,
3198
+ channelId: ChannelId,
3199
+ data: MeilisearchBackfillEventData,
3200
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3201
+ ): BaseEventPayload<MeilisearchBackfillEventData> {
3202
+ const validator = createStrictValidator('createMeilisearchBackfillEventPayload');
3203
+ validator.assertIsNonEmptyString(data.operationId, 'operationId');
3204
+ validator.assertIsNonEmptyString(data.indexName, 'indexName');
3205
+ validator.assertIsNumber(data.totalDocuments, 'totalDocuments must be a number');
3206
+ validator.assertIsNumber(data.indexedDocuments, 'indexedDocuments must be a number');
3207
+ validator.assertIsNumber(data.failedDocuments, 'failedDocuments must be a number');
3208
+ validator.assertIsNumber(data.duration, 'duration must be a number');
3209
+ validator.assertIsBoolean(data.success);
3210
+ validator.assertIsNonEmptyString(data.source, 'source');
3211
+
3212
+ return createBaseEventPayload<MeilisearchBackfillEventData>(
3213
+ eventType, agentId, channelId, data, options
3214
+ );
3215
+ }
3216
+
3217
+ // --- Plan Event Payload Creator Helpers ---
3218
+
3219
+ /**
3220
+ * Creates a PlanStepCompletedEventPayload.
3221
+ * Used when a plan step is marked as completed.
3222
+ *
3223
+ * @param eventType - The specific event type (e.g., Events.Plan.PLAN_STEP_COMPLETED).
3224
+ * @param agentId - The Agent ID that completed the step.
3225
+ * @param channelId - The Channel ID context for this plan event.
3226
+ * @param planStepData - The specific data for the plan step completion.
3227
+ * @param options - Optional base event payload options.
3228
+ * @returns A BaseEventPayload with PlanStepCompletedEventData.
3229
+ */
3230
+ export function createPlanStepCompletedEventPayload(
3231
+ eventType: EventName | string,
3232
+ agentId: AgentId,
3233
+ channelId: ChannelId,
3234
+ planStepData: PlanStepCompletedEventData,
3235
+ options: { source?: string; isRecursionProtection?: boolean; eventId?: string; timestamp?: number; } = {}
3236
+ ): BaseEventPayload<PlanStepCompletedEventData> {
3237
+ const validator = createStrictValidator('createPlanStepCompletedEventPayload');
3238
+ validator.assertIsObject(planStepData, 'planStepData');
3239
+ validator.assertIsNonEmptyString(planStepData.planId, 'planStepData.planId');
3240
+ validator.assertIsNonEmptyString(planStepData.stepId, 'planStepData.stepId');
3241
+ validator.assertIsNonEmptyString(planStepData.completedBy, 'planStepData.completedBy');
3242
+
3243
+ return createBaseEventPayload<PlanStepCompletedEventData>(
3244
+ eventType,
3245
+ agentId,
3246
+ channelId,
3247
+ planStepData,
3248
+ options
3249
+ );
3250
+ }
3251
+
3252
+ // --- Memory Utility Learning System (MULS) Event Payload Creator Helpers ---
3253
+
3254
+ /**
3255
+ * Data for Q-value updated events
3256
+ */
3257
+ export interface MemoryQValueUpdatedEventData {
3258
+ memoryId: string;
3259
+ oldValue: number;
3260
+ newValue: number;
3261
+ reward: number;
3262
+ delta: number;
3263
+ taskId?: string;
3264
+ phase?: string;
3265
+ }
3266
+
3267
+ /**
3268
+ * Data for Q-value batch updated events
3269
+ */
3270
+ export interface MemoryQValueBatchUpdatedEventData {
3271
+ totalUpdates: number;
3272
+ updated: number;
3273
+ failed: number;
3274
+ taskId?: string;
3275
+ errors?: Array<{ memoryId: string; error: string }>;
3276
+ }
3277
+
3278
+ /**
3279
+ * Data for reward attributed events
3280
+ */
3281
+ export interface MemoryRewardAttributedEventData {
3282
+ taskId?: string;
3283
+ status?: string;
3284
+ reward: number;
3285
+ memoriesUpdated: number;
3286
+ memoriesFailed: number;
3287
+ memoryIds: string[];
3288
+ isManual?: boolean;
3289
+ reason?: string;
3290
+ newQValue?: number;
3291
+ memoryId?: string;
3292
+ }
3293
+
3294
+ /**
3295
+ * Creates a MemoryQValueUpdatedEventPayload.
3296
+ * Used when a single Q-value is updated in the MULS system.
3297
+ *
3298
+ * @param agentId - The Agent ID context for this update (or 'system' if no agent context).
3299
+ * @param channelId - The Channel ID context for this update (or 'global' if no channel context).
3300
+ * @param data - The specific data for the Q-value update event.
3301
+ * @param options - Optional base event payload options.
3302
+ * @returns A BaseEventPayload with MemoryQValueUpdatedEventData.
3303
+ */
3304
+ export function createMemoryQValueUpdatedPayload(
3305
+ agentId: AgentId,
3306
+ channelId: ChannelId,
3307
+ data: MemoryQValueUpdatedEventData,
3308
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3309
+ ): BaseEventPayload<MemoryQValueUpdatedEventData> {
3310
+ const validator = createStrictValidator('createMemoryQValueUpdatedPayload');
3311
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3312
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3313
+ validator.assertIsNonEmptyString(data.memoryId, 'data.memoryId is required');
3314
+
3315
+ return createBaseEventPayload<MemoryQValueUpdatedEventData>(
3316
+ 'memory:qvalue_updated',
3317
+ agentId,
3318
+ channelId,
3319
+ data,
3320
+ options
3321
+ );
3322
+ }
3323
+
3324
+ /**
3325
+ * Creates a MemoryQValueBatchUpdatedEventPayload.
3326
+ * Used when multiple Q-values are updated in a batch.
3327
+ *
3328
+ * @param agentId - The Agent ID context for this batch update (or 'system' if no agent context).
3329
+ * @param channelId - The Channel ID context for this batch update (or 'global' if no channel context).
3330
+ * @param data - The specific data for the batch Q-value update event.
3331
+ * @param options - Optional base event payload options.
3332
+ * @returns A BaseEventPayload with MemoryQValueBatchUpdatedEventData.
3333
+ */
3334
+ export function createMemoryQValueBatchUpdatedPayload(
3335
+ agentId: AgentId,
3336
+ channelId: ChannelId,
3337
+ data: MemoryQValueBatchUpdatedEventData,
3338
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3339
+ ): BaseEventPayload<MemoryQValueBatchUpdatedEventData> {
3340
+ const validator = createStrictValidator('createMemoryQValueBatchUpdatedPayload');
3341
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3342
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3343
+
3344
+ return createBaseEventPayload<MemoryQValueBatchUpdatedEventData>(
3345
+ 'memory:qvalue_batch_updated',
3346
+ agentId,
3347
+ channelId,
3348
+ data,
3349
+ options
3350
+ );
3351
+ }
3352
+
3353
+ /**
3354
+ * Creates a MemoryRewardAttributedEventPayload.
3355
+ * Used when rewards are attributed to memories after task completion.
3356
+ *
3357
+ * @param agentId - The Agent ID context for this reward attribution (or 'system' if no agent context).
3358
+ * @param channelId - The Channel ID context for this reward attribution (or 'global' if no channel context).
3359
+ * @param data - The specific data for the reward attribution event.
3360
+ * @param options - Optional base event payload options.
3361
+ * @returns A BaseEventPayload with MemoryRewardAttributedEventData.
3362
+ */
3363
+ export function createMemoryRewardAttributedPayload(
3364
+ agentId: AgentId,
3365
+ channelId: ChannelId,
3366
+ data: MemoryRewardAttributedEventData,
3367
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3368
+ ): BaseEventPayload<MemoryRewardAttributedEventData> {
3369
+ const validator = createStrictValidator('createMemoryRewardAttributedPayload');
3370
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3371
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3372
+
3373
+ return createBaseEventPayload<MemoryRewardAttributedEventData>(
3374
+ 'memory:reward_attributed',
3375
+ agentId,
3376
+ channelId,
3377
+ data,
3378
+ options
3379
+ );
3380
+ }
3381
+
3382
+ // ============================================================================
3383
+ // ORPAR-Memory Integration Event Payload Helpers
3384
+ // ============================================================================
3385
+
3386
+ /**
3387
+ * Creates an ORPAR-Memory Cycle Started event payload.
3388
+ * Emitted when a new ORPAR cycle begins with memory integration enabled.
3389
+ *
3390
+ * @param agentId - The Agent ID starting the cycle.
3391
+ * @param channelId - The Channel ID context for this cycle.
3392
+ * @param data - The cycle started event data.
3393
+ * @param options - Optional base event payload options.
3394
+ * @returns A BaseEventPayload with CycleStartedEventData.
3395
+ */
3396
+ export function createOrparMemoryCycleStartedPayload(
3397
+ agentId: AgentId,
3398
+ channelId: ChannelId,
3399
+ data: CycleStartedEventData,
3400
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3401
+ ): BaseEventPayload<CycleStartedEventData> {
3402
+ const validator = createStrictValidator('createOrparMemoryCycleStartedPayload');
3403
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3404
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3405
+ validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
3406
+ validator.assertIsNonEmptyString(data.initialPhase, 'data.initialPhase is required');
3407
+
3408
+ return createBaseEventPayload<CycleStartedEventData>(
3409
+ OrparMemoryEvents.CYCLE_STARTED,
3410
+ agentId,
3411
+ channelId,
3412
+ data,
3413
+ options
3414
+ );
3415
+ }
3416
+
3417
+ /**
3418
+ * Creates an ORPAR-Memory Phase Changed event payload.
3419
+ * Emitted when an ORPAR cycle transitions to a new phase.
3420
+ *
3421
+ * @param agentId - The Agent ID in the cycle.
3422
+ * @param channelId - The Channel ID context for this cycle.
3423
+ * @param data - The phase changed event data.
3424
+ * @param options - Optional base event payload options.
3425
+ * @returns A BaseEventPayload with PhaseChangedEventData.
3426
+ */
3427
+ export function createOrparMemoryPhaseChangedPayload(
3428
+ agentId: AgentId,
3429
+ channelId: ChannelId,
3430
+ data: PhaseChangedEventData,
3431
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3432
+ ): BaseEventPayload<PhaseChangedEventData> {
3433
+ const validator = createStrictValidator('createOrparMemoryPhaseChangedPayload');
3434
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3435
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3436
+ validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
3437
+ validator.assertIsNonEmptyString(data.newPhase, 'data.newPhase is required');
3438
+
3439
+ return createBaseEventPayload<PhaseChangedEventData>(
3440
+ OrparMemoryEvents.PHASE_CHANGED,
3441
+ agentId,
3442
+ channelId,
3443
+ data,
3444
+ options
3445
+ );
3446
+ }
3447
+
3448
+ /**
3449
+ * Creates an ORPAR-Memory Cycle Completed event payload.
3450
+ * Emitted when an ORPAR cycle finishes and triggers reward attribution/consolidation.
3451
+ *
3452
+ * @param agentId - The Agent ID that completed the cycle.
3453
+ * @param channelId - The Channel ID context for this cycle.
3454
+ * @param data - The cycle completed event data.
3455
+ * @param options - Optional base event payload options.
3456
+ * @returns A BaseEventPayload with CycleCompletedEventData.
3457
+ */
3458
+ export function createOrparMemoryCycleCompletedPayload(
3459
+ agentId: AgentId,
3460
+ channelId: ChannelId,
3461
+ data: CycleCompletedEventData,
3462
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3463
+ ): BaseEventPayload<CycleCompletedEventData> {
3464
+ const validator = createStrictValidator('createOrparMemoryCycleCompletedPayload');
3465
+ validator.assertIsNonEmptyString(agentId, 'agentId is required');
3466
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3467
+ validator.assertIsNonEmptyString(data.cycleId, 'data.cycleId is required');
3468
+
3469
+ return createBaseEventPayload<CycleCompletedEventData>(
3470
+ OrparMemoryEvents.CYCLE_COMPLETED,
3471
+ agentId,
3472
+ channelId,
3473
+ data,
3474
+ options
3475
+ );
3476
+ }
3477
+
3478
+ // ============================================================================
3479
+ // Task DAG Event Payload Helpers
3480
+ // ============================================================================
3481
+
3482
+ /**
3483
+ * Creates a DAG Task Dependencies Resolved event payload.
3484
+ * Emitted when all dependencies for a task have been completed.
3485
+ *
3486
+ * @param channelId - The Channel ID context.
3487
+ * @param agentId - The Agent ID context (or 'system').
3488
+ * @param taskId - The task that is now unblocked.
3489
+ * @param resolvedDependencies - IDs of the dependencies that were resolved.
3490
+ * @param options - Optional base event payload options.
3491
+ * @returns A BaseEventPayload with TaskDependenciesResolvedEventData.
3492
+ */
3493
+ export function createDagTaskDependenciesResolvedPayload(
3494
+ channelId: ChannelId,
3495
+ agentId: AgentId,
3496
+ taskId: string,
3497
+ resolvedDependencies: string[],
3498
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3499
+ ): BaseEventPayload<TaskDependenciesResolvedEventData> {
3500
+ const validator = createStrictValidator('createDagTaskDependenciesResolvedPayload');
3501
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3502
+ validator.assertIsNonEmptyString(taskId, 'taskId is required');
3503
+
3504
+ const data: TaskDependenciesResolvedEventData = {
3505
+ taskId,
3506
+ channelId,
3507
+ resolvedDependencies,
3508
+ resolvedAt: Date.now(),
3509
+ };
3510
+
3511
+ return createBaseEventPayload<TaskDependenciesResolvedEventData>(
3512
+ DagEvents.TASK_DEPENDENCIES_RESOLVED,
3513
+ agentId,
3514
+ channelId,
3515
+ data,
3516
+ options
3517
+ );
3518
+ }
3519
+
3520
+ /**
3521
+ * Creates a DAG Task Blocked event payload.
3522
+ * Emitted when a task cannot proceed due to unresolved dependencies.
3523
+ *
3524
+ * @param channelId - The Channel ID context.
3525
+ * @param agentId - The Agent ID context (or 'system').
3526
+ * @param taskId - The task that is blocked.
3527
+ * @param blockingTasks - IDs of the tasks blocking this one.
3528
+ * @param attemptedStatus - The status transition that was attempted.
3529
+ * @param reason - Reason for the block.
3530
+ * @param options - Optional base event payload options.
3531
+ * @returns A BaseEventPayload with TaskBlockedEventData.
3532
+ */
3533
+ export function createDagTaskBlockedPayload(
3534
+ channelId: ChannelId,
3535
+ agentId: AgentId,
3536
+ taskId: string,
3537
+ blockingTasks: string[],
3538
+ attemptedStatus: string,
3539
+ reason: string,
3540
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3541
+ ): BaseEventPayload<TaskBlockedEventData> {
3542
+ const validator = createStrictValidator('createDagTaskBlockedPayload');
3543
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3544
+ validator.assertIsNonEmptyString(taskId, 'taskId is required');
3545
+
3546
+ const data: TaskBlockedEventData = {
3547
+ taskId,
3548
+ channelId,
3549
+ blockingTasks,
3550
+ attemptedStatus,
3551
+ reason,
3552
+ };
3553
+
3554
+ return createBaseEventPayload<TaskBlockedEventData>(
3555
+ DagEvents.TASK_BLOCKED,
3556
+ agentId,
3557
+ channelId,
3558
+ data,
3559
+ options
3560
+ );
3561
+ }
3562
+
3563
+ /**
3564
+ * Creates a DAG Task Unblocked event payload.
3565
+ * Emitted when a blocking dependency is resolved.
3566
+ *
3567
+ * @param channelId - The Channel ID context.
3568
+ * @param agentId - The Agent ID context (or 'system').
3569
+ * @param taskId - The task that was unblocked.
3570
+ * @param resolvedDependency - The dependency that was resolved.
3571
+ * @param remainingBlockers - Remaining blocking tasks (if any).
3572
+ * @param isReady - Whether the task is now fully ready.
3573
+ * @param options - Optional base event payload options.
3574
+ * @returns A BaseEventPayload with TaskUnblockedEventData.
3575
+ */
3576
+ export function createDagTaskUnblockedPayload(
3577
+ channelId: ChannelId,
3578
+ agentId: AgentId,
3579
+ taskId: string,
3580
+ resolvedDependency: string,
3581
+ remainingBlockers: string[],
3582
+ isReady: boolean,
3583
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3584
+ ): BaseEventPayload<TaskUnblockedEventData> {
3585
+ const validator = createStrictValidator('createDagTaskUnblockedPayload');
3586
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3587
+ validator.assertIsNonEmptyString(taskId, 'taskId is required');
3588
+
3589
+ const data: TaskUnblockedEventData = {
3590
+ taskId,
3591
+ channelId,
3592
+ resolvedDependency,
3593
+ remainingBlockers,
3594
+ isReady,
3595
+ };
3596
+
3597
+ return createBaseEventPayload<TaskUnblockedEventData>(
3598
+ DagEvents.TASK_UNBLOCKED,
3599
+ agentId,
3600
+ channelId,
3601
+ data,
3602
+ options
3603
+ );
3604
+ }
3605
+
3606
+ /**
3607
+ * Creates a DAG Cycle Detected event payload.
3608
+ * Emitted when a dependency would create a cycle.
3609
+ *
3610
+ * @param channelId - The Channel ID where the cycle was detected.
3611
+ * @param agentId - The Agent ID context (or 'system').
3612
+ * @param dependentTaskId - The dependency that would create the cycle.
3613
+ * @param dependencyTaskId - The dependency task that would complete the cycle.
3614
+ * @param cyclePath - The full cycle path.
3615
+ * @param cycleDescription - Human-readable description of the cycle.
3616
+ * @param options - Optional base event payload options.
3617
+ * @returns A BaseEventPayload with CycleDetectedEventData.
3618
+ */
3619
+ export function createDagCycleDetectedPayload(
3620
+ channelId: ChannelId,
3621
+ agentId: AgentId,
3622
+ dependentTaskId: string,
3623
+ dependencyTaskId: string,
3624
+ cyclePath: string[],
3625
+ cycleDescription: string,
3626
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3627
+ ): BaseEventPayload<CycleDetectedEventData> {
3628
+ const validator = createStrictValidator('createDagCycleDetectedPayload');
3629
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3630
+
3631
+ const data: CycleDetectedEventData = {
3632
+ channelId,
3633
+ dependentTaskId,
3634
+ dependencyTaskId,
3635
+ cyclePath,
3636
+ cycleDescription,
3637
+ };
3638
+
3639
+ return createBaseEventPayload<CycleDetectedEventData>(
3640
+ DagEvents.CYCLE_DETECTED,
3641
+ agentId,
3642
+ channelId,
3643
+ data,
3644
+ options
3645
+ );
3646
+ }
3647
+
3648
+ /**
3649
+ * Creates a DAG Updated event payload.
3650
+ * Emitted when the DAG structure changes.
3651
+ *
3652
+ * @param channelId - The Channel ID whose DAG was updated.
3653
+ * @param agentId - The Agent ID context (or 'system').
3654
+ * @param updateType - Type of update.
3655
+ * @param affectedTaskIds - Affected task IDs.
3656
+ * @param version - New DAG version.
3657
+ * @param options - Optional base event payload options.
3658
+ * @returns A BaseEventPayload with DagUpdatedEventData.
3659
+ */
3660
+ export function createDagUpdatedPayload(
3661
+ channelId: ChannelId,
3662
+ agentId: AgentId,
3663
+ updateType: 'node_added' | 'node_removed' | 'edge_added' | 'edge_removed' | 'status_changed',
3664
+ affectedTaskIds: string[],
3665
+ version: number,
3666
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3667
+ ): BaseEventPayload<DagUpdatedEventData> {
3668
+ const validator = createStrictValidator('createDagUpdatedPayload');
3669
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3670
+
3671
+ const data: DagUpdatedEventData = {
3672
+ channelId,
3673
+ updateType,
3674
+ affectedTaskIds,
3675
+ version,
3676
+ };
3677
+
3678
+ return createBaseEventPayload<DagUpdatedEventData>(
3679
+ DagEvents.DAG_UPDATED,
3680
+ agentId,
3681
+ channelId,
3682
+ data,
3683
+ options
3684
+ );
3685
+ }
3686
+
3687
+ /**
3688
+ * Creates a DAG Dependency Added event payload.
3689
+ * Emitted when a dependency is added to the DAG.
3690
+ *
3691
+ * @param channelId - The Channel ID context.
3692
+ * @param agentId - The Agent ID context (or 'system').
3693
+ * @param edgeId - The edge ID.
3694
+ * @param dependentTaskId - The dependent task.
3695
+ * @param dependencyTaskId - The dependency task.
3696
+ * @param label - Optional label for the dependency.
3697
+ * @param options - Optional base event payload options.
3698
+ * @returns A BaseEventPayload with DependencyAddedEventData.
3699
+ */
3700
+ export function createDagDependencyAddedPayload(
3701
+ channelId: ChannelId,
3702
+ agentId: AgentId,
3703
+ edgeId: string,
3704
+ dependentTaskId: string,
3705
+ dependencyTaskId: string,
3706
+ label?: string,
3707
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3708
+ ): BaseEventPayload<DependencyAddedEventData> {
3709
+ const validator = createStrictValidator('createDagDependencyAddedPayload');
3710
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3711
+
3712
+ const data: DependencyAddedEventData = {
3713
+ edgeId,
3714
+ dependentTaskId,
3715
+ dependencyTaskId,
3716
+ channelId,
3717
+ label,
3718
+ };
3719
+
3720
+ return createBaseEventPayload<DependencyAddedEventData>(
3721
+ DagEvents.DEPENDENCY_ADDED,
3722
+ agentId,
3723
+ channelId,
3724
+ data,
3725
+ options
3726
+ );
3727
+ }
3728
+
3729
+ /**
3730
+ * Creates a DAG Dependency Removed event payload.
3731
+ * Emitted when a dependency is removed from the DAG.
3732
+ *
3733
+ * @param channelId - The Channel ID context.
3734
+ * @param agentId - The Agent ID context (or 'system').
3735
+ * @param edgeId - The edge ID.
3736
+ * @param dependentTaskId - The dependent task.
3737
+ * @param dependencyTaskId - The dependency task.
3738
+ * @param options - Optional base event payload options.
3739
+ * @returns A BaseEventPayload with DependencyRemovedEventData.
3740
+ */
3741
+ export function createDagDependencyRemovedPayload(
3742
+ channelId: ChannelId,
3743
+ agentId: AgentId,
3744
+ edgeId: string,
3745
+ dependentTaskId: string,
3746
+ dependencyTaskId: string,
3747
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3748
+ ): BaseEventPayload<DependencyRemovedEventData> {
3749
+ const validator = createStrictValidator('createDagDependencyRemovedPayload');
3750
+ validator.assertIsNonEmptyString(channelId, 'channelId is required');
3751
+
3752
+ const data: DependencyRemovedEventData = {
3753
+ edgeId,
3754
+ dependentTaskId,
3755
+ dependencyTaskId,
3756
+ channelId,
3757
+ };
3758
+
3759
+ return createBaseEventPayload<DependencyRemovedEventData>(
3760
+ DagEvents.DEPENDENCY_REMOVED,
3761
+ agentId,
3762
+ channelId,
3763
+ data,
3764
+ options
3765
+ );
3766
+ }
3767
+
3768
+ // ─── TensorFlow.js Event Payload Helpers ────────────────────────────────────
3769
+
3770
+ /**
3771
+ * Create a model registered event payload.
3772
+ *
3773
+ * @param channelId - Channel context (use 'system' for server-level events)
3774
+ * @param agentId - Agent context (use 'system' for server-level events)
3775
+ * @param modelId - The registered model ID
3776
+ * @param type - Model architecture type
3777
+ * @param inputShape - Model input shape
3778
+ * @param outputShape - Model output shape
3779
+ * @param options - Optional base event payload options
3780
+ * @returns A BaseEventPayload with ModelRegisteredEventData
3781
+ */
3782
+ export function createTfModelRegisteredPayload(
3783
+ channelId: ChannelId,
3784
+ agentId: AgentId,
3785
+ modelId: string,
3786
+ type: string,
3787
+ inputShape: number[],
3788
+ outputShape: number[],
3789
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3790
+ ): BaseEventPayload<ModelRegisteredEventData> {
3791
+ const validator = createStrictValidator('createTfModelRegisteredPayload');
3792
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3793
+
3794
+ const data: ModelRegisteredEventData = {
3795
+ modelId,
3796
+ type,
3797
+ inputShape,
3798
+ outputShape,
3799
+ };
3800
+
3801
+ return createBaseEventPayload<ModelRegisteredEventData>(
3802
+ TensorFlowEvents.MODEL_REGISTERED,
3803
+ agentId,
3804
+ channelId,
3805
+ data,
3806
+ options
3807
+ );
3808
+ }
3809
+
3810
+ /**
3811
+ * Create a model training started event payload.
3812
+ *
3813
+ * @param channelId - Channel context
3814
+ * @param agentId - Agent context
3815
+ * @param modelId - The model being trained
3816
+ * @param trainingSamples - Number of training samples
3817
+ * @param epochs - Number of training epochs
3818
+ * @param options - Optional base event payload options
3819
+ * @returns A BaseEventPayload with ModelTrainingStartedEventData
3820
+ */
3821
+ export function createTfModelTrainingStartedPayload(
3822
+ channelId: ChannelId,
3823
+ agentId: AgentId,
3824
+ modelId: string,
3825
+ trainingSamples: number,
3826
+ epochs: number,
3827
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3828
+ ): BaseEventPayload<ModelTrainingStartedEventData> {
3829
+ const validator = createStrictValidator('createTfModelTrainingStartedPayload');
3830
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3831
+
3832
+ const data: ModelTrainingStartedEventData = {
3833
+ modelId,
3834
+ trainingSamples,
3835
+ epochs,
3836
+ };
3837
+
3838
+ return createBaseEventPayload<ModelTrainingStartedEventData>(
3839
+ TensorFlowEvents.MODEL_TRAINING_STARTED,
3840
+ agentId,
3841
+ channelId,
3842
+ data,
3843
+ options
3844
+ );
3845
+ }
3846
+
3847
+ /**
3848
+ * Create a model training completed event payload.
3849
+ *
3850
+ * @param channelId - Channel context
3851
+ * @param agentId - Agent context
3852
+ * @param modelId - The model that completed training
3853
+ * @param loss - Final training loss
3854
+ * @param durationMs - Training duration in milliseconds
3855
+ * @param samplesUsed - Number of training samples used
3856
+ * @param extras - Optional valLoss and accuracy
3857
+ * @param options - Optional base event payload options
3858
+ * @returns A BaseEventPayload with ModelTrainingCompletedEventData
3859
+ */
3860
+ export function createTfModelTrainingCompletedPayload(
3861
+ channelId: ChannelId,
3862
+ agentId: AgentId,
3863
+ modelId: string,
3864
+ loss: number,
3865
+ durationMs: number,
3866
+ samplesUsed: number,
3867
+ extras: { valLoss?: number; accuracy?: number } = {},
3868
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3869
+ ): BaseEventPayload<ModelTrainingCompletedEventData> {
3870
+ const validator = createStrictValidator('createTfModelTrainingCompletedPayload');
3871
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3872
+
3873
+ const data: ModelTrainingCompletedEventData = {
3874
+ modelId,
3875
+ loss,
3876
+ valLoss: extras.valLoss,
3877
+ accuracy: extras.accuracy,
3878
+ durationMs,
3879
+ samplesUsed,
3880
+ };
3881
+
3882
+ return createBaseEventPayload<ModelTrainingCompletedEventData>(
3883
+ TensorFlowEvents.MODEL_TRAINING_COMPLETED,
3884
+ agentId,
3885
+ channelId,
3886
+ data,
3887
+ options
3888
+ );
3889
+ }
3890
+
3891
+ /**
3892
+ * Create a model training failed event payload.
3893
+ *
3894
+ * @param channelId - Channel context
3895
+ * @param agentId - Agent context
3896
+ * @param modelId - The model that failed training
3897
+ * @param error - Error message
3898
+ * @param trainingSamples - Number of training samples attempted
3899
+ * @param options - Optional base event payload options
3900
+ * @returns A BaseEventPayload with ModelTrainingFailedEventData
3901
+ */
3902
+ export function createTfModelTrainingFailedPayload(
3903
+ channelId: ChannelId,
3904
+ agentId: AgentId,
3905
+ modelId: string,
3906
+ error: string,
3907
+ trainingSamples: number,
3908
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3909
+ ): BaseEventPayload<ModelTrainingFailedEventData> {
3910
+ const validator = createStrictValidator('createTfModelTrainingFailedPayload');
3911
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3912
+
3913
+ const data: ModelTrainingFailedEventData = {
3914
+ modelId,
3915
+ error,
3916
+ trainingSamples,
3917
+ };
3918
+
3919
+ return createBaseEventPayload<ModelTrainingFailedEventData>(
3920
+ TensorFlowEvents.MODEL_TRAINING_FAILED,
3921
+ agentId,
3922
+ channelId,
3923
+ data,
3924
+ options
3925
+ );
3926
+ }
3927
+
3928
+ /**
3929
+ * Create a model loaded event payload.
3930
+ *
3931
+ * @param channelId - Channel context
3932
+ * @param agentId - Agent context
3933
+ * @param modelId - The loaded model ID
3934
+ * @param source - Storage source (e.g., 'gridfs://model_id' or 'file://path')
3935
+ * @param options - Optional base event payload options
3936
+ * @returns A BaseEventPayload with ModelLoadedEventData
3937
+ */
3938
+ export function createTfModelLoadedPayload(
3939
+ channelId: ChannelId,
3940
+ agentId: AgentId,
3941
+ modelId: string,
3942
+ source: string,
3943
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3944
+ ): BaseEventPayload<ModelLoadedEventData> {
3945
+ const validator = createStrictValidator('createTfModelLoadedPayload');
3946
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3947
+
3948
+ const data: ModelLoadedEventData = {
3949
+ modelId,
3950
+ source,
3951
+ };
3952
+
3953
+ return createBaseEventPayload<ModelLoadedEventData>(
3954
+ TensorFlowEvents.MODEL_LOADED,
3955
+ agentId,
3956
+ channelId,
3957
+ data,
3958
+ options
3959
+ );
3960
+ }
3961
+
3962
+ /**
3963
+ * Create a model saved event payload.
3964
+ *
3965
+ * @param channelId - Channel context
3966
+ * @param agentId - Agent context
3967
+ * @param modelId - The saved model ID
3968
+ * @param destination - Storage destination
3969
+ * @param sizeBytes - Optional model size in bytes
3970
+ * @param options - Optional base event payload options
3971
+ * @returns A BaseEventPayload with ModelSavedEventData
3972
+ */
3973
+ export function createTfModelSavedPayload(
3974
+ channelId: ChannelId,
3975
+ agentId: AgentId,
3976
+ modelId: string,
3977
+ destination: string,
3978
+ sizeBytes?: number,
3979
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
3980
+ ): BaseEventPayload<ModelSavedEventData> {
3981
+ const validator = createStrictValidator('createTfModelSavedPayload');
3982
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
3983
+
3984
+ const data: ModelSavedEventData = {
3985
+ modelId,
3986
+ destination,
3987
+ sizeBytes,
3988
+ };
3989
+
3990
+ return createBaseEventPayload<ModelSavedEventData>(
3991
+ TensorFlowEvents.MODEL_SAVED,
3992
+ agentId,
3993
+ channelId,
3994
+ data,
3995
+ options
3996
+ );
3997
+ }
3998
+
3999
+ /**
4000
+ * Create an inference completed event payload.
4001
+ *
4002
+ * @param channelId - Channel context
4003
+ * @param agentId - Agent context
4004
+ * @param modelId - The model used for inference
4005
+ * @param latencyMs - Inference latency in milliseconds
4006
+ * @param inferenceSource - Whether result came from 'model' or 'heuristic'
4007
+ * @param options - Optional base event payload options
4008
+ * @returns A BaseEventPayload with InferenceCompletedEventData
4009
+ */
4010
+ export function createTfInferenceCompletedPayload(
4011
+ channelId: ChannelId,
4012
+ agentId: AgentId,
4013
+ modelId: string,
4014
+ latencyMs: number,
4015
+ inferenceSource: 'model' | 'heuristic',
4016
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4017
+ ): BaseEventPayload<InferenceCompletedEventData> {
4018
+ const validator = createStrictValidator('createTfInferenceCompletedPayload');
4019
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
4020
+
4021
+ const data: InferenceCompletedEventData = {
4022
+ modelId,
4023
+ latencyMs,
4024
+ source: inferenceSource,
4025
+ };
4026
+
4027
+ return createBaseEventPayload<InferenceCompletedEventData>(
4028
+ TensorFlowEvents.INFERENCE_COMPLETED,
4029
+ agentId,
4030
+ channelId,
4031
+ data,
4032
+ options
4033
+ );
4034
+ }
4035
+
4036
+ /**
4037
+ * Create an inference fallback event payload.
4038
+ *
4039
+ * @param channelId - Channel context
4040
+ * @param agentId - Agent context
4041
+ * @param modelId - The model that was unavailable
4042
+ * @param reason - Why the fallback was used
4043
+ * @param error - Optional error message
4044
+ * @param options - Optional base event payload options
4045
+ * @returns A BaseEventPayload with InferenceFallbackEventData
4046
+ */
4047
+ export function createTfInferenceFallbackPayload(
4048
+ channelId: ChannelId,
4049
+ agentId: AgentId,
4050
+ modelId: string,
4051
+ reason: 'disabled' | 'untrained' | 'error',
4052
+ error?: string,
4053
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4054
+ ): BaseEventPayload<InferenceFallbackEventData> {
4055
+ const validator = createStrictValidator('createTfInferenceFallbackPayload');
4056
+ validator.assertIsNonEmptyString(modelId, 'modelId is required');
4057
+
4058
+ const data: InferenceFallbackEventData = {
4059
+ modelId,
4060
+ reason,
4061
+ error,
4062
+ };
4063
+
4064
+ return createBaseEventPayload<InferenceFallbackEventData>(
4065
+ TensorFlowEvents.INFERENCE_FALLBACK,
4066
+ agentId,
4067
+ channelId,
4068
+ data,
4069
+ options
4070
+ );
4071
+ }
4072
+
4073
+ /**
4074
+ * Create a memory warning event payload.
4075
+ *
4076
+ * @param channelId - Channel context
4077
+ * @param agentId - Agent context
4078
+ * @param numTensors - Number of tensors currently allocated
4079
+ * @param numBytes - Total bytes used
4080
+ * @param maxBytes - Configured memory threshold
4081
+ * @param utilizationPercent - Memory utilization percentage
4082
+ * @param options - Optional base event payload options
4083
+ * @returns A BaseEventPayload with MemoryWarningEventData
4084
+ */
4085
+ export function createTfMemoryWarningPayload(
4086
+ channelId: ChannelId,
4087
+ agentId: AgentId,
4088
+ numTensors: number,
4089
+ numBytes: number,
4090
+ maxBytes: number,
4091
+ utilizationPercent: number,
4092
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4093
+ ): BaseEventPayload<MemoryWarningEventData> {
4094
+ const data: MemoryWarningEventData = {
4095
+ numTensors,
4096
+ numBytes,
4097
+ maxBytes,
4098
+ utilizationPercent,
4099
+ };
4100
+
4101
+ return createBaseEventPayload<MemoryWarningEventData>(
4102
+ TensorFlowEvents.MEMORY_WARNING,
4103
+ agentId,
4104
+ channelId,
4105
+ data,
4106
+ options
4107
+ );
4108
+ }
4109
+
4110
+ /**
4111
+ * Create a memory stats event payload.
4112
+ *
4113
+ * @param channelId - Channel context
4114
+ * @param agentId - Agent context
4115
+ * @param numTensors - Number of tensors
4116
+ * @param numDataBuffers - Number of data buffers
4117
+ * @param numBytes - Total bytes used
4118
+ * @param timestamp - When stats were collected
4119
+ * @param options - Optional base event payload options
4120
+ * @returns A BaseEventPayload with MemoryStatsEventData
4121
+ */
4122
+ export function createTfMemoryStatsPayload(
4123
+ channelId: ChannelId,
4124
+ agentId: AgentId,
4125
+ numTensors: number,
4126
+ numDataBuffers: number,
4127
+ numBytes: number,
4128
+ timestamp: number,
4129
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4130
+ ): BaseEventPayload<MemoryStatsEventData> {
4131
+ const data: MemoryStatsEventData = {
4132
+ numTensors,
4133
+ numDataBuffers,
4134
+ numBytes,
4135
+ timestamp,
4136
+ };
4137
+
4138
+ return createBaseEventPayload<MemoryStatsEventData>(
4139
+ TensorFlowEvents.MEMORY_STATS,
4140
+ agentId,
4141
+ channelId,
4142
+ data,
4143
+ options
4144
+ );
4145
+ }
4146
+
4147
+ // --- User Input Event Data & Helpers ---
4148
+
4149
+ /**
4150
+ * Payload type for user input request events (server → client)
4151
+ */
4152
+ export type UserInputRequestEventPayload = BaseEventPayload<UserInputRequestData>;
4153
+
4154
+ /**
4155
+ * Payload type for user input response events (client → server)
4156
+ */
4157
+ export type UserInputResponseEventPayload = BaseEventPayload<UserInputResponseData>;
4158
+
4159
+ /**
4160
+ * Payload type for user input cancelled events (server → client)
4161
+ */
4162
+ export type UserInputCancelledEventPayload = BaseEventPayload<UserInputCancelledData>;
4163
+
4164
+ /**
4165
+ * Payload type for user input timeout events (server → client)
4166
+ */
4167
+ export type UserInputTimeoutEventPayload = BaseEventPayload<UserInputTimeoutData>;
4168
+
4169
+ /**
4170
+ * Creates a UserInputRequestEventPayload for prompting a user for input.
4171
+ *
4172
+ * @param agentId - Agent that initiated the request
4173
+ * @param channelId - Channel context for the request
4174
+ * @param requestData - The full user input request definition
4175
+ * @param options - Optional base event payload options
4176
+ * @returns A UserInputRequestEventPayload
4177
+ */
4178
+ export function createUserInputRequestPayload(
4179
+ agentId: AgentId,
4180
+ channelId: ChannelId,
4181
+ requestData: UserInputRequestData,
4182
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4183
+ ): UserInputRequestEventPayload {
4184
+ const validator = createStrictValidator('UserInputRequestPayload');
4185
+ validator.assertIsNonEmptyString(requestData.requestId, 'requestId is required');
4186
+ validator.assertIsNonEmptyString(requestData.title, 'title is required');
4187
+ validator.assertIsNonEmptyString(requestData.inputType, 'inputType is required');
4188
+
4189
+ return createBaseEventPayload<UserInputRequestData>(
4190
+ UserInputEvents.REQUEST,
4191
+ agentId,
4192
+ channelId,
4193
+ requestData,
4194
+ options
4195
+ );
4196
+ }
4197
+
4198
+ /**
4199
+ * Creates a UserInputResponseEventPayload for a user's response to an input request.
4200
+ *
4201
+ * @param agentId - Agent context for the response
4202
+ * @param channelId - Channel context for the response
4203
+ * @param responseData - The user's response data
4204
+ * @param options - Optional base event payload options
4205
+ * @returns A UserInputResponseEventPayload
4206
+ */
4207
+ export function createUserInputResponsePayload(
4208
+ agentId: AgentId,
4209
+ channelId: ChannelId,
4210
+ responseData: UserInputResponseData,
4211
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4212
+ ): UserInputResponseEventPayload {
4213
+ const validator = createStrictValidator('UserInputResponsePayload');
4214
+ validator.assertIsNonEmptyString(responseData.requestId, 'requestId is required');
4215
+
4216
+ return createBaseEventPayload<UserInputResponseData>(
4217
+ UserInputEvents.RESPONSE,
4218
+ agentId,
4219
+ channelId,
4220
+ responseData,
4221
+ options
4222
+ );
4223
+ }
4224
+
4225
+ /**
4226
+ * Creates a UserInputCancelledEventPayload for notifying clients that a request was cancelled.
4227
+ *
4228
+ * @param agentId - Agent that initiated the original request
4229
+ * @param channelId - Channel context for the request
4230
+ * @param cancelledData - The cancellation details
4231
+ * @param options - Optional base event payload options
4232
+ * @returns A UserInputCancelledEventPayload
4233
+ */
4234
+ export function createUserInputCancelledPayload(
4235
+ agentId: AgentId,
4236
+ channelId: ChannelId | string,
4237
+ cancelledData: UserInputCancelledData,
4238
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4239
+ ): UserInputCancelledEventPayload {
4240
+ const validator = createStrictValidator('UserInputCancelledPayload');
4241
+ validator.assertIsNonEmptyString(cancelledData.requestId, 'requestId is required');
4242
+ validator.assertIsNonEmptyString(cancelledData.reason, 'reason is required');
4243
+
4244
+ return createBaseEventPayload<UserInputCancelledData>(
4245
+ UserInputEvents.CANCELLED,
4246
+ agentId,
4247
+ channelId as ChannelId,
4248
+ cancelledData,
4249
+ options
4250
+ );
4251
+ }
4252
+
4253
+ /**
4254
+ * Creates a UserInputTimeoutEventPayload for notifying clients that a request timed out.
4255
+ *
4256
+ * @param agentId - Agent that initiated the original request
4257
+ * @param channelId - Channel context for the request
4258
+ * @param timeoutData - The timeout details
4259
+ * @param options - Optional base event payload options
4260
+ * @returns A UserInputTimeoutEventPayload
4261
+ */
4262
+ export function createUserInputTimeoutPayload(
4263
+ agentId: AgentId,
4264
+ channelId: ChannelId | string,
4265
+ timeoutData: UserInputTimeoutData,
4266
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4267
+ ): UserInputTimeoutEventPayload {
4268
+ const validator = createStrictValidator('UserInputTimeoutPayload');
4269
+ validator.assertIsNonEmptyString(timeoutData.requestId, 'requestId is required');
4270
+
4271
+ return createBaseEventPayload<UserInputTimeoutData>(
4272
+ UserInputEvents.TIMEOUT,
4273
+ agentId,
4274
+ channelId as ChannelId,
4275
+ timeoutData,
4276
+ options
4277
+ );
4278
+ }
4279
+
4280
+
4281
+ // ═══════════════════════════════════════════════════════════════════════════════
4282
+ // Compaction Event Payload Types & Helpers
4283
+ // ═══════════════════════════════════════════════════════════════════════════════
4284
+
4285
+ /** Payload type for microcompaction applied events */
4286
+ export type MicrocompactionAppliedEventPayload = BaseEventPayload<MicrocompactionAppliedPayload>;
4287
+
4288
+ /** Payload type for auto-compaction triggered events */
4289
+ export type AutoCompactionTriggeredEventPayload = BaseEventPayload<AutoCompactionTriggeredPayload>;
4290
+
4291
+ /** Payload type for reactive compaction triggered events */
4292
+ export type ReactiveCompactionTriggeredEventPayload = BaseEventPayload<ReactiveCompactionTriggeredPayload>;
4293
+
4294
+ /** Payload type for post-compaction restoration completed events */
4295
+ export type PostCompactionRestoredEventPayload = BaseEventPayload<PostCompactionRestoredPayload>;
4296
+
4297
+ /** Payload type for compaction summary generated events */
4298
+ export type CompactionSummaryGeneratedEventPayload = BaseEventPayload<CompactionSummaryGeneratedPayload>;
4299
+
4300
+ /**
4301
+ * Creates a MicrocompactionAppliedEventPayload for tool result stripping events.
4302
+ *
4303
+ * @param agentId - Agent whose context was microcompacted
4304
+ * @param channelId - Channel context
4305
+ * @param data - Microcompaction details (tool results stripped, tokens removed)
4306
+ * @param options - Optional base event payload options
4307
+ * @returns A MicrocompactionAppliedEventPayload
4308
+ */
4309
+ export function createMicrocompactionAppliedPayload(
4310
+ agentId: AgentId,
4311
+ channelId: ChannelId,
4312
+ data: Omit<MicrocompactionAppliedPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
4313
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4314
+ ): MicrocompactionAppliedEventPayload {
4315
+ return createBaseEventPayload<MicrocompactionAppliedPayload>(
4316
+ CompactionEvents.MICROCOMPACTION_APPLIED,
4317
+ agentId,
4318
+ channelId,
4319
+ {
4320
+ eventType: CompactionEvents.MICROCOMPACTION_APPLIED,
4321
+ agentId,
4322
+ channelId,
4323
+ timestamp: options.timestamp || Date.now(),
4324
+ ...data,
4325
+ },
4326
+ options
4327
+ );
4328
+ }
4329
+
4330
+ /**
4331
+ * Creates an AutoCompactionTriggeredEventPayload for threshold-based compaction events.
4332
+ *
4333
+ * @param agentId - Agent whose context was compacted
4334
+ * @param channelId - Channel context
4335
+ * @param data - Auto-compaction details (usage percent, message/token counts)
4336
+ * @param options - Optional base event payload options
4337
+ * @returns An AutoCompactionTriggeredEventPayload
4338
+ */
4339
+ export function createAutoCompactionTriggeredPayload(
4340
+ agentId: AgentId,
4341
+ channelId: ChannelId,
4342
+ data: Omit<AutoCompactionTriggeredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
4343
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4344
+ ): AutoCompactionTriggeredEventPayload {
4345
+ return createBaseEventPayload<AutoCompactionTriggeredPayload>(
4346
+ CompactionEvents.AUTO_COMPACTION_TRIGGERED,
4347
+ agentId,
4348
+ channelId,
4349
+ {
4350
+ eventType: CompactionEvents.AUTO_COMPACTION_TRIGGERED,
4351
+ agentId,
4352
+ channelId,
4353
+ timestamp: options.timestamp || Date.now(),
4354
+ ...data,
4355
+ },
4356
+ options
4357
+ );
4358
+ }
4359
+
4360
+ /**
4361
+ * Creates a ReactiveCompactionTriggeredEventPayload for 413 error recovery events.
4362
+ *
4363
+ * @param agentId - Agent whose context overflowed
4364
+ * @param channelId - Channel context
4365
+ * @param data - Reactive compaction details (status code, strategy, token counts)
4366
+ * @param options - Optional base event payload options
4367
+ * @returns A ReactiveCompactionTriggeredEventPayload
4368
+ */
4369
+ export function createReactiveCompactionTriggeredPayload(
4370
+ agentId: AgentId,
4371
+ channelId: ChannelId,
4372
+ data: Omit<ReactiveCompactionTriggeredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
4373
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4374
+ ): ReactiveCompactionTriggeredEventPayload {
4375
+ return createBaseEventPayload<ReactiveCompactionTriggeredPayload>(
4376
+ CompactionEvents.REACTIVE_COMPACTION_TRIGGERED,
4377
+ agentId,
4378
+ channelId,
4379
+ {
4380
+ eventType: CompactionEvents.REACTIVE_COMPACTION_TRIGGERED,
4381
+ agentId,
4382
+ channelId,
4383
+ timestamp: options.timestamp || Date.now(),
4384
+ ...data,
4385
+ },
4386
+ options
4387
+ );
4388
+ }
4389
+
4390
+ /**
4391
+ * Creates a PostCompactionRestoredEventPayload for artifact restoration events.
4392
+ *
4393
+ * @param agentId - Agent whose context was restored
4394
+ * @param channelId - Channel context
4395
+ * @param data - Restoration details (artifact count, names, tokens added)
4396
+ * @param options - Optional base event payload options
4397
+ * @returns A PostCompactionRestoredEventPayload
4398
+ */
4399
+ export function createPostCompactionRestoredPayload(
4400
+ agentId: AgentId,
4401
+ channelId: ChannelId,
4402
+ data: Omit<PostCompactionRestoredPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
4403
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4404
+ ): PostCompactionRestoredEventPayload {
4405
+ return createBaseEventPayload<PostCompactionRestoredPayload>(
4406
+ CompactionEvents.POST_COMPACTION_RESTORED,
4407
+ agentId,
4408
+ channelId,
4409
+ {
4410
+ eventType: CompactionEvents.POST_COMPACTION_RESTORED,
4411
+ agentId,
4412
+ channelId,
4413
+ timestamp: options.timestamp || Date.now(),
4414
+ ...data,
4415
+ },
4416
+ options
4417
+ );
4418
+ }
4419
+
4420
+ /**
4421
+ * Creates a CompactionSummaryGeneratedEventPayload for summary generation events.
4422
+ *
4423
+ * @param agentId - Agent whose context was summarized
4424
+ * @param channelId - Channel context
4425
+ * @param data - Summary details (method, messages summarized, sections, tokens)
4426
+ * @param options - Optional base event payload options
4427
+ * @returns A CompactionSummaryGeneratedEventPayload
4428
+ */
4429
+ export function createCompactionSummaryGeneratedPayload(
4430
+ agentId: AgentId,
4431
+ channelId: ChannelId,
4432
+ data: Omit<CompactionSummaryGeneratedPayload, 'eventType' | 'agentId' | 'channelId' | 'timestamp'>,
4433
+ options: { source?: string; eventId?: string; timestamp?: number; } = {}
4434
+ ): CompactionSummaryGeneratedEventPayload {
4435
+ return createBaseEventPayload<CompactionSummaryGeneratedPayload>(
4436
+ CompactionEvents.COMPACTION_SUMMARY_GENERATED,
4437
+ agentId,
4438
+ channelId,
4439
+ {
4440
+ eventType: CompactionEvents.COMPACTION_SUMMARY_GENERATED,
4441
+ agentId,
4442
+ channelId,
4443
+ timestamp: options.timestamp || Date.now(),
4444
+ ...data,
4445
+ },
4446
+ options
4447
+ );
4448
+ }