@robota-sdk/agent-core 3.0.0-beta.4 → 3.0.0-beta.43

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 (504) hide show
  1. package/README.md +72 -186
  2. package/dist/browser/index.d.ts +302 -87
  3. package/dist/browser/index.js +10 -4
  4. package/dist/node/index.cjs +10 -4
  5. package/dist/node/index.d.cts +302 -87
  6. package/dist/node/index.d.ts +302 -87
  7. package/dist/node/index.js +10 -4
  8. package/package.json +1 -2
  9. package/dist/abstracts/abstract-agent.d.ts +0 -56
  10. package/dist/abstracts/abstract-agent.d.ts.map +0 -1
  11. package/dist/abstracts/abstract-agent.js +0 -55
  12. package/dist/abstracts/abstract-agent.js.map +0 -1
  13. package/dist/abstracts/abstract-ai-provider.d.ts +0 -187
  14. package/dist/abstracts/abstract-ai-provider.d.ts.map +0 -1
  15. package/dist/abstracts/abstract-ai-provider.js +0 -252
  16. package/dist/abstracts/abstract-ai-provider.js.map +0 -1
  17. package/dist/abstracts/abstract-executor.d.ts +0 -110
  18. package/dist/abstracts/abstract-executor.d.ts.map +0 -1
  19. package/dist/abstracts/abstract-executor.js +0 -156
  20. package/dist/abstracts/abstract-executor.js.map +0 -1
  21. package/dist/abstracts/abstract-manager.d.ts +0 -42
  22. package/dist/abstracts/abstract-manager.d.ts.map +0 -1
  23. package/dist/abstracts/abstract-manager.js +0 -49
  24. package/dist/abstracts/abstract-manager.js.map +0 -1
  25. package/dist/abstracts/abstract-module.d.ts +0 -365
  26. package/dist/abstracts/abstract-module.d.ts.map +0 -1
  27. package/dist/abstracts/abstract-module.js +0 -474
  28. package/dist/abstracts/abstract-module.js.map +0 -1
  29. package/dist/abstracts/abstract-plugin.d.ts +0 -369
  30. package/dist/abstracts/abstract-plugin.d.ts.map +0 -1
  31. package/dist/abstracts/abstract-plugin.js +0 -258
  32. package/dist/abstracts/abstract-plugin.js.map +0 -1
  33. package/dist/abstracts/abstract-tool.d.ts +0 -175
  34. package/dist/abstracts/abstract-tool.d.ts.map +0 -1
  35. package/dist/abstracts/abstract-tool.js +0 -140
  36. package/dist/abstracts/abstract-tool.js.map +0 -1
  37. package/dist/abstracts/abstract-workflow-converter.d.ts +0 -136
  38. package/dist/abstracts/abstract-workflow-converter.d.ts.map +0 -1
  39. package/dist/abstracts/abstract-workflow-converter.js +0 -252
  40. package/dist/abstracts/abstract-workflow-converter.js.map +0 -1
  41. package/dist/abstracts/abstract-workflow-validator.d.ts +0 -203
  42. package/dist/abstracts/abstract-workflow-validator.d.ts.map +0 -1
  43. package/dist/abstracts/abstract-workflow-validator.js +0 -447
  44. package/dist/abstracts/abstract-workflow-validator.js.map +0 -1
  45. package/dist/abstracts/index.d.ts +0 -6
  46. package/dist/abstracts/index.d.ts.map +0 -1
  47. package/dist/abstracts/index.js +0 -9
  48. package/dist/abstracts/index.js.map +0 -1
  49. package/dist/agents/constants.d.ts +0 -23
  50. package/dist/agents/constants.d.ts.map +0 -1
  51. package/dist/agents/constants.js +0 -22
  52. package/dist/agents/constants.js.map +0 -1
  53. package/dist/agents/index.d.ts +0 -1
  54. package/dist/agents/index.d.ts.map +0 -1
  55. package/dist/agents/index.js +0 -4
  56. package/dist/agents/index.js.map +0 -1
  57. package/dist/agents/robota.test.d.ts +0 -2
  58. package/dist/agents/robota.test.d.ts.map +0 -1
  59. package/dist/agents/robota.test.js +0 -416
  60. package/dist/agents/robota.test.js.map +0 -1
  61. package/dist/core/robota.d.ts +0 -694
  62. package/dist/core/robota.d.ts.map +0 -1
  63. package/dist/core/robota.js +0 -1277
  64. package/dist/core/robota.js.map +0 -1
  65. package/dist/executors/local-executor.d.ts +0 -96
  66. package/dist/executors/local-executor.d.ts.map +0 -1
  67. package/dist/executors/local-executor.js +0 -197
  68. package/dist/executors/local-executor.js.map +0 -1
  69. package/dist/executors/local-executor.test.d.ts +0 -2
  70. package/dist/executors/local-executor.test.d.ts.map +0 -1
  71. package/dist/executors/local-executor.test.js +0 -192
  72. package/dist/executors/local-executor.test.js.map +0 -1
  73. package/dist/index.d.ts +0 -274
  74. package/dist/index.d.ts.map +0 -1
  75. package/dist/index.js +0 -235
  76. package/dist/index.js.map +0 -1
  77. package/dist/interfaces/agent.d.ts +0 -198
  78. package/dist/interfaces/agent.d.ts.map +0 -1
  79. package/dist/interfaces/agent.js +0 -2
  80. package/dist/interfaces/agent.js.map +0 -1
  81. package/dist/interfaces/event-service.d.ts +0 -79
  82. package/dist/interfaces/event-service.d.ts.map +0 -1
  83. package/dist/interfaces/event-service.js +0 -2
  84. package/dist/interfaces/event-service.js.map +0 -1
  85. package/dist/interfaces/executor.d.ts +0 -128
  86. package/dist/interfaces/executor.d.ts.map +0 -1
  87. package/dist/interfaces/executor.js +0 -2
  88. package/dist/interfaces/executor.js.map +0 -1
  89. package/dist/interfaces/history-module.d.ts +0 -19
  90. package/dist/interfaces/history-module.d.ts.map +0 -1
  91. package/dist/interfaces/history-module.js +0 -2
  92. package/dist/interfaces/history-module.js.map +0 -1
  93. package/dist/interfaces/index.d.ts +0 -13
  94. package/dist/interfaces/index.d.ts.map +0 -1
  95. package/dist/interfaces/index.js +0 -4
  96. package/dist/interfaces/index.js.map +0 -1
  97. package/dist/interfaces/manager.d.ts +0 -142
  98. package/dist/interfaces/manager.d.ts.map +0 -1
  99. package/dist/interfaces/manager.js +0 -2
  100. package/dist/interfaces/manager.js.map +0 -1
  101. package/dist/interfaces/messages.d.ts +0 -75
  102. package/dist/interfaces/messages.d.ts.map +0 -1
  103. package/dist/interfaces/messages.js +0 -29
  104. package/dist/interfaces/messages.js.map +0 -1
  105. package/dist/interfaces/progress-reporting.d.ts +0 -86
  106. package/dist/interfaces/progress-reporting.d.ts.map +0 -1
  107. package/dist/interfaces/progress-reporting.js +0 -37
  108. package/dist/interfaces/progress-reporting.js.map +0 -1
  109. package/dist/interfaces/provider.d.ts +0 -217
  110. package/dist/interfaces/provider.d.ts.map +0 -1
  111. package/dist/interfaces/provider.js +0 -2
  112. package/dist/interfaces/provider.js.map +0 -1
  113. package/dist/interfaces/service.d.ts +0 -205
  114. package/dist/interfaces/service.d.ts.map +0 -1
  115. package/dist/interfaces/service.js +0 -6
  116. package/dist/interfaces/service.js.map +0 -1
  117. package/dist/interfaces/tool.d.ts +0 -248
  118. package/dist/interfaces/tool.d.ts.map +0 -1
  119. package/dist/interfaces/tool.js +0 -2
  120. package/dist/interfaces/tool.js.map +0 -1
  121. package/dist/interfaces/types.d.ts +0 -71
  122. package/dist/interfaces/types.d.ts.map +0 -1
  123. package/dist/interfaces/types.js +0 -33
  124. package/dist/interfaces/types.js.map +0 -1
  125. package/dist/interfaces/workflow-converter.d.ts +0 -193
  126. package/dist/interfaces/workflow-converter.d.ts.map +0 -1
  127. package/dist/interfaces/workflow-converter.js +0 -11
  128. package/dist/interfaces/workflow-converter.js.map +0 -1
  129. package/dist/interfaces/workflow-validator.d.ts +0 -209
  130. package/dist/interfaces/workflow-validator.d.ts.map +0 -1
  131. package/dist/interfaces/workflow-validator.js +0 -16
  132. package/dist/interfaces/workflow-validator.js.map +0 -1
  133. package/dist/managers/agent-factory.d.ts +0 -132
  134. package/dist/managers/agent-factory.d.ts.map +0 -1
  135. package/dist/managers/agent-factory.js +0 -284
  136. package/dist/managers/agent-factory.js.map +0 -1
  137. package/dist/managers/agent-factory.test.d.ts +0 -2
  138. package/dist/managers/agent-factory.test.d.ts.map +0 -1
  139. package/dist/managers/agent-factory.test.js +0 -249
  140. package/dist/managers/agent-factory.test.js.map +0 -1
  141. package/dist/managers/agent-templates.d.ts +0 -84
  142. package/dist/managers/agent-templates.d.ts.map +0 -1
  143. package/dist/managers/agent-templates.js +0 -159
  144. package/dist/managers/agent-templates.js.map +0 -1
  145. package/dist/managers/ai-provider-manager.d.ts +0 -80
  146. package/dist/managers/ai-provider-manager.d.ts.map +0 -1
  147. package/dist/managers/ai-provider-manager.js +0 -226
  148. package/dist/managers/ai-provider-manager.js.map +0 -1
  149. package/dist/managers/conversation-history-manager.d.ts +0 -455
  150. package/dist/managers/conversation-history-manager.d.ts.map +0 -1
  151. package/dist/managers/conversation-history-manager.js +0 -578
  152. package/dist/managers/conversation-history-manager.js.map +0 -1
  153. package/dist/managers/conversation-history-manager.test.d.ts +0 -2
  154. package/dist/managers/conversation-history-manager.test.d.ts.map +0 -1
  155. package/dist/managers/conversation-history-manager.test.js +0 -374
  156. package/dist/managers/conversation-history-manager.test.js.map +0 -1
  157. package/dist/managers/index.d.ts +0 -8
  158. package/dist/managers/index.d.ts.map +0 -1
  159. package/dist/managers/index.js +0 -8
  160. package/dist/managers/index.js.map +0 -1
  161. package/dist/managers/module-registry.d.ts +0 -161
  162. package/dist/managers/module-registry.d.ts.map +0 -1
  163. package/dist/managers/module-registry.js +0 -519
  164. package/dist/managers/module-registry.js.map +0 -1
  165. package/dist/managers/module-type-registry.d.ts +0 -113
  166. package/dist/managers/module-type-registry.d.ts.map +0 -1
  167. package/dist/managers/module-type-registry.js +0 -439
  168. package/dist/managers/module-type-registry.js.map +0 -1
  169. package/dist/managers/plugins.d.ts +0 -166
  170. package/dist/managers/plugins.d.ts.map +0 -1
  171. package/dist/managers/plugins.js +0 -339
  172. package/dist/managers/plugins.js.map +0 -1
  173. package/dist/managers/tool-manager.d.ts +0 -70
  174. package/dist/managers/tool-manager.d.ts.map +0 -1
  175. package/dist/managers/tool-manager.js +0 -138
  176. package/dist/managers/tool-manager.js.map +0 -1
  177. package/dist/managers/tool-manager.test.d.ts +0 -2
  178. package/dist/managers/tool-manager.test.d.ts.map +0 -1
  179. package/dist/managers/tool-manager.test.js +0 -186
  180. package/dist/managers/tool-manager.test.js.map +0 -1
  181. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts +0 -67
  182. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts.map +0 -1
  183. package/dist/plugins/conversation-history/conversation-history-plugin.js +0 -270
  184. package/dist/plugins/conversation-history/conversation-history-plugin.js.map +0 -1
  185. package/dist/plugins/conversation-history/index.d.ts +0 -3
  186. package/dist/plugins/conversation-history/index.d.ts.map +0 -1
  187. package/dist/plugins/conversation-history/index.js +0 -2
  188. package/dist/plugins/conversation-history/index.js.map +0 -1
  189. package/dist/plugins/conversation-history/storages/database-storage.d.ts +0 -19
  190. package/dist/plugins/conversation-history/storages/database-storage.d.ts.map +0 -1
  191. package/dist/plugins/conversation-history/storages/database-storage.js +0 -94
  192. package/dist/plugins/conversation-history/storages/database-storage.js.map +0 -1
  193. package/dist/plugins/conversation-history/storages/file-storage.d.ts +0 -15
  194. package/dist/plugins/conversation-history/storages/file-storage.d.ts.map +0 -1
  195. package/dist/plugins/conversation-history/storages/file-storage.js +0 -94
  196. package/dist/plugins/conversation-history/storages/file-storage.js.map +0 -1
  197. package/dist/plugins/conversation-history/storages/index.d.ts +0 -4
  198. package/dist/plugins/conversation-history/storages/index.d.ts.map +0 -1
  199. package/dist/plugins/conversation-history/storages/index.js +0 -4
  200. package/dist/plugins/conversation-history/storages/index.js.map +0 -1
  201. package/dist/plugins/conversation-history/storages/memory-storage.d.ts +0 -15
  202. package/dist/plugins/conversation-history/storages/memory-storage.d.ts.map +0 -1
  203. package/dist/plugins/conversation-history/storages/memory-storage.js +0 -33
  204. package/dist/plugins/conversation-history/storages/memory-storage.js.map +0 -1
  205. package/dist/plugins/conversation-history/types.d.ts +0 -61
  206. package/dist/plugins/conversation-history/types.d.ts.map +0 -1
  207. package/dist/plugins/conversation-history/types.js +0 -2
  208. package/dist/plugins/conversation-history/types.js.map +0 -1
  209. package/dist/plugins/error-handling/context-adapter.d.ts +0 -30
  210. package/dist/plugins/error-handling/context-adapter.d.ts.map +0 -1
  211. package/dist/plugins/error-handling/context-adapter.js +0 -41
  212. package/dist/plugins/error-handling/context-adapter.js.map +0 -1
  213. package/dist/plugins/error-handling/error-handling-plugin.d.ts +0 -49
  214. package/dist/plugins/error-handling/error-handling-plugin.d.ts.map +0 -1
  215. package/dist/plugins/error-handling/error-handling-plugin.js +0 -229
  216. package/dist/plugins/error-handling/error-handling-plugin.js.map +0 -1
  217. package/dist/plugins/error-handling/index.d.ts +0 -10
  218. package/dist/plugins/error-handling/index.d.ts.map +0 -1
  219. package/dist/plugins/error-handling/index.js +0 -10
  220. package/dist/plugins/error-handling/index.js.map +0 -1
  221. package/dist/plugins/error-handling/types.d.ts +0 -73
  222. package/dist/plugins/error-handling/types.d.ts.map +0 -1
  223. package/dist/plugins/error-handling/types.js +0 -14
  224. package/dist/plugins/error-handling/types.js.map +0 -1
  225. package/dist/plugins/event-emitter/metrics.d.ts +0 -17
  226. package/dist/plugins/event-emitter/metrics.d.ts.map +0 -1
  227. package/dist/plugins/event-emitter/metrics.js +0 -17
  228. package/dist/plugins/event-emitter/metrics.js.map +0 -1
  229. package/dist/plugins/event-emitter/types.d.ts +0 -112
  230. package/dist/plugins/event-emitter/types.d.ts.map +0 -1
  231. package/dist/plugins/event-emitter/types.js +0 -65
  232. package/dist/plugins/event-emitter/types.js.map +0 -1
  233. package/dist/plugins/event-emitter-plugin.d.ts +0 -222
  234. package/dist/plugins/event-emitter-plugin.d.ts.map +0 -1
  235. package/dist/plugins/event-emitter-plugin.js +0 -432
  236. package/dist/plugins/event-emitter-plugin.js.map +0 -1
  237. package/dist/plugins/event-emitter-plugin.test.d.ts +0 -2
  238. package/dist/plugins/event-emitter-plugin.test.d.ts.map +0 -1
  239. package/dist/plugins/event-emitter-plugin.test.js +0 -94
  240. package/dist/plugins/event-emitter-plugin.test.js.map +0 -1
  241. package/dist/plugins/execution/execution-analytics-plugin.d.ts +0 -129
  242. package/dist/plugins/execution/execution-analytics-plugin.d.ts.map +0 -1
  243. package/dist/plugins/execution/execution-analytics-plugin.js +0 -517
  244. package/dist/plugins/execution/execution-analytics-plugin.js.map +0 -1
  245. package/dist/plugins/execution/index.d.ts +0 -3
  246. package/dist/plugins/execution/index.d.ts.map +0 -1
  247. package/dist/plugins/execution/index.js +0 -2
  248. package/dist/plugins/execution/index.js.map +0 -1
  249. package/dist/plugins/execution/types.d.ts +0 -90
  250. package/dist/plugins/execution/types.d.ts.map +0 -1
  251. package/dist/plugins/execution/types.js +0 -2
  252. package/dist/plugins/execution/types.js.map +0 -1
  253. package/dist/plugins/index.d.ts +0 -10
  254. package/dist/plugins/index.d.ts.map +0 -1
  255. package/dist/plugins/index.js +0 -11
  256. package/dist/plugins/index.js.map +0 -1
  257. package/dist/plugins/limits/types.d.ts +0 -61
  258. package/dist/plugins/limits/types.d.ts.map +0 -1
  259. package/dist/plugins/limits/types.js +0 -2
  260. package/dist/plugins/limits/types.js.map +0 -1
  261. package/dist/plugins/limits-plugin.d.ts +0 -113
  262. package/dist/plugins/limits-plugin.d.ts.map +0 -1
  263. package/dist/plugins/limits-plugin.js +0 -380
  264. package/dist/plugins/limits-plugin.js.map +0 -1
  265. package/dist/plugins/logging/formatters.d.ts +0 -14
  266. package/dist/plugins/logging/formatters.d.ts.map +0 -1
  267. package/dist/plugins/logging/formatters.js +0 -24
  268. package/dist/plugins/logging/formatters.js.map +0 -1
  269. package/dist/plugins/logging/index.d.ts +0 -3
  270. package/dist/plugins/logging/index.d.ts.map +0 -1
  271. package/dist/plugins/logging/index.js +0 -2
  272. package/dist/plugins/logging/index.js.map +0 -1
  273. package/dist/plugins/logging/logging-plugin.d.ts +0 -91
  274. package/dist/plugins/logging/logging-plugin.d.ts.map +0 -1
  275. package/dist/plugins/logging/logging-plugin.js +0 -335
  276. package/dist/plugins/logging/logging-plugin.js.map +0 -1
  277. package/dist/plugins/logging/storages/console-storage.d.ts +0 -14
  278. package/dist/plugins/logging/storages/console-storage.d.ts.map +0 -1
  279. package/dist/plugins/logging/storages/console-storage.js +0 -38
  280. package/dist/plugins/logging/storages/console-storage.js.map +0 -1
  281. package/dist/plugins/logging/storages/file-storage.d.ts +0 -14
  282. package/dist/plugins/logging/storages/file-storage.d.ts.map +0 -1
  283. package/dist/plugins/logging/storages/file-storage.js +0 -41
  284. package/dist/plugins/logging/storages/file-storage.js.map +0 -1
  285. package/dist/plugins/logging/storages/index.d.ts +0 -5
  286. package/dist/plugins/logging/storages/index.d.ts.map +0 -1
  287. package/dist/plugins/logging/storages/index.js +0 -5
  288. package/dist/plugins/logging/storages/index.js.map +0 -1
  289. package/dist/plugins/logging/storages/remote-storage.d.ts +0 -20
  290. package/dist/plugins/logging/storages/remote-storage.d.ts.map +0 -1
  291. package/dist/plugins/logging/storages/remote-storage.js +0 -61
  292. package/dist/plugins/logging/storages/remote-storage.js.map +0 -1
  293. package/dist/plugins/logging/storages/silent-storage.d.ts +0 -10
  294. package/dist/plugins/logging/storages/silent-storage.d.ts.map +0 -1
  295. package/dist/plugins/logging/storages/silent-storage.js +0 -15
  296. package/dist/plugins/logging/storages/silent-storage.js.map +0 -1
  297. package/dist/plugins/logging/types.d.ts +0 -84
  298. package/dist/plugins/logging/types.d.ts.map +0 -1
  299. package/dist/plugins/logging/types.js +0 -2
  300. package/dist/plugins/logging/types.js.map +0 -1
  301. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts +0 -12
  302. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts.map +0 -1
  303. package/dist/plugins/performance/collectors/system-metrics-collector.js +0 -65
  304. package/dist/plugins/performance/collectors/system-metrics-collector.js.map +0 -1
  305. package/dist/plugins/performance/index.d.ts +0 -5
  306. package/dist/plugins/performance/index.d.ts.map +0 -1
  307. package/dist/plugins/performance/index.js +0 -4
  308. package/dist/plugins/performance/index.js.map +0 -1
  309. package/dist/plugins/performance/performance-plugin.d.ts +0 -49
  310. package/dist/plugins/performance/performance-plugin.d.ts.map +0 -1
  311. package/dist/plugins/performance/performance-plugin.js +0 -293
  312. package/dist/plugins/performance/performance-plugin.js.map +0 -1
  313. package/dist/plugins/performance/storages/index.d.ts +0 -2
  314. package/dist/plugins/performance/storages/index.d.ts.map +0 -1
  315. package/dist/plugins/performance/storages/index.js +0 -4
  316. package/dist/plugins/performance/storages/index.js.map +0 -1
  317. package/dist/plugins/performance/storages/memory-storage.d.ts +0 -19
  318. package/dist/plugins/performance/storages/memory-storage.d.ts.map +0 -1
  319. package/dist/plugins/performance/storages/memory-storage.js +0 -69
  320. package/dist/plugins/performance/storages/memory-storage.js.map +0 -1
  321. package/dist/plugins/performance/types.d.ts +0 -154
  322. package/dist/plugins/performance/types.d.ts.map +0 -1
  323. package/dist/plugins/performance/types.js +0 -2
  324. package/dist/plugins/performance/types.js.map +0 -1
  325. package/dist/plugins/usage/aggregate-usage-stats.d.ts +0 -12
  326. package/dist/plugins/usage/aggregate-usage-stats.d.ts.map +0 -1
  327. package/dist/plugins/usage/aggregate-usage-stats.js +0 -115
  328. package/dist/plugins/usage/aggregate-usage-stats.js.map +0 -1
  329. package/dist/plugins/usage/index.d.ts +0 -5
  330. package/dist/plugins/usage/index.d.ts.map +0 -1
  331. package/dist/plugins/usage/index.js +0 -4
  332. package/dist/plugins/usage/index.js.map +0 -1
  333. package/dist/plugins/usage/storages/file-storage.d.ts +0 -22
  334. package/dist/plugins/usage/storages/file-storage.d.ts.map +0 -1
  335. package/dist/plugins/usage/storages/file-storage.js +0 -111
  336. package/dist/plugins/usage/storages/file-storage.js.map +0 -1
  337. package/dist/plugins/usage/storages/index.d.ts +0 -5
  338. package/dist/plugins/usage/storages/index.d.ts.map +0 -1
  339. package/dist/plugins/usage/storages/index.js +0 -5
  340. package/dist/plugins/usage/storages/index.js.map +0 -1
  341. package/dist/plugins/usage/storages/memory-storage.d.ts +0 -22
  342. package/dist/plugins/usage/storages/memory-storage.d.ts.map +0 -1
  343. package/dist/plugins/usage/storages/memory-storage.js +0 -42
  344. package/dist/plugins/usage/storages/memory-storage.js.map +0 -1
  345. package/dist/plugins/usage/storages/remote-storage.d.ts +0 -26
  346. package/dist/plugins/usage/storages/remote-storage.d.ts.map +0 -1
  347. package/dist/plugins/usage/storages/remote-storage.js +0 -115
  348. package/dist/plugins/usage/storages/remote-storage.js.map +0 -1
  349. package/dist/plugins/usage/storages/silent-storage.d.ts +0 -19
  350. package/dist/plugins/usage/storages/silent-storage.d.ts.map +0 -1
  351. package/dist/plugins/usage/storages/silent-storage.js +0 -26
  352. package/dist/plugins/usage/storages/silent-storage.js.map +0 -1
  353. package/dist/plugins/usage/types.d.ts +0 -127
  354. package/dist/plugins/usage/types.d.ts.map +0 -1
  355. package/dist/plugins/usage/types.js +0 -2
  356. package/dist/plugins/usage/types.js.map +0 -1
  357. package/dist/plugins/usage/usage-plugin.d.ts +0 -67
  358. package/dist/plugins/usage/usage-plugin.d.ts.map +0 -1
  359. package/dist/plugins/usage/usage-plugin.js +0 -309
  360. package/dist/plugins/usage/usage-plugin.js.map +0 -1
  361. package/dist/plugins/webhook/http-client.d.ts +0 -30
  362. package/dist/plugins/webhook/http-client.d.ts.map +0 -1
  363. package/dist/plugins/webhook/http-client.js +0 -110
  364. package/dist/plugins/webhook/http-client.js.map +0 -1
  365. package/dist/plugins/webhook/index.d.ts +0 -9
  366. package/dist/plugins/webhook/index.d.ts.map +0 -1
  367. package/dist/plugins/webhook/index.js +0 -9
  368. package/dist/plugins/webhook/index.js.map +0 -1
  369. package/dist/plugins/webhook/transformer.d.ts +0 -63
  370. package/dist/plugins/webhook/transformer.d.ts.map +0 -1
  371. package/dist/plugins/webhook/transformer.js +0 -157
  372. package/dist/plugins/webhook/transformer.js.map +0 -1
  373. package/dist/plugins/webhook/types.d.ts +0 -183
  374. package/dist/plugins/webhook/types.d.ts.map +0 -1
  375. package/dist/plugins/webhook/types.js +0 -2
  376. package/dist/plugins/webhook/types.js.map +0 -1
  377. package/dist/plugins/webhook/webhook-plugin.d.ts +0 -92
  378. package/dist/plugins/webhook/webhook-plugin.d.ts.map +0 -1
  379. package/dist/plugins/webhook/webhook-plugin.js +0 -328
  380. package/dist/plugins/webhook/webhook-plugin.js.map +0 -1
  381. package/dist/schemas/agent-template-schema.d.ts +0 -137
  382. package/dist/schemas/agent-template-schema.d.ts.map +0 -1
  383. package/dist/schemas/agent-template-schema.js +0 -87
  384. package/dist/schemas/agent-template-schema.js.map +0 -1
  385. package/dist/services/conversation-service/index.d.ts +0 -88
  386. package/dist/services/conversation-service/index.d.ts.map +0 -1
  387. package/dist/services/conversation-service/index.js +0 -441
  388. package/dist/services/conversation-service/index.js.map +0 -1
  389. package/dist/services/conversation-service/types.d.ts +0 -32
  390. package/dist/services/conversation-service/types.d.ts.map +0 -1
  391. package/dist/services/conversation-service/types.js +0 -8
  392. package/dist/services/conversation-service/types.js.map +0 -1
  393. package/dist/services/event-service.d.ts +0 -61
  394. package/dist/services/event-service.d.ts.map +0 -1
  395. package/dist/services/event-service.js +0 -110
  396. package/dist/services/event-service.js.map +0 -1
  397. package/dist/services/event-service.test.d.ts +0 -2
  398. package/dist/services/event-service.test.d.ts.map +0 -1
  399. package/dist/services/event-service.test.js +0 -86
  400. package/dist/services/event-service.test.js.map +0 -1
  401. package/dist/services/execution-service.d.ts +0 -151
  402. package/dist/services/execution-service.d.ts.map +0 -1
  403. package/dist/services/execution-service.js +0 -1262
  404. package/dist/services/execution-service.js.map +0 -1
  405. package/dist/services/execution-service.test.d.ts +0 -2
  406. package/dist/services/execution-service.test.d.ts.map +0 -1
  407. package/dist/services/execution-service.test.js +0 -338
  408. package/dist/services/execution-service.test.js.map +0 -1
  409. package/dist/services/history-module.d.ts +0 -15
  410. package/dist/services/history-module.d.ts.map +0 -1
  411. package/dist/services/history-module.js +0 -42
  412. package/dist/services/history-module.js.map +0 -1
  413. package/dist/services/in-memory-history-store.d.ts +0 -12
  414. package/dist/services/in-memory-history-store.d.ts.map +0 -1
  415. package/dist/services/in-memory-history-store.js +0 -41
  416. package/dist/services/in-memory-history-store.js.map +0 -1
  417. package/dist/services/index.d.ts +0 -7
  418. package/dist/services/index.d.ts.map +0 -1
  419. package/dist/services/index.js +0 -13
  420. package/dist/services/index.js.map +0 -1
  421. package/dist/services/task-events.d.ts +0 -6
  422. package/dist/services/task-events.d.ts.map +0 -1
  423. package/dist/services/task-events.js +0 -6
  424. package/dist/services/task-events.js.map +0 -1
  425. package/dist/services/tool-execution-service.d.ts +0 -74
  426. package/dist/services/tool-execution-service.d.ts.map +0 -1
  427. package/dist/services/tool-execution-service.js +0 -189
  428. package/dist/services/tool-execution-service.js.map +0 -1
  429. package/dist/services/user-events.d.ts +0 -7
  430. package/dist/services/user-events.d.ts.map +0 -1
  431. package/dist/services/user-events.js +0 -6
  432. package/dist/services/user-events.js.map +0 -1
  433. package/dist/tools/implementations/function-tool/index.d.ts +0 -9
  434. package/dist/tools/implementations/function-tool/index.d.ts.map +0 -1
  435. package/dist/tools/implementations/function-tool/index.js +0 -13
  436. package/dist/tools/implementations/function-tool/index.js.map +0 -1
  437. package/dist/tools/implementations/function-tool/schema-converter.d.ts +0 -32
  438. package/dist/tools/implementations/function-tool/schema-converter.d.ts.map +0 -1
  439. package/dist/tools/implementations/function-tool/schema-converter.js +0 -164
  440. package/dist/tools/implementations/function-tool/schema-converter.js.map +0 -1
  441. package/dist/tools/implementations/function-tool/types.d.ts +0 -72
  442. package/dist/tools/implementations/function-tool/types.d.ts.map +0 -1
  443. package/dist/tools/implementations/function-tool/types.js +0 -14
  444. package/dist/tools/implementations/function-tool/types.js.map +0 -1
  445. package/dist/tools/implementations/function-tool.d.ts +0 -49
  446. package/dist/tools/implementations/function-tool.d.ts.map +0 -1
  447. package/dist/tools/implementations/function-tool.js +0 -223
  448. package/dist/tools/implementations/function-tool.js.map +0 -1
  449. package/dist/tools/implementations/index.d.ts +0 -4
  450. package/dist/tools/implementations/index.d.ts.map +0 -1
  451. package/dist/tools/implementations/index.js +0 -5
  452. package/dist/tools/implementations/index.js.map +0 -1
  453. package/dist/tools/implementations/mcp-tool.d.ts +0 -72
  454. package/dist/tools/implementations/mcp-tool.d.ts.map +0 -1
  455. package/dist/tools/implementations/mcp-tool.js +0 -246
  456. package/dist/tools/implementations/mcp-tool.js.map +0 -1
  457. package/dist/tools/implementations/openapi-tool.d.ts +0 -56
  458. package/dist/tools/implementations/openapi-tool.d.ts.map +0 -1
  459. package/dist/tools/implementations/openapi-tool.js +0 -324
  460. package/dist/tools/implementations/openapi-tool.js.map +0 -1
  461. package/dist/tools/implementations/relay-mcp-tool.d.ts +0 -38
  462. package/dist/tools/implementations/relay-mcp-tool.d.ts.map +0 -1
  463. package/dist/tools/implementations/relay-mcp-tool.js +0 -46
  464. package/dist/tools/implementations/relay-mcp-tool.js.map +0 -1
  465. package/dist/tools/index.d.ts +0 -3
  466. package/dist/tools/index.d.ts.map +0 -1
  467. package/dist/tools/index.js +0 -4
  468. package/dist/tools/index.js.map +0 -1
  469. package/dist/tools/registry/index.d.ts +0 -2
  470. package/dist/tools/registry/index.d.ts.map +0 -1
  471. package/dist/tools/registry/index.js +0 -3
  472. package/dist/tools/registry/index.js.map +0 -1
  473. package/dist/tools/registry/tool-registry.d.ts +0 -54
  474. package/dist/tools/registry/tool-registry.d.ts.map +0 -1
  475. package/dist/tools/registry/tool-registry.js +0 -146
  476. package/dist/tools/registry/tool-registry.js.map +0 -1
  477. package/dist/utils/errors.d.ts +0 -155
  478. package/dist/utils/errors.d.ts.map +0 -1
  479. package/dist/utils/errors.js +0 -203
  480. package/dist/utils/errors.js.map +0 -1
  481. package/dist/utils/execution-proxy.d.ts +0 -75
  482. package/dist/utils/execution-proxy.d.ts.map +0 -1
  483. package/dist/utils/execution-proxy.js +0 -230
  484. package/dist/utils/execution-proxy.js.map +0 -1
  485. package/dist/utils/index.d.ts +0 -11
  486. package/dist/utils/index.d.ts.map +0 -1
  487. package/dist/utils/index.js +0 -7
  488. package/dist/utils/index.js.map +0 -1
  489. package/dist/utils/logger.d.ts +0 -74
  490. package/dist/utils/logger.d.ts.map +0 -1
  491. package/dist/utils/logger.js +0 -143
  492. package/dist/utils/logger.js.map +0 -1
  493. package/dist/utils/message-converter.d.ts +0 -68
  494. package/dist/utils/message-converter.d.ts.map +0 -1
  495. package/dist/utils/message-converter.js +0 -87
  496. package/dist/utils/message-converter.js.map +0 -1
  497. package/dist/utils/periodic-task.d.ts +0 -14
  498. package/dist/utils/periodic-task.d.ts.map +0 -1
  499. package/dist/utils/periodic-task.js +0 -26
  500. package/dist/utils/periodic-task.js.map +0 -1
  501. package/dist/utils/validation.d.ts +0 -40
  502. package/dist/utils/validation.d.ts.map +0 -1
  503. package/dist/utils/validation.js +0 -162
  504. package/dist/utils/validation.js.map +0 -1
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@robota-sdk/agent-core",
3
- "version": "3.0.0-beta.4",
3
+ "version": "3.0.0-beta.43",
4
4
  "description": "Complete AI agent implementation with unified core and tools functionality - conversation management, plugin system, and advanced agent features",
5
5
  "type": "module",
6
6
  "main": "dist/node/index.js",
7
- "module": "dist/node/index.mjs",
8
7
  "types": "dist/node/index.d.ts",
9
8
  "exports": {
10
9
  ".": {
@@ -1,56 +0,0 @@
1
- /**
2
- * @fileoverview Abstract Agent Base Class
3
- *
4
- * 🎯 ABSTRACT CLASS - DO NOT DEPEND ON CONCRETE IMPLEMENTATIONS
5
- *
6
- * This class defines the foundational lifecycle for agent implementations.
7
- * Subclasses provide provider/tool-specific behavior while inheriting the
8
- * shared guarantees around initialization, history, and disposal.
9
- */
10
- import type { IAgent, IAgentConfig, TUniversalMessage, IRunOptions } from '../interfaces/agent';
11
- export declare abstract class AbstractAgent<TConfig = IAgentConfig, TContext = IRunOptions, TMessage = TUniversalMessage> implements IAgent<TConfig, TContext, TMessage> {
12
- protected history: TMessage[];
13
- protected isInitialized: boolean;
14
- protected config?: TConfig;
15
- /**
16
- * Initialize the agent (subclass responsibility)
17
- */
18
- protected abstract initialize(): Promise<void>;
19
- /**
20
- * Configure the agent with type-safe configuration
21
- */
22
- configure(config: TConfig): Promise<void>;
23
- /**
24
- * Run agent with user input and type-safe context
25
- */
26
- abstract run(input: string, context?: TContext): Promise<string>;
27
- /**
28
- * Run agent with streaming response and type-safe context
29
- */
30
- abstract runStream(input: string, context?: TContext): AsyncGenerator<string, void, never>;
31
- /**
32
- * Get conversation history with type-safe messages
33
- */
34
- getHistory(): TMessage[];
35
- /**
36
- * Clear conversation history
37
- */
38
- clearHistory(): void;
39
- /**
40
- * Add message to history
41
- */
42
- protected addMessage(message: TMessage): void;
43
- /**
44
- * Validate user input
45
- */
46
- protected validateInput(input: string): void;
47
- /**
48
- * Ensure agent is initialized before running
49
- */
50
- protected ensureInitialized(): Promise<void>;
51
- /**
52
- * Cleanup resources
53
- */
54
- dispose(): Promise<void>;
55
- }
56
- //# sourceMappingURL=abstract-agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-agent.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhG,8BAAsB,aAAa,CAC/B,OAAO,GAAG,YAAY,EACtB,QAAQ,GAAG,WAAW,EACtB,QAAQ,GAAG,iBAAiB,CAC9B,YAAW,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC5C,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAM;IACnC,SAAS,CAAC,aAAa,UAAS;IAChC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9C;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;IAE1F;;OAEG;IACH,UAAU,IAAI,QAAQ,EAAE;IAIxB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAI7C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5C;;OAEG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
@@ -1,55 +0,0 @@
1
- export class AbstractAgent {
2
- history = [];
3
- isInitialized = false;
4
- config;
5
- /**
6
- * Configure the agent with type-safe configuration
7
- */
8
- async configure(config) {
9
- this.config = config;
10
- await this.ensureInitialized();
11
- }
12
- /**
13
- * Get conversation history with type-safe messages
14
- */
15
- getHistory() {
16
- return [...this.history];
17
- }
18
- /**
19
- * Clear conversation history
20
- */
21
- clearHistory() {
22
- this.history = [];
23
- }
24
- /**
25
- * Add message to history
26
- */
27
- addMessage(message) {
28
- this.history.push(message);
29
- }
30
- /**
31
- * Validate user input
32
- */
33
- validateInput(input) {
34
- if (!input || typeof input !== 'string') {
35
- throw new Error('Input must be a non-empty string');
36
- }
37
- }
38
- /**
39
- * Ensure agent is initialized before running
40
- */
41
- async ensureInitialized() {
42
- if (!this.isInitialized) {
43
- await this.initialize();
44
- this.isInitialized = true;
45
- }
46
- }
47
- /**
48
- * Cleanup resources
49
- */
50
- async dispose() {
51
- this.clearHistory();
52
- this.isInitialized = false;
53
- }
54
- }
55
- //# sourceMappingURL=abstract-agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-agent.js","sourceRoot":"","sources":["../../src/abstracts/abstract-agent.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,aAAa;IAKrB,OAAO,GAAe,EAAE,CAAC;IACzB,aAAa,GAAG,KAAK,CAAC;IACtB,MAAM,CAAW;IAO3B;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAe;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAYD;;OAEG;IACH,UAAU;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,YAAY;QACR,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAiB;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,KAAa;QACjC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;CACJ"}
@@ -1,187 +0,0 @@
1
- /**
2
- * @fileoverview Abstract AI Provider Base Class
3
- *
4
- * 🎯 ABSTRACT CLASS - DO NOT DEPEND ON CONCRETE IMPLEMENTATIONS
5
- *
6
- * Defines the shared contract and helper utilities for all AI provider implementations.
7
- * Concrete providers should extend this class and inject their own dependencies.
8
- */
9
- import type { IAIProvider, IToolSchema, IChatOptions, IProviderRequest, IRawProviderResponse } from '../interfaces/provider';
10
- import type { IExecutor } from '../interfaces/executor';
11
- import type { TUniversalMessage } from '../interfaces/messages';
12
- import type { ILogger } from '../utils/logger';
13
- /**
14
- * Provider logging data type
15
- * Used for storing logging information in provider operations
16
- */
17
- export type TProviderLoggingData = Record<string, string | number | boolean | Date | string[]>;
18
- /**
19
- * Provider configuration base interface
20
- */
21
- export interface IProviderConfig {
22
- apiKey?: string;
23
- baseUrl?: string;
24
- timeout?: number;
25
- [key: string]: string | number | boolean | undefined;
26
- }
27
- /**
28
- * Enhanced provider configuration that supports executor injection
29
- */
30
- export interface IExecutorAwareProviderConfig {
31
- apiKey?: string;
32
- baseUrl?: string;
33
- timeout?: number;
34
- /**
35
- * Optional executor for handling AI requests
36
- * When provided, the provider will delegate all chat operations to this executor
37
- * instead of making direct API calls. This enables remote execution capabilities.
38
- */
39
- executor?: IExecutor;
40
- [key: string]: string | number | boolean | IExecutor | undefined;
41
- }
42
- /**
43
- * Base AI provider implementation with proper type constraints
44
- * All AI providers should extend this class
45
- *
46
- * ========================================
47
- * CRITICAL IMPLEMENTATION GUIDELINES
48
- * ========================================
49
- *
50
- * ALL AI PROVIDER IMPLEMENTATIONS (OpenAI, Anthropic, Google, etc.) MUST:
51
- *
52
- * 1. EXTEND THIS CLASS:
53
- * ```typescript
54
- * export class OpenAIProvider extends AbstractAIProvider {
55
- * override readonly name = 'openai';
56
- * override readonly version = '1.0.0';
57
- * ```
58
- *
59
- * 2. USE IMPORTS FROM @robota-sdk/agents:
60
- * ```typescript
61
- * import { AbstractAIProvider } from '@robota-sdk/agents';
62
- * import type {
63
- * TUniversalMessage,
64
- * ChatOptions,
65
- * IToolCall,
66
- * ToolSchema,
67
- * AssistantMessage
68
- * } from '@robota-sdk/agents';
69
- * ```
70
- *
71
- * 3. USE OVERRIDE KEYWORD FOR ALL INHERITED METHODS:
72
- * - override async chat(...)
73
- * - override async *chatStream(...)
74
- * - override supportsTools()
75
- * - override validateConfig()
76
- * - override async dispose()
77
- *
78
- * 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/agents:
79
- * - TUniversalMessage
80
- * - ChatOptions
81
- * - IToolCall
82
- * - ToolSchema
83
- * - AssistantMessage
84
- * - SystemMessage
85
- * - UserMessage
86
- * - ToolMessage
87
- *
88
- * 5. HANDLE MESSAGE CONTENT PROPERLY:
89
- * - For tool calls: content should be null (not empty string)
90
- * - For regular messages: content can be string or null
91
- * - Always preserve null values from API responses
92
- *
93
- * 6. CALL SUPER() IN CONSTRUCTOR:
94
- * ```typescript
95
- * constructor(options: IProviderOptions) {
96
- * super();
97
- * // provider-specific initialization
98
- * }
99
- * ```
100
- *
101
- * This ensures ExecutionService can properly identify providers
102
- * and prevents type conflicts across the codebase.
103
- *
104
- * ========================================
105
- *
106
- * @template TConfig - Provider configuration type (defaults to IProviderConfig for type safety)
107
- * @template TUniversalMessage - Message type (defaults to TUniversalMessage for backward compatibility)
108
- * @template TResponse - Response type (defaults to TUniversalMessage for backward compatibility)
109
- */
110
- export declare abstract class AbstractAIProvider<TConfig = IProviderConfig> implements IAIProvider {
111
- abstract readonly name: string;
112
- abstract readonly version: string;
113
- protected config?: TConfig;
114
- protected executor?: IExecutor;
115
- protected readonly logger: ILogger;
116
- constructor(logger?: ILogger);
117
- /**
118
- * Configure the provider with type-safe configuration
119
- */
120
- configure(config: TConfig): Promise<void>;
121
- /**
122
- * Each provider must implement chat using their own native SDK types internally
123
- * @param messages - Array of messages from conversation history
124
- * @param options - Chat options including tools, model settings, etc.
125
- * @returns Promise resolving to a response
126
- */
127
- abstract chat(messages: TUniversalMessage[], options?: IChatOptions): Promise<TUniversalMessage>;
128
- /**
129
- * Each provider must implement streaming chat using their own native SDK types internally
130
- * @param messages - Array of messages from conversation history
131
- * @param options - Chat options including tools, model settings, etc.
132
- * @returns AsyncIterable of response chunks
133
- */
134
- abstract chatStream?(messages: TUniversalMessage[], options?: IChatOptions): AsyncIterable<TUniversalMessage>;
135
- /**
136
- * Provider-agnostic raw response API.
137
- *
138
- * This is the canonical "raw payload" entrypoint required by the AIProvider contract.
139
- * The default implementation delegates to `chat()` and adapts the result into a
140
- * RawProviderResponse shape.
141
- */
142
- generateResponse(payload: IProviderRequest): Promise<IRawProviderResponse>;
143
- /**
144
- * Provider-agnostic raw streaming API.
145
- *
146
- * If a provider does not implement chatStream, it does not support streaming.
147
- */
148
- generateStreamingResponse(payload: IProviderRequest): AsyncIterable<IRawProviderResponse>;
149
- /**
150
- * Default implementation - most modern providers support tools
151
- * @returns true if tool calling is supported
152
- */
153
- supportsTools(): boolean;
154
- /**
155
- * Default implementation - providers can override for specific validation
156
- * @returns true if configuration is valid
157
- */
158
- validateConfig(): boolean;
159
- /**
160
- * Utility method for validating TUniversalMessage array
161
- * @param messages - Messages to validate
162
- */
163
- protected validateMessages(messages: TUniversalMessage[]): void;
164
- /**
165
- * Utility method for validating tool schemas
166
- * @param tools - Tool schemas to validate
167
- */
168
- protected validateTools(tools?: IToolSchema[]): void;
169
- /**
170
- * Execute chat via executor.
171
- *
172
- * Subclasses should call this only when an executor is configured.
173
- */
174
- protected executeViaExecutorOrDirect(messages: TUniversalMessage[], options?: IChatOptions): Promise<TUniversalMessage>;
175
- /**
176
- * Execute streaming chat via executor.
177
- *
178
- * Subclasses should call this only when an executor is configured.
179
- */
180
- protected executeStreamViaExecutorOrDirect(messages: TUniversalMessage[], options?: IChatOptions): AsyncIterable<TUniversalMessage>;
181
- /**
182
- * Clean up resources when provider is no longer needed
183
- * Override this method in subclasses for additional cleanup
184
- */
185
- dispose(): Promise<void>;
186
- }
187
- //# sourceMappingURL=abstract-ai-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-ai-provider.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"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"}
@@ -1,252 +0,0 @@
1
- import { isAssistantMessage } from '../interfaces/messages';
2
- import { SilentLogger } from '../utils/logger';
3
- /**
4
- * Base AI provider implementation with proper type constraints
5
- * All AI providers should extend this class
6
- *
7
- * ========================================
8
- * CRITICAL IMPLEMENTATION GUIDELINES
9
- * ========================================
10
- *
11
- * ALL AI PROVIDER IMPLEMENTATIONS (OpenAI, Anthropic, Google, etc.) MUST:
12
- *
13
- * 1. EXTEND THIS CLASS:
14
- * ```typescript
15
- * export class OpenAIProvider extends AbstractAIProvider {
16
- * override readonly name = 'openai';
17
- * override readonly version = '1.0.0';
18
- * ```
19
- *
20
- * 2. USE IMPORTS FROM @robota-sdk/agents:
21
- * ```typescript
22
- * import { AbstractAIProvider } from '@robota-sdk/agents';
23
- * import type {
24
- * TUniversalMessage,
25
- * ChatOptions,
26
- * IToolCall,
27
- * ToolSchema,
28
- * AssistantMessage
29
- * } from '@robota-sdk/agents';
30
- * ```
31
- *
32
- * 3. USE OVERRIDE KEYWORD FOR ALL INHERITED METHODS:
33
- * - override async chat(...)
34
- * - override async *chatStream(...)
35
- * - override supportsTools()
36
- * - override validateConfig()
37
- * - override async dispose()
38
- *
39
- * 4. DO NOT REDEFINE TYPES THAT EXIST IN @robota-sdk/agents:
40
- * - TUniversalMessage
41
- * - ChatOptions
42
- * - IToolCall
43
- * - ToolSchema
44
- * - AssistantMessage
45
- * - SystemMessage
46
- * - UserMessage
47
- * - ToolMessage
48
- *
49
- * 5. HANDLE MESSAGE CONTENT PROPERLY:
50
- * - For tool calls: content should be null (not empty string)
51
- * - For regular messages: content can be string or null
52
- * - Always preserve null values from API responses
53
- *
54
- * 6. CALL SUPER() IN CONSTRUCTOR:
55
- * ```typescript
56
- * constructor(options: IProviderOptions) {
57
- * super();
58
- * // provider-specific initialization
59
- * }
60
- * ```
61
- *
62
- * This ensures ExecutionService can properly identify providers
63
- * and prevents type conflicts across the codebase.
64
- *
65
- * ========================================
66
- *
67
- * @template TConfig - Provider configuration type (defaults to IProviderConfig for type safety)
68
- * @template TUniversalMessage - Message type (defaults to TUniversalMessage for backward compatibility)
69
- * @template TResponse - Response type (defaults to TUniversalMessage for backward compatibility)
70
- */
71
- export class AbstractAIProvider {
72
- config;
73
- executor;
74
- logger;
75
- constructor(logger = SilentLogger) {
76
- this.logger = logger;
77
- }
78
- /**
79
- * Configure the provider with type-safe configuration
80
- */
81
- async configure(config) {
82
- this.config = config;
83
- // Check if config includes executor and set it
84
- if (config && typeof config === 'object' && 'executor' in config && config.executor) {
85
- this.executor = config.executor;
86
- }
87
- // Subclasses can override for additional setup
88
- }
89
- /**
90
- * Provider-agnostic raw response API.
91
- *
92
- * This is the canonical "raw payload" entrypoint required by the AIProvider contract.
93
- * The default implementation delegates to `chat()` and adapts the result into a
94
- * RawProviderResponse shape.
95
- */
96
- async generateResponse(payload) {
97
- const response = await this.chat(payload.messages, {
98
- ...(payload.model !== undefined && { model: payload.model }),
99
- ...(payload.temperature !== undefined && { temperature: payload.temperature }),
100
- ...(payload.maxTokens !== undefined && { maxTokens: payload.maxTokens }),
101
- ...(payload.tools !== undefined && { tools: payload.tools })
102
- });
103
- return {
104
- content: response.content ?? null,
105
- toolCalls: isAssistantMessage(response) ? response.toolCalls : undefined,
106
- model: payload.model,
107
- metadata: payload.metadata
108
- };
109
- }
110
- /**
111
- * Provider-agnostic raw streaming API.
112
- *
113
- * If a provider does not implement chatStream, it does not support streaming.
114
- */
115
- async *generateStreamingResponse(payload) {
116
- if (!this.chatStream) {
117
- throw new Error(`[AI-PROVIDER] Streaming is not supported by provider "${this.name}"`);
118
- }
119
- for await (const chunk of this.chatStream(payload.messages, {
120
- ...(payload.model !== undefined && { model: payload.model }),
121
- ...(payload.temperature !== undefined && { temperature: payload.temperature }),
122
- ...(payload.maxTokens !== undefined && { maxTokens: payload.maxTokens }),
123
- ...(payload.tools !== undefined && { tools: payload.tools })
124
- })) {
125
- yield {
126
- content: chunk.content ?? null,
127
- toolCalls: isAssistantMessage(chunk) ? chunk.toolCalls : undefined,
128
- model: payload.model,
129
- metadata: payload.metadata
130
- };
131
- }
132
- }
133
- /**
134
- * Default implementation - most modern providers support tools
135
- * @returns true if tool calling is supported
136
- */
137
- supportsTools() {
138
- return true;
139
- }
140
- /**
141
- * Default implementation - providers can override for specific validation
142
- * @returns true if configuration is valid
143
- */
144
- validateConfig() {
145
- return true;
146
- }
147
- /**
148
- * Utility method for validating TUniversalMessage array
149
- * @param messages - Messages to validate
150
- */
151
- validateMessages(messages) {
152
- if (!Array.isArray(messages)) {
153
- throw new Error('Messages must be an array');
154
- }
155
- if (messages.length === 0) {
156
- throw new Error('Messages array cannot be empty');
157
- }
158
- for (const message of messages) {
159
- if (!message.role || !['user', 'assistant', 'system', 'tool'].includes(message.role)) {
160
- throw new Error(`Invalid message role: ${message.role}`);
161
- }
162
- }
163
- }
164
- /**
165
- * Utility method for validating tool schemas
166
- * @param tools - Tool schemas to validate
167
- */
168
- validateTools(tools) {
169
- if (!tools)
170
- return;
171
- if (!Array.isArray(tools)) {
172
- throw new Error('Tools must be an array');
173
- }
174
- for (const tool of tools) {
175
- if (!tool.name || typeof tool.name !== 'string') {
176
- throw new Error('Tool must have a valid name');
177
- }
178
- if (!tool.description || typeof tool.description !== 'string') {
179
- throw new Error('Tool must have a valid description');
180
- }
181
- if (!tool.parameters || typeof tool.parameters !== 'object' || tool.parameters === null || Array.isArray(tool.parameters)) {
182
- throw new Error('Tool must have valid parameters');
183
- }
184
- }
185
- }
186
- /**
187
- * Execute chat via executor.
188
- *
189
- * Subclasses should call this only when an executor is configured.
190
- */
191
- async executeViaExecutorOrDirect(messages, options) {
192
- if (!this.executor) {
193
- throw new Error(`Executor is required for ${this.name} provider. Configure an executor or use direct execution path.`);
194
- }
195
- if (!options?.model) {
196
- throw new Error(`Model is required for executor execution in ${this.name} provider.`);
197
- }
198
- const result = await this.executor.executeChat({
199
- messages,
200
- options,
201
- provider: this.name,
202
- model: options.model,
203
- ...(options.tools && { tools: options.tools })
204
- });
205
- return result;
206
- }
207
- /**
208
- * Execute streaming chat via executor.
209
- *
210
- * Subclasses should call this only when an executor is configured.
211
- */
212
- async *executeStreamViaExecutorOrDirect(messages, options) {
213
- if (!this.executor || !this.executor.executeChatStream) {
214
- throw new Error(`Streaming executor is required for ${this.name} provider.`);
215
- }
216
- if (!options?.model) {
217
- throw new Error(`Model is required for executor streaming in ${this.name} provider.`);
218
- }
219
- // 🔍 [TOOL-FLOW] AbstractAIProvider.executeStreamViaExecutorOrDirect() - Preparing executor request
220
- this.logger.debug?.('🔍 [TOOL-FLOW] AbstractAIProvider.executeStreamViaExecutorOrDirect() - Executor request', {
221
- provider: this.name,
222
- model: options.model,
223
- hasTools: !!options.tools,
224
- toolsCount: options.tools?.length || 0,
225
- toolNames: options.tools?.map((t) => t.name) || []
226
- });
227
- const stream = this.executor.executeChatStream({
228
- messages,
229
- options,
230
- provider: this.name,
231
- model: options.model,
232
- stream: true,
233
- ...(options.tools && { tools: options.tools })
234
- });
235
- for await (const chunk of stream) {
236
- yield chunk;
237
- }
238
- return;
239
- }
240
- /**
241
- * Clean up resources when provider is no longer needed
242
- * Override this method in subclasses for additional cleanup
243
- */
244
- async dispose() {
245
- // Clean up executor if present
246
- if (this.executor?.dispose) {
247
- await this.executor.dispose();
248
- }
249
- // Subclasses can override for additional cleanup
250
- }
251
- }
252
- //# sourceMappingURL=abstract-ai-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abstract-ai-provider.js","sourceRoot":"","sources":["../../src/abstracts/abstract-ai-provider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAkC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,MAAM,OAAgB,kBAAkB;IAI1B,MAAM,CAAW;IACjB,QAAQ,CAAa;IACZ,MAAM,CAAU;IAEnC,YAAY,SAAkB,YAAY;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;GAED;IACC,KAAK,CAAC,SAAS,CAAC,MAAe;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,+CAA+C;QAC/C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,UAAU,IAAI,MAAM,IAAK,MAAc,CAAC,QAAQ,EAAE,CAAC;YAC3F,IAAI,CAAC,QAAQ,GAAI,MAAc,CAAC,QAAqB,CAAC;QAC1D,CAAC;QAED,+CAA+C;IACnD,CAAC;IAkBD;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAyB;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC/C,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SAC/D,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;YACjC,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,yBAAyB,CAAC,OAAyB;QACtD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE;YACxD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9E,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACxE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SAC/D,CAAC,EAAE,CAAC;YACD,MAAM;gBACF,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;gBAC9B,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAClE,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,aAAa;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,cAAc;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAID;;;OAGG;IACO,gBAAgB,CAAC,QAA6B;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,KAAqB;QACzC,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxH,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,0BAA0B,CACtC,QAA6B,EAC7B,OAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,IAAI,gEAAgE,CAAC,CAAC;QAC3H,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC3C,QAAQ;YACR,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,CAAC,gCAAgC,CAC7C,QAA6B,EAC7B,OAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QACjF,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAC1F,CAAC;QAED,oGAAoG;QACpG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CACf,yFAAyF,EACzF;YACI,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK;YACzB,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YACtC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;SAClE,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YAC3C,QAAQ;YACR,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,IAAI;YACZ,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,OAAO;IACX,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACT,+BAA+B;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,iDAAiD;IACrD,CAAC;CACJ"}