@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,252 @@
1
+ /**
2
+ * Abstract Workflow Converter
3
+ *
4
+ * Abstract base class for all workflow converters in the Robota SDK.
5
+ * Uses an enabled flag + injected logger pattern.
6
+ *
7
+ * @template TInput - Input workflow data type
8
+ * @template TOutput - Output workflow data type
9
+ */
10
+ import { SilentLogger } from '../utils/logger';
11
+ /**
12
+ * Base Workflow Converter Abstract Class
13
+ *
14
+ * Provides common functionality for all workflow converters:
15
+ * - Statistics tracking
16
+ * - Logging with dependency injection
17
+ * - Error handling and validation
18
+ * - Performance monitoring
19
+ * - Enable/disable functionality
20
+ *
21
+ * @template TInput - Input workflow data type
22
+ * @template TOutput - Output workflow data type
23
+ */
24
+ export class AbstractWorkflowConverter {
25
+ /** Enable/disable state */
26
+ enabled;
27
+ /** Logger instance with dependency injection */
28
+ logger;
29
+ /** Converter configuration */
30
+ config;
31
+ /** Statistics tracking */
32
+ stats = {
33
+ totalConversions: 0,
34
+ successfulConversions: 0,
35
+ failedConversions: 0,
36
+ totalProcessingTime: 0
37
+ };
38
+ /**
39
+ * Constructor
40
+ *
41
+ * @param options - Converter configuration options
42
+ */
43
+ constructor(options = {}) {
44
+ this.enabled = options.enabled ?? true;
45
+ this.logger = options.logger || SilentLogger;
46
+ this.config = options.config || {};
47
+ this.logger.debug(`${this.constructor.name} initialized`, {
48
+ enabled: this.enabled
49
+ });
50
+ }
51
+ /**
52
+ * Main conversion method with comprehensive error handling and metrics
53
+ *
54
+ * @param input - Input workflow data
55
+ * @param options - Conversion options
56
+ * @returns Promise resolving to conversion result
57
+ */
58
+ async convert(input, options = {}) {
59
+ if (!this.enabled) {
60
+ throw new Error(`Converter ${this.name} is disabled`);
61
+ }
62
+ const startTime = Date.now();
63
+ const logger = options.logger || this.logger;
64
+ logger.debug(`Starting conversion from ${this.sourceFormat} to ${this.targetFormat}`);
65
+ try {
66
+ // Update statistics
67
+ this.stats.totalConversions++;
68
+ // Validate input if requested
69
+ if (options.validateInput) {
70
+ const inputValidation = await this.validateInput(input);
71
+ if (!inputValidation.isValid) {
72
+ this.stats.failedConversions++;
73
+ return this.createFailureResult(inputValidation.errors, inputValidation.warnings, startTime, input, logger);
74
+ }
75
+ }
76
+ // Perform the actual conversion (implemented by subclass)
77
+ const convertedData = await this.performConversion(input, options);
78
+ // Validate output if requested
79
+ if (options.validateOutput) {
80
+ const outputValidation = await this.validateOutput(convertedData);
81
+ if (!outputValidation.isValid) {
82
+ this.stats.failedConversions++;
83
+ return this.createFailureResult(outputValidation.errors, outputValidation.warnings, startTime, input, logger);
84
+ }
85
+ }
86
+ // Create success result
87
+ const result = this.createSuccessResult(convertedData, startTime, input, options);
88
+ // Update statistics
89
+ this.stats.successfulConversions++;
90
+ this.stats.totalProcessingTime += result.metadata.processingTime;
91
+ this.stats.lastConversionAt = result.metadata.convertedAt;
92
+ logger.debug(`Conversion completed successfully`, {
93
+ processingTime: result.metadata.processingTime,
94
+ inputNodes: result.metadata.inputStats.nodeCount,
95
+ outputNodes: result.metadata.outputStats.nodeCount
96
+ });
97
+ return result;
98
+ }
99
+ catch (error) {
100
+ this.stats.failedConversions++;
101
+ const processingTime = Date.now() - startTime;
102
+ logger.error(`Conversion failed`, {
103
+ error: error instanceof Error ? error.message : String(error),
104
+ processingTime
105
+ });
106
+ return this.createFailureResult([error instanceof Error ? error.message : String(error)], [], startTime, input, logger);
107
+ }
108
+ }
109
+ /**
110
+ * Default input validation (can be overridden by subclasses)
111
+ *
112
+ * @param input - Input workflow data
113
+ * @returns Promise resolving to validation result
114
+ */
115
+ async validateInput(input) {
116
+ // Basic null/undefined check
117
+ if (input == null) {
118
+ return {
119
+ isValid: false,
120
+ errors: ['Input data is null or undefined'],
121
+ warnings: []
122
+ };
123
+ }
124
+ // Subclasses should override for specific validation
125
+ return {
126
+ isValid: true,
127
+ errors: [],
128
+ warnings: []
129
+ };
130
+ }
131
+ /**
132
+ * Default output validation (can be overridden by subclasses)
133
+ *
134
+ * @param output - Output workflow data
135
+ * @returns Promise resolving to validation result
136
+ */
137
+ async validateOutput(output) {
138
+ // Basic null/undefined check
139
+ if (output == null) {
140
+ return {
141
+ isValid: false,
142
+ errors: ['Output data is null or undefined'],
143
+ warnings: []
144
+ };
145
+ }
146
+ // Subclasses should override for specific validation
147
+ return {
148
+ isValid: true,
149
+ errors: [],
150
+ warnings: []
151
+ };
152
+ }
153
+ /**
154
+ * Default implementation for checking if converter can handle input
155
+ * Should be overridden by subclasses for specific type checking
156
+ *
157
+ * @param input - Input data to check
158
+ * @returns True if converter can handle this input
159
+ */
160
+ canConvert(input) {
161
+ // Basic existence check - subclasses should provide more specific logic
162
+ return input != null;
163
+ }
164
+ /**
165
+ * Get converter statistics
166
+ *
167
+ * @returns Converter performance metrics
168
+ */
169
+ getStats() {
170
+ return {
171
+ totalConversions: this.stats.totalConversions,
172
+ successfulConversions: this.stats.successfulConversions,
173
+ failedConversions: this.stats.failedConversions,
174
+ averageProcessingTime: this.stats.totalConversions > 0
175
+ ? this.stats.totalProcessingTime / this.stats.totalConversions
176
+ : 0,
177
+ lastConversionAt: this.stats.lastConversionAt
178
+ };
179
+ }
180
+ /**
181
+ * Reset converter statistics
182
+ */
183
+ resetStats() {
184
+ this.stats = {
185
+ totalConversions: 0,
186
+ successfulConversions: 0,
187
+ failedConversions: 0,
188
+ totalProcessingTime: 0
189
+ };
190
+ this.logger.debug(`Statistics reset for converter ${this.name}`);
191
+ }
192
+ /**
193
+ * Create success result with metadata
194
+ */
195
+ createSuccessResult(data, startTime, input, options) {
196
+ const now = new Date();
197
+ const processingTime = now.getTime() - startTime;
198
+ return {
199
+ data,
200
+ success: true,
201
+ errors: [],
202
+ warnings: [],
203
+ metadata: {
204
+ convertedAt: now,
205
+ processingTime,
206
+ inputStats: this.getDataStats(input),
207
+ outputStats: this.getDataStats(data),
208
+ converter: this.name,
209
+ version: this.version,
210
+ ...(options.includeDebug ? { options } : {})
211
+ }
212
+ };
213
+ }
214
+ /**
215
+ * Create failure result with error information
216
+ */
217
+ createFailureResult(errors, warnings, startTime, input, _logger) {
218
+ const now = new Date();
219
+ const processingTime = now.getTime() - startTime;
220
+ return {
221
+ data: null,
222
+ success: false,
223
+ errors,
224
+ warnings,
225
+ metadata: {
226
+ convertedAt: now,
227
+ processingTime,
228
+ inputStats: this.getDataStats(input),
229
+ outputStats: { nodeCount: 0, edgeCount: 0 },
230
+ converter: this.name,
231
+ version: this.version
232
+ }
233
+ };
234
+ }
235
+ /**
236
+ * Extract basic statistics from workflow data
237
+ * Can be overridden by subclasses for specific data formats
238
+ */
239
+ getDataStats(data) {
240
+ if (!data) {
241
+ return { nodeCount: 0, edgeCount: 0 };
242
+ }
243
+ // Try to extract node and edge counts from common properties
244
+ const nodeCount = Array.isArray(data.nodes) ? data.nodes.length :
245
+ Array.isArray(data.node) ? data.node.length : 0;
246
+ const edgeCount = Array.isArray(data.edges) ? data.edges.length :
247
+ Array.isArray(data.connections) ? data.connections.length :
248
+ Array.isArray(data.edge) ? data.edge.length : 0;
249
+ return { nodeCount, edgeCount };
250
+ }
251
+ }
252
+ //# sourceMappingURL=abstract-workflow-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-workflow-converter.js","sourceRoot":"","sources":["../../src/abstracts/abstract-workflow-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * Abstract Workflow Validator
3
+ *
4
+ * Abstract base class for all workflow validators in the Robota SDK.
5
+ * Uses an enabled flag + injected logger pattern.
6
+ *
7
+ * @template TWorkflowData - Type of workflow data to validate
8
+ */
9
+ import { IWorkflowValidator, IValidationOptions, IValidationResult, IValidationIssue, ValidationSeverity } from '../interfaces/workflow-validator';
10
+ import type { IWorkflowData, IWorkflowConfig } from '../interfaces/workflow-converter';
11
+ import type { ILogger } from '../utils/logger';
12
+ /**
13
+ * Validator options (enabled flag + injected logger).
14
+ */
15
+ export interface IBaseWorkflowValidatorOptions {
16
+ /** Enable/disable the validator */
17
+ enabled?: boolean;
18
+ /** Custom logger instance */
19
+ logger?: ILogger;
20
+ /** Validator-specific configuration */
21
+ config?: IWorkflowConfig;
22
+ /** Default validation options */
23
+ defaultOptions?: Partial<IValidationOptions>;
24
+ }
25
+ /**
26
+ * Validation rule configuration
27
+ */
28
+ interface IValidationRuleConfig {
29
+ enabled: boolean;
30
+ description: string;
31
+ severity: ValidationSeverity;
32
+ category: string;
33
+ }
34
+ /**
35
+ * Base Workflow Validator Abstract Class
36
+ *
37
+ * Provides common functionality for all workflow validators:
38
+ * - Statistics tracking
39
+ * - Logging with dependency injection
40
+ * - Rule management and configuration
41
+ * - Performance monitoring
42
+ * - Enable/disable functionality
43
+ * - Common validation utilities
44
+ *
45
+ * @template TWorkflowData - Type of workflow data to validate
46
+ */
47
+ export declare abstract class AbstractWorkflowValidator<TWorkflowData extends IWorkflowData> implements IWorkflowValidator<TWorkflowData> {
48
+ abstract readonly name: string;
49
+ abstract readonly version: string;
50
+ abstract readonly dataFormat: string;
51
+ abstract readonly availableRules: string[];
52
+ /** Enable/disable state */
53
+ enabled: boolean;
54
+ /** Logger instance with dependency injection */
55
+ protected readonly logger: ILogger;
56
+ /** Validator configuration */
57
+ protected readonly config: IWorkflowConfig;
58
+ /** Default validation options */
59
+ protected readonly defaultOptions: Partial<IValidationOptions>;
60
+ /** Rule configurations */
61
+ protected readonly ruleConfigs: Map<string, IValidationRuleConfig>;
62
+ /** Statistics tracking */
63
+ private stats;
64
+ /**
65
+ * Constructor
66
+ *
67
+ * @param options - Validator configuration options
68
+ */
69
+ constructor(options?: IBaseWorkflowValidatorOptions);
70
+ /**
71
+ * Main validation method with comprehensive error handling and metrics
72
+ *
73
+ * @param data - Workflow data to validate
74
+ * @param options - Validation options
75
+ * @returns Promise resolving to validation result
76
+ */
77
+ validate(data: TWorkflowData, options?: IValidationOptions): Promise<IValidationResult>;
78
+ /**
79
+ * Validate specific rule
80
+ *
81
+ * @param data - Workflow data to validate
82
+ * @param rule - Specific rule to apply
83
+ * @param options - Validation options
84
+ * @returns Promise resolving to validation result for this rule
85
+ */
86
+ validateRule(data: TWorkflowData, rule: string, options?: IValidationOptions): Promise<IValidationResult>;
87
+ /**
88
+ * Abstract method for performing individual rule validation
89
+ * Must be implemented by subclasses
90
+ *
91
+ * @param data - Workflow data to validate
92
+ * @param rule - Rule to validate
93
+ * @param options - Validation options
94
+ * @returns Promise resolving to rule validation result
95
+ */
96
+ protected abstract performRuleValidation(data: TWorkflowData, rule: string, options: IValidationOptions): Promise<{
97
+ issues: IValidationIssue[];
98
+ }>;
99
+ /**
100
+ * Abstract method for initializing rule configurations
101
+ * Must be implemented by subclasses
102
+ */
103
+ protected abstract initializeRuleConfigs(): void;
104
+ /**
105
+ * Default implementation for checking if validator can handle data
106
+ * Should be overridden by subclasses for specific type checking
107
+ *
108
+ * @param data - Data to check
109
+ * @returns True if validator can handle this data
110
+ */
111
+ canValidate(data: TWorkflowData): data is TWorkflowData;
112
+ /**
113
+ * Get available validation rules with descriptions
114
+ *
115
+ * @returns Map of rule names to descriptions
116
+ */
117
+ getRuleDescriptions(): Map<string, {
118
+ description: string;
119
+ severity: ValidationSeverity;
120
+ category: string;
121
+ enabled: boolean;
122
+ }>;
123
+ /**
124
+ * Enable or disable specific validation rules
125
+ *
126
+ * @param rules - Map of rule names to enabled status
127
+ */
128
+ configureRules(rules: Map<string, boolean>): void;
129
+ /**
130
+ * Default auto-recovery implementation
131
+ * Can be overridden by subclasses for specific recovery strategies
132
+ *
133
+ * @param data - Original workflow data
134
+ * @param issues - Validation issues to recover from
135
+ * @returns Promise resolving to recovered data and recovery result
136
+ */
137
+ autoRecover(data: TWorkflowData, issues: IValidationIssue[]): Promise<{
138
+ recoveredData: TWorkflowData;
139
+ recoveryResult: {
140
+ success: boolean;
141
+ issuesFixed: IValidationIssue[];
142
+ remainingIssues: IValidationIssue[];
143
+ appliedFixes: string[];
144
+ };
145
+ }>;
146
+ /**
147
+ * Get validator statistics
148
+ *
149
+ * @returns Validator performance metrics
150
+ */
151
+ getStats(): {
152
+ totalValidations: number;
153
+ successfulValidations: number;
154
+ failedValidations: number;
155
+ averageProcessingTime: number;
156
+ averageIssueCount: number;
157
+ mostCommonIssues: {
158
+ rule: string;
159
+ count: number;
160
+ severity: ValidationSeverity;
161
+ }[];
162
+ lastValidationAt: Date | undefined;
163
+ };
164
+ /**
165
+ * Reset validator statistics
166
+ */
167
+ resetStats(): void;
168
+ /**
169
+ * Get enabled rules based on options
170
+ */
171
+ private getEnabledRules;
172
+ /**
173
+ * Filter issues based on validation options
174
+ */
175
+ private filterIssues;
176
+ /**
177
+ * Create validation result with metadata
178
+ */
179
+ private createValidationResult;
180
+ /**
181
+ * Create failure result for validation errors
182
+ */
183
+ private createFailureResult;
184
+ /**
185
+ * Update statistics based on validation result
186
+ */
187
+ private updateStatistics;
188
+ /**
189
+ * Extract simple options representation for metadata
190
+ */
191
+ private extractSimpleOptions;
192
+ /**
193
+ * Extract simple data representation from workflow data for statistics
194
+ */
195
+ private extractSimpleData;
196
+ /**
197
+ * Extract basic statistics from workflow data
198
+ * Can be overridden by subclasses for specific data formats
199
+ */
200
+ protected getDataStats(data: Record<string, string | number | boolean>): Record<string, string | number | boolean>;
201
+ }
202
+ export {};
203
+ //# sourceMappingURL=abstract-workflow-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-workflow-validator.d.ts","sourceRoot":"","sources":["../../src/abstracts/abstract-workflow-validator.ts"],"names":[],"mappings":"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"}