@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,14 @@
1
+ /**
2
+ * FunctionTool - Type definitions for Facade pattern implementation
3
+ *
4
+ * REASON: Complex Zod schema type compatibility requires separation of concerns
5
+ * ALTERNATIVES_CONSIDERED:
6
+ * 1. Fix all Zod undefined issues in single file (creates maintenance burden)
7
+ * 2. Use any types strategically (reduces type safety)
8
+ * 3. Remove Zod support entirely (breaks existing functionality)
9
+ * 4. Create complex conditional types (adds cognitive overhead)
10
+ * 5. Use type assertions everywhere (increases runtime risk)
11
+ * NOTE: Tool functionality is now integrated into @robota-sdk/agents package
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tools/implementations/function-tool/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,49 @@
1
+ import type { IFunctionTool, IToolResult, IToolExecutionContext, IParameterValidationResult, TToolExecutor, TToolParameters } from '../../interfaces/tool';
2
+ import type { IToolSchema } from '../../interfaces/provider';
3
+ import { AbstractTool, type IAbstractToolOptions } from '../../abstracts/abstract-tool';
4
+ import type { IZodSchema } from './function-tool/types';
5
+ /**
6
+ * Function tool implementation
7
+ * Wraps a JavaScript function as a tool with schema validation
8
+ *
9
+ * @extends AbstractTool<TToolParameters, ToolResult>
10
+ */
11
+ export declare class FunctionTool extends AbstractTool<TToolParameters, IToolResult> implements IFunctionTool {
12
+ readonly schema: IToolSchema;
13
+ readonly fn: TToolExecutor;
14
+ constructor(schema: IToolSchema, fn: TToolExecutor, options?: IAbstractToolOptions);
15
+ /**
16
+ * Execute the function tool implementation
17
+ * This method is called by the parent's Template Method Pattern
18
+ */
19
+ protected executeImpl(parameters: TToolParameters, context?: IToolExecutionContext): Promise<IToolResult>;
20
+ /**
21
+ * Enhanced validation with detailed error reporting
22
+ */
23
+ validate(parameters: TToolParameters): boolean;
24
+ /**
25
+ * Validate tool parameters with detailed result
26
+ */
27
+ validateParameters(parameters: TToolParameters): IParameterValidationResult;
28
+ /**
29
+ * Get detailed validation errors
30
+ */
31
+ private getValidationErrors;
32
+ /**
33
+ * Validate individual parameter type
34
+ */
35
+ private validateParameterType;
36
+ /**
37
+ * Validate constructor inputs
38
+ */
39
+ private validateConstructorInputs;
40
+ }
41
+ /**
42
+ * Helper function to create a function tool from a simple function
43
+ */
44
+ export declare function createFunctionTool(name: string, description: string, parameters: IToolSchema['parameters'], fn: TToolExecutor): FunctionTool;
45
+ /**
46
+ * Helper function to create a function tool from Zod schema
47
+ */
48
+ export declare function createZodFunctionTool(name: string, description: string, zodSchema: IZodSchema, fn: TToolExecutor, options?: IAbstractToolOptions): FunctionTool;
49
+ //# sourceMappingURL=function-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/function-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3J,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAKxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKxD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC,eAAe,EAAE,WAAW,CAAE,YAAW,aAAa;IACjG,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;gBAEf,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,GAAE,oBAAyB;IAOtF;;;OAGG;cACa,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4D/G;;OAEG;IACM,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO;IAIvD;;OAEG;IACM,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,0BAA0B;IAQpF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiE7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAapC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,EACrC,EAAE,EAAE,aAAa,GAClB,YAAY,CAQd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,UAAU,EACrB,EAAE,EAAE,aAAa,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC/B,YAAY,CAwBd"}
@@ -0,0 +1,223 @@
1
+ import { AbstractTool } from '../../abstracts/abstract-tool';
2
+ import { ToolExecutionError, ValidationError } from '../../utils/errors';
3
+ import { zodToJsonSchema } from './function-tool/schema-converter';
4
+ // Zod type definitions moved to Facade pattern modules
5
+ /**
6
+ * Function tool implementation
7
+ * Wraps a JavaScript function as a tool with schema validation
8
+ *
9
+ * @extends AbstractTool<TToolParameters, ToolResult>
10
+ */
11
+ export class FunctionTool extends AbstractTool {
12
+ schema;
13
+ fn;
14
+ constructor(schema, fn, options = {}) {
15
+ super(options);
16
+ this.schema = schema;
17
+ this.fn = fn;
18
+ this.validateConstructorInputs();
19
+ }
20
+ /**
21
+ * Execute the function tool implementation
22
+ * This method is called by the parent's Template Method Pattern
23
+ */
24
+ async executeImpl(parameters, context) {
25
+ const toolName = this.schema.name;
26
+ try {
27
+ // Validate parameters
28
+ if (!this.validate(parameters)) {
29
+ const errors = this.getValidationErrors(parameters);
30
+ throw new ValidationError(`Invalid parameters for tool "${toolName}": ${errors.join(', ')}`);
31
+ }
32
+ this.logger.debug(`Executing function tool "${toolName}"`, {
33
+ toolName,
34
+ parameterCount: Object.keys(parameters || {}).length,
35
+ hasContext: !!context
36
+ });
37
+ // Execute the function
38
+ const startTime = Date.now();
39
+ const result = await this.fn(parameters, context);
40
+ const executionTime = Date.now() - startTime;
41
+ this.logger.debug(`Function tool "${toolName}" executed successfully`, {
42
+ toolName,
43
+ executionTime,
44
+ resultType: typeof result
45
+ });
46
+ return {
47
+ success: true,
48
+ data: result,
49
+ metadata: {
50
+ executionTime,
51
+ toolName,
52
+ parameters
53
+ }
54
+ };
55
+ }
56
+ catch (error) {
57
+ this.logger.error(`Function tool "${toolName}" execution failed`, {
58
+ toolName,
59
+ error: error instanceof Error ? error.message : String(error),
60
+ parameters
61
+ });
62
+ if (error instanceof ToolExecutionError || error instanceof ValidationError) {
63
+ throw error;
64
+ }
65
+ throw new ToolExecutionError(`Function tool execution failed: ${error instanceof Error ? error.message : String(error)}`, toolName, error instanceof Error ? error : new Error(String(error)), {
66
+ parameterCount: Object.keys(parameters || {}).length,
67
+ hasContext: !!context
68
+ });
69
+ }
70
+ }
71
+ /**
72
+ * Enhanced validation with detailed error reporting
73
+ */
74
+ validate(parameters) {
75
+ return this.getValidationErrors(parameters).length === 0;
76
+ }
77
+ /**
78
+ * Validate tool parameters with detailed result
79
+ */
80
+ validateParameters(parameters) {
81
+ const errors = this.getValidationErrors(parameters);
82
+ return {
83
+ isValid: errors.length === 0,
84
+ errors
85
+ };
86
+ }
87
+ /**
88
+ * Get detailed validation errors
89
+ */
90
+ getValidationErrors(parameters) {
91
+ const errors = [];
92
+ const required = this.schema.parameters.required || [];
93
+ const properties = this.schema.parameters.properties || {};
94
+ // Check required parameters
95
+ for (const field of required) {
96
+ if (!(field in parameters)) {
97
+ errors.push(`Missing required parameter: ${field}`);
98
+ }
99
+ }
100
+ // Check parameter types and constraints
101
+ for (const [key, value] of Object.entries(parameters)) {
102
+ const paramSchema = properties[key];
103
+ if (!paramSchema) {
104
+ errors.push(`Unknown parameter: ${key}`);
105
+ continue;
106
+ }
107
+ const typeError = this.validateParameterType(key, value, paramSchema);
108
+ if (typeError) {
109
+ errors.push(typeError);
110
+ }
111
+ }
112
+ return errors;
113
+ }
114
+ /**
115
+ * Validate individual parameter type
116
+ */
117
+ validateParameterType(key, value, schema) {
118
+ const expectedType = schema['type'];
119
+ switch (expectedType) {
120
+ case 'string':
121
+ if (typeof value !== 'string') {
122
+ return `Parameter "${key}" must be a string, got ${typeof value}`;
123
+ }
124
+ break;
125
+ case 'number':
126
+ if (typeof value !== 'number' || isNaN(value)) {
127
+ return `Parameter "${key}" must be a number, got ${typeof value}`;
128
+ }
129
+ break;
130
+ case 'boolean':
131
+ if (typeof value !== 'boolean') {
132
+ return `Parameter "${key}" must be a boolean, got ${typeof value}`;
133
+ }
134
+ break;
135
+ case 'array':
136
+ if (!Array.isArray(value)) {
137
+ return `Parameter "${key}" must be an array, got ${typeof value}`;
138
+ }
139
+ // Check array items if specified
140
+ if (schema.items) {
141
+ for (let i = 0; i < value.length; i++) {
142
+ const itemError = this.validateParameterType(`${key}[${i}]`, value[i], schema.items);
143
+ if (itemError) {
144
+ return itemError;
145
+ }
146
+ }
147
+ }
148
+ break;
149
+ case 'object':
150
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
151
+ return `Parameter "${key}" must be an object, got ${typeof value}`;
152
+ }
153
+ break;
154
+ }
155
+ // Check enum constraints
156
+ if (schema.enum && schema.enum.length > 0) {
157
+ const enumValues = schema.enum;
158
+ let isValidEnum = false;
159
+ // Type-safe enum checking based on JSONSchemaEnum type
160
+ for (const enumValue of enumValues) {
161
+ if (value === enumValue) {
162
+ isValidEnum = true;
163
+ break;
164
+ }
165
+ }
166
+ if (!isValidEnum) {
167
+ return `Parameter "${key}" must be one of: ${enumValues.join(', ')}, got ${value}`;
168
+ }
169
+ }
170
+ return null;
171
+ }
172
+ /**
173
+ * Validate constructor inputs
174
+ */
175
+ validateConstructorInputs() {
176
+ if (!this.schema) {
177
+ throw new ValidationError('Tool schema is required');
178
+ }
179
+ if (!this.fn || typeof this.fn !== 'function') {
180
+ throw new ValidationError('Tool function is required and must be a function');
181
+ }
182
+ if (!this.schema.name) {
183
+ throw new ValidationError('Tool schema must have a name');
184
+ }
185
+ }
186
+ }
187
+ /**
188
+ * Helper function to create a function tool from a simple function
189
+ */
190
+ export function createFunctionTool(name, description, parameters, fn) {
191
+ const schema = {
192
+ name,
193
+ description,
194
+ parameters
195
+ };
196
+ return new FunctionTool(schema, fn);
197
+ }
198
+ /**
199
+ * Helper function to create a function tool from Zod schema
200
+ */
201
+ export function createZodFunctionTool(name, description, zodSchema, fn, options) {
202
+ // Use comprehensive Zod to JSON schema conversion
203
+ const parameters = zodToJsonSchema(zodSchema);
204
+ const schema = {
205
+ name,
206
+ description,
207
+ parameters
208
+ };
209
+ // Wrap the function with validation and ensure proper parameter handling
210
+ const wrappedFn = async (parameters, context) => {
211
+ // Use Zod for runtime validation
212
+ const parseResult = zodSchema.safeParse(parameters);
213
+ if (!parseResult.success) {
214
+ throw new ValidationError(`Zod validation failed: ${parseResult.error}`);
215
+ }
216
+ const result = await fn(parseResult.data || parameters, context);
217
+ // Ensure result is always a string for consistency with core package
218
+ return typeof result === 'string' ? result : JSON.stringify(result);
219
+ };
220
+ return new FunctionTool(schema, wrappedFn, options);
221
+ }
222
+ // zodToJsonSchema function moved to Facade pattern schema-converter module
223
+ //# sourceMappingURL=function-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-tool.js","sourceRoot":"","sources":["../../../src/tools/implementations/function-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './function-tool';
2
+ export * from './openapi-tool';
3
+ export * from './mcp-tool';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ // Tool implementation exports
2
+ export * from './function-tool';
3
+ export * from './openapi-tool';
4
+ export * from './mcp-tool';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/implementations/index.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,72 @@
1
+ import type { ITool, IToolResult, IToolExecutionContext, TToolParameters } from '../../interfaces/tool';
2
+ import type { IToolSchema } from '../../interfaces/provider';
3
+ import { AbstractTool, type IAbstractToolOptions } from '../../abstracts/abstract-tool';
4
+ /**
5
+ * MCP (Model Context Protocol) tool configuration
6
+ */
7
+ export interface IMCPConfig {
8
+ endpoint: string;
9
+ apiKey?: string;
10
+ timeout?: number;
11
+ retries?: number;
12
+ headers?: Record<string, string>;
13
+ }
14
+ /**
15
+ * MCP connection status
16
+ */
17
+ type TMCPConnectionStatus = 'connected' | 'disconnected' | 'connecting' | 'disconnecting' | 'error';
18
+ /**
19
+ * MCP tool execution result (domain payload).
20
+ *
21
+ * NOTE:
22
+ * Tool result payloads must conform to the canonical UniversalValue axis.
23
+ * We return a plain object (IUniversalObjectValue) so downstream consumers can safely
24
+ * store/serialize it without `any`/`unknown`.
25
+ */
26
+ /**
27
+ * MCP (Model Context Protocol) tool implementation
28
+ * Executes tools via the Model Context Protocol
29
+ *
30
+ * @extends AbstractTool<TToolParameters, IToolResult>
31
+ */
32
+ export declare class MCPTool extends AbstractTool<TToolParameters, IToolResult> implements ITool {
33
+ readonly schema: IToolSchema;
34
+ private readonly mcpConfig;
35
+ private connectionStatus;
36
+ constructor(config: IMCPConfig, schema: IToolSchema, options?: IAbstractToolOptions);
37
+ /**
38
+ * Execute the MCP tool implementation
39
+ * This method is called by the parent's Template Method Pattern
40
+ */
41
+ protected executeImpl(parameters: TToolParameters, _context?: IToolExecutionContext): Promise<IToolResult>;
42
+ /**
43
+ * Ensure MCP connection is established
44
+ */
45
+ private ensureConnection;
46
+ /**
47
+ * Build MCP request from tool parameters
48
+ */
49
+ private buildMCPRequest;
50
+ /**
51
+ * Execute MCP request and return response
52
+ */
53
+ private executeMCPRequest;
54
+ /**
55
+ * Process MCP response and extract execution result
56
+ */
57
+ private processMCPResponse;
58
+ /**
59
+ * Get current connection status
60
+ */
61
+ getConnectionStatus(): TMCPConnectionStatus;
62
+ /**
63
+ * Disconnect from MCP server
64
+ */
65
+ disconnect(): Promise<void>;
66
+ }
67
+ /**
68
+ * Factory function to create MCP tools
69
+ */
70
+ export declare function createMCPTool(config: IMCPConfig, schema: IToolSchema, options?: IAbstractToolOptions): MCPTool;
71
+ export {};
72
+ //# sourceMappingURL=mcp-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/mcp-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAIxF;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAqCD;;GAEG;AACH,KAAK,oBAAoB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpG;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,qBAAa,OAAQ,SAAQ,YAAY,CAAC,eAAe,EAAE,WAAW,CAAE,YAAW,KAAK;IACpF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,gBAAgB,CAAwC;gBAEpD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,oBAAyB;IAUvF;;;OAGG;cACa,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0EhH;;OAEG;YACW,gBAAgB;IAkC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;YACW,iBAAiB;IAuC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACI,mBAAmB,IAAI,oBAAoB;IAIlD;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB3C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAElH"}
@@ -0,0 +1,246 @@
1
+ import { AbstractTool } from '../../abstracts/abstract-tool';
2
+ import { ToolExecutionError, ValidationError } from '../../utils/errors';
3
+ /**
4
+ * MCP tool execution result (domain payload).
5
+ *
6
+ * NOTE:
7
+ * Tool result payloads must conform to the canonical UniversalValue axis.
8
+ * We return a plain object (IUniversalObjectValue) so downstream consumers can safely
9
+ * store/serialize it without `any`/`unknown`.
10
+ */
11
+ /**
12
+ * MCP (Model Context Protocol) tool implementation
13
+ * Executes tools via the Model Context Protocol
14
+ *
15
+ * @extends AbstractTool<TToolParameters, IToolResult>
16
+ */
17
+ export class MCPTool extends AbstractTool {
18
+ schema;
19
+ mcpConfig;
20
+ connectionStatus = 'disconnected';
21
+ constructor(config, schema, options = {}) {
22
+ super(options);
23
+ this.mcpConfig = {
24
+ timeout: 30000,
25
+ retries: 3,
26
+ ...config
27
+ };
28
+ this.schema = schema;
29
+ }
30
+ /**
31
+ * Execute the MCP tool implementation
32
+ * This method is called by the parent's Template Method Pattern
33
+ */
34
+ async executeImpl(parameters, _context) {
35
+ const toolName = this.schema.name;
36
+ const startTime = Date.now();
37
+ try {
38
+ this.logger.debug(`Executing MCP tool "${toolName}"`, {
39
+ toolName,
40
+ parametersCount: Object.keys(parameters || {}).length,
41
+ endpoint: this.mcpConfig.endpoint,
42
+ connectionStatus: this.connectionStatus
43
+ });
44
+ // Check connection status
45
+ if (this.connectionStatus !== 'connected') {
46
+ await this.ensureConnection();
47
+ }
48
+ // Build MCP request
49
+ const mcpRequest = this.buildMCPRequest(toolName, parameters);
50
+ // Execute MCP call
51
+ const mcpResponse = await this.executeMCPRequest(mcpRequest);
52
+ // Process response
53
+ const executionResult = this.processMCPResponse(mcpResponse);
54
+ const executionTime = Date.now() - startTime;
55
+ this.logger.debug(`MCP tool "${toolName}" executed successfully`, {
56
+ toolName,
57
+ executionTime,
58
+ connectionStatus: this.connectionStatus
59
+ });
60
+ return {
61
+ success: true,
62
+ data: executionResult,
63
+ metadata: {
64
+ executionTime,
65
+ toolName,
66
+ endpoint: this.mcpConfig.endpoint,
67
+ connectionStatus: this.connectionStatus
68
+ }
69
+ };
70
+ }
71
+ catch (error) {
72
+ const executionTime = Date.now() - startTime;
73
+ const safeError = error instanceof Error ? error : new Error(String(error));
74
+ this.logger.error(`MCP tool "${toolName}" execution failed`, {
75
+ toolName,
76
+ executionTime,
77
+ connectionStatus: this.connectionStatus,
78
+ error: safeError,
79
+ parameters
80
+ });
81
+ if (error instanceof ToolExecutionError || error instanceof ValidationError) {
82
+ throw error;
83
+ }
84
+ throw new ToolExecutionError(`MCP tool execution failed: ${safeError.message}`, toolName, safeError, {
85
+ executionTime,
86
+ endpoint: this.mcpConfig.endpoint,
87
+ connectionStatus: this.connectionStatus,
88
+ parametersCount: Object.keys(parameters || {}).length
89
+ });
90
+ }
91
+ }
92
+ /**
93
+ * Ensure MCP connection is established
94
+ */
95
+ async ensureConnection() {
96
+ if (this.connectionStatus === 'connecting') {
97
+ // Wait for existing connection attempt
98
+ return new Promise((resolve) => {
99
+ const checkConnection = () => {
100
+ if (this.connectionStatus !== 'connecting') {
101
+ resolve();
102
+ }
103
+ else {
104
+ setTimeout(checkConnection, 100);
105
+ }
106
+ };
107
+ checkConnection();
108
+ });
109
+ }
110
+ this.connectionStatus = 'connecting';
111
+ try {
112
+ // TODO: Implement actual MCP connection logic
113
+ // This would typically involve WebSocket or HTTP connection
114
+ this.logger.debug('Establishing MCP connection', { endpoint: this.mcpConfig.endpoint });
115
+ // Simulate connection delay
116
+ await new Promise(resolve => setTimeout(resolve, 100));
117
+ this.connectionStatus = 'connected';
118
+ this.logger.debug('MCP connection established', { endpoint: this.mcpConfig.endpoint });
119
+ }
120
+ catch (error) {
121
+ this.connectionStatus = 'error';
122
+ throw new Error(`Failed to connect to MCP server: ${error instanceof Error ? error.message : String(error)}`);
123
+ }
124
+ }
125
+ /**
126
+ * Build MCP request from tool parameters
127
+ */
128
+ buildMCPRequest(toolName, parameters) {
129
+ const requestId = `${toolName}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
130
+ const mcpParams = {
131
+ tool: toolName,
132
+ arguments: parameters
133
+ };
134
+ // Add metadata if configured
135
+ if (this.mcpConfig.headers) {
136
+ mcpParams.metadata = this.mcpConfig.headers;
137
+ }
138
+ return {
139
+ jsonrpc: '2.0',
140
+ id: requestId,
141
+ method: 'tools/call',
142
+ params: mcpParams
143
+ };
144
+ }
145
+ /**
146
+ * Execute MCP request and return response
147
+ */
148
+ async executeMCPRequest(request) {
149
+ try {
150
+ // TODO: Implement actual MCP protocol communication
151
+ // This would typically use WebSocket or HTTP POST to the MCP server
152
+ this.logger.debug('Sending MCP request', {
153
+ endpoint: this.mcpConfig.endpoint,
154
+ method: request.method,
155
+ id: request.id
156
+ });
157
+ // Simulate MCP response for now
158
+ const mockResponse = {
159
+ jsonrpc: '2.0',
160
+ id: request.id,
161
+ result: {
162
+ content: `MCP tool "${request.params?.tool}" executed with parameters: ${JSON.stringify(request.params?.arguments)}`,
163
+ metadata: {
164
+ timestamp: new Date().toISOString(),
165
+ server: this.mcpConfig.endpoint
166
+ }
167
+ }
168
+ };
169
+ return mockResponse;
170
+ }
171
+ catch (error) {
172
+ // Return error response in MCP format
173
+ return {
174
+ jsonrpc: '2.0',
175
+ id: request.id,
176
+ error: {
177
+ code: -32603, // Internal error
178
+ message: error instanceof Error ? error.message : String(error),
179
+ data: { endpoint: this.mcpConfig.endpoint }
180
+ }
181
+ };
182
+ }
183
+ }
184
+ /**
185
+ * Process MCP response and extract execution result
186
+ */
187
+ processMCPResponse(response) {
188
+ if (response.error) {
189
+ const errorData = {
190
+ success: false,
191
+ content: response.error.message,
192
+ metadata: response.error.data ?? undefined
193
+ };
194
+ return errorData;
195
+ }
196
+ if (response.result) {
197
+ const okData = {
198
+ success: true,
199
+ content: response.result.content,
200
+ metadata: response.result.metadata ?? undefined
201
+ };
202
+ return okData;
203
+ }
204
+ // Unexpected response format
205
+ const unexpected = {
206
+ success: false,
207
+ content: 'Unexpected MCP response format',
208
+ metadata: { responseId: String(response.id) }
209
+ };
210
+ return unexpected;
211
+ }
212
+ /**
213
+ * Get current connection status
214
+ */
215
+ getConnectionStatus() {
216
+ return this.connectionStatus;
217
+ }
218
+ /**
219
+ * Disconnect from MCP server
220
+ */
221
+ async disconnect() {
222
+ if (this.connectionStatus === 'connected') {
223
+ this.connectionStatus = 'disconnecting';
224
+ try {
225
+ // TODO: Implement actual disconnection logic
226
+ this.logger.debug('Disconnecting from MCP server', { endpoint: this.mcpConfig.endpoint });
227
+ this.connectionStatus = 'disconnected';
228
+ this.logger.debug('Disconnected from MCP server', { endpoint: this.mcpConfig.endpoint });
229
+ }
230
+ catch (error) {
231
+ this.connectionStatus = 'error';
232
+ this.logger.error('Error disconnecting from MCP server', {
233
+ endpoint: this.mcpConfig.endpoint,
234
+ error: error instanceof Error ? error.message : String(error)
235
+ });
236
+ }
237
+ }
238
+ }
239
+ }
240
+ /**
241
+ * Factory function to create MCP tools
242
+ */
243
+ export function createMCPTool(config, schema, options = {}) {
244
+ return new MCPTool(config, schema, options);
245
+ }
246
+ //# sourceMappingURL=mcp-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../../src/tools/implementations/mcp-tool.ts"],"names":[],"mappings":"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"}