@multiplayer-app/ai-agent-node 0.1.0-beta.1 → 0.1.0-beta.10

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 (423) hide show
  1. package/dist/cjs/config.cjs +56 -0
  2. package/dist/cjs/config.cjs.map +1 -0
  3. package/dist/{config.d.ts → cjs/config.d.ts} +11 -8
  4. package/dist/cjs/config.d.ts.map +1 -0
  5. package/{src/helpers/AIHelper.ts → dist/cjs/helpers/AIHelper.cjs} +115 -141
  6. package/dist/cjs/helpers/AIHelper.cjs.map +1 -0
  7. package/dist/cjs/helpers/AIHelper.d.ts.map +1 -0
  8. package/dist/cjs/helpers/AIHelper.test.cjs +334 -0
  9. package/dist/cjs/helpers/AIHelper.test.cjs.map +1 -0
  10. package/dist/cjs/helpers/AIHelper.test.d.ts.map +1 -0
  11. package/dist/cjs/helpers/ConfigHelper.cjs +121 -0
  12. package/dist/cjs/helpers/ConfigHelper.cjs.map +1 -0
  13. package/dist/cjs/helpers/ConfigHelper.d.ts.map +1 -0
  14. package/dist/cjs/helpers/ContextLimiter.cjs +168 -0
  15. package/dist/cjs/helpers/ContextLimiter.cjs.map +1 -0
  16. package/dist/cjs/helpers/ContextLimiter.d.ts.map +1 -0
  17. package/dist/cjs/helpers/FileHelper.cjs +213 -0
  18. package/dist/cjs/helpers/FileHelper.cjs.map +1 -0
  19. package/dist/cjs/helpers/FileHelper.d.ts.map +1 -0
  20. package/dist/cjs/helpers/SetupHelper.cjs +34 -0
  21. package/dist/cjs/helpers/SetupHelper.cjs.map +1 -0
  22. package/dist/cjs/helpers/SetupHelper.d.ts +4 -0
  23. package/dist/cjs/helpers/SetupHelper.d.ts.map +1 -0
  24. package/dist/cjs/helpers/index.cjs +22 -0
  25. package/dist/cjs/helpers/index.cjs.map +1 -0
  26. package/dist/cjs/helpers/index.d.ts.map +1 -0
  27. package/dist/cjs/index.cjs +32 -0
  28. package/dist/cjs/index.cjs.map +1 -0
  29. package/{src/index.ts → dist/cjs/index.d.ts} +1 -6
  30. package/dist/cjs/index.d.ts.map +1 -0
  31. package/dist/cjs/libs/index.cjs +19 -0
  32. package/dist/cjs/libs/index.cjs.map +1 -0
  33. package/dist/cjs/libs/index.d.ts +3 -0
  34. package/dist/cjs/libs/index.d.ts.map +1 -0
  35. package/dist/cjs/libs/logger/config.cjs +9 -0
  36. package/dist/cjs/libs/logger/config.cjs.map +1 -0
  37. package/dist/cjs/libs/logger/config.d.ts.map +1 -0
  38. package/dist/cjs/libs/logger/index.cjs +38 -0
  39. package/dist/cjs/libs/logger/index.cjs.map +1 -0
  40. package/dist/cjs/libs/logger/index.d.ts.map +1 -0
  41. package/dist/cjs/libs/logger/kafkajs-logger-creator.cjs +33 -0
  42. package/dist/cjs/libs/logger/kafkajs-logger-creator.cjs.map +1 -0
  43. package/dist/cjs/libs/logger/kafkajs-logger-creator.d.ts.map +1 -0
  44. package/dist/cjs/libs/logger/logger.cjs +48 -0
  45. package/dist/cjs/libs/logger/logger.cjs.map +1 -0
  46. package/dist/cjs/libs/logger/logger.d.ts.map +1 -0
  47. package/dist/cjs/libs/s3/config.cjs +8 -0
  48. package/dist/cjs/libs/s3/config.cjs.map +1 -0
  49. package/dist/cjs/libs/s3/config.d.ts +4 -0
  50. package/dist/cjs/libs/s3/config.d.ts.map +1 -0
  51. package/dist/cjs/libs/s3/index.cjs +44 -0
  52. package/dist/cjs/libs/s3/index.cjs.map +1 -0
  53. package/dist/cjs/libs/s3/index.d.ts.map +1 -0
  54. package/dist/cjs/libs/s3/s3.lib.cjs +220 -0
  55. package/dist/cjs/libs/s3/s3.lib.cjs.map +1 -0
  56. package/dist/cjs/libs/s3/s3.lib.d.ts.map +1 -0
  57. package/dist/cjs/processors/ChatProcessor.cjs +620 -0
  58. package/dist/cjs/processors/ChatProcessor.cjs.map +1 -0
  59. package/dist/{processors → cjs/processors}/ChatProcessor.d.ts +1 -0
  60. package/dist/cjs/processors/ChatProcessor.d.ts.map +1 -0
  61. package/dist/cjs/processors/ModelsProcessor.cjs +34 -0
  62. package/dist/cjs/processors/ModelsProcessor.cjs.map +1 -0
  63. package/dist/cjs/processors/ModelsProcessor.d.ts.map +1 -0
  64. package/dist/cjs/processors/index.cjs +19 -0
  65. package/dist/cjs/processors/index.cjs.map +1 -0
  66. package/dist/cjs/processors/index.d.ts.map +1 -0
  67. package/dist/cjs/services/AIService.cjs +196 -0
  68. package/dist/cjs/services/AIService.cjs.map +1 -0
  69. package/dist/cjs/services/AIService.d.ts.map +1 -0
  70. package/dist/cjs/services/InternalEventsHandler.cjs +60 -0
  71. package/dist/cjs/services/InternalEventsHandler.cjs.map +1 -0
  72. package/dist/cjs/services/InternalEventsHandler.d.ts.map +1 -0
  73. package/dist/cjs/services/ModelFetcher.cjs +251 -0
  74. package/dist/cjs/services/ModelFetcher.cjs.map +1 -0
  75. package/dist/cjs/services/ModelFetcher.d.ts.map +1 -0
  76. package/dist/cjs/services/RedisService.cjs +239 -0
  77. package/dist/cjs/services/RedisService.cjs.map +1 -0
  78. package/dist/cjs/services/RedisService.d.ts.map +1 -0
  79. package/dist/cjs/services/SocketService.cjs +132 -0
  80. package/dist/cjs/services/SocketService.cjs.map +1 -0
  81. package/dist/{services → cjs/services}/SocketService.d.ts +1 -1
  82. package/dist/cjs/services/SocketService.d.ts.map +1 -0
  83. package/dist/cjs/services/index.cjs +22 -0
  84. package/dist/cjs/services/index.cjs.map +1 -0
  85. package/dist/{services → cjs/services}/index.d.ts +0 -1
  86. package/dist/cjs/services/index.d.ts.map +1 -0
  87. package/dist/cjs/store/AgentStore.cjs +102 -0
  88. package/dist/cjs/store/AgentStore.cjs.map +1 -0
  89. package/dist/cjs/store/AgentStore.d.ts.map +1 -0
  90. package/dist/{store/ArtifactStore.js → cjs/store/ArtifactStore.cjs} +7 -5
  91. package/dist/cjs/store/ArtifactStore.cjs.map +1 -0
  92. package/dist/cjs/store/ArtifactStore.d.ts.map +1 -0
  93. package/dist/cjs/store/ConfigStore.cjs +217 -0
  94. package/dist/cjs/store/ConfigStore.cjs.map +1 -0
  95. package/dist/cjs/store/ConfigStore.d.ts.map +1 -0
  96. package/dist/cjs/store/ConfigStore.test.cjs +261 -0
  97. package/dist/cjs/store/ConfigStore.test.cjs.map +1 -0
  98. package/dist/cjs/store/ConfigStore.test.d.ts.map +1 -0
  99. package/dist/cjs/store/ModelStore.cjs +85 -0
  100. package/dist/cjs/store/ModelStore.cjs.map +1 -0
  101. package/dist/cjs/store/ModelStore.d.ts.map +1 -0
  102. package/dist/cjs/store/ModelStore.test.cjs +392 -0
  103. package/dist/cjs/store/ModelStore.test.cjs.map +1 -0
  104. package/dist/cjs/store/ModelStore.test.d.ts.map +1 -0
  105. package/dist/cjs/store/index.cjs +21 -0
  106. package/dist/cjs/store/index.cjs.map +1 -0
  107. package/dist/cjs/store/index.d.ts.map +1 -0
  108. package/dist/cjs/tools/generateChartTool.cjs +128 -0
  109. package/dist/cjs/tools/generateChartTool.cjs.map +1 -0
  110. package/dist/cjs/tools/generateChartTool.d.ts.map +1 -0
  111. package/dist/cjs/tools/proposeFormValuesTool.cjs +60 -0
  112. package/dist/cjs/tools/proposeFormValuesTool.cjs.map +1 -0
  113. package/dist/{tools → cjs/tools}/proposeFormValuesTool.d.ts +2 -2
  114. package/dist/cjs/tools/proposeFormValuesTool.d.ts.map +1 -0
  115. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  116. package/dist/esm/config.d.ts +38 -0
  117. package/dist/esm/config.d.ts.map +1 -0
  118. package/dist/esm/config.js +52 -0
  119. package/dist/esm/config.js.map +1 -0
  120. package/dist/esm/helpers/AIHelper.d.ts +23 -0
  121. package/dist/esm/helpers/AIHelper.d.ts.map +1 -0
  122. package/dist/{helpers → esm/helpers}/AIHelper.js +29 -32
  123. package/dist/esm/helpers/AIHelper.js.map +1 -0
  124. package/dist/esm/helpers/AIHelper.test.d.ts +2 -0
  125. package/dist/esm/helpers/AIHelper.test.d.ts.map +1 -0
  126. package/dist/esm/helpers/AIHelper.test.js.map +1 -0
  127. package/dist/esm/helpers/ConfigHelper.d.ts +20 -0
  128. package/dist/esm/helpers/ConfigHelper.d.ts.map +1 -0
  129. package/dist/{helpers → esm/helpers}/ConfigHelper.js +1 -2
  130. package/dist/esm/helpers/ConfigHelper.js.map +1 -0
  131. package/dist/esm/helpers/ContextLimiter.d.ts +82 -0
  132. package/dist/esm/helpers/ContextLimiter.d.ts.map +1 -0
  133. package/dist/{helpers → esm/helpers}/ContextLimiter.js +2 -3
  134. package/dist/esm/helpers/ContextLimiter.js.map +1 -0
  135. package/dist/esm/helpers/FileHelper.d.ts +31 -0
  136. package/dist/esm/helpers/FileHelper.d.ts.map +1 -0
  137. package/dist/{helpers → esm/helpers}/FileHelper.js +5 -7
  138. package/dist/esm/helpers/FileHelper.js.map +1 -0
  139. package/dist/esm/helpers/SetupHelper.d.ts +4 -0
  140. package/dist/esm/helpers/SetupHelper.d.ts.map +1 -0
  141. package/dist/{helpers → esm/helpers}/SetupHelper.js +4 -7
  142. package/dist/esm/helpers/SetupHelper.js.map +1 -0
  143. package/{src/helpers/index.ts → dist/esm/helpers/index.d.ts} +2 -1
  144. package/dist/esm/helpers/index.d.ts.map +1 -0
  145. package/dist/esm/helpers/index.js.map +1 -0
  146. package/dist/{index.d.ts → esm/index.d.ts} +0 -5
  147. package/dist/esm/index.d.ts.map +1 -0
  148. package/dist/{index.js → esm/index.js} +0 -5
  149. package/dist/esm/index.js.map +1 -0
  150. package/dist/esm/libs/index.d.ts +3 -0
  151. package/dist/esm/libs/index.d.ts.map +1 -0
  152. package/dist/esm/libs/index.js +3 -0
  153. package/dist/esm/libs/index.js.map +1 -0
  154. package/dist/esm/libs/logger/config.d.ts +5 -0
  155. package/dist/esm/libs/logger/config.d.ts.map +1 -0
  156. package/dist/esm/libs/logger/config.js +6 -0
  157. package/dist/esm/libs/logger/config.js.map +1 -0
  158. package/dist/esm/libs/logger/index.d.ts +10 -0
  159. package/dist/esm/libs/logger/index.d.ts.map +1 -0
  160. package/dist/esm/libs/logger/index.js.map +1 -0
  161. package/dist/esm/libs/logger/kafkajs-logger-creator.d.ts +12 -0
  162. package/dist/esm/libs/logger/kafkajs-logger-creator.d.ts.map +1 -0
  163. package/dist/esm/libs/logger/kafkajs-logger-creator.js.map +1 -0
  164. package/dist/esm/libs/logger/logger.d.ts +42 -0
  165. package/dist/esm/libs/logger/logger.d.ts.map +1 -0
  166. package/dist/esm/libs/logger/logger.js.map +1 -0
  167. package/dist/esm/libs/s3/config.d.ts +4 -0
  168. package/dist/esm/libs/s3/config.d.ts.map +1 -0
  169. package/dist/esm/libs/s3/config.js +5 -0
  170. package/dist/esm/libs/s3/config.js.map +1 -0
  171. package/dist/esm/libs/s3/index.d.ts +4 -0
  172. package/dist/esm/libs/s3/index.d.ts.map +1 -0
  173. package/dist/esm/libs/s3/index.js.map +1 -0
  174. package/dist/esm/libs/s3/s3.lib.d.ts +25 -0
  175. package/dist/esm/libs/s3/s3.lib.d.ts.map +1 -0
  176. package/dist/{libs → esm/libs}/s3/s3.lib.js +8 -12
  177. package/dist/esm/libs/s3/s3.lib.js.map +1 -0
  178. package/dist/esm/processors/ChatProcessor.d.ts +67 -0
  179. package/dist/esm/processors/ChatProcessor.d.ts.map +1 -0
  180. package/dist/{processors → esm/processors}/ChatProcessor.js +41 -32
  181. package/dist/esm/processors/ChatProcessor.js.map +1 -0
  182. package/dist/esm/processors/ModelsProcessor.d.ts +11 -0
  183. package/dist/esm/processors/ModelsProcessor.d.ts.map +1 -0
  184. package/dist/esm/processors/ModelsProcessor.js.map +1 -0
  185. package/dist/esm/processors/index.d.ts +3 -0
  186. package/dist/esm/processors/index.d.ts.map +1 -0
  187. package/dist/esm/processors/index.js.map +1 -0
  188. package/dist/esm/services/AIService.d.ts +48 -0
  189. package/dist/esm/services/AIService.d.ts.map +1 -0
  190. package/dist/{services → esm/services}/AIService.js +9 -12
  191. package/dist/esm/services/AIService.js.map +1 -0
  192. package/dist/esm/services/InternalEventsHandler.d.ts +21 -0
  193. package/dist/esm/services/InternalEventsHandler.d.ts.map +1 -0
  194. package/dist/{services → esm/services}/InternalEventsHandler.js +5 -4
  195. package/dist/esm/services/InternalEventsHandler.js.map +1 -0
  196. package/dist/esm/services/ModelFetcher.d.ts +54 -0
  197. package/dist/esm/services/ModelFetcher.d.ts.map +1 -0
  198. package/dist/{services → esm/services}/ModelFetcher.js +1 -0
  199. package/dist/esm/services/ModelFetcher.js.map +1 -0
  200. package/dist/esm/services/RedisService.d.ts +90 -0
  201. package/dist/esm/services/RedisService.d.ts.map +1 -0
  202. package/dist/{services → esm/services}/RedisService.js +9 -12
  203. package/dist/esm/services/RedisService.js.map +1 -0
  204. package/dist/esm/services/SocketService.d.ts +39 -0
  205. package/dist/esm/services/SocketService.d.ts.map +1 -0
  206. package/dist/{services → esm/services}/SocketService.js +6 -8
  207. package/dist/esm/services/SocketService.js.map +1 -0
  208. package/{src/services/index.ts → dist/esm/services/index.d.ts} +2 -2
  209. package/dist/esm/services/index.d.ts.map +1 -0
  210. package/dist/{services → esm/services}/index.js +0 -1
  211. package/dist/esm/services/index.js.map +1 -0
  212. package/dist/esm/store/AgentStore.d.ts +48 -0
  213. package/dist/esm/store/AgentStore.d.ts.map +1 -0
  214. package/dist/{store → esm/store}/AgentStore.js +2 -4
  215. package/dist/esm/store/AgentStore.js.map +1 -0
  216. package/dist/esm/store/ArtifactStore.d.ts +13 -0
  217. package/dist/esm/store/ArtifactStore.d.ts.map +1 -0
  218. package/dist/esm/store/ArtifactStore.js +23 -0
  219. package/dist/esm/store/ArtifactStore.js.map +1 -0
  220. package/dist/esm/store/ConfigStore.d.ts +89 -0
  221. package/dist/esm/store/ConfigStore.d.ts.map +1 -0
  222. package/dist/{store → esm/store}/ConfigStore.js +15 -16
  223. package/dist/esm/store/ConfigStore.js.map +1 -0
  224. package/dist/esm/store/ConfigStore.test.d.ts +2 -0
  225. package/dist/esm/store/ConfigStore.test.d.ts.map +1 -0
  226. package/dist/esm/store/ConfigStore.test.js.map +1 -0
  227. package/dist/esm/store/ModelStore.d.ts +44 -0
  228. package/dist/esm/store/ModelStore.d.ts.map +1 -0
  229. package/dist/{store → esm/store}/ModelStore.js +4 -4
  230. package/dist/esm/store/ModelStore.js.map +1 -0
  231. package/dist/esm/store/ModelStore.test.d.ts +2 -0
  232. package/dist/esm/store/ModelStore.test.d.ts.map +1 -0
  233. package/dist/{store → esm/store}/ModelStore.test.js +11 -11
  234. package/dist/esm/store/ModelStore.test.js.map +1 -0
  235. package/{src/store/index.ts → dist/esm/store/index.d.ts} +1 -0
  236. package/dist/esm/store/index.d.ts.map +1 -0
  237. package/dist/esm/store/index.js.map +1 -0
  238. package/dist/esm/tools/generateChartTool.d.ts +24 -0
  239. package/dist/esm/tools/generateChartTool.d.ts.map +1 -0
  240. package/dist/esm/tools/generateChartTool.js.map +1 -0
  241. package/dist/esm/tools/proposeFormValuesTool.d.ts +35 -0
  242. package/dist/esm/tools/proposeFormValuesTool.d.ts.map +1 -0
  243. package/dist/esm/tools/proposeFormValuesTool.js.map +1 -0
  244. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  245. package/package.json +20 -9
  246. package/.env.example +0 -45
  247. package/config.example.json +0 -73
  248. package/dist/config.d.ts.map +0 -1
  249. package/dist/config.js +0 -44
  250. package/dist/config.js.map +0 -1
  251. package/dist/helpers/AIHelper.d.ts.map +0 -1
  252. package/dist/helpers/AIHelper.js.map +0 -1
  253. package/dist/helpers/AIHelper.test.d.ts.map +0 -1
  254. package/dist/helpers/AIHelper.test.js.map +0 -1
  255. package/dist/helpers/ConfigHelper.d.ts.map +0 -1
  256. package/dist/helpers/ConfigHelper.js.map +0 -1
  257. package/dist/helpers/ContextLimiter.d.ts.map +0 -1
  258. package/dist/helpers/ContextLimiter.js.map +0 -1
  259. package/dist/helpers/FileHelper.d.ts.map +0 -1
  260. package/dist/helpers/FileHelper.js.map +0 -1
  261. package/dist/helpers/SetupHelper.d.ts +0 -5
  262. package/dist/helpers/SetupHelper.d.ts.map +0 -1
  263. package/dist/helpers/SetupHelper.js.map +0 -1
  264. package/dist/helpers/index.d.ts.map +0 -1
  265. package/dist/helpers/index.js.map +0 -1
  266. package/dist/index.d.ts.map +0 -1
  267. package/dist/index.js.map +0 -1
  268. package/dist/libs/index.d.ts +0 -4
  269. package/dist/libs/index.d.ts.map +0 -1
  270. package/dist/libs/index.js +0 -4
  271. package/dist/libs/index.js.map +0 -1
  272. package/dist/libs/kafka/config.d.ts +0 -5
  273. package/dist/libs/kafka/config.d.ts.map +0 -1
  274. package/dist/libs/kafka/config.js +0 -5
  275. package/dist/libs/kafka/config.js.map +0 -1
  276. package/dist/libs/kafka/consumer.d.ts +0 -16
  277. package/dist/libs/kafka/consumer.d.ts.map +0 -1
  278. package/dist/libs/kafka/consumer.js +0 -126
  279. package/dist/libs/kafka/consumer.js.map +0 -1
  280. package/dist/libs/kafka/index.d.ts +0 -3
  281. package/dist/libs/kafka/index.d.ts.map +0 -1
  282. package/dist/libs/kafka/index.js +0 -3
  283. package/dist/libs/kafka/index.js.map +0 -1
  284. package/dist/libs/kafka/kafka.d.ts +0 -3
  285. package/dist/libs/kafka/kafka.d.ts.map +0 -1
  286. package/dist/libs/kafka/kafka.js +0 -24
  287. package/dist/libs/kafka/kafka.js.map +0 -1
  288. package/dist/libs/kafka/producer.d.ts +0 -11
  289. package/dist/libs/kafka/producer.d.ts.map +0 -1
  290. package/dist/libs/kafka/producer.js +0 -44
  291. package/dist/libs/kafka/producer.js.map +0 -1
  292. package/dist/libs/logger/config.d.ts.map +0 -1
  293. package/dist/libs/logger/config.js +0 -6
  294. package/dist/libs/logger/config.js.map +0 -1
  295. package/dist/libs/logger/index.d.ts.map +0 -1
  296. package/dist/libs/logger/index.js.map +0 -1
  297. package/dist/libs/logger/kafkajs-logger-creator.d.ts.map +0 -1
  298. package/dist/libs/logger/kafkajs-logger-creator.js.map +0 -1
  299. package/dist/libs/logger/logger.d.ts.map +0 -1
  300. package/dist/libs/logger/logger.js.map +0 -1
  301. package/dist/libs/s3/config.d.ts +0 -7
  302. package/dist/libs/s3/config.d.ts.map +0 -1
  303. package/dist/libs/s3/config.js +0 -7
  304. package/dist/libs/s3/config.js.map +0 -1
  305. package/dist/libs/s3/index.d.ts.map +0 -1
  306. package/dist/libs/s3/index.js.map +0 -1
  307. package/dist/libs/s3/s3.lib.d.ts.map +0 -1
  308. package/dist/libs/s3/s3.lib.js.map +0 -1
  309. package/dist/processors/ChatProcessor.d.ts.map +0 -1
  310. package/dist/processors/ChatProcessor.js.map +0 -1
  311. package/dist/processors/ModelsProcessor.d.ts.map +0 -1
  312. package/dist/processors/ModelsProcessor.js.map +0 -1
  313. package/dist/processors/index.d.ts.map +0 -1
  314. package/dist/processors/index.js.map +0 -1
  315. package/dist/services/AIService.d.ts.map +0 -1
  316. package/dist/services/AIService.js.map +0 -1
  317. package/dist/services/InternalEventsHandler.d.ts.map +0 -1
  318. package/dist/services/InternalEventsHandler.js.map +0 -1
  319. package/dist/services/KafkaService.d.ts +0 -35
  320. package/dist/services/KafkaService.d.ts.map +0 -1
  321. package/dist/services/KafkaService.js +0 -120
  322. package/dist/services/KafkaService.js.map +0 -1
  323. package/dist/services/ModelFetcher.d.ts.map +0 -1
  324. package/dist/services/ModelFetcher.js.map +0 -1
  325. package/dist/services/RedisService.d.ts.map +0 -1
  326. package/dist/services/RedisService.js.map +0 -1
  327. package/dist/services/SocketService.d.ts.map +0 -1
  328. package/dist/services/SocketService.js.map +0 -1
  329. package/dist/services/index.d.ts.map +0 -1
  330. package/dist/services/index.js.map +0 -1
  331. package/dist/store/AgentStore.d.ts.map +0 -1
  332. package/dist/store/AgentStore.js.map +0 -1
  333. package/dist/store/ArtifactStore.d.ts.map +0 -1
  334. package/dist/store/ArtifactStore.js.map +0 -1
  335. package/dist/store/ConfigStore.d.ts.map +0 -1
  336. package/dist/store/ConfigStore.js.map +0 -1
  337. package/dist/store/ConfigStore.test.d.ts.map +0 -1
  338. package/dist/store/ConfigStore.test.js.map +0 -1
  339. package/dist/store/ModelStore.d.ts.map +0 -1
  340. package/dist/store/ModelStore.js.map +0 -1
  341. package/dist/store/ModelStore.test.d.ts.map +0 -1
  342. package/dist/store/ModelStore.test.js.map +0 -1
  343. package/dist/store/index.d.ts.map +0 -1
  344. package/dist/store/index.js.map +0 -1
  345. package/dist/tools/generateChartTool.d.ts.map +0 -1
  346. package/dist/tools/generateChartTool.js.map +0 -1
  347. package/dist/tools/proposeFormValuesTool.d.ts.map +0 -1
  348. package/dist/tools/proposeFormValuesTool.js.map +0 -1
  349. package/src/config.ts +0 -46
  350. package/src/helpers/AIHelper.test.ts +0 -375
  351. package/src/helpers/ConfigHelper.ts +0 -130
  352. package/src/helpers/ContextLimiter.ts +0 -228
  353. package/src/helpers/FileHelper.ts +0 -197
  354. package/src/helpers/SetupHelper.ts +0 -35
  355. package/src/libs/index.ts +0 -3
  356. package/src/libs/kafka/config.ts +0 -4
  357. package/src/libs/kafka/consumer.ts +0 -161
  358. package/src/libs/kafka/index.ts +0 -2
  359. package/src/libs/kafka/kafka.ts +0 -27
  360. package/src/libs/kafka/producer.ts +0 -48
  361. package/src/libs/logger/config.ts +0 -4
  362. package/src/libs/logger/index.ts +0 -21
  363. package/src/libs/logger/kafkajs-logger-creator.ts +0 -28
  364. package/src/libs/logger/logger.ts +0 -60
  365. package/src/libs/s3/config.ts +0 -7
  366. package/src/libs/s3/index.ts +0 -3
  367. package/src/libs/s3/s3.lib.ts +0 -284
  368. package/src/processors/ChatProcessor.ts +0 -713
  369. package/src/processors/ModelsProcessor.ts +0 -34
  370. package/src/processors/index.ts +0 -2
  371. package/src/services/AIService.ts +0 -241
  372. package/src/services/InternalEventsHandler.ts +0 -61
  373. package/src/services/KafkaService.ts +0 -142
  374. package/src/services/ModelFetcher.ts +0 -286
  375. package/src/services/RedisService.ts +0 -285
  376. package/src/services/SocketService.ts +0 -153
  377. package/src/store/AgentStore.ts +0 -138
  378. package/src/store/ArtifactStore.ts +0 -29
  379. package/src/store/ConfigStore.test.ts +0 -314
  380. package/src/store/ConfigStore.ts +0 -239
  381. package/src/store/ModelStore.test.ts +0 -473
  382. package/src/store/ModelStore.ts +0 -93
  383. package/src/tools/generateChartTool.ts +0 -131
  384. package/src/tools/proposeFormValuesTool.ts +0 -67
  385. package/tsconfig.json +0 -23
  386. /package/dist/{helpers → cjs/helpers}/AIHelper.d.ts +0 -0
  387. /package/dist/{helpers → cjs/helpers}/AIHelper.test.d.ts +0 -0
  388. /package/dist/{helpers → cjs/helpers}/ConfigHelper.d.ts +0 -0
  389. /package/dist/{helpers → cjs/helpers}/ContextLimiter.d.ts +0 -0
  390. /package/dist/{helpers → cjs/helpers}/FileHelper.d.ts +0 -0
  391. /package/dist/{helpers → cjs/helpers}/index.d.ts +0 -0
  392. /package/dist/{libs → cjs/libs}/logger/config.d.ts +0 -0
  393. /package/dist/{libs → cjs/libs}/logger/index.d.ts +0 -0
  394. /package/dist/{libs → cjs/libs}/logger/kafkajs-logger-creator.d.ts +0 -0
  395. /package/dist/{libs → cjs/libs}/logger/logger.d.ts +0 -0
  396. /package/dist/{libs → cjs/libs}/s3/index.d.ts +0 -0
  397. /package/dist/{libs → cjs/libs}/s3/s3.lib.d.ts +0 -0
  398. /package/dist/{processors → cjs/processors}/ModelsProcessor.d.ts +0 -0
  399. /package/dist/{processors → cjs/processors}/index.d.ts +0 -0
  400. /package/dist/{services → cjs/services}/AIService.d.ts +0 -0
  401. /package/dist/{services → cjs/services}/InternalEventsHandler.d.ts +0 -0
  402. /package/dist/{services → cjs/services}/ModelFetcher.d.ts +0 -0
  403. /package/dist/{services → cjs/services}/RedisService.d.ts +0 -0
  404. /package/dist/{store → cjs/store}/AgentStore.d.ts +0 -0
  405. /package/dist/{store → cjs/store}/ArtifactStore.d.ts +0 -0
  406. /package/dist/{store → cjs/store}/ConfigStore.d.ts +0 -0
  407. /package/dist/{store → cjs/store}/ConfigStore.test.d.ts +0 -0
  408. /package/dist/{store → cjs/store}/ModelStore.d.ts +0 -0
  409. /package/dist/{store → cjs/store}/ModelStore.test.d.ts +0 -0
  410. /package/dist/{store → cjs/store}/index.d.ts +0 -0
  411. /package/dist/{tools → cjs/tools}/generateChartTool.d.ts +0 -0
  412. /package/dist/{helpers → esm/helpers}/AIHelper.test.js +0 -0
  413. /package/dist/{helpers → esm/helpers}/index.js +0 -0
  414. /package/dist/{libs → esm/libs}/logger/index.js +0 -0
  415. /package/dist/{libs → esm/libs}/logger/kafkajs-logger-creator.js +0 -0
  416. /package/dist/{libs → esm/libs}/logger/logger.js +0 -0
  417. /package/dist/{libs → esm/libs}/s3/index.js +0 -0
  418. /package/dist/{processors → esm/processors}/ModelsProcessor.js +0 -0
  419. /package/dist/{processors → esm/processors}/index.js +0 -0
  420. /package/dist/{store → esm/store}/ConfigStore.test.js +0 -0
  421. /package/dist/{store → esm/store}/index.js +0 -0
  422. /package/dist/{tools → esm/tools}/generateChartTool.js +0 -0
  423. /package/dist/{tools → esm/tools}/proposeFormValuesTool.js +0 -0
@@ -0,0 +1,620 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatProcessor = void 0;
4
+ const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
+ const services_1 = require("../services/index.cjs");
6
+ const helpers_1 = require("../helpers/index.cjs");
7
+ const store_1 = require("../store/index.cjs");
8
+ const helpers_2 = require("../helpers/index.cjs");
9
+ const config_1 = require("../config.cjs");
10
+ const stream_1 = require("stream");
11
+ const util_1 = require("util");
12
+ const logger_1 = require("../libs/logger/index.cjs");
13
+ const pipelineAsync = (0, util_1.promisify)(stream_1.pipeline);
14
+ class ChatProcessor {
15
+ constructor(chatRepository, messageRepository, artifactStore) {
16
+ this.chatRepository = chatRepository;
17
+ this.messageRepository = messageRepository;
18
+ this.artifactStore = artifactStore;
19
+ }
20
+ getTemporaryTitle(contextKey) {
21
+ return `${contextKey} session ${new Date().toISOString()}`;
22
+ }
23
+ isTemporaryTitle(title) {
24
+ // Matches pattern: "{contextKey} session {ISO_DATE_STRING}"
25
+ // Example: "default session 2026-01-23T10:30:45.123Z"
26
+ // toISOString() always includes milliseconds, so we require them
27
+ const pattern = /^.+ session \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/;
28
+ return pattern.test(title);
29
+ }
30
+ async listChats(params) {
31
+ // Build filter object from params
32
+ const filter = {};
33
+ if (params?.userId) {
34
+ filter.userId = params.userId;
35
+ }
36
+ if (params?.contextKey) {
37
+ filter.contextKey = params.contextKey;
38
+ }
39
+ // Build query options for sort and limit with defaults
40
+ const options = {
41
+ sort: {
42
+ field: params?.sortField ?? 'updatedAt',
43
+ order: params?.sortOrder ?? ai_agent_types_1.SortOrder.Desc
44
+ },
45
+ limit: params?.limit
46
+ };
47
+ // Use aggregation to fetch chats with related messages
48
+ return this.chatRepository.findWithMessages(filter, options);
49
+ }
50
+ async getChat(chatId) {
51
+ const chat = await this.chatRepository.findById(chatId);
52
+ if (!chat) {
53
+ throw new Error('Chat not found');
54
+ }
55
+ const messages = await this.messageRepository.findByChatId(chatId);
56
+ return {
57
+ ...chat,
58
+ messages
59
+ };
60
+ }
61
+ async deleteChat(chatId) {
62
+ const deleted = await this.chatRepository.delete(chatId);
63
+ if (!deleted) {
64
+ throw new Error('Chat not found');
65
+ }
66
+ this.artifactStore.deleteArtifacts(chatId);
67
+ }
68
+ async upsertAndGetChat(payload, excludeSocketId) {
69
+ const targetUserId = payload.userId ?? 'guest';
70
+ let chat = null;
71
+ if (payload.chatId) {
72
+ chat = await this.chatRepository.findById(payload.chatId);
73
+ if (!chat) {
74
+ throw new Error('Chat not found');
75
+ }
76
+ // Ensure chat is associated with the caller's userId
77
+ if (chat.userId && chat.userId !== targetUserId) {
78
+ throw new Error('Chat does not belong to this user');
79
+ }
80
+ }
81
+ if (!chat) {
82
+ chat = await this.createChat(payload, excludeSocketId);
83
+ }
84
+ else if ('model' in payload) {
85
+ chat.model = payload.model || undefined;
86
+ await this.chatRepository.update(chat.id, { model: chat.model });
87
+ }
88
+ return chat;
89
+ }
90
+ async getChatTitle(payload) {
91
+ if (payload.chatId) {
92
+ const chat = await this.chatRepository.findById(payload.chatId);
93
+ if (chat && chat.title) {
94
+ return chat.title;
95
+ }
96
+ }
97
+ const content = payload.content;
98
+ if (!content) {
99
+ return this.getTemporaryTitle(payload.contextKey);
100
+ }
101
+ return helpers_1.AIHelper.generateTitleForMessage(payload.contextKey, [{
102
+ role: ai_agent_types_1.MessageRole.User,
103
+ content: content
104
+ }]);
105
+ }
106
+ async createMessage(chat, role, messageData, attachments, excludeSocketId) {
107
+ const message = await this.messageRepository.create({
108
+ chat: chat.id,
109
+ role,
110
+ content: messageData.content,
111
+ agentName: messageData.agentName,
112
+ attachments: attachments ?? [],
113
+ reasoning: "",
114
+ toolCalls: []
115
+ });
116
+ if (chat.userId) {
117
+ services_1.socketService.emitMessageUpdate(chat.userId, message, excludeSocketId);
118
+ }
119
+ return message;
120
+ }
121
+ async createChat(payload, excludeSocketId) {
122
+ const targetUserId = payload.userId ?? 'guest';
123
+ const contextKey = 'contextKey' in payload ? payload.contextKey : 'default';
124
+ const metadata = 'metadata' in payload ? payload.metadata : {};
125
+ const chat = await this.chatRepository.create({
126
+ title: this.getTemporaryTitle(contextKey),
127
+ type: ai_agent_types_1.ChatType.Chat,
128
+ status: ai_agent_types_1.AgentStatus.Streaming,
129
+ contextKey,
130
+ userId: targetUserId,
131
+ metadata,
132
+ ...(payload.model ? { model: payload.model } : {})
133
+ });
134
+ //await kafkaService.sendChatTitleGenerationEvent(chat.id);
135
+ const initialChatResponse = {
136
+ ...chat,
137
+ messages: []
138
+ };
139
+ services_1.socketService.emitChatUpdate(targetUserId, initialChatResponse, excludeSocketId);
140
+ return chat;
141
+ }
142
+ /**
143
+ * Persist a client-side action against a tool call (generic mechanism).
144
+ * This updates the message containing the tool call and optionally appends a System message.
145
+ */
146
+ async recordToolCallAction(params) {
147
+ const chat = await this.chatRepository.findById(params.chatId);
148
+ if (!chat) {
149
+ throw new Error('Chat not found');
150
+ }
151
+ const messages = await this.messageRepository.findByChatId(params.chatId);
152
+ const message = messages.find((m) => (m.toolCalls ?? []).some((c) => c.id === params.toolCallId));
153
+ if (!message) {
154
+ throw new Error('Tool call not found');
155
+ }
156
+ const toolCalls = message.toolCalls ?? [];
157
+ const target = toolCalls.find((c) => c.id === params.toolCallId);
158
+ if (!target) {
159
+ throw new Error('Tool call not found');
160
+ }
161
+ const now = new Date().toISOString();
162
+ const output = (target.output ?? {});
163
+ const mp = (output['_mp'] && typeof output['_mp'] === 'object' && !Array.isArray(output['_mp']))
164
+ ? output['_mp']
165
+ : {};
166
+ const actions = Array.isArray(mp['actions']) ? mp['actions'] : [];
167
+ const nextMp = {
168
+ ...mp,
169
+ lastAction: {
170
+ action: params.action,
171
+ at: now,
172
+ data: params.data ?? {},
173
+ },
174
+ actions: [
175
+ ...actions,
176
+ {
177
+ action: params.action,
178
+ at: now,
179
+ data: params.data ?? {},
180
+ }
181
+ ]
182
+ };
183
+ target.output = {
184
+ ...output,
185
+ _mp: nextMp,
186
+ };
187
+ const updatedMessage = {
188
+ ...message,
189
+ toolCalls,
190
+ };
191
+ await this.messageRepository.update(message.id, { toolCalls });
192
+ // Bump chat updatedAt so listChats ordering reflects the action.
193
+ await this.chatRepository.update(chat.id, { updatedAt: now });
194
+ services_1.socketService.emitMessageUpdate(chat.userId, updatedMessage, params.excludeSocketId);
195
+ if (params.systemMessage) {
196
+ //todo discuss support for system messages
197
+ //await this.createMessage(chat, MessageRole.System, params.systemMessage, undefined, params.excludeSocketId);
198
+ }
199
+ return { ok: true };
200
+ }
201
+ async streamMessageStep(params) {
202
+ const { chat, assistantMessage, existingMessages, signal, excludeSocketId, agentOptions } = params;
203
+ if (signal.aborted) {
204
+ return;
205
+ }
206
+ const result = await helpers_1.AIHelper.streamAssistantResponse(existingMessages, signal, agentOptions);
207
+ try {
208
+ for await (const chunk of result.fullStream) {
209
+ if (chunk.type === 'error') {
210
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Error, data: chunk.error });
211
+ assistantMessage.content = chunk.error.message || 'Sorry, I cannot process you request due to the error';
212
+ await this.messageRepository.update(assistantMessage.id, assistantMessage);
213
+ await this.chatRepository.update(chat.id, { status: ai_agent_types_1.AgentStatus.Error });
214
+ continue;
215
+ }
216
+ if (chunk.type === 'abort') {
217
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Aborted, data: undefined });
218
+ await this.chatRepository.update(chat.id, { status: ai_agent_types_1.AgentStatus.Aborted });
219
+ await this.messageRepository.update(assistantMessage.id, assistantMessage);
220
+ services_1.socketService.emitMessageUpdate(chat.userId, assistantMessage, excludeSocketId);
221
+ continue;
222
+ }
223
+ if (chunk.type === 'finish') {
224
+ const index = existingMessages.findIndex(({ id }) => id === assistantMessage.id);
225
+ if (index === -1) {
226
+ existingMessages.push(assistantMessage);
227
+ }
228
+ else {
229
+ existingMessages[index] = assistantMessage;
230
+ }
231
+ if (chunk.totalUsage && typeof chunk.totalUsage === 'object') {
232
+ const totalUsage = chunk.totalUsage;
233
+ assistantMessage.tokens = totalUsage.totalTokens ??
234
+ ((totalUsage.promptTokens ?? 0) + (totalUsage.completionTokens ?? 0));
235
+ }
236
+ await this.messageRepository.update(assistantMessage.id, { ...assistantMessage });
237
+ if (chunk.finishReason === 'stop') {
238
+ if (assistantMessage.toolCalls?.some(toolCall => toolCall.requiresConfirmation && toolCall.approvalId && !toolCall.output)) {
239
+ await this.chatRepository.update(chat.id, { status: ai_agent_types_1.AgentStatus.WaitingForUserAction });
240
+ }
241
+ else if (!assistantMessage.content && assistantMessage.toolCalls?.length && assistantMessage.toolCalls[assistantMessage.toolCalls?.length - 1].output) {
242
+ // handle tool-calls stop, openrouter provider does not return valid type
243
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Update, data: assistantMessage });
244
+ await this.streamMessageStep(params);
245
+ continue;
246
+ }
247
+ else {
248
+ await this.chatRepository.update(chat.id, { status: ai_agent_types_1.AgentStatus.Finished });
249
+ if (chat.title && this.isTemporaryTitle(chat.title)) {
250
+ const title = await helpers_1.AIHelper.generateTitleForMessage(chat.contextKey, existingMessages);
251
+ await this.chatRepository.update(chat.id, { title });
252
+ services_1.socketService.emitChatUpdate(chat.userId, { ...chat, title, messages: [] });
253
+ }
254
+ }
255
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Finished, data: assistantMessage });
256
+ continue;
257
+ }
258
+ if (chunk.finishReason === 'tool-calls') {
259
+ if (assistantMessage.toolCalls?.some(toolCall => toolCall.requiresConfirmation && toolCall.approvalId && !toolCall.output)) {
260
+ await this.chatRepository.update(chat.id, { status: ai_agent_types_1.AgentStatus.WaitingForUserAction });
261
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Finished, data: assistantMessage });
262
+ }
263
+ else {
264
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, {
265
+ type: store_1.AgentProcessEventType.Update,
266
+ data: assistantMessage
267
+ });
268
+ await this.streamMessageStep(params);
269
+ }
270
+ continue;
271
+ }
272
+ //todo: Handle other finish reasons // length, content, error, other, undefined
273
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Finished, data: assistantMessage });
274
+ continue;
275
+ }
276
+ if (chunk.type === 'text-delta') {
277
+ assistantMessage.content += chunk.text;
278
+ const updatedMessage = {
279
+ ...assistantMessage,
280
+ content: assistantMessage.content
281
+ };
282
+ services_1.socketService.emitMessageUpdate(chat.userId, updatedMessage, excludeSocketId);
283
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Update, data: updatedMessage });
284
+ await this.messageRepository.update(assistantMessage.id, { content: assistantMessage.content });
285
+ continue;
286
+ }
287
+ if (chunk.type === 'tool-input-start') {
288
+ if (!assistantMessage.toolCalls)
289
+ assistantMessage.toolCalls = [];
290
+ assistantMessage.toolCalls.push({
291
+ id: chunk.id,
292
+ name: chunk.toolName,
293
+ status: ai_agent_types_1.AgentToolCallStatus.Pending,
294
+ input: {},
295
+ });
296
+ continue;
297
+ }
298
+ if (chunk.type === 'tool-call') { //Todo possible place to handle user-approval
299
+ const toolCall = assistantMessage.toolCalls?.find(toolCall => toolCall.id === chunk.toolCallId);
300
+ if (toolCall) {
301
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Running;
302
+ toolCall.input = chunk.input;
303
+ }
304
+ continue;
305
+ }
306
+ if (chunk.type === 'tool-error') {
307
+ const toolCall = assistantMessage.toolCalls?.find(toolCall => toolCall.id === chunk.toolCallId);
308
+ if (toolCall) {
309
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Failed;
310
+ toolCall.error = JSON.stringify(chunk.error);
311
+ }
312
+ continue;
313
+ }
314
+ if (chunk.type === 'tool-approval-request') {
315
+ const toolCall = assistantMessage.toolCalls?.find(toolCall => toolCall.id === chunk.toolCall.toolCallId);
316
+ if (toolCall) {
317
+ toolCall.requiresConfirmation = true;
318
+ toolCall.approvalId = chunk.approvalId;
319
+ }
320
+ continue;
321
+ }
322
+ if (chunk.type === 'tool-result') {
323
+ const toolCall = assistantMessage.toolCalls?.find(toolCall => toolCall.id === chunk.toolCallId);
324
+ if (toolCall) {
325
+ if (chunk.output.requiresApproval) {
326
+ toolCall.requiresConfirmation = true;
327
+ continue;
328
+ }
329
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Succeeded;
330
+ toolCall.output = chunk.output;
331
+ }
332
+ continue;
333
+ }
334
+ if (chunk.type === 'reasoning-delta') {
335
+ if (!assistantMessage.reasoning)
336
+ assistantMessage.reasoning = '';
337
+ assistantMessage.reasoning += chunk.text;
338
+ services_1.socketService.emitMessageUpdate(chat.userId, assistantMessage, excludeSocketId);
339
+ await this.messageRepository.update(assistantMessage.id, { reasoning: assistantMessage.reasoning });
340
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Update, data: assistantMessage });
341
+ continue;
342
+ }
343
+ }
344
+ }
345
+ catch (streamError) {
346
+ if (streamError instanceof Error && streamError.name === 'AbortError') {
347
+ return;
348
+ }
349
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Error, data: streamError });
350
+ throw streamError;
351
+ }
352
+ }
353
+ isApprovalPayload(payload) {
354
+ return 'approvalId' in payload;
355
+ }
356
+ async processApprovalPayload(chat, payload) {
357
+ const assistantMessage = await this.messageRepository.findById(payload.messageId);
358
+ if (!assistantMessage || assistantMessage.chat !== chat.id) {
359
+ throw new Error(`Assistant message with id ${payload.messageId} not found`);
360
+ }
361
+ const agentOptions = await helpers_1.AIHelper.getAgentOptions({
362
+ agentName: assistantMessage.agentName,
363
+ context: payload.context
364
+ });
365
+ const toolCall = assistantMessage.toolCalls?.find(tc => tc.approvalId === payload.approvalId);
366
+ if (!toolCall) {
367
+ // continue, tool is not found
368
+ return {
369
+ assistantMessage,
370
+ agentOptions,
371
+ };
372
+ }
373
+ toolCall.approved = payload.approved;
374
+ toolCall.reason = payload.reason;
375
+ if (!toolCall.approved) {
376
+ toolCall.output = {
377
+ type: 'execution-denied',
378
+ reason: toolCall.reason
379
+ };
380
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Failed;
381
+ }
382
+ else {
383
+ const executeFunction = agentOptions.tools?.[toolCall.name]?.execute;
384
+ if (executeFunction) {
385
+ try {
386
+ toolCall.output = await executeFunction(toolCall.input, { toolCallId: toolCall.id, messages: [] });
387
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Succeeded;
388
+ }
389
+ catch (error) {
390
+ logger_1.logger.error(error);
391
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Failed;
392
+ toolCall.output = {
393
+ type: 'execution-denied',
394
+ reason: 'Tool failed with error'
395
+ };
396
+ }
397
+ }
398
+ else {
399
+ toolCall.output = {
400
+ type: 'execution-denied',
401
+ reason: 'Tool was not found'
402
+ };
403
+ toolCall.status = ai_agent_types_1.AgentToolCallStatus.Failed;
404
+ }
405
+ }
406
+ await this.messageRepository.update(assistantMessage.id, assistantMessage);
407
+ return {
408
+ assistantMessage,
409
+ agentOptions,
410
+ };
411
+ }
412
+ async processNewUserMessage(chat, payload, prevMessages, excludeSocketId) {
413
+ const userMessage = await this.createMessage(chat, ai_agent_types_1.MessageRole.User, { content: payload.content, agentName: undefined }, payload.attachments);
414
+ await store_1.agentStore.shareAgentProcessEvent(chat.id, { type: store_1.AgentProcessEventType.Update, data: userMessage });
415
+ const agentOptions = await helpers_1.AIHelper.getAgentOptions({
416
+ contextKey: chat.contextKey,
417
+ messages: await helpers_1.AIHelper.convertMessages([...prevMessages, userMessage], true),
418
+ context: payload.context,
419
+ agentName: undefined,
420
+ modelId: chat.model,
421
+ });
422
+ const assistantMessage = await this.createMessage(chat, ai_agent_types_1.MessageRole.Assistant, { content: ' ', agentName: agentOptions.name }, undefined, excludeSocketId);
423
+ assistantMessage.content = '';
424
+ return {
425
+ userMessage,
426
+ assistantMessage,
427
+ agentOptions,
428
+ };
429
+ }
430
+ async streamMessage(chat, payload, excludeSocketId, onAgentStart) {
431
+ try {
432
+ const abortController = store_1.agentStore.registerAgentProcess(chat.id);
433
+ onAgentStart?.();
434
+ let assistantMessage;
435
+ let agentOptions;
436
+ const existingMessages = await this.messageRepository.findByChatId(chat.id);
437
+ // Limit context to prevent exceeding token limits
438
+ const limitedMessages = helpers_2.ContextLimiter.limitContext(existingMessages, {
439
+ maxMessages: config_1.config.ai.maxContextMessages,
440
+ keepFirstUserMessage: true,
441
+ keepSystemMessages: true,
442
+ });
443
+ if (this.isApprovalPayload(payload)) {
444
+ const result = await this.processApprovalPayload(chat, payload);
445
+ assistantMessage = result.assistantMessage;
446
+ agentOptions = result.agentOptions;
447
+ const foundIndex = limitedMessages.findIndex(m => m.id === result.assistantMessage.id);
448
+ if (foundIndex === -1) {
449
+ limitedMessages.push(result.assistantMessage);
450
+ }
451
+ else {
452
+ limitedMessages[foundIndex] = result.assistantMessage;
453
+ }
454
+ }
455
+ else {
456
+ const result = await this.processNewUserMessage(chat, payload, limitedMessages, excludeSocketId);
457
+ assistantMessage = result.assistantMessage;
458
+ agentOptions = result.agentOptions;
459
+ limitedMessages.push(result.userMessage);
460
+ }
461
+ await this.streamMessageStep({
462
+ chat,
463
+ existingMessages: limitedMessages,
464
+ assistantMessage,
465
+ agentOptions,
466
+ excludeSocketId: excludeSocketId,
467
+ signal: abortController.signal,
468
+ });
469
+ }
470
+ catch (error) {
471
+ throw error;
472
+ }
473
+ }
474
+ listArtifacts(chatId) {
475
+ return this.artifactStore.listArtifacts(chatId);
476
+ }
477
+ eventToChunk(event) {
478
+ switch (event.type) {
479
+ case store_1.AgentProcessEventType.Update:
480
+ return {
481
+ type: ai_agent_types_1.StreamChunkType.Message,
482
+ message: event.data
483
+ };
484
+ case store_1.AgentProcessEventType.Error:
485
+ return {
486
+ type: ai_agent_types_1.StreamChunkType.Error,
487
+ error: event.data.message || 'Unknown error occurred'
488
+ };
489
+ case store_1.AgentProcessEventType.Finished:
490
+ return {
491
+ type: ai_agent_types_1.StreamChunkType.Message,
492
+ message: event.data
493
+ };
494
+ case store_1.AgentProcessEventType.Aborted:
495
+ // Aborted events don't produce chunks, they just signal stream end
496
+ return null;
497
+ case store_1.AgentProcessEventType.Stop:
498
+ // Stop events don't produce chunks
499
+ return null;
500
+ default:
501
+ return null;
502
+ }
503
+ }
504
+ getMessageStream(chatId) {
505
+ const stream = new stream_1.PassThrough();
506
+ let ended = false;
507
+ const endStream = (error) => {
508
+ if (ended)
509
+ return;
510
+ ended = true;
511
+ if (error) {
512
+ logger_1.logger.error({ error }, 'Message stream error');
513
+ }
514
+ if (!stream.destroyed && !stream.writableEnded) {
515
+ try {
516
+ stream.write('data: [DONE]\n\n');
517
+ stream.end();
518
+ }
519
+ catch (e) {
520
+ logger_1.logger.error({ e }, 'Failed to end SSE stream');
521
+ }
522
+ }
523
+ };
524
+ const pushChunk = (chunk) => {
525
+ if (ended || stream.destroyed || stream.writableEnded)
526
+ return;
527
+ stream.write(`data: ${JSON.stringify(chunk)}\n\n`);
528
+ };
529
+ const listener = (event) => {
530
+ if (ended)
531
+ return;
532
+ try {
533
+ const chunk = this.eventToChunk(event);
534
+ if (chunk) {
535
+ pushChunk(chunk);
536
+ }
537
+ if (event.type === store_1.AgentProcessEventType.Finished ||
538
+ event.type === store_1.AgentProcessEventType.Error ||
539
+ event.type === store_1.AgentProcessEventType.Aborted) {
540
+ endStream();
541
+ store_1.agentStore.removeListener(chatId, listener);
542
+ }
543
+ }
544
+ catch (err) {
545
+ pushChunk({
546
+ type: ai_agent_types_1.StreamChunkType.Error,
547
+ error: err instanceof Error ? err.message : 'Unknown error occurred',
548
+ });
549
+ endStream(err);
550
+ store_1.agentStore.removeListener(chatId, listener);
551
+ }
552
+ };
553
+ // Cleanup on consumer side closing
554
+ const closeHandler = () => {
555
+ store_1.agentStore.removeListener(chatId, listener);
556
+ };
557
+ const errorHandler = (err) => {
558
+ logger_1.logger.error({ err }, 'Readable stream error');
559
+ store_1.agentStore.removeListener(chatId, listener);
560
+ endStream(err);
561
+ };
562
+ stream.on('close', closeHandler);
563
+ stream.on('error', errorHandler);
564
+ const listenerAttached = store_1.agentStore.addListener(chatId, listener);
565
+ if (!listenerAttached) {
566
+ // Remove stream listeners if listener attachment failed to prevent memory leak
567
+ stream.removeListener('close', closeHandler);
568
+ stream.removeListener('error', errorHandler);
569
+ endStream(new Error('Listener could not be attached'));
570
+ }
571
+ return stream;
572
+ }
573
+ async createMessageStream(payload, excludeSocketId) {
574
+ const stream = new stream_1.PassThrough();
575
+ (async () => {
576
+ try {
577
+ const chat = await this.upsertAndGetChat(payload, excludeSocketId);
578
+ // Send chat metadata first
579
+ if (!('chatId' in payload) && !('messageId' in payload) && chat) {
580
+ stream.write(`data: ${JSON.stringify({
581
+ type: ai_agent_types_1.StreamChunkType.Chat,
582
+ chatId: chat.id,
583
+ chat,
584
+ })}\n\n`);
585
+ }
586
+ await this.streamMessage(chat, payload, excludeSocketId, async () => {
587
+ if (stream.destroyed || stream.writableEnded) {
588
+ return;
589
+ }
590
+ const messageStream = this.getMessageStream(chat.id);
591
+ // If client disconnects, destroy inner stream
592
+ stream.on('close', () => {
593
+ if (!messageStream.destroyed) {
594
+ messageStream.destroy();
595
+ }
596
+ });
597
+ await pipelineAsync(messageStream, stream);
598
+ });
599
+ }
600
+ catch (error) {
601
+ logger_1.logger.error({ error }, 'createMessageStream failed');
602
+ if (!stream.destroyed && !stream.writableEnded) {
603
+ stream.write(`data: ${JSON.stringify({
604
+ type: ai_agent_types_1.StreamChunkType.Error,
605
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
606
+ })}\n\n`);
607
+ stream.write('data: [DONE]\n\n');
608
+ stream.end();
609
+ }
610
+ }
611
+ })().catch((err) => {
612
+ logger_1.logger.error({ err }, 'Unhandled stream task error');
613
+ if (!stream.destroyed)
614
+ stream.destroy(err);
615
+ });
616
+ return stream;
617
+ }
618
+ }
619
+ exports.ChatProcessor = ChatProcessor;
620
+ //# sourceMappingURL=ChatProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatProcessor.js","sourceRoot":"","sources":["../../../src/processors/ChatProcessor.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class ChatProcessor {
9
9
  private artifactStore;
10
10
  constructor(chatRepository: AgentChatRepository, messageRepository: AgentMessageRepository, artifactStore: ArtifactStore);
11
11
  private getTemporaryTitle;
12
+ private isTemporaryTitle;
12
13
  listChats(params?: {
13
14
  contextKey?: string;
14
15
  limit?: number;