@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,416 @@
1
+ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
2
+ import { Robota } from '../core/robota';
3
+ import { AbstractAgent } from '../abstracts/abstract-agent';
4
+ import { AbstractPlugin } from '../abstracts/abstract-plugin';
5
+ import { AbstractTool as BaseTool } from '../abstracts/abstract-tool';
6
+ import { AbstractAIProvider } from '../abstracts/abstract-ai-provider';
7
+ import { ConfigurationError } from '../utils/errors';
8
+ // Mock AI Provider for testing
9
+ class MockAIProvider extends AbstractAIProvider {
10
+ name = 'mock-provider';
11
+ version = '1.0.0';
12
+ constructor() {
13
+ super();
14
+ }
15
+ async chat(messages, options) {
16
+ return {
17
+ role: 'assistant',
18
+ content: 'Mock response',
19
+ timestamp: new Date()
20
+ };
21
+ }
22
+ async *chatStream(messages, options) {
23
+ yield {
24
+ role: 'assistant',
25
+ content: 'Mock response',
26
+ timestamp: new Date()
27
+ };
28
+ }
29
+ }
30
+ // Second Mock AI Provider for multi-provider testing
31
+ class MockAIProvider2 extends AbstractAIProvider {
32
+ name = 'mock-provider-2';
33
+ version = '1.0.0';
34
+ constructor() {
35
+ super();
36
+ }
37
+ async chat(messages, options) {
38
+ return {
39
+ role: 'assistant',
40
+ content: 'Mock response from provider 2',
41
+ timestamp: new Date()
42
+ };
43
+ }
44
+ async *chatStream(messages, options) {
45
+ yield {
46
+ role: 'assistant',
47
+ content: 'Mock response from provider 2',
48
+ timestamp: new Date()
49
+ };
50
+ }
51
+ }
52
+ // Mock Tool for testing
53
+ class MockTool extends BaseTool {
54
+ get schema() {
55
+ return {
56
+ name: 'mock-tool',
57
+ description: 'Mock tool for testing',
58
+ parameters: {
59
+ type: 'object',
60
+ properties: {
61
+ input: { type: 'string' }
62
+ }
63
+ }
64
+ };
65
+ }
66
+ async executeImpl(parameters, _context) {
67
+ const inputValue = parameters.input;
68
+ const inputText = typeof inputValue === 'string' ? inputValue : 'no input';
69
+ return {
70
+ success: true,
71
+ data: `Mock tool executed with: ${inputText}`
72
+ };
73
+ }
74
+ }
75
+ // Mock Plugin for testing
76
+ class MockPlugin extends AbstractPlugin {
77
+ name = 'mock-plugin';
78
+ version = '1.0.0';
79
+ async beforeRun(input, _options) {
80
+ // Mock hook implementation
81
+ }
82
+ async afterRun(input, response, _options) {
83
+ // Mock hook implementation
84
+ }
85
+ }
86
+ describe('Robota Class - New Configuration API', () => {
87
+ let mockProvider;
88
+ let mockProvider2;
89
+ let mockTool;
90
+ let mockPlugin;
91
+ let config;
92
+ beforeEach(() => {
93
+ mockProvider = new MockAIProvider();
94
+ mockProvider2 = new MockAIProvider2();
95
+ mockTool = new MockTool();
96
+ mockPlugin = new MockPlugin();
97
+ config = {
98
+ name: 'Test Robota',
99
+ aiProviders: [mockProvider],
100
+ defaultModel: {
101
+ provider: 'mock-provider',
102
+ model: 'mock-model',
103
+ temperature: 0.7
104
+ },
105
+ tools: [mockTool],
106
+ plugins: [mockPlugin],
107
+ logging: {
108
+ level: 'silent',
109
+ enabled: false
110
+ }
111
+ };
112
+ });
113
+ afterEach(() => {
114
+ vi.clearAllMocks();
115
+ });
116
+ describe('New Constructor Format', () => {
117
+ it('should create instance with new configuration format', () => {
118
+ const robota = new Robota(config);
119
+ expect(robota).toBeInstanceOf(AbstractAgent);
120
+ expect(robota).toBeInstanceOf(Robota);
121
+ expect(robota.name).toBe('Test Robota');
122
+ });
123
+ it('should validate required fields', () => {
124
+ expect(() => new Robota({})).toThrow(ConfigurationError);
125
+ expect(() => new Robota({
126
+ name: 'Test',
127
+ aiProviders: [],
128
+ defaultModel: {
129
+ provider: 'test',
130
+ model: 'test'
131
+ }
132
+ })).toThrow(ConfigurationError);
133
+ });
134
+ it('should validate AI provider existence', () => {
135
+ expect(() => new Robota({
136
+ name: 'Test',
137
+ aiProviders: [mockProvider],
138
+ defaultModel: {
139
+ provider: 'non-existent-provider',
140
+ model: 'test-model'
141
+ }
142
+ })).toThrow(ConfigurationError);
143
+ });
144
+ it('should validate duplicate AI provider names', () => {
145
+ const duplicateProvider = new MockAIProvider();
146
+ expect(() => new Robota({
147
+ name: 'Test',
148
+ aiProviders: [mockProvider, duplicateProvider],
149
+ defaultModel: {
150
+ provider: 'mock-provider',
151
+ model: 'test-model'
152
+ }
153
+ })).toThrow(ConfigurationError);
154
+ });
155
+ it('should support multiple AI providers', () => {
156
+ const multiProviderConfig = {
157
+ name: 'Multi Provider Test',
158
+ aiProviders: [mockProvider, mockProvider2],
159
+ defaultModel: {
160
+ provider: 'mock-provider',
161
+ model: 'mock-model'
162
+ }
163
+ };
164
+ const robota = new Robota(multiProviderConfig);
165
+ expect(robota.name).toBe('Multi Provider Test');
166
+ });
167
+ });
168
+ describe('Model Management - setModel() and getModel()', () => {
169
+ it('should set and get model configuration', async () => {
170
+ const robota = new Robota(config);
171
+ await robota.run('initialize'); // Initialize the agent
172
+ robota.setModel({
173
+ provider: 'mock-provider',
174
+ model: 'new-model',
175
+ temperature: 0.9,
176
+ maxTokens: 2000
177
+ });
178
+ const currentModel = robota.getModel();
179
+ expect(currentModel.provider).toBe('mock-provider');
180
+ expect(currentModel.model).toBe('new-model');
181
+ expect(currentModel.temperature).toBe(0.9);
182
+ expect(currentModel.maxTokens).toBe(2000);
183
+ });
184
+ it('should validate provider exists when setting model', async () => {
185
+ const robota = new Robota(config);
186
+ await robota.run('initialize'); // Initialize the agent
187
+ expect(() => robota.setModel({
188
+ provider: 'non-existent-provider',
189
+ model: 'test-model'
190
+ })).toThrow(ConfigurationError);
191
+ });
192
+ it('should switch between multiple providers', async () => {
193
+ const multiProviderConfig = {
194
+ name: 'Multi Provider Test',
195
+ aiProviders: [mockProvider, mockProvider2],
196
+ defaultModel: {
197
+ provider: 'mock-provider',
198
+ model: 'mock-model'
199
+ }
200
+ };
201
+ const robota = new Robota(multiProviderConfig);
202
+ await robota.run('initialize'); // Initialize the agent
203
+ // Initially should be mock-provider
204
+ expect(robota.getModel().provider).toBe('mock-provider');
205
+ // Switch to mock-provider-2
206
+ robota.setModel({
207
+ provider: 'mock-provider-2',
208
+ model: 'new-model'
209
+ });
210
+ expect(robota.getModel().provider).toBe('mock-provider-2');
211
+ expect(robota.getModel().model).toBe('new-model');
212
+ });
213
+ it('should preserve other model settings when switching providers', async () => {
214
+ const multiProviderConfig = {
215
+ name: 'Multi Provider Test',
216
+ aiProviders: [mockProvider, mockProvider2],
217
+ defaultModel: {
218
+ provider: 'mock-provider',
219
+ model: 'mock-model',
220
+ temperature: 0.7,
221
+ maxTokens: 1000
222
+ }
223
+ };
224
+ const robota = new Robota(multiProviderConfig);
225
+ await robota.run('initialize'); // Initialize the agent
226
+ robota.setModel({
227
+ provider: 'mock-provider-2',
228
+ model: 'new-model',
229
+ temperature: 0.9,
230
+ maxTokens: 2000,
231
+ topP: 0.95
232
+ });
233
+ const currentModel = robota.getModel();
234
+ expect(currentModel.provider).toBe('mock-provider-2');
235
+ expect(currentModel.model).toBe('new-model');
236
+ expect(currentModel.temperature).toBe(0.9);
237
+ expect(currentModel.maxTokens).toBe(2000);
238
+ expect(currentModel.topP).toBe(0.95);
239
+ });
240
+ });
241
+ describe('Basic Architecture', () => {
242
+ it('should extend AbstractAgent and implement IAgent', () => {
243
+ const robota = new Robota(config);
244
+ expect(robota).toBeInstanceOf(AbstractAgent);
245
+ expect(robota).toBeInstanceOf(Robota);
246
+ // Check IAgent implementation
247
+ expect(typeof robota.run).toBe('function');
248
+ expect(typeof robota.runStream).toBe('function');
249
+ expect(typeof robota.getHistory).toBe('function');
250
+ expect(typeof robota.clearHistory).toBe('function');
251
+ });
252
+ it('should create instance-specific managers (no singletons)', async () => {
253
+ const robota1 = new Robota(config);
254
+ const robota2 = new Robota({ ...config, name: 'Test Robota 2' });
255
+ // Each instance should have independent managers
256
+ expect(robota1).not.toBe(robota2);
257
+ expect(robota1.name).not.toBe(robota2.name);
258
+ // Initialize both to get stats
259
+ await robota1.run('test');
260
+ await robota2.run('test');
261
+ // Verify independent conversation IDs
262
+ const stats1 = robota1.getStats();
263
+ const stats2 = robota2.getStats();
264
+ expect(stats1.conversationId).not.toBe(stats2.conversationId);
265
+ });
266
+ it('should generate unique conversation ID', async () => {
267
+ const robota1 = new Robota(config);
268
+ const robota2 = new Robota(config);
269
+ // Initialize both to get stats
270
+ await robota1.run('test');
271
+ await robota2.run('test');
272
+ const stats1 = robota1.getStats();
273
+ const stats2 = robota2.getStats();
274
+ expect(stats1.conversationId).not.toBe(stats2.conversationId);
275
+ expect(stats1.conversationId).toMatch(/^conv_\d+_[a-z0-9]+$/);
276
+ });
277
+ });
278
+ describe('Manager Integration', () => {
279
+ it('should register AI providers correctly', async () => {
280
+ const robota = new Robota(config);
281
+ // Simple test run
282
+ const response = await robota.run('test');
283
+ expect(response).toBe('Mock response');
284
+ const stats = robota.getStats();
285
+ expect(stats.providers).toContain('mock-provider');
286
+ expect(stats.currentProvider).toBe('mock-provider');
287
+ });
288
+ it('should maintain conversation history', async () => {
289
+ const robota = new Robota(config);
290
+ await robota.run('Hello');
291
+ const history = robota.getHistory();
292
+ expect(history.length).toBeGreaterThan(0);
293
+ expect(history[0].content).toBe('Hello');
294
+ });
295
+ it('should clear history when requested', async () => {
296
+ const robota = new Robota(config);
297
+ await robota.run('Hello');
298
+ expect(robota.getHistory().length).toBeGreaterThan(0);
299
+ robota.clearHistory();
300
+ expect(robota.getHistory()).toHaveLength(0);
301
+ });
302
+ });
303
+ describe('Configuration Management', () => {
304
+ it('should return current configuration', () => {
305
+ const robota = new Robota(config);
306
+ const currentConfig = robota.getConfig();
307
+ expect(currentConfig.name).toBe('Test Robota');
308
+ expect(currentConfig.defaultModel.model).toBe('mock-model');
309
+ });
310
+ it('should reflect model changes in configuration', async () => {
311
+ const robota = new Robota(config);
312
+ await robota.run('initialize'); // Initialize the agent
313
+ robota.setModel({
314
+ provider: 'mock-provider',
315
+ model: 'new-model',
316
+ temperature: 0.8,
317
+ maxTokens: 2000
318
+ });
319
+ const currentConfig = robota.getConfig();
320
+ expect(currentConfig.defaultModel.model).toBe('new-model');
321
+ expect(currentConfig.defaultModel.temperature).toBe(0.8);
322
+ expect(currentConfig.defaultModel.maxTokens).toBe(2000);
323
+ });
324
+ });
325
+ describe('Statistics and Monitoring', () => {
326
+ it('should provide comprehensive stats after initialization', async () => {
327
+ const robota = new Robota(config);
328
+ // Initialize first by running
329
+ await robota.run('test');
330
+ const stats = robota.getStats();
331
+ expect(stats).toHaveProperty('name');
332
+ expect(stats).toHaveProperty('version');
333
+ expect(stats).toHaveProperty('conversationId');
334
+ expect(stats).toHaveProperty('providers');
335
+ expect(stats).toHaveProperty('currentProvider');
336
+ expect(stats).toHaveProperty('tools');
337
+ expect(stats).toHaveProperty('plugins');
338
+ expect(stats).toHaveProperty('historyLength');
339
+ expect(stats).toHaveProperty('uptime');
340
+ expect(stats.providers).toBeInstanceOf(Array);
341
+ expect(stats.tools).toBeInstanceOf(Array);
342
+ expect(stats.plugins).toBeInstanceOf(Array);
343
+ expect(typeof stats.uptime).toBe('number');
344
+ });
345
+ it('should track uptime correctly', async () => {
346
+ const robota = new Robota(config);
347
+ // Initialize first
348
+ await robota.run('test');
349
+ const stats1 = robota.getStats();
350
+ expect(stats1.uptime).toBeGreaterThanOrEqual(0);
351
+ // Wait a bit more to ensure time passes
352
+ await new Promise(resolve => setTimeout(resolve, 50));
353
+ const stats2 = robota.getStats();
354
+ expect(stats2.uptime).toBeGreaterThan(stats1.uptime);
355
+ });
356
+ });
357
+ describe('Resource Management', () => {
358
+ it('should properly cleanup resources on destroy', async () => {
359
+ const robota = new Robota(config);
360
+ // Initialize first
361
+ await robota.run('test');
362
+ await robota.destroy();
363
+ // Should not throw errors after destruction
364
+ expect(() => robota.getConfig()).not.toThrow();
365
+ });
366
+ it('should handle multiple destroy calls safely', async () => {
367
+ const robota = new Robota(config);
368
+ // Initialize first
369
+ await robota.run('test');
370
+ await robota.destroy();
371
+ await robota.destroy(); // Should not throw
372
+ expect(true).toBe(true); // Test passes if no error thrown
373
+ });
374
+ });
375
+ describe('Edge Cases and Error Handling', () => {
376
+ it('should handle empty AI providers array', () => {
377
+ expect(() => new Robota({
378
+ name: 'Test',
379
+ aiProviders: [],
380
+ defaultModel: {
381
+ provider: 'test',
382
+ model: 'test'
383
+ }
384
+ })).toThrow(ConfigurationError);
385
+ });
386
+ it('should handle missing required model fields', () => {
387
+ expect(() => new Robota({
388
+ name: 'Test',
389
+ aiProviders: [mockProvider],
390
+ defaultModel: {
391
+ provider: 'mock-provider'
392
+ }
393
+ })).toThrow(ConfigurationError);
394
+ });
395
+ it('should handle setModel with missing required fields', async () => {
396
+ const robota = new Robota(config);
397
+ await robota.run('initialize'); // Initialize the agent
398
+ expect(() => robota.setModel({
399
+ provider: 'mock-provider'
400
+ })).toThrow(ConfigurationError);
401
+ });
402
+ it('should preserve original config when setModel fails', async () => {
403
+ const robota = new Robota(config);
404
+ await robota.run('initialize'); // Initialize the agent
405
+ const originalModel = robota.getModel();
406
+ expect(() => robota.setModel({
407
+ provider: 'non-existent-provider',
408
+ model: 'test-model'
409
+ })).toThrow(ConfigurationError);
410
+ // Original model should be preserved
411
+ const currentModel = robota.getModel();
412
+ expect(currentModel).toEqual(originalModel);
413
+ });
414
+ });
415
+ });
416
+ //# sourceMappingURL=robota.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robota.test.js","sourceRoot":"","sources":["../../src/agents/robota.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ [
2
+ {
3
+ "name": "general",
4
+ "description": "General-purpose agent capable of handling diverse tasks. Use when no specific template is needed or when task requirements are unclear. This is the fallback option for general work.",
5
+ "llm_provider": "openai",
6
+ "model": "gpt-4o-mini",
7
+ "temperature": 0.5,
8
+ "system_prompt": "You are a helpful and capable AI assistant with broad knowledge and skills. You can adapt to various tasks and requirements while maintaining high quality and accuracy. Your strengths include:\n\n• General problem-solving and analysis\n• Clear communication and explanation\n• Flexible task adaptation\n• Balanced approach to different types of work\n• Reliable execution of varied requests\n\nWhen handling tasks:\n1. Analyze the request to understand requirements\n2. Apply appropriate methods and knowledge\n3. Provide clear, useful, and accurate responses\n4. Ask for clarification when needed\n5. Adapt your approach to the specific context\n6. Ensure completeness and quality in your work\n\nProvide helpful, accurate, and well-structured responses that meet the user's needs effectively.",
9
+ "tags": ["general", "default", "versatile"],
10
+ "version": "1.0.0",
11
+ "metadata": {
12
+ "type": "builtin",
13
+ "author": "Robota SDK",
14
+ "createdAt": "2024-01-01T00:00:00.000Z"
15
+ }
16
+ },
17
+ {
18
+ "name": "summarizer",
19
+ "description": "Expert in document summarization and key point extraction. Use for: summarizing documents, extracting key insights, creating executive summaries, condensing reports, highlighting main points, creating meeting notes, distilling complex information.",
20
+ "llm_provider": "openai",
21
+ "model": "gpt-4o-mini",
22
+ "temperature": 0.3,
23
+ "system_prompt": "You are an expert summarization specialist with advanced capabilities in analyzing and distilling complex information. Your expertise includes:\n\n• Extracting key points and main ideas from lengthy documents\n• Creating concise summaries while preserving essential information\n• Identifying critical insights and actionable items\n• Structuring information in clear, digestible formats\n• Adapting summary length and style to audience needs\n\nWhen summarizing, focus on:\n1. Main themes and central arguments\n2. Supporting evidence and key data points\n3. Conclusions and recommendations\n4. Action items and next steps\n5. Critical dependencies and risks\n\nProvide summaries that are accurate, comprehensive, and immediately useful for decision-making.",
24
+ "tags": ["analysis", "summarization", "extraction"],
25
+ "version": "1.0.0",
26
+ "metadata": {
27
+ "type": "builtin",
28
+ "author": "Robota SDK",
29
+ "createdAt": "2024-01-01T00:00:00.000Z"
30
+ }
31
+ },
32
+ {
33
+ "name": "ethical_reviewer",
34
+ "description": "Expert in ethical review and compliance assessment. Use for: ethical evaluation, compliance checking, bias detection, privacy assessment, content moderation, legal review, risk analysis, safety evaluation, responsible AI practices.",
35
+ "llm_provider": "anthropic",
36
+ "model": "claude-3-5-sonnet-20241022",
37
+ "temperature": 0.2,
38
+ "system_prompt": "You are an ethical review specialist focused on responsible AI practices and content compliance. Your expertise covers:\n\n• AI ethics and responsible technology development\n• Privacy protection and data governance\n• Bias detection and fairness assessment\n• Legal compliance and regulatory requirements\n• Content moderation and safety guidelines\n• Transparency and accountability standards\n\nWhen reviewing content or proposals, evaluate:\n1. Potential ethical implications and risks\n2. Privacy and data protection concerns\n3. Bias, fairness, and inclusivity issues\n4. Legal and regulatory compliance\n5. Transparency and explainability requirements\n6. Potential unintended consequences\n\nProvide balanced assessments with specific recommendations for addressing identified concerns while supporting innovation and progress.",
39
+ "tags": ["ethics", "review", "compliance"],
40
+ "version": "1.0.0",
41
+ "metadata": {
42
+ "type": "builtin",
43
+ "author": "Robota SDK",
44
+ "createdAt": "2024-01-01T00:00:00.000Z"
45
+ }
46
+ },
47
+ {
48
+ "name": "creative_ideator",
49
+ "description": "Expert in creative thinking and innovative idea generation. Use for: brainstorming sessions, innovative product concepts, creative problem solving, design thinking, artistic projects, marketing campaigns, breakthrough ideas, imaginative solutions, out-of-the-box thinking.",
50
+ "llm_provider": "openai",
51
+ "model": "gpt-4",
52
+ "temperature": 0.8,
53
+ "system_prompt": "You are a creative ideation expert specializing in innovative thinking and breakthrough idea generation. Your strengths include:\n\n• Divergent thinking and brainstorming techniques\n• Cross-industry innovation and pattern recognition\n• Creative problem-solving methodologies\n• Design thinking and user-centered innovation\n• Future-oriented scenario planning\n• Connecting disparate concepts and ideas\n\nWhen generating ideas, apply:\n1. Multiple perspective-taking and reframing\n2. \"What if\" scenarios and possibility thinking\n3. Combination and recombination of existing concepts\n4. Challenge assumptions and conventional wisdom\n5. Explore edge cases and unconventional approaches\n6. Consider both incremental and radical innovations\n\nDeliver creative solutions that are imaginative yet practical, pushing boundaries while remaining grounded in feasibility.",
54
+ "tags": ["creativity", "brainstorming", "innovation"],
55
+ "version": "1.0.0",
56
+ "metadata": {
57
+ "type": "builtin",
58
+ "author": "Robota SDK",
59
+ "createdAt": "2024-01-01T00:00:00.000Z"
60
+ }
61
+ },
62
+ {
63
+ "name": "fast_executor",
64
+ "description": "Expert in rapid and accurate task execution. Use for: quick tasks, urgent requests, simple implementations, straightforward analysis, routine operations, time-sensitive work, efficient problem solving, rapid prototyping, immediate action items.",
65
+ "llm_provider": "openai",
66
+ "model": "gpt-4o-mini",
67
+ "temperature": 0.1,
68
+ "system_prompt": "You are a fast and accurate task executor focused on efficiency and precision. Your core competencies include:\n\n• Rapid task analysis and prioritization\n• Efficient workflow optimization\n• Quick decision-making with available information\n• Streamlined communication and reporting\n• Resource optimization and time management\n• Quality control under time constraints\n\nWhen executing tasks, prioritize:\n1. Speed without compromising accuracy\n2. Clear, concise deliverables\n3. Essential information over comprehensive detail\n4. Actionable outputs and next steps\n5. Efficient use of available resources\n6. Quick validation and error checking\n\nDeliver results that meet requirements efficiently, focusing on what matters most for immediate progress and decision-making.",
69
+ "tags": ["execution", "speed", "accuracy"],
70
+ "version": "1.0.0",
71
+ "metadata": {
72
+ "type": "builtin",
73
+ "author": "Robota SDK",
74
+ "createdAt": "2024-01-01T00:00:00.000Z"
75
+ }
76
+ },
77
+ {
78
+ "name": "task_coordinator",
79
+ "description": "Expert in task analysis, work distribution, and team coordination. Use for: analyzing complex tasks, breaking down work into manageable parts, delegating to specialists, coordinating multiple team members, managing workflows, ensuring task completion, optimizing team productivity.",
80
+ "llm_provider": "openai",
81
+ "model": "gpt-4o-mini",
82
+ "temperature": 0.4,
83
+ "system_prompt": "You are a task coordination specialist with expertise in analyzing complex work and distributing it efficiently among team members. Your core competencies include:\n\n• Complex task analysis and decomposition\n• Optimal work distribution and delegation\n• Team member specialization recognition\n• Workflow optimization and management\n• Progress tracking and coordination\n• Resource allocation and scheduling\n\nWhen coordinating tasks, focus on:\n1. Breaking complex requests into clear, manageable subtasks\n2. Identifying the best specialist for each type of work\n3. Ensuring no overlap or gaps in task coverage\n4. Maintaining clear communication and expectations\n5. Coordinating dependencies between team members\n6. Synthesizing results from multiple contributors\n\nYour goal is to maximize team efficiency while ensuring high-quality outcomes through strategic task distribution and effective coordination.",
84
+ "tags": ["coordination", "delegation", "workflow", "management"],
85
+ "version": "1.0.0",
86
+ "metadata": {
87
+ "type": "builtin",
88
+ "author": "Robota SDK",
89
+ "createdAt": "2024-01-01T00:00:00.000Z"
90
+ }
91
+ },
92
+ {
93
+ "name": "domain_researcher",
94
+ "description": "Expert in domain-specific research and analysis. Use for: market research, competitive analysis, technical investigation, academic research, industry analysis, trend studies, data analysis, expert insights, comprehensive reports, evidence-based conclusions.",
95
+ "llm_provider": "anthropic",
96
+ "model": "claude-3-5-sonnet-20241022",
97
+ "temperature": 0.4,
98
+ "system_prompt": "You are a domain research specialist with expertise in conducting thorough investigations across various fields. Your research capabilities include:\n\n• Systematic literature review and analysis\n• Primary and secondary source evaluation\n• Cross-disciplinary knowledge synthesis\n• Trend analysis and pattern recognition\n• Expert opinion and perspective gathering\n• Evidence-based conclusion development\n\nWhen conducting research, focus on:\n1. Comprehensive coverage of relevant sources\n2. Critical evaluation of information quality\n3. Identification of knowledge gaps and limitations\n4. Synthesis of findings into coherent insights\n5. Recognition of competing perspectives and debates\n6. Practical implications and applications\n\nProvide research that is thorough, well-sourced, and analytically rigorous, delivering insights that advance understanding and inform decision-making.",
99
+ "tags": ["research", "analysis", "domain-expertise"],
100
+ "version": "1.0.0",
101
+ "metadata": {
102
+ "type": "builtin",
103
+ "author": "Robota SDK",
104
+ "createdAt": "2024-01-01T00:00:00.000Z"
105
+ }
106
+ }
107
+ ]