@robota-sdk/agent-core 3.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/CHANGELOG.md +180 -0
  2. package/LICENSE +21 -0
  3. package/README.md +230 -0
  4. package/dist/abstracts/abstract-agent.d.ts +56 -0
  5. package/dist/abstracts/abstract-agent.d.ts.map +1 -0
  6. package/dist/abstracts/abstract-agent.js +55 -0
  7. package/dist/abstracts/abstract-agent.js.map +1 -0
  8. package/dist/abstracts/abstract-ai-provider.d.ts +187 -0
  9. package/dist/abstracts/abstract-ai-provider.d.ts.map +1 -0
  10. package/dist/abstracts/abstract-ai-provider.js +252 -0
  11. package/dist/abstracts/abstract-ai-provider.js.map +1 -0
  12. package/dist/abstracts/abstract-executor.d.ts +110 -0
  13. package/dist/abstracts/abstract-executor.d.ts.map +1 -0
  14. package/dist/abstracts/abstract-executor.js +156 -0
  15. package/dist/abstracts/abstract-executor.js.map +1 -0
  16. package/dist/abstracts/abstract-manager.d.ts +42 -0
  17. package/dist/abstracts/abstract-manager.d.ts.map +1 -0
  18. package/dist/abstracts/abstract-manager.js +49 -0
  19. package/dist/abstracts/abstract-manager.js.map +1 -0
  20. package/dist/abstracts/abstract-module.d.ts +365 -0
  21. package/dist/abstracts/abstract-module.d.ts.map +1 -0
  22. package/dist/abstracts/abstract-module.js +474 -0
  23. package/dist/abstracts/abstract-module.js.map +1 -0
  24. package/dist/abstracts/abstract-plugin.d.ts +369 -0
  25. package/dist/abstracts/abstract-plugin.d.ts.map +1 -0
  26. package/dist/abstracts/abstract-plugin.js +258 -0
  27. package/dist/abstracts/abstract-plugin.js.map +1 -0
  28. package/dist/abstracts/abstract-tool.d.ts +175 -0
  29. package/dist/abstracts/abstract-tool.d.ts.map +1 -0
  30. package/dist/abstracts/abstract-tool.js +140 -0
  31. package/dist/abstracts/abstract-tool.js.map +1 -0
  32. package/dist/abstracts/abstract-workflow-converter.d.ts +136 -0
  33. package/dist/abstracts/abstract-workflow-converter.d.ts.map +1 -0
  34. package/dist/abstracts/abstract-workflow-converter.js +252 -0
  35. package/dist/abstracts/abstract-workflow-converter.js.map +1 -0
  36. package/dist/abstracts/abstract-workflow-validator.d.ts +203 -0
  37. package/dist/abstracts/abstract-workflow-validator.d.ts.map +1 -0
  38. package/dist/abstracts/abstract-workflow-validator.js +447 -0
  39. package/dist/abstracts/abstract-workflow-validator.js.map +1 -0
  40. package/dist/abstracts/index.d.ts +6 -0
  41. package/dist/abstracts/index.d.ts.map +1 -0
  42. package/dist/abstracts/index.js +9 -0
  43. package/dist/abstracts/index.js.map +1 -0
  44. package/dist/agents/constants.d.ts +23 -0
  45. package/dist/agents/constants.d.ts.map +1 -0
  46. package/dist/agents/constants.js +22 -0
  47. package/dist/agents/constants.js.map +1 -0
  48. package/dist/agents/index.d.ts +1 -0
  49. package/dist/agents/index.d.ts.map +1 -0
  50. package/dist/agents/index.js +4 -0
  51. package/dist/agents/index.js.map +1 -0
  52. package/dist/agents/robota.test.d.ts +2 -0
  53. package/dist/agents/robota.test.d.ts.map +1 -0
  54. package/dist/agents/robota.test.js +416 -0
  55. package/dist/agents/robota.test.js.map +1 -0
  56. package/dist/browser/builtin-templates.json +107 -0
  57. package/dist/browser/index.d.ts +4237 -0
  58. package/dist/browser/index.js +4 -0
  59. package/dist/core/robota.d.ts +694 -0
  60. package/dist/core/robota.d.ts.map +1 -0
  61. package/dist/core/robota.js +1277 -0
  62. package/dist/core/robota.js.map +1 -0
  63. package/dist/executors/local-executor.d.ts +96 -0
  64. package/dist/executors/local-executor.d.ts.map +1 -0
  65. package/dist/executors/local-executor.js +197 -0
  66. package/dist/executors/local-executor.js.map +1 -0
  67. package/dist/executors/local-executor.test.d.ts +2 -0
  68. package/dist/executors/local-executor.test.d.ts.map +1 -0
  69. package/dist/executors/local-executor.test.js +192 -0
  70. package/dist/executors/local-executor.test.js.map +1 -0
  71. package/dist/index.d.ts +274 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +235 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/interfaces/agent.d.ts +198 -0
  76. package/dist/interfaces/agent.d.ts.map +1 -0
  77. package/dist/interfaces/agent.js +2 -0
  78. package/dist/interfaces/agent.js.map +1 -0
  79. package/dist/interfaces/event-service.d.ts +79 -0
  80. package/dist/interfaces/event-service.d.ts.map +1 -0
  81. package/dist/interfaces/event-service.js +2 -0
  82. package/dist/interfaces/event-service.js.map +1 -0
  83. package/dist/interfaces/executor.d.ts +128 -0
  84. package/dist/interfaces/executor.d.ts.map +1 -0
  85. package/dist/interfaces/executor.js +2 -0
  86. package/dist/interfaces/executor.js.map +1 -0
  87. package/dist/interfaces/history-module.d.ts +19 -0
  88. package/dist/interfaces/history-module.d.ts.map +1 -0
  89. package/dist/interfaces/history-module.js +2 -0
  90. package/dist/interfaces/history-module.js.map +1 -0
  91. package/dist/interfaces/index.d.ts +13 -0
  92. package/dist/interfaces/index.d.ts.map +1 -0
  93. package/dist/interfaces/index.js +4 -0
  94. package/dist/interfaces/index.js.map +1 -0
  95. package/dist/interfaces/manager.d.ts +142 -0
  96. package/dist/interfaces/manager.d.ts.map +1 -0
  97. package/dist/interfaces/manager.js +2 -0
  98. package/dist/interfaces/manager.js.map +1 -0
  99. package/dist/interfaces/messages.d.ts +75 -0
  100. package/dist/interfaces/messages.d.ts.map +1 -0
  101. package/dist/interfaces/messages.js +29 -0
  102. package/dist/interfaces/messages.js.map +1 -0
  103. package/dist/interfaces/progress-reporting.d.ts +86 -0
  104. package/dist/interfaces/progress-reporting.d.ts.map +1 -0
  105. package/dist/interfaces/progress-reporting.js +37 -0
  106. package/dist/interfaces/progress-reporting.js.map +1 -0
  107. package/dist/interfaces/provider.d.ts +217 -0
  108. package/dist/interfaces/provider.d.ts.map +1 -0
  109. package/dist/interfaces/provider.js +2 -0
  110. package/dist/interfaces/provider.js.map +1 -0
  111. package/dist/interfaces/service.d.ts +205 -0
  112. package/dist/interfaces/service.d.ts.map +1 -0
  113. package/dist/interfaces/service.js +6 -0
  114. package/dist/interfaces/service.js.map +1 -0
  115. package/dist/interfaces/tool.d.ts +248 -0
  116. package/dist/interfaces/tool.d.ts.map +1 -0
  117. package/dist/interfaces/tool.js +2 -0
  118. package/dist/interfaces/tool.js.map +1 -0
  119. package/dist/interfaces/types.d.ts +71 -0
  120. package/dist/interfaces/types.d.ts.map +1 -0
  121. package/dist/interfaces/types.js +33 -0
  122. package/dist/interfaces/types.js.map +1 -0
  123. package/dist/interfaces/workflow-converter.d.ts +193 -0
  124. package/dist/interfaces/workflow-converter.d.ts.map +1 -0
  125. package/dist/interfaces/workflow-converter.js +11 -0
  126. package/dist/interfaces/workflow-converter.js.map +1 -0
  127. package/dist/interfaces/workflow-validator.d.ts +209 -0
  128. package/dist/interfaces/workflow-validator.d.ts.map +1 -0
  129. package/dist/interfaces/workflow-validator.js +16 -0
  130. package/dist/interfaces/workflow-validator.js.map +1 -0
  131. package/dist/managers/agent-factory.d.ts +132 -0
  132. package/dist/managers/agent-factory.d.ts.map +1 -0
  133. package/dist/managers/agent-factory.js +284 -0
  134. package/dist/managers/agent-factory.js.map +1 -0
  135. package/dist/managers/agent-factory.test.d.ts +2 -0
  136. package/dist/managers/agent-factory.test.d.ts.map +1 -0
  137. package/dist/managers/agent-factory.test.js +249 -0
  138. package/dist/managers/agent-factory.test.js.map +1 -0
  139. package/dist/managers/agent-templates.d.ts +84 -0
  140. package/dist/managers/agent-templates.d.ts.map +1 -0
  141. package/dist/managers/agent-templates.js +159 -0
  142. package/dist/managers/agent-templates.js.map +1 -0
  143. package/dist/managers/ai-provider-manager.d.ts +80 -0
  144. package/dist/managers/ai-provider-manager.d.ts.map +1 -0
  145. package/dist/managers/ai-provider-manager.js +226 -0
  146. package/dist/managers/ai-provider-manager.js.map +1 -0
  147. package/dist/managers/conversation-history-manager.d.ts +455 -0
  148. package/dist/managers/conversation-history-manager.d.ts.map +1 -0
  149. package/dist/managers/conversation-history-manager.js +578 -0
  150. package/dist/managers/conversation-history-manager.js.map +1 -0
  151. package/dist/managers/conversation-history-manager.test.d.ts +2 -0
  152. package/dist/managers/conversation-history-manager.test.d.ts.map +1 -0
  153. package/dist/managers/conversation-history-manager.test.js +374 -0
  154. package/dist/managers/conversation-history-manager.test.js.map +1 -0
  155. package/dist/managers/index.d.ts +8 -0
  156. package/dist/managers/index.d.ts.map +1 -0
  157. package/dist/managers/index.js +8 -0
  158. package/dist/managers/index.js.map +1 -0
  159. package/dist/managers/module-registry.d.ts +161 -0
  160. package/dist/managers/module-registry.d.ts.map +1 -0
  161. package/dist/managers/module-registry.js +519 -0
  162. package/dist/managers/module-registry.js.map +1 -0
  163. package/dist/managers/module-type-registry.d.ts +113 -0
  164. package/dist/managers/module-type-registry.d.ts.map +1 -0
  165. package/dist/managers/module-type-registry.js +439 -0
  166. package/dist/managers/module-type-registry.js.map +1 -0
  167. package/dist/managers/plugins.d.ts +166 -0
  168. package/dist/managers/plugins.d.ts.map +1 -0
  169. package/dist/managers/plugins.js +339 -0
  170. package/dist/managers/plugins.js.map +1 -0
  171. package/dist/managers/tool-manager.d.ts +70 -0
  172. package/dist/managers/tool-manager.d.ts.map +1 -0
  173. package/dist/managers/tool-manager.js +138 -0
  174. package/dist/managers/tool-manager.js.map +1 -0
  175. package/dist/managers/tool-manager.test.d.ts +2 -0
  176. package/dist/managers/tool-manager.test.d.ts.map +1 -0
  177. package/dist/managers/tool-manager.test.js +186 -0
  178. package/dist/managers/tool-manager.test.js.map +1 -0
  179. package/dist/node/builtin-templates.json +107 -0
  180. package/dist/node/index.cjs +4 -0
  181. package/dist/node/index.d.cts +4237 -0
  182. package/dist/node/index.d.ts +4237 -0
  183. package/dist/node/index.js +4 -0
  184. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts +67 -0
  185. package/dist/plugins/conversation-history/conversation-history-plugin.d.ts.map +1 -0
  186. package/dist/plugins/conversation-history/conversation-history-plugin.js +270 -0
  187. package/dist/plugins/conversation-history/conversation-history-plugin.js.map +1 -0
  188. package/dist/plugins/conversation-history/index.d.ts +3 -0
  189. package/dist/plugins/conversation-history/index.d.ts.map +1 -0
  190. package/dist/plugins/conversation-history/index.js +2 -0
  191. package/dist/plugins/conversation-history/index.js.map +1 -0
  192. package/dist/plugins/conversation-history/storages/database-storage.d.ts +19 -0
  193. package/dist/plugins/conversation-history/storages/database-storage.d.ts.map +1 -0
  194. package/dist/plugins/conversation-history/storages/database-storage.js +94 -0
  195. package/dist/plugins/conversation-history/storages/database-storage.js.map +1 -0
  196. package/dist/plugins/conversation-history/storages/file-storage.d.ts +15 -0
  197. package/dist/plugins/conversation-history/storages/file-storage.d.ts.map +1 -0
  198. package/dist/plugins/conversation-history/storages/file-storage.js +94 -0
  199. package/dist/plugins/conversation-history/storages/file-storage.js.map +1 -0
  200. package/dist/plugins/conversation-history/storages/index.d.ts +4 -0
  201. package/dist/plugins/conversation-history/storages/index.d.ts.map +1 -0
  202. package/dist/plugins/conversation-history/storages/index.js +4 -0
  203. package/dist/plugins/conversation-history/storages/index.js.map +1 -0
  204. package/dist/plugins/conversation-history/storages/memory-storage.d.ts +15 -0
  205. package/dist/plugins/conversation-history/storages/memory-storage.d.ts.map +1 -0
  206. package/dist/plugins/conversation-history/storages/memory-storage.js +33 -0
  207. package/dist/plugins/conversation-history/storages/memory-storage.js.map +1 -0
  208. package/dist/plugins/conversation-history/types.d.ts +61 -0
  209. package/dist/plugins/conversation-history/types.d.ts.map +1 -0
  210. package/dist/plugins/conversation-history/types.js +2 -0
  211. package/dist/plugins/conversation-history/types.js.map +1 -0
  212. package/dist/plugins/error-handling/context-adapter.d.ts +30 -0
  213. package/dist/plugins/error-handling/context-adapter.d.ts.map +1 -0
  214. package/dist/plugins/error-handling/context-adapter.js +41 -0
  215. package/dist/plugins/error-handling/context-adapter.js.map +1 -0
  216. package/dist/plugins/error-handling/error-handling-plugin.d.ts +49 -0
  217. package/dist/plugins/error-handling/error-handling-plugin.d.ts.map +1 -0
  218. package/dist/plugins/error-handling/error-handling-plugin.js +229 -0
  219. package/dist/plugins/error-handling/error-handling-plugin.js.map +1 -0
  220. package/dist/plugins/error-handling/index.d.ts +10 -0
  221. package/dist/plugins/error-handling/index.d.ts.map +1 -0
  222. package/dist/plugins/error-handling/index.js +10 -0
  223. package/dist/plugins/error-handling/index.js.map +1 -0
  224. package/dist/plugins/error-handling/types.d.ts +73 -0
  225. package/dist/plugins/error-handling/types.d.ts.map +1 -0
  226. package/dist/plugins/error-handling/types.js +14 -0
  227. package/dist/plugins/error-handling/types.js.map +1 -0
  228. package/dist/plugins/event-emitter/metrics.d.ts +17 -0
  229. package/dist/plugins/event-emitter/metrics.d.ts.map +1 -0
  230. package/dist/plugins/event-emitter/metrics.js +17 -0
  231. package/dist/plugins/event-emitter/metrics.js.map +1 -0
  232. package/dist/plugins/event-emitter/types.d.ts +112 -0
  233. package/dist/plugins/event-emitter/types.d.ts.map +1 -0
  234. package/dist/plugins/event-emitter/types.js +65 -0
  235. package/dist/plugins/event-emitter/types.js.map +1 -0
  236. package/dist/plugins/event-emitter-plugin.d.ts +222 -0
  237. package/dist/plugins/event-emitter-plugin.d.ts.map +1 -0
  238. package/dist/plugins/event-emitter-plugin.js +432 -0
  239. package/dist/plugins/event-emitter-plugin.js.map +1 -0
  240. package/dist/plugins/event-emitter-plugin.test.d.ts +2 -0
  241. package/dist/plugins/event-emitter-plugin.test.d.ts.map +1 -0
  242. package/dist/plugins/event-emitter-plugin.test.js +94 -0
  243. package/dist/plugins/event-emitter-plugin.test.js.map +1 -0
  244. package/dist/plugins/execution/execution-analytics-plugin.d.ts +129 -0
  245. package/dist/plugins/execution/execution-analytics-plugin.d.ts.map +1 -0
  246. package/dist/plugins/execution/execution-analytics-plugin.js +517 -0
  247. package/dist/plugins/execution/execution-analytics-plugin.js.map +1 -0
  248. package/dist/plugins/execution/index.d.ts +3 -0
  249. package/dist/plugins/execution/index.d.ts.map +1 -0
  250. package/dist/plugins/execution/index.js +2 -0
  251. package/dist/plugins/execution/index.js.map +1 -0
  252. package/dist/plugins/execution/types.d.ts +90 -0
  253. package/dist/plugins/execution/types.d.ts.map +1 -0
  254. package/dist/plugins/execution/types.js +2 -0
  255. package/dist/plugins/execution/types.js.map +1 -0
  256. package/dist/plugins/index.d.ts +10 -0
  257. package/dist/plugins/index.d.ts.map +1 -0
  258. package/dist/plugins/index.js +11 -0
  259. package/dist/plugins/index.js.map +1 -0
  260. package/dist/plugins/limits/types.d.ts +61 -0
  261. package/dist/plugins/limits/types.d.ts.map +1 -0
  262. package/dist/plugins/limits/types.js +2 -0
  263. package/dist/plugins/limits/types.js.map +1 -0
  264. package/dist/plugins/limits-plugin.d.ts +113 -0
  265. package/dist/plugins/limits-plugin.d.ts.map +1 -0
  266. package/dist/plugins/limits-plugin.js +380 -0
  267. package/dist/plugins/limits-plugin.js.map +1 -0
  268. package/dist/plugins/logging/formatters.d.ts +14 -0
  269. package/dist/plugins/logging/formatters.d.ts.map +1 -0
  270. package/dist/plugins/logging/formatters.js +24 -0
  271. package/dist/plugins/logging/formatters.js.map +1 -0
  272. package/dist/plugins/logging/index.d.ts +3 -0
  273. package/dist/plugins/logging/index.d.ts.map +1 -0
  274. package/dist/plugins/logging/index.js +2 -0
  275. package/dist/plugins/logging/index.js.map +1 -0
  276. package/dist/plugins/logging/logging-plugin.d.ts +91 -0
  277. package/dist/plugins/logging/logging-plugin.d.ts.map +1 -0
  278. package/dist/plugins/logging/logging-plugin.js +335 -0
  279. package/dist/plugins/logging/logging-plugin.js.map +1 -0
  280. package/dist/plugins/logging/storages/console-storage.d.ts +14 -0
  281. package/dist/plugins/logging/storages/console-storage.d.ts.map +1 -0
  282. package/dist/plugins/logging/storages/console-storage.js +38 -0
  283. package/dist/plugins/logging/storages/console-storage.js.map +1 -0
  284. package/dist/plugins/logging/storages/file-storage.d.ts +14 -0
  285. package/dist/plugins/logging/storages/file-storage.d.ts.map +1 -0
  286. package/dist/plugins/logging/storages/file-storage.js +41 -0
  287. package/dist/plugins/logging/storages/file-storage.js.map +1 -0
  288. package/dist/plugins/logging/storages/index.d.ts +5 -0
  289. package/dist/plugins/logging/storages/index.d.ts.map +1 -0
  290. package/dist/plugins/logging/storages/index.js +5 -0
  291. package/dist/plugins/logging/storages/index.js.map +1 -0
  292. package/dist/plugins/logging/storages/remote-storage.d.ts +20 -0
  293. package/dist/plugins/logging/storages/remote-storage.d.ts.map +1 -0
  294. package/dist/plugins/logging/storages/remote-storage.js +61 -0
  295. package/dist/plugins/logging/storages/remote-storage.js.map +1 -0
  296. package/dist/plugins/logging/storages/silent-storage.d.ts +10 -0
  297. package/dist/plugins/logging/storages/silent-storage.d.ts.map +1 -0
  298. package/dist/plugins/logging/storages/silent-storage.js +15 -0
  299. package/dist/plugins/logging/storages/silent-storage.js.map +1 -0
  300. package/dist/plugins/logging/types.d.ts +84 -0
  301. package/dist/plugins/logging/types.d.ts.map +1 -0
  302. package/dist/plugins/logging/types.js +2 -0
  303. package/dist/plugins/logging/types.js.map +1 -0
  304. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts +12 -0
  305. package/dist/plugins/performance/collectors/system-metrics-collector.d.ts.map +1 -0
  306. package/dist/plugins/performance/collectors/system-metrics-collector.js +65 -0
  307. package/dist/plugins/performance/collectors/system-metrics-collector.js.map +1 -0
  308. package/dist/plugins/performance/index.d.ts +5 -0
  309. package/dist/plugins/performance/index.d.ts.map +1 -0
  310. package/dist/plugins/performance/index.js +4 -0
  311. package/dist/plugins/performance/index.js.map +1 -0
  312. package/dist/plugins/performance/performance-plugin.d.ts +49 -0
  313. package/dist/plugins/performance/performance-plugin.d.ts.map +1 -0
  314. package/dist/plugins/performance/performance-plugin.js +293 -0
  315. package/dist/plugins/performance/performance-plugin.js.map +1 -0
  316. package/dist/plugins/performance/storages/index.d.ts +2 -0
  317. package/dist/plugins/performance/storages/index.d.ts.map +1 -0
  318. package/dist/plugins/performance/storages/index.js +4 -0
  319. package/dist/plugins/performance/storages/index.js.map +1 -0
  320. package/dist/plugins/performance/storages/memory-storage.d.ts +19 -0
  321. package/dist/plugins/performance/storages/memory-storage.d.ts.map +1 -0
  322. package/dist/plugins/performance/storages/memory-storage.js +69 -0
  323. package/dist/plugins/performance/storages/memory-storage.js.map +1 -0
  324. package/dist/plugins/performance/types.d.ts +154 -0
  325. package/dist/plugins/performance/types.d.ts.map +1 -0
  326. package/dist/plugins/performance/types.js +2 -0
  327. package/dist/plugins/performance/types.js.map +1 -0
  328. package/dist/plugins/usage/aggregate-usage-stats.d.ts +12 -0
  329. package/dist/plugins/usage/aggregate-usage-stats.d.ts.map +1 -0
  330. package/dist/plugins/usage/aggregate-usage-stats.js +115 -0
  331. package/dist/plugins/usage/aggregate-usage-stats.js.map +1 -0
  332. package/dist/plugins/usage/index.d.ts +5 -0
  333. package/dist/plugins/usage/index.d.ts.map +1 -0
  334. package/dist/plugins/usage/index.js +4 -0
  335. package/dist/plugins/usage/index.js.map +1 -0
  336. package/dist/plugins/usage/storages/file-storage.d.ts +22 -0
  337. package/dist/plugins/usage/storages/file-storage.d.ts.map +1 -0
  338. package/dist/plugins/usage/storages/file-storage.js +111 -0
  339. package/dist/plugins/usage/storages/file-storage.js.map +1 -0
  340. package/dist/plugins/usage/storages/index.d.ts +5 -0
  341. package/dist/plugins/usage/storages/index.d.ts.map +1 -0
  342. package/dist/plugins/usage/storages/index.js +5 -0
  343. package/dist/plugins/usage/storages/index.js.map +1 -0
  344. package/dist/plugins/usage/storages/memory-storage.d.ts +22 -0
  345. package/dist/plugins/usage/storages/memory-storage.d.ts.map +1 -0
  346. package/dist/plugins/usage/storages/memory-storage.js +42 -0
  347. package/dist/plugins/usage/storages/memory-storage.js.map +1 -0
  348. package/dist/plugins/usage/storages/remote-storage.d.ts +26 -0
  349. package/dist/plugins/usage/storages/remote-storage.d.ts.map +1 -0
  350. package/dist/plugins/usage/storages/remote-storage.js +115 -0
  351. package/dist/plugins/usage/storages/remote-storage.js.map +1 -0
  352. package/dist/plugins/usage/storages/silent-storage.d.ts +19 -0
  353. package/dist/plugins/usage/storages/silent-storage.d.ts.map +1 -0
  354. package/dist/plugins/usage/storages/silent-storage.js +26 -0
  355. package/dist/plugins/usage/storages/silent-storage.js.map +1 -0
  356. package/dist/plugins/usage/types.d.ts +127 -0
  357. package/dist/plugins/usage/types.d.ts.map +1 -0
  358. package/dist/plugins/usage/types.js +2 -0
  359. package/dist/plugins/usage/types.js.map +1 -0
  360. package/dist/plugins/usage/usage-plugin.d.ts +67 -0
  361. package/dist/plugins/usage/usage-plugin.d.ts.map +1 -0
  362. package/dist/plugins/usage/usage-plugin.js +309 -0
  363. package/dist/plugins/usage/usage-plugin.js.map +1 -0
  364. package/dist/plugins/webhook/http-client.d.ts +30 -0
  365. package/dist/plugins/webhook/http-client.d.ts.map +1 -0
  366. package/dist/plugins/webhook/http-client.js +110 -0
  367. package/dist/plugins/webhook/http-client.js.map +1 -0
  368. package/dist/plugins/webhook/index.d.ts +9 -0
  369. package/dist/plugins/webhook/index.d.ts.map +1 -0
  370. package/dist/plugins/webhook/index.js +9 -0
  371. package/dist/plugins/webhook/index.js.map +1 -0
  372. package/dist/plugins/webhook/transformer.d.ts +63 -0
  373. package/dist/plugins/webhook/transformer.d.ts.map +1 -0
  374. package/dist/plugins/webhook/transformer.js +157 -0
  375. package/dist/plugins/webhook/transformer.js.map +1 -0
  376. package/dist/plugins/webhook/types.d.ts +183 -0
  377. package/dist/plugins/webhook/types.d.ts.map +1 -0
  378. package/dist/plugins/webhook/types.js +2 -0
  379. package/dist/plugins/webhook/types.js.map +1 -0
  380. package/dist/plugins/webhook/webhook-plugin.d.ts +92 -0
  381. package/dist/plugins/webhook/webhook-plugin.d.ts.map +1 -0
  382. package/dist/plugins/webhook/webhook-plugin.js +328 -0
  383. package/dist/plugins/webhook/webhook-plugin.js.map +1 -0
  384. package/dist/schemas/agent-template-schema.d.ts +137 -0
  385. package/dist/schemas/agent-template-schema.d.ts.map +1 -0
  386. package/dist/schemas/agent-template-schema.js +87 -0
  387. package/dist/schemas/agent-template-schema.js.map +1 -0
  388. package/dist/services/conversation-service/index.d.ts +88 -0
  389. package/dist/services/conversation-service/index.d.ts.map +1 -0
  390. package/dist/services/conversation-service/index.js +441 -0
  391. package/dist/services/conversation-service/index.js.map +1 -0
  392. package/dist/services/conversation-service/types.d.ts +32 -0
  393. package/dist/services/conversation-service/types.d.ts.map +1 -0
  394. package/dist/services/conversation-service/types.js +8 -0
  395. package/dist/services/conversation-service/types.js.map +1 -0
  396. package/dist/services/event-service.d.ts +61 -0
  397. package/dist/services/event-service.d.ts.map +1 -0
  398. package/dist/services/event-service.js +110 -0
  399. package/dist/services/event-service.js.map +1 -0
  400. package/dist/services/event-service.test.d.ts +2 -0
  401. package/dist/services/event-service.test.d.ts.map +1 -0
  402. package/dist/services/event-service.test.js +86 -0
  403. package/dist/services/event-service.test.js.map +1 -0
  404. package/dist/services/execution-service.d.ts +151 -0
  405. package/dist/services/execution-service.d.ts.map +1 -0
  406. package/dist/services/execution-service.js +1262 -0
  407. package/dist/services/execution-service.js.map +1 -0
  408. package/dist/services/execution-service.test.d.ts +2 -0
  409. package/dist/services/execution-service.test.d.ts.map +1 -0
  410. package/dist/services/execution-service.test.js +338 -0
  411. package/dist/services/execution-service.test.js.map +1 -0
  412. package/dist/services/history-module.d.ts +15 -0
  413. package/dist/services/history-module.d.ts.map +1 -0
  414. package/dist/services/history-module.js +42 -0
  415. package/dist/services/history-module.js.map +1 -0
  416. package/dist/services/in-memory-history-store.d.ts +12 -0
  417. package/dist/services/in-memory-history-store.d.ts.map +1 -0
  418. package/dist/services/in-memory-history-store.js +41 -0
  419. package/dist/services/in-memory-history-store.js.map +1 -0
  420. package/dist/services/index.d.ts +7 -0
  421. package/dist/services/index.d.ts.map +1 -0
  422. package/dist/services/index.js +13 -0
  423. package/dist/services/index.js.map +1 -0
  424. package/dist/services/task-events.d.ts +6 -0
  425. package/dist/services/task-events.d.ts.map +1 -0
  426. package/dist/services/task-events.js +6 -0
  427. package/dist/services/task-events.js.map +1 -0
  428. package/dist/services/tool-execution-service.d.ts +74 -0
  429. package/dist/services/tool-execution-service.d.ts.map +1 -0
  430. package/dist/services/tool-execution-service.js +189 -0
  431. package/dist/services/tool-execution-service.js.map +1 -0
  432. package/dist/services/user-events.d.ts +7 -0
  433. package/dist/services/user-events.d.ts.map +1 -0
  434. package/dist/services/user-events.js +6 -0
  435. package/dist/services/user-events.js.map +1 -0
  436. package/dist/tools/implementations/function-tool/index.d.ts +9 -0
  437. package/dist/tools/implementations/function-tool/index.d.ts.map +1 -0
  438. package/dist/tools/implementations/function-tool/index.js +13 -0
  439. package/dist/tools/implementations/function-tool/index.js.map +1 -0
  440. package/dist/tools/implementations/function-tool/schema-converter.d.ts +32 -0
  441. package/dist/tools/implementations/function-tool/schema-converter.d.ts.map +1 -0
  442. package/dist/tools/implementations/function-tool/schema-converter.js +164 -0
  443. package/dist/tools/implementations/function-tool/schema-converter.js.map +1 -0
  444. package/dist/tools/implementations/function-tool/types.d.ts +72 -0
  445. package/dist/tools/implementations/function-tool/types.d.ts.map +1 -0
  446. package/dist/tools/implementations/function-tool/types.js +14 -0
  447. package/dist/tools/implementations/function-tool/types.js.map +1 -0
  448. package/dist/tools/implementations/function-tool.d.ts +49 -0
  449. package/dist/tools/implementations/function-tool.d.ts.map +1 -0
  450. package/dist/tools/implementations/function-tool.js +223 -0
  451. package/dist/tools/implementations/function-tool.js.map +1 -0
  452. package/dist/tools/implementations/index.d.ts +4 -0
  453. package/dist/tools/implementations/index.d.ts.map +1 -0
  454. package/dist/tools/implementations/index.js +5 -0
  455. package/dist/tools/implementations/index.js.map +1 -0
  456. package/dist/tools/implementations/mcp-tool.d.ts +72 -0
  457. package/dist/tools/implementations/mcp-tool.d.ts.map +1 -0
  458. package/dist/tools/implementations/mcp-tool.js +246 -0
  459. package/dist/tools/implementations/mcp-tool.js.map +1 -0
  460. package/dist/tools/implementations/openapi-tool.d.ts +56 -0
  461. package/dist/tools/implementations/openapi-tool.d.ts.map +1 -0
  462. package/dist/tools/implementations/openapi-tool.js +324 -0
  463. package/dist/tools/implementations/openapi-tool.js.map +1 -0
  464. package/dist/tools/implementations/relay-mcp-tool.d.ts +38 -0
  465. package/dist/tools/implementations/relay-mcp-tool.d.ts.map +1 -0
  466. package/dist/tools/implementations/relay-mcp-tool.js +46 -0
  467. package/dist/tools/implementations/relay-mcp-tool.js.map +1 -0
  468. package/dist/tools/index.d.ts +3 -0
  469. package/dist/tools/index.d.ts.map +1 -0
  470. package/dist/tools/index.js +4 -0
  471. package/dist/tools/index.js.map +1 -0
  472. package/dist/tools/registry/index.d.ts +2 -0
  473. package/dist/tools/registry/index.d.ts.map +1 -0
  474. package/dist/tools/registry/index.js +3 -0
  475. package/dist/tools/registry/index.js.map +1 -0
  476. package/dist/tools/registry/tool-registry.d.ts +54 -0
  477. package/dist/tools/registry/tool-registry.d.ts.map +1 -0
  478. package/dist/tools/registry/tool-registry.js +146 -0
  479. package/dist/tools/registry/tool-registry.js.map +1 -0
  480. package/dist/utils/errors.d.ts +155 -0
  481. package/dist/utils/errors.d.ts.map +1 -0
  482. package/dist/utils/errors.js +203 -0
  483. package/dist/utils/errors.js.map +1 -0
  484. package/dist/utils/execution-proxy.d.ts +75 -0
  485. package/dist/utils/execution-proxy.d.ts.map +1 -0
  486. package/dist/utils/execution-proxy.js +230 -0
  487. package/dist/utils/execution-proxy.js.map +1 -0
  488. package/dist/utils/index.d.ts +11 -0
  489. package/dist/utils/index.d.ts.map +1 -0
  490. package/dist/utils/index.js +7 -0
  491. package/dist/utils/index.js.map +1 -0
  492. package/dist/utils/logger.d.ts +74 -0
  493. package/dist/utils/logger.d.ts.map +1 -0
  494. package/dist/utils/logger.js +143 -0
  495. package/dist/utils/logger.js.map +1 -0
  496. package/dist/utils/message-converter.d.ts +68 -0
  497. package/dist/utils/message-converter.d.ts.map +1 -0
  498. package/dist/utils/message-converter.js +87 -0
  499. package/dist/utils/message-converter.js.map +1 -0
  500. package/dist/utils/periodic-task.d.ts +14 -0
  501. package/dist/utils/periodic-task.d.ts.map +1 -0
  502. package/dist/utils/periodic-task.js +26 -0
  503. package/dist/utils/periodic-task.js.map +1 -0
  504. package/dist/utils/validation.d.ts +40 -0
  505. package/dist/utils/validation.d.ts.map +1 -0
  506. package/dist/utils/validation.js +162 -0
  507. package/dist/utils/validation.js.map +1 -0
  508. package/package.json +101 -0
@@ -0,0 +1,369 @@
1
+ import type { IRunOptions } from '../interfaces/agent';
2
+ import type { TUniversalMessage } from '../interfaces/messages';
3
+ import type { TToolParameters, IToolExecutionResult, IToolExecutionContext } from '../interfaces/tool';
4
+ import type { IEventEmitterEventData, IEventEmitterPlugin, TEventName } from '../plugins/event-emitter/types';
5
+ /**
6
+ * Plugin categories for classification
7
+ */
8
+ export declare enum PluginCategory {
9
+ /** Monitoring and observability */
10
+ MONITORING = "monitoring",
11
+ /** Logging and debugging */
12
+ LOGGING = "logging",
13
+ /** Data storage and persistence */
14
+ STORAGE = "storage",
15
+ /** External notifications and alerts */
16
+ NOTIFICATION = "notification",
17
+ /** Security and access control */
18
+ SECURITY = "security",
19
+ /** Performance optimization */
20
+ PERFORMANCE = "performance",
21
+ /** Error handling and recovery */
22
+ ERROR_HANDLING = "error_handling",
23
+ /** Rate limiting and throttling */
24
+ LIMITS = "limits",
25
+ /** Event processing and coordination */
26
+ EVENT_PROCESSING = "event_processing",
27
+ /** Custom or specialized functionality */
28
+ CUSTOM = "custom"
29
+ }
30
+ /**
31
+ * Plugin priority levels
32
+ */
33
+ export declare enum PluginPriority {
34
+ /** Highest priority - executed first */
35
+ CRITICAL = 1000,
36
+ /** High priority */
37
+ HIGH = 800,
38
+ /** Normal priority (default) */
39
+ NORMAL = 500,
40
+ /** Low priority */
41
+ LOW = 200,
42
+ /** Lowest priority - executed last */
43
+ MINIMAL = 100
44
+ }
45
+ /**
46
+ * Plugin execution context for all plugins
47
+ */
48
+ export interface IPluginExecutionContext {
49
+ executionId?: string;
50
+ sessionId?: string;
51
+ userId?: string;
52
+ messages?: TUniversalMessage[];
53
+ config?: Record<string, string | number | boolean>;
54
+ metadata?: Record<string, string | number | boolean | Date>;
55
+ [key: string]: string | number | boolean | Date | string[] | number[] | boolean[] | TUniversalMessage[] | Record<string, string | number | boolean> | Record<string, string | number | boolean | Date> | undefined;
56
+ }
57
+ /**
58
+ * Plugin execution result for all plugins
59
+ */
60
+ export interface IPluginExecutionResult {
61
+ response?: string;
62
+ content?: string;
63
+ duration?: number;
64
+ tokensUsed?: number;
65
+ toolsExecuted?: number;
66
+ success?: boolean;
67
+ usage?: {
68
+ totalTokens?: number;
69
+ promptTokens?: number;
70
+ completionTokens?: number;
71
+ };
72
+ toolCalls?: Array<{
73
+ id?: string;
74
+ name?: string;
75
+ arguments?: Record<string, string | number | boolean>;
76
+ result?: string | number | boolean | null;
77
+ }>;
78
+ results?: Array<{
79
+ id?: string;
80
+ type?: string;
81
+ data?: string | number | boolean | null;
82
+ success?: boolean;
83
+ }>;
84
+ error?: Error;
85
+ metadata?: Record<string, string | number | boolean | Date>;
86
+ }
87
+ /**
88
+ * Error context for plugin error handling
89
+ */
90
+ export interface IPluginErrorContext {
91
+ action: string;
92
+ tool?: string;
93
+ parameters?: TToolParameters;
94
+ result?: IToolExecutionResult;
95
+ error?: Error;
96
+ executionId?: string;
97
+ sessionId?: string;
98
+ userId?: string;
99
+ timestamp?: Date;
100
+ attempt?: number;
101
+ stack?: string;
102
+ metadata?: Record<string, string | number | boolean>;
103
+ }
104
+ /**
105
+ * Plugin configuration interface
106
+ */
107
+ export interface IPluginConfig extends IPluginOptions {
108
+ options?: Record<string, string | number | boolean>;
109
+ }
110
+ /**
111
+ * Plugin options that all plugin options should extend
112
+ * This provides a common structure while allowing specific options
113
+ */
114
+ export interface IPluginOptions {
115
+ /** Whether the plugin is enabled */
116
+ enabled?: boolean;
117
+ /** Plugin category for classification */
118
+ category?: PluginCategory;
119
+ /** Plugin priority for execution order */
120
+ priority?: PluginPriority | number;
121
+ /** Events to subscribe to from modules */
122
+ moduleEvents?: TEventName[];
123
+ /** Whether to subscribe to all module events */
124
+ subscribeToAllModuleEvents?: boolean;
125
+ }
126
+ /**
127
+ * Plugin data interface
128
+ */
129
+ export interface IPluginData {
130
+ name: string;
131
+ version: string;
132
+ enabled: boolean;
133
+ category: PluginCategory;
134
+ priority: number;
135
+ subscribedEvents: TEventName[];
136
+ metadata?: Record<string, string | number | boolean>;
137
+ }
138
+ /**
139
+ * Type-safe plugin interface with specific type parameters
140
+ *
141
+ * @template TOptions - Plugin options type that extends IPluginOptions
142
+ * @template TStats - Plugin statistics type (defaults to IPluginStats for type safety)
143
+ */
144
+ export interface IPluginContract<TOptions extends IPluginOptions = IPluginOptions, TStats = IPluginStats> {
145
+ name: string;
146
+ version: string;
147
+ enabled: boolean;
148
+ category: PluginCategory;
149
+ priority: number;
150
+ initialize(options?: TOptions): Promise<void>;
151
+ cleanup?(): Promise<void>;
152
+ getData?(): IPluginData;
153
+ getStats?(): TStats;
154
+ subscribeToModuleEvents?(eventEmitter: IEventEmitterPlugin): Promise<void>;
155
+ unsubscribeFromModuleEvents?(eventEmitter: IEventEmitterPlugin): Promise<void>;
156
+ onModuleEvent?(eventName: TEventName, eventData: IEventEmitterEventData): Promise<void> | void;
157
+ }
158
+ /**
159
+ * Plugin statistics base interface with common metrics
160
+ */
161
+ export interface IPluginStats {
162
+ enabled: boolean;
163
+ calls: number;
164
+ errors: number;
165
+ lastActivity?: Date;
166
+ moduleEventsReceived?: number;
167
+ [key: string]: string | number | boolean | Date | string[] | number[] | boolean[] | Record<string, string | number | boolean | Date> | undefined;
168
+ }
169
+ /**
170
+ * Plugin interface extending IPluginContract
171
+ */
172
+ export interface IPlugin extends IPluginContract<IPluginConfig, IPluginStats> {
173
+ }
174
+ /**
175
+ * Plugin lifecycle hooks
176
+ */
177
+ export interface IPluginHooks {
178
+ /**
179
+ * Called before agent run
180
+ */
181
+ beforeRun?(input: string, options?: IRunOptions): Promise<void> | void;
182
+ /**
183
+ * Called after agent run
184
+ */
185
+ afterRun?(input: string, response: string, options?: IRunOptions): Promise<void> | void;
186
+ /**
187
+ * Called before execution with context
188
+ */
189
+ beforeExecution?(context: IPluginExecutionContext): Promise<void> | void;
190
+ /**
191
+ * Called after execution with context and result
192
+ */
193
+ afterExecution?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void> | void;
194
+ /**
195
+ * Called before conversation with context
196
+ */
197
+ beforeConversation?(context: IPluginExecutionContext): Promise<void> | void;
198
+ /**
199
+ * Called after conversation with context and result
200
+ */
201
+ afterConversation?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void> | void;
202
+ /**
203
+ * Called before tool execution
204
+ */
205
+ beforeToolCall?(toolName: string, parameters: TToolParameters): Promise<void> | void;
206
+ /**
207
+ * Called before tool execution with context
208
+ */
209
+ beforeToolExecution?(context: IPluginExecutionContext, toolData: IToolExecutionContext): Promise<void> | void;
210
+ /**
211
+ * Called after tool execution
212
+ */
213
+ afterToolCall?(toolName: string, parameters: TToolParameters, result: IToolExecutionResult): Promise<void> | void;
214
+ /**
215
+ * Called after tool execution with context
216
+ */
217
+ afterToolExecution?(context: IPluginExecutionContext, toolResults: IPluginExecutionResult): Promise<void> | void;
218
+ /**
219
+ * Called before AI provider call
220
+ */
221
+ beforeProviderCall?(messages: TUniversalMessage[]): Promise<void> | void;
222
+ /**
223
+ * Called after AI provider call
224
+ */
225
+ afterProviderCall?(messages: TUniversalMessage[], response: TUniversalMessage): Promise<void> | void;
226
+ /**
227
+ * Called on streaming chunk
228
+ */
229
+ onStreamingChunk?(chunk: TUniversalMessage): Promise<void> | void;
230
+ /**
231
+ * Called on error
232
+ */
233
+ onError?(error: Error, context?: IPluginErrorContext): Promise<void> | void;
234
+ /**
235
+ * Called on message added to history
236
+ */
237
+ onMessageAdded?(message: TUniversalMessage): Promise<void> | void;
238
+ /**
239
+ * Called when module events are received
240
+ */
241
+ onModuleEvent?(eventName: TEventName, eventData: IEventEmitterEventData): Promise<void> | void;
242
+ }
243
+ /**
244
+ * Abstract class for all plugins with type parameter support
245
+ * Provides plugin lifecycle management and common functionality
246
+ *
247
+ * Enhanced with:
248
+ * - Plugin classification system (categories and priorities)
249
+ * - EventEmitter integration for module event subscription
250
+ * - Improved statistics tracking
251
+ * - Better error handling and recovery
252
+ *
253
+ * @template TOptions - Plugin options type that extends IPluginOptions
254
+ * @template TStats - Plugin statistics type (defaults to IPluginStats for type safety)
255
+ */
256
+ export declare abstract class AbstractPlugin<TOptions extends IPluginOptions = IPluginOptions, TStats extends IPluginStats = IPluginStats> implements IPluginContract<TOptions, TStats>, IPluginHooks {
257
+ /** Plugin name */
258
+ abstract readonly name: string;
259
+ /** Plugin version */
260
+ abstract readonly version: string;
261
+ /** Plugin enabled state */
262
+ enabled: boolean;
263
+ /** Plugin category for classification */
264
+ category: PluginCategory;
265
+ /** Plugin priority for execution order */
266
+ priority: number;
267
+ /** Plugin options */
268
+ protected options: TOptions | undefined;
269
+ /** EventEmitter for module event subscription */
270
+ protected eventEmitter: IEventEmitterPlugin | undefined;
271
+ /** Subscribed event types */
272
+ protected subscribedEvents: TEventName[];
273
+ /** Event subscription handlers */
274
+ protected eventHandlers: Map<TEventName, string[]>;
275
+ /** Plugin statistics */
276
+ protected stats: {
277
+ calls: number;
278
+ errors: number;
279
+ moduleEventsReceived: number;
280
+ lastActivity: Date | undefined;
281
+ };
282
+ /**
283
+ * Initialize the plugin with type-safe options
284
+ */
285
+ initialize(options?: TOptions): Promise<void>;
286
+ /**
287
+ * Subscribe to module events through EventEmitter
288
+ */
289
+ subscribeToModuleEvents(eventEmitter: IEventEmitterPlugin): Promise<void>;
290
+ /**
291
+ * Unsubscribe from module events
292
+ */
293
+ unsubscribeFromModuleEvents(eventEmitter: IEventEmitterPlugin): Promise<void>;
294
+ /**
295
+ * Cleanup plugin resources
296
+ */
297
+ dispose(): Promise<void>;
298
+ /**
299
+ * Enable the plugin
300
+ */
301
+ enable(): void;
302
+ /**
303
+ * Disable the plugin
304
+ */
305
+ disable(): void;
306
+ /**
307
+ * Check if plugin is enabled
308
+ */
309
+ isEnabled(): boolean;
310
+ /**
311
+ * Get plugin configuration
312
+ */
313
+ getConfig(): IPluginConfig;
314
+ /**
315
+ * Update plugin configuration
316
+ */
317
+ updateConfig(_config: IPluginConfig): void;
318
+ /**
319
+ * Get plugin data - enhanced with classification information
320
+ */
321
+ getData(): IPluginData;
322
+ /**
323
+ * Clear plugin data - common interface for all plugins
324
+ * This method should be implemented by plugins that store data
325
+ */
326
+ clearData?(): void;
327
+ /**
328
+ * Get plugin status - enhanced with classification information
329
+ */
330
+ getStatus(): {
331
+ name: string;
332
+ version: string;
333
+ enabled: boolean;
334
+ initialized: boolean;
335
+ category: PluginCategory;
336
+ priority: number;
337
+ subscribedEventsCount: number;
338
+ hasEventEmitter: boolean;
339
+ };
340
+ /**
341
+ * Get plugin statistics - enhanced with module event tracking
342
+ */
343
+ getStats(): TStats;
344
+ /**
345
+ * Update plugin call statistics
346
+ */
347
+ protected updateCallStats(): void;
348
+ /**
349
+ * Update plugin error statistics
350
+ */
351
+ protected updateErrorStats(): void;
352
+ beforeRun?(input: string, options?: IRunOptions): Promise<void>;
353
+ afterRun?(input: string, response: string, options?: IRunOptions): Promise<void>;
354
+ beforeExecution?(context: IPluginExecutionContext): Promise<void>;
355
+ afterExecution?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void>;
356
+ beforeConversation?(context: IPluginExecutionContext): Promise<void>;
357
+ afterConversation?(context: IPluginExecutionContext, result: IPluginExecutionResult): Promise<void>;
358
+ beforeToolCall?(toolName: string, parameters: TToolParameters): Promise<void>;
359
+ beforeToolExecution?(context: IPluginExecutionContext, toolData: IToolExecutionContext): Promise<void>;
360
+ afterToolCall?(toolName: string, parameters: TToolParameters, result: IToolExecutionResult): Promise<void>;
361
+ afterToolExecution?(context: IPluginExecutionContext, toolResults: IPluginExecutionResult): Promise<void>;
362
+ beforeProviderCall?(messages: TUniversalMessage[]): Promise<void>;
363
+ afterProviderCall?(messages: TUniversalMessage[], response: TUniversalMessage): Promise<void>;
364
+ onStreamingChunk?(chunk: TUniversalMessage): Promise<void>;
365
+ onError?(error: Error, context?: IPluginErrorContext): Promise<void>;
366
+ onMessageAdded?(message: TUniversalMessage): Promise<void>;
367
+ onModuleEvent?(eventName: TEventName, eventData: IEventEmitterEventData): Promise<void>;
368
+ }
369
+ //# sourceMappingURL=abstract-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-plugin.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,258 @@
1
+ import { EVENT_EMITTER_EVENTS } from '../plugins/event-emitter/types';
2
+ /**
3
+ * Plugin categories for classification
4
+ */
5
+ export var PluginCategory;
6
+ (function (PluginCategory) {
7
+ /** Monitoring and observability */
8
+ PluginCategory["MONITORING"] = "monitoring";
9
+ /** Logging and debugging */
10
+ PluginCategory["LOGGING"] = "logging";
11
+ /** Data storage and persistence */
12
+ PluginCategory["STORAGE"] = "storage";
13
+ /** External notifications and alerts */
14
+ PluginCategory["NOTIFICATION"] = "notification";
15
+ /** Security and access control */
16
+ PluginCategory["SECURITY"] = "security";
17
+ /** Performance optimization */
18
+ PluginCategory["PERFORMANCE"] = "performance";
19
+ /** Error handling and recovery */
20
+ PluginCategory["ERROR_HANDLING"] = "error_handling";
21
+ /** Rate limiting and throttling */
22
+ PluginCategory["LIMITS"] = "limits";
23
+ /** Event processing and coordination */
24
+ PluginCategory["EVENT_PROCESSING"] = "event_processing";
25
+ /** Custom or specialized functionality */
26
+ PluginCategory["CUSTOM"] = "custom";
27
+ })(PluginCategory || (PluginCategory = {}));
28
+ /**
29
+ * Plugin priority levels
30
+ */
31
+ export var PluginPriority;
32
+ (function (PluginPriority) {
33
+ /** Highest priority - executed first */
34
+ PluginPriority[PluginPriority["CRITICAL"] = 1000] = "CRITICAL";
35
+ /** High priority */
36
+ PluginPriority[PluginPriority["HIGH"] = 800] = "HIGH";
37
+ /** Normal priority (default) */
38
+ PluginPriority[PluginPriority["NORMAL"] = 500] = "NORMAL";
39
+ /** Low priority */
40
+ PluginPriority[PluginPriority["LOW"] = 200] = "LOW";
41
+ /** Lowest priority - executed last */
42
+ PluginPriority[PluginPriority["MINIMAL"] = 100] = "MINIMAL";
43
+ })(PluginPriority || (PluginPriority = {}));
44
+ /**
45
+ * Abstract class for all plugins with type parameter support
46
+ * Provides plugin lifecycle management and common functionality
47
+ *
48
+ * Enhanced with:
49
+ * - Plugin classification system (categories and priorities)
50
+ * - EventEmitter integration for module event subscription
51
+ * - Improved statistics tracking
52
+ * - Better error handling and recovery
53
+ *
54
+ * @template TOptions - Plugin options type that extends IPluginOptions
55
+ * @template TStats - Plugin statistics type (defaults to IPluginStats for type safety)
56
+ */
57
+ export class AbstractPlugin {
58
+ /** Plugin enabled state */
59
+ enabled = true;
60
+ /** Plugin category for classification */
61
+ category = PluginCategory.CUSTOM;
62
+ /** Plugin priority for execution order */
63
+ priority = PluginPriority.NORMAL;
64
+ /** Plugin options */
65
+ options;
66
+ /** EventEmitter for module event subscription */
67
+ eventEmitter;
68
+ /** Subscribed event types */
69
+ subscribedEvents = [];
70
+ /** Event subscription handlers */
71
+ eventHandlers = new Map();
72
+ /** Plugin statistics */
73
+ stats = {
74
+ calls: 0,
75
+ errors: 0,
76
+ moduleEventsReceived: 0,
77
+ lastActivity: undefined
78
+ };
79
+ /**
80
+ * Initialize the plugin with type-safe options
81
+ */
82
+ async initialize(options) {
83
+ this.options = options;
84
+ // Set enabled state from options with default fallback
85
+ if (options && 'enabled' in options && typeof options.enabled === 'boolean') {
86
+ this.enabled = options.enabled;
87
+ }
88
+ else {
89
+ this.enabled = true; // Default to enabled
90
+ }
91
+ // Set category from options
92
+ if (options?.category) {
93
+ this.category = options.category;
94
+ }
95
+ // Set priority from options
96
+ if (options?.priority !== undefined) {
97
+ this.priority = typeof options.priority === 'number'
98
+ ? options.priority
99
+ : options.priority;
100
+ }
101
+ // Default implementation - can be overridden
102
+ }
103
+ /**
104
+ * Subscribe to module events through EventEmitter
105
+ */
106
+ async subscribeToModuleEvents(eventEmitter) {
107
+ this.eventEmitter = eventEmitter;
108
+ if (!this.options) {
109
+ return;
110
+ }
111
+ const eventsToSubscribe = [];
112
+ // Subscribe to all module events if requested
113
+ if (this.options.subscribeToAllModuleEvents) {
114
+ eventsToSubscribe.push(EVENT_EMITTER_EVENTS.MODULE_INITIALIZE_START, EVENT_EMITTER_EVENTS.MODULE_INITIALIZE_COMPLETE, EVENT_EMITTER_EVENTS.MODULE_INITIALIZE_ERROR, EVENT_EMITTER_EVENTS.MODULE_EXECUTION_START, EVENT_EMITTER_EVENTS.MODULE_EXECUTION_COMPLETE, EVENT_EMITTER_EVENTS.MODULE_EXECUTION_ERROR, EVENT_EMITTER_EVENTS.MODULE_DISPOSE_START, EVENT_EMITTER_EVENTS.MODULE_DISPOSE_COMPLETE, EVENT_EMITTER_EVENTS.MODULE_DISPOSE_ERROR);
115
+ }
116
+ // Subscribe to specific events if specified
117
+ if (this.options.moduleEvents) {
118
+ eventsToSubscribe.push(...this.options.moduleEvents);
119
+ }
120
+ // Subscribe to events (no deduplication; duplicates must surface for debugging)
121
+ for (const eventType of eventsToSubscribe) {
122
+ const handlerId = this.eventEmitter.on(eventType, async (eventData) => {
123
+ try {
124
+ this.stats.moduleEventsReceived++;
125
+ this.stats.lastActivity = new Date();
126
+ await this.onModuleEvent?.(eventType, eventData);
127
+ }
128
+ catch (error) {
129
+ this.stats.errors++;
130
+ // Log error but don't throw to avoid breaking event processing
131
+ // Plugin failed to handle module event
132
+ }
133
+ });
134
+ const existing = this.eventHandlers.get(eventType);
135
+ if (existing) {
136
+ existing.push(handlerId);
137
+ }
138
+ else {
139
+ this.eventHandlers.set(eventType, [handlerId]);
140
+ }
141
+ this.subscribedEvents.push(eventType);
142
+ }
143
+ }
144
+ /**
145
+ * Unsubscribe from module events
146
+ */
147
+ async unsubscribeFromModuleEvents(eventEmitter) {
148
+ for (const [eventType, handlerIds] of this.eventHandlers.entries()) {
149
+ for (const handlerId of handlerIds) {
150
+ eventEmitter.off(eventType, handlerId);
151
+ }
152
+ }
153
+ this.eventHandlers.clear();
154
+ this.subscribedEvents = [];
155
+ this.eventEmitter = undefined;
156
+ }
157
+ /**
158
+ * Cleanup plugin resources
159
+ */
160
+ async dispose() {
161
+ // Unsubscribe from events if subscribed
162
+ if (this.eventEmitter) {
163
+ await this.unsubscribeFromModuleEvents(this.eventEmitter);
164
+ }
165
+ // Default implementation - can be overridden
166
+ }
167
+ /**
168
+ * Enable the plugin
169
+ */
170
+ enable() {
171
+ this.enabled = true;
172
+ }
173
+ /**
174
+ * Disable the plugin
175
+ */
176
+ disable() {
177
+ this.enabled = false;
178
+ }
179
+ /**
180
+ * Check if plugin is enabled
181
+ */
182
+ isEnabled() {
183
+ return this.enabled;
184
+ }
185
+ /**
186
+ * Get plugin configuration
187
+ */
188
+ getConfig() {
189
+ return {};
190
+ }
191
+ /**
192
+ * Update plugin configuration
193
+ */
194
+ updateConfig(_config) {
195
+ // Default implementation - can be overridden
196
+ }
197
+ /**
198
+ * Get plugin data - enhanced with classification information
199
+ */
200
+ getData() {
201
+ return {
202
+ name: this.name,
203
+ version: this.version,
204
+ enabled: this.enabled,
205
+ category: this.category,
206
+ priority: this.priority,
207
+ subscribedEvents: [...this.subscribedEvents],
208
+ metadata: {
209
+ moduleEventsReceived: this.stats.moduleEventsReceived,
210
+ totalCalls: this.stats.calls,
211
+ totalErrors: this.stats.errors
212
+ }
213
+ };
214
+ }
215
+ /**
216
+ * Get plugin status - enhanced with classification information
217
+ */
218
+ getStatus() {
219
+ return {
220
+ name: this.name,
221
+ version: this.version,
222
+ enabled: this.enabled,
223
+ initialized: true, // Can be overridden by plugins to track initialization state
224
+ category: this.category,
225
+ priority: this.priority,
226
+ subscribedEventsCount: this.subscribedEvents.length,
227
+ hasEventEmitter: !!this.eventEmitter
228
+ };
229
+ }
230
+ /**
231
+ * Get plugin statistics - enhanced with module event tracking
232
+ */
233
+ getStats() {
234
+ const baseStats = {
235
+ enabled: this.enabled,
236
+ calls: this.stats.calls,
237
+ errors: this.stats.errors,
238
+ moduleEventsReceived: this.stats.moduleEventsReceived,
239
+ ...(this.stats.lastActivity && { lastActivity: this.stats.lastActivity })
240
+ };
241
+ return baseStats;
242
+ }
243
+ /**
244
+ * Update plugin call statistics
245
+ */
246
+ updateCallStats() {
247
+ this.stats.calls++;
248
+ this.stats.lastActivity = new Date();
249
+ }
250
+ /**
251
+ * Update plugin error statistics
252
+ */
253
+ updateErrorStats() {
254
+ this.stats.errors++;
255
+ this.stats.lastActivity = new Date();
256
+ }
257
+ }
258
+ //# sourceMappingURL=abstract-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-plugin.js","sourceRoot":"","sources":["../../src/abstracts/abstract-plugin.ts"],"names":[],"mappings":"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"}