@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,146 @@
1
+ import { ValidationError } from '../../utils/errors';
2
+ import { logger } from '../../utils/logger';
3
+ /**
4
+ * Tool registry implementation
5
+ * Manages tool registration, validation, and retrieval
6
+ */
7
+ export class ToolRegistry {
8
+ tools = new Map();
9
+ /**
10
+ * Register a tool
11
+ */
12
+ register(tool) {
13
+ if (!tool.schema?.name) {
14
+ throw new ValidationError('Tool must have a valid schema with name');
15
+ }
16
+ const toolName = tool.schema.name;
17
+ // Validate tool schema
18
+ this.validateToolSchema(tool.schema);
19
+ // Check for duplicate registration
20
+ if (this.tools.has(toolName)) {
21
+ logger.warn(`Tool "${toolName}" is already registered, overriding`, {
22
+ toolName,
23
+ existingTool: this.tools.get(toolName)?.constructor.name
24
+ });
25
+ }
26
+ this.tools.set(toolName, tool);
27
+ logger.debug(`Tool "${toolName}" registered successfully`, {
28
+ toolName,
29
+ toolType: tool.constructor.name,
30
+ parameters: Object.keys(tool.schema.parameters?.properties || {})
31
+ });
32
+ }
33
+ /**
34
+ * Unregister a tool
35
+ */
36
+ unregister(name) {
37
+ if (!this.tools.has(name)) {
38
+ logger.warn(`Attempted to unregister non-existent tool "${name}"`);
39
+ return;
40
+ }
41
+ this.tools.delete(name);
42
+ logger.debug(`Tool "${name}" unregistered successfully`);
43
+ }
44
+ /**
45
+ * Get tool by name
46
+ */
47
+ get(name) {
48
+ return this.tools.get(name);
49
+ }
50
+ /**
51
+ * Get all registered tools
52
+ */
53
+ getAll() {
54
+ return Array.from(this.tools.values());
55
+ }
56
+ /**
57
+ * Get tool schemas
58
+ */
59
+ getSchemas() {
60
+ const tools = this.getAll();
61
+ // 🔍 [TOOL-FLOW] ToolRegistry.getSchemas() - Extracting schemas from tools
62
+ logger.debug('[TOOL-FLOW] ToolRegistry.getSchemas() - Tools before schema extraction', {
63
+ count: tools.length,
64
+ tools: tools.map(t => ({
65
+ name: t.schema?.name ?? 'unnamed',
66
+ hasSchema: !!t.schema,
67
+ schemaType: typeof t.schema,
68
+ toolType: t.constructor?.name || 'unknown'
69
+ }))
70
+ });
71
+ return this.getAll().map(tool => tool.schema);
72
+ }
73
+ /**
74
+ * Check if tool exists
75
+ */
76
+ has(name) {
77
+ return this.tools.has(name);
78
+ }
79
+ /**
80
+ * Clear all tools
81
+ */
82
+ clear() {
83
+ const toolCount = this.tools.size;
84
+ this.tools.clear();
85
+ logger.debug(`Cleared ${toolCount} tools from registry`);
86
+ }
87
+ /**
88
+ * Get tool names
89
+ */
90
+ getToolNames() {
91
+ return Array.from(this.tools.keys());
92
+ }
93
+ /**
94
+ * Get tools by pattern
95
+ */
96
+ getToolsByPattern(pattern) {
97
+ const regex = typeof pattern === 'string' ? new RegExp(pattern) : pattern;
98
+ return this.getAll().filter(tool => regex.test(tool.schema.name));
99
+ }
100
+ /**
101
+ * Get tool count
102
+ */
103
+ size() {
104
+ return this.tools.size;
105
+ }
106
+ /**
107
+ * Validate tool schema
108
+ */
109
+ validateToolSchema(schema) {
110
+ if (!schema.name || typeof schema.name !== 'string') {
111
+ throw new ValidationError('Tool schema must have a valid name');
112
+ }
113
+ if (!schema.description || typeof schema.description !== 'string') {
114
+ throw new ValidationError('Tool schema must have a description');
115
+ }
116
+ if (!schema.parameters || typeof schema.parameters !== 'object' || schema.parameters === null || Array.isArray(schema.parameters)) {
117
+ throw new ValidationError('Tool schema must have parameters object');
118
+ }
119
+ if (schema.parameters.type !== 'object') {
120
+ throw new ValidationError('Tool parameters type must be "object"');
121
+ }
122
+ // Validate parameter properties
123
+ if (schema.parameters.properties) {
124
+ for (const propName of Object.keys(schema.parameters.properties)) {
125
+ const propSchema = schema.parameters.properties[propName];
126
+ if (!propSchema?.type) {
127
+ throw new ValidationError(`Parameter "${propName}" must have a type`);
128
+ }
129
+ const validTypes = ['string', 'number', 'boolean', 'array', 'object'];
130
+ if (!validTypes.includes(propSchema.type)) {
131
+ throw new ValidationError(`Parameter "${propName}" has invalid type "${propSchema.type}"`);
132
+ }
133
+ }
134
+ }
135
+ // Validate required fields exist in properties
136
+ if (schema.parameters.required) {
137
+ const properties = schema.parameters.properties || {};
138
+ for (const requiredField of schema.parameters.required) {
139
+ if (!properties[requiredField]) {
140
+ throw new ValidationError(`Required parameter "${requiredField}" is not defined in properties`);
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
146
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/registry/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Reusable type definitions for error utilities
3
+ */
4
+ /**
5
+ * Error context data type
6
+ * Used for storing contextual information in error instances
7
+ */
8
+ export type TErrorContextData = Record<string, string | number | boolean | Date | Error | string[] | undefined>;
9
+ /**
10
+ * Error external input type
11
+ * Used for handling external errors from unknown sources
12
+ */
13
+ export type TErrorExternalInput = Error | string | Record<string, string | number | boolean> | null | undefined;
14
+ /**
15
+ * Base error class for all Robota errors
16
+ */
17
+ export declare abstract class RobotaError extends Error {
18
+ readonly context?: TErrorContextData | undefined;
19
+ abstract readonly code: string;
20
+ abstract readonly category: 'user' | 'system' | 'provider';
21
+ abstract readonly recoverable: boolean;
22
+ constructor(message: string, context?: TErrorContextData | undefined);
23
+ }
24
+ /**
25
+ * Configuration related errors
26
+ */
27
+ export declare class ConfigurationError extends RobotaError {
28
+ readonly code = "CONFIGURATION_ERROR";
29
+ readonly category: "user";
30
+ readonly recoverable = false;
31
+ constructor(message: string, context?: TErrorContextData);
32
+ }
33
+ /**
34
+ * Input validation errors
35
+ */
36
+ export declare class ValidationError extends RobotaError {
37
+ readonly field?: string | undefined;
38
+ readonly code = "VALIDATION_ERROR";
39
+ readonly category: "user";
40
+ readonly recoverable = false;
41
+ constructor(message: string, field?: string | undefined, context?: TErrorContextData);
42
+ }
43
+ /**
44
+ * Provider related errors
45
+ */
46
+ export declare class ProviderError extends RobotaError {
47
+ readonly provider: string;
48
+ readonly originalError?: Error | undefined;
49
+ readonly code = "PROVIDER_ERROR";
50
+ readonly category: "provider";
51
+ readonly recoverable = true;
52
+ constructor(message: string, provider: string, originalError?: Error | undefined, context?: TErrorContextData);
53
+ }
54
+ /**
55
+ * Authentication errors
56
+ */
57
+ export declare class AuthenticationError extends RobotaError {
58
+ readonly provider?: string | undefined;
59
+ readonly code = "AUTHENTICATION_ERROR";
60
+ readonly category: "user";
61
+ readonly recoverable = false;
62
+ constructor(message: string, provider?: string | undefined, context?: TErrorContextData);
63
+ }
64
+ /**
65
+ * Rate limit errors
66
+ */
67
+ export declare class RateLimitError extends RobotaError {
68
+ readonly retryAfter?: number | undefined;
69
+ readonly provider?: string | undefined;
70
+ readonly code = "RATE_LIMIT_ERROR";
71
+ readonly category: "provider";
72
+ readonly recoverable = true;
73
+ constructor(message: string, retryAfter?: number | undefined, provider?: string | undefined, context?: TErrorContextData);
74
+ }
75
+ /**
76
+ * Network/connectivity errors
77
+ */
78
+ export declare class NetworkError extends RobotaError {
79
+ readonly originalError?: Error | undefined;
80
+ readonly code = "NETWORK_ERROR";
81
+ readonly category: "system";
82
+ readonly recoverable = true;
83
+ constructor(message: string, originalError?: Error | undefined, context?: TErrorContextData);
84
+ }
85
+ /**
86
+ * Tool execution errors
87
+ */
88
+ export declare class ToolExecutionError extends RobotaError {
89
+ readonly toolName: string;
90
+ readonly originalError?: Error | undefined;
91
+ readonly code = "TOOL_EXECUTION_ERROR";
92
+ readonly category: "system";
93
+ readonly recoverable = false;
94
+ constructor(message: string, toolName: string, originalError?: Error | undefined, context?: TErrorContextData);
95
+ }
96
+ /**
97
+ * Model not available errors
98
+ */
99
+ export declare class ModelNotAvailableError extends RobotaError {
100
+ readonly availableModels?: string[] | undefined;
101
+ readonly code = "MODEL_NOT_AVAILABLE";
102
+ readonly category: "user";
103
+ readonly recoverable = false;
104
+ constructor(model: string, provider: string, availableModels?: string[] | undefined, context?: TErrorContextData);
105
+ }
106
+ /**
107
+ * Circuit breaker open error
108
+ */
109
+ export declare class CircuitBreakerOpenError extends RobotaError {
110
+ readonly code = "CIRCUIT_BREAKER_OPEN";
111
+ readonly category: "system";
112
+ readonly recoverable = true;
113
+ constructor(message?: string, context?: TErrorContextData);
114
+ }
115
+ /**
116
+ * Plugin errors
117
+ */
118
+ export declare class PluginError extends RobotaError {
119
+ readonly pluginName: string;
120
+ readonly code = "PLUGIN_ERROR";
121
+ readonly category: "system";
122
+ readonly recoverable = false;
123
+ constructor(message: string, pluginName: string, context?: TErrorContextData);
124
+ }
125
+ /**
126
+ * Storage related errors
127
+ */
128
+ export declare class StorageError extends RobotaError {
129
+ readonly code = "STORAGE_ERROR";
130
+ readonly category: "system";
131
+ readonly recoverable = true;
132
+ constructor(message: string, context?: TErrorContextData);
133
+ }
134
+ /**
135
+ * Error utility functions
136
+ */
137
+ export declare class ErrorUtils {
138
+ /**
139
+ * Check if error is recoverable
140
+ */
141
+ static isRecoverable(error: Error): boolean;
142
+ /**
143
+ * Extract error code from any error
144
+ */
145
+ static getErrorCode(error: Error): string;
146
+ /**
147
+ * Create error from unknown value
148
+ */
149
+ static fromUnknown(error: TErrorExternalInput, defaultMessage?: string): RobotaError;
150
+ /**
151
+ * Wrap external errors
152
+ */
153
+ static wrapProviderError(error: TErrorExternalInput, provider: string, operation: string): ProviderError;
154
+ }
155
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAEhH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhH;;GAEG;AACH,8BAAsB,WAAY,SAAQ,KAAK;aAOvB,OAAO,CAAC,EAAE,iBAAiB;IAN/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;gBAGnC,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,iBAAiB,YAAA;CAQlD;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,QAAQ,CAAC,WAAW,SAAS;gBAEjB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAG3D;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;aAKC,KAAK,CAAC,EAAE,MAAM;IAJ3D,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,QAAQ,CAAC,WAAW,SAAS;gBAEjB,OAAO,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,MAAM,YAAA,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAG3F;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;aAOtB,QAAQ,EAAE,MAAM;aAChB,aAAa,CAAC,EAAE,KAAK;IAPzC,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IACxC,QAAQ,CAAC,WAAW,QAAQ;gBAGxB,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,KAAK,YAAA,EACrC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;aAO5B,QAAQ,CAAC,EAAE,MAAM;IANrC,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,QAAQ,CAAC,WAAW,SAAS;gBAGzB,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;aAOvB,UAAU,CAAC,EAAE,MAAM;aACnB,QAAQ,CAAC,EAAE,MAAM;IAPrC,QAAQ,CAAC,IAAI,sBAAsB;IACnC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;IACxC,QAAQ,CAAC,WAAW,QAAQ;gBAGxB,OAAO,EAAE,MAAM,EACC,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;aAOrB,aAAa,CAAC,EAAE,KAAK;IANzC,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,QAAQ,CAAC,WAAW,QAAQ;gBAGxB,OAAO,EAAE,MAAM,EACC,aAAa,CAAC,EAAE,KAAK,YAAA,EACrC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;aAO3B,QAAQ,EAAE,MAAM;aAChB,aAAa,CAAC,EAAE,KAAK;IAPzC,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,QAAQ,CAAC,WAAW,SAAS;gBAGzB,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,KAAK,YAAA,EACrC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;aAQ/B,eAAe,CAAC,EAAE,MAAM,EAAE;IAP9C,QAAQ,CAAC,IAAI,yBAAyB;IACtC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,QAAQ,CAAC,WAAW,SAAS;gBAGzB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EACA,eAAe,CAAC,EAAE,MAAM,EAAE,YAAA,EAC1C,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,QAAQ,CAAC,WAAW,QAAQ;gBAEhB,OAAO,GAAE,MAAkC,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGvF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;aAOpB,UAAU,EAAE,MAAM;IANtC,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,QAAQ,CAAC,WAAW,SAAS;gBAGzB,OAAO,EAAE,MAAM,EACC,UAAU,EAAE,MAAM,EAClC,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IACzC,QAAQ,CAAC,IAAI,mBAAmB;IAChC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;IACtC,QAAQ,CAAC,WAAW,QAAQ;gBAGxB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,iBAAiB;CAIlC;AAED;;GAEG;AACH,qBAAa,UAAU;IACnB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAO3C;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAOzC;;GAED;IACC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE,cAAc,SAA8B,GAAG,WAAW;IAazG;;OAEG;IACH,MAAM,CAAC,iBAAiB,CACpB,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAClB,aAAa;CASnB"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Reusable type definitions for error utilities
3
+ */
4
+ /**
5
+ * Base error class for all Robota errors
6
+ */
7
+ export class RobotaError extends Error {
8
+ context;
9
+ constructor(message, context) {
10
+ super(message);
11
+ this.context = context;
12
+ this.name = this.constructor.name;
13
+ // Ensure proper prototype chain for instanceof checks
14
+ Object.setPrototypeOf(this, new.target.prototype);
15
+ }
16
+ }
17
+ /**
18
+ * Configuration related errors
19
+ */
20
+ export class ConfigurationError extends RobotaError {
21
+ code = 'CONFIGURATION_ERROR';
22
+ category = 'user';
23
+ recoverable = false;
24
+ constructor(message, context) {
25
+ super(`Configuration Error: ${message}`, context);
26
+ }
27
+ }
28
+ /**
29
+ * Input validation errors
30
+ */
31
+ export class ValidationError extends RobotaError {
32
+ field;
33
+ code = 'VALIDATION_ERROR';
34
+ category = 'user';
35
+ recoverable = false;
36
+ constructor(message, field, context) {
37
+ super(`Validation Error: ${message}`, context);
38
+ this.field = field;
39
+ }
40
+ }
41
+ /**
42
+ * Provider related errors
43
+ */
44
+ export class ProviderError extends RobotaError {
45
+ provider;
46
+ originalError;
47
+ code = 'PROVIDER_ERROR';
48
+ category = 'provider';
49
+ recoverable = true;
50
+ constructor(message, provider, originalError, context) {
51
+ super(`Provider Error (${provider}): ${message}`, context);
52
+ this.provider = provider;
53
+ this.originalError = originalError;
54
+ }
55
+ }
56
+ /**
57
+ * Authentication errors
58
+ */
59
+ export class AuthenticationError extends RobotaError {
60
+ provider;
61
+ code = 'AUTHENTICATION_ERROR';
62
+ category = 'user';
63
+ recoverable = false;
64
+ constructor(message, provider, context) {
65
+ super(`Authentication Error: ${message}`, context);
66
+ this.provider = provider;
67
+ }
68
+ }
69
+ /**
70
+ * Rate limit errors
71
+ */
72
+ export class RateLimitError extends RobotaError {
73
+ retryAfter;
74
+ provider;
75
+ code = 'RATE_LIMIT_ERROR';
76
+ category = 'provider';
77
+ recoverable = true;
78
+ constructor(message, retryAfter, provider, context) {
79
+ super(`Rate Limit Error: ${message}`, context);
80
+ this.retryAfter = retryAfter;
81
+ this.provider = provider;
82
+ }
83
+ }
84
+ /**
85
+ * Network/connectivity errors
86
+ */
87
+ export class NetworkError extends RobotaError {
88
+ originalError;
89
+ code = 'NETWORK_ERROR';
90
+ category = 'system';
91
+ recoverable = true;
92
+ constructor(message, originalError, context) {
93
+ super(`Network Error: ${message}`, context);
94
+ this.originalError = originalError;
95
+ }
96
+ }
97
+ /**
98
+ * Tool execution errors
99
+ */
100
+ export class ToolExecutionError extends RobotaError {
101
+ toolName;
102
+ originalError;
103
+ code = 'TOOL_EXECUTION_ERROR';
104
+ category = 'system';
105
+ recoverable = false;
106
+ constructor(message, toolName, originalError, context) {
107
+ super(`Tool Execution Error (${toolName}): ${message}`, context);
108
+ this.toolName = toolName;
109
+ this.originalError = originalError;
110
+ }
111
+ }
112
+ /**
113
+ * Model not available errors
114
+ */
115
+ export class ModelNotAvailableError extends RobotaError {
116
+ availableModels;
117
+ code = 'MODEL_NOT_AVAILABLE';
118
+ category = 'user';
119
+ recoverable = false;
120
+ constructor(model, provider, availableModels, context) {
121
+ super(`Model "${model}" is not available for provider "${provider}"`, context);
122
+ this.availableModels = availableModels;
123
+ }
124
+ }
125
+ /**
126
+ * Circuit breaker open error
127
+ */
128
+ export class CircuitBreakerOpenError extends RobotaError {
129
+ code = 'CIRCUIT_BREAKER_OPEN';
130
+ category = 'system';
131
+ recoverable = true;
132
+ constructor(message = 'Circuit breaker is open', context) {
133
+ super(message, context);
134
+ }
135
+ }
136
+ /**
137
+ * Plugin errors
138
+ */
139
+ export class PluginError extends RobotaError {
140
+ pluginName;
141
+ code = 'PLUGIN_ERROR';
142
+ category = 'system';
143
+ recoverable = false;
144
+ constructor(message, pluginName, context) {
145
+ super(`Plugin Error (${pluginName}): ${message}`, context);
146
+ this.pluginName = pluginName;
147
+ }
148
+ }
149
+ /**
150
+ * Storage related errors
151
+ */
152
+ export class StorageError extends RobotaError {
153
+ code = 'STORAGE_ERROR';
154
+ category = 'system';
155
+ recoverable = true;
156
+ constructor(message, context) {
157
+ super(`Storage Error: ${message}`, context);
158
+ }
159
+ }
160
+ /**
161
+ * Error utility functions
162
+ */
163
+ export class ErrorUtils {
164
+ /**
165
+ * Check if error is recoverable
166
+ */
167
+ static isRecoverable(error) {
168
+ if (error instanceof RobotaError) {
169
+ return error.recoverable;
170
+ }
171
+ return false;
172
+ }
173
+ /**
174
+ * Extract error code from any error
175
+ */
176
+ static getErrorCode(error) {
177
+ if (error instanceof RobotaError) {
178
+ return error.code;
179
+ }
180
+ return 'UNKNOWN_ERROR';
181
+ }
182
+ /**
183
+ * Create error from unknown value
184
+ */
185
+ static fromUnknown(error, defaultMessage = 'An unknown error occurred') {
186
+ if (error instanceof RobotaError) {
187
+ return error;
188
+ }
189
+ if (error instanceof Error) {
190
+ return new ConfigurationError(error.message || defaultMessage);
191
+ }
192
+ const message = typeof error === 'string' ? error : defaultMessage;
193
+ return new ConfigurationError(message);
194
+ }
195
+ /**
196
+ * Wrap external errors
197
+ */
198
+ static wrapProviderError(error, provider, operation) {
199
+ const originalError = error instanceof Error ? error : new Error(String(error));
200
+ return new ProviderError(`Failed to ${operation}`, provider, originalError, { operation });
201
+ }
202
+ }
203
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { IEventService } from '../services/event-service';
2
+ /**
3
+ * Configuration for execution proxy
4
+ */
5
+ export interface IExecutionProxyConfig {
6
+ eventService: IEventService;
7
+ sourceType: 'agent' | 'team' | 'tool';
8
+ sourceId: string;
9
+ enabledEvents?: {
10
+ execution?: boolean;
11
+ toolCall?: boolean;
12
+ task?: boolean;
13
+ };
14
+ }
15
+ /**
16
+ * Metadata extractor function type
17
+ */
18
+ export type TMetadataExtractor = (target: any, methodName: string, args: any[]) => Record<string, any>;
19
+ /**
20
+ * Method configuration for proxy
21
+ */
22
+ export interface IMethodConfig {
23
+ startEvent?: string;
24
+ completeEvent?: string;
25
+ errorEvent?: string;
26
+ extractMetadata?: TMetadataExtractor;
27
+ extractResult?: (result: any) => any;
28
+ }
29
+ /**
30
+ * ExecutionProxy - Automatic event emission using Proxy pattern
31
+ *
32
+ * This class wraps target objects and automatically emits events
33
+ * around method execution without modifying business logic.
34
+ *
35
+ * Benefits:
36
+ * - Zero business logic pollution
37
+ * - Automatic event emission
38
+ * - Configurable per method
39
+ * - AOP (Aspect-Oriented Programming) pattern
40
+ */
41
+ export declare class ExecutionProxy<T extends object = object> {
42
+ private config;
43
+ private methodConfigs;
44
+ constructor(config: IExecutionProxyConfig);
45
+ /**
46
+ * Configure specific methods for event emission
47
+ */
48
+ configureMethod(methodName: string, config: IMethodConfig): this;
49
+ /**
50
+ * Configure multiple methods with standard patterns
51
+ */
52
+ configureStandardMethods(): this;
53
+ /**
54
+ * Create a proxy wrapper around the target object
55
+ */
56
+ wrap(target: T): T;
57
+ /**
58
+ * Emit event with standard ServiceEventData format
59
+ */
60
+ private emitEvent;
61
+ /**
62
+ * Generate unique execution ID
63
+ */
64
+ private generateExecutionId;
65
+ }
66
+ /**
67
+ * Factory function to create execution proxy with standard configuration
68
+ */
69
+ export declare function createExecutionProxy<T extends object>(target: T, config: IExecutionProxyConfig): T;
70
+ /**
71
+ * Decorator function for automatic event emission
72
+ * Usage: @withEventEmission(eventService, 'agent', 'agent-id')
73
+ */
74
+ export declare function withEventEmission(eventService: IEventService, sourceType: 'agent' | 'team' | 'tool', sourceId: string): <T extends object>(target: T) => T;
75
+ //# sourceMappingURL=execution-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/execution-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACxC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACjD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,aAAa,CAAyC;gBAElD,MAAM,EAAE,qBAAqB;IAIzC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI;IAKhE;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAoFhC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;IAmFlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAG9B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACjD,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,qBAAqB,GAC9B,CAAC,CAIH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC7B,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EACrC,QAAQ,EAAE,MAAM,IAEC,CAAC,SAAS,MAAM,EAAE,QAAQ,CAAC,KAAG,CAAC,CAOnD"}