@multiplayer-app/ai-agent-node 0.1.0-beta.5 → 0.1.0-beta.51

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 (274) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/config.cjs +88 -37
  3. package/dist/cjs/config.cjs.map +1 -1
  4. package/dist/cjs/config.d.ts +57 -23
  5. package/dist/cjs/config.d.ts.map +1 -1
  6. package/dist/cjs/helpers/AIHelper.cjs +127 -65
  7. package/dist/cjs/helpers/AIHelper.cjs.map +1 -1
  8. package/dist/cjs/helpers/AIHelper.d.ts +22 -16
  9. package/dist/cjs/helpers/AIHelper.d.ts.map +1 -1
  10. package/dist/cjs/helpers/AIHelper.test.cjs +22 -15
  11. package/dist/cjs/helpers/AIHelper.test.cjs.map +1 -1
  12. package/dist/cjs/helpers/ConfigHelper.cjs +15 -6
  13. package/dist/cjs/helpers/ConfigHelper.cjs.map +1 -1
  14. package/dist/cjs/helpers/ConfigHelper.d.ts.map +1 -1
  15. package/dist/cjs/helpers/FileHelper.cjs +131 -151
  16. package/dist/cjs/helpers/FileHelper.cjs.map +1 -1
  17. package/dist/cjs/helpers/FileHelper.d.ts +19 -25
  18. package/dist/cjs/helpers/FileHelper.d.ts.map +1 -1
  19. package/dist/cjs/helpers/index.cjs +0 -1
  20. package/dist/cjs/helpers/index.cjs.map +1 -1
  21. package/dist/cjs/helpers/index.d.ts +0 -1
  22. package/dist/cjs/helpers/index.d.ts.map +1 -1
  23. package/dist/cjs/index.cjs +120 -28
  24. package/dist/cjs/index.cjs.map +1 -1
  25. package/dist/cjs/index.d.ts +43 -11
  26. package/dist/cjs/index.d.ts.map +1 -1
  27. package/dist/cjs/libs/index.cjs +0 -1
  28. package/dist/cjs/libs/index.cjs.map +1 -1
  29. package/dist/cjs/libs/index.d.ts +0 -1
  30. package/dist/cjs/libs/index.d.ts.map +1 -1
  31. package/dist/cjs/libs/s3/index.cjs +3 -39
  32. package/dist/cjs/libs/s3/index.cjs.map +1 -1
  33. package/dist/cjs/libs/s3/index.d.ts +1 -2
  34. package/dist/cjs/libs/s3/index.d.ts.map +1 -1
  35. package/dist/cjs/libs/s3/s3.lib.cjs +173 -186
  36. package/dist/cjs/libs/s3/s3.lib.cjs.map +1 -1
  37. package/dist/cjs/libs/s3/s3.lib.d.ts +29 -22
  38. package/dist/cjs/libs/s3/s3.lib.d.ts.map +1 -1
  39. package/dist/cjs/processors/ActivityProcessor.cjs +39 -0
  40. package/dist/cjs/processors/ActivityProcessor.cjs.map +1 -0
  41. package/dist/cjs/processors/ActivityProcessor.d.ts +32 -0
  42. package/dist/cjs/processors/ActivityProcessor.d.ts.map +1 -0
  43. package/dist/cjs/processors/ActivityProcessor.test.cjs +84 -0
  44. package/dist/cjs/processors/ActivityProcessor.test.cjs.map +1 -0
  45. package/dist/cjs/processors/ActivityProcessor.test.d.ts +2 -0
  46. package/dist/cjs/processors/ActivityProcessor.test.d.ts.map +1 -0
  47. package/dist/cjs/processors/AgentProcessor.cjs +46 -0
  48. package/dist/cjs/processors/AgentProcessor.cjs.map +1 -0
  49. package/dist/cjs/processors/AgentProcessor.d.ts +25 -0
  50. package/dist/cjs/processors/AgentProcessor.d.ts.map +1 -0
  51. package/dist/cjs/processors/AgentProcessor.test.cjs +103 -0
  52. package/dist/cjs/processors/AgentProcessor.test.cjs.map +1 -0
  53. package/dist/cjs/processors/AgentProcessor.test.d.ts +2 -0
  54. package/dist/cjs/processors/AgentProcessor.test.d.ts.map +1 -0
  55. package/dist/cjs/processors/ChatProcessor.cjs +355 -122
  56. package/dist/cjs/processors/ChatProcessor.cjs.map +1 -1
  57. package/dist/cjs/processors/ChatProcessor.d.ts +71 -11
  58. package/dist/cjs/processors/ChatProcessor.d.ts.map +1 -1
  59. package/dist/cjs/processors/ChatProcessor.test.cjs +762 -0
  60. package/dist/cjs/processors/ChatProcessor.test.cjs.map +1 -0
  61. package/dist/cjs/processors/ChatProcessor.test.d.ts +2 -0
  62. package/dist/cjs/processors/ChatProcessor.test.d.ts.map +1 -0
  63. package/dist/cjs/processors/index.cjs +2 -0
  64. package/dist/cjs/processors/index.cjs.map +1 -1
  65. package/dist/cjs/processors/index.d.ts +2 -0
  66. package/dist/cjs/processors/index.d.ts.map +1 -1
  67. package/dist/cjs/services/AIService.cjs +87 -21
  68. package/dist/cjs/services/AIService.cjs.map +1 -1
  69. package/dist/cjs/services/AIService.d.ts +19 -7
  70. package/dist/cjs/services/AIService.d.ts.map +1 -1
  71. package/dist/cjs/services/InternalEventsHandler.cjs +3 -3
  72. package/dist/cjs/services/InternalEventsHandler.cjs.map +1 -1
  73. package/dist/cjs/services/InternalEventsHandler.d.ts +3 -1
  74. package/dist/cjs/services/InternalEventsHandler.d.ts.map +1 -1
  75. package/dist/cjs/services/ModelFetcher.cjs +2 -8
  76. package/dist/cjs/services/ModelFetcher.cjs.map +1 -1
  77. package/dist/cjs/services/ModelFetcher.d.ts +2 -7
  78. package/dist/cjs/services/ModelFetcher.d.ts.map +1 -1
  79. package/dist/cjs/services/RedisService.cjs +20 -16
  80. package/dist/cjs/services/RedisService.cjs.map +1 -1
  81. package/dist/cjs/services/RedisService.d.ts +5 -2
  82. package/dist/cjs/services/RedisService.d.ts.map +1 -1
  83. package/dist/cjs/services/SocketService.cjs +8 -8
  84. package/dist/cjs/services/SocketService.cjs.map +1 -1
  85. package/dist/cjs/services/SocketService.d.ts +9 -6
  86. package/dist/cjs/services/SocketService.d.ts.map +1 -1
  87. package/dist/cjs/services/index.cjs +0 -1
  88. package/dist/cjs/services/index.cjs.map +1 -1
  89. package/dist/cjs/services/index.d.ts +0 -1
  90. package/dist/cjs/services/index.d.ts.map +1 -1
  91. package/dist/cjs/store/AgentStore.cjs +3 -4
  92. package/dist/cjs/store/AgentStore.cjs.map +1 -1
  93. package/dist/cjs/store/AgentStore.d.ts +2 -1
  94. package/dist/cjs/store/AgentStore.d.ts.map +1 -1
  95. package/dist/cjs/store/ConfigStore.cjs +7 -3
  96. package/dist/cjs/store/ConfigStore.cjs.map +1 -1
  97. package/dist/cjs/store/ConfigStore.d.ts +1 -0
  98. package/dist/cjs/store/ConfigStore.d.ts.map +1 -1
  99. package/dist/cjs/tools/generateChartTool.d.ts +2 -2
  100. package/dist/cjs/tools/proposeFormValuesTool.d.ts +2 -2
  101. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  102. package/dist/esm/config.d.ts +57 -23
  103. package/dist/esm/config.d.ts.map +1 -1
  104. package/dist/esm/config.js +88 -35
  105. package/dist/esm/config.js.map +1 -1
  106. package/dist/esm/helpers/AIHelper.d.ts +22 -16
  107. package/dist/esm/helpers/AIHelper.d.ts.map +1 -1
  108. package/dist/esm/helpers/AIHelper.js +134 -70
  109. package/dist/esm/helpers/AIHelper.js.map +1 -1
  110. package/dist/esm/helpers/AIHelper.test.js +22 -15
  111. package/dist/esm/helpers/AIHelper.test.js.map +1 -1
  112. package/dist/esm/helpers/ConfigHelper.d.ts.map +1 -1
  113. package/dist/esm/helpers/ConfigHelper.js +15 -6
  114. package/dist/esm/helpers/ConfigHelper.js.map +1 -1
  115. package/dist/esm/helpers/FileHelper.d.ts +19 -25
  116. package/dist/esm/helpers/FileHelper.d.ts.map +1 -1
  117. package/dist/esm/helpers/FileHelper.js +131 -146
  118. package/dist/esm/helpers/FileHelper.js.map +1 -1
  119. package/dist/esm/helpers/index.d.ts +0 -1
  120. package/dist/esm/helpers/index.d.ts.map +1 -1
  121. package/dist/esm/helpers/index.js +0 -1
  122. package/dist/esm/helpers/index.js.map +1 -1
  123. package/dist/esm/index.d.ts +43 -11
  124. package/dist/esm/index.d.ts.map +1 -1
  125. package/dist/esm/index.js +92 -11
  126. package/dist/esm/index.js.map +1 -1
  127. package/dist/esm/libs/index.d.ts +0 -1
  128. package/dist/esm/libs/index.d.ts.map +1 -1
  129. package/dist/esm/libs/index.js +0 -1
  130. package/dist/esm/libs/index.js.map +1 -1
  131. package/dist/esm/libs/s3/index.d.ts +1 -2
  132. package/dist/esm/libs/s3/index.d.ts.map +1 -1
  133. package/dist/esm/libs/s3/index.js +1 -2
  134. package/dist/esm/libs/s3/index.js.map +1 -1
  135. package/dist/esm/libs/s3/s3.lib.d.ts +29 -22
  136. package/dist/esm/libs/s3/s3.lib.d.ts.map +1 -1
  137. package/dist/esm/libs/s3/s3.lib.js +177 -172
  138. package/dist/esm/libs/s3/s3.lib.js.map +1 -1
  139. package/dist/esm/processors/ActivityProcessor.d.ts +32 -0
  140. package/dist/esm/processors/ActivityProcessor.d.ts.map +1 -0
  141. package/dist/esm/processors/ActivityProcessor.js +36 -0
  142. package/dist/esm/processors/ActivityProcessor.js.map +1 -0
  143. package/dist/esm/processors/ActivityProcessor.test.d.ts +2 -0
  144. package/dist/esm/processors/ActivityProcessor.test.d.ts.map +1 -0
  145. package/dist/esm/processors/ActivityProcessor.test.js +82 -0
  146. package/dist/esm/processors/ActivityProcessor.test.js.map +1 -0
  147. package/dist/esm/processors/AgentProcessor.d.ts +25 -0
  148. package/dist/esm/processors/AgentProcessor.d.ts.map +1 -0
  149. package/dist/esm/processors/AgentProcessor.js +43 -0
  150. package/dist/esm/processors/AgentProcessor.js.map +1 -0
  151. package/dist/esm/processors/AgentProcessor.test.d.ts +2 -0
  152. package/dist/esm/processors/AgentProcessor.test.d.ts.map +1 -0
  153. package/dist/esm/processors/AgentProcessor.test.js +101 -0
  154. package/dist/esm/processors/AgentProcessor.test.js.map +1 -0
  155. package/dist/esm/processors/ChatProcessor.d.ts +71 -11
  156. package/dist/esm/processors/ChatProcessor.d.ts.map +1 -1
  157. package/dist/esm/processors/ChatProcessor.js +366 -126
  158. package/dist/esm/processors/ChatProcessor.js.map +1 -1
  159. package/dist/esm/processors/ChatProcessor.test.d.ts +2 -0
  160. package/dist/esm/processors/ChatProcessor.test.d.ts.map +1 -0
  161. package/dist/esm/processors/ChatProcessor.test.js +760 -0
  162. package/dist/esm/processors/ChatProcessor.test.js.map +1 -0
  163. package/dist/esm/processors/index.d.ts +2 -0
  164. package/dist/esm/processors/index.d.ts.map +1 -1
  165. package/dist/esm/processors/index.js +2 -0
  166. package/dist/esm/processors/index.js.map +1 -1
  167. package/dist/esm/services/AIService.d.ts +19 -7
  168. package/dist/esm/services/AIService.d.ts.map +1 -1
  169. package/dist/esm/services/AIService.js +91 -24
  170. package/dist/esm/services/AIService.js.map +1 -1
  171. package/dist/esm/services/InternalEventsHandler.d.ts +3 -1
  172. package/dist/esm/services/InternalEventsHandler.d.ts.map +1 -1
  173. package/dist/esm/services/InternalEventsHandler.js +4 -3
  174. package/dist/esm/services/InternalEventsHandler.js.map +1 -1
  175. package/dist/esm/services/ModelFetcher.d.ts +2 -7
  176. package/dist/esm/services/ModelFetcher.d.ts.map +1 -1
  177. package/dist/esm/services/ModelFetcher.js +2 -8
  178. package/dist/esm/services/ModelFetcher.js.map +1 -1
  179. package/dist/esm/services/RedisService.d.ts +5 -2
  180. package/dist/esm/services/RedisService.d.ts.map +1 -1
  181. package/dist/esm/services/RedisService.js +21 -14
  182. package/dist/esm/services/RedisService.js.map +1 -1
  183. package/dist/esm/services/SocketService.d.ts +9 -6
  184. package/dist/esm/services/SocketService.d.ts.map +1 -1
  185. package/dist/esm/services/SocketService.js +10 -6
  186. package/dist/esm/services/SocketService.js.map +1 -1
  187. package/dist/esm/services/index.d.ts +0 -1
  188. package/dist/esm/services/index.d.ts.map +1 -1
  189. package/dist/esm/services/index.js +0 -1
  190. package/dist/esm/services/index.js.map +1 -1
  191. package/dist/esm/store/AgentStore.d.ts +2 -1
  192. package/dist/esm/store/AgentStore.d.ts.map +1 -1
  193. package/dist/esm/store/AgentStore.js +4 -2
  194. package/dist/esm/store/AgentStore.js.map +1 -1
  195. package/dist/esm/store/ConfigStore.d.ts +1 -0
  196. package/dist/esm/store/ConfigStore.d.ts.map +1 -1
  197. package/dist/esm/store/ConfigStore.js +7 -3
  198. package/dist/esm/store/ConfigStore.js.map +1 -1
  199. package/dist/esm/tools/generateChartTool.d.ts +2 -2
  200. package/dist/esm/tools/proposeFormValuesTool.d.ts +2 -2
  201. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  202. package/package.json +12 -12
  203. package/dist/cjs/helpers/SetupHelper.cjs +0 -37
  204. package/dist/cjs/helpers/SetupHelper.cjs.map +0 -1
  205. package/dist/cjs/helpers/SetupHelper.d.ts +0 -5
  206. package/dist/cjs/helpers/SetupHelper.d.ts.map +0 -1
  207. package/dist/cjs/libs/kafka/config.cjs +0 -8
  208. package/dist/cjs/libs/kafka/config.cjs.map +0 -1
  209. package/dist/cjs/libs/kafka/config.d.ts +0 -5
  210. package/dist/cjs/libs/kafka/config.d.ts.map +0 -1
  211. package/dist/cjs/libs/kafka/consumer.cjs +0 -131
  212. package/dist/cjs/libs/kafka/consumer.cjs.map +0 -1
  213. package/dist/cjs/libs/kafka/consumer.d.ts +0 -16
  214. package/dist/cjs/libs/kafka/consumer.d.ts.map +0 -1
  215. package/dist/cjs/libs/kafka/index.cjs +0 -19
  216. package/dist/cjs/libs/kafka/index.cjs.map +0 -1
  217. package/dist/cjs/libs/kafka/index.d.ts +0 -3
  218. package/dist/cjs/libs/kafka/index.d.ts.map +0 -1
  219. package/dist/cjs/libs/kafka/kafka.cjs +0 -27
  220. package/dist/cjs/libs/kafka/kafka.cjs.map +0 -1
  221. package/dist/cjs/libs/kafka/kafka.d.ts +0 -3
  222. package/dist/cjs/libs/kafka/kafka.d.ts.map +0 -1
  223. package/dist/cjs/libs/kafka/producer.cjs +0 -48
  224. package/dist/cjs/libs/kafka/producer.cjs.map +0 -1
  225. package/dist/cjs/libs/kafka/producer.d.ts +0 -11
  226. package/dist/cjs/libs/kafka/producer.d.ts.map +0 -1
  227. package/dist/cjs/libs/logger/config.cjs +0 -8
  228. package/dist/cjs/libs/logger/config.cjs.map +0 -1
  229. package/dist/cjs/libs/logger/config.d.ts +0 -5
  230. package/dist/cjs/libs/logger/config.d.ts.map +0 -1
  231. package/dist/cjs/libs/s3/config.cjs +0 -10
  232. package/dist/cjs/libs/s3/config.cjs.map +0 -1
  233. package/dist/cjs/libs/s3/config.d.ts +0 -7
  234. package/dist/cjs/libs/s3/config.d.ts.map +0 -1
  235. package/dist/cjs/services/KafkaService.cjs +0 -122
  236. package/dist/cjs/services/KafkaService.cjs.map +0 -1
  237. package/dist/cjs/services/KafkaService.d.ts +0 -35
  238. package/dist/cjs/services/KafkaService.d.ts.map +0 -1
  239. package/dist/esm/helpers/SetupHelper.d.ts +0 -5
  240. package/dist/esm/helpers/SetupHelper.d.ts.map +0 -1
  241. package/dist/esm/helpers/SetupHelper.js +0 -32
  242. package/dist/esm/helpers/SetupHelper.js.map +0 -1
  243. package/dist/esm/libs/kafka/config.d.ts +0 -5
  244. package/dist/esm/libs/kafka/config.d.ts.map +0 -1
  245. package/dist/esm/libs/kafka/config.js +0 -5
  246. package/dist/esm/libs/kafka/config.js.map +0 -1
  247. package/dist/esm/libs/kafka/consumer.d.ts +0 -16
  248. package/dist/esm/libs/kafka/consumer.d.ts.map +0 -1
  249. package/dist/esm/libs/kafka/consumer.js +0 -125
  250. package/dist/esm/libs/kafka/consumer.js.map +0 -1
  251. package/dist/esm/libs/kafka/index.d.ts +0 -3
  252. package/dist/esm/libs/kafka/index.d.ts.map +0 -1
  253. package/dist/esm/libs/kafka/index.js +0 -3
  254. package/dist/esm/libs/kafka/index.js.map +0 -1
  255. package/dist/esm/libs/kafka/kafka.d.ts +0 -3
  256. package/dist/esm/libs/kafka/kafka.d.ts.map +0 -1
  257. package/dist/esm/libs/kafka/kafka.js +0 -24
  258. package/dist/esm/libs/kafka/kafka.js.map +0 -1
  259. package/dist/esm/libs/kafka/producer.d.ts +0 -11
  260. package/dist/esm/libs/kafka/producer.d.ts.map +0 -1
  261. package/dist/esm/libs/kafka/producer.js +0 -45
  262. package/dist/esm/libs/kafka/producer.js.map +0 -1
  263. package/dist/esm/libs/logger/config.d.ts +0 -5
  264. package/dist/esm/libs/logger/config.d.ts.map +0 -1
  265. package/dist/esm/libs/logger/config.js +0 -5
  266. package/dist/esm/libs/logger/config.js.map +0 -1
  267. package/dist/esm/libs/s3/config.d.ts +0 -7
  268. package/dist/esm/libs/s3/config.d.ts.map +0 -1
  269. package/dist/esm/libs/s3/config.js +0 -7
  270. package/dist/esm/libs/s3/config.js.map +0 -1
  271. package/dist/esm/services/KafkaService.d.ts +0 -35
  272. package/dist/esm/services/KafkaService.d.ts.map +0 -1
  273. package/dist/esm/services/KafkaService.js +0 -123
  274. package/dist/esm/services/KafkaService.js.map +0 -1
@@ -33,181 +33,161 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.isImage = isImage;
37
- exports.isDocument = isDocument;
38
- exports.extractTextFromDocument = extractTextFromDocument;
39
- exports.processAttachment = processAttachment;
40
- exports.prepareImageForVisionAPI = prepareImageForVisionAPI;
36
+ exports.FileHelper = void 0;
41
37
  const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
42
- const s3_1 = require("../libs/s3/index.cjs");
43
38
  const logger_1 = require("../libs/logger/index.cjs");
44
- const config_1 = require("../config.cjs");
45
- /**
46
- * Checks if an attachment is an image
47
- */
48
- function isImage(attachment) {
49
- if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File)
50
- return false;
51
- const mimeType = attachment.mimeType || '';
52
- return mimeType.startsWith('image/');
53
- }
54
- /**
55
- * Checks if an attachment is a document that can have text extracted
56
- */
57
- function isDocument(attachment) {
58
- if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File)
59
- return false;
60
- const mimeType = attachment.mimeType || '';
61
- return mimeType.startsWith('text/') || mimeType.startsWith('application/');
62
- }
63
- /**
64
- * Extracts text from a document attachment
65
- */
66
- async function extractTextFromDocument(attachment) {
67
- if (!isDocument(attachment) || attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
68
- logger_1.logger.debug('Attachment is not a document or not a file type', {
69
- attachmentId: attachment.id,
70
- type: attachment.type,
71
- mimeType: attachment.mimeType
72
- });
73
- return undefined;
39
+ class FileHelper {
40
+ constructor(s3, config) {
41
+ this.s3 = s3;
42
+ this.config = config;
74
43
  }
75
- try {
44
+ isImage(attachment) {
45
+ if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File)
46
+ return false;
76
47
  const mimeType = attachment.mimeType || '';
77
- // All files are stored in S3 (s3Key is in metadata)
78
- if (attachment.metadata?.s3Key) {
79
- const s3Key = attachment.metadata.s3Key;
80
- const bucket = config_1.config.s3.bucket;
81
- if (mimeType === 'application/pdf') {
82
- const buffer = await s3_1.s3.downloadFileAsByteArray(s3Key, bucket);
83
- if (buffer) {
84
- // Convert Uint8Array to Buffer
85
- const nodeBuffer = Buffer.from(buffer);
86
- return await extractTextFromPDF(nodeBuffer);
48
+ return mimeType.startsWith('image/');
49
+ }
50
+ isDocument(attachment) {
51
+ if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File)
52
+ return false;
53
+ const mimeType = attachment.mimeType || '';
54
+ return mimeType.startsWith('text/') || mimeType.startsWith('application/');
55
+ }
56
+ async extractTextFromDocument(attachment) {
57
+ if (!this.isDocument(attachment) || attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
58
+ logger_1.logger.debug('Attachment is not a document or not a file type', {
59
+ attachmentId: attachment.id,
60
+ type: attachment.type,
61
+ mimeType: attachment.mimeType
62
+ });
63
+ return undefined;
64
+ }
65
+ try {
66
+ const mimeType = attachment.mimeType || '';
67
+ // All files are stored in S3 (s3Key is in metadata)
68
+ if (attachment.metadata?.s3Key) {
69
+ const s3Key = attachment.metadata.s3Key;
70
+ const bucket = this.config.s3.bucket ?? '';
71
+ if (mimeType === 'application/pdf') {
72
+ const buffer = await this.s3.downloadFileAsByteArray(s3Key, bucket);
73
+ if (buffer) {
74
+ // Convert Uint8Array to Buffer
75
+ const nodeBuffer = Buffer.from(buffer);
76
+ return await this.extractTextFromPDF(nodeBuffer);
77
+ }
87
78
  }
88
- }
89
- else if (mimeType === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') {
90
- const buffer = await s3_1.s3.downloadFileAsByteArray(s3Key, bucket);
91
- if (buffer) {
92
- // Convert Uint8Array to Buffer
93
- const nodeBuffer = Buffer.from(buffer);
94
- return await extractTextFromDOCX(nodeBuffer);
79
+ else if (mimeType === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') {
80
+ const buffer = await this.s3.downloadFileAsByteArray(s3Key, bucket);
81
+ if (buffer) {
82
+ // Convert Uint8Array to Buffer
83
+ const nodeBuffer = Buffer.from(buffer);
84
+ return await this.extractTextFromDOCX(nodeBuffer);
85
+ }
86
+ }
87
+ else {
88
+ const text = await this.s3.downloadFileAsString(s3Key, bucket);
89
+ return text || undefined;
95
90
  }
96
91
  }
97
- else {
98
- const text = await s3_1.s3.downloadFileAsString(s3Key, bucket);
99
- return text || undefined;
100
- }
92
+ return undefined;
93
+ }
94
+ catch (error) {
95
+ logger_1.logger.error('Failed to extract text from document', { error, attachmentId: attachment.id });
96
+ return undefined;
101
97
  }
102
- return undefined;
103
- }
104
- catch (error) {
105
- logger_1.logger.error('Failed to extract text from document', { error, attachmentId: attachment.id });
106
- return undefined;
107
- }
108
- }
109
- /**
110
- * Extracts text from PDF buffer
111
- */
112
- async function extractTextFromPDF(buffer) {
113
- try {
114
- const { PDFParse } = await Promise.resolve().then(() => __importStar(require('pdf-parse')));
115
- const parser = new PDFParse({ data: buffer });
116
- const text = (await parser.getText()).text || '';
117
- // Limit extracted text size
118
- const maxSize = Number(process.env.MAX_EXTRACTED_TEXT_SIZE) || 51200;
119
- return text.length > maxSize ? text.substring(0, maxSize) + '...' : text;
120
- }
121
- catch (error) {
122
- logger_1.logger.warn('PDF text extraction failed (pdf-parse may not be installed)', { error });
123
- return undefined;
124
- }
125
- }
126
- /**
127
- * Extracts text from DOCX buffer
128
- */
129
- async function extractTextFromDOCX(buffer) {
130
- try {
131
- const mammoth = await Promise.resolve().then(() => __importStar(require('mammoth')));
132
- const result = await mammoth.extractRawText({ buffer });
133
- const text = result.value || '';
134
- // Limit extracted text size
135
- const maxSize = Number(process.env.MAX_EXTRACTED_TEXT_SIZE) || 51200;
136
- return text.length > maxSize ? text.substring(0, maxSize) + '...' : text;
137
- }
138
- catch (error) {
139
- logger_1.logger.warn('DOCX text extraction failed (mammoth may not be installed)', { error });
140
- return undefined;
141
98
  }
142
- }
143
- /**
144
- * Processes an attachment and extracts content as needed
145
- */
146
- async function processAttachment(attachment) {
147
- const processed = { ...attachment };
148
- // Only process file attachments
149
- if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
150
- return processed;
99
+ async extractTextFromPDF(buffer) {
100
+ try {
101
+ const { PDFParse } = await Promise.resolve().then(() => __importStar(require('pdf-parse')));
102
+ const parser = new PDFParse({ data: buffer });
103
+ const text = (await parser.getText()).text || '';
104
+ // Limit extracted text size
105
+ const maxSize = this.config.fileProcessing.maxExtractedTextSize ?? 10000;
106
+ return text.length > maxSize ? text.substring(0, maxSize) + '...' : text;
107
+ }
108
+ catch (error) {
109
+ logger_1.logger.warn('PDF text extraction failed (pdf-parse may not be installed)', { error });
110
+ return undefined;
111
+ }
151
112
  }
152
- // Check if text extraction is enabled
153
- const enableTextExtraction = process.env.ENABLE_TEXT_EXTRACTION !== 'false';
154
- if (enableTextExtraction && isDocument(attachment)) {
113
+ async extractTextFromDOCX(buffer) {
155
114
  try {
156
- processed.processingStatus = 'pending';
157
- const extractedText = await extractTextFromDocument(attachment);
158
- if (extractedText) {
159
- processed.extractedText = extractedText;
160
- processed.processingStatus = 'processed';
161
- }
162
- else {
163
- processed.processingStatus = 'failed';
164
- }
115
+ const mammoth = await Promise.resolve().then(() => __importStar(require('mammoth')));
116
+ const result = await mammoth.extractRawText({ buffer });
117
+ const text = result.value || '';
118
+ // Limit extracted text size
119
+ const maxSize = this.config.fileProcessing.maxExtractedTextSize ?? 10000;
120
+ return text.length > maxSize ? text.substring(0, maxSize) + '...' : text;
165
121
  }
166
122
  catch (error) {
167
- logger_1.logger.error('Failed to process document attachment', { error, attachmentId: attachment.id });
168
- processed.processingStatus = 'failed';
123
+ logger_1.logger.warn('DOCX text extraction failed (mammoth may not be installed)', { error });
124
+ return undefined;
169
125
  }
170
126
  }
171
- return processed;
172
- }
173
- /**
174
- * Prepares an image attachment for vision API
175
- */
176
- async function prepareImageForVisionAPI(attachment) {
177
- if (!isImage(attachment) || attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
178
- return null;
127
+ async processAttachment(attachment) {
128
+ const processed = { ...attachment };
129
+ // Only process file attachments
130
+ if (attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
131
+ return processed;
132
+ }
133
+ // Check if text extraction is enabled
134
+ const enableTextExtraction = this.config.fileProcessing.enableTextExtraction;
135
+ if (enableTextExtraction && this.isDocument(attachment)) {
136
+ try {
137
+ processed.processingStatus = 'pending';
138
+ const extractedText = await this.extractTextFromDocument(attachment);
139
+ if (extractedText) {
140
+ processed.extractedText = extractedText;
141
+ processed.processingStatus = 'processed';
142
+ }
143
+ else {
144
+ processed.processingStatus = 'failed';
145
+ }
146
+ }
147
+ catch (error) {
148
+ logger_1.logger.error('Failed to process document attachment', { error, attachmentId: attachment.id });
149
+ processed.processingStatus = 'failed';
150
+ }
151
+ }
152
+ return processed;
179
153
  }
180
- // All files are stored in S3 - generate presigned download URL
181
- if (attachment.metadata?.s3Key) {
182
- try {
183
- const s3Key = attachment.metadata.s3Key;
184
- const bucket = config_1.config.s3.bucket;
185
- const buffer = await s3_1.s3.downloadFileAsByteArray(s3Key, bucket);
186
- if (!buffer) {
154
+ async prepareImageForVisionAPI(attachment) {
155
+ if (!this.isImage(attachment) || attachment.type !== ai_agent_types_1.AgentAttachmentType.File) {
156
+ return null;
157
+ }
158
+ // All files are stored in S3 - generate presigned download URL
159
+ if (attachment.metadata?.s3Key) {
160
+ try {
161
+ const s3Key = attachment.metadata.s3Key;
162
+ const bucket = this.config.s3.bucket ?? '';
163
+ const buffer = await this.s3.downloadFileAsByteArray(s3Key, bucket);
164
+ if (!buffer) {
165
+ return null;
166
+ }
167
+ const mimeType = attachment.mimeType || 'image/png';
168
+ return {
169
+ type: 'image_url',
170
+ image_url: {
171
+ url: `data:${mimeType};base64,${Buffer.from(buffer).toString('base64')}`,
172
+ },
173
+ };
174
+ }
175
+ catch (error) {
176
+ logger_1.logger.error('Failed to generate presigned URL for S3 image', { error, attachmentId: attachment.id });
187
177
  return null;
188
178
  }
189
- const mimeType = attachment.mimeType || 'image/png';
179
+ }
180
+ // Fallback: If we have a URL (backward compatibility)
181
+ if (attachment.url) {
190
182
  return {
191
183
  type: 'image_url',
192
184
  image_url: {
193
- url: `data:${mimeType};base64,${Buffer.from(buffer).toString('base64')}`,
185
+ url: attachment.url,
194
186
  },
195
187
  };
196
188
  }
197
- catch (error) {
198
- logger_1.logger.error('Failed to generate presigned URL for S3 image', { error, attachmentId: attachment.id });
199
- return null;
200
- }
201
- }
202
- // Fallback: If we have a URL (backward compatibility)
203
- if (attachment.url) {
204
- return {
205
- type: 'image_url',
206
- image_url: {
207
- url: attachment.url,
208
- },
209
- };
189
+ return null;
210
190
  }
211
- return null;
212
191
  }
192
+ exports.FileHelper = FileHelper;
213
193
  //# sourceMappingURL=FileHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../../src/helpers/FileHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../../src/helpers/FileHelper.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,25 @@
1
1
  import type { AgentAttachment } from '@multiplayer-app/ai-agent-types';
2
+ import { S3Lib } from '../libs/s3';
3
+ import { Config } from '../config';
2
4
  export interface ProcessedAttachment extends AgentAttachment {
3
5
  extractedText?: string;
4
6
  processingStatus?: 'pending' | 'processed' | 'failed';
5
7
  }
6
- /**
7
- * Checks if an attachment is an image
8
- */
9
- export declare function isImage(attachment: AgentAttachment): boolean;
10
- /**
11
- * Checks if an attachment is a document that can have text extracted
12
- */
13
- export declare function isDocument(attachment: AgentAttachment): boolean;
14
- /**
15
- * Extracts text from a document attachment
16
- */
17
- export declare function extractTextFromDocument(attachment: AgentAttachment): Promise<string | undefined>;
18
- /**
19
- * Processes an attachment and extracts content as needed
20
- */
21
- export declare function processAttachment(attachment: AgentAttachment): Promise<ProcessedAttachment>;
22
- /**
23
- * Prepares an image attachment for vision API
24
- */
25
- export declare function prepareImageForVisionAPI(attachment: AgentAttachment): Promise<{
26
- type: 'image_url';
27
- image_url: {
28
- url: string;
29
- };
30
- } | null>;
8
+ export declare class FileHelper {
9
+ private s3;
10
+ private config;
11
+ constructor(s3: S3Lib, config: Config);
12
+ isImage(attachment: AgentAttachment): boolean;
13
+ private isDocument;
14
+ extractTextFromDocument(attachment: AgentAttachment): Promise<string | undefined>;
15
+ private extractTextFromPDF;
16
+ private extractTextFromDOCX;
17
+ processAttachment(attachment: AgentAttachment): Promise<ProcessedAttachment>;
18
+ prepareImageForVisionAPI(attachment: AgentAttachment): Promise<{
19
+ type: 'image_url';
20
+ image_url: {
21
+ url: string;
22
+ };
23
+ } | null>;
24
+ }
31
25
  //# sourceMappingURL=FileHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAOvE,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CACvD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAI5D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAI/D;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B;AAsCD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CA4B9B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;IACnF,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B,GAAG,IAAI,CAAC,CAsCR"}
1
+ {"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../../src/helpers/FileHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;CACvD;AAED,qBAAa,UAAU;IAErB,OAAO,CAAC,EAAE,CAAQ;IAClB,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAKrC,OAAO,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO;IAM7C,OAAO,CAAC,UAAU;IAMZ,uBAAuB,CAC3B,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YA8ChB,kBAAkB;YAelB,mBAAmB;IAe3B,iBAAiB,CACrB,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,mBAAmB,CAAC;IA8BzB,wBAAwB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC;QACnE,IAAI,EAAE,WAAW,CAAC;QAClB,SAAS,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5B,GAAG,IAAI,CAAC;CAuCV"}
@@ -18,5 +18,4 @@ __exportStar(require("./AIHelper.cjs"), exports);
18
18
  __exportStar(require("./ConfigHelper.cjs"), exports);
19
19
  __exportStar(require("./ContextLimiter.cjs"), exports);
20
20
  __exportStar(require("./FileHelper.cjs"), exports);
21
- __exportStar(require("./SetupHelper.cjs"), exports);
22
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B;AAC7B,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,iDAA+B;AAC/B,mDAAiC;AACjC,+CAA6B"}
@@ -2,5 +2,4 @@ export * from './AIHelper';
2
2
  export * from './ConfigHelper';
3
3
  export * from './ContextLimiter';
4
4
  export * from './FileHelper';
5
- export * from './SetupHelper';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
@@ -1,34 +1,126 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.logger = exports.getLogger = exports.setLogger = exports.s3 = exports.proposeFormValuesToolName = exports.createProposeFormValuesTool = exports.stopServices = exports.startServices = exports.ModelsProcessor = exports.ChatProcessor = exports.ArtifactStore = exports.ModelStore = exports.ConfigStore = exports.AgentProcessEventType = exports.agentStore = exports.socketService = exports.redisService = exports.kafkaService = void 0;
4
- var KafkaService_1 = require("./services/KafkaService.cjs");
5
- Object.defineProperty(exports, "kafkaService", { enumerable: true, get: function () { return KafkaService_1.kafkaService; } });
6
- var RedisService_1 = require("./services/RedisService.cjs");
7
- Object.defineProperty(exports, "redisService", { enumerable: true, get: function () { return RedisService_1.redisService; } });
8
- var SocketService_1 = require("./services/SocketService.cjs");
9
- Object.defineProperty(exports, "socketService", { enumerable: true, get: function () { return SocketService_1.socketService; } });
10
- var AgentStore_1 = require("./store/AgentStore.cjs");
11
- Object.defineProperty(exports, "agentStore", { enumerable: true, get: function () { return AgentStore_1.agentStore; } });
12
- Object.defineProperty(exports, "AgentProcessEventType", { enumerable: true, get: function () { return AgentStore_1.AgentProcessEventType; } });
13
- var ConfigStore_1 = require("./store/ConfigStore.cjs");
14
- Object.defineProperty(exports, "ConfigStore", { enumerable: true, get: function () { return ConfigStore_1.ConfigStore; } });
15
- var ModelStore_1 = require("./store/ModelStore.cjs");
16
- Object.defineProperty(exports, "ModelStore", { enumerable: true, get: function () { return ModelStore_1.ModelStore; } });
17
- var ArtifactStore_1 = require("./store/ArtifactStore.cjs");
18
- Object.defineProperty(exports, "ArtifactStore", { enumerable: true, get: function () { return ArtifactStore_1.ArtifactStore; } });
19
- var processors_1 = require("./processors/index.cjs");
20
- Object.defineProperty(exports, "ChatProcessor", { enumerable: true, get: function () { return processors_1.ChatProcessor; } });
21
- Object.defineProperty(exports, "ModelsProcessor", { enumerable: true, get: function () { return processors_1.ModelsProcessor; } });
22
- var SetupHelper_1 = require("./helpers/SetupHelper.cjs");
23
- Object.defineProperty(exports, "startServices", { enumerable: true, get: function () { return SetupHelper_1.startServices; } });
24
- Object.defineProperty(exports, "stopServices", { enumerable: true, get: function () { return SetupHelper_1.stopServices; } });
36
+ exports.AIAgentService = exports.ConfigStore = exports.proposeFormValuesToolName = exports.createProposeFormValuesTool = void 0;
25
37
  var proposeFormValuesTool_1 = require("./tools/proposeFormValuesTool.cjs");
26
38
  Object.defineProperty(exports, "createProposeFormValuesTool", { enumerable: true, get: function () { return proposeFormValuesTool_1.createProposeFormValuesTool; } });
27
39
  Object.defineProperty(exports, "proposeFormValuesToolName", { enumerable: true, get: function () { return proposeFormValuesTool_1.proposeFormValuesToolName; } });
28
- var s3_1 = require("./libs/s3/index.cjs");
29
- Object.defineProperty(exports, "s3", { enumerable: true, get: function () { return s3_1.s3; } });
30
- var logger_1 = require("./libs/logger/index.cjs");
31
- Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logger_1.setLogger; } });
32
- Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return logger_1.getLogger; } });
33
- Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
40
+ var ConfigStore_1 = require("./store/ConfigStore.cjs");
41
+ Object.defineProperty(exports, "ConfigStore", { enumerable: true, get: function () { return ConfigStore_1.ConfigStore; } });
42
+ const config_1 = require("./config.cjs");
43
+ const libs_1 = require("./libs/index.cjs");
44
+ const services_1 = require("./services/index.cjs");
45
+ const store_1 = require("./store/index.cjs");
46
+ const store_2 = require("./store/index.cjs");
47
+ const logger_1 = __importStar(require("./libs/logger/index.cjs"));
48
+ const services_2 = require("./services/index.cjs");
49
+ const store_3 = require("./store/index.cjs");
50
+ const processors_1 = require("./processors/index.cjs");
51
+ const store_4 = require("./store/index.cjs");
52
+ const services_3 = require("./services/index.cjs");
53
+ class AIAgentService {
54
+ constructor(options) {
55
+ if (options.config) {
56
+ config_1.ConfigProvider.getInstance().setConfig(options.config);
57
+ }
58
+ this.s3 = new libs_1.S3Lib(config_1.ConfigProvider.getInstance().getConfig().s3);
59
+ this.redisService = new services_2.RedisService(config_1.ConfigProvider.getInstance().getConfig().redis);
60
+ this.socketService = new services_1.SocketService(config_1.ConfigProvider.getInstance().getConfig().socket, this.redisService);
61
+ options.setupAgents(store_2.ConfigStore.getInstance());
62
+ this.agentStore = new store_1.AgentStore(this.redisService);
63
+ if (options.logger)
64
+ (0, logger_1.setLogger)(options.logger);
65
+ this.modelsProcessor = new processors_1.ModelsProcessor();
66
+ this.agentProcessor = new processors_1.AgentProcessor({ agentConfigRepository: options.agentConfigRepository });
67
+ this.activityProcessor = new processors_1.ActivityProcessor({
68
+ activityRepository: options.activityRepository
69
+ });
70
+ this.chatProcessor = new processors_1.ChatProcessor({
71
+ agentStore: this.agentStore,
72
+ chatRepository: options.chatRepository,
73
+ messageRepository: options.messageRepository,
74
+ activityRepository: options.activityRepository,
75
+ artifactStore: options.artifactStore || new store_3.ArtifactStore(),
76
+ agentConfigRepository: options.agentConfigRepository,
77
+ s3Lib: this.s3,
78
+ config: config_1.ConfigProvider.getInstance().getConfig(),
79
+ socketService: this.socketService
80
+ });
81
+ }
82
+ start() {
83
+ return Promise.all([
84
+ this.agentStore.initialize(),
85
+ this.fetchModels(config_1.ConfigProvider.getInstance().getConfig().ai),
86
+ this.s3.ensureBucketExists(config_1.ConfigProvider.getInstance().getConfig().s3.bucket ?? '').catch((err) => logger_1.default.error("Unable to auto create s3 bucket")),
87
+ ]);
88
+ }
89
+ stop() {
90
+ return Promise.all([this.redisService.disconnect()]);
91
+ }
92
+ getS3() {
93
+ return this.s3;
94
+ }
95
+ async stopAgentProcess(chatId) {
96
+ await this.agentStore.shareAgentProcessEvent(chatId, { type: store_1.AgentProcessEventType.Stop, data: undefined });
97
+ }
98
+ initSocketSupport(httpServer, authorizationMiddleware) {
99
+ return this.socketService.initialize(httpServer, authorizationMiddleware);
100
+ }
101
+ getChatProcessor() {
102
+ return this.chatProcessor;
103
+ }
104
+ getModelProcessor() {
105
+ return this.modelsProcessor;
106
+ }
107
+ getActivityProcessor() {
108
+ return this.activityProcessor;
109
+ }
110
+ getAgentProcessor() {
111
+ return this.agentProcessor;
112
+ }
113
+ async fetchModels(config) {
114
+ try {
115
+ const modelFetcher = new services_3.ModelFetcher(config);
116
+ const models = await modelFetcher.fetchAllModels();
117
+ store_4.ModelStore.getInstance().setModels(models);
118
+ }
119
+ catch (error) {
120
+ logger_1.default.error('Failed to fetch models on startup:', error);
121
+ throw error;
122
+ }
123
+ }
124
+ }
125
+ exports.AIAgentService = AIAgentService;
34
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,iDAAuE;AAA9D,wGAAA,UAAU,OAAA;AAAE,mHAAA,qBAAqB,OAAA;AAE1C,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AACpB,iDAAgD;AAAvC,wGAAA,UAAU,OAAA;AACnB,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AACtB,2CAA8D;AAArD,2GAAA,aAAa,OAAA;AAAE,6GAAA,eAAe,OAAA;AACvC,qDAAoE;AAA3D,4GAAA,aAAa,OAAA;AAAE,2GAAA,YAAY,OAAA;AACpC,uEAAuG;AAA9F,oIAAA,2BAA2B,OAAA;AAAE,kIAAA,yBAAyB,OAAA;AAC/D,gCAA+B;AAAtB,wFAAA,EAAE,OAAA;AACX,wCAA+E;AAAtE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAuG;AAA9F,oIAAA,2BAA2B,OAAA;AAAE,kIAAA,yBAAyB,OAAA;AAI/D,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AAEpB,qCAAkD;AAClD,iCAA+B;AAC/B,yCAAuD;AAEvD,mCAA4D;AAE5D,mCAAsC;AACtC,wDAAoE;AACpE,yCAA0C;AAC1C,mCAAwC;AACxC,6CAAiG;AACjG,mCAAqC;AACrC,yCAA0C;AAY1C,MAAa,cAAc;IAUvB,YAAY,OAA8B;QACtC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,YAAK,CAAC,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,IAAI,uBAAY,CAAC,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAa,CAAC,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3G,OAAO,CAAC,WAAW,CAAC,mBAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,eAAe,GAAG,IAAI,4BAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,2BAAc,CAAC,EAAC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,EAAC,CAAC,CAAC;QACjG,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAAiB,CAAC;YAC7C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,0BAAa,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;YAC9C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,IAAI,qBAAa,EAAE;YAC3D,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;YACpD,KAAK,EAAE,IAAI,CAAC,EAAE;YACd,MAAM,EAAE,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE;YAChD,aAAa,EAAE,IAAI,CAAC,aAAa;SACpC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACH,OAAO,OAAO,CAAC,GAAG,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,uBAAc,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACrJ,CAAC,CAAA;IACJ,CAAC;IAED,IAAI;QACA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,6BAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,iBAAiB,CAAC,UAAsB,EAAE,uBAAoC;QAC1E,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAC9E,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IACD,iBAAiB;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAoB;QAC1C,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YACnD,kBAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gBAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACL,CAAC;CACJ;AA1FD,wCA0FC"}