@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,328 @@
1
+ /**
2
+ * Webhook Plugin - Facade Pattern Implementation
3
+ * Coordinates webhook functionality through clean, separated components
4
+ */
5
+ import { AbstractPlugin, PluginCategory, PluginPriority } from '../../abstracts/abstract-plugin';
6
+ import { EXECUTION_EVENTS, EXECUTION_EVENT_PREFIX } from '../../services/execution-service';
7
+ import { createLogger } from '../../utils/logger';
8
+ import { PluginError } from '../../utils/errors';
9
+ import { WebhookTransformer } from './transformer';
10
+ import { WebhookHttpClient } from './http-client';
11
+ // Local event constants for webhook usage (kept internal to plugin)
12
+ const EXEC_EVENTS = {
13
+ START: `${EXECUTION_EVENT_PREFIX}.${EXECUTION_EVENTS.START}`,
14
+ COMPLETE: `${EXECUTION_EVENT_PREFIX}.${EXECUTION_EVENTS.COMPLETE}`,
15
+ ERROR: `${EXECUTION_EVENT_PREFIX}.${EXECUTION_EVENTS.ERROR}`
16
+ };
17
+ const CONV_EVENTS = {
18
+ COMPLETE: 'conversation.complete'
19
+ };
20
+ const TOOL_EVENTS_LOCAL = {
21
+ EXECUTED: 'tool.executed'
22
+ };
23
+ const ERROR_EVENTS = {
24
+ OCCURRED: 'error.occurred'
25
+ };
26
+ /**
27
+ * Webhook Plugin using Facade Pattern
28
+ * Provides a clean interface for webhook functionality
29
+ */
30
+ export class WebhookPlugin extends AbstractPlugin {
31
+ name = 'WebhookPlugin';
32
+ version = '1.0.0';
33
+ pluginOptions;
34
+ logger;
35
+ httpClient;
36
+ requestQueue = [];
37
+ batchQueue = [];
38
+ activeConcurrency = 0;
39
+ batchTimer;
40
+ constructor(options) {
41
+ super();
42
+ // Set plugin classification
43
+ this.category = PluginCategory.NOTIFICATION;
44
+ this.priority = PluginPriority.LOW;
45
+ // Validate required options
46
+ if (!options.endpoints || options.endpoints.length === 0) {
47
+ throw new PluginError('At least one webhook endpoint is required', this.name);
48
+ }
49
+ // Set default options
50
+ this.pluginOptions = {
51
+ enabled: options.enabled ?? true,
52
+ events: [EXEC_EVENTS.COMPLETE, CONV_EVENTS.COMPLETE, TOOL_EVENTS_LOCAL.EXECUTED, ERROR_EVENTS.OCCURRED],
53
+ defaultTimeout: 5000,
54
+ defaultRetries: 3,
55
+ async: true,
56
+ maxConcurrency: 3,
57
+ batching: {
58
+ enabled: false,
59
+ maxSize: 10,
60
+ flushInterval: 5000
61
+ },
62
+ payloadTransformer: WebhookTransformer.defaultPayloadTransformer,
63
+ // Add plugin options defaults
64
+ category: options.category ?? PluginCategory.NOTIFICATION,
65
+ priority: options.priority ?? PluginPriority.LOW,
66
+ moduleEvents: options.moduleEvents ?? [],
67
+ subscribeToAllModuleEvents: options.subscribeToAllModuleEvents ?? false,
68
+ ...options
69
+ };
70
+ this.logger = createLogger(`${this.name}`);
71
+ this.httpClient = new WebhookHttpClient(this.logger);
72
+ this.validateEndpoints();
73
+ if (this.pluginOptions.batching.enabled) {
74
+ this.setupBatching();
75
+ }
76
+ this.logger.info('WebhookPlugin initialized', {
77
+ endpointCount: this.pluginOptions.endpoints.length,
78
+ events: this.pluginOptions.events,
79
+ batching: this.pluginOptions.batching.enabled
80
+ });
81
+ }
82
+ /**
83
+ * After execution completes
84
+ */
85
+ async afterExecution(context, result) {
86
+ const webhookContext = WebhookTransformer.contextToWebhook(context);
87
+ const webhookResult = WebhookTransformer.resultToWebhook(result);
88
+ const eventData = WebhookTransformer.createExecutionData(webhookContext, webhookResult);
89
+ await this.sendWebhook(EXEC_EVENTS.COMPLETE, eventData);
90
+ }
91
+ /**
92
+ * After conversation completes
93
+ */
94
+ async afterConversation(context, result) {
95
+ const webhookContext = WebhookTransformer.contextToWebhook(context);
96
+ const webhookResult = WebhookTransformer.resultToWebhook(result);
97
+ const eventData = WebhookTransformer.createConversationData(webhookContext, webhookResult);
98
+ await this.sendWebhook(CONV_EVENTS.COMPLETE, eventData);
99
+ }
100
+ /**
101
+ * After tool execution
102
+ *
103
+ * REASON: Tool results structure varies by tool type and provider, needs flexible handling for webhook processing
104
+ * ALTERNATIVES_CONSIDERED:
105
+ * 1. Strict tool result interfaces (breaks tool compatibility)
106
+ * 2. Union types (insufficient for dynamic tool results)
107
+ * 3. Generic constraints (too complex for webhook processing)
108
+ * 4. Interface definitions (too rigid for varied tool results)
109
+ * 5. Type assertions (decreases type safety)
110
+ * TODO: Consider standardized tool result interface across tools
111
+ */
112
+ async afterToolExecution(context, toolResults) {
113
+ const webhookContext = WebhookTransformer.contextToWebhook(context);
114
+ // Handle tool results from IPluginExecutionResult
115
+ if (toolResults.toolCalls && toolResults.toolCalls.length > 0) {
116
+ for (const toolCall of toolResults.toolCalls) {
117
+ const toolData = {
118
+ toolName: toolCall.name || '',
119
+ toolId: toolCall.id || '',
120
+ result: toolCall.result,
121
+ success: toolCall.result !== null,
122
+ duration: toolResults.duration
123
+ };
124
+ const eventData = WebhookTransformer.createToolData(webhookContext, toolData);
125
+ await this.sendWebhook(TOOL_EVENTS_LOCAL.EXECUTED, eventData);
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * On error
131
+ */
132
+ async onError(error, context) {
133
+ const webhookContext = context ? {
134
+ executionId: context.executionId,
135
+ sessionId: context.sessionId,
136
+ userId: context.userId
137
+ } : {
138
+ executionId: undefined,
139
+ sessionId: undefined,
140
+ userId: undefined
141
+ };
142
+ const errorEventData = WebhookTransformer.createErrorData(webhookContext, error);
143
+ await this.sendWebhook(ERROR_EVENTS.OCCURRED, errorEventData);
144
+ await this.sendWebhook(EXEC_EVENTS.ERROR, errorEventData);
145
+ }
146
+ /**
147
+ * Send webhook notification
148
+ */
149
+ async sendWebhook(event, data, metadata) {
150
+ if (!this.pluginOptions.events.includes(event)) {
151
+ return;
152
+ }
153
+ const payload = {
154
+ event,
155
+ timestamp: new Date().toISOString(),
156
+ data: this.pluginOptions.payloadTransformer(event, data),
157
+ ...(metadata && { metadata })
158
+ };
159
+ // Add context data if available
160
+ if (data.executionId)
161
+ payload.executionId = data.executionId;
162
+ if (data.sessionId)
163
+ payload.sessionId = data.sessionId;
164
+ if (data.userId)
165
+ payload.userId = data.userId;
166
+ this.logger.debug('Sending webhook', {
167
+ event,
168
+ endpointCount: this.getEndpointsForEvent(event).length
169
+ });
170
+ // Batch or send immediately
171
+ if (this.pluginOptions.batching.enabled) {
172
+ this.batchQueue.push(payload);
173
+ if (this.batchQueue.length >= this.pluginOptions.batching.maxSize) {
174
+ await this.flushBatch();
175
+ }
176
+ }
177
+ else {
178
+ await this.sendToEndpoints(payload);
179
+ }
180
+ }
181
+ /**
182
+ * Send custom webhook
183
+ */
184
+ async sendCustomWebhook(data, metadata) {
185
+ await this.sendWebhook('custom', data, metadata);
186
+ }
187
+ /**
188
+ * Send payload to all applicable endpoints
189
+ */
190
+ async sendToEndpoints(payload) {
191
+ const endpoints = this.getEndpointsForEvent(payload.event);
192
+ if (endpoints.length === 0) {
193
+ return;
194
+ }
195
+ const requests = endpoints.map(endpoint => ({
196
+ endpoint,
197
+ payload,
198
+ attempt: 1,
199
+ timestamp: new Date()
200
+ }));
201
+ if (this.pluginOptions.async) {
202
+ // Add to queue for async processing
203
+ this.requestQueue.push(...requests);
204
+ this.processQueue();
205
+ }
206
+ else {
207
+ // Send synchronously
208
+ await Promise.allSettled(requests.map(req => this.httpClient.sendRequest(req)));
209
+ }
210
+ }
211
+ /**
212
+ * Process webhook request queue
213
+ */
214
+ async processQueue() {
215
+ while (this.requestQueue.length > 0 && this.activeConcurrency < this.pluginOptions.maxConcurrency) {
216
+ const request = this.requestQueue.shift();
217
+ if (!request)
218
+ break;
219
+ this.activeConcurrency++;
220
+ // Process request asynchronously
221
+ this.httpClient.sendRequest(request).finally(() => {
222
+ this.activeConcurrency--;
223
+ // Continue processing queue
224
+ if (this.requestQueue.length > 0) {
225
+ this.processQueue();
226
+ }
227
+ });
228
+ }
229
+ }
230
+ /**
231
+ * Get endpoints that should receive the event
232
+ */
233
+ getEndpointsForEvent(event) {
234
+ return this.pluginOptions.endpoints.filter(endpoint => {
235
+ if (!endpoint.events || endpoint.events.length === 0) {
236
+ return true; // No event filter means all events
237
+ }
238
+ return endpoint.events.includes(event);
239
+ });
240
+ }
241
+ /**
242
+ * Setup event batching
243
+ */
244
+ setupBatching() {
245
+ this.batchTimer = setInterval(() => {
246
+ this.flushBatch();
247
+ }, this.pluginOptions.batching.flushInterval);
248
+ }
249
+ /**
250
+ * Flush batched webhooks
251
+ */
252
+ async flushBatch() {
253
+ if (this.batchQueue.length === 0) {
254
+ return;
255
+ }
256
+ const payloads = [...this.batchQueue];
257
+ this.batchQueue = [];
258
+ this.logger.debug('Flushing webhook batch', { payloadCount: payloads.length });
259
+ // Send all batched payloads
260
+ for (const payload of payloads) {
261
+ await this.sendToEndpoints(payload);
262
+ }
263
+ }
264
+ /**
265
+ * Validate webhook endpoints
266
+ */
267
+ validateEndpoints() {
268
+ for (const endpoint of this.pluginOptions.endpoints) {
269
+ if (!endpoint.url) {
270
+ throw new PluginError(`Webhook endpoint URL is required`, this.name);
271
+ }
272
+ try {
273
+ new URL(endpoint.url);
274
+ }
275
+ catch {
276
+ throw new PluginError(`Invalid webhook URL: ${endpoint.url}`, this.name);
277
+ }
278
+ if (endpoint.events) {
279
+ const validEvents = [
280
+ EXEC_EVENTS.START, EXEC_EVENTS.COMPLETE, EXEC_EVENTS.ERROR,
281
+ CONV_EVENTS.COMPLETE, TOOL_EVENTS_LOCAL.EXECUTED, ERROR_EVENTS.OCCURRED, 'custom'
282
+ ];
283
+ for (const event of endpoint.events) {
284
+ if (!validEvents.includes(event)) {
285
+ throw new PluginError(`Invalid webhook event: ${event}`, this.name);
286
+ }
287
+ }
288
+ }
289
+ }
290
+ }
291
+ /**
292
+ * Get webhook plugin statistics
293
+ */
294
+ getStats() {
295
+ const base = super.getStats();
296
+ return {
297
+ ...base,
298
+ endpointCount: this.pluginOptions.endpoints.length,
299
+ queueLength: this.requestQueue.length,
300
+ batchQueueLength: this.batchQueue.length,
301
+ activeConcurrency: this.activeConcurrency,
302
+ supportedEvents: this.pluginOptions.events,
303
+ totalSent: 0, // TODO: Track total sent webhooks
304
+ totalErrors: 0, // TODO: Track total webhook errors
305
+ averageResponseTime: 0 // TODO: Track average response time
306
+ };
307
+ }
308
+ /**
309
+ * Clear webhook queue
310
+ */
311
+ clearQueue() {
312
+ this.requestQueue = [];
313
+ this.batchQueue = [];
314
+ this.logger.info('Webhook queues cleared');
315
+ }
316
+ /**
317
+ * Cleanup on plugin destruction
318
+ */
319
+ async destroy() {
320
+ if (this.batchTimer) {
321
+ clearInterval(this.batchTimer);
322
+ }
323
+ await this.flushBatch();
324
+ this.clearQueue();
325
+ this.logger.info('WebhookPlugin destroyed');
326
+ }
327
+ }
328
+ //# sourceMappingURL=webhook-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-plugin.js","sourceRoot":"","sources":["../../../src/plugins/webhook/webhook-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Reusable type definitions for schema validation
4
+ */
5
+ /**
6
+ * Schema validation input type
7
+ * Used for validating external data inputs before parsing
8
+ */
9
+ export type TSchemaValidationInput = Record<string, string | number | boolean | Date | string[] | number[] | boolean[] | null | undefined> | string | number | boolean | null | undefined;
10
+ /**
11
+ * Zod schema for validating agent template metadata
12
+ */
13
+ export declare const AgentTemplateMetadataSchema: z.ZodObject<{
14
+ type: z.ZodEnum<["builtin", "custom"]>;
15
+ author: z.ZodOptional<z.ZodString>;
16
+ createdAt: z.ZodOptional<z.ZodUnion<[z.ZodDate, z.ZodEffects<z.ZodString, Date, string>]>>;
17
+ updatedAt: z.ZodOptional<z.ZodUnion<[z.ZodDate, z.ZodEffects<z.ZodString, Date, string>]>>;
18
+ description: z.ZodOptional<z.ZodString>;
19
+ category: z.ZodOptional<z.ZodString>;
20
+ }, "strict", z.ZodTypeAny, {
21
+ type: "custom" | "builtin";
22
+ description?: string | undefined;
23
+ category?: string | undefined;
24
+ updatedAt?: Date | undefined;
25
+ author?: string | undefined;
26
+ createdAt?: Date | undefined;
27
+ }, {
28
+ type: "custom" | "builtin";
29
+ description?: string | undefined;
30
+ category?: string | undefined;
31
+ updatedAt?: string | Date | undefined;
32
+ author?: string | undefined;
33
+ createdAt?: string | Date | undefined;
34
+ }>;
35
+ /**
36
+ * Zod schema for validating agent templates
37
+ */
38
+ export declare const AgentTemplateSchema: z.ZodObject<{
39
+ name: z.ZodString;
40
+ description: z.ZodString;
41
+ llm_provider: z.ZodString;
42
+ model: z.ZodString;
43
+ temperature: z.ZodNumber;
44
+ system_prompt: z.ZodString;
45
+ tags: z.ZodArray<z.ZodString, "many">;
46
+ version: z.ZodOptional<z.ZodString>;
47
+ maxTokens: z.ZodOptional<z.ZodNumber>;
48
+ metadata: z.ZodOptional<z.ZodObject<{
49
+ type: z.ZodEnum<["builtin", "custom"]>;
50
+ author: z.ZodOptional<z.ZodString>;
51
+ createdAt: z.ZodOptional<z.ZodUnion<[z.ZodDate, z.ZodEffects<z.ZodString, Date, string>]>>;
52
+ updatedAt: z.ZodOptional<z.ZodUnion<[z.ZodDate, z.ZodEffects<z.ZodString, Date, string>]>>;
53
+ description: z.ZodOptional<z.ZodString>;
54
+ category: z.ZodOptional<z.ZodString>;
55
+ }, "strict", z.ZodTypeAny, {
56
+ type: "custom" | "builtin";
57
+ description?: string | undefined;
58
+ category?: string | undefined;
59
+ updatedAt?: Date | undefined;
60
+ author?: string | undefined;
61
+ createdAt?: Date | undefined;
62
+ }, {
63
+ type: "custom" | "builtin";
64
+ description?: string | undefined;
65
+ category?: string | undefined;
66
+ updatedAt?: string | Date | undefined;
67
+ author?: string | undefined;
68
+ createdAt?: string | Date | undefined;
69
+ }>>;
70
+ }, "strict", z.ZodTypeAny, {
71
+ temperature: number;
72
+ model: string;
73
+ name: string;
74
+ description: string;
75
+ tags: string[];
76
+ llm_provider: string;
77
+ system_prompt: string;
78
+ maxTokens?: number | undefined;
79
+ metadata?: {
80
+ type: "custom" | "builtin";
81
+ description?: string | undefined;
82
+ category?: string | undefined;
83
+ updatedAt?: Date | undefined;
84
+ author?: string | undefined;
85
+ createdAt?: Date | undefined;
86
+ } | undefined;
87
+ version?: string | undefined;
88
+ }, {
89
+ temperature: number;
90
+ model: string;
91
+ name: string;
92
+ description: string;
93
+ tags: string[];
94
+ llm_provider: string;
95
+ system_prompt: string;
96
+ maxTokens?: number | undefined;
97
+ metadata?: {
98
+ type: "custom" | "builtin";
99
+ description?: string | undefined;
100
+ category?: string | undefined;
101
+ updatedAt?: string | Date | undefined;
102
+ author?: string | undefined;
103
+ createdAt?: string | Date | undefined;
104
+ } | undefined;
105
+ version?: string | undefined;
106
+ }>;
107
+ /**
108
+ * Type for validated agent template
109
+ */
110
+ export type TValidatedAgentTemplate = z.infer<typeof AgentTemplateSchema>;
111
+ /**
112
+ * Validate an agent template
113
+ *
114
+ * @param template - Template to validate
115
+ * @returns Validated template
116
+ * @throws {z.ZodError} When validation fails
117
+ */
118
+ export declare function validateAgentTemplate(template: TSchemaValidationInput): TValidatedAgentTemplate;
119
+ /**
120
+ * Safely validate an agent template with error handling
121
+ *
122
+ * @param template - Template to validate
123
+ * @returns Validation result with success flag and data or error
124
+ */
125
+ export declare function safeValidateAgentTemplate(template: TSchemaValidationInput): {
126
+ success: boolean;
127
+ data?: TValidatedAgentTemplate;
128
+ error?: z.ZodError;
129
+ };
130
+ /**
131
+ * Get formatted validation errors
132
+ *
133
+ * @param error - Zod validation error
134
+ * @returns Formatted error messages
135
+ */
136
+ export declare function getValidationErrors(error: z.ZodError): string[];
137
+ //# sourceMappingURL=agent-template-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-template-schema.d.ts","sourceRoot":"","sources":["../../src/schemas/agent-template-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1L;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCrB,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,uBAAuB,CAE/F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,sBAAsB,GAAG;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,uBAAuB,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;CACtB,CAQA;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,EAAE,CAK/D"}
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for validating agent template metadata
4
+ */
5
+ export const AgentTemplateMetadataSchema = z.object({
6
+ type: z.enum(['builtin', 'custom']),
7
+ author: z.string().optional(),
8
+ createdAt: z.union([
9
+ z.date(),
10
+ z.string().transform((str) => new Date(str))
11
+ ]).optional(),
12
+ updatedAt: z.union([
13
+ z.date(),
14
+ z.string().transform((str) => new Date(str))
15
+ ]).optional(),
16
+ description: z.string().optional(),
17
+ category: z.string().optional()
18
+ }).strict();
19
+ /**
20
+ * Zod schema for validating agent templates
21
+ */
22
+ export const AgentTemplateSchema = z.object({
23
+ name: z.string()
24
+ .min(1, 'Template name cannot be empty')
25
+ .regex(/^[a-z0-9_-]+$/, 'Template name must contain only lowercase letters, numbers, underscores, and hyphens'),
26
+ description: z.string()
27
+ .min(10, 'Description must be at least 10 characters long'),
28
+ llm_provider: z.string()
29
+ .min(1, 'LLM provider is required')
30
+ .regex(/^[a-z0-9_-]+$/, 'Provider name must contain only lowercase letters, numbers, underscores, and hyphens'),
31
+ model: z.string()
32
+ .min(1, 'Model name is required'),
33
+ temperature: z.number()
34
+ .min(0, 'Temperature must be >= 0')
35
+ .max(1, 'Temperature must be <= 1'),
36
+ system_prompt: z.string()
37
+ .min(50, 'System prompt must be at least 50 characters long'),
38
+ tags: z.array(z.string())
39
+ .min(1, 'At least one tag is required')
40
+ .max(10, 'Maximum 10 tags allowed'),
41
+ version: z.string()
42
+ .regex(/^\d+\.\d+\.\d+$/, 'Version must follow semantic versioning (x.y.z)')
43
+ .optional(),
44
+ maxTokens: z.number()
45
+ .min(1)
46
+ .max(100000)
47
+ .optional(),
48
+ metadata: AgentTemplateMetadataSchema.optional()
49
+ }).strict();
50
+ /**
51
+ * Validate an agent template
52
+ *
53
+ * @param template - Template to validate
54
+ * @returns Validated template
55
+ * @throws {z.ZodError} When validation fails
56
+ */
57
+ export function validateAgentTemplate(template) {
58
+ return AgentTemplateSchema.parse(template);
59
+ }
60
+ /**
61
+ * Safely validate an agent template with error handling
62
+ *
63
+ * @param template - Template to validate
64
+ * @returns Validation result with success flag and data or error
65
+ */
66
+ export function safeValidateAgentTemplate(template) {
67
+ const result = AgentTemplateSchema.safeParse(template);
68
+ if (result.success) {
69
+ return { success: true, data: result.data };
70
+ }
71
+ else {
72
+ return { success: false, error: result.error };
73
+ }
74
+ }
75
+ /**
76
+ * Get formatted validation errors
77
+ *
78
+ * @param error - Zod validation error
79
+ * @returns Formatted error messages
80
+ */
81
+ export function getValidationErrors(error) {
82
+ return error.errors.map(err => {
83
+ const path = err.path.length > 0 ? err.path.join('.') : 'root';
84
+ return `${path}: ${err.message}`;
85
+ });
86
+ }
87
+ //# sourceMappingURL=agent-template-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-template-schema.js","sourceRoot":"","sources":["../../src/schemas/agent-template-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import type { IAssistantMessage, ISystemMessage, IToolMessage, IUserMessage, TUniversalMessage } from '../../interfaces/messages';
2
+ import type { IAIProvider } from '../../interfaces/provider';
3
+ import type { TUniversalValue } from '../../interfaces/types';
4
+ import { IConversationContext, IConversationResponse, IStreamingChunk, IConversationServiceOptions, IContextOptions, IConversationService } from '../../interfaces/service';
5
+ /**
6
+ * Conversation Service - handles AI provider interactions and response processing
7
+ * Stateless service that manages conversation context, AI provider calls, and response processing
8
+ * All methods are pure functions without instance state
9
+ * @internal
10
+ */
11
+ export declare class ConversationService implements IConversationService {
12
+ /**
13
+ * Prepare conversation context from messages and configuration
14
+ * Pure function that transforms inputs to context object
15
+ */
16
+ prepareContext(messages: TUniversalMessage[], model: string, provider: string, contextOptions?: IContextOptions, serviceOptions?: IConversationServiceOptions): IConversationContext;
17
+ /**
18
+ * Generate a response using the AI provider
19
+ * Stateless operation that handles the full request-response cycle
20
+ */
21
+ generateResponse(provider: IAIProvider, context: IConversationContext, serviceOptions?: IConversationServiceOptions): Promise<IConversationResponse>;
22
+ /**
23
+ * Generate streaming response using the AI provider
24
+ * Stateless streaming operation
25
+ */
26
+ generateStreamingResponse(provider: IAIProvider, context: IConversationContext, serviceOptions?: IConversationServiceOptions): AsyncGenerator<IStreamingChunk, void, undefined>;
27
+ /**
28
+ * Validate conversation context
29
+ * Pure validation function
30
+ */
31
+ validateContext(context: IConversationContext): {
32
+ isValid: boolean;
33
+ errors: string[];
34
+ };
35
+ /**
36
+ * Static helper method for context creation
37
+ */
38
+ private static createContext;
39
+ /**
40
+ * Static method for response generation
41
+ */
42
+ private static performResponseGeneration;
43
+ /**
44
+ * Static method for streaming response generation
45
+ */
46
+ private static performStreamingResponse;
47
+ /**
48
+ * Static method for context validation
49
+ */
50
+ private static performContextValidation;
51
+ /**
52
+ * Create a user message
53
+ */
54
+ createUserMessage(content: string, metadata?: Record<string, string | number | boolean>): IUserMessage;
55
+ /**
56
+ * Create an assistant message from response
57
+ */
58
+ createAssistantMessage(response: IConversationResponse, metadata?: Record<string, string | number | boolean>): IAssistantMessage;
59
+ /**
60
+ * Create a system message
61
+ */
62
+ createSystemMessage(content: string, metadata?: Record<string, string | number | boolean>): ISystemMessage;
63
+ /**
64
+ * Create a tool message
65
+ */
66
+ createToolMessage(toolCallId: string, result: TUniversalValue, metadata?: Record<string, string | number | boolean>): IToolMessage;
67
+ private static createUserMessageStatic;
68
+ private static createAssistantMessageStatic;
69
+ private static createSystemMessageStatic;
70
+ private static createToolMessageStatic;
71
+ /**
72
+ * Convert complex metadata to simple provider request format
73
+ */
74
+ private static convertToProviderMetadata;
75
+ /**
76
+ * Convert optional usage to required format
77
+ */
78
+ private static convertUsage;
79
+ private static createProviderRequest;
80
+ private static processProviderResponse;
81
+ private static processStreamingChunk;
82
+ private static executeWithRetry;
83
+ private static shouldRetryError;
84
+ private static withTimeout;
85
+ private static createTimeoutPromise;
86
+ private static delay;
87
+ }
88
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/conversation-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,iBAAiB,EACjB,cAAc,EAEd,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAA0C,MAAM,2BAA2B,CAAC;AACrG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EACH,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,oBAAoB,EAEvB,MAAM,0BAA0B,CAAC;AAoClC;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,oBAAoB;IAE5D;;;OAGG;IACH,cAAc,CACV,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,eAAoB,EACpC,cAAc,GAAE,2BAAgC,GACjD,oBAAoB;IAYvB;;;OAGG;IACG,gBAAgB,CAClB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,oBAAoB,EAC7B,cAAc,GAAE,2BAAgC,GACjD,OAAO,CAAC,qBAAqB,CAAC;IAKjC;;;OAGG;IACI,yBAAyB,CAC5B,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,oBAAoB,EAC7B,cAAc,GAAE,2BAAgC,GACjD,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC;IAKnD;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAQtF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAiD5B;;OAEG;mBACkB,yBAAyB;IA6D9C;;OAEG;mBACmB,wBAAwB;IA0E9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAmCvC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,YAAY;IAItG;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,iBAAiB;IAIhI;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,cAAc;IAI1G;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,YAAY;IAKlI,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAYtC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAoB3C,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAYxC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAiBtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAkBxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAe3B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAiBpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IActC,OAAO,CAAC,MAAM,CAAC,qBAAqB;mBAaf,gBAAgB;IA+CrC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAoB/B,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAQnC,OAAO,CAAC,MAAM,CAAC,KAAK;CAGvB"}