@robota-sdk/agent-core 3.0.0-beta.2 → 3.0.0-beta.20

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 (486) hide show
  1. package/README.md +64 -184
  2. package/dist/abstracts/abstract-agent.d.ts.map +1 -1
  3. package/dist/abstracts/abstract-agent.js.map +1 -1
  4. package/dist/abstracts/abstract-ai-provider.d.ts +8 -7
  5. package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -1
  6. package/dist/abstracts/abstract-ai-provider.js +21 -15
  7. package/dist/abstracts/abstract-ai-provider.js.map +1 -1
  8. package/dist/abstracts/abstract-executor.d.ts.map +1 -1
  9. package/dist/abstracts/abstract-executor.js +20 -12
  10. package/dist/abstracts/abstract-executor.js.map +1 -1
  11. package/dist/abstracts/abstract-manager.d.ts.map +1 -1
  12. package/dist/abstracts/abstract-manager.js.map +1 -1
  13. package/dist/abstracts/abstract-module-events.d.ts +77 -0
  14. package/dist/abstracts/abstract-module-events.d.ts.map +1 -0
  15. package/dist/abstracts/abstract-module-events.js +8 -0
  16. package/dist/abstracts/abstract-module-events.js.map +1 -0
  17. package/dist/abstracts/abstract-module-types.d.ts +110 -0
  18. package/dist/abstracts/abstract-module-types.d.ts.map +1 -0
  19. package/dist/abstracts/abstract-module-types.js +20 -0
  20. package/dist/abstracts/abstract-module-types.js.map +1 -0
  21. package/dist/abstracts/abstract-module.d.ts +13 -312
  22. package/dist/abstracts/abstract-module.d.ts.map +1 -1
  23. package/dist/abstracts/abstract-module.js +137 -302
  24. package/dist/abstracts/abstract-module.js.map +1 -1
  25. package/dist/abstracts/abstract-module.test.d.ts +2 -0
  26. package/dist/abstracts/abstract-module.test.d.ts.map +1 -0
  27. package/dist/abstracts/abstract-module.test.js +150 -0
  28. package/dist/abstracts/abstract-module.test.js.map +1 -0
  29. package/dist/abstracts/abstract-plugin-types.d.ts +152 -0
  30. package/dist/abstracts/abstract-plugin-types.d.ts.map +1 -0
  31. package/dist/abstracts/abstract-plugin-types.js +29 -0
  32. package/dist/abstracts/abstract-plugin-types.js.map +1 -0
  33. package/dist/abstracts/abstract-plugin.d.ts +15 -304
  34. package/dist/abstracts/abstract-plugin.d.ts.map +1 -1
  35. package/dist/abstracts/abstract-plugin.js +28 -144
  36. package/dist/abstracts/abstract-plugin.js.map +1 -1
  37. package/dist/abstracts/abstract-tool.d.ts +1 -1
  38. package/dist/abstracts/abstract-tool.d.ts.map +1 -1
  39. package/dist/abstracts/abstract-tool.js +2 -2
  40. package/dist/abstracts/abstract-tool.js.map +1 -1
  41. package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -1
  42. package/dist/abstracts/abstract-workflow-converter.js +29 -20
  43. package/dist/abstracts/abstract-workflow-converter.js.map +1 -1
  44. package/dist/abstracts/abstract-workflow-converter.test.d.ts +2 -0
  45. package/dist/abstracts/abstract-workflow-converter.test.d.ts.map +1 -0
  46. package/dist/abstracts/abstract-workflow-converter.test.js +144 -0
  47. package/dist/abstracts/abstract-workflow-converter.test.js.map +1 -0
  48. package/dist/abstracts/abstract-workflow-validator-helpers.d.ts +37 -0
  49. package/dist/abstracts/abstract-workflow-validator-helpers.d.ts.map +1 -0
  50. package/dist/abstracts/abstract-workflow-validator-helpers.js +147 -0
  51. package/dist/abstracts/abstract-workflow-validator-helpers.js.map +1 -0
  52. package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts +2 -0
  53. package/dist/abstracts/abstract-workflow-validator-helpers.test.d.ts.map +1 -0
  54. package/dist/abstracts/abstract-workflow-validator-helpers.test.js +157 -0
  55. package/dist/abstracts/abstract-workflow-validator-helpers.test.js.map +1 -0
  56. package/dist/abstracts/abstract-workflow-validator.d.ts +18 -130
  57. package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -1
  58. package/dist/abstracts/abstract-workflow-validator.js +58 -326
  59. package/dist/abstracts/abstract-workflow-validator.js.map +1 -1
  60. package/dist/abstracts/abstract-workflow-validator.test.d.ts +2 -0
  61. package/dist/abstracts/abstract-workflow-validator.test.d.ts.map +1 -0
  62. package/dist/abstracts/abstract-workflow-validator.test.js +142 -0
  63. package/dist/abstracts/abstract-workflow-validator.test.js.map +1 -0
  64. package/dist/abstracts/index.d.ts +1 -0
  65. package/dist/abstracts/index.d.ts.map +1 -1
  66. package/dist/abstracts/index.js +3 -2
  67. package/dist/abstracts/index.js.map +1 -1
  68. package/dist/agents/constants.d.ts +1 -1
  69. package/dist/agents/constants.d.ts.map +1 -1
  70. package/dist/agents/constants.js +1 -1
  71. package/dist/agents/constants.js.map +1 -1
  72. package/dist/agents/index.js +1 -1
  73. package/dist/agents/index.js.map +1 -1
  74. package/dist/agents/robota.test.js +36 -36
  75. package/dist/agents/robota.test.js.map +1 -1
  76. package/dist/browser/index.d.ts +32 -2
  77. package/dist/browser/index.js +6 -4
  78. package/dist/context/index.d.ts +4 -0
  79. package/dist/context/index.d.ts.map +1 -0
  80. package/dist/context/index.js +2 -0
  81. package/dist/context/index.js.map +1 -0
  82. package/dist/context/models.d.ts +27 -0
  83. package/dist/context/models.d.ts.map +1 -0
  84. package/dist/context/models.js +76 -0
  85. package/dist/context/models.js.map +1 -0
  86. package/dist/context/models.test.d.ts +2 -0
  87. package/dist/context/models.test.d.ts.map +1 -0
  88. package/dist/context/models.test.js +51 -0
  89. package/dist/context/models.test.js.map +1 -0
  90. package/dist/context/types.d.ts +25 -0
  91. package/dist/context/types.d.ts.map +1 -0
  92. package/dist/context/types.js +8 -0
  93. package/dist/context/types.js.map +1 -0
  94. package/dist/core/robota-config-manager.d.ts +78 -0
  95. package/dist/core/robota-config-manager.d.ts.map +1 -0
  96. package/dist/core/robota-config-manager.js +216 -0
  97. package/dist/core/robota-config-manager.js.map +1 -0
  98. package/dist/core/robota-execution.d.ts +23 -0
  99. package/dist/core/robota-execution.d.ts.map +1 -0
  100. package/dist/core/robota-execution.js +81 -0
  101. package/dist/core/robota-execution.js.map +1 -0
  102. package/dist/core/robota-initializer.d.ts +37 -0
  103. package/dist/core/robota-initializer.d.ts.map +1 -0
  104. package/dist/core/robota-initializer.js +77 -0
  105. package/dist/core/robota-initializer.js.map +1 -0
  106. package/dist/core/robota-lifecycle.d.ts +53 -0
  107. package/dist/core/robota-lifecycle.d.ts.map +1 -0
  108. package/dist/core/robota-lifecycle.js +73 -0
  109. package/dist/core/robota-lifecycle.js.map +1 -0
  110. package/dist/core/robota-module-manager.d.ts +78 -0
  111. package/dist/core/robota-module-manager.d.ts.map +1 -0
  112. package/dist/core/robota-module-manager.js +114 -0
  113. package/dist/core/robota-module-manager.js.map +1 -0
  114. package/dist/core/robota-plugin-manager.d.ts +40 -0
  115. package/dist/core/robota-plugin-manager.d.ts.map +1 -0
  116. package/dist/core/robota-plugin-manager.js +71 -0
  117. package/dist/core/robota-plugin-manager.js.map +1 -0
  118. package/dist/core/robota.d.ts +56 -606
  119. package/dist/core/robota.d.ts.map +1 -1
  120. package/dist/core/robota.js +210 -1152
  121. package/dist/core/robota.js.map +1 -1
  122. package/dist/core/robota.test.d.ts +2 -0
  123. package/dist/core/robota.test.d.ts.map +1 -0
  124. package/dist/core/robota.test.js +353 -0
  125. package/dist/core/robota.test.js.map +1 -0
  126. package/dist/event-service/event-service.d.ts +61 -0
  127. package/dist/event-service/event-service.d.ts.map +1 -0
  128. package/dist/event-service/event-service.js +120 -0
  129. package/dist/event-service/event-service.js.map +1 -0
  130. package/dist/event-service/index.d.ts +6 -0
  131. package/dist/event-service/index.d.ts.map +1 -0
  132. package/dist/event-service/index.js +4 -0
  133. package/dist/event-service/index.js.map +1 -0
  134. package/dist/event-service/interfaces.d.ts +98 -0
  135. package/dist/event-service/interfaces.d.ts.map +1 -0
  136. package/dist/event-service/interfaces.js +8 -0
  137. package/dist/event-service/interfaces.js.map +1 -0
  138. package/dist/event-service/task-events.d.ts +6 -0
  139. package/dist/event-service/task-events.d.ts.map +1 -0
  140. package/dist/event-service/task-events.js +6 -0
  141. package/dist/event-service/task-events.js.map +1 -0
  142. package/dist/event-service/user-events.d.ts +7 -0
  143. package/dist/event-service/user-events.d.ts.map +1 -0
  144. package/dist/event-service/user-events.js +6 -0
  145. package/dist/event-service/user-events.js.map +1 -0
  146. package/dist/executors/local-executor.d.ts +2 -2
  147. package/dist/executors/local-executor.d.ts.map +1 -1
  148. package/dist/executors/local-executor.js +7 -7
  149. package/dist/executors/local-executor.js.map +1 -1
  150. package/dist/executors/local-executor.test.js +16 -16
  151. package/dist/executors/local-executor.test.js.map +1 -1
  152. package/dist/hooks/hook-runner.d.ts +20 -0
  153. package/dist/hooks/hook-runner.d.ts.map +1 -0
  154. package/dist/hooks/hook-runner.js +95 -0
  155. package/dist/hooks/hook-runner.js.map +1 -0
  156. package/dist/hooks/index.d.ts +3 -0
  157. package/dist/hooks/index.d.ts.map +1 -0
  158. package/dist/hooks/index.js +3 -0
  159. package/dist/hooks/index.js.map +1 -0
  160. package/dist/hooks/types.d.ts +40 -0
  161. package/dist/hooks/types.d.ts.map +1 -0
  162. package/dist/hooks/types.js +5 -0
  163. package/dist/hooks/types.js.map +1 -0
  164. package/dist/index.d.ts +49 -75
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +26 -71
  167. package/dist/index.js.map +1 -1
  168. package/dist/interfaces/agent.d.ts +3 -2
  169. package/dist/interfaces/agent.d.ts.map +1 -1
  170. package/dist/interfaces/cache.d.ts +64 -0
  171. package/dist/interfaces/cache.d.ts.map +1 -0
  172. package/dist/interfaces/cache.js +2 -0
  173. package/dist/interfaces/cache.js.map +1 -0
  174. package/dist/interfaces/event-service.d.ts +4 -75
  175. package/dist/interfaces/event-service.d.ts.map +1 -1
  176. package/dist/interfaces/executor.d.ts.map +1 -1
  177. package/dist/interfaces/history-module.d.ts.map +1 -1
  178. package/dist/interfaces/index.d.ts +12 -9
  179. package/dist/interfaces/index.d.ts.map +1 -1
  180. package/dist/interfaces/index.js +2 -1
  181. package/dist/interfaces/index.js.map +1 -1
  182. package/dist/interfaces/manager.d.ts.map +1 -1
  183. package/dist/interfaces/media-provider.d.ts +86 -0
  184. package/dist/interfaces/media-provider.d.ts.map +1 -0
  185. package/dist/interfaces/media-provider.js +13 -0
  186. package/dist/interfaces/media-provider.js.map +1 -0
  187. package/dist/interfaces/messages.d.ts +23 -1
  188. package/dist/interfaces/messages.d.ts.map +1 -1
  189. package/dist/interfaces/messages.js.map +1 -1
  190. package/dist/interfaces/progress-reporting.d.ts.map +1 -1
  191. package/dist/interfaces/progress-reporting.js +1 -3
  192. package/dist/interfaces/progress-reporting.js.map +1 -1
  193. package/dist/interfaces/provider.d.ts +12 -1
  194. package/dist/interfaces/provider.d.ts.map +1 -1
  195. package/dist/interfaces/service.d.ts.map +1 -1
  196. package/dist/interfaces/tool.d.ts +1 -0
  197. package/dist/interfaces/tool.d.ts.map +1 -1
  198. package/dist/interfaces/types.d.ts.map +1 -1
  199. package/dist/interfaces/types.js +6 -6
  200. package/dist/interfaces/types.js.map +1 -1
  201. package/dist/interfaces/workflow-converter.d.ts.map +1 -1
  202. package/dist/interfaces/workflow-validator.d.ts.map +1 -1
  203. package/dist/interfaces/workflow-validator.js.map +1 -1
  204. package/dist/managers/agent-factory.d.ts.map +1 -1
  205. package/dist/managers/agent-factory.js +24 -16
  206. package/dist/managers/agent-factory.js.map +1 -1
  207. package/dist/managers/agent-factory.test.js +35 -25
  208. package/dist/managers/agent-factory.test.js.map +1 -1
  209. package/dist/managers/agent-templates.d.ts.map +1 -1
  210. package/dist/managers/agent-templates.js +22 -10
  211. package/dist/managers/agent-templates.js.map +1 -1
  212. package/dist/managers/agent-templates.test.d.ts +2 -0
  213. package/dist/managers/agent-templates.test.d.ts.map +1 -0
  214. package/dist/managers/agent-templates.test.js +175 -0
  215. package/dist/managers/agent-templates.test.js.map +1 -0
  216. package/dist/managers/ai-provider-manager.d.ts.map +1 -1
  217. package/dist/managers/ai-provider-manager.js +8 -10
  218. package/dist/managers/ai-provider-manager.js.map +1 -1
  219. package/dist/managers/ai-provider-manager.test.d.ts +2 -0
  220. package/dist/managers/ai-provider-manager.test.d.ts.map +1 -0
  221. package/dist/managers/ai-provider-manager.test.js +327 -0
  222. package/dist/managers/ai-provider-manager.test.js.map +1 -0
  223. package/dist/managers/conversation-history-manager.d.ts +13 -425
  224. package/dist/managers/conversation-history-manager.d.ts.map +1 -1
  225. package/dist/managers/conversation-history-manager.js +21 -537
  226. package/dist/managers/conversation-history-manager.js.map +1 -1
  227. package/dist/managers/conversation-history-manager.test.js +82 -43
  228. package/dist/managers/conversation-history-manager.test.js.map +1 -1
  229. package/dist/managers/conversation-message-factory.d.ts +40 -0
  230. package/dist/managers/conversation-message-factory.d.ts.map +1 -0
  231. package/dist/managers/conversation-message-factory.js +66 -0
  232. package/dist/managers/conversation-message-factory.js.map +1 -0
  233. package/dist/managers/conversation-message-factory.test.d.ts +2 -0
  234. package/dist/managers/conversation-message-factory.test.d.ts.map +1 -0
  235. package/dist/managers/conversation-message-factory.test.js +95 -0
  236. package/dist/managers/conversation-message-factory.test.js.map +1 -0
  237. package/dist/managers/conversation-session.d.ts +90 -0
  238. package/dist/managers/conversation-session.d.ts.map +1 -0
  239. package/dist/managers/conversation-session.js +177 -0
  240. package/dist/managers/conversation-session.js.map +1 -0
  241. package/dist/managers/index.d.ts +2 -2
  242. package/dist/managers/index.d.ts.map +1 -1
  243. package/dist/managers/index.js +1 -1
  244. package/dist/managers/index.js.map +1 -1
  245. package/dist/managers/module-registry-validation.d.ts +38 -0
  246. package/dist/managers/module-registry-validation.d.ts.map +1 -0
  247. package/dist/managers/module-registry-validation.js +100 -0
  248. package/dist/managers/module-registry-validation.js.map +1 -0
  249. package/dist/managers/module-registry-validation.test.d.ts +2 -0
  250. package/dist/managers/module-registry-validation.test.d.ts.map +1 -0
  251. package/dist/managers/module-registry-validation.test.js +144 -0
  252. package/dist/managers/module-registry-validation.test.js.map +1 -0
  253. package/dist/managers/module-registry.d.ts +13 -111
  254. package/dist/managers/module-registry.d.ts.map +1 -1
  255. package/dist/managers/module-registry.js +74 -344
  256. package/dist/managers/module-registry.js.map +1 -1
  257. package/dist/managers/module-type-registry-helpers.d.ts +34 -0
  258. package/dist/managers/module-type-registry-helpers.d.ts.map +1 -0
  259. package/dist/managers/module-type-registry-helpers.js +255 -0
  260. package/dist/managers/module-type-registry-helpers.js.map +1 -0
  261. package/dist/managers/module-type-registry.d.ts +10 -64
  262. package/dist/managers/module-type-registry.d.ts.map +1 -1
  263. package/dist/managers/module-type-registry.js +25 -373
  264. package/dist/managers/module-type-registry.js.map +1 -1
  265. package/dist/managers/plugins-helpers.d.ts +18 -0
  266. package/dist/managers/plugins-helpers.d.ts.map +1 -0
  267. package/dist/managers/plugins-helpers.js +118 -0
  268. package/dist/managers/plugins-helpers.js.map +1 -0
  269. package/dist/managers/plugins-helpers.test.d.ts +2 -0
  270. package/dist/managers/plugins-helpers.test.d.ts.map +1 -0
  271. package/dist/managers/plugins-helpers.test.js +68 -0
  272. package/dist/managers/plugins-helpers.test.js.map +1 -0
  273. package/dist/managers/plugins.d.ts +16 -109
  274. package/dist/managers/plugins.d.ts.map +1 -1
  275. package/dist/managers/plugins.js +29 -220
  276. package/dist/managers/plugins.js.map +1 -1
  277. package/dist/managers/plugins.test.d.ts +2 -0
  278. package/dist/managers/plugins.test.d.ts.map +1 -0
  279. package/dist/managers/plugins.test.js +160 -0
  280. package/dist/managers/plugins.test.js.map +1 -0
  281. package/dist/managers/tool-manager.d.ts +1 -1
  282. package/dist/managers/tool-manager.d.ts.map +1 -1
  283. package/dist/managers/tool-manager.js +15 -5
  284. package/dist/managers/tool-manager.js.map +1 -1
  285. package/dist/managers/tool-manager.test.js +32 -16
  286. package/dist/managers/tool-manager.test.js.map +1 -1
  287. package/dist/node/index.cjs +6 -4
  288. package/dist/node/index.d.cts +32 -2
  289. package/dist/node/index.d.ts +32 -2
  290. package/dist/node/index.js +6 -4
  291. package/dist/permissions/index.d.ts +7 -0
  292. package/dist/permissions/index.d.ts.map +1 -0
  293. package/dist/permissions/index.js +4 -0
  294. package/dist/permissions/index.js.map +1 -0
  295. package/dist/permissions/permission-gate.d.ts +38 -0
  296. package/dist/permissions/permission-gate.d.ts.map +1 -0
  297. package/dist/permissions/permission-gate.js +119 -0
  298. package/dist/permissions/permission-gate.js.map +1 -0
  299. package/dist/permissions/permission-mode.d.ts +25 -0
  300. package/dist/permissions/permission-mode.d.ts.map +1 -0
  301. package/dist/permissions/permission-mode.js +58 -0
  302. package/dist/permissions/permission-mode.js.map +1 -0
  303. package/dist/permissions/types.d.ts +27 -0
  304. package/dist/permissions/types.d.ts.map +1 -0
  305. package/dist/permissions/types.js +9 -0
  306. package/dist/permissions/types.js.map +1 -0
  307. package/dist/plugins/event-emitter/metrics.d.ts.map +1 -1
  308. package/dist/plugins/event-emitter/metrics.js +1 -1
  309. package/dist/plugins/event-emitter/metrics.js.map +1 -1
  310. package/dist/plugins/event-emitter/plugin-types.d.ts +88 -0
  311. package/dist/plugins/event-emitter/plugin-types.d.ts.map +1 -0
  312. package/dist/plugins/event-emitter/plugin-types.js +2 -0
  313. package/dist/plugins/event-emitter/plugin-types.js.map +1 -0
  314. package/dist/plugins/event-emitter/types.d.ts +3 -3
  315. package/dist/plugins/event-emitter/types.d.ts.map +1 -1
  316. package/dist/plugins/event-emitter/types.js +4 -4
  317. package/dist/plugins/event-emitter/types.js.map +1 -1
  318. package/dist/plugins/event-emitter-plugin.d.ts +9 -184
  319. package/dist/plugins/event-emitter-plugin.d.ts.map +1 -1
  320. package/dist/plugins/event-emitter-plugin.js +91 -235
  321. package/dist/plugins/event-emitter-plugin.js.map +1 -1
  322. package/dist/schemas/agent-template-schema.d.ts +12 -12
  323. package/dist/schemas/agent-template-schema.d.ts.map +1 -1
  324. package/dist/schemas/agent-template-schema.js +35 -33
  325. package/dist/schemas/agent-template-schema.js.map +1 -1
  326. package/dist/services/cache/cache-key-builder.d.ts +13 -0
  327. package/dist/services/cache/cache-key-builder.d.ts.map +1 -0
  328. package/dist/services/cache/cache-key-builder.js +30 -0
  329. package/dist/services/cache/cache-key-builder.js.map +1 -0
  330. package/dist/services/cache/cache-key-builder.test.d.ts +2 -0
  331. package/dist/services/cache/cache-key-builder.test.d.ts.map +1 -0
  332. package/dist/services/cache/cache-key-builder.test.js +56 -0
  333. package/dist/services/cache/cache-key-builder.test.js.map +1 -0
  334. package/dist/services/cache/execution-cache-service.d.ts +18 -0
  335. package/dist/services/cache/execution-cache-service.d.ts.map +1 -0
  336. package/dist/services/cache/execution-cache-service.js +26 -0
  337. package/dist/services/cache/execution-cache-service.js.map +1 -0
  338. package/dist/services/cache/execution-cache-service.test.d.ts +2 -0
  339. package/dist/services/cache/execution-cache-service.test.d.ts.map +1 -0
  340. package/dist/services/cache/execution-cache-service.test.js +59 -0
  341. package/dist/services/cache/execution-cache-service.test.js.map +1 -0
  342. package/dist/services/cache/index.d.ts +4 -0
  343. package/dist/services/cache/index.d.ts.map +1 -0
  344. package/dist/services/cache/index.js +4 -0
  345. package/dist/services/cache/index.js.map +1 -0
  346. package/dist/services/cache/memory-cache-storage.d.ts +25 -0
  347. package/dist/services/cache/memory-cache-storage.d.ts.map +1 -0
  348. package/dist/services/cache/memory-cache-storage.js +89 -0
  349. package/dist/services/cache/memory-cache-storage.js.map +1 -0
  350. package/dist/services/cache/memory-cache-storage.test.d.ts +2 -0
  351. package/dist/services/cache/memory-cache-storage.test.d.ts.map +1 -0
  352. package/dist/services/cache/memory-cache-storage.test.js +94 -0
  353. package/dist/services/cache/memory-cache-storage.test.js.map +1 -0
  354. package/dist/services/conversation-service/conversation-service.test.d.ts +2 -0
  355. package/dist/services/conversation-service/conversation-service.test.d.ts.map +1 -0
  356. package/dist/services/conversation-service/conversation-service.test.js +248 -0
  357. package/dist/services/conversation-service/conversation-service.test.js.map +1 -0
  358. package/dist/services/conversation-service/index.d.ts +10 -71
  359. package/dist/services/conversation-service/index.d.ts.map +1 -1
  360. package/dist/services/conversation-service/index.js +58 -355
  361. package/dist/services/conversation-service/index.js.map +1 -1
  362. package/dist/services/conversation-service/message-helpers.d.ts +47 -0
  363. package/dist/services/conversation-service/message-helpers.d.ts.map +1 -0
  364. package/dist/services/conversation-service/message-helpers.js +150 -0
  365. package/dist/services/conversation-service/message-helpers.js.map +1 -0
  366. package/dist/services/conversation-service/types.d.ts.map +1 -1
  367. package/dist/services/execution-constants.d.ts +16 -0
  368. package/dist/services/execution-constants.d.ts.map +1 -0
  369. package/dist/services/execution-constants.js +16 -0
  370. package/dist/services/execution-constants.js.map +1 -0
  371. package/dist/services/execution-event-emitter.d.ts +60 -0
  372. package/dist/services/execution-event-emitter.d.ts.map +1 -0
  373. package/dist/services/execution-event-emitter.js +323 -0
  374. package/dist/services/execution-event-emitter.js.map +1 -0
  375. package/dist/services/execution-round.d.ts +58 -0
  376. package/dist/services/execution-round.d.ts.map +1 -0
  377. package/dist/services/execution-round.js +323 -0
  378. package/dist/services/execution-round.js.map +1 -0
  379. package/dist/services/execution-round.test.d.ts +2 -0
  380. package/dist/services/execution-round.test.d.ts.map +1 -0
  381. package/dist/services/execution-round.test.js +188 -0
  382. package/dist/services/execution-round.test.js.map +1 -0
  383. package/dist/services/execution-service.d.ts +28 -125
  384. package/dist/services/execution-service.d.ts.map +1 -1
  385. package/dist/services/execution-service.js +222 -1134
  386. package/dist/services/execution-service.js.map +1 -1
  387. package/dist/services/execution-service.test.js +115 -72
  388. package/dist/services/execution-service.test.js.map +1 -1
  389. package/dist/services/execution-stream.d.ts +32 -0
  390. package/dist/services/execution-stream.d.ts.map +1 -0
  391. package/dist/services/execution-stream.js +268 -0
  392. package/dist/services/execution-stream.js.map +1 -0
  393. package/dist/services/execution-types.d.ts +122 -0
  394. package/dist/services/execution-types.d.ts.map +1 -0
  395. package/dist/services/execution-types.js +48 -0
  396. package/dist/services/execution-types.js.map +1 -0
  397. package/dist/services/history-module.d.ts.map +1 -1
  398. package/dist/services/history-module.js +1 -1
  399. package/dist/services/history-module.js.map +1 -1
  400. package/dist/services/history-module.test.d.ts +2 -0
  401. package/dist/services/history-module.test.d.ts.map +1 -0
  402. package/dist/services/history-module.test.js +137 -0
  403. package/dist/services/history-module.test.js.map +1 -0
  404. package/dist/services/in-memory-history-store.d.ts.map +1 -1
  405. package/dist/services/in-memory-history-store.js +1 -1
  406. package/dist/services/in-memory-history-store.js.map +1 -1
  407. package/dist/services/index.d.ts +0 -1
  408. package/dist/services/index.d.ts.map +1 -1
  409. package/dist/services/index.js +2 -3
  410. package/dist/services/index.js.map +1 -1
  411. package/dist/services/plugin-hook-dispatcher.d.ts +11 -0
  412. package/dist/services/plugin-hook-dispatcher.d.ts.map +1 -0
  413. package/dist/services/plugin-hook-dispatcher.js +68 -0
  414. package/dist/services/plugin-hook-dispatcher.js.map +1 -0
  415. package/dist/services/plugin-hook-dispatcher.test.d.ts +2 -0
  416. package/dist/services/plugin-hook-dispatcher.test.d.ts.map +1 -0
  417. package/dist/services/plugin-hook-dispatcher.test.js +93 -0
  418. package/dist/services/plugin-hook-dispatcher.test.js.map +1 -0
  419. package/dist/services/plugin-priority.test.d.ts +2 -0
  420. package/dist/services/plugin-priority.test.d.ts.map +1 -0
  421. package/dist/services/plugin-priority.test.js +119 -0
  422. package/dist/services/plugin-priority.test.js.map +1 -0
  423. package/dist/services/tool-execution-service.d.ts +1 -0
  424. package/dist/services/tool-execution-service.d.ts.map +1 -1
  425. package/dist/services/tool-execution-service.js +89 -46
  426. package/dist/services/tool-execution-service.js.map +1 -1
  427. package/dist/services/tool-execution-service.test.d.ts +2 -0
  428. package/dist/services/tool-execution-service.test.d.ts.map +1 -0
  429. package/dist/services/tool-execution-service.test.js +358 -0
  430. package/dist/services/tool-execution-service.test.js.map +1 -0
  431. package/dist/tool-registry/function-tool.d.ts +54 -0
  432. package/dist/tool-registry/function-tool.d.ts.map +1 -0
  433. package/dist/tool-registry/function-tool.js +190 -0
  434. package/dist/tool-registry/function-tool.js.map +1 -0
  435. package/dist/tool-registry/index.d.ts +3 -0
  436. package/dist/tool-registry/index.d.ts.map +1 -0
  437. package/dist/tool-registry/index.js +3 -0
  438. package/dist/tool-registry/index.js.map +1 -0
  439. package/dist/tool-registry/tool-registry.d.ts +54 -0
  440. package/dist/tool-registry/tool-registry.d.ts.map +1 -0
  441. package/dist/tool-registry/tool-registry.js +148 -0
  442. package/dist/tool-registry/tool-registry.js.map +1 -0
  443. package/dist/utils/errors.d.ts +11 -2
  444. package/dist/utils/errors.d.ts.map +1 -1
  445. package/dist/utils/errors.js +13 -2
  446. package/dist/utils/errors.js.map +1 -1
  447. package/dist/utils/errors.test.d.ts +2 -0
  448. package/dist/utils/errors.test.d.ts.map +1 -0
  449. package/dist/utils/errors.test.js +361 -0
  450. package/dist/utils/errors.test.js.map +1 -0
  451. package/dist/utils/execution-proxy.d.ts +7 -3
  452. package/dist/utils/execution-proxy.d.ts.map +1 -1
  453. package/dist/utils/execution-proxy.js +64 -42
  454. package/dist/utils/execution-proxy.js.map +1 -1
  455. package/dist/utils/execution-proxy.test.d.ts +2 -0
  456. package/dist/utils/execution-proxy.test.d.ts.map +1 -0
  457. package/dist/utils/execution-proxy.test.js +179 -0
  458. package/dist/utils/execution-proxy.test.js.map +1 -0
  459. package/dist/utils/logger.d.ts +3 -3
  460. package/dist/utils/logger.d.ts.map +1 -1
  461. package/dist/utils/logger.js +9 -5
  462. package/dist/utils/logger.js.map +1 -1
  463. package/dist/utils/message-converter.d.ts +1 -4
  464. package/dist/utils/message-converter.d.ts.map +1 -1
  465. package/dist/utils/message-converter.js +13 -12
  466. package/dist/utils/message-converter.js.map +1 -1
  467. package/dist/utils/message-converter.test.d.ts +2 -0
  468. package/dist/utils/message-converter.test.d.ts.map +1 -0
  469. package/dist/utils/message-converter.test.js +164 -0
  470. package/dist/utils/message-converter.test.js.map +1 -0
  471. package/dist/utils/periodic-task.d.ts +1 -1
  472. package/dist/utils/periodic-task.d.ts.map +1 -1
  473. package/dist/utils/periodic-task.js +1 -1
  474. package/dist/utils/periodic-task.js.map +1 -1
  475. package/dist/utils/periodic-task.test.d.ts +2 -0
  476. package/dist/utils/periodic-task.test.d.ts.map +1 -0
  477. package/dist/utils/periodic-task.test.js +87 -0
  478. package/dist/utils/periodic-task.test.js.map +1 -0
  479. package/dist/utils/validation.d.ts.map +1 -1
  480. package/dist/utils/validation.js +17 -11
  481. package/dist/utils/validation.js.map +1 -1
  482. package/dist/utils/validation.test.d.ts +2 -0
  483. package/dist/utils/validation.test.d.ts.map +1 -0
  484. package/dist/utils/validation.test.js +249 -0
  485. package/dist/utils/validation.test.js.map +1 -0
  486. package/package.json +1 -1
@@ -1,108 +1,29 @@
1
+ /**
2
+ * Core Robota agent class.
3
+ *
4
+ * Heavy logic is delegated to extracted helpers:
5
+ * - {@link RobotaModuleManager} — module lifecycle
6
+ * - {@link RobotaPluginManager} — plugin lifecycle
7
+ * - {@link RobotaConfigManager} — config/tool/model management
8
+ * - {@link performAsyncInitialization} — async boot sequence
9
+ * - {@link robotaRun}, {@link robotaRunStream} — execution turns
10
+ * - {@link buildAgentStats}, {@link destroyAgent} — stats and teardown
11
+ * @public
12
+ */
1
13
  import { AbstractAgent } from '../abstracts/abstract-agent';
2
14
  import { TUniversalMessage, IAgentConfig, IRunOptions, IAgent } from '../interfaces/agent';
3
15
  import type { IPluginContract, IPluginHooks, IPluginOptions, IPluginStats } from '../abstracts/abstract-plugin';
4
16
  import type { IModule } from '../abstracts/abstract-module';
5
- import { AbstractTool, type IToolWithEventService } from '../abstracts/abstract-tool';
17
+ import type { AbstractTool, IToolWithEventService } from '../abstracts/abstract-tool';
6
18
  import type { IModuleResultData } from '../abstracts/abstract-module';
19
+ export type { TAgentStatsMetadata } from './robota-config-manager';
7
20
  /**
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
- *
21
+ * Core AI agent integrating multiple AI providers, tools, and plugins
22
+ * into a unified conversational interface.
19
23
  * @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
24
  */
102
25
  export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUniversalMessage> implements IAgent<IAgentConfig, IRunOptions, TUniversalMessage> {
103
- /** The name of this agent instance */
104
26
  readonly name: string;
105
- /** The version of the Robota agent implementation */
106
27
  readonly version: string;
107
28
  private aiProviders;
108
29
  private tools;
@@ -121,52 +42,25 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
121
42
  private startTime;
122
43
  private configVersion;
123
44
  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
- */
45
+ private moduleManager;
46
+ private pluginManager;
47
+ private configManager;
153
48
  constructor(config: IAgentConfig);
154
- /**
155
- * Update tools for this agent instance.
156
- * Rebuilds the Tools registry atomically and emits CONFIG_UPDATED event.
157
- */
49
+ private initDelegates;
50
+ private emitCreatedEvent;
51
+ run(input: string, options?: IRunOptions): Promise<string>;
52
+ runStream(input: string, options?: IRunOptions): AsyncGenerator<string, void, undefined>;
53
+ private executionDeps;
54
+ getHistory(): TUniversalMessage[];
55
+ clearHistory(): void;
56
+ /** Inject a message into conversation history without triggering execution. */
57
+ injectMessage(role: 'user' | 'assistant' | 'system', content: string): void;
158
58
  updateTools(next: Array<IToolWithEventService>): Promise<{
159
59
  version: number;
160
60
  }>;
161
- /**
162
- * Update configuration partially. Currently supports tools.
163
- */
164
61
  updateConfiguration(patch: Partial<IAgentConfig>): Promise<{
165
62
  version: number;
166
63
  }>;
167
- /**
168
- * Read-only configuration overview for UI.
169
- */
170
64
  getConfiguration(): Promise<{
171
65
  version: number;
172
66
  tools: Array<{
@@ -174,299 +68,41 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
174
68
  parameters?: string[];
175
69
  }>;
176
70
  updatedAt: number;
177
- metadata?: TAgentStatsMetadata;
178
71
  }>;
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
- */
72
+ setModel(mc: {
73
+ provider: string;
74
+ model: string;
75
+ temperature?: number;
76
+ maxTokens?: number;
77
+ topP?: number;
78
+ systemMessage?: string;
79
+ }): void;
80
+ getModel(): {
81
+ provider: string;
82
+ model: string;
83
+ temperature?: number;
84
+ maxTokens?: number;
85
+ topP?: number;
86
+ systemMessage?: string;
87
+ };
88
+ registerTool(tool: AbstractTool): void;
89
+ unregisterTool(toolName: string): void;
90
+ getConfig(): IAgentConfig;
365
91
  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
92
  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
- */
93
+ getPlugin(pluginName: string): (IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks) | undefined;
416
94
  getPlugins(): Array<IPluginContract<IPluginOptions, IPluginStats> & IPluginHooks>;
417
- /**
418
- * Get all registered plugin names
419
- */
420
95
  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
96
  registerModule(module: IModule, options?: {
427
97
  autoInitialize?: boolean;
428
98
  validateDependencies?: boolean;
429
99
  }): 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
100
  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
- */
101
+ getModule(moduleName: string): IModule | undefined;
447
102
  getModulesByType(moduleType: string): IModule[];
448
- /**
449
- * Get all registered modules
450
- * @returns Array of all registered modules
451
- */
452
103
  getModules(): IModule[];
453
- /**
454
- * Get all registered module names
455
- * @returns Array of module names
456
- */
457
104
  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
105
  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
106
  executeModule(moduleName: string, context: {
471
107
  executionId?: string;
472
108
  sessionId?: string;
@@ -478,186 +114,13 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
478
114
  error?: Error;
479
115
  duration?: number;
480
116
  }>;
481
- /**
482
- * Get module execution statistics
483
- * @param moduleName - Name of the module
484
- * @returns Module statistics or null if not found
485
- */
486
117
  getModuleStats(moduleName: string): {
487
118
  totalExecutions: number;
488
119
  successfulExecutions: number;
489
120
  failedExecutions: number;
490
121
  averageExecutionTime: number;
491
122
  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
- */
123
+ } | undefined;
661
124
  getStats(): {
662
125
  name: string;
663
126
  version: string;
@@ -668,27 +131,14 @@ export declare class Robota extends AbstractAgent<IAgentConfig, IRunOptions, TUn
668
131
  plugins: string[];
669
132
  modules: string[];
670
133
  historyLength: number;
671
- historyStats: TAgentStatsMetadata;
134
+ historyStats: import("./robota-config-manager").TAgentStatsMetadata;
672
135
  uptime: number;
673
136
  };
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
137
  destroy(): Promise<void>;
138
+ protected initialize(): Promise<void>;
139
+ private ensureFullyInitialized;
140
+ private doAsyncInit;
141
+ private emitAgentEvent;
142
+ private buildOwnerPath;
693
143
  }
694
144
  //# sourceMappingURL=robota.d.ts.map