@robota-sdk/agent-core 3.0.0-beta.1

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 (508) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/LICENSE +21 -0
  3. package/README.md +230 -0
  4. package/dist/abstracts/abstract-agent.d.ts +56 -0
  5. package/dist/abstracts/abstract-agent.d.ts.map +1 -0
  6. package/dist/abstracts/abstract-agent.js +55 -0
  7. package/dist/abstracts/abstract-agent.js.map +1 -0
  8. package/dist/abstracts/abstract-ai-provider.d.ts +187 -0
  9. package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -0
  10. package/dist/abstracts/abstract-ai-provider.js +252 -0
  11. package/dist/abstracts/abstract-ai-provider.js.map +1 -0
  12. package/dist/abstracts/abstract-executor.d.ts +110 -0
  13. package/dist/abstracts/abstract-executor.d.ts.map +1 -0
  14. package/dist/abstracts/abstract-executor.js +156 -0
  15. package/dist/abstracts/abstract-executor.js.map +1 -0
  16. package/dist/abstracts/abstract-manager.d.ts +42 -0
  17. package/dist/abstracts/abstract-manager.d.ts.map +1 -0
  18. package/dist/abstracts/abstract-manager.js +49 -0
  19. package/dist/abstracts/abstract-manager.js.map +1 -0
  20. package/dist/abstracts/abstract-module.d.ts +365 -0
  21. package/dist/abstracts/abstract-module.d.ts.map +1 -0
  22. package/dist/abstracts/abstract-module.js +474 -0
  23. package/dist/abstracts/abstract-module.js.map +1 -0
  24. package/dist/abstracts/abstract-plugin.d.ts +369 -0
  25. package/dist/abstracts/abstract-plugin.d.ts.map +1 -0
  26. package/dist/abstracts/abstract-plugin.js +258 -0
  27. package/dist/abstracts/abstract-plugin.js.map +1 -0
  28. package/dist/abstracts/abstract-tool.d.ts +175 -0
  29. package/dist/abstracts/abstract-tool.d.ts.map +1 -0
  30. package/dist/abstracts/abstract-tool.js +140 -0
  31. package/dist/abstracts/abstract-tool.js.map +1 -0
  32. package/dist/abstracts/abstract-workflow-converter.d.ts +136 -0
  33. package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -0
  34. package/dist/abstracts/abstract-workflow-converter.js +252 -0
  35. package/dist/abstracts/abstract-workflow-converter.js.map +1 -0
  36. package/dist/abstracts/abstract-workflow-validator.d.ts +203 -0
  37. package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -0
  38. package/dist/abstracts/abstract-workflow-validator.js +447 -0
  39. package/dist/abstracts/abstract-workflow-validator.js.map +1 -0
  40. package/dist/abstracts/index.d.ts +6 -0
  41. package/dist/abstracts/index.d.ts.map +1 -0
  42. package/dist/abstracts/index.js +9 -0
  43. package/dist/abstracts/index.js.map +1 -0
  44. package/dist/agents/constants.d.ts +23 -0
  45. package/dist/agents/constants.d.ts.map +1 -0
  46. package/dist/agents/constants.js +22 -0
  47. package/dist/agents/constants.js.map +1 -0
  48. package/dist/agents/index.d.ts +1 -0
  49. package/dist/agents/index.d.ts.map +1 -0
  50. package/dist/agents/index.js +4 -0
  51. package/dist/agents/index.js.map +1 -0
  52. package/dist/agents/robota.test.d.ts +2 -0
  53. package/dist/agents/robota.test.d.ts.map +1 -0
  54. package/dist/agents/robota.test.js +416 -0
  55. package/dist/agents/robota.test.js.map +1 -0
  56. package/dist/browser/builtin-templates.json +107 -0
  57. package/dist/browser/index.d.ts +4237 -0
  58. package/dist/browser/index.js +4 -0
  59. package/dist/core/robota.d.ts +694 -0
  60. package/dist/core/robota.d.ts.map +1 -0
  61. package/dist/core/robota.js +1277 -0
  62. package/dist/core/robota.js.map +1 -0
  63. package/dist/executors/local-executor.d.ts +96 -0
  64. package/dist/executors/local-executor.d.ts.map +1 -0
  65. package/dist/executors/local-executor.js +197 -0
  66. package/dist/executors/local-executor.js.map +1 -0
  67. package/dist/executors/local-executor.test.d.ts +2 -0
  68. package/dist/executors/local-executor.test.d.ts.map +1 -0
  69. package/dist/executors/local-executor.test.js +192 -0
  70. package/dist/executors/local-executor.test.js.map +1 -0
  71. package/dist/index.d.ts +274 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +235 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/interfaces/agent.d.ts +198 -0
  76. package/dist/interfaces/agent.d.ts.map +1 -0
  77. package/dist/interfaces/agent.js +2 -0
  78. package/dist/interfaces/agent.js.map +1 -0
  79. package/dist/interfaces/event-service.d.ts +79 -0
  80. package/dist/interfaces/event-service.d.ts.map +1 -0
  81. package/dist/interfaces/event-service.js +2 -0
  82. package/dist/interfaces/event-service.js.map +1 -0
  83. package/dist/interfaces/executor.d.ts +128 -0
  84. package/dist/interfaces/executor.d.ts.map +1 -0
  85. package/dist/interfaces/executor.js +2 -0
  86. package/dist/interfaces/executor.js.map +1 -0
  87. package/dist/interfaces/history-module.d.ts +19 -0
  88. package/dist/interfaces/history-module.d.ts.map +1 -0
  89. package/dist/interfaces/history-module.js +2 -0
  90. package/dist/interfaces/history-module.js.map +1 -0
  91. package/dist/interfaces/index.d.ts +13 -0
  92. package/dist/interfaces/index.d.ts.map +1 -0
  93. package/dist/interfaces/index.js +4 -0
  94. package/dist/interfaces/index.js.map +1 -0
  95. package/dist/interfaces/manager.d.ts +142 -0
  96. package/dist/interfaces/manager.d.ts.map +1 -0
  97. package/dist/interfaces/manager.js +2 -0
  98. package/dist/interfaces/manager.js.map +1 -0
  99. package/dist/interfaces/messages.d.ts +75 -0
  100. package/dist/interfaces/messages.d.ts.map +1 -0
  101. package/dist/interfaces/messages.js +29 -0
  102. package/dist/interfaces/messages.js.map +1 -0
  103. package/dist/interfaces/progress-reporting.d.ts +86 -0
  104. package/dist/interfaces/progress-reporting.d.ts.map +1 -0
  105. package/dist/interfaces/progress-reporting.js +37 -0
  106. package/dist/interfaces/progress-reporting.js.map +1 -0
  107. package/dist/interfaces/provider.d.ts +217 -0
  108. package/dist/interfaces/provider.d.ts.map +1 -0
  109. package/dist/interfaces/provider.js +2 -0
  110. package/dist/interfaces/provider.js.map +1 -0
  111. package/dist/interfaces/service.d.ts +205 -0
  112. package/dist/interfaces/service.d.ts.map +1 -0
  113. package/dist/interfaces/service.js +6 -0
  114. package/dist/interfaces/service.js.map +1 -0
  115. package/dist/interfaces/tool.d.ts +248 -0
  116. package/dist/interfaces/tool.d.ts.map +1 -0
  117. package/dist/interfaces/tool.js +2 -0
  118. package/dist/interfaces/tool.js.map +1 -0
  119. package/dist/interfaces/types.d.ts +71 -0
  120. package/dist/interfaces/types.d.ts.map +1 -0
  121. package/dist/interfaces/types.js +33 -0
  122. package/dist/interfaces/types.js.map +1 -0
  123. package/dist/interfaces/workflow-converter.d.ts +193 -0
  124. package/dist/interfaces/workflow-converter.d.ts.map +1 -0
  125. package/dist/interfaces/workflow-converter.js +11 -0
  126. package/dist/interfaces/workflow-converter.js.map +1 -0
  127. package/dist/interfaces/workflow-validator.d.ts +209 -0
  128. package/dist/interfaces/workflow-validator.d.ts.map +1 -0
  129. package/dist/interfaces/workflow-validator.js +16 -0
  130. package/dist/interfaces/workflow-validator.js.map +1 -0
  131. package/dist/managers/agent-factory.d.ts +132 -0
  132. package/dist/managers/agent-factory.d.ts.map +1 -0
  133. package/dist/managers/agent-factory.js +284 -0
  134. package/dist/managers/agent-factory.js.map +1 -0
  135. package/dist/managers/agent-factory.test.d.ts +2 -0
  136. package/dist/managers/agent-factory.test.d.ts.map +1 -0
  137. package/dist/managers/agent-factory.test.js +249 -0
  138. package/dist/managers/agent-factory.test.js.map +1 -0
  139. package/dist/managers/agent-templates.d.ts +84 -0
  140. package/dist/managers/agent-templates.d.ts.map +1 -0
  141. package/dist/managers/agent-templates.js +159 -0
  142. package/dist/managers/agent-templates.js.map +1 -0
  143. package/dist/managers/ai-provider-manager.d.ts +80 -0
  144. package/dist/managers/ai-provider-manager.d.ts.map +1 -0
  145. package/dist/managers/ai-provider-manager.js +226 -0
  146. package/dist/managers/ai-provider-manager.js.map +1 -0
  147. package/dist/managers/conversation-history-manager.d.ts +455 -0
  148. package/dist/managers/conversation-history-manager.d.ts.map +1 -0
  149. package/dist/managers/conversation-history-manager.js +578 -0
  150. package/dist/managers/conversation-history-manager.js.map +1 -0
  151. package/dist/managers/conversation-history-manager.test.d.ts +2 -0
  152. package/dist/managers/conversation-history-manager.test.d.ts.map +1 -0
  153. package/dist/managers/conversation-history-manager.test.js +374 -0
  154. package/dist/managers/conversation-history-manager.test.js.map +1 -0
  155. package/dist/managers/index.d.ts +8 -0
  156. package/dist/managers/index.d.ts.map +1 -0
  157. package/dist/managers/index.js +8 -0
  158. package/dist/managers/index.js.map +1 -0
  159. package/dist/managers/module-registry.d.ts +161 -0
  160. package/dist/managers/module-registry.d.ts.map +1 -0
  161. package/dist/managers/module-registry.js +519 -0
  162. package/dist/managers/module-registry.js.map +1 -0
  163. package/dist/managers/module-type-registry.d.ts +113 -0
  164. package/dist/managers/module-type-registry.d.ts.map +1 -0
  165. package/dist/managers/module-type-registry.js +439 -0
  166. package/dist/managers/module-type-registry.js.map +1 -0
  167. package/dist/managers/plugins.d.ts +166 -0
  168. package/dist/managers/plugins.d.ts.map +1 -0
  169. package/dist/managers/plugins.js +339 -0
  170. package/dist/managers/plugins.js.map +1 -0
  171. package/dist/managers/tool-manager.d.ts +70 -0
  172. package/dist/managers/tool-manager.d.ts.map +1 -0
  173. package/dist/managers/tool-manager.js +138 -0
  174. package/dist/managers/tool-manager.js.map +1 -0
  175. package/dist/managers/tool-manager.test.d.ts +2 -0
  176. package/dist/managers/tool-manager.test.d.ts.map +1 -0
  177. package/dist/managers/tool-manager.test.js +186 -0
  178. package/dist/managers/tool-manager.test.js.map +1 -0
  179. package/dist/node/builtin-templates.json +107 -0
  180. package/dist/node/index.cjs +4 -0
  181. package/dist/node/index.d.cts +4237 -0
  182. package/dist/node/index.d.ts +4237 -0
  183. package/dist/node/index.js +4 -0
  184. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts +67 -0
  185. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts.map +1 -0
  186. package/dist/plugins/conversation-history/conversation-history-plugin.js +270 -0
  187. package/dist/plugins/conversation-history/conversation-history-plugin.js.map +1 -0
  188. package/dist/plugins/conversation-history/index.d.ts +3 -0
  189. package/dist/plugins/conversation-history/index.d.ts.map +1 -0
  190. package/dist/plugins/conversation-history/index.js +2 -0
  191. package/dist/plugins/conversation-history/index.js.map +1 -0
  192. package/dist/plugins/conversation-history/storages/database-storage.d.ts +19 -0
  193. package/dist/plugins/conversation-history/storages/database-storage.d.ts.map +1 -0
  194. package/dist/plugins/conversation-history/storages/database-storage.js +94 -0
  195. package/dist/plugins/conversation-history/storages/database-storage.js.map +1 -0
  196. package/dist/plugins/conversation-history/storages/file-storage.d.ts +15 -0
  197. package/dist/plugins/conversation-history/storages/file-storage.d.ts.map +1 -0
  198. package/dist/plugins/conversation-history/storages/file-storage.js +94 -0
  199. package/dist/plugins/conversation-history/storages/file-storage.js.map +1 -0
  200. package/dist/plugins/conversation-history/storages/index.d.ts +4 -0
  201. package/dist/plugins/conversation-history/storages/index.d.ts.map +1 -0
  202. package/dist/plugins/conversation-history/storages/index.js +4 -0
  203. package/dist/plugins/conversation-history/storages/index.js.map +1 -0
  204. package/dist/plugins/conversation-history/storages/memory-storage.d.ts +15 -0
  205. package/dist/plugins/conversation-history/storages/memory-storage.d.ts.map +1 -0
  206. package/dist/plugins/conversation-history/storages/memory-storage.js +33 -0
  207. package/dist/plugins/conversation-history/storages/memory-storage.js.map +1 -0
  208. package/dist/plugins/conversation-history/types.d.ts +61 -0
  209. package/dist/plugins/conversation-history/types.d.ts.map +1 -0
  210. package/dist/plugins/conversation-history/types.js +2 -0
  211. package/dist/plugins/conversation-history/types.js.map +1 -0
  212. package/dist/plugins/error-handling/context-adapter.d.ts +30 -0
  213. package/dist/plugins/error-handling/context-adapter.d.ts.map +1 -0
  214. package/dist/plugins/error-handling/context-adapter.js +41 -0
  215. package/dist/plugins/error-handling/context-adapter.js.map +1 -0
  216. package/dist/plugins/error-handling/error-handling-plugin.d.ts +49 -0
  217. package/dist/plugins/error-handling/error-handling-plugin.d.ts.map +1 -0
  218. package/dist/plugins/error-handling/error-handling-plugin.js +229 -0
  219. package/dist/plugins/error-handling/error-handling-plugin.js.map +1 -0
  220. package/dist/plugins/error-handling/index.d.ts +10 -0
  221. package/dist/plugins/error-handling/index.d.ts.map +1 -0
  222. package/dist/plugins/error-handling/index.js +10 -0
  223. package/dist/plugins/error-handling/index.js.map +1 -0
  224. package/dist/plugins/error-handling/types.d.ts +73 -0
  225. package/dist/plugins/error-handling/types.d.ts.map +1 -0
  226. package/dist/plugins/error-handling/types.js +14 -0
  227. package/dist/plugins/error-handling/types.js.map +1 -0
  228. package/dist/plugins/event-emitter/metrics.d.ts +17 -0
  229. package/dist/plugins/event-emitter/metrics.d.ts.map +1 -0
  230. package/dist/plugins/event-emitter/metrics.js +17 -0
  231. package/dist/plugins/event-emitter/metrics.js.map +1 -0
  232. package/dist/plugins/event-emitter/types.d.ts +112 -0
  233. package/dist/plugins/event-emitter/types.d.ts.map +1 -0
  234. package/dist/plugins/event-emitter/types.js +65 -0
  235. package/dist/plugins/event-emitter/types.js.map +1 -0
  236. package/dist/plugins/event-emitter-plugin.d.ts +222 -0
  237. package/dist/plugins/event-emitter-plugin.d.ts.map +1 -0
  238. package/dist/plugins/event-emitter-plugin.js +432 -0
  239. package/dist/plugins/event-emitter-plugin.js.map +1 -0
  240. package/dist/plugins/event-emitter-plugin.test.d.ts +2 -0
  241. package/dist/plugins/event-emitter-plugin.test.d.ts.map +1 -0
  242. package/dist/plugins/event-emitter-plugin.test.js +94 -0
  243. package/dist/plugins/event-emitter-plugin.test.js.map +1 -0
  244. package/dist/plugins/execution/execution-analytics-plugin.d.ts +129 -0
  245. package/dist/plugins/execution/execution-analytics-plugin.d.ts.map +1 -0
  246. package/dist/plugins/execution/execution-analytics-plugin.js +517 -0
  247. package/dist/plugins/execution/execution-analytics-plugin.js.map +1 -0
  248. package/dist/plugins/execution/index.d.ts +3 -0
  249. package/dist/plugins/execution/index.d.ts.map +1 -0
  250. package/dist/plugins/execution/index.js +2 -0
  251. package/dist/plugins/execution/index.js.map +1 -0
  252. package/dist/plugins/execution/types.d.ts +90 -0
  253. package/dist/plugins/execution/types.d.ts.map +1 -0
  254. package/dist/plugins/execution/types.js +2 -0
  255. package/dist/plugins/execution/types.js.map +1 -0
  256. package/dist/plugins/index.d.ts +10 -0
  257. package/dist/plugins/index.d.ts.map +1 -0
  258. package/dist/plugins/index.js +11 -0
  259. package/dist/plugins/index.js.map +1 -0
  260. package/dist/plugins/limits/types.d.ts +61 -0
  261. package/dist/plugins/limits/types.d.ts.map +1 -0
  262. package/dist/plugins/limits/types.js +2 -0
  263. package/dist/plugins/limits/types.js.map +1 -0
  264. package/dist/plugins/limits-plugin.d.ts +113 -0
  265. package/dist/plugins/limits-plugin.d.ts.map +1 -0
  266. package/dist/plugins/limits-plugin.js +380 -0
  267. package/dist/plugins/limits-plugin.js.map +1 -0
  268. package/dist/plugins/logging/formatters.d.ts +14 -0
  269. package/dist/plugins/logging/formatters.d.ts.map +1 -0
  270. package/dist/plugins/logging/formatters.js +24 -0
  271. package/dist/plugins/logging/formatters.js.map +1 -0
  272. package/dist/plugins/logging/index.d.ts +3 -0
  273. package/dist/plugins/logging/index.d.ts.map +1 -0
  274. package/dist/plugins/logging/index.js +2 -0
  275. package/dist/plugins/logging/index.js.map +1 -0
  276. package/dist/plugins/logging/logging-plugin.d.ts +91 -0
  277. package/dist/plugins/logging/logging-plugin.d.ts.map +1 -0
  278. package/dist/plugins/logging/logging-plugin.js +335 -0
  279. package/dist/plugins/logging/logging-plugin.js.map +1 -0
  280. package/dist/plugins/logging/storages/console-storage.d.ts +14 -0
  281. package/dist/plugins/logging/storages/console-storage.d.ts.map +1 -0
  282. package/dist/plugins/logging/storages/console-storage.js +38 -0
  283. package/dist/plugins/logging/storages/console-storage.js.map +1 -0
  284. package/dist/plugins/logging/storages/file-storage.d.ts +14 -0
  285. package/dist/plugins/logging/storages/file-storage.d.ts.map +1 -0
  286. package/dist/plugins/logging/storages/file-storage.js +41 -0
  287. package/dist/plugins/logging/storages/file-storage.js.map +1 -0
  288. package/dist/plugins/logging/storages/index.d.ts +5 -0
  289. package/dist/plugins/logging/storages/index.d.ts.map +1 -0
  290. package/dist/plugins/logging/storages/index.js +5 -0
  291. package/dist/plugins/logging/storages/index.js.map +1 -0
  292. package/dist/plugins/logging/storages/remote-storage.d.ts +20 -0
  293. package/dist/plugins/logging/storages/remote-storage.d.ts.map +1 -0
  294. package/dist/plugins/logging/storages/remote-storage.js +61 -0
  295. package/dist/plugins/logging/storages/remote-storage.js.map +1 -0
  296. package/dist/plugins/logging/storages/silent-storage.d.ts +10 -0
  297. package/dist/plugins/logging/storages/silent-storage.d.ts.map +1 -0
  298. package/dist/plugins/logging/storages/silent-storage.js +15 -0
  299. package/dist/plugins/logging/storages/silent-storage.js.map +1 -0
  300. package/dist/plugins/logging/types.d.ts +84 -0
  301. package/dist/plugins/logging/types.d.ts.map +1 -0
  302. package/dist/plugins/logging/types.js +2 -0
  303. package/dist/plugins/logging/types.js.map +1 -0
  304. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts +12 -0
  305. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts.map +1 -0
  306. package/dist/plugins/performance/collectors/system-metrics-collector.js +65 -0
  307. package/dist/plugins/performance/collectors/system-metrics-collector.js.map +1 -0
  308. package/dist/plugins/performance/index.d.ts +5 -0
  309. package/dist/plugins/performance/index.d.ts.map +1 -0
  310. package/dist/plugins/performance/index.js +4 -0
  311. package/dist/plugins/performance/index.js.map +1 -0
  312. package/dist/plugins/performance/performance-plugin.d.ts +49 -0
  313. package/dist/plugins/performance/performance-plugin.d.ts.map +1 -0
  314. package/dist/plugins/performance/performance-plugin.js +293 -0
  315. package/dist/plugins/performance/performance-plugin.js.map +1 -0
  316. package/dist/plugins/performance/storages/index.d.ts +2 -0
  317. package/dist/plugins/performance/storages/index.d.ts.map +1 -0
  318. package/dist/plugins/performance/storages/index.js +4 -0
  319. package/dist/plugins/performance/storages/index.js.map +1 -0
  320. package/dist/plugins/performance/storages/memory-storage.d.ts +19 -0
  321. package/dist/plugins/performance/storages/memory-storage.d.ts.map +1 -0
  322. package/dist/plugins/performance/storages/memory-storage.js +69 -0
  323. package/dist/plugins/performance/storages/memory-storage.js.map +1 -0
  324. package/dist/plugins/performance/types.d.ts +154 -0
  325. package/dist/plugins/performance/types.d.ts.map +1 -0
  326. package/dist/plugins/performance/types.js +2 -0
  327. package/dist/plugins/performance/types.js.map +1 -0
  328. package/dist/plugins/usage/aggregate-usage-stats.d.ts +12 -0
  329. package/dist/plugins/usage/aggregate-usage-stats.d.ts.map +1 -0
  330. package/dist/plugins/usage/aggregate-usage-stats.js +115 -0
  331. package/dist/plugins/usage/aggregate-usage-stats.js.map +1 -0
  332. package/dist/plugins/usage/index.d.ts +5 -0
  333. package/dist/plugins/usage/index.d.ts.map +1 -0
  334. package/dist/plugins/usage/index.js +4 -0
  335. package/dist/plugins/usage/index.js.map +1 -0
  336. package/dist/plugins/usage/storages/file-storage.d.ts +22 -0
  337. package/dist/plugins/usage/storages/file-storage.d.ts.map +1 -0
  338. package/dist/plugins/usage/storages/file-storage.js +111 -0
  339. package/dist/plugins/usage/storages/file-storage.js.map +1 -0
  340. package/dist/plugins/usage/storages/index.d.ts +5 -0
  341. package/dist/plugins/usage/storages/index.d.ts.map +1 -0
  342. package/dist/plugins/usage/storages/index.js +5 -0
  343. package/dist/plugins/usage/storages/index.js.map +1 -0
  344. package/dist/plugins/usage/storages/memory-storage.d.ts +22 -0
  345. package/dist/plugins/usage/storages/memory-storage.d.ts.map +1 -0
  346. package/dist/plugins/usage/storages/memory-storage.js +42 -0
  347. package/dist/plugins/usage/storages/memory-storage.js.map +1 -0
  348. package/dist/plugins/usage/storages/remote-storage.d.ts +26 -0
  349. package/dist/plugins/usage/storages/remote-storage.d.ts.map +1 -0
  350. package/dist/plugins/usage/storages/remote-storage.js +115 -0
  351. package/dist/plugins/usage/storages/remote-storage.js.map +1 -0
  352. package/dist/plugins/usage/storages/silent-storage.d.ts +19 -0
  353. package/dist/plugins/usage/storages/silent-storage.d.ts.map +1 -0
  354. package/dist/plugins/usage/storages/silent-storage.js +26 -0
  355. package/dist/plugins/usage/storages/silent-storage.js.map +1 -0
  356. package/dist/plugins/usage/types.d.ts +127 -0
  357. package/dist/plugins/usage/types.d.ts.map +1 -0
  358. package/dist/plugins/usage/types.js +2 -0
  359. package/dist/plugins/usage/types.js.map +1 -0
  360. package/dist/plugins/usage/usage-plugin.d.ts +67 -0
  361. package/dist/plugins/usage/usage-plugin.d.ts.map +1 -0
  362. package/dist/plugins/usage/usage-plugin.js +309 -0
  363. package/dist/plugins/usage/usage-plugin.js.map +1 -0
  364. package/dist/plugins/webhook/http-client.d.ts +30 -0
  365. package/dist/plugins/webhook/http-client.d.ts.map +1 -0
  366. package/dist/plugins/webhook/http-client.js +110 -0
  367. package/dist/plugins/webhook/http-client.js.map +1 -0
  368. package/dist/plugins/webhook/index.d.ts +9 -0
  369. package/dist/plugins/webhook/index.d.ts.map +1 -0
  370. package/dist/plugins/webhook/index.js +9 -0
  371. package/dist/plugins/webhook/index.js.map +1 -0
  372. package/dist/plugins/webhook/transformer.d.ts +63 -0
  373. package/dist/plugins/webhook/transformer.d.ts.map +1 -0
  374. package/dist/plugins/webhook/transformer.js +157 -0
  375. package/dist/plugins/webhook/transformer.js.map +1 -0
  376. package/dist/plugins/webhook/types.d.ts +183 -0
  377. package/dist/plugins/webhook/types.d.ts.map +1 -0
  378. package/dist/plugins/webhook/types.js +2 -0
  379. package/dist/plugins/webhook/types.js.map +1 -0
  380. package/dist/plugins/webhook/webhook-plugin.d.ts +92 -0
  381. package/dist/plugins/webhook/webhook-plugin.d.ts.map +1 -0
  382. package/dist/plugins/webhook/webhook-plugin.js +328 -0
  383. package/dist/plugins/webhook/webhook-plugin.js.map +1 -0
  384. package/dist/schemas/agent-template-schema.d.ts +137 -0
  385. package/dist/schemas/agent-template-schema.d.ts.map +1 -0
  386. package/dist/schemas/agent-template-schema.js +87 -0
  387. package/dist/schemas/agent-template-schema.js.map +1 -0
  388. package/dist/services/conversation-service/index.d.ts +88 -0
  389. package/dist/services/conversation-service/index.d.ts.map +1 -0
  390. package/dist/services/conversation-service/index.js +441 -0
  391. package/dist/services/conversation-service/index.js.map +1 -0
  392. package/dist/services/conversation-service/types.d.ts +32 -0
  393. package/dist/services/conversation-service/types.d.ts.map +1 -0
  394. package/dist/services/conversation-service/types.js +8 -0
  395. package/dist/services/conversation-service/types.js.map +1 -0
  396. package/dist/services/event-service.d.ts +61 -0
  397. package/dist/services/event-service.d.ts.map +1 -0
  398. package/dist/services/event-service.js +110 -0
  399. package/dist/services/event-service.js.map +1 -0
  400. package/dist/services/event-service.test.d.ts +2 -0
  401. package/dist/services/event-service.test.d.ts.map +1 -0
  402. package/dist/services/event-service.test.js +86 -0
  403. package/dist/services/event-service.test.js.map +1 -0
  404. package/dist/services/execution-service.d.ts +151 -0
  405. package/dist/services/execution-service.d.ts.map +1 -0
  406. package/dist/services/execution-service.js +1262 -0
  407. package/dist/services/execution-service.js.map +1 -0
  408. package/dist/services/execution-service.test.d.ts +2 -0
  409. package/dist/services/execution-service.test.d.ts.map +1 -0
  410. package/dist/services/execution-service.test.js +338 -0
  411. package/dist/services/execution-service.test.js.map +1 -0
  412. package/dist/services/history-module.d.ts +15 -0
  413. package/dist/services/history-module.d.ts.map +1 -0
  414. package/dist/services/history-module.js +42 -0
  415. package/dist/services/history-module.js.map +1 -0
  416. package/dist/services/in-memory-history-store.d.ts +12 -0
  417. package/dist/services/in-memory-history-store.d.ts.map +1 -0
  418. package/dist/services/in-memory-history-store.js +41 -0
  419. package/dist/services/in-memory-history-store.js.map +1 -0
  420. package/dist/services/index.d.ts +7 -0
  421. package/dist/services/index.d.ts.map +1 -0
  422. package/dist/services/index.js +13 -0
  423. package/dist/services/index.js.map +1 -0
  424. package/dist/services/task-events.d.ts +6 -0
  425. package/dist/services/task-events.d.ts.map +1 -0
  426. package/dist/services/task-events.js +6 -0
  427. package/dist/services/task-events.js.map +1 -0
  428. package/dist/services/tool-execution-service.d.ts +74 -0
  429. package/dist/services/tool-execution-service.d.ts.map +1 -0
  430. package/dist/services/tool-execution-service.js +189 -0
  431. package/dist/services/tool-execution-service.js.map +1 -0
  432. package/dist/services/user-events.d.ts +7 -0
  433. package/dist/services/user-events.d.ts.map +1 -0
  434. package/dist/services/user-events.js +6 -0
  435. package/dist/services/user-events.js.map +1 -0
  436. package/dist/tools/implementations/function-tool/index.d.ts +9 -0
  437. package/dist/tools/implementations/function-tool/index.d.ts.map +1 -0
  438. package/dist/tools/implementations/function-tool/index.js +13 -0
  439. package/dist/tools/implementations/function-tool/index.js.map +1 -0
  440. package/dist/tools/implementations/function-tool/schema-converter.d.ts +32 -0
  441. package/dist/tools/implementations/function-tool/schema-converter.d.ts.map +1 -0
  442. package/dist/tools/implementations/function-tool/schema-converter.js +164 -0
  443. package/dist/tools/implementations/function-tool/schema-converter.js.map +1 -0
  444. package/dist/tools/implementations/function-tool/types.d.ts +72 -0
  445. package/dist/tools/implementations/function-tool/types.d.ts.map +1 -0
  446. package/dist/tools/implementations/function-tool/types.js +14 -0
  447. package/dist/tools/implementations/function-tool/types.js.map +1 -0
  448. package/dist/tools/implementations/function-tool.d.ts +49 -0
  449. package/dist/tools/implementations/function-tool.d.ts.map +1 -0
  450. package/dist/tools/implementations/function-tool.js +223 -0
  451. package/dist/tools/implementations/function-tool.js.map +1 -0
  452. package/dist/tools/implementations/index.d.ts +4 -0
  453. package/dist/tools/implementations/index.d.ts.map +1 -0
  454. package/dist/tools/implementations/index.js +5 -0
  455. package/dist/tools/implementations/index.js.map +1 -0
  456. package/dist/tools/implementations/mcp-tool.d.ts +72 -0
  457. package/dist/tools/implementations/mcp-tool.d.ts.map +1 -0
  458. package/dist/tools/implementations/mcp-tool.js +246 -0
  459. package/dist/tools/implementations/mcp-tool.js.map +1 -0
  460. package/dist/tools/implementations/openapi-tool.d.ts +56 -0
  461. package/dist/tools/implementations/openapi-tool.d.ts.map +1 -0
  462. package/dist/tools/implementations/openapi-tool.js +324 -0
  463. package/dist/tools/implementations/openapi-tool.js.map +1 -0
  464. package/dist/tools/implementations/relay-mcp-tool.d.ts +38 -0
  465. package/dist/tools/implementations/relay-mcp-tool.d.ts.map +1 -0
  466. package/dist/tools/implementations/relay-mcp-tool.js +46 -0
  467. package/dist/tools/implementations/relay-mcp-tool.js.map +1 -0
  468. package/dist/tools/index.d.ts +3 -0
  469. package/dist/tools/index.d.ts.map +1 -0
  470. package/dist/tools/index.js +4 -0
  471. package/dist/tools/index.js.map +1 -0
  472. package/dist/tools/registry/index.d.ts +2 -0
  473. package/dist/tools/registry/index.d.ts.map +1 -0
  474. package/dist/tools/registry/index.js +3 -0
  475. package/dist/tools/registry/index.js.map +1 -0
  476. package/dist/tools/registry/tool-registry.d.ts +54 -0
  477. package/dist/tools/registry/tool-registry.d.ts.map +1 -0
  478. package/dist/tools/registry/tool-registry.js +146 -0
  479. package/dist/tools/registry/tool-registry.js.map +1 -0
  480. package/dist/utils/errors.d.ts +155 -0
  481. package/dist/utils/errors.d.ts.map +1 -0
  482. package/dist/utils/errors.js +203 -0
  483. package/dist/utils/errors.js.map +1 -0
  484. package/dist/utils/execution-proxy.d.ts +75 -0
  485. package/dist/utils/execution-proxy.d.ts.map +1 -0
  486. package/dist/utils/execution-proxy.js +230 -0
  487. package/dist/utils/execution-proxy.js.map +1 -0
  488. package/dist/utils/index.d.ts +11 -0
  489. package/dist/utils/index.d.ts.map +1 -0
  490. package/dist/utils/index.js +7 -0
  491. package/dist/utils/index.js.map +1 -0
  492. package/dist/utils/logger.d.ts +74 -0
  493. package/dist/utils/logger.d.ts.map +1 -0
  494. package/dist/utils/logger.js +143 -0
  495. package/dist/utils/logger.js.map +1 -0
  496. package/dist/utils/message-converter.d.ts +68 -0
  497. package/dist/utils/message-converter.d.ts.map +1 -0
  498. package/dist/utils/message-converter.js +87 -0
  499. package/dist/utils/message-converter.js.map +1 -0
  500. package/dist/utils/periodic-task.d.ts +14 -0
  501. package/dist/utils/periodic-task.d.ts.map +1 -0
  502. package/dist/utils/periodic-task.js +26 -0
  503. package/dist/utils/periodic-task.js.map +1 -0
  504. package/dist/utils/validation.d.ts +40 -0
  505. package/dist/utils/validation.d.ts.map +1 -0
  506. package/dist/utils/validation.js +162 -0
  507. package/dist/utils/validation.js.map +1 -0
  508. package/package.json +101 -0
@@ -0,0 +1,441 @@
1
+ import { NetworkError, ProviderError } from '../../utils/errors';
2
+ import { createLogger } from '../../utils/logger';
3
+ /**
4
+ * Default conversation service options
5
+ */
6
+ const DEFAULT_OPTIONS = {
7
+ maxHistoryLength: 100,
8
+ enableRetry: true,
9
+ maxRetries: 3,
10
+ retryDelay: 1000,
11
+ timeout: 30000,
12
+ };
13
+ /**
14
+ * Conversation Service - handles AI provider interactions and response processing
15
+ * Stateless service that manages conversation context, AI provider calls, and response processing
16
+ * All methods are pure functions without instance state
17
+ * @internal
18
+ */
19
+ export class ConversationService {
20
+ /**
21
+ * Prepare conversation context from messages and configuration
22
+ * Pure function that transforms inputs to context object
23
+ */
24
+ prepareContext(messages, model, provider, contextOptions = {}, serviceOptions = {}) {
25
+ const logger = createLogger('ConversationService');
26
+ return ConversationService.createContext(messages, model, provider, contextOptions, serviceOptions, logger);
27
+ }
28
+ /**
29
+ * Generate a response using the AI provider
30
+ * Stateless operation that handles the full request-response cycle
31
+ */
32
+ async generateResponse(provider, context, serviceOptions = {}) {
33
+ const logger = createLogger('ConversationService');
34
+ return ConversationService.performResponseGeneration(provider, context, serviceOptions, logger);
35
+ }
36
+ /**
37
+ * Generate streaming response using the AI provider
38
+ * Stateless streaming operation
39
+ */
40
+ async *generateStreamingResponse(provider, context, serviceOptions = {}) {
41
+ const logger = createLogger('ConversationService');
42
+ yield* ConversationService.performStreamingResponse(provider, context, serviceOptions, logger);
43
+ }
44
+ /**
45
+ * Validate conversation context
46
+ * Pure validation function
47
+ */
48
+ validateContext(context) {
49
+ return ConversationService.performContextValidation(context);
50
+ }
51
+ // ==============================================
52
+ // Static helper methods (pure functions)
53
+ // ==============================================
54
+ /**
55
+ * Static helper method for context creation
56
+ */
57
+ static createContext(messages, model, provider, contextOptions, serviceOptions, logger) {
58
+ const options = { ...DEFAULT_OPTIONS, ...serviceOptions };
59
+ // Limit history length if configured
60
+ let processedMessages = messages;
61
+ if (options.maxHistoryLength > 0 && messages.length > options.maxHistoryLength) {
62
+ // Keep system message if it exists, then take the most recent messages
63
+ const systemMessages = messages.filter(m => m.role === 'system');
64
+ const otherMessages = messages.filter(m => m.role !== 'system');
65
+ const recentMessages = otherMessages.slice(-options.maxHistoryLength + systemMessages.length);
66
+ processedMessages = [...systemMessages, ...recentMessages];
67
+ logger.debug('Trimmed conversation history', {
68
+ originalLength: messages.length,
69
+ trimmedLength: processedMessages.length,
70
+ maxLength: options.maxHistoryLength,
71
+ });
72
+ }
73
+ const context = {
74
+ messages: processedMessages,
75
+ model,
76
+ provider,
77
+ ...(contextOptions.systemMessage && { systemMessage: contextOptions.systemMessage }),
78
+ ...(contextOptions.temperature !== undefined && { temperature: contextOptions.temperature }),
79
+ ...(contextOptions.maxTokens !== undefined && { maxTokens: contextOptions.maxTokens }),
80
+ ...(contextOptions.tools && { tools: contextOptions.tools }),
81
+ ...(contextOptions.metadata && { metadata: contextOptions.metadata })
82
+ };
83
+ logger.debug('Conversation context prepared', {
84
+ messageCount: context.messages.length,
85
+ model: context.model,
86
+ provider: context.provider,
87
+ hasSystemMessage: !!context.systemMessage,
88
+ hasTools: !!(context.tools && context.tools.length > 0),
89
+ });
90
+ return context;
91
+ }
92
+ /**
93
+ * Static method for response generation
94
+ */
95
+ static async performResponseGeneration(provider, context, serviceOptions, logger) {
96
+ const options = { ...DEFAULT_OPTIONS, ...serviceOptions };
97
+ const startTime = Date.now();
98
+ try {
99
+ logger.debug('Starting response generation', {
100
+ provider: context.provider,
101
+ model: context.model,
102
+ messageCount: context.messages.length,
103
+ });
104
+ // Create request payload
105
+ const requestPayload = ConversationService.createProviderRequest(context);
106
+ // Generate response with retry logic
107
+ const response = await ConversationService.executeWithRetry(() => provider.generateResponse(requestPayload), `generateResponse for ${context.provider}:${context.model}`, options, logger);
108
+ // Process and validate response
109
+ const processedResponse = ConversationService.processProviderResponse(response);
110
+ const duration = Date.now() - startTime;
111
+ logger.info('Response generated successfully', {
112
+ provider: context.provider,
113
+ model: context.model,
114
+ duration,
115
+ usage: processedResponse.usage,
116
+ });
117
+ return processedResponse;
118
+ }
119
+ catch (error) {
120
+ const duration = Date.now() - startTime;
121
+ logger.error('Response generation failed', {
122
+ provider: context.provider,
123
+ model: context.model,
124
+ duration,
125
+ error: error instanceof Error ? error.message : String(error),
126
+ });
127
+ if (error instanceof NetworkError || error instanceof ProviderError) {
128
+ throw error;
129
+ }
130
+ throw new ProviderError(`Response generation failed: ${error instanceof Error ? error.message : String(error)}`, context.provider, error instanceof Error ? error : undefined);
131
+ }
132
+ }
133
+ /**
134
+ * Static method for streaming response generation
135
+ */
136
+ static async *performStreamingResponse(provider, context, _serviceOptions, logger) {
137
+ // Apply defaults for future use - currently not needed but maintains service contract
138
+ const startTime = Date.now();
139
+ try {
140
+ logger.debug('Starting streaming response generation', {
141
+ provider: context.provider,
142
+ model: context.model,
143
+ messageCount: context.messages.length,
144
+ });
145
+ // Create request payload for streaming
146
+ const requestPayload = ConversationService.createProviderRequest(context, true);
147
+ // Check if provider supports streaming
148
+ if (!provider.generateStreamingResponse) {
149
+ throw new ProviderError(`Provider does not support streaming`, context.provider);
150
+ }
151
+ // Generate streaming response
152
+ const streamingResponse = provider.generateStreamingResponse(requestPayload);
153
+ let chunkCount = 0;
154
+ for await (const chunk of streamingResponse) {
155
+ chunkCount++;
156
+ const processedChunk = ConversationService.processStreamingChunk(chunk);
157
+ logger.debug('Streaming chunk processed', {
158
+ chunkNumber: chunkCount,
159
+ deltaLength: processedChunk.delta.length,
160
+ done: processedChunk.done,
161
+ });
162
+ yield processedChunk;
163
+ if (processedChunk.done) {
164
+ break;
165
+ }
166
+ }
167
+ const duration = Date.now() - startTime;
168
+ logger.info('Streaming response completed', {
169
+ provider: context.provider,
170
+ model: context.model,
171
+ duration,
172
+ totalChunks: chunkCount,
173
+ });
174
+ }
175
+ catch (error) {
176
+ const duration = Date.now() - startTime;
177
+ logger.error('Streaming response failed', {
178
+ provider: context.provider,
179
+ model: context.model,
180
+ duration,
181
+ error: error instanceof Error ? error.message : String(error),
182
+ });
183
+ if (error instanceof NetworkError || error instanceof ProviderError) {
184
+ throw error;
185
+ }
186
+ throw new ProviderError(`Streaming response failed: ${error instanceof Error ? error.message : String(error)}`, context.provider, error instanceof Error ? error : undefined);
187
+ }
188
+ }
189
+ /**
190
+ * Static method for context validation
191
+ */
192
+ static performContextValidation(context) {
193
+ const errors = [];
194
+ if (!context.messages || !Array.isArray(context.messages)) {
195
+ errors.push('Messages must be an array');
196
+ }
197
+ else if (context.messages.length === 0) {
198
+ errors.push('At least one message is required');
199
+ }
200
+ if (!context.model || typeof context.model !== 'string') {
201
+ errors.push('Model must be a non-empty string');
202
+ }
203
+ if (!context.provider || typeof context.provider !== 'string') {
204
+ errors.push('Provider must be a non-empty string');
205
+ }
206
+ if (context.temperature !== undefined && (typeof context.temperature !== 'number' || context.temperature < 0 || context.temperature > 2)) {
207
+ errors.push('Temperature must be a number between 0 and 2');
208
+ }
209
+ if (context.maxTokens !== undefined && (typeof context.maxTokens !== 'number' || context.maxTokens <= 0)) {
210
+ errors.push('MaxTokens must be a positive number');
211
+ }
212
+ return {
213
+ isValid: errors.length === 0,
214
+ errors
215
+ };
216
+ }
217
+ // ==============================================
218
+ // Message creation utilities (pure functions)
219
+ // ==============================================
220
+ /**
221
+ * Create a user message
222
+ */
223
+ createUserMessage(content, metadata) {
224
+ return ConversationService.createUserMessageStatic(content, metadata);
225
+ }
226
+ /**
227
+ * Create an assistant message from response
228
+ */
229
+ createAssistantMessage(response, metadata) {
230
+ return ConversationService.createAssistantMessageStatic(response, metadata);
231
+ }
232
+ /**
233
+ * Create a system message
234
+ */
235
+ createSystemMessage(content, metadata) {
236
+ return ConversationService.createSystemMessageStatic(content, metadata);
237
+ }
238
+ /**
239
+ * Create a tool message
240
+ */
241
+ createToolMessage(toolCallId, result, metadata) {
242
+ return ConversationService.createToolMessageStatic(toolCallId, result, metadata);
243
+ }
244
+ // Static versions of message creation methods
245
+ static createUserMessageStatic(content, metadata) {
246
+ return {
247
+ role: 'user',
248
+ content,
249
+ timestamp: new Date(),
250
+ metadata: {
251
+ timestamp: new Date().toISOString(),
252
+ ...metadata
253
+ }
254
+ };
255
+ }
256
+ static createAssistantMessageStatic(response, metadata) {
257
+ const message = {
258
+ role: 'assistant',
259
+ content: response.content,
260
+ timestamp: new Date(),
261
+ metadata: {
262
+ timestamp: new Date().toISOString(),
263
+ ...(response.usage && { usage: JSON.stringify(response.usage) }),
264
+ ...(response.finishReason && { finishReason: response.finishReason }),
265
+ ...metadata
266
+ }
267
+ };
268
+ if (response.toolCalls && response.toolCalls.length > 0) {
269
+ message.toolCalls = response.toolCalls;
270
+ }
271
+ return message;
272
+ }
273
+ static createSystemMessageStatic(content, metadata) {
274
+ return {
275
+ role: 'system',
276
+ content,
277
+ timestamp: new Date(),
278
+ metadata: {
279
+ timestamp: new Date().toISOString(),
280
+ ...metadata
281
+ }
282
+ };
283
+ }
284
+ static createToolMessageStatic(toolCallId, result, metadata) {
285
+ return {
286
+ role: 'tool',
287
+ content: typeof result === 'string' ? result : JSON.stringify(result),
288
+ toolCallId,
289
+ timestamp: new Date(),
290
+ metadata: {
291
+ timestamp: new Date().toISOString(),
292
+ ...metadata
293
+ }
294
+ };
295
+ }
296
+ // ==============================================
297
+ // Pure utility functions
298
+ // ==============================================
299
+ /**
300
+ * Convert complex metadata to simple provider request format
301
+ */
302
+ static convertToProviderMetadata(metadata) {
303
+ if (!metadata)
304
+ return undefined;
305
+ const converted = {};
306
+ for (const [key, value] of Object.entries(metadata)) {
307
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
308
+ converted[key] = value;
309
+ }
310
+ else if (value instanceof Date) {
311
+ converted[key] = value.toISOString();
312
+ }
313
+ else if (Array.isArray(value)) {
314
+ converted[key] = JSON.stringify(value);
315
+ }
316
+ else {
317
+ converted[key] = JSON.stringify(value);
318
+ }
319
+ }
320
+ return converted;
321
+ }
322
+ /**
323
+ * Convert optional usage to required format
324
+ */
325
+ static convertUsage(usage) {
326
+ if (!usage)
327
+ return undefined;
328
+ if (typeof usage.promptTokens === 'number' &&
329
+ typeof usage.completionTokens === 'number' &&
330
+ typeof usage.totalTokens === 'number') {
331
+ return {
332
+ promptTokens: usage.promptTokens,
333
+ completionTokens: usage.completionTokens,
334
+ totalTokens: usage.totalTokens
335
+ };
336
+ }
337
+ return undefined;
338
+ }
339
+ static createProviderRequest(context, streaming = false) {
340
+ const metadata = ConversationService.convertToProviderMetadata(context.metadata);
341
+ const request = {
342
+ messages: context.messages,
343
+ model: context.model,
344
+ stream: streaming,
345
+ ...(context.temperature !== undefined && { temperature: context.temperature }),
346
+ ...(context.maxTokens !== undefined && { maxTokens: context.maxTokens }),
347
+ ...(context.tools && { tools: context.tools }),
348
+ ...(context.systemMessage && { systemMessage: context.systemMessage }),
349
+ ...(metadata && { metadata })
350
+ };
351
+ return request;
352
+ }
353
+ static processProviderResponse(response) {
354
+ const usage = ConversationService.convertUsage(response.usage);
355
+ const result = {
356
+ content: response.content || '',
357
+ toolCalls: response.toolCalls || [],
358
+ metadata: response.metadata || {},
359
+ finishReason: response.finishReason || 'stop',
360
+ ...(usage && { usage })
361
+ };
362
+ return result;
363
+ }
364
+ static processStreamingChunk(chunk) {
365
+ const usage = ConversationService.convertUsage(chunk.usage);
366
+ const result = {
367
+ delta: chunk.delta || '',
368
+ done: chunk.done || false,
369
+ toolCalls: chunk.toolCalls || [],
370
+ ...(usage && { usage })
371
+ };
372
+ return result;
373
+ }
374
+ static async executeWithRetry(fn, operation, options, logger) {
375
+ let lastError;
376
+ for (let attempt = 1; attempt <= options.maxRetries; attempt++) {
377
+ try {
378
+ const result = await ConversationService.withTimeout(fn(), options.timeout);
379
+ if (attempt > 1) {
380
+ logger.info(`${operation} succeeded on attempt ${attempt}`);
381
+ }
382
+ return result;
383
+ }
384
+ catch (error) {
385
+ lastError = error;
386
+ // Don't retry if this is the last attempt or if error shouldn't be retried
387
+ if (attempt === options.maxRetries || !ConversationService.shouldRetryError(lastError)) {
388
+ break;
389
+ }
390
+ logger.warn(`${operation} failed on attempt ${attempt}, retrying...`, {
391
+ attempt,
392
+ maxRetries: options.maxRetries,
393
+ error: lastError.message,
394
+ retryDelay: options.retryDelay
395
+ });
396
+ await ConversationService.delay(options.retryDelay);
397
+ }
398
+ }
399
+ if (lastError) {
400
+ logger.error(`${operation} failed after ${options.maxRetries} attempts`, {
401
+ error: lastError.message
402
+ });
403
+ throw lastError;
404
+ }
405
+ // This should never happen, but just in case
406
+ throw new Error(`${operation} failed with no error details`);
407
+ }
408
+ static shouldRetryError(error) {
409
+ // Retry on network errors and specific provider errors
410
+ if (error instanceof NetworkError) {
411
+ return true;
412
+ }
413
+ // Retry on timeout errors
414
+ if (error.message.includes('timeout') || error.message.includes('TIMEOUT')) {
415
+ return true;
416
+ }
417
+ // Retry on rate limit errors
418
+ if (error.message.includes('rate limit') || error.message.includes('429')) {
419
+ return true;
420
+ }
421
+ // Don't retry on other errors
422
+ return false;
423
+ }
424
+ static withTimeout(promise, timeoutMs) {
425
+ return Promise.race([
426
+ promise,
427
+ ConversationService.createTimeoutPromise(timeoutMs)
428
+ ]);
429
+ }
430
+ static createTimeoutPromise(timeoutMs) {
431
+ return new Promise((_, reject) => {
432
+ setTimeout(() => {
433
+ reject(new NetworkError(`Operation timed out after ${timeoutMs}ms`));
434
+ }, timeoutMs);
435
+ });
436
+ }
437
+ static delay(ms) {
438
+ return new Promise(resolve => setTimeout(resolve, ms));
439
+ }
440
+ }
441
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/conversation-service/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Conversation Service Local Types
3
+ *
4
+ * Local type definitions for conversation services.
5
+ * These types are used within this conversation service and don't need to be shared globally.
6
+ */
7
+ /**
8
+ * Message metadata for conversation context
9
+ * Used for storing additional information with conversation messages
10
+ */
11
+ export type TProviderMetadata = Record<string, string | number | boolean>;
12
+ /**
13
+ * Execution context metadata
14
+ * Used for tracking execution-related information in conversations
15
+ */
16
+ export interface IExecutionContextMetadata {
17
+ executionId?: string;
18
+ round?: number;
19
+ timestamp?: Date;
20
+ agentId?: string;
21
+ }
22
+ /**
23
+ * Tool execution metadata
24
+ * Used for storing tool-related information in conversations
25
+ */
26
+ export interface IToolExecutionMetadata {
27
+ toolId?: string;
28
+ executionTime?: number;
29
+ success?: boolean;
30
+ errorMessage?: string;
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/conversation-service/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AAKH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Conversation Service Local Types
3
+ *
4
+ * Local type definitions for conversation services.
5
+ * These types are used within this conversation service and don't need to be shared globally.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/conversation-service/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,61 @@
1
+ export type { IAgentEventData, IBaseEventData, IExecutionEventData, IEventContext, IEventService, IEventServiceOwnerBinding, IOwnerPathSegment, IToolEventData, TEventListener } from '../interfaces/event-service';
2
+ import type { IBaseEventData, IEventContext, IEventService, IEventServiceOwnerBinding, TEventListener } from '../interfaces/event-service';
3
+ /**
4
+ * Abstract base for event services.
5
+ * Concrete implementations decide how events are delivered.
6
+ */
7
+ export declare abstract class AbstractEventService implements IEventService {
8
+ private listeners;
9
+ abstract emit(eventType: string, data: IBaseEventData, context?: IEventContext): void;
10
+ subscribe(listener: TEventListener): void;
11
+ unsubscribe(listener: TEventListener): void;
12
+ protected notifyListeners(eventType: string, data: IBaseEventData, context?: IEventContext): void;
13
+ }
14
+ /**
15
+ * Default no-op event service (production-safe).
16
+ * When injected, emit() intentionally does nothing.
17
+ */
18
+ export declare class DefaultEventService extends AbstractEventService {
19
+ emit(_eventType: string, _data: IBaseEventData, _context?: IEventContext): void;
20
+ }
21
+ /**
22
+ * Singleton default event service instance.
23
+ */
24
+ export declare const DEFAULT_ABSTRACT_EVENT_SERVICE: IEventService;
25
+ /**
26
+ * Check if a given service is the default no-op implementation.
27
+ */
28
+ export declare function isDefaultEventService(service: IEventService): boolean;
29
+ /**
30
+ * Compose a full event name from owner prefix and local name.
31
+ * Local names must not contain dots.
32
+ */
33
+ export declare function composeEventName(ownerType: string, localName: string): string;
34
+ /**
35
+ * A scoped event service that always emits with an owner binding applied.
36
+ */
37
+ export declare class StructuredEventService extends AbstractEventService {
38
+ private readonly base;
39
+ private readonly binding;
40
+ constructor(base: IEventService, binding: IEventServiceOwnerBinding);
41
+ emit(eventType: string, data: IBaseEventData, context?: IEventContext): void;
42
+ subscribe(listener: TEventListener): void;
43
+ unsubscribe(listener: TEventListener): void;
44
+ }
45
+ /**
46
+ * Bind an EventService to an explicit owner path.
47
+ * This is the standard entry point for scoped emission (path-only architecture).
48
+ */
49
+ export declare function bindWithOwnerPath(base: IEventService, binding: IEventServiceOwnerBinding): IEventService;
50
+ /**
51
+ * Alias for bindWithOwnerPath for historical call sites.
52
+ * Intentionally forwards to the single authoritative implementation.
53
+ */
54
+ export declare function bindEventServiceOwner(base: IEventService, binding: IEventServiceOwnerBinding): IEventService;
55
+ /**
56
+ * Observable EventService that notifies subscribed listeners.
57
+ */
58
+ export declare class ObservableEventService extends AbstractEventService {
59
+ emit(eventType: string, data: IBaseEventData, context?: IEventContext): void;
60
+ }
61
+ //# sourceMappingURL=event-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-service.d.ts","sourceRoot":"","sources":["../../src/services/event-service.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,cAAc,EACjB,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,8BAAsB,oBAAqB,YAAW,aAAa;IAC/D,OAAO,CAAC,SAAS,CAA6B;IAE9C,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAErF,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIzC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI3C,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;CAKpG;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;IACzD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI;CAGlF;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,aAAyC,CAAC;AAEvF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAErE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAc7E;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAExC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB;IAMnE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAcnE,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAIzC,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAGvD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAExG;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,yBAAyB,GAAG,aAAa,CAE5G;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,oBAAoB;IAC5D,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;CAG/E"}