@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,156 @@
1
+ import { SilentLogger } from '../utils/logger';
2
+ /**
3
+ * @fileoverview Abstract Executor Base Class
4
+ *
5
+ * 🎯 ABSTRACT CLASS - DO NOT DEPEND ON CONCRETE IMPLEMENTATIONS
6
+ *
7
+ * Provides shared execution helpers (retry, timeout, validation, logging) for all
8
+ * executor implementations. Concrete executors should extend this class and inject
9
+ * their own logger implementation if they need custom logging behavior.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * export class MyCustomExecutor extends AbstractExecutor {
14
+ * async executeChat(request: IChatExecutionRequest): Promise<AssistantMessage> {
15
+ * return this.withRetry(() => this.performChat(request));
16
+ * }
17
+ * }
18
+ * ```
19
+ */
20
+ export class AbstractExecutor {
21
+ /**
22
+ * Logger injected via constructor (defaults to abstract logger)
23
+ */
24
+ logger;
25
+ constructor(logger = SilentLogger) {
26
+ this.logger = logger;
27
+ }
28
+ /**
29
+ * Check if the executor supports tool calling
30
+ * Default implementation returns false, can be overridden
31
+ */
32
+ supportsTools() {
33
+ return false;
34
+ }
35
+ /**
36
+ * Validate executor configuration
37
+ * Default implementation returns true, can be overridden
38
+ */
39
+ validateConfig() {
40
+ return true;
41
+ }
42
+ /**
43
+ * Clean up resources when executor is no longer needed
44
+ * Default implementation does nothing, can be overridden
45
+ */
46
+ async dispose() {
47
+ // Default: no cleanup needed
48
+ }
49
+ /**
50
+ * Execute function with retry logic
51
+ *
52
+ * @param fn - Function to execute with retries
53
+ * @param maxRetries - Maximum number of retry attempts (default: 3)
54
+ * @param retryDelay - Delay between retries in milliseconds (default: 1000)
55
+ * @returns Promise resolving to function result
56
+ */
57
+ async withRetry(fn, maxRetries = 3, retryDelay = 1000) {
58
+ let lastError;
59
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
60
+ try {
61
+ return await fn();
62
+ }
63
+ catch (error) {
64
+ lastError = error instanceof Error ? error : new Error(String(error));
65
+ if (attempt < maxRetries) {
66
+ this.logger.warn?.(`[${this.name}] Attempt ${attempt + 1} failed, retrying in ${retryDelay}ms`, {
67
+ error: lastError.message,
68
+ attempt: attempt + 1,
69
+ maxRetries
70
+ });
71
+ await this.delay(retryDelay);
72
+ }
73
+ }
74
+ }
75
+ throw lastError;
76
+ }
77
+ /**
78
+ * Execute function with timeout
79
+ *
80
+ * @param promise - Promise to execute with timeout
81
+ * @param timeoutMs - Timeout in milliseconds
82
+ * @returns Promise resolving to function result
83
+ */
84
+ async withTimeout(promise, timeoutMs) {
85
+ const timeoutPromise = new Promise((_, reject) => {
86
+ setTimeout(() => {
87
+ reject(new Error(`Operation timed out after ${timeoutMs}ms`));
88
+ }, timeoutMs);
89
+ });
90
+ return Promise.race([promise, timeoutPromise]);
91
+ }
92
+ /**
93
+ * Delay execution for specified milliseconds
94
+ *
95
+ * @param ms - Milliseconds to delay
96
+ * @returns Promise that resolves after the delay
97
+ */
98
+ delay(ms) {
99
+ return new Promise(resolve => setTimeout(resolve, ms));
100
+ }
101
+ /**
102
+ * Log debug information (only if logging is enabled)
103
+ *
104
+ * @param message - Log message
105
+ * @param data - Optional data to log
106
+ */
107
+ logDebug(message, data) {
108
+ this.logger.debug?.(`[${this.name}] ${message}`, data);
109
+ }
110
+ /**
111
+ * Log error information
112
+ *
113
+ * @param message - Log message
114
+ * @param error - Error object
115
+ * @param data - Optional additional data
116
+ */
117
+ logError(message, error, data) {
118
+ this.logger.error?.(`[${this.name}] ${message}`, {
119
+ error: error.message,
120
+ stack: error.stack,
121
+ ...data
122
+ });
123
+ }
124
+ /**
125
+ * Validate that request has required fields
126
+ *
127
+ * @param request - Chat execution request to validate
128
+ * @throws Error if validation fails
129
+ */
130
+ validateRequest(request) {
131
+ if (!request.messages || request.messages.length === 0) {
132
+ throw new Error('Request must include at least one message');
133
+ }
134
+ if (!request.provider) {
135
+ throw new Error('Request must specify a provider');
136
+ }
137
+ if (!request.model) {
138
+ throw new Error('Request must specify a model');
139
+ }
140
+ }
141
+ /**
142
+ * Validate that response is properly formatted
143
+ *
144
+ * @param response - Response to validate
145
+ * @throws Error if validation fails
146
+ */
147
+ validateResponse(response) {
148
+ if (!response.role) {
149
+ throw new Error('Response must have a role');
150
+ }
151
+ if (!response.content) {
152
+ throw new Error('Response must have content');
153
+ }
154
+ }
155
+ }
156
+ //# sourceMappingURL=abstract-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-executor.js","sourceRoot":"","sources":["../../src/abstracts/abstract-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview Abstract Manager Base Class
3
+ *
4
+ * 🎯 ABSTRACT CLASS - DO NOT IMPORT CONCRETE IMPLEMENTATIONS
5
+ *
6
+ * This class defines the common lifecycle contract for all manager implementations.
7
+ * It enforces explicit initialization/disposal semantics so that subclasses can
8
+ * provide their own resource management logic while sharing guard rails.
9
+ *
10
+ * Architectural rules:
11
+ * - Depends only on abstractions (no concrete manager implementations)
12
+ * - Provides finalize hooks (`doInitialize`, `doDispose`) for subclasses
13
+ * - Guards public APIs via `ensureInitialized`
14
+ */
15
+ export declare abstract class AbstractManager {
16
+ protected initialized: boolean;
17
+ /**
18
+ * Initialize the manager (idempotent)
19
+ */
20
+ initialize(): Promise<void>;
21
+ /**
22
+ * Subclass-specific initialization logic
23
+ */
24
+ protected abstract doInitialize(): Promise<void>;
25
+ /**
26
+ * Dispose manager resources (idempotent)
27
+ */
28
+ dispose(): Promise<void>;
29
+ /**
30
+ * Subclass-specific disposal logic
31
+ */
32
+ protected abstract doDispose(): Promise<void>;
33
+ /**
34
+ * Whether the manager completed initialization
35
+ */
36
+ isInitialized(): boolean;
37
+ /**
38
+ * Ensure manager is initialized before performing operations
39
+ */
40
+ protected ensureInitialized(): void;
41
+ }
42
+ //# sourceMappingURL=abstract-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-manager.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,8BAAsB,eAAe;IACjC,SAAS,CAAC,WAAW,UAAS;IAE9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEhD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAKtC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview Abstract Manager Base Class
3
+ *
4
+ * 🎯 ABSTRACT CLASS - DO NOT IMPORT CONCRETE IMPLEMENTATIONS
5
+ *
6
+ * This class defines the common lifecycle contract for all manager implementations.
7
+ * It enforces explicit initialization/disposal semantics so that subclasses can
8
+ * provide their own resource management logic while sharing guard rails.
9
+ *
10
+ * Architectural rules:
11
+ * - Depends only on abstractions (no concrete manager implementations)
12
+ * - Provides finalize hooks (`doInitialize`, `doDispose`) for subclasses
13
+ * - Guards public APIs via `ensureInitialized`
14
+ */
15
+ export class AbstractManager {
16
+ initialized = false;
17
+ /**
18
+ * Initialize the manager (idempotent)
19
+ */
20
+ async initialize() {
21
+ if (this.initialized) {
22
+ return;
23
+ }
24
+ await this.doInitialize();
25
+ this.initialized = true;
26
+ }
27
+ /**
28
+ * Dispose manager resources (idempotent)
29
+ */
30
+ async dispose() {
31
+ await this.doDispose();
32
+ this.initialized = false;
33
+ }
34
+ /**
35
+ * Whether the manager completed initialization
36
+ */
37
+ isInitialized() {
38
+ return this.initialized;
39
+ }
40
+ /**
41
+ * Ensure manager is initialized before performing operations
42
+ */
43
+ ensureInitialized() {
44
+ if (!this.initialized) {
45
+ throw new Error(`${this.constructor.name} is not initialized`);
46
+ }
47
+ }
48
+ }
49
+ //# sourceMappingURL=abstract-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-manager.js","sourceRoot":"","sources":["../../src/abstracts/abstract-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAgB,eAAe;IACvB,WAAW,GAAG,KAAK,CAAC;IAE9B;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAOD;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;IAOD;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,365 @@
1
+ /**
2
+ * @fileoverview Abstract Module Base Class
3
+ *
4
+ * 🎯 ABSTRACT CLASS - DO NOT DEPEND ON CONCRETE IMPLEMENTATIONS
5
+ *
6
+ * This class defines the core lifecycle contract for Robota modules.
7
+ * It only relies on abstract dependencies (EventEmitterPlugin interface and
8
+ * AbstractLogger) so that concrete modules can inject their own behaviors.
9
+ */
10
+ import type { ILogger } from '../utils/logger';
11
+ import { type IEventEmitterPlugin } from '../plugins/event-emitter/types';
12
+ /**
13
+ * Module execution context for all modules
14
+ */
15
+ export interface IModuleExecutionContext {
16
+ executionId?: string;
17
+ sessionId?: string;
18
+ userId?: string;
19
+ agentName?: string;
20
+ metadata?: Record<string, string | number | boolean | Date>;
21
+ [key: string]: string | number | boolean | Date | Record<string, string | number | boolean | Date> | undefined;
22
+ }
23
+ /**
24
+ * Module execution result for all modules
25
+ */
26
+ export interface IModuleExecutionResult {
27
+ success: boolean;
28
+ data?: IModuleResultData;
29
+ error?: Error;
30
+ duration?: number;
31
+ metadata?: Record<string, string | number | boolean | Date>;
32
+ }
33
+ /**
34
+ * Module result data interface
35
+ */
36
+ export interface IModuleResultData {
37
+ [key: string]: string | number | boolean | Record<string, string | number | boolean> | undefined;
38
+ }
39
+ /**
40
+ * Base module options that all module options should extend
41
+ */
42
+ export interface IBaseModuleOptions {
43
+ /** Whether the module is enabled */
44
+ enabled?: boolean;
45
+ /** Module-specific configuration */
46
+ config?: Record<string, string | number | boolean>;
47
+ }
48
+ /**
49
+ * Module capabilities that define what the module can do
50
+ */
51
+ export interface IModuleCapabilities {
52
+ /** List of capabilities this module provides */
53
+ capabilities: string[];
54
+ /** Dependencies on other modules */
55
+ dependencies?: string[];
56
+ /** Optional capabilities that enhance functionality if available */
57
+ optionalDependencies?: string[];
58
+ }
59
+ /**
60
+ * Module type descriptor for dynamic type system
61
+ */
62
+ export interface IModuleDescriptor {
63
+ /** Unique type identifier */
64
+ type: string;
65
+ /** Module category */
66
+ category: ModuleCategory;
67
+ /** Module layer */
68
+ layer: ModuleLayer;
69
+ /** Required dependencies */
70
+ dependencies?: string[];
71
+ /** Provided capabilities */
72
+ capabilities?: string[];
73
+ }
74
+ /**
75
+ * Module categories for classification
76
+ */
77
+ export declare enum ModuleCategory {
78
+ /** Core functionality modules */
79
+ CORE = "core",
80
+ /** Storage and data management */
81
+ STORAGE = "storage",
82
+ /** Processing and transformation */
83
+ PROCESSING = "processing",
84
+ /** External integration */
85
+ INTEGRATION = "integration",
86
+ /** User interface and interaction */
87
+ INTERFACE = "interface",
88
+ /** Specialized capabilities */
89
+ CAPABILITY = "capability"
90
+ }
91
+ /**
92
+ * Module layers for dependency management
93
+ */
94
+ export declare enum ModuleLayer {
95
+ /** Infrastructure layer (lowest) */
96
+ INFRASTRUCTURE = "infrastructure",
97
+ /** Core services layer */
98
+ CORE = "core",
99
+ /** Application logic layer */
100
+ APPLICATION = "application",
101
+ /** Domain-specific layer */
102
+ DOMAIN = "domain",
103
+ /** Presentation layer (highest) */
104
+ PRESENTATION = "presentation"
105
+ }
106
+ /**
107
+ * Module data interface for introspection
108
+ */
109
+ export interface IModuleData {
110
+ name: string;
111
+ version: string;
112
+ type: string;
113
+ enabled: boolean;
114
+ initialized: boolean;
115
+ capabilities: IModuleCapabilities;
116
+ metadata?: Record<string, string | number | boolean>;
117
+ }
118
+ /**
119
+ * Module statistics interface
120
+ */
121
+ export interface IModuleStats {
122
+ enabled: boolean;
123
+ initialized: boolean;
124
+ executionCount: number;
125
+ errorCount: number;
126
+ lastActivity?: Date;
127
+ averageExecutionTime?: number;
128
+ [key: string]: string | number | boolean | Date | undefined;
129
+ }
130
+ /**
131
+ * Type-safe module interface with specific type parameters
132
+ *
133
+ * @template TOptions - Module options type that extends IBaseModuleOptions
134
+ * @template TStats - Module statistics type (defaults to IModuleStats)
135
+ */
136
+ export interface IModule<TOptions extends IBaseModuleOptions = IBaseModuleOptions, TStats = IModuleStats> {
137
+ name: string;
138
+ version: string;
139
+ enabled: boolean;
140
+ initialize(options?: TOptions, eventEmitter?: IEventEmitterPlugin): Promise<void>;
141
+ dispose?(): Promise<void>;
142
+ execute?(context: IModuleExecutionContext): Promise<IModuleExecutionResult>;
143
+ getModuleType(): IModuleDescriptor;
144
+ getCapabilities(): IModuleCapabilities;
145
+ getData?(): IModuleData;
146
+ getStats?(): TStats;
147
+ isEnabled(): boolean;
148
+ isInitialized(): boolean;
149
+ }
150
+ /**
151
+ * Base module interface extending IModule
152
+ */
153
+ export interface IBaseModule extends IModule<IBaseModuleOptions, IModuleStats> {
154
+ }
155
+ /**
156
+ * Module lifecycle hooks
157
+ */
158
+ export interface IModuleHooks {
159
+ /**
160
+ * Called before module execution
161
+ */
162
+ beforeExecution?(context: IModuleExecutionContext): Promise<void> | void;
163
+ /**
164
+ * Called after module execution
165
+ */
166
+ afterExecution?(context: IModuleExecutionContext, result: IModuleExecutionResult): Promise<void> | void;
167
+ /**
168
+ * Called when module is activated
169
+ */
170
+ onActivate?(): Promise<void> | void;
171
+ /**
172
+ * Called when module is deactivated
173
+ */
174
+ onDeactivate?(): Promise<void> | void;
175
+ /**
176
+ * Called on module error
177
+ */
178
+ onError?(error: Error, context?: IModuleExecutionContext): Promise<void> | void;
179
+ }
180
+ /**
181
+ * Abstract base class for all modules with type parameter support
182
+ * Provides module lifecycle management and common functionality
183
+ *
184
+ * ⚠️ Core assumption: every Module must be an optional extension feature
185
+ * - ✅ Robota must work normally without any Module
186
+ * - ✅ Adding a Module should only grant new capabilities or features
187
+ * - ❌ If missing a Module breaks core logic, it must be implemented as an internal class instead
188
+ *
189
+ * @template TOptions - Module options type that extends IBaseModuleOptions
190
+ * @template TStats - Module statistics type (defaults to IModuleStats)
191
+ */
192
+ export declare abstract class AbstractModule<TOptions extends IBaseModuleOptions = IBaseModuleOptions, TStats = IModuleStats> implements IModule<TOptions, TStats>, IModuleHooks {
193
+ /** Module name */
194
+ abstract readonly name: string;
195
+ /** Module version */
196
+ abstract readonly version: string;
197
+ /** Module enabled state */
198
+ enabled: boolean;
199
+ /** Module initialization state */
200
+ initialized: boolean;
201
+ /** Module options */
202
+ protected options: TOptions | undefined;
203
+ /** EventEmitter for module events */
204
+ protected eventEmitter: IEventEmitterPlugin | undefined;
205
+ /** Logger instance */
206
+ protected logger: ILogger;
207
+ /** Execution statistics */
208
+ protected stats: {
209
+ executionCount: number;
210
+ errorCount: number;
211
+ lastActivity: Date | undefined;
212
+ totalExecutionTime: number;
213
+ };
214
+ constructor(logger?: ILogger);
215
+ /**
216
+ * Get module type descriptor - must be implemented by each module
217
+ */
218
+ abstract getModuleType(): IModuleDescriptor;
219
+ /**
220
+ * Get module capabilities - must be implemented by each module
221
+ */
222
+ abstract getCapabilities(): IModuleCapabilities;
223
+ /**
224
+ * Initialize the module with type-safe options and EventEmitter
225
+ */
226
+ initialize(options?: TOptions, eventEmitter?: IEventEmitterPlugin): Promise<void>;
227
+ /**
228
+ * Custom initialization logic - can be overridden by modules
229
+ */
230
+ protected onInitialize(_options?: TOptions): Promise<void>;
231
+ /**
232
+ * Execute module functionality
233
+ */
234
+ execute(context: IModuleExecutionContext): Promise<IModuleExecutionResult>;
235
+ /**
236
+ * Custom execution logic - must be implemented by modules that support execution
237
+ */
238
+ protected onExecute(_context: IModuleExecutionContext): Promise<IModuleExecutionResult>;
239
+ /**
240
+ * Dispose module resources
241
+ */
242
+ dispose(): Promise<void>;
243
+ /**
244
+ * Custom disposal logic - can be overridden by modules
245
+ */
246
+ protected onDispose(): Promise<void>;
247
+ /**
248
+ * Enable the module
249
+ */
250
+ enable(): void;
251
+ /**
252
+ * Disable the module
253
+ */
254
+ disable(): void;
255
+ /**
256
+ * Check if module is enabled
257
+ */
258
+ isEnabled(): boolean;
259
+ /**
260
+ * Check if module is initialized
261
+ */
262
+ isInitialized(): boolean;
263
+ /**
264
+ * Get module data for introspection
265
+ */
266
+ getData(): IModuleData;
267
+ /**
268
+ * Get module statistics
269
+ */
270
+ getStats(): TStats;
271
+ /**
272
+ * Get module status
273
+ */
274
+ getStatus(): {
275
+ name: string;
276
+ version: string;
277
+ type: string;
278
+ enabled: boolean;
279
+ initialized: boolean;
280
+ hasEventEmitter: boolean;
281
+ };
282
+ /**
283
+ * Convert module event data to event emitter data payload format.
284
+ */
285
+ private convertToEventData;
286
+ beforeExecution?(context: IModuleExecutionContext): Promise<void>;
287
+ afterExecution?(context: IModuleExecutionContext, result: IModuleExecutionResult): Promise<void>;
288
+ onActivate?(): Promise<void>;
289
+ onDeactivate?(): Promise<void>;
290
+ onError?(error: Error, context?: IModuleExecutionContext): Promise<void>;
291
+ }
292
+ /**
293
+ * Standard module event data structures for consistent event communication
294
+ */
295
+ /**
296
+ * Base module event data interface
297
+ */
298
+ export interface IBaseModuleEventData {
299
+ moduleName: string;
300
+ moduleType: string;
301
+ timestamp: Date;
302
+ metadata?: Record<string, string | number | boolean | Date>;
303
+ }
304
+ /**
305
+ * Module initialization event data
306
+ */
307
+ export interface IModuleInitializationEventData extends IBaseModuleEventData {
308
+ phase: 'start' | 'complete' | 'error';
309
+ duration?: number;
310
+ error?: string;
311
+ options?: Record<string, string | number | boolean>;
312
+ }
313
+ /**
314
+ * Module execution event data
315
+ */
316
+ export interface IModuleExecutionEventData extends IBaseModuleEventData {
317
+ phase: 'start' | 'complete' | 'error';
318
+ executionId: string;
319
+ duration?: number;
320
+ success?: boolean;
321
+ error?: string;
322
+ inputSize?: number;
323
+ outputSize?: number;
324
+ context?: {
325
+ sessionId?: string;
326
+ userId?: string;
327
+ agentName?: string;
328
+ };
329
+ }
330
+ /**
331
+ * Module disposal event data
332
+ */
333
+ export interface IModuleDisposalEventData extends IBaseModuleEventData {
334
+ phase: 'start' | 'complete' | 'error';
335
+ duration?: number;
336
+ error?: string;
337
+ resourcesReleased?: string[];
338
+ }
339
+ /**
340
+ * Module capability event data (for capability registration/changes)
341
+ */
342
+ export interface IModuleCapabilityEventData extends IBaseModuleEventData {
343
+ action: 'registered' | 'updated' | 'removed';
344
+ capabilities: string[];
345
+ dependencies?: string[];
346
+ }
347
+ /**
348
+ * Module health event data (for monitoring and diagnostics)
349
+ */
350
+ export interface IModuleHealthEventData extends IBaseModuleEventData {
351
+ status: 'healthy' | 'warning' | 'error' | 'critical';
352
+ metrics: {
353
+ memoryUsage?: number;
354
+ cpuUsage?: number;
355
+ executionCount?: number;
356
+ errorCount?: number;
357
+ averageResponseTime?: number;
358
+ };
359
+ issues?: Array<{
360
+ severity: 'low' | 'medium' | 'high' | 'critical';
361
+ message: string;
362
+ code?: string;
363
+ }>;
364
+ }
365
+ //# sourceMappingURL=abstract-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-module.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-module.ts"],"names":[],"mappings":"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"}