@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,694 @@
1
+ import { AbstractAgent } from '../abstracts/abstract-agent';
2
+ import { TUniversalMessage, IAgentConfig, IRunOptions, IAgent } from '../interfaces/agent';
3
+ import type { IPluginContract, IPluginHooks, IPluginOptions, IPluginStats } from '../abstracts/abstract-plugin';
4
+ import type { IModule } from '../abstracts/abstract-module';
5
+ import { AbstractTool, type IToolWithEventService } from '../abstracts/abstract-tool';
6
+ import type { IModuleResultData } from '../abstracts/abstract-module';
7
+ /**
8
+ * Reusable type definitions for Robota agent
9
+ */
10
+ /**
11
+ * Agent statistics metadata type
12
+ * Used for storing statistics and performance data in getStats method
13
+ */
14
+ export type TAgentStatsMetadata = Record<string, string | number | boolean | Date | string[]>;
15
+ /**
16
+ * Configuration options for creating a Robota instance.
17
+ * Extends AgentConfig with additional options specific to the Robota agent system.
18
+ *
19
+ * @public
20
+ * @interface
21
+ * @example
22
+ * ```typescript
23
+ * const config: AgentConfig = {
24
+ * name: 'MyAgent',
25
+ * aiProviders: [new OpenAIProvider()],
26
+ * defaultModel: {
27
+ * provider: 'openai',
28
+ * model: 'gpt-4'
29
+ * },
30
+ * tools: [weatherTool, calculatorTool],
31
+ * plugins: [new LoggingPlugin(), new UsagePlugin()],
32
+ * logging: { level: 'info', enabled: true }
33
+ * };
34
+ * ```
35
+ */
36
+ /**
37
+ * Core AI agent implementation for the Robota SDK.
38
+ *
39
+ * Robota is a comprehensive AI agent that integrates multiple AI providers, tools, and plugins
40
+ * into a unified conversational interface. Each instance is completely independent with its own
41
+ * managers and services - NO GLOBAL SINGLETONS are used.
42
+ *
43
+ * Key Features:
44
+ * - Multiple AI provider support (OpenAI, Anthropic, Google)
45
+ * - Function/tool calling with Zod schema validation
46
+ * - Plugin system for extensible functionality
47
+ * - Streaming response support
48
+ * - Conversation history management
49
+ * - Instance-specific resource management
50
+ *
51
+ * @public
52
+ * @class
53
+ * @implements AgentInterface
54
+ *
55
+ * @example Basic Usage
56
+ * ```typescript
57
+ * import { Robota } from '@robota-sdk/agents';
58
+ * import { OpenAIProvider } from '@robota-sdk/openai';
59
+ *
60
+ * const robota = new Robota({
61
+ * name: 'MyAgent',
62
+ * aiProviders: [new OpenAIProvider({ apiKey: 'sk-...' })],
63
+ * defaultModel: {
64
+ * provider: 'openai',
65
+ * model: 'gpt-4'
66
+ * }
67
+ * });
68
+ *
69
+ * const response = await robota.run('Hello, how are you?');
70
+ * console.log(response);
71
+ * ```
72
+ *
73
+ * @example With Tools and Plugins
74
+ * ```typescript
75
+ * import { Robota, LoggingPlugin, UsagePlugin } from '@robota-sdk/agents';
76
+ * import { weatherTool, calculatorTool } from './my-tools';
77
+ *
78
+ * const robota = new Robota({
79
+ * name: 'AdvancedAgent',
80
+ * aiProviders: [openaiProvider],
81
+ * defaultModel: {
82
+ * provider: 'openai',
83
+ * model: 'gpt-4'
84
+ * },
85
+ * tools: [weatherTool, calculatorTool],
86
+ * plugins: [
87
+ * new LoggingPlugin({ level: 'info' }),
88
+ * new UsagePlugin({ trackTokens: true })
89
+ * ]
90
+ * });
91
+ *
92
+ * const response = await robota.run('What\'s the weather in Tokyo?');
93
+ * ```
94
+ *
95
+ * @example Streaming Response
96
+ * ```typescript
97
+ * for await (const chunk of robota.runStream('Tell me a story')) {
98
+ * process.stdout.write(chunk);
99
+ * }
100
+ * ```
101
+ */
102
+ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUniversalMessage> implements IAgent<IAgentConfig, IRunOptions, TUniversalMessage> {
103
+ /** The name of this agent instance */
104
+ readonly name: string;
105
+ /** The version of the Robota agent implementation */
106
+ readonly version: string;
107
+ private aiProviders;
108
+ private tools;
109
+ private agentFactory;
110
+ private conversationHistory;
111
+ private moduleRegistry;
112
+ private eventEmitter;
113
+ private executionService;
114
+ private eventService;
115
+ private agentEventService;
116
+ protected config: IAgentConfig;
117
+ private conversationId;
118
+ private logger;
119
+ private initializationPromise?;
120
+ private isFullyInitialized;
121
+ private startTime;
122
+ private configVersion;
123
+ private configUpdatedAt;
124
+ /**
125
+ * Creates a new Robota agent instance with the new aiProviders array design.
126
+ *
127
+ * The constructor performs synchronous initialization and validation.
128
+ * Async initialization (AI provider setup, tool registration) is deferred
129
+ * until the first run() call for optimal performance.
130
+ *
131
+ * @param config - Configuration options for the agent
132
+ * @throws {ConfigurationError} When required configuration is missing or invalid
133
+ * @throws {ValidationError} When configuration values are invalid
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const robota = new Robota({
138
+ * name: 'CustomerSupport',
139
+ * aiProviders: [
140
+ * new OpenAIProvider({ apiKey: process.env.OPENAI_API_KEY }),
141
+ * new AnthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY })
142
+ * ],
143
+ * defaultModel: {
144
+ * provider: 'openai',
145
+ * model: 'gpt-4',
146
+ * temperature: 0.7
147
+ * },
148
+ * tools: [emailTool, ticketTool],
149
+ * plugins: [new LoggingPlugin(), new ErrorHandlingPlugin()]
150
+ * });
151
+ * ```
152
+ */
153
+ constructor(config: IAgentConfig);
154
+ /**
155
+ * Update tools for this agent instance.
156
+ * Rebuilds the Tools registry atomically and emits CONFIG_UPDATED event.
157
+ */
158
+ updateTools(next: Array<IToolWithEventService>): Promise<{
159
+ version: number;
160
+ }>;
161
+ /**
162
+ * Update configuration partially. Currently supports tools.
163
+ */
164
+ updateConfiguration(patch: Partial<IAgentConfig>): Promise<{
165
+ version: number;
166
+ }>;
167
+ /**
168
+ * Read-only configuration overview for UI.
169
+ */
170
+ getConfiguration(): Promise<{
171
+ version: number;
172
+ tools: Array<{
173
+ name: string;
174
+ parameters?: string[];
175
+ }>;
176
+ updatedAt: number;
177
+ metadata?: TAgentStatsMetadata;
178
+ }>;
179
+ private emitAgentEvent;
180
+ private buildOwnerPath;
181
+ /**
182
+ * Create instance-specific AIProviders manager
183
+ */
184
+ private createAIProvidersInstance;
185
+ /**
186
+ * Create instance-specific Tools manager
187
+ */
188
+ private createToolsInstance;
189
+ /**
190
+ * Create instance-specific AgentFactory manager
191
+ */
192
+ private createAgentFactoryInstance;
193
+ /**
194
+ * Create instance-specific ConversationHistory manager
195
+ */
196
+ private createConversationHistoryInstance;
197
+ /**
198
+ * Create instance-specific EventEmitter plugin
199
+ */
200
+ private createEventEmitterInstance;
201
+ /**
202
+ * Create instance-specific ModuleRegistry
203
+ */
204
+ private createModuleRegistryInstance;
205
+ /**
206
+ * Ensure full initialization has occurred
207
+ */
208
+ private ensureFullyInitialized;
209
+ /**
210
+ * Perform actual async initialization
211
+ */
212
+ private performAsyncInitialization;
213
+ /**
214
+ * Initialize the agent if not already done
215
+ *
216
+ * Note: This is a protected lifecycle hook required by AbstractAgent.
217
+ * Do not mark it as an internal tag, because DTS generation uses `stripInternal`
218
+ * and would remove this method from the public type surface, breaking the
219
+ * abstract contract in `.d.ts`.
220
+ */
221
+ protected initialize(): Promise<void>;
222
+ /**
223
+ * Execute a conversation turn with the AI agent.
224
+ *
225
+ * This is the primary method for interacting with the agent. It processes user input,
226
+ * manages conversation history, executes any required tools, and returns the AI response.
227
+ * The method automatically initializes the agent on first use.
228
+ *
229
+ * @param input - The user's message or prompt to send to the AI
230
+ * @param options - Optional configuration for this specific execution
231
+ * @returns Promise that resolves to the AI's response as a string
232
+ *
233
+ * @throws {ConfigurationError} When the agent configuration is invalid
234
+ * @throws {ProviderError} When the AI provider encounters an error
235
+ * @throws {ToolExecutionError} When a tool execution fails
236
+ *
237
+ * @example Basic conversation
238
+ * ```typescript
239
+ * const response = await robota.run('Hello, how are you?');
240
+ * console.log(response); // "Hello! I'm doing well, thank you for asking..."
241
+ * ```
242
+ *
243
+ * @example With execution options
244
+ * ```typescript
245
+ * const response = await robota.run('Analyze this data', {
246
+ * sessionId: 'user-123',
247
+ * userId: 'john.doe',
248
+ * metadata: { source: 'web-app', priority: 'high' }
249
+ * });
250
+ * ```
251
+ *
252
+ * @example Error handling
253
+ * ```typescript
254
+ * try {
255
+ * const response = await robota.run('Complex request');
256
+ * } catch (error) {
257
+ * if (error instanceof ToolExecutionError) {
258
+ * console.error('Tool failed:', error.toolName, error.message);
259
+ * }
260
+ * }
261
+ * ```
262
+ */
263
+ run(input: string, options?: IRunOptions): Promise<string>;
264
+ /**
265
+ * Execute a conversation turn with streaming response.
266
+ *
267
+ * Similar to run() but returns an async generator that yields response chunks
268
+ * as they arrive from the AI provider. This enables real-time streaming of
269
+ * the AI's response for better user experience.
270
+ *
271
+ * @param input - The user's message or prompt to send to the AI
272
+ * @param options - Optional configuration for this specific execution
273
+ * @returns AsyncGenerator that yields string chunks of the AI response
274
+ *
275
+ * @throws {ConfigurationError} When the agent configuration is invalid
276
+ * @throws {ProviderError} When the AI provider encounters an error
277
+ * @throws {ToolExecutionError} When a tool execution fails
278
+ *
279
+ * @example Basic streaming
280
+ * ```typescript
281
+ * for await (const chunk of robota.runStream('Tell me a story')) {
282
+ * process.stdout.write(chunk);
283
+ * }
284
+ * console.log('\n'); // New line after story
285
+ * ```
286
+ *
287
+ * @example Collecting full response
288
+ * ```typescript
289
+ * let fullResponse = '';
290
+ * for await (const chunk of robota.runStream('Explain quantum computing')) {
291
+ * fullResponse += chunk;
292
+ * updateUI(chunk); // Update UI in real-time
293
+ * }
294
+ * console.log('Complete response:', fullResponse);
295
+ * ```
296
+ *
297
+ * @example Error handling in streams
298
+ * ```typescript
299
+ * try {
300
+ * for await (const chunk of robota.runStream('Complex request')) {
301
+ * handleChunk(chunk);
302
+ * }
303
+ * } catch (error) {
304
+ * console.error('Streaming failed:', error.message);
305
+ * }
306
+ * ```
307
+ */
308
+ runStream(input: string, options?: IRunOptions): AsyncGenerator<string, void, undefined>;
309
+ /**
310
+ * Get the conversation history for this agent instance.
311
+ *
312
+ * Returns an array of messages representing the complete conversation history
313
+ * for this agent's conversation session. The history includes user messages,
314
+ * assistant responses, and tool call results.
315
+ *
316
+ * @returns Array of TUniversalMessage objects representing the conversation history
317
+ *
318
+ * @example
319
+ * ```typescript
320
+ * await robota.run('What is 2 + 2?');
321
+ * await robota.run('What about 3 + 3?');
322
+ *
323
+ * const history = robota.getHistory();
324
+ * console.log(history.length); // 4 (2 user messages, 2 assistant responses)
325
+ * console.log(history[0].role); // 'user'
326
+ * console.log(history[0].content); // 'What is 2 + 2?'
327
+ * ```
328
+ */
329
+ getHistory(): TUniversalMessage[];
330
+ /**
331
+ * Clear the conversation history for this agent instance.
332
+ *
333
+ * Removes all messages from the conversation history, starting fresh.
334
+ * This does not affect the agent's configuration or other state.
335
+ *
336
+ * @example
337
+ * ```typescript
338
+ * await robota.run('First message');
339
+ * console.log(robota.getHistory().length); // 2 (user + assistant)
340
+ *
341
+ * robota.clearHistory();
342
+ * console.log(robota.getHistory().length); // 0
343
+ * ```
344
+ */
345
+ clearHistory(): void;
346
+ /**
347
+ * Add a plugin to the agent at runtime.
348
+ *
349
+ * Plugins provide extensible functionality through lifecycle hooks.
350
+ * This method allows dynamic addition of plugins after agent creation.
351
+ *
352
+ * @param plugin - The plugin instance to add
353
+ *
354
+ * @example
355
+ * ```typescript
356
+ * import { UsagePlugin, PerformancePlugin } from '@robota-sdk/agents';
357
+ *
358
+ * const robota = new Robota(config);
359
+ *
360
+ * // Add plugins dynamically
361
+ * robota.addPlugin(new UsagePlugin({ trackTokens: true }));
362
+ * robota.addPlugin(new PerformancePlugin({ trackMemory: true }));
363
+ * ```
364
+ */
365
+ addPlugin(plugin: IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks): void;
366
+ /**
367
+ * Remove a plugin from the agent by name.
368
+ *
369
+ * @param pluginName - The name of the plugin to remove
370
+ * @returns true if the plugin was found and removed, false otherwise
371
+ *
372
+ * @example
373
+ * ```typescript
374
+ * const removed = robota.removePlugin('usage-plugin');
375
+ * if (removed) {
376
+ * console.log('Plugin removed successfully');
377
+ * } else {
378
+ * console.log('Plugin not found');
379
+ * }
380
+ * ```
381
+ */
382
+ removePlugin(pluginName: string): boolean;
383
+ /**
384
+ * Get a specific plugin by name with type safety.
385
+ *
386
+ * @template T - The expected plugin type extending AbstractPlugin
387
+ * @param pluginName - The name of the plugin to retrieve
388
+ * @returns The plugin instance if found, null otherwise
389
+ *
390
+ * @example
391
+ * ```typescript
392
+ * import { UsagePlugin } from '@robota-sdk/agents';
393
+ *
394
+ * const usagePlugin = robota.getPlugin<UsagePlugin>('usage-plugin');
395
+ * if (usagePlugin) {
396
+ * const stats = usagePlugin.getUsageStats();
397
+ * console.log('Token usage:', stats.totalTokens);
398
+ * }
399
+ * ```
400
+ */
401
+ getPlugin(pluginName: string): (IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks) | null;
402
+ /**
403
+ * Get all registered plugins.
404
+ *
405
+ * @returns Array of all currently registered plugin instances
406
+ *
407
+ * @example
408
+ * ```typescript
409
+ * const plugins = robota.getPlugins();
410
+ * console.log(`Agent has ${plugins.length} plugins registered`);
411
+ * plugins.forEach(plugin => {
412
+ * console.log(`- ${plugin.name} (${plugin.version})`);
413
+ * });
414
+ * ```
415
+ */
416
+ getPlugins(): Array<IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks>;
417
+ /**
418
+ * Get all registered plugin names
419
+ */
420
+ getPluginNames(): string[];
421
+ /**
422
+ * Register a new module with the agent
423
+ * @param module - The module instance to register
424
+ * @param options - Registration options
425
+ */
426
+ registerModule(module: IModule, options?: {
427
+ autoInitialize?: boolean;
428
+ validateDependencies?: boolean;
429
+ }): Promise<void>;
430
+ /**
431
+ * Unregister a module from the agent
432
+ * @param moduleName - Name of the module to unregister
433
+ * @returns True if module was unregistered, false if not found
434
+ */
435
+ unregisterModule(moduleName: string): Promise<boolean>;
436
+ /**
437
+ * Get a module by name with type safety
438
+ * @param moduleName - Name of the module to retrieve
439
+ * @returns The module instance or null if not found
440
+ */
441
+ getModule(moduleName: string): IModule | null;
442
+ /**
443
+ * Get modules by type
444
+ * @param moduleType - Type of modules to retrieve
445
+ * @returns Array of modules matching the type
446
+ */
447
+ getModulesByType(moduleType: string): IModule[];
448
+ /**
449
+ * Get all registered modules
450
+ * @returns Array of all registered modules
451
+ */
452
+ getModules(): IModule[];
453
+ /**
454
+ * Get all registered module names
455
+ * @returns Array of module names
456
+ */
457
+ getModuleNames(): string[];
458
+ /**
459
+ * Check if a module is registered
460
+ * @param moduleName - Name of the module to check
461
+ * @returns True if module is registered
462
+ */
463
+ hasModule(moduleName: string): boolean;
464
+ /**
465
+ * Execute a module by name
466
+ * @param moduleName - Name of the module to execute
467
+ * @param context - Execution context
468
+ * @returns Module execution result
469
+ */
470
+ executeModule(moduleName: string, context: {
471
+ executionId?: string;
472
+ sessionId?: string;
473
+ userId?: string;
474
+ metadata?: Record<string, string | number | boolean | Date>;
475
+ }): Promise<{
476
+ success: boolean;
477
+ data?: IModuleResultData;
478
+ error?: Error;
479
+ duration?: number;
480
+ }>;
481
+ /**
482
+ * Get module execution statistics
483
+ * @param moduleName - Name of the module
484
+ * @returns Module statistics or null if not found
485
+ */
486
+ getModuleStats(moduleName: string): {
487
+ totalExecutions: number;
488
+ successfulExecutions: number;
489
+ failedExecutions: number;
490
+ averageExecutionTime: number;
491
+ lastExecutionTime?: Date;
492
+ } | null;
493
+ /**
494
+ * Register a new AI provider at runtime.
495
+ *
496
+ * Allows dynamic addition of AI providers after agent creation.
497
+ * The provider can then be selected using switchProvider().
498
+ *
499
+ * @param name - Unique name for the provider
500
+ * @param provider - The AI provider instance to register
501
+ *
502
+ * @example
503
+ * ```typescript
504
+ * import { AnthropicProvider } from '@robota-sdk/anthropic';
505
+ *
506
+ * const anthropicProvider = new AnthropicProvider({
507
+ * apiKey: process.env.ANTHROPIC_API_KEY
508
+ * });
509
+ *
510
+ * robota.registerProvider('anthropic', anthropicProvider);
511
+ * robota.switchProvider('anthropic', 'claude-3-opus-20240229');
512
+ * ```
513
+ */
514
+ /**
515
+ * Set the current model configuration (complete replacement).
516
+ *
517
+ * Updates the current AI provider, model, and related settings. This completely
518
+ * replaces the current model configuration with the new values.
519
+ *
520
+ * @param modelConfig - New model configuration
521
+ *
522
+ * @throws {ConfigurationError} When the provider is not available
523
+ *
524
+ * @example
525
+ * ```typescript
526
+ * // Switch to a different provider and model
527
+ * robota.setModel({
528
+ * provider: 'anthropic',
529
+ * model: 'claude-3-opus',
530
+ * temperature: 0.9,
531
+ * maxTokens: 4000
532
+ * });
533
+ *
534
+ * // Simple model change
535
+ * robota.setModel({
536
+ * provider: 'openai',
537
+ * model: 'gpt-4-turbo'
538
+ * });
539
+ * ```
540
+ */
541
+ setModel(modelConfig: {
542
+ provider: string;
543
+ model: string;
544
+ temperature?: number;
545
+ maxTokens?: number;
546
+ topP?: number;
547
+ systemMessage?: string;
548
+ }): void;
549
+ /**
550
+ * Get the current model configuration.
551
+ *
552
+ * Returns the current AI provider, model, and related settings.
553
+ *
554
+ * @returns Current model configuration
555
+ *
556
+ * @example
557
+ * ```typescript
558
+ * const current = robota.getModel();
559
+ * console.log(`Current: ${current.provider}/${current.model}`);
560
+ * console.log(`Temperature: ${current.temperature}`);
561
+ * console.log(`Max tokens: ${current.maxTokens}`);
562
+ * ```
563
+ */
564
+ getModel(): {
565
+ provider: string;
566
+ model: string;
567
+ temperature?: number;
568
+ maxTokens?: number;
569
+ topP?: number;
570
+ systemMessage?: string;
571
+ };
572
+ /**
573
+ * Register a new tool for function calling.
574
+ *
575
+ * Adds a tool that the AI can call during conversations. The tool's schema
576
+ * defines its name, description, and parameters for the AI to understand.
577
+ *
578
+ * @param tool - The tool instance to register
579
+ *
580
+ * @example
581
+ * ```typescript
582
+ * import { AbstractTool } from '@robota-sdk/agents';
583
+ *
584
+ * class WeatherTool extends AbstractTool {
585
+ * name = 'get_weather';
586
+ * description = 'Get current weather for a location';
587
+ *
588
+ * get schema() {
589
+ * return {
590
+ * name: this.name,
591
+ * description: this.description,
592
+ * parameters: {
593
+ * type: 'object',
594
+ * properties: {
595
+ * location: { type: 'string', description: 'City name' }
596
+ * },
597
+ * required: ['location']
598
+ * }
599
+ * };
600
+ * }
601
+ *
602
+ * async execute(params: { location: string }) {
603
+ * // Implementation here
604
+ * return { temperature: 22, condition: 'sunny' };
605
+ * }
606
+ * }
607
+ *
608
+ * robota.registerTool(new WeatherTool());
609
+ * ```
610
+ */
611
+ registerTool(tool: AbstractTool): void;
612
+ /**
613
+ * Unregister a tool by name.
614
+ *
615
+ * Removes a previously registered tool, making it unavailable for future AI calls.
616
+ *
617
+ * @param toolName - Name of the tool to unregister
618
+ *
619
+ * @example
620
+ * ```typescript
621
+ * robota.unregisterTool('weather-tool');
622
+ *
623
+ * const stats = robota.getStats();
624
+ * console.log('Remaining tools:', stats.tools);
625
+ * ```
626
+ */
627
+ unregisterTool(toolName: string): void;
628
+ /**
629
+ * Get the current agent configuration.
630
+ *
631
+ * Returns a copy of the current configuration object. Modifications to the
632
+ * returned object do not affect the agent - use updateConfig() to make changes.
633
+ *
634
+ * @returns Copy of the current IAgentConfig
635
+ *
636
+ * @example
637
+ * ```typescript
638
+ * const config = robota.getConfig();
639
+ * console.log('Current model:', config.currentModel);
640
+ * console.log('Available providers:', Object.keys(config.aiProviders || {}));
641
+ * ```
642
+ */
643
+ getConfig(): IAgentConfig;
644
+ /**
645
+ * Get comprehensive agent statistics including providers, tools, plugins, modules, and performance data.
646
+ *
647
+ * @returns Object containing all agent statistics and metadata
648
+ *
649
+ * @example
650
+ * ```typescript
651
+ * const stats = robota.getStats();
652
+ * console.log(`Agent: ${stats.name} v${stats.version}`);
653
+ * console.log(`Uptime: ${stats.uptime}ms`);
654
+ * console.log(`Providers: ${stats.providers.join(', ')}`);
655
+ * console.log(`Tools: ${stats.tools.join(', ')}`);
656
+ * console.log(`Plugins: ${stats.plugins.join(', ')}`);
657
+ * console.log(`Modules: ${stats.modules.join(', ')}`);
658
+ * console.log(`Messages: ${stats.historyLength}`);
659
+ * ```
660
+ */
661
+ getStats(): {
662
+ name: string;
663
+ version: string;
664
+ conversationId: string;
665
+ providers: string[];
666
+ currentProvider: string | null;
667
+ tools: string[];
668
+ plugins: string[];
669
+ modules: string[];
670
+ historyLength: number;
671
+ historyStats: TAgentStatsMetadata;
672
+ uptime: number;
673
+ };
674
+ /**
675
+ * Validate the new agent configuration format.
676
+ * @internal
677
+ */
678
+ private validateNewConfig;
679
+ /**
680
+ * Clean up and dispose of the agent instance.
681
+ *
682
+ * This method properly cleans up all resources, managers, and services
683
+ * to prevent memory leaks and ensure graceful shutdown.
684
+ *
685
+ * @example
686
+ * ```typescript
687
+ * // Clean shutdown
688
+ * await robota.destroy();
689
+ * console.log('Agent destroyed');
690
+ * ```
691
+ */
692
+ destroy(): Promise<void>;
693
+ }
694
+ //# sourceMappingURL=robota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robota.d.ts","sourceRoot":"","sources":["../../src/core/robota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAA8B,MAAM,qBAAqB,CAAC;AACvH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAChH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAoB5D,OAAO,EAAE,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAKtF,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,8BAA8B,CAAC;AAE/F;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,qBAAa,MAAO,SAAQ,aAAa,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,CAAE,YAAW,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,CAAC;IACnJ,sCAAsC;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,SAAgB,OAAO,EAAE,MAAM,CAAW;IAG1C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,mBAAmB,CAAsB;IAGjD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,iBAAiB,CAAgB;IAGzC,UAAmB,MAAM,EAAE,YAAY,CAAC;IACxC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,qBAAqB,CAAC,CAA4B;IAC1D,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAsB;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;gBACS,MAAM,EAAE,YAAY;IAkFhC;;;OAGG;IACU,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAqD1F;;OAEG;IACU,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ5F;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAmBvK,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAIlC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAIzC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiBlC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAIpC;;OAEG;YACW,sBAAsB;IAYpC;;OAEG;YACW,0BAA0B;IAiGxC;;;;;;;OAOG;cACsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqEpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;IAwDnG;;;;;;;;;;;;;;;;;;;OAmBG;IACM,UAAU,IAAI,iBAAiB,EAAE;IAc1C;;;;;;;;;;;;;;OAcG;IACM,YAAY,IAAI,IAAI;IAM7B;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,YAAY,GAAG,IAAI;IAKrF;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAQzC;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC,GAAG,IAAI;IAIpG;;;;;;;;;;;;;OAaG;IACH,UAAU,IAAI,KAAK,CAAC,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC;IAIjF;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAW1B;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5H;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5D;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAO7C;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE;IAO/C;;;OAGG;IACH,UAAU,IAAI,OAAO,EAAE;IAOvB;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE;IAO1B;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAOtC;;;;;OAKG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAcvQ;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI;IAOtL;;;;;;;;;;;;;;;;;;;;OAoBG;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,WAAW,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI;IAkDR;;;;;;;;;;;;;;OAcG;IACH,QAAQ,IAAI;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;IAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAmBtC;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKtC;;;;;;;;;;;;;;OAcG;IACH,SAAS,IAAI,YAAY;IAIzB;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,IAAI;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,mBAAmB,CAAC;QAClC,MAAM,EAAE,MAAM,CAAC;KAClB;IA8BD;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;;;;;;;;;;;OAYG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+CjC"}