@multiplayer-app/ai-agent-node 0.1.0-beta.4 → 0.1.0-beta.41

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 (299) hide show
  1. package/dist/cjs/config.cjs +88 -38
  2. package/dist/cjs/config.cjs.map +1 -1
  3. package/dist/cjs/config.d.ts +57 -23
  4. package/dist/cjs/config.d.ts.map +1 -1
  5. package/dist/cjs/helpers/AIHelper.cjs +160 -101
  6. package/dist/cjs/helpers/AIHelper.cjs.map +1 -1
  7. package/dist/cjs/helpers/AIHelper.d.ts +21 -13
  8. package/dist/cjs/helpers/AIHelper.d.ts.map +1 -1
  9. package/dist/cjs/helpers/AIHelper.test.cjs +22 -15
  10. package/dist/cjs/helpers/AIHelper.test.cjs.map +1 -1
  11. package/dist/cjs/helpers/ConfigHelper.cjs +19 -11
  12. package/dist/cjs/helpers/ConfigHelper.cjs.map +1 -1
  13. package/dist/cjs/helpers/ConfigHelper.d.ts.map +1 -1
  14. package/dist/cjs/helpers/ContextLimiter.cjs +2 -3
  15. package/dist/cjs/helpers/ContextLimiter.cjs.map +1 -1
  16. package/dist/cjs/helpers/FileHelper.cjs +132 -154
  17. package/dist/cjs/helpers/FileHelper.cjs.map +1 -1
  18. package/dist/cjs/helpers/FileHelper.d.ts +19 -25
  19. package/dist/cjs/helpers/FileHelper.d.ts.map +1 -1
  20. package/dist/cjs/helpers/index.cjs +4 -5
  21. package/dist/cjs/helpers/index.cjs.map +1 -1
  22. package/dist/cjs/helpers/index.d.ts +4 -5
  23. package/dist/cjs/helpers/index.d.ts.map +1 -1
  24. package/dist/cjs/index.cjs +118 -31
  25. package/dist/cjs/index.cjs.map +1 -1
  26. package/dist/cjs/index.d.ts +42 -13
  27. package/dist/cjs/index.d.ts.map +1 -1
  28. package/dist/cjs/libs/index.cjs +2 -3
  29. package/dist/cjs/libs/index.cjs.map +1 -1
  30. package/dist/cjs/libs/index.d.ts +2 -3
  31. package/dist/cjs/libs/index.d.ts.map +1 -1
  32. package/dist/cjs/libs/logger/index.cjs +5 -5
  33. package/dist/cjs/libs/logger/index.cjs.map +1 -1
  34. package/dist/cjs/libs/logger/index.d.ts +2 -2
  35. package/dist/cjs/libs/logger/index.d.ts.map +1 -1
  36. package/dist/cjs/libs/logger/kafkajs-logger-creator.cjs +2 -2
  37. package/dist/cjs/libs/logger/kafkajs-logger-creator.cjs.map +1 -1
  38. package/dist/cjs/libs/s3/index.cjs +3 -39
  39. package/dist/cjs/libs/s3/index.cjs.map +1 -1
  40. package/dist/cjs/libs/s3/index.d.ts +1 -2
  41. package/dist/cjs/libs/s3/index.d.ts.map +1 -1
  42. package/dist/cjs/libs/s3/s3.lib.cjs +174 -191
  43. package/dist/cjs/libs/s3/s3.lib.cjs.map +1 -1
  44. package/dist/cjs/libs/s3/s3.lib.d.ts +29 -22
  45. package/dist/cjs/libs/s3/s3.lib.d.ts.map +1 -1
  46. package/dist/cjs/processors/ActivityProcessor.cjs +36 -0
  47. package/dist/cjs/processors/ActivityProcessor.cjs.map +1 -0
  48. package/dist/cjs/processors/ActivityProcessor.d.ts +27 -0
  49. package/dist/cjs/processors/ActivityProcessor.d.ts.map +1 -0
  50. package/dist/cjs/processors/ActivityProcessor.test.cjs +84 -0
  51. package/dist/cjs/processors/ActivityProcessor.test.cjs.map +1 -0
  52. package/dist/cjs/processors/ActivityProcessor.test.d.ts +2 -0
  53. package/dist/cjs/processors/ActivityProcessor.test.d.ts.map +1 -0
  54. package/dist/cjs/processors/ChatProcessor.cjs +335 -163
  55. package/dist/cjs/processors/ChatProcessor.cjs.map +1 -1
  56. package/dist/cjs/processors/ChatProcessor.d.ts +56 -9
  57. package/dist/cjs/processors/ChatProcessor.d.ts.map +1 -1
  58. package/dist/cjs/processors/ChatProcessor.test.cjs +450 -0
  59. package/dist/cjs/processors/ChatProcessor.test.cjs.map +1 -0
  60. package/dist/cjs/processors/ChatProcessor.test.d.ts +2 -0
  61. package/dist/cjs/processors/ChatProcessor.test.d.ts.map +1 -0
  62. package/dist/cjs/processors/ModelsProcessor.cjs +2 -2
  63. package/dist/cjs/processors/ModelsProcessor.cjs.map +1 -1
  64. package/dist/cjs/processors/index.cjs +3 -2
  65. package/dist/cjs/processors/index.cjs.map +1 -1
  66. package/dist/cjs/processors/index.d.ts +3 -2
  67. package/dist/cjs/processors/index.d.ts.map +1 -1
  68. package/dist/cjs/services/AIService.cjs +50 -31
  69. package/dist/cjs/services/AIService.cjs.map +1 -1
  70. package/dist/cjs/services/AIService.d.ts +16 -5
  71. package/dist/cjs/services/AIService.d.ts.map +1 -1
  72. package/dist/cjs/services/InternalEventsHandler.cjs +5 -5
  73. package/dist/cjs/services/InternalEventsHandler.cjs.map +1 -1
  74. package/dist/cjs/services/InternalEventsHandler.d.ts +3 -1
  75. package/dist/cjs/services/InternalEventsHandler.d.ts.map +1 -1
  76. package/dist/cjs/services/ModelFetcher.cjs +9 -15
  77. package/dist/cjs/services/ModelFetcher.cjs.map +1 -1
  78. package/dist/cjs/services/ModelFetcher.d.ts +2 -7
  79. package/dist/cjs/services/ModelFetcher.d.ts.map +1 -1
  80. package/dist/cjs/services/RedisService.cjs +35 -32
  81. package/dist/cjs/services/RedisService.cjs.map +1 -1
  82. package/dist/cjs/services/RedisService.d.ts +5 -2
  83. package/dist/cjs/services/RedisService.d.ts.map +1 -1
  84. package/dist/cjs/services/SocketService.cjs +19 -20
  85. package/dist/cjs/services/SocketService.cjs.map +1 -1
  86. package/dist/cjs/services/SocketService.d.ts +9 -6
  87. package/dist/cjs/services/SocketService.d.ts.map +1 -1
  88. package/dist/cjs/services/index.cjs +5 -6
  89. package/dist/cjs/services/index.cjs.map +1 -1
  90. package/dist/cjs/services/index.d.ts +5 -6
  91. package/dist/cjs/services/index.d.ts.map +1 -1
  92. package/dist/cjs/store/AgentStore.cjs +4 -5
  93. package/dist/cjs/store/AgentStore.cjs.map +1 -1
  94. package/dist/cjs/store/AgentStore.d.ts +2 -1
  95. package/dist/cjs/store/AgentStore.d.ts.map +1 -1
  96. package/dist/cjs/store/ArtifactStore.cjs +2 -4
  97. package/dist/cjs/store/ArtifactStore.cjs.map +1 -1
  98. package/dist/cjs/store/ConfigStore.cjs +8 -11
  99. package/dist/cjs/store/ConfigStore.cjs.map +1 -1
  100. package/dist/cjs/store/ConfigStore.d.ts.map +1 -1
  101. package/dist/cjs/store/ConfigStore.test.cjs +2 -2
  102. package/dist/cjs/store/ConfigStore.test.cjs.map +1 -1
  103. package/dist/cjs/store/ModelStore.cjs +4 -4
  104. package/dist/cjs/store/ModelStore.cjs.map +1 -1
  105. package/dist/cjs/store/ModelStore.test.cjs +17 -17
  106. package/dist/cjs/store/ModelStore.test.cjs.map +1 -1
  107. package/dist/cjs/store/index.cjs +4 -4
  108. package/dist/cjs/store/index.cjs.map +1 -1
  109. package/dist/cjs/store/index.d.ts +4 -4
  110. package/dist/cjs/store/index.d.ts.map +1 -1
  111. package/dist/cjs/tools/proposeFormValuesTool.d.ts +2 -2
  112. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  113. package/dist/esm/config.d.ts +57 -23
  114. package/dist/esm/config.d.ts.map +1 -1
  115. package/dist/esm/config.js +88 -36
  116. package/dist/esm/config.js.map +1 -1
  117. package/dist/esm/helpers/AIHelper.d.ts +21 -13
  118. package/dist/esm/helpers/AIHelper.d.ts.map +1 -1
  119. package/dist/esm/helpers/AIHelper.js +159 -98
  120. package/dist/esm/helpers/AIHelper.js.map +1 -1
  121. package/dist/esm/helpers/AIHelper.test.js +21 -14
  122. package/dist/esm/helpers/AIHelper.test.js.map +1 -1
  123. package/dist/esm/helpers/ConfigHelper.d.ts.map +1 -1
  124. package/dist/esm/helpers/ConfigHelper.js +17 -9
  125. package/dist/esm/helpers/ConfigHelper.js.map +1 -1
  126. package/dist/esm/helpers/ContextLimiter.js +2 -3
  127. package/dist/esm/helpers/ContextLimiter.js.map +1 -1
  128. package/dist/esm/helpers/FileHelper.d.ts +19 -25
  129. package/dist/esm/helpers/FileHelper.d.ts.map +1 -1
  130. package/dist/esm/helpers/FileHelper.js +132 -149
  131. package/dist/esm/helpers/FileHelper.js.map +1 -1
  132. package/dist/esm/helpers/index.d.ts +4 -5
  133. package/dist/esm/helpers/index.d.ts.map +1 -1
  134. package/dist/esm/helpers/index.js +4 -5
  135. package/dist/esm/helpers/index.js.map +1 -1
  136. package/dist/esm/index.d.ts +42 -13
  137. package/dist/esm/index.d.ts.map +1 -1
  138. package/dist/esm/index.js +87 -12
  139. package/dist/esm/index.js.map +1 -1
  140. package/dist/esm/libs/index.d.ts +2 -3
  141. package/dist/esm/libs/index.d.ts.map +1 -1
  142. package/dist/esm/libs/index.js +2 -3
  143. package/dist/esm/libs/index.js.map +1 -1
  144. package/dist/esm/libs/logger/index.d.ts +2 -2
  145. package/dist/esm/libs/logger/index.d.ts.map +1 -1
  146. package/dist/esm/libs/logger/index.js +2 -2
  147. package/dist/esm/libs/logger/index.js.map +1 -1
  148. package/dist/esm/libs/logger/kafkajs-logger-creator.js +1 -1
  149. package/dist/esm/libs/logger/kafkajs-logger-creator.js.map +1 -1
  150. package/dist/esm/libs/s3/index.d.ts +1 -2
  151. package/dist/esm/libs/s3/index.d.ts.map +1 -1
  152. package/dist/esm/libs/s3/index.js +1 -2
  153. package/dist/esm/libs/s3/index.js.map +1 -1
  154. package/dist/esm/libs/s3/s3.lib.d.ts +29 -22
  155. package/dist/esm/libs/s3/s3.lib.d.ts.map +1 -1
  156. package/dist/esm/libs/s3/s3.lib.js +178 -177
  157. package/dist/esm/libs/s3/s3.lib.js.map +1 -1
  158. package/dist/esm/processors/ActivityProcessor.d.ts +27 -0
  159. package/dist/esm/processors/ActivityProcessor.d.ts.map +1 -0
  160. package/dist/esm/processors/ActivityProcessor.js +33 -0
  161. package/dist/esm/processors/ActivityProcessor.js.map +1 -0
  162. package/dist/esm/processors/ActivityProcessor.test.d.ts +2 -0
  163. package/dist/esm/processors/ActivityProcessor.test.d.ts.map +1 -0
  164. package/dist/esm/processors/ActivityProcessor.test.js +82 -0
  165. package/dist/esm/processors/ActivityProcessor.test.js.map +1 -0
  166. package/dist/esm/processors/ChatProcessor.d.ts +56 -9
  167. package/dist/esm/processors/ChatProcessor.d.ts.map +1 -1
  168. package/dist/esm/processors/ChatProcessor.js +334 -153
  169. package/dist/esm/processors/ChatProcessor.js.map +1 -1
  170. package/dist/esm/processors/ChatProcessor.test.d.ts +2 -0
  171. package/dist/esm/processors/ChatProcessor.test.d.ts.map +1 -0
  172. package/dist/esm/processors/ChatProcessor.test.js +448 -0
  173. package/dist/esm/processors/ChatProcessor.test.js.map +1 -0
  174. package/dist/esm/processors/ModelsProcessor.js +1 -1
  175. package/dist/esm/processors/ModelsProcessor.js.map +1 -1
  176. package/dist/esm/processors/index.d.ts +3 -2
  177. package/dist/esm/processors/index.d.ts.map +1 -1
  178. package/dist/esm/processors/index.js +3 -2
  179. package/dist/esm/processors/index.js.map +1 -1
  180. package/dist/esm/services/AIService.d.ts +16 -5
  181. package/dist/esm/services/AIService.d.ts.map +1 -1
  182. package/dist/esm/services/AIService.js +53 -32
  183. package/dist/esm/services/AIService.js.map +1 -1
  184. package/dist/esm/services/InternalEventsHandler.d.ts +3 -1
  185. package/dist/esm/services/InternalEventsHandler.d.ts.map +1 -1
  186. package/dist/esm/services/InternalEventsHandler.js +10 -8
  187. package/dist/esm/services/InternalEventsHandler.js.map +1 -1
  188. package/dist/esm/services/ModelFetcher.d.ts +2 -7
  189. package/dist/esm/services/ModelFetcher.d.ts.map +1 -1
  190. package/dist/esm/services/ModelFetcher.js +4 -9
  191. package/dist/esm/services/ModelFetcher.js.map +1 -1
  192. package/dist/esm/services/RedisService.d.ts +5 -2
  193. package/dist/esm/services/RedisService.d.ts.map +1 -1
  194. package/dist/esm/services/RedisService.js +25 -21
  195. package/dist/esm/services/RedisService.js.map +1 -1
  196. package/dist/esm/services/SocketService.d.ts +9 -6
  197. package/dist/esm/services/SocketService.d.ts.map +1 -1
  198. package/dist/esm/services/SocketService.js +15 -13
  199. package/dist/esm/services/SocketService.js.map +1 -1
  200. package/dist/esm/services/index.d.ts +5 -6
  201. package/dist/esm/services/index.d.ts.map +1 -1
  202. package/dist/esm/services/index.js +5 -6
  203. package/dist/esm/services/index.js.map +1 -1
  204. package/dist/esm/store/AgentStore.d.ts +2 -1
  205. package/dist/esm/store/AgentStore.d.ts.map +1 -1
  206. package/dist/esm/store/AgentStore.js +5 -5
  207. package/dist/esm/store/AgentStore.js.map +1 -1
  208. package/dist/esm/store/ArtifactStore.js +3 -7
  209. package/dist/esm/store/ArtifactStore.js.map +1 -1
  210. package/dist/esm/store/ConfigStore.d.ts.map +1 -1
  211. package/dist/esm/store/ConfigStore.js +16 -19
  212. package/dist/esm/store/ConfigStore.js.map +1 -1
  213. package/dist/esm/store/ConfigStore.test.js +1 -1
  214. package/dist/esm/store/ConfigStore.test.js.map +1 -1
  215. package/dist/esm/store/ModelStore.js +6 -6
  216. package/dist/esm/store/ModelStore.js.map +1 -1
  217. package/dist/esm/store/ModelStore.test.js +12 -12
  218. package/dist/esm/store/ModelStore.test.js.map +1 -1
  219. package/dist/esm/store/index.d.ts +4 -4
  220. package/dist/esm/store/index.d.ts.map +1 -1
  221. package/dist/esm/store/index.js +4 -4
  222. package/dist/esm/store/index.js.map +1 -1
  223. package/dist/esm/tools/proposeFormValuesTool.d.ts +2 -2
  224. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  225. package/package.json +15 -15
  226. package/dist/cjs/helpers/SetupHelper.cjs +0 -37
  227. package/dist/cjs/helpers/SetupHelper.cjs.map +0 -1
  228. package/dist/cjs/helpers/SetupHelper.d.ts +0 -5
  229. package/dist/cjs/helpers/SetupHelper.d.ts.map +0 -1
  230. package/dist/cjs/libs/kafka/config.cjs +0 -8
  231. package/dist/cjs/libs/kafka/config.cjs.map +0 -1
  232. package/dist/cjs/libs/kafka/config.d.ts +0 -5
  233. package/dist/cjs/libs/kafka/config.d.ts.map +0 -1
  234. package/dist/cjs/libs/kafka/consumer.cjs +0 -133
  235. package/dist/cjs/libs/kafka/consumer.cjs.map +0 -1
  236. package/dist/cjs/libs/kafka/consumer.d.ts +0 -16
  237. package/dist/cjs/libs/kafka/consumer.d.ts.map +0 -1
  238. package/dist/cjs/libs/kafka/index.cjs +0 -19
  239. package/dist/cjs/libs/kafka/index.cjs.map +0 -1
  240. package/dist/cjs/libs/kafka/index.d.ts +0 -3
  241. package/dist/cjs/libs/kafka/index.d.ts.map +0 -1
  242. package/dist/cjs/libs/kafka/kafka.cjs +0 -27
  243. package/dist/cjs/libs/kafka/kafka.cjs.map +0 -1
  244. package/dist/cjs/libs/kafka/kafka.d.ts +0 -3
  245. package/dist/cjs/libs/kafka/kafka.d.ts.map +0 -1
  246. package/dist/cjs/libs/kafka/producer.cjs +0 -48
  247. package/dist/cjs/libs/kafka/producer.cjs.map +0 -1
  248. package/dist/cjs/libs/kafka/producer.d.ts +0 -11
  249. package/dist/cjs/libs/kafka/producer.d.ts.map +0 -1
  250. package/dist/cjs/libs/logger/config.cjs +0 -9
  251. package/dist/cjs/libs/logger/config.cjs.map +0 -1
  252. package/dist/cjs/libs/logger/config.d.ts +0 -5
  253. package/dist/cjs/libs/logger/config.d.ts.map +0 -1
  254. package/dist/cjs/libs/s3/config.cjs +0 -10
  255. package/dist/cjs/libs/s3/config.cjs.map +0 -1
  256. package/dist/cjs/libs/s3/config.d.ts +0 -7
  257. package/dist/cjs/libs/s3/config.d.ts.map +0 -1
  258. package/dist/cjs/services/KafkaService.cjs +0 -123
  259. package/dist/cjs/services/KafkaService.cjs.map +0 -1
  260. package/dist/cjs/services/KafkaService.d.ts +0 -35
  261. package/dist/cjs/services/KafkaService.d.ts.map +0 -1
  262. package/dist/esm/helpers/SetupHelper.d.ts +0 -5
  263. package/dist/esm/helpers/SetupHelper.d.ts.map +0 -1
  264. package/dist/esm/helpers/SetupHelper.js +0 -32
  265. package/dist/esm/helpers/SetupHelper.js.map +0 -1
  266. package/dist/esm/libs/kafka/config.d.ts +0 -5
  267. package/dist/esm/libs/kafka/config.d.ts.map +0 -1
  268. package/dist/esm/libs/kafka/config.js +0 -5
  269. package/dist/esm/libs/kafka/config.js.map +0 -1
  270. package/dist/esm/libs/kafka/consumer.d.ts +0 -16
  271. package/dist/esm/libs/kafka/consumer.d.ts.map +0 -1
  272. package/dist/esm/libs/kafka/consumer.js +0 -126
  273. package/dist/esm/libs/kafka/consumer.js.map +0 -1
  274. package/dist/esm/libs/kafka/index.d.ts +0 -3
  275. package/dist/esm/libs/kafka/index.d.ts.map +0 -1
  276. package/dist/esm/libs/kafka/index.js +0 -3
  277. package/dist/esm/libs/kafka/index.js.map +0 -1
  278. package/dist/esm/libs/kafka/kafka.d.ts +0 -3
  279. package/dist/esm/libs/kafka/kafka.d.ts.map +0 -1
  280. package/dist/esm/libs/kafka/kafka.js +0 -24
  281. package/dist/esm/libs/kafka/kafka.js.map +0 -1
  282. package/dist/esm/libs/kafka/producer.d.ts +0 -11
  283. package/dist/esm/libs/kafka/producer.d.ts.map +0 -1
  284. package/dist/esm/libs/kafka/producer.js +0 -44
  285. package/dist/esm/libs/kafka/producer.js.map +0 -1
  286. package/dist/esm/libs/logger/config.d.ts +0 -5
  287. package/dist/esm/libs/logger/config.d.ts.map +0 -1
  288. package/dist/esm/libs/logger/config.js +0 -6
  289. package/dist/esm/libs/logger/config.js.map +0 -1
  290. package/dist/esm/libs/s3/config.d.ts +0 -7
  291. package/dist/esm/libs/s3/config.d.ts.map +0 -1
  292. package/dist/esm/libs/s3/config.js +0 -7
  293. package/dist/esm/libs/s3/config.js.map +0 -1
  294. package/dist/esm/services/KafkaService.d.ts +0 -35
  295. package/dist/esm/services/KafkaService.d.ts.map +0 -1
  296. package/dist/esm/services/KafkaService.js +0 -120
  297. package/dist/esm/services/KafkaService.js.map +0 -1
  298. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  299. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -2,19 +2,47 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AIHelper = void 0;
4
4
  const ai_agent_types_1 = require("@multiplayer-app/ai-agent-types");
5
- const index_js_1 = require("../services/index.js");
6
- const index_js_2 = require("../store/index.js");
7
- const index_js_3 = require("../libs/logger/index.js");
8
- const index_js_4 = require("../store/index.js");
9
- const FileHelper_js_1 = require("./FileHelper.js");
5
+ const services_1 = require("../services/index.cjs");
6
+ const store_1 = require("../store/index.cjs");
7
+ const logger_1 = require("../libs/logger/index.cjs");
8
+ const store_2 = require("../store/index.cjs");
10
9
  class AIHelper {
11
- static async convertUserMessage(msg, ignoreFileAttachments) {
12
- var _a, _b;
13
- const userContent = [{
14
- type: "text",
10
+ constructor(fileHelper, config) {
11
+ this.fileHelper = fileHelper;
12
+ this.aiService = new services_1.AIService(store_1.ModelStore.getInstance(), config.ai);
13
+ }
14
+ getLanguageModelId(modelId) {
15
+ const model = this.aiService.getLanguageModelId(modelId);
16
+ return model.id;
17
+ }
18
+ clip(value, max) {
19
+ if (value.length <= max)
20
+ return value;
21
+ return `${value.slice(0, max)}…`;
22
+ }
23
+ renderContextValue(value, limits) {
24
+ if (value === null || value === undefined)
25
+ return '';
26
+ if (typeof value === 'string')
27
+ return this.clip(value, limits.maxString);
28
+ if (typeof value === 'number' || typeof value === 'boolean')
29
+ return String(value);
30
+ try {
31
+ const json = JSON.stringify(value);
32
+ return this.clip(json, limits.maxJson);
33
+ }
34
+ catch {
35
+ return '';
36
+ }
37
+ }
38
+ async convertUserMessage(msg, ignoreFileAttachments) {
39
+ const userContent = [
40
+ {
41
+ type: 'text',
15
42
  text: msg.content
16
- }];
17
- const atts = (_a = msg.attachments) !== null && _a !== void 0 ? _a : [];
43
+ }
44
+ ];
45
+ const atts = msg.attachments ?? [];
18
46
  if (!atts.length) {
19
47
  return userContent;
20
48
  }
@@ -24,21 +52,21 @@ class AIHelper {
24
52
  if (ignoreFileAttachments) {
25
53
  continue;
26
54
  }
27
- if ((0, FileHelper_js_1.isImage)(att)) {
28
- const image = await (0, FileHelper_js_1.prepareImageForVisionAPI)(att);
55
+ if (this.fileHelper.isImage(att)) {
56
+ const image = await this.fileHelper.prepareImageForVisionAPI(att);
29
57
  if (image) {
30
58
  userContent.push({
31
- type: "image",
59
+ type: 'image',
32
60
  image: image.image_url.url,
33
- mediaType: att.mimeType,
61
+ mediaType: att.mimeType
34
62
  });
35
63
  }
36
64
  }
37
65
  else {
38
- const fileText = await (0, FileHelper_js_1.extractTextFromDocument)(att);
66
+ const fileText = await this.fileHelper.extractTextFromDocument(att);
39
67
  if (fileText) {
40
68
  userContent.push({
41
- type: "text",
69
+ type: 'text',
42
70
  text: `${att.type}: ${att.name}(${att.mimeType})\n ${fileText}`
43
71
  });
44
72
  }
@@ -46,31 +74,30 @@ class AIHelper {
46
74
  continue;
47
75
  }
48
76
  const md = att.metadata;
49
- const kind = typeof (md === null || md === void 0 ? void 0 : md.kind) === 'string' ? md.kind : 'unknown';
77
+ const kind = typeof md?.kind === 'string' ? md.kind : 'unknown';
50
78
  lines.push(`- context:${kind}: ${att.name}`);
51
79
  if (kind === 'webSnippet') {
52
- const url = typeof ((_b = md === null || md === void 0 ? void 0 : md.source) === null || _b === void 0 ? void 0 : _b.url) === 'string' ? md.source.url : att.url;
53
- const title = typeof (md === null || md === void 0 ? void 0 : md.title) === 'string' ? md.title : undefined;
54
- const selectedText = typeof (md === null || md === void 0 ? void 0 : md.selectedText) === 'string' ? md.selectedText : '';
80
+ const url = typeof md?.source?.url === 'string' ? md.source.url : att.url;
81
+ const title = typeof md?.title === 'string' ? md.title : undefined;
82
+ const selectedText = typeof md?.selectedText === 'string' ? md.selectedText : '';
55
83
  if (url)
56
84
  lines.push(` url: ${url}`);
57
85
  if (title)
58
86
  lines.push(` title: ${title}`);
59
87
  if (selectedText) {
60
- const clipped = selectedText.length > 4000 ? `${selectedText.slice(0, 4000)}…` : selectedText;
61
88
  lines.push(' BEGIN_UNTRUSTED_WEB_SNIPPET');
62
- lines.push(clipped);
89
+ lines.push(this.clip(selectedText, 4000));
63
90
  lines.push(' END_UNTRUSTED_WEB_SNIPPET');
64
91
  }
65
92
  continue;
66
93
  }
67
94
  if (kind === 'formField') {
68
- const formId = typeof (md === null || md === void 0 ? void 0 : md.formId) === 'string' ? md.formId : undefined;
69
- const fieldName = typeof (md === null || md === void 0 ? void 0 : md.fieldName) === 'string' ? md.fieldName : undefined;
70
- const fieldLabel = typeof (md === null || md === void 0 ? void 0 : md.fieldLabel) === 'string' ? md.fieldLabel : undefined;
71
- const value = typeof (md === null || md === void 0 ? void 0 : md.value) === 'string' ? md.value : '';
72
- const inputType = typeof (md === null || md === void 0 ? void 0 : md.inputType) === 'string' ? md.inputType : undefined;
73
- const options = Array.isArray(md === null || md === void 0 ? void 0 : md.options) ? md.options : [];
95
+ const formId = typeof md?.formId === 'string' ? md.formId : undefined;
96
+ const fieldName = typeof md?.fieldName === 'string' ? md.fieldName : undefined;
97
+ const fieldLabel = typeof md?.fieldLabel === 'string' ? md.fieldLabel : undefined;
98
+ const value = md?.value;
99
+ const inputType = typeof md?.inputType === 'string' ? md.inputType : undefined;
100
+ const options = Array.isArray(md?.options) ? md.options : [];
74
101
  if (formId)
75
102
  lines.push(` formId: ${formId}`);
76
103
  if (fieldName)
@@ -81,44 +108,47 @@ class AIHelper {
81
108
  const rendered = options
82
109
  .slice(0, 30)
83
110
  .map((o) => {
84
- const v = typeof (o === null || o === void 0 ? void 0 : o.value) === 'string' ? o.value : '';
85
- const l = typeof (o === null || o === void 0 ? void 0 : o.label) === 'string' ? o.label : '';
111
+ const v = typeof o?.value === 'string' ? o.value : '';
112
+ const l = typeof o?.label === 'string' ? o.label : '';
86
113
  if (!v && !l)
87
114
  return '';
88
- return l && v ? `${l} (${v})` : (l || v);
115
+ return l && v ? `${l} (${v})` : l || v;
89
116
  })
90
117
  .filter(Boolean)
91
118
  .join(', ');
92
119
  if (rendered)
93
120
  lines.push(` options: ${rendered}${options.length > 30 ? '…' : ''}`);
94
121
  }
95
- if (value)
96
- lines.push(` value: ${value.length > 1000 ? `${value.slice(0, 1000)}…` : value}`);
122
+ if (value !== undefined) {
123
+ const rendered = this.renderContextValue(value, { maxString: 1000, maxJson: 2500 });
124
+ if (rendered)
125
+ lines.push(` value: ${rendered}`);
126
+ }
97
127
  continue;
98
128
  }
99
129
  if (kind === 'formSnapshot') {
100
- const formId = typeof (md === null || md === void 0 ? void 0 : md.formId) === 'string' ? md.formId : undefined;
101
- const formName = typeof (md === null || md === void 0 ? void 0 : md.formName) === 'string' ? md.formName : undefined;
102
- const fields = Array.isArray(md === null || md === void 0 ? void 0 : md.fields) ? md.fields : [];
130
+ const formId = typeof md?.formId === 'string' ? md.formId : undefined;
131
+ const formName = typeof md?.formName === 'string' ? md.formName : undefined;
132
+ const fields = Array.isArray(md?.fields) ? md.fields : [];
103
133
  if (formId)
104
134
  lines.push(` formId: ${formId}`);
105
135
  if (formName)
106
136
  lines.push(` formName: ${formName}`);
107
137
  lines.push(' fields:');
108
138
  for (const f of fields.slice(0, 50)) {
109
- const name = typeof (f === null || f === void 0 ? void 0 : f.name) === 'string' ? f.name : 'unknown';
110
- const label = typeof (f === null || f === void 0 ? void 0 : f.label) === 'string' ? f.label : undefined;
111
- const value = typeof (f === null || f === void 0 ? void 0 : f.value) === 'string' ? f.value : '';
112
- const inputType = typeof (f === null || f === void 0 ? void 0 : f.inputType) === 'string' ? f.inputType : undefined;
113
- const options = Array.isArray(f === null || f === void 0 ? void 0 : f.options) ? f.options : [];
114
- const clipped = value.length > 1000 ? `${value.slice(0, 1000)}…` : value;
139
+ const name = typeof f?.name === 'string' ? f.name : 'unknown';
140
+ const label = typeof f?.label === 'string' ? f.label : undefined;
141
+ const value = f?.value;
142
+ const inputType = typeof f?.inputType === 'string' ? f.inputType : undefined;
143
+ const options = Array.isArray(f?.options) ? f.options : [];
144
+ const clipped = this.renderContextValue(value, { maxString: 1000, maxJson: 2500 });
115
145
  const meta = [];
116
146
  if (inputType)
117
147
  meta.push(`type=${inputType}`);
118
148
  if ((inputType === 'select' || inputType === 'radio') && options.length) {
119
149
  const opts = options
120
150
  .slice(0, 20)
121
- .map((o) => typeof (o === null || o === void 0 ? void 0 : o.value) === 'string' ? o.value : '')
151
+ .map((o) => (typeof o?.value === 'string' ? o.value : ''))
122
152
  .filter(Boolean)
123
153
  .join('|');
124
154
  if (opts)
@@ -128,103 +158,134 @@ class AIHelper {
128
158
  }
129
159
  continue;
130
160
  }
161
+ if (kind === 'pageContext') {
162
+ const url = typeof md?.source?.url === 'string' ? md.source.url : att.url;
163
+ const title = typeof md?.title === 'string' ? md.title : undefined;
164
+ const route = typeof md?.source?.route === 'string' ? md.source.route : undefined;
165
+ const data = md?.data;
166
+ if (url)
167
+ lines.push(` url: ${url}`);
168
+ if (title)
169
+ lines.push(` title: ${title}`);
170
+ if (route)
171
+ lines.push(` route: ${route}`);
172
+ if (data && typeof data === 'object') {
173
+ const entries = Object.entries(data)
174
+ .filter(([k]) => typeof k === 'string' && k.length > 0)
175
+ .sort(([a], [b]) => a.localeCompare(b));
176
+ if (entries.length) {
177
+ lines.push(' data:');
178
+ const limits = { maxString: 1000, maxJson: 1500 };
179
+ for (const [k, v] of entries.slice(0, 40)) {
180
+ const rendered = this.renderContextValue(v, limits);
181
+ if (!rendered)
182
+ continue;
183
+ lines.push(` - ${k}: ${rendered}`);
184
+ }
185
+ if (entries.length > 40) {
186
+ lines.push(` - … (${entries.length - 40} more keys)`);
187
+ }
188
+ }
189
+ }
190
+ else if (data !== undefined) {
191
+ const rendered = this.renderContextValue(data, { maxString: 1000, maxJson: 2000 });
192
+ if (rendered)
193
+ lines.push(` data: ${rendered}`);
194
+ }
195
+ continue;
196
+ }
131
197
  // Custom kind: prefer summary, fall back to minimal JSON.
132
- const title = typeof (md === null || md === void 0 ? void 0 : md.title) === 'string' ? md.title : undefined;
133
- const summary = typeof (md === null || md === void 0 ? void 0 : md.summary) === 'string' ? md.summary : undefined;
198
+ const title = typeof md?.title === 'string' ? md.title : undefined;
199
+ const summary = typeof md?.summary === 'string' ? md.summary : undefined;
134
200
  if (title)
135
201
  lines.push(` title: ${title}`);
136
202
  if (summary) {
137
- lines.push(` summary: ${summary.length > 4000 ? `${summary.slice(0, 4000)}…` : summary}`);
203
+ lines.push(` summary: ${this.clip(summary, 4000)}`);
138
204
  continue;
139
205
  }
140
- if ((md === null || md === void 0 ? void 0 : md.data) !== undefined) {
141
- const json = JSON.stringify(md.data);
142
- lines.push(` data: ${json.length > 2000 ? `${json.slice(0, 2000)}…` : json}`);
206
+ if (md?.data !== undefined) {
207
+ const rendered = this.renderContextValue(md.data, { maxString: 2000, maxJson: 5000 });
208
+ if (rendered)
209
+ lines.push(` data: ${rendered}`);
143
210
  }
144
211
  }
145
212
  if (lines.length) {
146
213
  userContent.push({
147
- type: "text",
214
+ type: 'text',
148
215
  text: `Context attachments (non-authoritative; user message is primary):\n ${lines.join('\n')}`
149
216
  });
150
217
  }
151
218
  return userContent;
152
219
  }
153
- static getAgentConfigs(contextKey) {
154
- const agents = index_js_4.ConfigStore.getInstance().getAgentsForContext(contextKey);
220
+ getAgentConfigs(contextKey) {
221
+ const agents = store_2.ConfigStore.getInstance().getAgentsForContext(contextKey);
155
222
  if (!agents.length) {
156
223
  throw new Error(`Agent configs not found for context key: ${contextKey}`);
157
224
  }
158
225
  return agents;
159
226
  }
160
- static async getAgentOptions(params, options = {}) {
227
+ async getAgentOptions(params, options = {}) {
161
228
  const { contextKey, messages, modelId, context, agentName } = params;
162
- let agentConfig = index_js_4.ConfigStore.getInstance().getAgentConfigByName(agentName);
229
+ let agentConfig = store_2.ConfigStore.getInstance().getAgentConfigByName(agentName);
163
230
  if (contextKey && messages) {
164
- agentConfig = await AIHelper.selectAgentConfig(contextKey, messages);
231
+ agentConfig = await this.selectAgentConfig(contextKey, messages, options.onStepFinish);
165
232
  }
166
- const aiService = new index_js_1.AIService(index_js_2.ModelStore.getInstance());
167
- const agentOptions = aiService.getAgentOptions(agentConfig, modelId, context);
233
+ const agentOptions = this.aiService.getAgentOptions(agentConfig, modelId, context);
168
234
  return {
169
235
  ...agentOptions,
170
- ...options,
236
+ ...options
171
237
  };
172
238
  }
173
- static async selectAgentConfig(contextKey, messages) {
174
- const configs = AIHelper.getAgentConfigs(contextKey);
239
+ async selectAgentConfig(contextKey, messages, onStepFinish) {
240
+ const configs = this.getAgentConfigs(contextKey);
175
241
  if (configs.length === 1) {
176
242
  return configs[0];
177
243
  }
178
- const aiService = new index_js_1.AIService(index_js_2.ModelStore.getInstance());
179
- const systemPrompt = `Select the most appropriate agent for the given user prompt.
180
- Return only the agent name, no quotes or extra text.
181
- Available agents: ${JSON.stringify(configs.map(config => ({
244
+ const lastUsedAgent = messages.find((message) => message.agentName);
245
+ const systemPrompt = `Select the most appropriate agent for the given user message.
246
+ Return only the agent name, no quotes or extra text. ${lastUsedAgent ? `Latest Used agent: ${lastUsedAgent}` : ''}
247
+ Available agents: ${JSON.stringify(configs.map((config) => ({
182
248
  name: config.name,
183
249
  description: config.description,
184
- tools: config.tools.map(({ data }) => data.title)
250
+ tools: config.tools?.map(({ data }) => data.title)
185
251
  })))}`;
186
- const agentName = await aiService.generateText({
187
- messages,
252
+ const promptMessages = messages.length > 2 ? messages.slice(messages.length - 2) : messages;
253
+ const agentName = await this.aiService.generateText({
254
+ messages: await this.convertMessages(promptMessages, true),
188
255
  system: systemPrompt,
189
- temperature: 0.7,
190
- maxOutputTokens: 2000
256
+ temperature: 0.1,
257
+ maxOutputTokens: 2000,
258
+ onStepFinish
191
259
  });
192
- const agent = configs.find(config => config.name === agentName);
260
+ const agent = configs.find((config) => config.name === agentName);
193
261
  if (!agent) {
194
262
  // fallback, agent not found, grabbing first from the list
195
263
  return configs[0];
196
264
  }
197
265
  return agent;
198
266
  }
199
- static async getAssistantResponse(messages, signal, options = {}) {
267
+ async getAssistantResponse(messages, options = {}) {
200
268
  try {
201
- const aiService = new index_js_1.AIService(index_js_2.ModelStore.getInstance());
202
269
  const processedOptions = this.processToolChoice(options, messages);
203
- return aiService.generateText({
204
- temperature: 0.7,
205
- maxOutputTokens: 2000,
270
+ return this.aiService.generateText({
206
271
  ...processedOptions,
207
- messages: await AIHelper.convertMessages(messages),
208
- signal,
272
+ messages: await this.convertMessages(messages),
209
273
  });
210
274
  }
211
275
  catch (error) {
212
- index_js_3.logger.error('AI assistant response generation failed:', error);
276
+ logger_1.logger.error('AI assistant response generation failed:', error);
213
277
  throw error;
214
278
  }
215
279
  }
216
- static processToolChoice(options, agentMessages) {
217
- var _a, _b, _c, _d;
218
- if (!(options === null || options === void 0 ? void 0 : options.toolChoice)) {
280
+ processToolChoice(options, agentMessages) {
281
+ if (!options?.toolChoice) {
219
282
  return options || {};
220
283
  }
221
284
  // Find the latest assistant message
222
- const latestAssistantMessage = [...agentMessages]
223
- .reverse()
224
- .find(msg => msg.role === ai_agent_types_1.MessageRole.Assistant);
285
+ const latestAssistantMessage = [...agentMessages].reverse().find((msg) => msg.role === ai_agent_types_1.MessageRole.Assistant);
225
286
  // Handle 'required' toolChoice: if any tool was called, set to 'auto'
226
287
  if (options.toolChoice === 'required') {
227
- const anyToolWasCalled = ((_b = (_a = latestAssistantMessage === null || latestAssistantMessage === void 0 ? void 0 : latestAssistantMessage.toolCalls) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0;
288
+ const anyToolWasCalled = (latestAssistantMessage?.toolCalls?.length ?? 0) > 0;
228
289
  if (anyToolWasCalled) {
229
290
  return {
230
291
  ...options,
@@ -236,7 +297,7 @@ Available agents: ${JSON.stringify(configs.map(config => ({
236
297
  // Handle specific tool toolChoice: if that specific tool was called, set to 'auto'
237
298
  if (typeof options.toolChoice === 'object' && options.toolChoice.type === 'tool') {
238
299
  const toolName = options.toolChoice.toolName;
239
- const toolWasCalled = (_d = (_c = latestAssistantMessage === null || latestAssistantMessage === void 0 ? void 0 : latestAssistantMessage.toolCalls) === null || _c === void 0 ? void 0 : _c.some(toolCall => toolCall.name === toolName)) !== null && _d !== void 0 ? _d : false;
300
+ const toolWasCalled = latestAssistantMessage?.toolCalls?.some((toolCall) => toolCall.name === toolName) ?? false;
240
301
  if (toolWasCalled) {
241
302
  return {
242
303
  ...options,
@@ -246,11 +307,10 @@ Available agents: ${JSON.stringify(configs.map(config => ({
246
307
  }
247
308
  return options;
248
309
  }
249
- static async streamAssistantResponse(agentMessages, signal, options) {
250
- const aiService = new index_js_1.AIService(index_js_2.ModelStore.getInstance());
310
+ async streamAssistantResponse(agentMessages, signal, options) {
251
311
  const messages = await this.convertMessages(agentMessages);
252
312
  const processedOptions = this.processToolChoice(options, agentMessages);
253
- return aiService.streamText({
313
+ return this.aiService.streamText({
254
314
  messages,
255
315
  temperature: 0.7,
256
316
  maxOutputTokens: 2000,
@@ -258,8 +318,7 @@ Available agents: ${JSON.stringify(configs.map(config => ({
258
318
  ...processedOptions
259
319
  });
260
320
  }
261
- static async convertMessages(agentMessages, ignoreToolsAndAttachments = false) {
262
- var _a;
321
+ async convertMessages(agentMessages, ignoreToolsAndAttachments = false) {
263
322
  const result = [];
264
323
  for (const msg of agentMessages) {
265
324
  if (msg.role === ai_agent_types_1.MessageRole.User) {
@@ -281,13 +340,13 @@ Available agents: ${JSON.stringify(configs.map(config => ({
281
340
  content: []
282
341
  };
283
342
  if (!ignoreToolsAndAttachments) {
284
- (_a = msg.toolCalls) === null || _a === void 0 ? void 0 : _a.forEach((toolCall) => {
285
- if (toolCall.output) {
343
+ msg.toolCalls?.forEach((toolCall) => {
344
+ if (toolCall.output || toolCall.error) {
286
345
  assistantMessage.content.push({
287
346
  type: 'tool-call',
288
347
  toolCallId: toolCall.id,
289
348
  toolName: toolCall.name,
290
- input: toolCall.input
349
+ input: Object.keys(toolCall.input).length ? toolCall.input : { stub: 'stub' }, // todo: remove this workaround when openrouter will have new stable version(last tested: 2.2.3 has reasoning issues)
291
350
  });
292
351
  toolMessage.content.push({
293
352
  type: 'tool-result',
@@ -295,7 +354,7 @@ Available agents: ${JSON.stringify(configs.map(config => ({
295
354
  toolName: toolCall.name,
296
355
  output: {
297
356
  type: 'text',
298
- value: JSON.stringify(toolCall.output)
357
+ value: JSON.stringify(toolCall.output || { error: toolCall.error })
299
358
  }
300
359
  });
301
360
  }
@@ -311,17 +370,17 @@ Available agents: ${JSON.stringify(configs.map(config => ({
311
370
  }
312
371
  return result;
313
372
  }
314
- static async generateTitleForMessage(contextKey, messages) {
373
+ async generateTitleForMessage(contextKey, messages, onStepFinish) {
315
374
  try {
316
- const aiService = new index_js_1.AIService(index_js_2.ModelStore.getInstance());
317
375
  const systemPrompt = `Generate descriptive title 5 words maximum for a chat conversation. Return only the title, no quotes or extra text. If user question is opaque, assume it is related to ${contextKey} topic.`;
318
- return aiService.generateText({
319
- messages: await AIHelper.convertMessages(messages, true),
376
+ return this.aiService.generateText({
377
+ messages: await this.convertMessages(messages, true),
320
378
  system: systemPrompt,
379
+ onStepFinish
321
380
  });
322
381
  }
323
382
  catch (error) {
324
- index_js_3.logger.warn('AI title generation failed, falling back to simple title generation', { error });
383
+ logger_1.logger.warn('AI title generation failed, falling back to simple title generation', { error });
325
384
  return `${contextKey} session ${new Date().toISOString()}`;
326
385
  }
327
386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AIHelper.js","sourceRoot":"","sources":["../../../src/helpers/AIHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIHelper.js","sourceRoot":"","sources":["../../../src/helpers/AIHelper.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,31 @@
1
- import { AdditionalContext, AgentMessage } from "@multiplayer-app/ai-agent-types";
2
- import { ModelMessage, streamText } from "ai";
3
- import { GenerateTextOptions, StreamTextOptions } from "../services/index.js";
1
+ import { AdditionalContext, AgentMessage } from '@multiplayer-app/ai-agent-types';
2
+ import { ModelMessage, streamText } from 'ai';
3
+ import { GenerateTextOptions, StreamTextOptions } from '../services';
4
+ import { FileHelper } from './FileHelper';
5
+ import { Config } from '../config';
4
6
  export declare class AIHelper {
5
- private static convertUserMessage;
6
- private static getAgentConfigs;
7
- static getAgentOptions(params: {
7
+ private fileHelper;
8
+ private aiService;
9
+ constructor(fileHelper: FileHelper, config: Config);
10
+ getLanguageModelId(modelId: string | undefined): string;
11
+ private clip;
12
+ private renderContextValue;
13
+ private convertUserMessage;
14
+ private getAgentConfigs;
15
+ getAgentOptions(params: {
8
16
  contextKey?: string;
9
- messages?: ModelMessage[];
17
+ messages?: AgentMessage[];
10
18
  modelId?: string;
11
19
  context?: AdditionalContext;
12
20
  agentName?: string;
13
21
  }, options?: Omit<GenerateTextOptions, 'messages' | 'system'>): Promise<Omit<GenerateTextOptions, 'messages'> & {
14
22
  name: string;
15
23
  }>;
16
- private static selectAgentConfig;
17
- static getAssistantResponse(messages: Pick<AgentMessage, 'role' | 'content' | 'attachments'>[], signal?: AbortSignal, options?: Omit<GenerateTextOptions, 'messages'>): Promise<string>;
18
- private static processToolChoice;
19
- static streamAssistantResponse(agentMessages: Pick<AgentMessage, 'role' | 'content' | 'toolCalls' | 'attachments'>[], signal?: AbortSignal, options?: Omit<StreamTextOptions, 'messages'>): Promise<ReturnType<typeof streamText>>;
20
- static convertMessages(agentMessages: Pick<AgentMessage, 'role' | 'content' | 'toolCalls' | 'attachments'>[], ignoreToolsAndAttachments?: boolean): Promise<ModelMessage[]>;
21
- static generateTitleForMessage(contextKey: string, messages: Pick<AgentMessage, 'role' | 'content'>[]): Promise<string>;
24
+ private selectAgentConfig;
25
+ getAssistantResponse(messages: Pick<AgentMessage, 'role' | 'content' | 'attachments'>[], options?: Omit<GenerateTextOptions, 'messages'>): Promise<string>;
26
+ private processToolChoice;
27
+ streamAssistantResponse(agentMessages: Pick<AgentMessage, 'role' | 'content' | 'toolCalls' | 'attachments'>[], signal?: AbortSignal, options?: Omit<StreamTextOptions, 'messages'>): Promise<ReturnType<typeof streamText>>;
28
+ convertMessages(agentMessages: Pick<AgentMessage, 'role' | 'content' | 'toolCalls' | 'attachments'>[], ignoreToolsAndAttachments?: boolean): Promise<ModelMessage[]>;
29
+ generateTitleForMessage(contextKey: string, messages: Pick<AgentMessage, 'role' | 'content'>[], onStepFinish?: GenerateTextOptions['onStepFinish']): Promise<string>;
22
30
  }
23
31
  //# sourceMappingURL=AIHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIHelper.d.ts","sourceRoot":"","sources":["../../../src/helpers/AIHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoC,YAAY,EAAe,MAAM,iCAAiC,CAAC;AACjI,OAAO,EAAC,YAAY,EAAoC,UAAU,EAAc,MAAM,IAAI,CAAC;AAC3F,OAAO,EAAa,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQzF,qBAAa,QAAQ;mBACI,kBAAkB;IA0IvC,OAAO,CAAC,MAAM,CAAC,eAAe;WAQjB,eAAe,CAAC,MAAM,EAAE;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,QAAQ,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;mBAc9G,iBAAiB;WA6BzB,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBjM,OAAO,CAAC,MAAM,CAAC,iBAAiB;WA2CnB,uBAAuB,CAChC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,EACrF,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;WAc7E,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,EAAE,yBAAyB,UAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;WAuDlK,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAahI"}
1
+ {"version":3,"file":"AIHelper.d.ts","sourceRoot":"","sources":["../../../src/helpers/AIHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoC,YAAY,EAAe,MAAM,iCAAiC,CAAA;AAChI,OAAO,EAAE,YAAY,EAAoC,UAAU,EAAe,MAAM,IAAI,CAAA;AAC5F,OAAO,EAAa,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAK/E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,QAAQ;IAEnB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;gBAEjB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAKlD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAKvD,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,kBAAkB;YAYZ,kBAAkB;IAmLhC,OAAO,CAAC,eAAe;IAQjB,eAAe,CACnB,MAAM,EAAE;QACN,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;QACzB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,iBAAiB,CAAA;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,EACD,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,QAAQ,CAAM,GAC7D,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;YAatD,iBAAiB;IAiCzB,oBAAoB,CACxB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,EAClE,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAM,GAClD,OAAO,CAAC,MAAM,CAAC;IAclB,OAAO,CAAC,iBAAiB;IAuCnB,uBAAuB,CAC3B,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,EACrF,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAanC,eAAe,CACnB,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC,EAAE,EACrF,yBAAyB,UAAQ,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC;IAuDpB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAa3K"}