@invect/core 0.0.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 (1349) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/dist/_virtual/_rolldown/runtime.cjs +33 -0
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/actions/action-executor.cjs +166 -0
  6. package/dist/actions/action-executor.cjs.map +1 -0
  7. package/dist/actions/action-executor.d.cts +33 -0
  8. package/dist/actions/action-executor.d.cts.map +1 -0
  9. package/dist/actions/action-executor.d.ts +33 -0
  10. package/dist/actions/action-executor.d.ts.map +1 -0
  11. package/dist/actions/action-executor.js +164 -0
  12. package/dist/actions/action-executor.js.map +1 -0
  13. package/dist/actions/action-registry.cjs +236 -0
  14. package/dist/actions/action-registry.cjs.map +1 -0
  15. package/dist/actions/action-registry.d.cts +58 -0
  16. package/dist/actions/action-registry.d.cts.map +1 -0
  17. package/dist/actions/action-registry.d.ts +58 -0
  18. package/dist/actions/action-registry.d.ts.map +1 -0
  19. package/dist/actions/action-registry.js +233 -0
  20. package/dist/actions/action-registry.js.map +1 -0
  21. package/dist/actions/core/if-else.cjs +111 -0
  22. package/dist/actions/core/if-else.cjs.map +1 -0
  23. package/dist/actions/core/if-else.d.cts +1 -0
  24. package/dist/actions/core/if-else.d.ts +1 -0
  25. package/dist/actions/core/if-else.js +98 -0
  26. package/dist/actions/core/if-else.js.map +1 -0
  27. package/dist/actions/core/index.cjs +20 -0
  28. package/dist/actions/core/index.cjs.map +1 -0
  29. package/dist/actions/core/index.d.cts +7 -0
  30. package/dist/actions/core/index.d.cts.map +1 -0
  31. package/dist/actions/core/index.d.ts +7 -0
  32. package/dist/actions/core/index.d.ts.map +1 -0
  33. package/dist/actions/core/index.js +20 -0
  34. package/dist/actions/core/index.js.map +1 -0
  35. package/dist/actions/core/input.cjs +73 -0
  36. package/dist/actions/core/input.cjs.map +1 -0
  37. package/dist/actions/core/input.d.cts +1 -0
  38. package/dist/actions/core/input.d.ts +1 -0
  39. package/dist/actions/core/input.js +72 -0
  40. package/dist/actions/core/input.js.map +1 -0
  41. package/dist/actions/core/javascript.cjs +77 -0
  42. package/dist/actions/core/javascript.cjs.map +1 -0
  43. package/dist/actions/core/javascript.d.cts +1 -0
  44. package/dist/actions/core/javascript.d.ts +1 -0
  45. package/dist/actions/core/javascript.js +62 -0
  46. package/dist/actions/core/javascript.js.map +1 -0
  47. package/dist/actions/core/model.cjs +285 -0
  48. package/dist/actions/core/model.cjs.map +1 -0
  49. package/dist/actions/core/model.d.cts +1 -0
  50. package/dist/actions/core/model.d.ts +1 -0
  51. package/dist/actions/core/model.js +276 -0
  52. package/dist/actions/core/model.js.map +1 -0
  53. package/dist/actions/core/output.cjs +66 -0
  54. package/dist/actions/core/output.cjs.map +1 -0
  55. package/dist/actions/core/output.d.cts +1 -0
  56. package/dist/actions/core/output.d.ts +1 -0
  57. package/dist/actions/core/output.js +57 -0
  58. package/dist/actions/core/output.js.map +1 -0
  59. package/dist/actions/core/template-string.cjs +85 -0
  60. package/dist/actions/core/template-string.cjs.map +1 -0
  61. package/dist/actions/core/template-string.d.cts +1 -0
  62. package/dist/actions/core/template-string.d.ts +1 -0
  63. package/dist/actions/core/template-string.js +76 -0
  64. package/dist/actions/core/template-string.js.map +1 -0
  65. package/dist/actions/define-action.cjs +14 -0
  66. package/dist/actions/define-action.cjs.map +1 -0
  67. package/dist/actions/define-action.d.cts +13 -0
  68. package/dist/actions/define-action.d.cts.map +1 -0
  69. package/dist/actions/define-action.d.ts +13 -0
  70. package/dist/actions/define-action.d.ts.map +1 -0
  71. package/dist/actions/define-action.js +14 -0
  72. package/dist/actions/define-action.js.map +1 -0
  73. package/dist/actions/github/add-issue-comment.cjs +152 -0
  74. package/dist/actions/github/add-issue-comment.cjs.map +1 -0
  75. package/dist/actions/github/add-issue-comment.d.cts +1 -0
  76. package/dist/actions/github/add-issue-comment.d.ts +1 -0
  77. package/dist/actions/github/add-issue-comment.js +150 -0
  78. package/dist/actions/github/add-issue-comment.js.map +1 -0
  79. package/dist/actions/github/create-branch.cjs +201 -0
  80. package/dist/actions/github/create-branch.cjs.map +1 -0
  81. package/dist/actions/github/create-branch.d.cts +1 -0
  82. package/dist/actions/github/create-branch.d.ts +1 -0
  83. package/dist/actions/github/create-branch.js +199 -0
  84. package/dist/actions/github/create-branch.js.map +1 -0
  85. package/dist/actions/github/create-issue.cjs +190 -0
  86. package/dist/actions/github/create-issue.cjs.map +1 -0
  87. package/dist/actions/github/create-issue.d.cts +1 -0
  88. package/dist/actions/github/create-issue.d.ts +1 -0
  89. package/dist/actions/github/create-issue.js +188 -0
  90. package/dist/actions/github/create-issue.js.map +1 -0
  91. package/dist/actions/github/create-or-update-file.cjs +216 -0
  92. package/dist/actions/github/create-or-update-file.cjs.map +1 -0
  93. package/dist/actions/github/create-or-update-file.d.cts +1 -0
  94. package/dist/actions/github/create-or-update-file.d.ts +1 -0
  95. package/dist/actions/github/create-or-update-file.js +214 -0
  96. package/dist/actions/github/create-or-update-file.js.map +1 -0
  97. package/dist/actions/github/create-pull-request.cjs +206 -0
  98. package/dist/actions/github/create-pull-request.cjs.map +1 -0
  99. package/dist/actions/github/create-pull-request.d.cts +1 -0
  100. package/dist/actions/github/create-pull-request.d.ts +1 -0
  101. package/dist/actions/github/create-pull-request.js +204 -0
  102. package/dist/actions/github/create-pull-request.js.map +1 -0
  103. package/dist/actions/github/create-release.cjs +218 -0
  104. package/dist/actions/github/create-release.cjs.map +1 -0
  105. package/dist/actions/github/create-release.d.cts +1 -0
  106. package/dist/actions/github/create-release.d.ts +1 -0
  107. package/dist/actions/github/create-release.js +216 -0
  108. package/dist/actions/github/create-release.js.map +1 -0
  109. package/dist/actions/github/get-file-content.cjs +164 -0
  110. package/dist/actions/github/get-file-content.cjs.map +1 -0
  111. package/dist/actions/github/get-file-content.d.cts +1 -0
  112. package/dist/actions/github/get-file-content.d.ts +1 -0
  113. package/dist/actions/github/get-file-content.js +162 -0
  114. package/dist/actions/github/get-file-content.js.map +1 -0
  115. package/dist/actions/github/get-issue.cjs +149 -0
  116. package/dist/actions/github/get-issue.cjs.map +1 -0
  117. package/dist/actions/github/get-issue.d.cts +1 -0
  118. package/dist/actions/github/get-issue.d.ts +1 -0
  119. package/dist/actions/github/get-issue.js +147 -0
  120. package/dist/actions/github/get-issue.js.map +1 -0
  121. package/dist/actions/github/get-pull-request.cjs +160 -0
  122. package/dist/actions/github/get-pull-request.cjs.map +1 -0
  123. package/dist/actions/github/get-pull-request.d.cts +1 -0
  124. package/dist/actions/github/get-pull-request.d.ts +1 -0
  125. package/dist/actions/github/get-pull-request.js +158 -0
  126. package/dist/actions/github/get-pull-request.js.map +1 -0
  127. package/dist/actions/github/get-repo.cjs +144 -0
  128. package/dist/actions/github/get-repo.cjs.map +1 -0
  129. package/dist/actions/github/get-repo.d.cts +1 -0
  130. package/dist/actions/github/get-repo.d.ts +1 -0
  131. package/dist/actions/github/get-repo.js +142 -0
  132. package/dist/actions/github/get-repo.js.map +1 -0
  133. package/dist/actions/github/index.cjs +48 -0
  134. package/dist/actions/github/index.cjs.map +1 -0
  135. package/dist/actions/github/index.d.cts +7 -0
  136. package/dist/actions/github/index.d.cts.map +1 -0
  137. package/dist/actions/github/index.d.ts +7 -0
  138. package/dist/actions/github/index.d.ts.map +1 -0
  139. package/dist/actions/github/index.js +48 -0
  140. package/dist/actions/github/index.js.map +1 -0
  141. package/dist/actions/github/list-branches.cjs +149 -0
  142. package/dist/actions/github/list-branches.cjs.map +1 -0
  143. package/dist/actions/github/list-branches.d.cts +1 -0
  144. package/dist/actions/github/list-branches.d.ts +1 -0
  145. package/dist/actions/github/list-branches.js +147 -0
  146. package/dist/actions/github/list-branches.js.map +1 -0
  147. package/dist/actions/github/list-commits.cjs +200 -0
  148. package/dist/actions/github/list-commits.cjs.map +1 -0
  149. package/dist/actions/github/list-commits.d.cts +1 -0
  150. package/dist/actions/github/list-commits.d.ts +1 -0
  151. package/dist/actions/github/list-commits.js +198 -0
  152. package/dist/actions/github/list-commits.js.map +1 -0
  153. package/dist/actions/github/list-issue-comments.cjs +153 -0
  154. package/dist/actions/github/list-issue-comments.cjs.map +1 -0
  155. package/dist/actions/github/list-issue-comments.d.cts +1 -0
  156. package/dist/actions/github/list-issue-comments.d.ts +1 -0
  157. package/dist/actions/github/list-issue-comments.js +151 -0
  158. package/dist/actions/github/list-issue-comments.js.map +1 -0
  159. package/dist/actions/github/list-issues.cjs +244 -0
  160. package/dist/actions/github/list-issues.cjs.map +1 -0
  161. package/dist/actions/github/list-issues.d.cts +1 -0
  162. package/dist/actions/github/list-issues.d.ts +1 -0
  163. package/dist/actions/github/list-issues.js +242 -0
  164. package/dist/actions/github/list-issues.js.map +1 -0
  165. package/dist/actions/github/list-pull-requests.cjs +252 -0
  166. package/dist/actions/github/list-pull-requests.cjs.map +1 -0
  167. package/dist/actions/github/list-pull-requests.d.cts +1 -0
  168. package/dist/actions/github/list-pull-requests.d.ts +1 -0
  169. package/dist/actions/github/list-pull-requests.js +250 -0
  170. package/dist/actions/github/list-pull-requests.js.map +1 -0
  171. package/dist/actions/github/list-releases.cjs +152 -0
  172. package/dist/actions/github/list-releases.cjs.map +1 -0
  173. package/dist/actions/github/list-releases.d.cts +1 -0
  174. package/dist/actions/github/list-releases.d.ts +1 -0
  175. package/dist/actions/github/list-releases.js +150 -0
  176. package/dist/actions/github/list-releases.js.map +1 -0
  177. package/dist/actions/github/list-repos.cjs +227 -0
  178. package/dist/actions/github/list-repos.cjs.map +1 -0
  179. package/dist/actions/github/list-repos.d.cts +1 -0
  180. package/dist/actions/github/list-repos.d.ts +1 -0
  181. package/dist/actions/github/list-repos.js +225 -0
  182. package/dist/actions/github/list-repos.js.map +1 -0
  183. package/dist/actions/github/merge-pull-request.cjs +204 -0
  184. package/dist/actions/github/merge-pull-request.cjs.map +1 -0
  185. package/dist/actions/github/merge-pull-request.d.cts +1 -0
  186. package/dist/actions/github/merge-pull-request.d.ts +1 -0
  187. package/dist/actions/github/merge-pull-request.js +202 -0
  188. package/dist/actions/github/merge-pull-request.js.map +1 -0
  189. package/dist/actions/github/search-issues.cjs +200 -0
  190. package/dist/actions/github/search-issues.cjs.map +1 -0
  191. package/dist/actions/github/search-issues.d.cts +1 -0
  192. package/dist/actions/github/search-issues.d.ts +1 -0
  193. package/dist/actions/github/search-issues.js +198 -0
  194. package/dist/actions/github/search-issues.js.map +1 -0
  195. package/dist/actions/github/update-issue.cjs +243 -0
  196. package/dist/actions/github/update-issue.cjs.map +1 -0
  197. package/dist/actions/github/update-issue.d.cts +1 -0
  198. package/dist/actions/github/update-issue.d.ts +1 -0
  199. package/dist/actions/github/update-issue.js +241 -0
  200. package/dist/actions/github/update-issue.js.map +1 -0
  201. package/dist/actions/gmail/create-draft.cjs +228 -0
  202. package/dist/actions/gmail/create-draft.cjs.map +1 -0
  203. package/dist/actions/gmail/create-draft.d.cts +1 -0
  204. package/dist/actions/gmail/create-draft.d.ts +1 -0
  205. package/dist/actions/gmail/create-draft.js +226 -0
  206. package/dist/actions/gmail/create-draft.js.map +1 -0
  207. package/dist/actions/gmail/get-message.cjs +205 -0
  208. package/dist/actions/gmail/get-message.cjs.map +1 -0
  209. package/dist/actions/gmail/get-message.d.cts +1 -0
  210. package/dist/actions/gmail/get-message.d.ts +1 -0
  211. package/dist/actions/gmail/get-message.js +203 -0
  212. package/dist/actions/gmail/get-message.js.map +1 -0
  213. package/dist/actions/gmail/index.cjs +18 -0
  214. package/dist/actions/gmail/index.cjs.map +1 -0
  215. package/dist/actions/gmail/index.d.cts +7 -0
  216. package/dist/actions/gmail/index.d.cts.map +1 -0
  217. package/dist/actions/gmail/index.d.ts +7 -0
  218. package/dist/actions/gmail/index.d.ts.map +1 -0
  219. package/dist/actions/gmail/index.js +18 -0
  220. package/dist/actions/gmail/index.js.map +1 -0
  221. package/dist/actions/gmail/list-messages.cjs +195 -0
  222. package/dist/actions/gmail/list-messages.cjs.map +1 -0
  223. package/dist/actions/gmail/list-messages.d.cts +1 -0
  224. package/dist/actions/gmail/list-messages.d.ts +1 -0
  225. package/dist/actions/gmail/list-messages.js +193 -0
  226. package/dist/actions/gmail/list-messages.js.map +1 -0
  227. package/dist/actions/gmail/modify-labels.cjs +163 -0
  228. package/dist/actions/gmail/modify-labels.cjs.map +1 -0
  229. package/dist/actions/gmail/modify-labels.d.cts +1 -0
  230. package/dist/actions/gmail/modify-labels.d.ts +1 -0
  231. package/dist/actions/gmail/modify-labels.js +161 -0
  232. package/dist/actions/gmail/modify-labels.js.map +1 -0
  233. package/dist/actions/gmail/send-message.cjs +233 -0
  234. package/dist/actions/gmail/send-message.cjs.map +1 -0
  235. package/dist/actions/gmail/send-message.d.cts +1 -0
  236. package/dist/actions/gmail/send-message.d.ts +1 -0
  237. package/dist/actions/gmail/send-message.js +231 -0
  238. package/dist/actions/gmail/send-message.js.map +1 -0
  239. package/dist/actions/google-calendar/create-event.cjs +274 -0
  240. package/dist/actions/google-calendar/create-event.cjs.map +1 -0
  241. package/dist/actions/google-calendar/create-event.d.cts +1 -0
  242. package/dist/actions/google-calendar/create-event.d.ts +1 -0
  243. package/dist/actions/google-calendar/create-event.js +272 -0
  244. package/dist/actions/google-calendar/create-event.js.map +1 -0
  245. package/dist/actions/google-calendar/delete-event.cjs +145 -0
  246. package/dist/actions/google-calendar/delete-event.cjs.map +1 -0
  247. package/dist/actions/google-calendar/delete-event.d.cts +1 -0
  248. package/dist/actions/google-calendar/delete-event.d.ts +1 -0
  249. package/dist/actions/google-calendar/delete-event.js +143 -0
  250. package/dist/actions/google-calendar/delete-event.js.map +1 -0
  251. package/dist/actions/google-calendar/get-event.cjs +128 -0
  252. package/dist/actions/google-calendar/get-event.cjs.map +1 -0
  253. package/dist/actions/google-calendar/get-event.d.cts +1 -0
  254. package/dist/actions/google-calendar/get-event.d.ts +1 -0
  255. package/dist/actions/google-calendar/get-event.js +126 -0
  256. package/dist/actions/google-calendar/get-event.js.map +1 -0
  257. package/dist/actions/google-calendar/index.cjs +20 -0
  258. package/dist/actions/google-calendar/index.cjs.map +1 -0
  259. package/dist/actions/google-calendar/index.d.cts +7 -0
  260. package/dist/actions/google-calendar/index.d.cts.map +1 -0
  261. package/dist/actions/google-calendar/index.d.ts +7 -0
  262. package/dist/actions/google-calendar/index.d.ts.map +1 -0
  263. package/dist/actions/google-calendar/index.js +20 -0
  264. package/dist/actions/google-calendar/index.js.map +1 -0
  265. package/dist/actions/google-calendar/list-events.cjs +193 -0
  266. package/dist/actions/google-calendar/list-events.cjs.map +1 -0
  267. package/dist/actions/google-calendar/list-events.d.cts +1 -0
  268. package/dist/actions/google-calendar/list-events.d.ts +1 -0
  269. package/dist/actions/google-calendar/list-events.js +191 -0
  270. package/dist/actions/google-calendar/list-events.js.map +1 -0
  271. package/dist/actions/google-calendar/query-freebusy.cjs +160 -0
  272. package/dist/actions/google-calendar/query-freebusy.cjs.map +1 -0
  273. package/dist/actions/google-calendar/query-freebusy.d.cts +1 -0
  274. package/dist/actions/google-calendar/query-freebusy.d.ts +1 -0
  275. package/dist/actions/google-calendar/query-freebusy.js +158 -0
  276. package/dist/actions/google-calendar/query-freebusy.js.map +1 -0
  277. package/dist/actions/google-calendar/update-event.cjs +221 -0
  278. package/dist/actions/google-calendar/update-event.cjs.map +1 -0
  279. package/dist/actions/google-calendar/update-event.d.cts +1 -0
  280. package/dist/actions/google-calendar/update-event.d.ts +1 -0
  281. package/dist/actions/google-calendar/update-event.js +219 -0
  282. package/dist/actions/google-calendar/update-event.js.map +1 -0
  283. package/dist/actions/google-docs/append-text.cjs +138 -0
  284. package/dist/actions/google-docs/append-text.cjs.map +1 -0
  285. package/dist/actions/google-docs/append-text.d.cts +1 -0
  286. package/dist/actions/google-docs/append-text.d.ts +1 -0
  287. package/dist/actions/google-docs/append-text.js +136 -0
  288. package/dist/actions/google-docs/append-text.js.map +1 -0
  289. package/dist/actions/google-docs/create-document.cjs +138 -0
  290. package/dist/actions/google-docs/create-document.cjs.map +1 -0
  291. package/dist/actions/google-docs/create-document.d.cts +1 -0
  292. package/dist/actions/google-docs/create-document.d.ts +1 -0
  293. package/dist/actions/google-docs/create-document.js +136 -0
  294. package/dist/actions/google-docs/create-document.js.map +1 -0
  295. package/dist/actions/google-docs/get-document.cjs +118 -0
  296. package/dist/actions/google-docs/get-document.cjs.map +1 -0
  297. package/dist/actions/google-docs/get-document.d.cts +1 -0
  298. package/dist/actions/google-docs/get-document.d.ts +1 -0
  299. package/dist/actions/google-docs/get-document.js +116 -0
  300. package/dist/actions/google-docs/get-document.js.map +1 -0
  301. package/dist/actions/google-docs/index.cjs +18 -0
  302. package/dist/actions/google-docs/index.cjs.map +1 -0
  303. package/dist/actions/google-docs/index.d.cts +7 -0
  304. package/dist/actions/google-docs/index.d.cts.map +1 -0
  305. package/dist/actions/google-docs/index.d.ts +7 -0
  306. package/dist/actions/google-docs/index.d.ts.map +1 -0
  307. package/dist/actions/google-docs/index.js +18 -0
  308. package/dist/actions/google-docs/index.js.map +1 -0
  309. package/dist/actions/google-docs/insert-text.cjs +136 -0
  310. package/dist/actions/google-docs/insert-text.cjs.map +1 -0
  311. package/dist/actions/google-docs/insert-text.d.cts +1 -0
  312. package/dist/actions/google-docs/insert-text.d.ts +1 -0
  313. package/dist/actions/google-docs/insert-text.js +134 -0
  314. package/dist/actions/google-docs/insert-text.js.map +1 -0
  315. package/dist/actions/google-docs/replace-text.cjs +152 -0
  316. package/dist/actions/google-docs/replace-text.cjs.map +1 -0
  317. package/dist/actions/google-docs/replace-text.d.cts +1 -0
  318. package/dist/actions/google-docs/replace-text.d.ts +1 -0
  319. package/dist/actions/google-docs/replace-text.js +150 -0
  320. package/dist/actions/google-docs/replace-text.js.map +1 -0
  321. package/dist/actions/google-drive/create-file.cjs +155 -0
  322. package/dist/actions/google-drive/create-file.cjs.map +1 -0
  323. package/dist/actions/google-drive/create-file.d.cts +1 -0
  324. package/dist/actions/google-drive/create-file.d.ts +1 -0
  325. package/dist/actions/google-drive/create-file.js +153 -0
  326. package/dist/actions/google-drive/create-file.js.map +1 -0
  327. package/dist/actions/google-drive/create-folder.cjs +130 -0
  328. package/dist/actions/google-drive/create-folder.cjs.map +1 -0
  329. package/dist/actions/google-drive/create-folder.d.cts +1 -0
  330. package/dist/actions/google-drive/create-folder.d.ts +1 -0
  331. package/dist/actions/google-drive/create-folder.js +128 -0
  332. package/dist/actions/google-drive/create-folder.js.map +1 -0
  333. package/dist/actions/google-drive/delete-file.cjs +98 -0
  334. package/dist/actions/google-drive/delete-file.cjs.map +1 -0
  335. package/dist/actions/google-drive/delete-file.d.cts +1 -0
  336. package/dist/actions/google-drive/delete-file.d.ts +1 -0
  337. package/dist/actions/google-drive/delete-file.js +96 -0
  338. package/dist/actions/google-drive/delete-file.js.map +1 -0
  339. package/dist/actions/google-drive/get-file.cjs +103 -0
  340. package/dist/actions/google-drive/get-file.cjs.map +1 -0
  341. package/dist/actions/google-drive/get-file.d.cts +1 -0
  342. package/dist/actions/google-drive/get-file.d.ts +1 -0
  343. package/dist/actions/google-drive/get-file.js +101 -0
  344. package/dist/actions/google-drive/get-file.js.map +1 -0
  345. package/dist/actions/google-drive/index.cjs +22 -0
  346. package/dist/actions/google-drive/index.cjs.map +1 -0
  347. package/dist/actions/google-drive/index.d.cts +7 -0
  348. package/dist/actions/google-drive/index.d.cts.map +1 -0
  349. package/dist/actions/google-drive/index.d.ts +7 -0
  350. package/dist/actions/google-drive/index.d.ts.map +1 -0
  351. package/dist/actions/google-drive/index.js +22 -0
  352. package/dist/actions/google-drive/index.js.map +1 -0
  353. package/dist/actions/google-drive/list-files.cjs +156 -0
  354. package/dist/actions/google-drive/list-files.cjs.map +1 -0
  355. package/dist/actions/google-drive/list-files.d.cts +1 -0
  356. package/dist/actions/google-drive/list-files.d.ts +1 -0
  357. package/dist/actions/google-drive/list-files.js +154 -0
  358. package/dist/actions/google-drive/list-files.js.map +1 -0
  359. package/dist/actions/google-drive/search-files.cjs +138 -0
  360. package/dist/actions/google-drive/search-files.cjs.map +1 -0
  361. package/dist/actions/google-drive/search-files.d.cts +1 -0
  362. package/dist/actions/google-drive/search-files.d.ts +1 -0
  363. package/dist/actions/google-drive/search-files.js +136 -0
  364. package/dist/actions/google-drive/search-files.js.map +1 -0
  365. package/dist/actions/google-drive/share-file.cjs +226 -0
  366. package/dist/actions/google-drive/share-file.cjs.map +1 -0
  367. package/dist/actions/google-drive/share-file.d.cts +1 -0
  368. package/dist/actions/google-drive/share-file.d.ts +1 -0
  369. package/dist/actions/google-drive/share-file.js +224 -0
  370. package/dist/actions/google-drive/share-file.js.map +1 -0
  371. package/dist/actions/google-sheets/append-values.cjs +175 -0
  372. package/dist/actions/google-sheets/append-values.cjs.map +1 -0
  373. package/dist/actions/google-sheets/append-values.d.cts +1 -0
  374. package/dist/actions/google-sheets/append-values.d.ts +1 -0
  375. package/dist/actions/google-sheets/append-values.js +173 -0
  376. package/dist/actions/google-sheets/append-values.js.map +1 -0
  377. package/dist/actions/google-sheets/clear-values.cjs +118 -0
  378. package/dist/actions/google-sheets/clear-values.cjs.map +1 -0
  379. package/dist/actions/google-sheets/clear-values.d.cts +1 -0
  380. package/dist/actions/google-sheets/clear-values.d.ts +1 -0
  381. package/dist/actions/google-sheets/clear-values.js +116 -0
  382. package/dist/actions/google-sheets/clear-values.js.map +1 -0
  383. package/dist/actions/google-sheets/create-spreadsheet.cjs +128 -0
  384. package/dist/actions/google-sheets/create-spreadsheet.cjs.map +1 -0
  385. package/dist/actions/google-sheets/create-spreadsheet.d.cts +1 -0
  386. package/dist/actions/google-sheets/create-spreadsheet.d.ts +1 -0
  387. package/dist/actions/google-sheets/create-spreadsheet.js +126 -0
  388. package/dist/actions/google-sheets/create-spreadsheet.js.map +1 -0
  389. package/dist/actions/google-sheets/get-values.cjs +168 -0
  390. package/dist/actions/google-sheets/get-values.cjs.map +1 -0
  391. package/dist/actions/google-sheets/get-values.d.cts +1 -0
  392. package/dist/actions/google-sheets/get-values.d.ts +1 -0
  393. package/dist/actions/google-sheets/get-values.js +166 -0
  394. package/dist/actions/google-sheets/get-values.js.map +1 -0
  395. package/dist/actions/google-sheets/index.cjs +18 -0
  396. package/dist/actions/google-sheets/index.cjs.map +1 -0
  397. package/dist/actions/google-sheets/index.d.cts +7 -0
  398. package/dist/actions/google-sheets/index.d.cts.map +1 -0
  399. package/dist/actions/google-sheets/index.d.ts +7 -0
  400. package/dist/actions/google-sheets/index.d.ts.map +1 -0
  401. package/dist/actions/google-sheets/index.js +18 -0
  402. package/dist/actions/google-sheets/index.js.map +1 -0
  403. package/dist/actions/google-sheets/update-values.cjs +158 -0
  404. package/dist/actions/google-sheets/update-values.cjs.map +1 -0
  405. package/dist/actions/google-sheets/update-values.d.cts +1 -0
  406. package/dist/actions/google-sheets/update-values.d.ts +1 -0
  407. package/dist/actions/google-sheets/update-values.js +156 -0
  408. package/dist/actions/google-sheets/update-values.js.map +1 -0
  409. package/dist/actions/http/index.cjs +7 -0
  410. package/dist/actions/http/index.cjs.map +1 -0
  411. package/dist/actions/http/index.d.cts +7 -0
  412. package/dist/actions/http/index.d.cts.map +1 -0
  413. package/dist/actions/http/index.d.ts +7 -0
  414. package/dist/actions/http/index.d.ts.map +1 -0
  415. package/dist/actions/http/index.js +8 -0
  416. package/dist/actions/http/index.js.map +1 -0
  417. package/dist/actions/http/request.cjs +223 -0
  418. package/dist/actions/http/request.cjs.map +1 -0
  419. package/dist/actions/http/request.d.cts +1 -0
  420. package/dist/actions/http/request.d.ts +1 -0
  421. package/dist/actions/http/request.js +222 -0
  422. package/dist/actions/http/request.js.map +1 -0
  423. package/dist/actions/index.cjs +46 -0
  424. package/dist/actions/index.cjs.map +1 -0
  425. package/dist/actions/index.d.cts +27 -0
  426. package/dist/actions/index.d.cts.map +1 -0
  427. package/dist/actions/index.d.ts +27 -0
  428. package/dist/actions/index.d.ts.map +1 -0
  429. package/dist/actions/index.js +45 -0
  430. package/dist/actions/index.js.map +1 -0
  431. package/dist/actions/linear/create-issue.cjs +296 -0
  432. package/dist/actions/linear/create-issue.cjs.map +1 -0
  433. package/dist/actions/linear/create-issue.d.cts +1 -0
  434. package/dist/actions/linear/create-issue.d.ts +1 -0
  435. package/dist/actions/linear/create-issue.js +294 -0
  436. package/dist/actions/linear/create-issue.js.map +1 -0
  437. package/dist/actions/linear/index.cjs +16 -0
  438. package/dist/actions/linear/index.cjs.map +1 -0
  439. package/dist/actions/linear/index.d.cts +7 -0
  440. package/dist/actions/linear/index.d.cts.map +1 -0
  441. package/dist/actions/linear/index.d.ts +7 -0
  442. package/dist/actions/linear/index.d.ts.map +1 -0
  443. package/dist/actions/linear/index.js +16 -0
  444. package/dist/actions/linear/index.js.map +1 -0
  445. package/dist/actions/linear/list-issues.cjs +239 -0
  446. package/dist/actions/linear/list-issues.cjs.map +1 -0
  447. package/dist/actions/linear/list-issues.d.cts +1 -0
  448. package/dist/actions/linear/list-issues.d.ts +1 -0
  449. package/dist/actions/linear/list-issues.js +237 -0
  450. package/dist/actions/linear/list-issues.js.map +1 -0
  451. package/dist/actions/linear/list-teams.cjs +183 -0
  452. package/dist/actions/linear/list-teams.cjs.map +1 -0
  453. package/dist/actions/linear/list-teams.d.cts +1 -0
  454. package/dist/actions/linear/list-teams.d.ts +1 -0
  455. package/dist/actions/linear/list-teams.js +181 -0
  456. package/dist/actions/linear/list-teams.js.map +1 -0
  457. package/dist/actions/linear/update-issue.cjs +282 -0
  458. package/dist/actions/linear/update-issue.cjs.map +1 -0
  459. package/dist/actions/linear/update-issue.d.cts +1 -0
  460. package/dist/actions/linear/update-issue.d.ts +1 -0
  461. package/dist/actions/linear/update-issue.js +280 -0
  462. package/dist/actions/linear/update-issue.js.map +1 -0
  463. package/dist/actions/microsoft/get-calendar-event.cjs +139 -0
  464. package/dist/actions/microsoft/get-calendar-event.cjs.map +1 -0
  465. package/dist/actions/microsoft/get-calendar-event.d.cts +1 -0
  466. package/dist/actions/microsoft/get-calendar-event.d.ts +1 -0
  467. package/dist/actions/microsoft/get-calendar-event.js +137 -0
  468. package/dist/actions/microsoft/get-calendar-event.js.map +1 -0
  469. package/dist/actions/microsoft/get-meeting-transcript.cjs +221 -0
  470. package/dist/actions/microsoft/get-meeting-transcript.cjs.map +1 -0
  471. package/dist/actions/microsoft/get-meeting-transcript.d.cts +1 -0
  472. package/dist/actions/microsoft/get-meeting-transcript.d.ts +1 -0
  473. package/dist/actions/microsoft/get-meeting-transcript.js +219 -0
  474. package/dist/actions/microsoft/get-meeting-transcript.js.map +1 -0
  475. package/dist/actions/microsoft/get-message.cjs +173 -0
  476. package/dist/actions/microsoft/get-message.cjs.map +1 -0
  477. package/dist/actions/microsoft/get-message.d.cts +1 -0
  478. package/dist/actions/microsoft/get-message.d.ts +1 -0
  479. package/dist/actions/microsoft/get-message.js +171 -0
  480. package/dist/actions/microsoft/get-message.js.map +1 -0
  481. package/dist/actions/microsoft/index.cjs +22 -0
  482. package/dist/actions/microsoft/index.cjs.map +1 -0
  483. package/dist/actions/microsoft/index.d.cts +1 -0
  484. package/dist/actions/microsoft/index.d.ts +1 -0
  485. package/dist/actions/microsoft/index.js +22 -0
  486. package/dist/actions/microsoft/index.js.map +1 -0
  487. package/dist/actions/microsoft/list-calendar-events.cjs +202 -0
  488. package/dist/actions/microsoft/list-calendar-events.cjs.map +1 -0
  489. package/dist/actions/microsoft/list-calendar-events.d.cts +1 -0
  490. package/dist/actions/microsoft/list-calendar-events.d.ts +1 -0
  491. package/dist/actions/microsoft/list-calendar-events.js +200 -0
  492. package/dist/actions/microsoft/list-calendar-events.js.map +1 -0
  493. package/dist/actions/microsoft/list-calendars.cjs +99 -0
  494. package/dist/actions/microsoft/list-calendars.cjs.map +1 -0
  495. package/dist/actions/microsoft/list-calendars.d.cts +1 -0
  496. package/dist/actions/microsoft/list-calendars.d.ts +1 -0
  497. package/dist/actions/microsoft/list-calendars.js +97 -0
  498. package/dist/actions/microsoft/list-calendars.js.map +1 -0
  499. package/dist/actions/microsoft/list-messages.cjs +223 -0
  500. package/dist/actions/microsoft/list-messages.cjs.map +1 -0
  501. package/dist/actions/microsoft/list-messages.d.cts +1 -0
  502. package/dist/actions/microsoft/list-messages.d.ts +1 -0
  503. package/dist/actions/microsoft/list-messages.js +221 -0
  504. package/dist/actions/microsoft/list-messages.js.map +1 -0
  505. package/dist/actions/microsoft/list-online-meetings.cjs +132 -0
  506. package/dist/actions/microsoft/list-online-meetings.cjs.map +1 -0
  507. package/dist/actions/microsoft/list-online-meetings.d.cts +1 -0
  508. package/dist/actions/microsoft/list-online-meetings.d.ts +1 -0
  509. package/dist/actions/microsoft/list-online-meetings.js +130 -0
  510. package/dist/actions/microsoft/list-online-meetings.js.map +1 -0
  511. package/dist/actions/postgres/describe-table.cjs +175 -0
  512. package/dist/actions/postgres/describe-table.cjs.map +1 -0
  513. package/dist/actions/postgres/describe-table.d.cts +1 -0
  514. package/dist/actions/postgres/describe-table.d.ts +1 -0
  515. package/dist/actions/postgres/describe-table.js +165 -0
  516. package/dist/actions/postgres/describe-table.js.map +1 -0
  517. package/dist/actions/postgres/execute-query.cjs +120 -0
  518. package/dist/actions/postgres/execute-query.cjs.map +1 -0
  519. package/dist/actions/postgres/execute-query.d.cts +1 -0
  520. package/dist/actions/postgres/execute-query.d.ts +1 -0
  521. package/dist/actions/postgres/execute-query.js +110 -0
  522. package/dist/actions/postgres/execute-query.js.map +1 -0
  523. package/dist/actions/postgres/index.cjs +16 -0
  524. package/dist/actions/postgres/index.cjs.map +1 -0
  525. package/dist/actions/postgres/index.d.cts +7 -0
  526. package/dist/actions/postgres/index.d.cts.map +1 -0
  527. package/dist/actions/postgres/index.d.ts +7 -0
  528. package/dist/actions/postgres/index.d.ts.map +1 -0
  529. package/dist/actions/postgres/index.js +16 -0
  530. package/dist/actions/postgres/index.js.map +1 -0
  531. package/dist/actions/postgres/insert-rows.cjs +168 -0
  532. package/dist/actions/postgres/insert-rows.cjs.map +1 -0
  533. package/dist/actions/postgres/insert-rows.d.cts +1 -0
  534. package/dist/actions/postgres/insert-rows.d.ts +1 -0
  535. package/dist/actions/postgres/insert-rows.js +158 -0
  536. package/dist/actions/postgres/insert-rows.js.map +1 -0
  537. package/dist/actions/postgres/list-tables.cjs +133 -0
  538. package/dist/actions/postgres/list-tables.cjs.map +1 -0
  539. package/dist/actions/postgres/list-tables.d.cts +1 -0
  540. package/dist/actions/postgres/list-tables.d.ts +1 -0
  541. package/dist/actions/postgres/list-tables.js +123 -0
  542. package/dist/actions/postgres/list-tables.js.map +1 -0
  543. package/dist/actions/providers.cjs +128 -0
  544. package/dist/actions/providers.cjs.map +1 -0
  545. package/dist/actions/providers.d.cts +22 -0
  546. package/dist/actions/providers.d.cts.map +1 -0
  547. package/dist/actions/providers.d.ts +22 -0
  548. package/dist/actions/providers.d.ts.map +1 -0
  549. package/dist/actions/providers.js +116 -0
  550. package/dist/actions/providers.js.map +1 -0
  551. package/dist/actions/slack/index.cjs +9 -0
  552. package/dist/actions/slack/index.cjs.map +1 -0
  553. package/dist/actions/slack/index.d.cts +7 -0
  554. package/dist/actions/slack/index.d.cts.map +1 -0
  555. package/dist/actions/slack/index.d.ts +7 -0
  556. package/dist/actions/slack/index.d.ts.map +1 -0
  557. package/dist/actions/slack/index.js +9 -0
  558. package/dist/actions/slack/index.js.map +1 -0
  559. package/dist/actions/slack/list-channels.cjs +157 -0
  560. package/dist/actions/slack/list-channels.cjs.map +1 -0
  561. package/dist/actions/slack/list-channels.d.cts +1 -0
  562. package/dist/actions/slack/list-channels.d.ts +1 -0
  563. package/dist/actions/slack/list-channels.js +155 -0
  564. package/dist/actions/slack/list-channels.js.map +1 -0
  565. package/dist/actions/slack/send-message.cjs +157 -0
  566. package/dist/actions/slack/send-message.cjs.map +1 -0
  567. package/dist/actions/slack/send-message.d.cts +1 -0
  568. package/dist/actions/slack/send-message.d.ts +1 -0
  569. package/dist/actions/slack/send-message.js +155 -0
  570. package/dist/actions/slack/send-message.js.map +1 -0
  571. package/dist/actions/triggers/cron.cjs +95 -0
  572. package/dist/actions/triggers/cron.cjs.map +1 -0
  573. package/dist/actions/triggers/cron.d.cts +1 -0
  574. package/dist/actions/triggers/cron.d.ts +1 -0
  575. package/dist/actions/triggers/cron.js +83 -0
  576. package/dist/actions/triggers/cron.js.map +1 -0
  577. package/dist/actions/triggers/index.cjs +9 -0
  578. package/dist/actions/triggers/index.cjs.map +1 -0
  579. package/dist/actions/triggers/index.d.cts +1 -0
  580. package/dist/actions/triggers/index.d.ts +1 -0
  581. package/dist/actions/triggers/index.js +9 -0
  582. package/dist/actions/triggers/index.js.map +1 -0
  583. package/dist/actions/triggers/manual.cjs +105 -0
  584. package/dist/actions/triggers/manual.cjs.map +1 -0
  585. package/dist/actions/triggers/manual.d.cts +1 -0
  586. package/dist/actions/triggers/manual.d.ts +1 -0
  587. package/dist/actions/triggers/manual.js +103 -0
  588. package/dist/actions/triggers/manual.js.map +1 -0
  589. package/dist/actions/types.d.cts +373 -0
  590. package/dist/actions/types.d.cts.map +1 -0
  591. package/dist/actions/types.d.ts +373 -0
  592. package/dist/actions/types.d.ts.map +1 -0
  593. package/dist/database/adapter-factory.cjs +188 -0
  594. package/dist/database/adapter-factory.cjs.map +1 -0
  595. package/dist/database/adapter-factory.js +187 -0
  596. package/dist/database/adapter-factory.js.map +1 -0
  597. package/dist/database/adapter.cjs +33 -0
  598. package/dist/database/adapter.cjs.map +1 -0
  599. package/dist/database/adapter.d.cts +76 -0
  600. package/dist/database/adapter.d.cts.map +1 -0
  601. package/dist/database/adapter.d.ts +76 -0
  602. package/dist/database/adapter.d.ts.map +1 -0
  603. package/dist/database/adapter.js +33 -0
  604. package/dist/database/adapter.js.map +1 -0
  605. package/dist/database/adapters/connection-bridge.cjs +119 -0
  606. package/dist/database/adapters/connection-bridge.cjs.map +1 -0
  607. package/dist/database/adapters/connection-bridge.js +118 -0
  608. package/dist/database/adapters/connection-bridge.js.map +1 -0
  609. package/dist/database/adapters/kysely-adapter.cjs +138 -0
  610. package/dist/database/adapters/kysely-adapter.cjs.map +1 -0
  611. package/dist/database/adapters/kysely-adapter.js +137 -0
  612. package/dist/database/adapters/kysely-adapter.js.map +1 -0
  613. package/dist/database/connection.cjs +277 -0
  614. package/dist/database/connection.cjs.map +1 -0
  615. package/dist/database/connection.d.cts +115 -0
  616. package/dist/database/connection.d.cts.map +1 -0
  617. package/dist/database/connection.d.ts +115 -0
  618. package/dist/database/connection.d.ts.map +1 -0
  619. package/dist/database/connection.js +271 -0
  620. package/dist/database/connection.js.map +1 -0
  621. package/dist/database/core-schema.cjs +644 -0
  622. package/dist/database/core-schema.cjs.map +1 -0
  623. package/dist/database/core-schema.d.cts +22 -0
  624. package/dist/database/core-schema.d.cts.map +1 -0
  625. package/dist/database/core-schema.d.ts +22 -0
  626. package/dist/database/core-schema.d.ts.map +1 -0
  627. package/dist/database/core-schema.js +642 -0
  628. package/dist/database/core-schema.js.map +1 -0
  629. package/dist/database/index.cjs +4 -0
  630. package/dist/database/index.d.cts +10 -0
  631. package/dist/database/index.d.cts.map +1 -0
  632. package/dist/database/index.d.ts +10 -0
  633. package/dist/database/index.d.ts.map +1 -0
  634. package/dist/database/index.js +5 -0
  635. package/dist/database/prisma-schema-generator.cjs +219 -0
  636. package/dist/database/prisma-schema-generator.cjs.map +1 -0
  637. package/dist/database/prisma-schema-generator.d.cts +19 -0
  638. package/dist/database/prisma-schema-generator.d.cts.map +1 -0
  639. package/dist/database/prisma-schema-generator.d.ts +19 -0
  640. package/dist/database/prisma-schema-generator.d.ts.map +1 -0
  641. package/dist/database/prisma-schema-generator.js +218 -0
  642. package/dist/database/prisma-schema-generator.js.map +1 -0
  643. package/dist/database/schema-generator.cjs +576 -0
  644. package/dist/database/schema-generator.cjs.map +1 -0
  645. package/dist/database/schema-generator.d.cts +18 -0
  646. package/dist/database/schema-generator.d.cts.map +1 -0
  647. package/dist/database/schema-generator.d.ts +18 -0
  648. package/dist/database/schema-generator.d.ts.map +1 -0
  649. package/dist/database/schema-generator.js +571 -0
  650. package/dist/database/schema-generator.js.map +1 -0
  651. package/dist/database/schema-merger.cjs +153 -0
  652. package/dist/database/schema-merger.cjs.map +1 -0
  653. package/dist/database/schema-merger.d.cts +53 -0
  654. package/dist/database/schema-merger.d.cts.map +1 -0
  655. package/dist/database/schema-merger.d.ts +53 -0
  656. package/dist/database/schema-merger.d.ts.map +1 -0
  657. package/dist/database/schema-merger.js +152 -0
  658. package/dist/database/schema-merger.js.map +1 -0
  659. package/dist/database/schema-metadata.cjs +98 -0
  660. package/dist/database/schema-metadata.cjs.map +1 -0
  661. package/dist/database/schema-metadata.js +98 -0
  662. package/dist/database/schema-metadata.js.map +1 -0
  663. package/dist/database/schema-mysql.cjs +288 -0
  664. package/dist/database/schema-mysql.cjs.map +1 -0
  665. package/dist/database/schema-mysql.d.cts +2117 -0
  666. package/dist/database/schema-mysql.d.cts.map +1 -0
  667. package/dist/database/schema-mysql.d.ts +2117 -0
  668. package/dist/database/schema-mysql.d.ts.map +1 -0
  669. package/dist/database/schema-mysql.js +263 -0
  670. package/dist/database/schema-mysql.js.map +1 -0
  671. package/dist/database/schema-postgres.cjs +312 -0
  672. package/dist/database/schema-postgres.cjs.map +1 -0
  673. package/dist/database/schema-postgres.d.cts +2127 -0
  674. package/dist/database/schema-postgres.d.cts.map +1 -0
  675. package/dist/database/schema-postgres.d.ts +2127 -0
  676. package/dist/database/schema-postgres.d.ts.map +1 -0
  677. package/dist/database/schema-postgres.js +280 -0
  678. package/dist/database/schema-postgres.js.map +1 -0
  679. package/dist/database/schema-sqlite.cjs +247 -0
  680. package/dist/database/schema-sqlite.cjs.map +1 -0
  681. package/dist/database/schema-sqlite.d.cts +2294 -0
  682. package/dist/database/schema-sqlite.d.cts.map +1 -0
  683. package/dist/database/schema-sqlite.d.ts +2294 -0
  684. package/dist/database/schema-sqlite.d.ts.map +1 -0
  685. package/dist/database/schema-sqlite.js +222 -0
  686. package/dist/database/schema-sqlite.js.map +1 -0
  687. package/dist/database/schema-verification.cjs +123 -0
  688. package/dist/database/schema-verification.cjs.map +1 -0
  689. package/dist/database/schema-verification.d.cts +40 -0
  690. package/dist/database/schema-verification.d.cts.map +1 -0
  691. package/dist/database/schema-verification.d.ts +40 -0
  692. package/dist/database/schema-verification.d.ts.map +1 -0
  693. package/dist/database/schema-verification.js +123 -0
  694. package/dist/database/schema-verification.js.map +1 -0
  695. package/dist/database/schema.cjs +3 -0
  696. package/dist/database/schema.d.cts +3 -0
  697. package/dist/database/schema.d.ts +3 -0
  698. package/dist/database/schema.js +4 -0
  699. package/dist/index.cjs +199 -0
  700. package/dist/index.d.cts +70 -0
  701. package/dist/index.d.ts +70 -0
  702. package/dist/index.js +56 -0
  703. package/dist/invect-core.cjs +1688 -0
  704. package/dist/invect-core.cjs.map +1 -0
  705. package/dist/invect-core.d.cts +846 -0
  706. package/dist/invect-core.d.cts.map +1 -0
  707. package/dist/invect-core.d.ts +846 -0
  708. package/dist/invect-core.d.ts.map +1 -0
  709. package/dist/invect-core.js +1688 -0
  710. package/dist/invect-core.js.map +1 -0
  711. package/dist/nodes/agent-executor.cjs +881 -0
  712. package/dist/nodes/agent-executor.cjs.map +1 -0
  713. package/dist/nodes/agent-executor.d.cts +243 -0
  714. package/dist/nodes/agent-executor.d.cts.map +1 -0
  715. package/dist/nodes/agent-executor.d.ts +243 -0
  716. package/dist/nodes/agent-executor.d.ts.map +1 -0
  717. package/dist/nodes/agent-executor.js +877 -0
  718. package/dist/nodes/agent-executor.js.map +1 -0
  719. package/dist/nodes/base-node.cjs +174 -0
  720. package/dist/nodes/base-node.cjs.map +1 -0
  721. package/dist/nodes/base-node.d.cts +125 -0
  722. package/dist/nodes/base-node.d.cts.map +1 -0
  723. package/dist/nodes/base-node.d.ts +125 -0
  724. package/dist/nodes/base-node.d.ts.map +1 -0
  725. package/dist/nodes/base-node.js +170 -0
  726. package/dist/nodes/base-node.js.map +1 -0
  727. package/dist/nodes/executor-registry.cjs +46 -0
  728. package/dist/nodes/executor-registry.cjs.map +1 -0
  729. package/dist/nodes/executor-registry.d.cts +18 -0
  730. package/dist/nodes/executor-registry.d.cts.map +1 -0
  731. package/dist/nodes/executor-registry.d.ts +18 -0
  732. package/dist/nodes/executor-registry.d.ts.map +1 -0
  733. package/dist/nodes/executor-registry.js +46 -0
  734. package/dist/nodes/executor-registry.js.map +1 -0
  735. package/dist/nodes/index.cjs +2 -0
  736. package/dist/nodes/index.d.cts +3 -0
  737. package/dist/nodes/index.d.ts +3 -0
  738. package/dist/nodes/index.js +3 -0
  739. package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs +110 -0
  740. package/dist/services/agent-tool-executions/agent-tool-execution.service.cjs.map +1 -0
  741. package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts +42 -0
  742. package/dist/services/agent-tool-executions/agent-tool-execution.service.d.cts.map +1 -0
  743. package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts +42 -0
  744. package/dist/services/agent-tool-executions/agent-tool-execution.service.d.ts.map +1 -0
  745. package/dist/services/agent-tool-executions/agent-tool-execution.service.js +110 -0
  746. package/dist/services/agent-tool-executions/agent-tool-execution.service.js.map +1 -0
  747. package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs +152 -0
  748. package/dist/services/agent-tool-executions/agent-tool-executions.model.cjs.map +1 -0
  749. package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts +71 -0
  750. package/dist/services/agent-tool-executions/agent-tool-executions.model.d.cts.map +1 -0
  751. package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts +71 -0
  752. package/dist/services/agent-tool-executions/agent-tool-executions.model.d.ts.map +1 -0
  753. package/dist/services/agent-tool-executions/agent-tool-executions.model.js +152 -0
  754. package/dist/services/agent-tool-executions/agent-tool-executions.model.js.map +1 -0
  755. package/dist/services/agent-tools/agent-tool-registry.cjs +101 -0
  756. package/dist/services/agent-tools/agent-tool-registry.cjs.map +1 -0
  757. package/dist/services/agent-tools/agent-tool-registry.d.cts +51 -0
  758. package/dist/services/agent-tools/agent-tool-registry.d.cts.map +1 -0
  759. package/dist/services/agent-tools/agent-tool-registry.d.ts +51 -0
  760. package/dist/services/agent-tools/agent-tool-registry.d.ts.map +1 -0
  761. package/dist/services/agent-tools/agent-tool-registry.js +98 -0
  762. package/dist/services/agent-tools/agent-tool-registry.js.map +1 -0
  763. package/dist/services/agent-tools/builtin/index.cjs +17 -0
  764. package/dist/services/agent-tools/builtin/index.cjs.map +1 -0
  765. package/dist/services/agent-tools/builtin/index.js +17 -0
  766. package/dist/services/agent-tools/builtin/index.js.map +1 -0
  767. package/dist/services/agent-tools/builtin/json-logic-tool.cjs +73 -0
  768. package/dist/services/agent-tools/builtin/json-logic-tool.cjs.map +1 -0
  769. package/dist/services/agent-tools/builtin/json-logic-tool.js +70 -0
  770. package/dist/services/agent-tools/builtin/json-logic-tool.js.map +1 -0
  771. package/dist/services/agent-tools/builtin/math-tool.cjs +117 -0
  772. package/dist/services/agent-tools/builtin/math-tool.cjs.map +1 -0
  773. package/dist/services/agent-tools/builtin/math-tool.js +116 -0
  774. package/dist/services/agent-tools/builtin/math-tool.js.map +1 -0
  775. package/dist/services/agent-tools/index.cjs +2 -0
  776. package/dist/services/agent-tools/index.js +3 -0
  777. package/dist/services/ai/ai-types.cjs +37 -0
  778. package/dist/services/ai/ai-types.cjs.map +1 -0
  779. package/dist/services/ai/ai-types.d.cts +105 -0
  780. package/dist/services/ai/ai-types.d.cts.map +1 -0
  781. package/dist/services/ai/ai-types.d.ts +105 -0
  782. package/dist/services/ai/ai-types.d.ts.map +1 -0
  783. package/dist/services/ai/ai-types.js +35 -0
  784. package/dist/services/ai/ai-types.js.map +1 -0
  785. package/dist/services/ai/anthropic-adapter.cjs +411 -0
  786. package/dist/services/ai/anthropic-adapter.cjs.map +1 -0
  787. package/dist/services/ai/anthropic-adapter.d.cts +1 -0
  788. package/dist/services/ai/anthropic-adapter.d.ts +1 -0
  789. package/dist/services/ai/anthropic-adapter.js +409 -0
  790. package/dist/services/ai/anthropic-adapter.js.map +1 -0
  791. package/dist/services/ai/base-client.cjs +345 -0
  792. package/dist/services/ai/base-client.cjs.map +1 -0
  793. package/dist/services/ai/base-client.d.cts +138 -0
  794. package/dist/services/ai/base-client.d.cts.map +1 -0
  795. package/dist/services/ai/base-client.d.ts +138 -0
  796. package/dist/services/ai/base-client.d.ts.map +1 -0
  797. package/dist/services/ai/base-client.js +345 -0
  798. package/dist/services/ai/base-client.js.map +1 -0
  799. package/dist/services/ai/openai-adapter.cjs +460 -0
  800. package/dist/services/ai/openai-adapter.cjs.map +1 -0
  801. package/dist/services/ai/openai-adapter.d.cts +1 -0
  802. package/dist/services/ai/openai-adapter.d.ts +1 -0
  803. package/dist/services/ai/openai-adapter.js +458 -0
  804. package/dist/services/ai/openai-adapter.js.map +1 -0
  805. package/dist/services/ai/openrouter-adapter.cjs +124 -0
  806. package/dist/services/ai/openrouter-adapter.cjs.map +1 -0
  807. package/dist/services/ai/openrouter-adapter.d.cts +1 -0
  808. package/dist/services/ai/openrouter-adapter.d.ts +1 -0
  809. package/dist/services/ai/openrouter-adapter.js +122 -0
  810. package/dist/services/ai/openrouter-adapter.js.map +1 -0
  811. package/dist/services/ai/provider-adapter.cjs +72 -0
  812. package/dist/services/ai/provider-adapter.cjs.map +1 -0
  813. package/dist/services/ai/provider-adapter.d.cts +81 -0
  814. package/dist/services/ai/provider-adapter.d.cts.map +1 -0
  815. package/dist/services/ai/provider-adapter.d.ts +81 -0
  816. package/dist/services/ai/provider-adapter.d.ts.map +1 -0
  817. package/dist/services/ai/provider-adapter.js +72 -0
  818. package/dist/services/ai/provider-adapter.js.map +1 -0
  819. package/dist/services/auth/authorization.service.cjs +259 -0
  820. package/dist/services/auth/authorization.service.cjs.map +1 -0
  821. package/dist/services/auth/authorization.service.d.cts +102 -0
  822. package/dist/services/auth/authorization.service.d.cts.map +1 -0
  823. package/dist/services/auth/authorization.service.d.ts +102 -0
  824. package/dist/services/auth/authorization.service.d.ts.map +1 -0
  825. package/dist/services/auth/authorization.service.js +257 -0
  826. package/dist/services/auth/authorization.service.js.map +1 -0
  827. package/dist/services/auth/flow-access.service.cjs +259 -0
  828. package/dist/services/auth/flow-access.service.cjs.map +1 -0
  829. package/dist/services/auth/flow-access.service.d.cts +89 -0
  830. package/dist/services/auth/flow-access.service.d.cts.map +1 -0
  831. package/dist/services/auth/flow-access.service.d.ts +89 -0
  832. package/dist/services/auth/flow-access.service.d.ts.map +1 -0
  833. package/dist/services/auth/flow-access.service.js +259 -0
  834. package/dist/services/auth/flow-access.service.js.map +1 -0
  835. package/dist/services/auth/index.d.ts +2 -0
  836. package/dist/services/batch-jobs/batch-jobs.model.cjs +213 -0
  837. package/dist/services/batch-jobs/batch-jobs.model.cjs.map +1 -0
  838. package/dist/services/batch-jobs/batch-jobs.model.d.cts +79 -0
  839. package/dist/services/batch-jobs/batch-jobs.model.d.cts.map +1 -0
  840. package/dist/services/batch-jobs/batch-jobs.model.d.ts +79 -0
  841. package/dist/services/batch-jobs/batch-jobs.model.d.ts.map +1 -0
  842. package/dist/services/batch-jobs/batch-jobs.model.js +213 -0
  843. package/dist/services/batch-jobs/batch-jobs.model.js.map +1 -0
  844. package/dist/services/batch-jobs/batch-jobs.service.cjs +178 -0
  845. package/dist/services/batch-jobs/batch-jobs.service.cjs.map +1 -0
  846. package/dist/services/batch-jobs/batch-jobs.service.d.cts +83 -0
  847. package/dist/services/batch-jobs/batch-jobs.service.d.cts.map +1 -0
  848. package/dist/services/batch-jobs/batch-jobs.service.d.ts +83 -0
  849. package/dist/services/batch-jobs/batch-jobs.service.d.ts.map +1 -0
  850. package/dist/services/batch-jobs/batch-jobs.service.js +178 -0
  851. package/dist/services/batch-jobs/batch-jobs.service.js.map +1 -0
  852. package/dist/services/chat/chat-messages.model.cjs +143 -0
  853. package/dist/services/chat/chat-messages.model.cjs.map +1 -0
  854. package/dist/services/chat/chat-messages.model.d.cts +43 -0
  855. package/dist/services/chat/chat-messages.model.d.cts.map +1 -0
  856. package/dist/services/chat/chat-messages.model.d.ts +43 -0
  857. package/dist/services/chat/chat-messages.model.d.ts.map +1 -0
  858. package/dist/services/chat/chat-messages.model.js +142 -0
  859. package/dist/services/chat/chat-messages.model.js.map +1 -0
  860. package/dist/services/chat/chat-stream-session.cjs +181 -0
  861. package/dist/services/chat/chat-stream-session.cjs.map +1 -0
  862. package/dist/services/chat/chat-stream-session.d.cts +1 -0
  863. package/dist/services/chat/chat-stream-session.d.ts +1 -0
  864. package/dist/services/chat/chat-stream-session.js +181 -0
  865. package/dist/services/chat/chat-stream-session.js.map +1 -0
  866. package/dist/services/chat/chat-stream.service.cjs +205 -0
  867. package/dist/services/chat/chat-stream.service.cjs.map +1 -0
  868. package/dist/services/chat/chat-stream.service.d.cts +84 -0
  869. package/dist/services/chat/chat-stream.service.d.cts.map +1 -0
  870. package/dist/services/chat/chat-stream.service.d.ts +84 -0
  871. package/dist/services/chat/chat-stream.service.d.ts.map +1 -0
  872. package/dist/services/chat/chat-stream.service.js +205 -0
  873. package/dist/services/chat/chat-stream.service.js.map +1 -0
  874. package/dist/services/chat/chat-toolkit.cjs +125 -0
  875. package/dist/services/chat/chat-toolkit.cjs.map +1 -0
  876. package/dist/services/chat/chat-toolkit.d.cts +58 -0
  877. package/dist/services/chat/chat-toolkit.d.cts.map +1 -0
  878. package/dist/services/chat/chat-toolkit.d.ts +58 -0
  879. package/dist/services/chat/chat-toolkit.d.ts.map +1 -0
  880. package/dist/services/chat/chat-toolkit.js +124 -0
  881. package/dist/services/chat/chat-toolkit.js.map +1 -0
  882. package/dist/services/chat/chat-types.cjs +24 -0
  883. package/dist/services/chat/chat-types.cjs.map +1 -0
  884. package/dist/services/chat/chat-types.d.cts +134 -0
  885. package/dist/services/chat/chat-types.d.cts.map +1 -0
  886. package/dist/services/chat/chat-types.d.ts +134 -0
  887. package/dist/services/chat/chat-types.d.ts.map +1 -0
  888. package/dist/services/chat/chat-types.js +23 -0
  889. package/dist/services/chat/chat-types.js.map +1 -0
  890. package/dist/services/chat/index.cjs +5 -0
  891. package/dist/services/chat/index.d.cts +3 -0
  892. package/dist/services/chat/index.d.ts +3 -0
  893. package/dist/services/chat/index.js +6 -0
  894. package/dist/services/chat/system-prompt.cjs +223 -0
  895. package/dist/services/chat/system-prompt.cjs.map +1 -0
  896. package/dist/services/chat/system-prompt.d.cts +1 -0
  897. package/dist/services/chat/system-prompt.d.ts +1 -0
  898. package/dist/services/chat/system-prompt.js +223 -0
  899. package/dist/services/chat/system-prompt.js.map +1 -0
  900. package/dist/services/chat/tools/agent-tools.cjs +472 -0
  901. package/dist/services/chat/tools/agent-tools.cjs.map +1 -0
  902. package/dist/services/chat/tools/agent-tools.js +471 -0
  903. package/dist/services/chat/tools/agent-tools.js.map +1 -0
  904. package/dist/services/chat/tools/context-tools.cjs +252 -0
  905. package/dist/services/chat/tools/context-tools.cjs.map +1 -0
  906. package/dist/services/chat/tools/context-tools.js +251 -0
  907. package/dist/services/chat/tools/context-tools.js.map +1 -0
  908. package/dist/services/chat/tools/flow-tools.cjs +244 -0
  909. package/dist/services/chat/tools/flow-tools.cjs.map +1 -0
  910. package/dist/services/chat/tools/flow-tools.js +243 -0
  911. package/dist/services/chat/tools/flow-tools.js.map +1 -0
  912. package/dist/services/chat/tools/index.cjs +22 -0
  913. package/dist/services/chat/tools/index.cjs.map +1 -0
  914. package/dist/services/chat/tools/index.js +22 -0
  915. package/dist/services/chat/tools/index.js.map +1 -0
  916. package/dist/services/chat/tools/node-tools.cjs +323 -0
  917. package/dist/services/chat/tools/node-tools.cjs.map +1 -0
  918. package/dist/services/chat/tools/node-tools.js +322 -0
  919. package/dist/services/chat/tools/node-tools.js.map +1 -0
  920. package/dist/services/chat/tools/plan-tools.cjs +94 -0
  921. package/dist/services/chat/tools/plan-tools.cjs.map +1 -0
  922. package/dist/services/chat/tools/plan-tools.js +93 -0
  923. package/dist/services/chat/tools/plan-tools.js.map +1 -0
  924. package/dist/services/chat/tools/run-tools.cjs +121 -0
  925. package/dist/services/chat/tools/run-tools.cjs.map +1 -0
  926. package/dist/services/chat/tools/run-tools.js +120 -0
  927. package/dist/services/chat/tools/run-tools.js.map +1 -0
  928. package/dist/services/credentials/credentials.model.cjs +313 -0
  929. package/dist/services/credentials/credentials.model.cjs.map +1 -0
  930. package/dist/services/credentials/credentials.model.d.cts +27 -0
  931. package/dist/services/credentials/credentials.model.d.cts.map +1 -0
  932. package/dist/services/credentials/credentials.model.d.ts +27 -0
  933. package/dist/services/credentials/credentials.model.d.ts.map +1 -0
  934. package/dist/services/credentials/credentials.model.js +312 -0
  935. package/dist/services/credentials/credentials.model.js.map +1 -0
  936. package/dist/services/credentials/credentials.service.cjs +358 -0
  937. package/dist/services/credentials/credentials.service.cjs.map +1 -0
  938. package/dist/services/credentials/credentials.service.d.cts +156 -0
  939. package/dist/services/credentials/credentials.service.d.cts.map +1 -0
  940. package/dist/services/credentials/credentials.service.d.ts +156 -0
  941. package/dist/services/credentials/credentials.service.d.ts.map +1 -0
  942. package/dist/services/credentials/credentials.service.js +357 -0
  943. package/dist/services/credentials/credentials.service.js.map +1 -0
  944. package/dist/services/credentials/encryption.service.cjs +121 -0
  945. package/dist/services/credentials/encryption.service.cjs.map +1 -0
  946. package/dist/services/credentials/encryption.service.d.cts +70 -0
  947. package/dist/services/credentials/encryption.service.d.cts.map +1 -0
  948. package/dist/services/credentials/encryption.service.d.ts +70 -0
  949. package/dist/services/credentials/encryption.service.d.ts.map +1 -0
  950. package/dist/services/credentials/encryption.service.js +119 -0
  951. package/dist/services/credentials/encryption.service.js.map +1 -0
  952. package/dist/services/credentials/index.d.cts +4 -0
  953. package/dist/services/credentials/index.d.ts +4 -0
  954. package/dist/services/credentials/oauth2-providers.cjs +668 -0
  955. package/dist/services/credentials/oauth2-providers.cjs.map +1 -0
  956. package/dist/services/credentials/oauth2-providers.d.cts +39 -0
  957. package/dist/services/credentials/oauth2-providers.d.cts.map +1 -0
  958. package/dist/services/credentials/oauth2-providers.d.ts +39 -0
  959. package/dist/services/credentials/oauth2-providers.d.ts.map +1 -0
  960. package/dist/services/credentials/oauth2-providers.js +667 -0
  961. package/dist/services/credentials/oauth2-providers.js.map +1 -0
  962. package/dist/services/credentials/oauth2.service.cjs +252 -0
  963. package/dist/services/credentials/oauth2.service.cjs.map +1 -0
  964. package/dist/services/credentials/oauth2.service.d.cts +132 -0
  965. package/dist/services/credentials/oauth2.service.d.cts.map +1 -0
  966. package/dist/services/credentials/oauth2.service.d.ts +132 -0
  967. package/dist/services/credentials/oauth2.service.d.ts.map +1 -0
  968. package/dist/services/credentials/oauth2.service.js +251 -0
  969. package/dist/services/credentials/oauth2.service.js.map +1 -0
  970. package/dist/services/database/database.service.cjs +469 -0
  971. package/dist/services/database/database.service.cjs.map +1 -0
  972. package/dist/services/database/database.service.d.cts +162 -0
  973. package/dist/services/database/database.service.d.cts.map +1 -0
  974. package/dist/services/database/database.service.d.ts +162 -0
  975. package/dist/services/database/database.service.d.ts.map +1 -0
  976. package/dist/services/database/database.service.js +469 -0
  977. package/dist/services/database/database.service.js.map +1 -0
  978. package/dist/services/execution-event-bus.cjs +80 -0
  979. package/dist/services/execution-event-bus.cjs.map +1 -0
  980. package/dist/services/execution-event-bus.d.cts +57 -0
  981. package/dist/services/execution-event-bus.d.cts.map +1 -0
  982. package/dist/services/execution-event-bus.d.ts +57 -0
  983. package/dist/services/execution-event-bus.d.ts.map +1 -0
  984. package/dist/services/execution-event-bus.js +77 -0
  985. package/dist/services/execution-event-bus.js.map +1 -0
  986. package/dist/services/flow-orchestration/flow-run-coordinator.cjs +499 -0
  987. package/dist/services/flow-orchestration/flow-run-coordinator.cjs.map +1 -0
  988. package/dist/services/flow-orchestration/flow-run-coordinator.js +499 -0
  989. package/dist/services/flow-orchestration/flow-run-coordinator.js.map +1 -0
  990. package/dist/services/flow-orchestration/node-execution-coordinator.cjs +657 -0
  991. package/dist/services/flow-orchestration/node-execution-coordinator.cjs.map +1 -0
  992. package/dist/services/flow-orchestration/node-execution-coordinator.js +657 -0
  993. package/dist/services/flow-orchestration/node-execution-coordinator.js.map +1 -0
  994. package/dist/services/flow-orchestration.service.cjs +493 -0
  995. package/dist/services/flow-orchestration.service.cjs.map +1 -0
  996. package/dist/services/flow-orchestration.service.d.cts +149 -0
  997. package/dist/services/flow-orchestration.service.d.cts.map +1 -0
  998. package/dist/services/flow-orchestration.service.d.ts +149 -0
  999. package/dist/services/flow-orchestration.service.d.ts.map +1 -0
  1000. package/dist/services/flow-orchestration.service.js +493 -0
  1001. package/dist/services/flow-orchestration.service.js.map +1 -0
  1002. package/dist/services/flow-runs/flow-runs.model.cjs +403 -0
  1003. package/dist/services/flow-runs/flow-runs.model.cjs.map +1 -0
  1004. package/dist/services/flow-runs/flow-runs.model.d.cts +113 -0
  1005. package/dist/services/flow-runs/flow-runs.model.d.cts.map +1 -0
  1006. package/dist/services/flow-runs/flow-runs.model.d.ts +113 -0
  1007. package/dist/services/flow-runs/flow-runs.model.d.ts.map +1 -0
  1008. package/dist/services/flow-runs/flow-runs.model.js +403 -0
  1009. package/dist/services/flow-runs/flow-runs.model.js.map +1 -0
  1010. package/dist/services/flow-runs/flow-runs.service.cjs +273 -0
  1011. package/dist/services/flow-runs/flow-runs.service.cjs.map +1 -0
  1012. package/dist/services/flow-runs/flow-runs.service.d.cts +129 -0
  1013. package/dist/services/flow-runs/flow-runs.service.d.cts.map +1 -0
  1014. package/dist/services/flow-runs/flow-runs.service.d.ts +129 -0
  1015. package/dist/services/flow-runs/flow-runs.service.d.ts.map +1 -0
  1016. package/dist/services/flow-runs/flow-runs.service.js +273 -0
  1017. package/dist/services/flow-runs/flow-runs.service.js.map +1 -0
  1018. package/dist/services/flow-validator.cjs +149 -0
  1019. package/dist/services/flow-validator.cjs.map +1 -0
  1020. package/dist/services/flow-validator.js +149 -0
  1021. package/dist/services/flow-validator.js.map +1 -0
  1022. package/dist/services/flow-versions/flow-versions.model.cjs +231 -0
  1023. package/dist/services/flow-versions/flow-versions.model.cjs.map +1 -0
  1024. package/dist/services/flow-versions/flow-versions.model.d.cts +55 -0
  1025. package/dist/services/flow-versions/flow-versions.model.d.cts.map +1 -0
  1026. package/dist/services/flow-versions/flow-versions.model.d.ts +55 -0
  1027. package/dist/services/flow-versions/flow-versions.model.d.ts.map +1 -0
  1028. package/dist/services/flow-versions/flow-versions.model.js +231 -0
  1029. package/dist/services/flow-versions/flow-versions.model.js.map +1 -0
  1030. package/dist/services/flow-versions/flow-versions.service.cjs +72 -0
  1031. package/dist/services/flow-versions/flow-versions.service.cjs.map +1 -0
  1032. package/dist/services/flow-versions/flow-versions.service.d.cts +63 -0
  1033. package/dist/services/flow-versions/flow-versions.service.d.cts.map +1 -0
  1034. package/dist/services/flow-versions/flow-versions.service.d.ts +63 -0
  1035. package/dist/services/flow-versions/flow-versions.service.d.ts.map +1 -0
  1036. package/dist/services/flow-versions/flow-versions.service.js +72 -0
  1037. package/dist/services/flow-versions/flow-versions.service.js.map +1 -0
  1038. package/dist/services/flow-versions/schemas-fresh.cjs +90 -0
  1039. package/dist/services/flow-versions/schemas-fresh.cjs.map +1 -0
  1040. package/dist/services/flow-versions/schemas-fresh.d.cts +201 -0
  1041. package/dist/services/flow-versions/schemas-fresh.d.cts.map +1 -0
  1042. package/dist/services/flow-versions/schemas-fresh.d.ts +201 -0
  1043. package/dist/services/flow-versions/schemas-fresh.d.ts.map +1 -0
  1044. package/dist/services/flow-versions/schemas-fresh.js +85 -0
  1045. package/dist/services/flow-versions/schemas-fresh.js.map +1 -0
  1046. package/dist/services/flows/flows.model.cjs +273 -0
  1047. package/dist/services/flows/flows.model.cjs.map +1 -0
  1048. package/dist/services/flows/flows.model.d.cts +105 -0
  1049. package/dist/services/flows/flows.model.d.cts.map +1 -0
  1050. package/dist/services/flows/flows.model.d.ts +105 -0
  1051. package/dist/services/flows/flows.model.d.ts.map +1 -0
  1052. package/dist/services/flows/flows.model.js +273 -0
  1053. package/dist/services/flows/flows.model.js.map +1 -0
  1054. package/dist/services/flows/flows.service.cjs +134 -0
  1055. package/dist/services/flows/flows.service.cjs.map +1 -0
  1056. package/dist/services/flows/flows.service.d.cts +105 -0
  1057. package/dist/services/flows/flows.service.d.cts.map +1 -0
  1058. package/dist/services/flows/flows.service.d.ts +105 -0
  1059. package/dist/services/flows/flows.service.d.ts.map +1 -0
  1060. package/dist/services/flows/flows.service.js +134 -0
  1061. package/dist/services/flows/flows.service.js.map +1 -0
  1062. package/dist/services/graph.service.cjs +375 -0
  1063. package/dist/services/graph.service.cjs.map +1 -0
  1064. package/dist/services/graph.service.d.cts +90 -0
  1065. package/dist/services/graph.service.d.cts.map +1 -0
  1066. package/dist/services/graph.service.d.ts +90 -0
  1067. package/dist/services/graph.service.d.ts.map +1 -0
  1068. package/dist/services/graph.service.js +375 -0
  1069. package/dist/services/graph.service.js.map +1 -0
  1070. package/dist/services/node-data.service.cjs +232 -0
  1071. package/dist/services/node-data.service.cjs.map +1 -0
  1072. package/dist/services/node-data.service.d.cts +119 -0
  1073. package/dist/services/node-data.service.d.cts.map +1 -0
  1074. package/dist/services/node-data.service.d.ts +119 -0
  1075. package/dist/services/node-data.service.d.ts.map +1 -0
  1076. package/dist/services/node-data.service.js +230 -0
  1077. package/dist/services/node-data.service.js.map +1 -0
  1078. package/dist/services/node-executions/node-execution.service.cjs +236 -0
  1079. package/dist/services/node-executions/node-execution.service.cjs.map +1 -0
  1080. package/dist/services/node-executions/node-execution.service.d.cts +126 -0
  1081. package/dist/services/node-executions/node-execution.service.d.cts.map +1 -0
  1082. package/dist/services/node-executions/node-execution.service.d.ts +126 -0
  1083. package/dist/services/node-executions/node-execution.service.d.ts.map +1 -0
  1084. package/dist/services/node-executions/node-execution.service.js +236 -0
  1085. package/dist/services/node-executions/node-execution.service.js.map +1 -0
  1086. package/dist/services/node-executions/node-executions.model.cjs +300 -0
  1087. package/dist/services/node-executions/node-executions.model.cjs.map +1 -0
  1088. package/dist/services/node-executions/node-executions.model.d.cts +102 -0
  1089. package/dist/services/node-executions/node-executions.model.d.cts.map +1 -0
  1090. package/dist/services/node-executions/node-executions.model.d.ts +102 -0
  1091. package/dist/services/node-executions/node-executions.model.d.ts.map +1 -0
  1092. package/dist/services/node-executions/node-executions.model.js +300 -0
  1093. package/dist/services/node-executions/node-executions.model.js.map +1 -0
  1094. package/dist/services/plugin-manager.cjs +205 -0
  1095. package/dist/services/plugin-manager.cjs.map +1 -0
  1096. package/dist/services/plugin-manager.js +205 -0
  1097. package/dist/services/plugin-manager.js.map +1 -0
  1098. package/dist/services/react-flow-renderer.service.cjs +236 -0
  1099. package/dist/services/react-flow-renderer.service.cjs.map +1 -0
  1100. package/dist/services/react-flow-renderer.service.d.cts +149 -0
  1101. package/dist/services/react-flow-renderer.service.d.cts.map +1 -0
  1102. package/dist/services/react-flow-renderer.service.d.ts +149 -0
  1103. package/dist/services/react-flow-renderer.service.d.ts.map +1 -0
  1104. package/dist/services/react-flow-renderer.service.js +235 -0
  1105. package/dist/services/react-flow-renderer.service.js.map +1 -0
  1106. package/dist/services/service-factory.cjs +301 -0
  1107. package/dist/services/service-factory.cjs.map +1 -0
  1108. package/dist/services/service-factory.d.cts +172 -0
  1109. package/dist/services/service-factory.d.cts.map +1 -0
  1110. package/dist/services/service-factory.d.ts +172 -0
  1111. package/dist/services/service-factory.d.ts.map +1 -0
  1112. package/dist/services/service-factory.js +301 -0
  1113. package/dist/services/service-factory.js.map +1 -0
  1114. package/dist/services/templating/index.cjs +2 -0
  1115. package/dist/services/templating/index.d.ts +2 -0
  1116. package/dist/services/templating/index.js +3 -0
  1117. package/dist/services/templating/js-expression.service.cjs +148 -0
  1118. package/dist/services/templating/js-expression.service.cjs.map +1 -0
  1119. package/dist/services/templating/js-expression.service.d.cts +61 -0
  1120. package/dist/services/templating/js-expression.service.d.cts.map +1 -0
  1121. package/dist/services/templating/js-expression.service.d.ts +60 -0
  1122. package/dist/services/templating/js-expression.service.d.ts.map +1 -0
  1123. package/dist/services/templating/js-expression.service.js +143 -0
  1124. package/dist/services/templating/js-expression.service.js.map +1 -0
  1125. package/dist/services/templating/template.service.cjs +182 -0
  1126. package/dist/services/templating/template.service.cjs.map +1 -0
  1127. package/dist/services/templating/template.service.d.cts +62 -0
  1128. package/dist/services/templating/template.service.d.cts.map +1 -0
  1129. package/dist/services/templating/template.service.d.ts +62 -0
  1130. package/dist/services/templating/template.service.d.ts.map +1 -0
  1131. package/dist/services/templating/template.service.js +180 -0
  1132. package/dist/services/templating/template.service.js.map +1 -0
  1133. package/dist/services/triggers/cron-scheduler.service.cjs +141 -0
  1134. package/dist/services/triggers/cron-scheduler.service.cjs.map +1 -0
  1135. package/dist/services/triggers/cron-scheduler.service.d.cts +36 -0
  1136. package/dist/services/triggers/cron-scheduler.service.d.cts.map +1 -0
  1137. package/dist/services/triggers/cron-scheduler.service.d.ts +36 -0
  1138. package/dist/services/triggers/cron-scheduler.service.d.ts.map +1 -0
  1139. package/dist/services/triggers/cron-scheduler.service.js +140 -0
  1140. package/dist/services/triggers/cron-scheduler.service.js.map +1 -0
  1141. package/dist/services/triggers/flow-triggers.model.cjs +241 -0
  1142. package/dist/services/triggers/flow-triggers.model.cjs.map +1 -0
  1143. package/dist/services/triggers/flow-triggers.model.d.cts +53 -0
  1144. package/dist/services/triggers/flow-triggers.model.d.cts.map +1 -0
  1145. package/dist/services/triggers/flow-triggers.model.d.ts +53 -0
  1146. package/dist/services/triggers/flow-triggers.model.d.ts.map +1 -0
  1147. package/dist/services/triggers/flow-triggers.model.js +241 -0
  1148. package/dist/services/triggers/flow-triggers.model.js.map +1 -0
  1149. package/dist/services/triggers/flow-triggers.service.cjs +218 -0
  1150. package/dist/services/triggers/flow-triggers.service.cjs.map +1 -0
  1151. package/dist/services/triggers/flow-triggers.service.d.cts +77 -0
  1152. package/dist/services/triggers/flow-triggers.service.d.cts.map +1 -0
  1153. package/dist/services/triggers/flow-triggers.service.d.ts +77 -0
  1154. package/dist/services/triggers/flow-triggers.service.d.ts.map +1 -0
  1155. package/dist/services/triggers/flow-triggers.service.js +217 -0
  1156. package/dist/services/triggers/flow-triggers.service.js.map +1 -0
  1157. package/dist/services/triggers/index.cjs +3 -0
  1158. package/dist/services/triggers/index.d.cts +4 -0
  1159. package/dist/services/triggers/index.d.ts +4 -0
  1160. package/dist/services/triggers/index.js +4 -0
  1161. package/dist/services/triggers/trigger.types.d.cts +63 -0
  1162. package/dist/services/triggers/trigger.types.d.cts.map +1 -0
  1163. package/dist/services/triggers/trigger.types.d.ts +63 -0
  1164. package/dist/services/triggers/trigger.types.d.ts.map +1 -0
  1165. package/dist/types/agent-tool.types.cjs +20 -0
  1166. package/dist/types/agent-tool.types.cjs.map +1 -0
  1167. package/dist/types/agent-tool.types.d.cts +211 -0
  1168. package/dist/types/agent-tool.types.d.cts.map +1 -0
  1169. package/dist/types/agent-tool.types.d.ts +211 -0
  1170. package/dist/types/agent-tool.types.d.ts.map +1 -0
  1171. package/dist/types/agent-tool.types.js +18 -0
  1172. package/dist/types/agent-tool.types.js.map +1 -0
  1173. package/dist/types/auth.types.cjs +76 -0
  1174. package/dist/types/auth.types.cjs.map +1 -0
  1175. package/dist/types/auth.types.d.cts +235 -0
  1176. package/dist/types/auth.types.d.cts.map +1 -0
  1177. package/dist/types/auth.types.d.ts +235 -0
  1178. package/dist/types/auth.types.d.ts.map +1 -0
  1179. package/dist/types/auth.types.js +75 -0
  1180. package/dist/types/auth.types.js.map +1 -0
  1181. package/dist/types/base.cjs +25 -0
  1182. package/dist/types/base.cjs.map +1 -0
  1183. package/dist/types/base.d.cts +21 -0
  1184. package/dist/types/base.d.cts.map +1 -0
  1185. package/dist/types/base.d.ts +21 -0
  1186. package/dist/types/base.d.ts.map +1 -0
  1187. package/dist/types/base.js +24 -0
  1188. package/dist/types/base.js.map +1 -0
  1189. package/dist/types/common/errors.types.cjs +46 -0
  1190. package/dist/types/common/errors.types.cjs.map +1 -0
  1191. package/dist/types/common/errors.types.js +44 -0
  1192. package/dist/types/common/errors.types.js.map +1 -0
  1193. package/dist/types/graph-node-types.cjs +46 -0
  1194. package/dist/types/graph-node-types.cjs.map +1 -0
  1195. package/dist/types/graph-node-types.d.cts +32 -0
  1196. package/dist/types/graph-node-types.d.cts.map +1 -0
  1197. package/dist/types/graph-node-types.d.ts +32 -0
  1198. package/dist/types/graph-node-types.d.ts.map +1 -0
  1199. package/dist/types/graph-node-types.js +45 -0
  1200. package/dist/types/graph-node-types.js.map +1 -0
  1201. package/dist/types/node-config-update.types.d.cts +33 -0
  1202. package/dist/types/node-config-update.types.d.cts.map +1 -0
  1203. package/dist/types/node-config-update.types.d.ts +33 -0
  1204. package/dist/types/node-config-update.types.d.ts.map +1 -0
  1205. package/dist/types/node-definition.types.d.cts +88 -0
  1206. package/dist/types/node-definition.types.d.cts.map +1 -0
  1207. package/dist/types/node-definition.types.d.ts +88 -0
  1208. package/dist/types/node-definition.types.d.ts.map +1 -0
  1209. package/dist/types/node-execution.types.d.cts +39 -0
  1210. package/dist/types/node-execution.types.d.cts.map +1 -0
  1211. package/dist/types/node-execution.types.d.ts +39 -0
  1212. package/dist/types/node-execution.types.d.ts.map +1 -0
  1213. package/dist/types/node-io-types.cjs +19 -0
  1214. package/dist/types/node-io-types.cjs.map +1 -0
  1215. package/dist/types/node-io-types.d.cts +65 -0
  1216. package/dist/types/node-io-types.d.cts.map +1 -0
  1217. package/dist/types/node-io-types.d.ts +65 -0
  1218. package/dist/types/node-io-types.d.ts.map +1 -0
  1219. package/dist/types/node-io-types.js +18 -0
  1220. package/dist/types/node-io-types.js.map +1 -0
  1221. package/dist/types/node-output-schemas.cjs +51 -0
  1222. package/dist/types/node-output-schemas.cjs.map +1 -0
  1223. package/dist/types/node-output-schemas.js +50 -0
  1224. package/dist/types/node-output-schemas.js.map +1 -0
  1225. package/dist/types/plugin.types.d.cts +654 -0
  1226. package/dist/types/plugin.types.d.cts.map +1 -0
  1227. package/dist/types/plugin.types.d.ts +654 -0
  1228. package/dist/types/plugin.types.d.ts.map +1 -0
  1229. package/dist/types/schemas/flow/create-flow-version.schema.cjs +1 -0
  1230. package/dist/types/schemas/flow/create-flow-version.schema.d.ts +1 -0
  1231. package/dist/types/schemas/flow/create-flow-version.schema.js +2 -0
  1232. package/dist/types/schemas/flow/create-flow.schema.cjs +9 -0
  1233. package/dist/types/schemas/flow/create-flow.schema.cjs.map +1 -0
  1234. package/dist/types/schemas/flow/create-flow.schema.d.cts +14 -0
  1235. package/dist/types/schemas/flow/create-flow.schema.d.cts.map +1 -0
  1236. package/dist/types/schemas/flow/create-flow.schema.d.ts +14 -0
  1237. package/dist/types/schemas/flow/create-flow.schema.d.ts.map +1 -0
  1238. package/dist/types/schemas/flow/create-flow.schema.js +10 -0
  1239. package/dist/types/schemas/flow/create-flow.schema.js.map +1 -0
  1240. package/dist/types/schemas/flow/delete-flow.schema.cjs +11 -0
  1241. package/dist/types/schemas/flow/delete-flow.schema.cjs.map +1 -0
  1242. package/dist/types/schemas/flow/delete-flow.schema.d.ts +1 -0
  1243. package/dist/types/schemas/flow/delete-flow.schema.js +11 -0
  1244. package/dist/types/schemas/flow/delete-flow.schema.js.map +1 -0
  1245. package/dist/types/schemas/flow/flow-executions.schema.cjs +36 -0
  1246. package/dist/types/schemas/flow/flow-executions.schema.cjs.map +1 -0
  1247. package/dist/types/schemas/flow/flow-executions.schema.d.ts +1 -0
  1248. package/dist/types/schemas/flow/flow-executions.schema.js +35 -0
  1249. package/dist/types/schemas/flow/flow-executions.schema.js.map +1 -0
  1250. package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs +7 -0
  1251. package/dist/types/schemas/flow/get-flow-by-id-response.schema.cjs.map +1 -0
  1252. package/dist/types/schemas/flow/get-flow-by-id-response.schema.d.ts +1 -0
  1253. package/dist/types/schemas/flow/get-flow-by-id-response.schema.js +7 -0
  1254. package/dist/types/schemas/flow/get-flow-by-id-response.schema.js.map +1 -0
  1255. package/dist/types/schemas/flow/get-flow-versions-response.schema.cjs +1 -0
  1256. package/dist/types/schemas/flow/get-flow-versions-response.schema.d.ts +1 -0
  1257. package/dist/types/schemas/flow/get-flow-versions-response.schema.js +2 -0
  1258. package/dist/types/schemas/flow/get-flows-response.schema.cjs +6 -0
  1259. package/dist/types/schemas/flow/get-flows-response.schema.cjs.map +1 -0
  1260. package/dist/types/schemas/flow/get-flows-response.schema.d.ts +1 -0
  1261. package/dist/types/schemas/flow/get-flows-response.schema.js +7 -0
  1262. package/dist/types/schemas/flow/get-flows-response.schema.js.map +1 -0
  1263. package/dist/types/schemas/flow/index.cjs +9 -0
  1264. package/dist/types/schemas/flow/index.d.ts +1 -0
  1265. package/dist/types/schemas/flow/index.js +10 -0
  1266. package/dist/types/schemas/flow/update-flow.schema.cjs +1 -0
  1267. package/dist/types/schemas/flow/update-flow.schema.d.ts +1 -0
  1268. package/dist/types/schemas/flow/update-flow.schema.js +2 -0
  1269. package/dist/types/schemas/flow/validate-flow.schema.cjs +19 -0
  1270. package/dist/types/schemas/flow/validate-flow.schema.cjs.map +1 -0
  1271. package/dist/types/schemas/flow/validate-flow.schema.d.ts +1 -0
  1272. package/dist/types/schemas/flow/validate-flow.schema.js +19 -0
  1273. package/dist/types/schemas/flow/validate-flow.schema.js.map +1 -0
  1274. package/dist/types/schemas/index.cjs +3 -0
  1275. package/dist/types/schemas/index.d.ts +2 -0
  1276. package/dist/types/schemas/index.js +4 -0
  1277. package/dist/types/schemas/pagination-sort-filter.cjs +56 -0
  1278. package/dist/types/schemas/pagination-sort-filter.cjs.map +1 -0
  1279. package/dist/types/schemas/pagination-sort-filter.d.cts +38 -0
  1280. package/dist/types/schemas/pagination-sort-filter.d.cts.map +1 -0
  1281. package/dist/types/schemas/pagination-sort-filter.d.ts +38 -0
  1282. package/dist/types/schemas/pagination-sort-filter.d.ts.map +1 -0
  1283. package/dist/types/schemas/pagination-sort-filter.js +50 -0
  1284. package/dist/types/schemas/pagination-sort-filter.js.map +1 -0
  1285. package/dist/types/schemas-fresh/invect-config.cjs +181 -0
  1286. package/dist/types/schemas-fresh/invect-config.cjs.map +1 -0
  1287. package/dist/types/schemas-fresh/invect-config.d.cts +207 -0
  1288. package/dist/types/schemas-fresh/invect-config.d.cts.map +1 -0
  1289. package/dist/types/schemas-fresh/invect-config.d.ts +207 -0
  1290. package/dist/types/schemas-fresh/invect-config.d.ts.map +1 -0
  1291. package/dist/types/schemas-fresh/invect-config.js +174 -0
  1292. package/dist/types/schemas-fresh/invect-config.js.map +1 -0
  1293. package/dist/types/validation/common.schemas.cjs +41 -0
  1294. package/dist/types/validation/common.schemas.cjs.map +1 -0
  1295. package/dist/types/validation/common.schemas.js +39 -0
  1296. package/dist/types/validation/common.schemas.js.map +1 -0
  1297. package/dist/types/validation/flow.schemas.cjs +49 -0
  1298. package/dist/types/validation/flow.schemas.cjs.map +1 -0
  1299. package/dist/types/validation/flow.schemas.js +46 -0
  1300. package/dist/types/validation/flow.schemas.js.map +1 -0
  1301. package/dist/types/validation.cjs +49 -0
  1302. package/dist/types/validation.cjs.map +1 -0
  1303. package/dist/types/validation.d.cts +49 -0
  1304. package/dist/types/validation.d.cts.map +1 -0
  1305. package/dist/types/validation.d.ts +49 -0
  1306. package/dist/types/validation.d.ts.map +1 -0
  1307. package/dist/types/validation.js +48 -0
  1308. package/dist/types/validation.js.map +1 -0
  1309. package/dist/types-export.cjs +11 -0
  1310. package/dist/types-export.d.cts +25 -0
  1311. package/dist/types-export.d.ts +25 -0
  1312. package/dist/types-export.js +5 -0
  1313. package/dist/types-fresh.cjs +9 -0
  1314. package/dist/types-fresh.cjs.map +1 -0
  1315. package/dist/types-fresh.d.cts +129 -0
  1316. package/dist/types-fresh.d.cts.map +1 -0
  1317. package/dist/types-fresh.d.ts +129 -0
  1318. package/dist/types-fresh.d.ts.map +1 -0
  1319. package/dist/types-fresh.js +8 -0
  1320. package/dist/types-fresh.js.map +1 -0
  1321. package/dist/utils/id-generator.cjs +34 -0
  1322. package/dist/utils/id-generator.cjs.map +1 -0
  1323. package/dist/utils/id-generator.js +34 -0
  1324. package/dist/utils/id-generator.js.map +1 -0
  1325. package/dist/utils/logger.cjs +285 -0
  1326. package/dist/utils/logger.cjs.map +1 -0
  1327. package/dist/utils/logger.d.cts +161 -0
  1328. package/dist/utils/logger.d.cts.map +1 -0
  1329. package/dist/utils/logger.d.ts +160 -0
  1330. package/dist/utils/logger.d.ts.map +1 -0
  1331. package/dist/utils/logger.js +282 -0
  1332. package/dist/utils/logger.js.map +1 -0
  1333. package/dist/utils/node-slug.cjs +13 -0
  1334. package/dist/utils/node-slug.cjs.map +1 -0
  1335. package/dist/utils/node-slug.d.cts +8 -0
  1336. package/dist/utils/node-slug.d.cts.map +1 -0
  1337. package/dist/utils/node-slug.d.ts +8 -0
  1338. package/dist/utils/node-slug.d.ts.map +1 -0
  1339. package/dist/utils/node-slug.js +13 -0
  1340. package/dist/utils/node-slug.js.map +1 -0
  1341. package/dist/utils/provider-detection.cjs +72 -0
  1342. package/dist/utils/provider-detection.cjs.map +1 -0
  1343. package/dist/utils/provider-detection.js +72 -0
  1344. package/dist/utils/provider-detection.js.map +1 -0
  1345. package/dist/utils/url-safe-id.cjs +52 -0
  1346. package/dist/utils/url-safe-id.cjs.map +1 -0
  1347. package/dist/utils/url-safe-id.js +52 -0
  1348. package/dist/utils/url-safe-id.js.map +1 -0
  1349. package/package.json +121 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-executor.js","names":["z"],"sources":["../../src/nodes/agent-executor.ts"],"sourcesContent":["/**\n * AI Agent Node Executor\n *\n * Executes an LLM agent loop with tool use capabilities.\n * The agent can use configured tools to accomplish a task.\n *\n * Features:\n * - Parallel tool execution (executes multiple tool calls concurrently)\n * - Tool execution timeout (configurable, prevents hung tools)\n * - Conversation truncation (manages token budget for long conversations)\n * - Error handling with retry via LLM (tool errors returned to LLM for recovery)\n */\n\nimport { BaseNodeExecutor, NodeExecutionResult } from './base-node';\nimport { NodeExecutionStatus } from 'src/types/base';\nimport { GraphNodeType, NodeExecutionContext } from 'src/types-fresh';\nimport type { NodeInputData } from 'src/types/node-io-types';\nimport { FlowNodeForType } from 'src/services/flow-versions/schemas-fresh';\nimport { NodeDefinition } from '../types/node-definition.types';\nimport { detectProviderFromCredential } from 'src/utils/provider-detection';\nimport { BatchProvider } from 'src/services/ai/base-client';\nimport {\n NodeConfigUpdateContext,\n NodeConfigUpdateEvent,\n NodeConfigUpdateResponse,\n} from 'src/types/node-config-update.types';\nimport {\n AgentToolDefinition,\n AgentMessage,\n AgentToolCall,\n ToolExecutionRecord,\n AgentFinishReason,\n AgentToolExecutionContext,\n AgentExecutionOutput,\n AgentStopCondition,\n AddedToolInstance,\n ConfiguredToolDefinition,\n DEFAULT_TOOL_TIMEOUT_MS,\n DEFAULT_MAX_CONVERSATION_TOKENS,\n APPROX_TOKENS_PER_CHAR,\n} from 'src/types/agent-tool.types';\nimport { AgentToolRegistry } from 'src/services/agent-tools/agent-tool-registry';\nimport z from 'zod/v4';\nimport { createOutputSchema } from 'src/types/node-output-schemas';\n\n/**\n * Zod schema for an added tool instance\n */\nconst addedToolInstanceSchema = z.object({\n instanceId: z.string(),\n toolId: z.string(),\n name: z.string(),\n description: z.string(),\n params: z.record(z.string(), z.unknown()),\n});\n\n/**\n * Zod schema for Agent node parameters\n * This provides runtime validation and type inference\n */\nexport const agentNodeParamsSchema = z.object({\n // Required fields\n credentialId: z.string().min(1, 'Credential is required'),\n model: z.string().min(1, 'Model is required'),\n taskPrompt: z.string().min(1, 'Task prompt is required'),\n\n // Optional fields with defaults\n systemPrompt: z.string().optional().default(''),\n provider: z.string().optional(),\n // Support both legacy string array and new AddedToolInstance array\n enabledTools: z.array(z.string()).optional().default([]),\n addedTools: z.array(addedToolInstanceSchema).optional().default([]),\n maxIterations: z.number().int().min(1).max(50).optional().default(10),\n stopCondition: z\n .enum(['explicit_stop', 'tool_result', 'max_iterations'])\n .optional()\n .default('explicit_stop'),\n temperature: z.number().min(0).max(2).optional().default(0.7),\n maxTokens: z.number().positive().optional(),\n toolTimeoutMs: z.number().positive().optional().default(DEFAULT_TOOL_TIMEOUT_MS),\n maxConversationTokens: z.number().positive().optional().default(DEFAULT_MAX_CONVERSATION_TOKENS),\n enableParallelTools: z.boolean().optional().default(true),\n useBatchProcessing: z.boolean().optional().default(false),\n});\n\n/**\n * Inferred type from the schema - use this instead of manual type casting\n */\nexport type AgentNodeParams = z.infer<typeof agentNodeParamsSchema>;\n\n/**\n * Zod schema for Agent node output\n */\nexport const agentNodeOutputSchema = createOutputSchema(\n GraphNodeType.AGENT,\n z.object({\n output: z.object({\n value: z.object({\n finalResponse: z.string(),\n toolResults: z.array(\n z.object({\n toolId: z.string(),\n toolName: z.string(),\n input: z.record(z.string(), z.unknown()),\n output: z.unknown().optional(),\n error: z.string().optional(),\n success: z.boolean(),\n iteration: z.number(),\n executionTimeMs: z.number(),\n }),\n ),\n iterations: z.number(),\n finishReason: z.enum(['completed', 'max_iterations', 'tool_result', 'error']),\n }),\n type: z.literal('object'),\n }),\n }),\n z\n .object({\n model: z.string().optional(),\n provider: z.nativeEnum(BatchProvider).optional(),\n toolsUsed: z.array(z.string()).optional(),\n totalIterations: z.number().optional(),\n tokenUsage: z\n .object({\n conversationTokensEstimate: z.number(),\n truncationOccurred: z.boolean(),\n })\n .optional(),\n })\n .optional(),\n);\n\n/**\n * AI Agent Node Executor\n * Runs an agent loop that can use tools to accomplish tasks\n */\nexport class AgentNodeExecutor extends BaseNodeExecutor<\n GraphNodeType.AGENT,\n typeof agentNodeParamsSchema\n> {\n private toolRegistry: AgentToolRegistry;\n\n /**\n * Zod schema for validating agent node parameters\n */\n override readonly paramsSchema = agentNodeParamsSchema;\n readonly outputSchema = agentNodeOutputSchema;\n\n constructor(toolRegistry?: AgentToolRegistry) {\n super(GraphNodeType.AGENT);\n // Use provided registry or create empty one\n this.toolRegistry = toolRegistry || new AgentToolRegistry();\n }\n\n /**\n * Set the tool registry (called after initialization)\n */\n setToolRegistry(registry: AgentToolRegistry): void {\n this.toolRegistry = registry;\n }\n\n getDefinition(): NodeDefinition {\n return {\n type: GraphNodeType.AGENT,\n label: 'AI Agent',\n description: 'LLM agent that can use tools to accomplish tasks',\n category: 'AI',\n icon: 'Bot',\n input: {\n id: 'input',\n label: 'Incoming Data',\n type: 'object',\n description: 'Context data available to the agent',\n },\n outputs: [{ id: 'output', label: 'Agent Output', type: 'object' }],\n paramFields: [\n // Credential Selection\n {\n name: 'credentialId',\n label: 'Credential',\n type: 'credential',\n required: true,\n description: 'API credential for the LLM provider',\n defaultValue: '',\n },\n // Model Selection (dynamic options via handleConfigUpdate)\n {\n name: 'model',\n label: 'Model',\n type: 'select',\n required: true,\n defaultValue: '',\n options: [],\n placeholder: 'Select a model',\n description: 'LLM model to use for the agent',\n },\n // Task Prompt\n {\n name: 'taskPrompt',\n label: 'Task / Goal',\n type: 'textarea',\n required: true,\n defaultValue: '',\n placeholder: 'Describe what the agent should accomplish...',\n description: 'The main task or goal for the agent. Supports Nunjucks templating.',\n },\n // System Prompt\n {\n name: 'systemPrompt',\n label: 'System Prompt',\n type: 'textarea',\n required: false,\n defaultValue: '',\n placeholder: 'Optional: Additional context or behavior instructions...',\n description: \"System-level instructions for the agent's behavior.\",\n },\n // Tool Selection (would be tool-selector type in frontend)\n {\n name: 'enabledTools',\n label: 'Available Tools',\n type: 'json',\n required: false,\n defaultValue: [],\n description:\n 'Array of tool IDs the agent can use. Example: [\"jq_query\", \"http_request\", \"math_eval\"]',\n },\n // Max Iterations\n {\n name: 'maxIterations',\n label: 'Max Iterations',\n type: 'number',\n defaultValue: 10,\n description: 'Maximum number of agent iterations (1-50)',\n extended: true,\n },\n // Stop Condition\n {\n name: 'stopCondition',\n label: 'Stop Condition',\n type: 'select',\n defaultValue: 'explicit_stop',\n options: [\n { label: 'Agent decides to stop', value: 'explicit_stop' },\n { label: 'After first tool result', value: 'tool_result' },\n { label: 'Max iterations only', value: 'max_iterations' },\n ],\n description: 'When the agent should stop executing',\n extended: true,\n },\n // Temperature\n {\n name: 'temperature',\n label: 'Temperature',\n type: 'number',\n defaultValue: 0.7,\n description: 'Controls randomness (0.0 to 2.0)',\n extended: true,\n },\n // Max Tokens\n {\n name: 'maxTokens',\n label: 'Max Tokens',\n type: 'number',\n description: 'Maximum tokens per LLM call',\n extended: true,\n },\n // Tool Timeout\n {\n name: 'toolTimeoutMs',\n label: 'Tool Timeout (ms)',\n type: 'number',\n defaultValue: 30000,\n description: 'Maximum time in milliseconds for each tool execution (default: 30000)',\n extended: true,\n },\n // Max Conversation Tokens\n {\n name: 'maxConversationTokens',\n label: 'Max Conversation Tokens',\n type: 'number',\n defaultValue: 100000,\n description: 'Token budget for conversation history before truncation (default: 100000)',\n extended: true,\n },\n // Enable Parallel Tools\n {\n name: 'enableParallelTools',\n label: 'Enable Parallel Tools',\n type: 'boolean',\n defaultValue: true,\n description: 'Execute multiple tool calls in parallel when the LLM requests them',\n extended: true,\n },\n {\n name: 'useBatchProcessing',\n label: 'Batch Processing',\n type: 'boolean',\n defaultValue: false,\n description:\n \"When enabled, the initial prompt is submitted via the provider's batch API for asynchronous processing. The flow will pause until the batch completes.\",\n extended: true,\n hidden: true,\n },\n ],\n defaultParams: {\n credentialId: '',\n model: '',\n taskPrompt: '',\n systemPrompt: '',\n enabledTools: [],\n maxIterations: 10,\n stopCondition: 'explicit_stop',\n temperature: 0.7,\n toolTimeoutMs: 30000,\n maxConversationTokens: 100000,\n enableParallelTools: true,\n useBatchProcessing: false,\n },\n };\n }\n\n async handleConfigUpdate(\n event: NodeConfigUpdateEvent,\n context: NodeConfigUpdateContext,\n ): Promise<NodeConfigUpdateResponse> {\n const params = event.params ?? {};\n const credentialId = typeof params.credentialId === 'string' ? params.credentialId : '';\n const isCredentialChange = event.change?.field === 'credentialId';\n const providerFromParams =\n !isCredentialChange && typeof params.provider === 'string'\n ? (params.provider as BatchProvider)\n : undefined;\n\n if (!credentialId && !providerFromParams) {\n return {\n definition: this.getDefinition(),\n params,\n };\n }\n\n try {\n let provider = providerFromParams;\n\n if (!provider && credentialId) {\n const credential = await context.services.credentials.get(credentialId);\n provider = detectProviderFromCredential(credential) ?? undefined;\n }\n\n if (!provider) {\n return {\n definition: this.getDefinition(),\n params,\n warnings: ['Unable to detect provider from credential'],\n };\n }\n\n const { models, defaultModel } =\n await context.services.baseAIClient.listModelsForProvider(provider);\n\n const definition = this.hydrateModelOptions(this.getDefinition(), provider, models);\n const nextParams: Record<string, unknown> = { ...params, provider };\n const currentModelId = typeof nextParams['model'] === 'string' ? nextParams['model'] : '';\n\n if (!models.some((model) => model.id === currentModelId)) {\n const fallback = models.find((model) => model.id === defaultModel) ?? models[0];\n nextParams['model'] = fallback ? fallback.id : '';\n }\n\n return {\n definition,\n params: nextParams,\n };\n } catch (error) {\n context.logger.error('Agent node config update failed', {\n error: error instanceof Error ? error.message : String(error),\n nodeId: event.nodeId,\n });\n\n return {\n definition: this.getDefinition(),\n params,\n errors: [error instanceof Error ? error.message : String(error)],\n };\n }\n }\n\n private hydrateModelOptions(\n baseDefinition: NodeDefinition,\n provider: BatchProvider,\n models: { id: string; name?: string }[],\n ): NodeDefinition {\n const providerLabel = provider === BatchProvider.OPENAI ? 'OpenAI' : 'Anthropic';\n const supportsBatch = provider === BatchProvider.OPENAI || provider === BatchProvider.ANTHROPIC;\n return {\n ...baseDefinition,\n paramFields: baseDefinition.paramFields.map((field) => {\n if (field.name === 'useBatchProcessing') {\n return { ...field, hidden: !supportsBatch };\n }\n if (field.name !== 'model') {\n return field;\n }\n\n return {\n ...field,\n options: models.map((model) => ({\n label: model.name ?? model.id,\n value: model.id,\n })),\n placeholder: models.length\n ? `Select a ${providerLabel} model`\n : `No ${providerLabel} models available`,\n disabled: models.length === 0,\n };\n }),\n };\n }\n\n /**\n * Build configured tool definitions from added tool instances.\n *\n * For each instance:\n * - Look up the base tool definition from the registry\n * - Apply instance customizations (name, description)\n * - Filter inputSchema to only include AI-chosen params\n * - Track static params for injection during execution\n *\n * @returns Array of configured tool definitions and a map of instanceId -> static params\n */\n private buildConfiguredTools(\n addedTools: AddedToolInstance[],\n logger?: { debug: (msg: string, meta?: Record<string, unknown>) => void },\n ): { tools: ConfiguredToolDefinition[]; staticParamsMap: Map<string, Record<string, unknown>> } {\n const tools: ConfiguredToolDefinition[] = [];\n const staticParamsMap = new Map<string, Record<string, unknown>>();\n\n logger?.debug('Building configured tools from addedTools', {\n addedToolCount: addedTools.length,\n addedToolIds: addedTools.map((t) => ({\n instanceId: t.instanceId,\n toolId: t.toolId,\n name: t.name,\n })),\n });\n\n for (const instance of addedTools) {\n const registeredTool = this.toolRegistry.get(instance.toolId);\n const baseDef = registeredTool?.definition;\n if (!baseDef) {\n // Skip unknown tools\n logger?.debug('Skipping unknown tool', { toolId: instance.toolId });\n continue;\n }\n\n const aiChosenModes = (instance.params._aiChosenModes as Record<string, boolean>) ?? {};\n const staticParams: Record<string, unknown> = {};\n\n // SECURITY: credentialId is NEVER AI-chosen - always extract as static param\n // This ensures credentials are user-configured, not hallucinated by the AI\n if (instance.params.credentialId !== undefined) {\n staticParams.credentialId = instance.params.credentialId;\n }\n\n logger?.debug('Processing tool instance', {\n instanceId: instance.instanceId,\n toolId: instance.toolId,\n name: instance.name,\n paramKeys: Object.keys(instance.params),\n aiChosenModes,\n });\n\n // Build filtered input schema - only include params where AI should choose\n const baseSchema = baseDef.inputSchema as {\n type?: string;\n properties?: Record<string, unknown>;\n required?: string[];\n };\n\n let filteredSchema: Record<string, unknown> = { ...baseDef.inputSchema };\n\n if (baseSchema.properties) {\n const filteredProperties: Record<string, unknown> = {};\n\n for (const [paramName, paramSchema] of Object.entries(baseSchema.properties)) {\n // SECURITY: Credential params are NEVER AI-chosen\n if (paramName === 'credentialId') {\n // Already handled above - skip including in AI schema\n continue;\n }\n\n // Default to AI-chosen (true) if not explicitly set\n const isAiChosen = aiChosenModes[paramName] ?? true;\n\n if (isAiChosen) {\n // AI will provide this value - include in schema\n filteredProperties[paramName] = paramSchema;\n } else {\n // User provided static value - exclude from schema, track for injection\n if (instance.params[paramName] !== undefined) {\n staticParams[paramName] = instance.params[paramName];\n }\n }\n }\n\n // Filter required array to only include AI-chosen params (exclude credentialId)\n const filteredRequired = baseSchema.required?.filter((name) => {\n if (name === 'credentialId') {\n return false;\n } // Never required from AI\n const isAiChosen = aiChosenModes[name] ?? true;\n return isAiChosen;\n });\n\n filteredSchema = {\n ...baseSchema,\n properties: filteredProperties,\n required: filteredRequired && filteredRequired.length > 0 ? filteredRequired : undefined,\n };\n }\n\n logger?.debug('Tool static params extracted', {\n instanceId: instance.instanceId,\n staticParamKeys: Object.keys(staticParams),\n staticParamValues: staticParams,\n hasCredentialId: 'credentialId' in staticParams,\n });\n\n // Create configured tool definition\n // Use instanceId as the tool ID so we can map back to it during execution\n const configuredTool: ConfiguredToolDefinition = {\n ...baseDef,\n id: instance.instanceId, // Use instance ID so AI tool calls reference this specific instance\n name: instance.name,\n description: instance.description,\n inputSchema: filteredSchema,\n instanceId: instance.instanceId,\n staticParams,\n baseToolId: instance.toolId,\n };\n\n tools.push(configuredTool);\n staticParamsMap.set(instance.instanceId, staticParams);\n }\n\n return { tools, staticParamsMap };\n }\n\n /**\n * Execute the agent loop\n */\n async execute(\n inputs: NodeInputData,\n node: FlowNodeForType<GraphNodeType.AGENT>,\n context: NodeExecutionContext,\n ): Promise<NodeExecutionResult> {\n this.logExecutionStart(context);\n\n try {\n // Parse and validate params using the schema\n const paramsResult = this.parseParams(node.params);\n if (!paramsResult.success) {\n return this.createErrorResult([`Invalid agent node parameters: ${paramsResult.error}`]);\n }\n\n const params = paramsResult.data;\n\n // Check if agent prompt function is available\n if (!context.functions.submitAgentPrompt) {\n return this.createErrorResult(['Agent prompt function not available in execution context']);\n }\n\n // Detect provider from credential if not already set\n let provider = params.provider as BatchProvider | undefined;\n if (!provider) {\n if (!context.functions.getCredential) {\n return this.createErrorResult([\n 'Credential lookup function not available in execution context',\n ]);\n }\n\n const credential = await context.functions.getCredential(params.credentialId);\n if (!credential) {\n return this.createErrorResult(['Selected credential was not found or is inaccessible']);\n }\n\n provider = detectProviderFromCredential(credential) || undefined;\n if (!provider) {\n return this.createErrorResult(['Unable to detect provider from credential.']);\n }\n }\n\n // Log what tools are configured on this agent node\n context.logger.debug(`Agent ${context.nodeId} - Tool configuration`, {\n addedToolsCount: params.addedTools?.length ?? 0,\n enabledToolsCount: params.enabledTools?.length ?? 0,\n addedTools: params.addedTools\n ? JSON.stringify(params.addedTools).substring(0, 500)\n : 'undefined',\n });\n\n // Build configured tools from added tool instances\n // This handles schema filtering for static params and tracks instance -> base tool mapping\n let configuredTools: ConfiguredToolDefinition[] = [];\n let staticParamsMap = new Map<string, Record<string, unknown>>();\n\n if (params.addedTools && params.addedTools.length > 0) {\n // New format: full tool instances with configuration\n const result = this.buildConfiguredTools(\n params.addedTools as AddedToolInstance[],\n context.logger,\n );\n configuredTools = result.tools;\n staticParamsMap = result.staticParamsMap;\n } else if (params.enabledTools && params.enabledTools.length > 0) {\n // Legacy format: just tool IDs (no static params, use base definitions as-is)\n const baseDefs = this.toolRegistry.getDefinitionsForIds(params.enabledTools);\n configuredTools = baseDefs.map((def) => ({\n ...def,\n instanceId: def.id,\n staticParams: {},\n baseToolId: def.id,\n }));\n }\n\n context.logger.debug(`Agent ${context.nodeId} - Starting agent loop`, {\n taskPrompt: params.taskPrompt.substring(0, 100),\n model: params.model,\n configuredToolCount: configuredTools.length,\n maxIterations: params.maxIterations,\n stopCondition: params.stopCondition,\n });\n\n // Run the agent loop\n const agentResult = await this.runAgentLoop(\n {\n taskPrompt: params.taskPrompt,\n systemPrompt: params.systemPrompt || undefined,\n model: params.model,\n maxIterations: params.maxIterations,\n stopCondition: params.stopCondition,\n temperature: params.temperature,\n maxTokens: params.maxTokens,\n credentialId: params.credentialId,\n useBatchProcessing: params.useBatchProcessing,\n },\n configuredTools,\n staticParamsMap,\n provider,\n context,\n {\n toolTimeoutMs: params.toolTimeoutMs,\n maxConversationTokens: params.maxConversationTokens,\n enableParallelTools: params.enableParallelTools,\n },\n );\n\n // If the agent loop returned a pending batch result, propagate it directly\n if ('state' in agentResult && agentResult.state === NodeExecutionStatus.PENDING) {\n return agentResult as NodeExecutionResult;\n }\n\n const agentOutput = agentResult as AgentExecutionOutput;\n\n // Build success result\n const executionResult = this.createSuccessResult(\n {\n nodeType: GraphNodeType.AGENT,\n data: {\n variables: {\n output: {\n value: agentOutput,\n type: 'object' as const,\n },\n },\n metadata: {\n model: params.model,\n provider,\n toolsUsed: agentOutput.toolResults.map((r) => r.toolId),\n totalIterations: agentOutput.iterations,\n tokenUsage: agentOutput.tokenUsage,\n },\n },\n },\n {\n model: params.model,\n provider,\n iterations: agentOutput.iterations,\n finishReason: agentOutput.finishReason,\n toolsUsed: agentOutput.toolResults.map((r) => r.toolId),\n executedAt: new Date().toISOString(),\n tokenUsage: agentOutput.tokenUsage,\n },\n );\n\n this.logExecutionComplete(context, executionResult);\n return executionResult;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n context.logger.error(`Agent ${context.nodeId} - Execution failed:`, {\n error: errorMessage,\n });\n\n return this.createErrorResult([`Agent execution failed: ${errorMessage}`]);\n }\n }\n\n /**\n * Run the agent loop with support for:\n * - Parallel tool execution\n * - Tool execution timeouts\n * - Conversation truncation for token management\n * - Static parameter injection for configured tools\n */\n private async runAgentLoop(\n params: {\n taskPrompt: string;\n systemPrompt?: string;\n model: string;\n maxIterations?: number;\n stopCondition?: string;\n temperature?: number;\n maxTokens?: number;\n credentialId: string;\n useBatchProcessing?: boolean;\n },\n tools: ConfiguredToolDefinition[],\n staticParamsMap: Map<string, Record<string, unknown>>,\n provider: BatchProvider,\n context: NodeExecutionContext,\n config: {\n toolTimeoutMs: number;\n maxConversationTokens: number;\n enableParallelTools: boolean;\n },\n ): Promise<AgentExecutionOutput | NodeExecutionResult> {\n const maxIterations = params.maxIterations ?? 10;\n const stopCondition = (params.stopCondition ?? 'explicit_stop') as AgentStopCondition;\n\n // Build system prompt with tool descriptions\n const systemPromptWithTools = this.buildSystemPromptWithTools(params.systemPrompt, tools);\n\n // Initialize conversation\n const messages: AgentMessage[] = [{ role: 'user', content: params.taskPrompt }];\n\n const toolResults: ToolExecutionRecord[] = [];\n let iteration = 0;\n let agentFinished = false;\n let finishReason: AgentFinishReason = 'max_iterations';\n let finalResponse = '';\n let truncationOccurred = false;\n\n while (!agentFinished && iteration < maxIterations) {\n iteration++;\n\n // Check and truncate conversation if needed\n const truncationResult = this.truncateConversationIfNeeded(\n messages,\n config.maxConversationTokens,\n context,\n );\n if (truncationResult.truncated) {\n truncationOccurred = true;\n }\n\n context.logger.debug(`Agent ${context.nodeId} - Iteration ${iteration}`, {\n messageCount: messages.length,\n toolResultCount: toolResults.length,\n estimatedTokens: truncationResult.estimatedTokens,\n });\n\n // Call LLM with tools (we've already verified submitAgentPrompt exists)\n // Batch processing is only used on the first iteration — subsequent\n // iterations (after tool results) always run direct so the agent can\n // continue its tool-calling loop without pausing.\n const useBatch = iteration === 1 && params.useBatchProcessing === true;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- verified during init\n const response = await context.functions.submitAgentPrompt!({\n model: params.model,\n messages,\n tools,\n systemPrompt: systemPromptWithTools,\n temperature: params.temperature,\n maxTokens: params.maxTokens,\n provider,\n credentialId: params.credentialId,\n parallelToolCalls: config.enableParallelTools,\n ...(useBatch\n ? {\n useBatchProcessing: true,\n nodeId: context.nodeId,\n flowRunId: context.flowRunId,\n }\n : {}),\n });\n\n // Handle batch submission — the flow will pause and resume later\n if ('type' in response && response.type === 'batch_submitted') {\n const batchResult = response as { batchJobId: string; nodeId: string; flowRunId: string };\n return {\n state: NodeExecutionStatus.PENDING,\n type: 'batch_submitted' as const,\n batchJobId: batchResult.batchJobId,\n nodeId: batchResult.nodeId,\n executionId: batchResult.flowRunId,\n };\n }\n\n // Get all tool calls\n const allToolCalls = response.toolCalls ?? [];\n\n context.logger.debug(`Agent ${context.nodeId} - LLM response`, {\n type: response.type,\n toolCallCount: allToolCalls.length,\n contentLength: response.content?.length ?? 0,\n });\n\n if (response.type === 'tool_use' && allToolCalls.length > 0) {\n // Execute tools - parallel or sequential based on config\n const iterationToolResults =\n config.enableParallelTools && allToolCalls.length > 1\n ? await this.executeToolsInParallel(\n allToolCalls,\n tools,\n staticParamsMap,\n context,\n iteration,\n maxIterations,\n config.toolTimeoutMs,\n )\n : await this.executeToolsSequentially(\n allToolCalls,\n tools,\n staticParamsMap,\n context,\n iteration,\n maxIterations,\n config.toolTimeoutMs,\n );\n\n toolResults.push(...iterationToolResults);\n\n // Add assistant message with all tool calls\n messages.push({\n role: 'assistant',\n content: response.content || '',\n toolCalls: allToolCalls,\n });\n\n // Add tool result messages for each tool call\n for (let i = 0; i < allToolCalls.length; i++) {\n const toolCall = allToolCalls[i];\n const toolRecord = iterationToolResults[i];\n\n messages.push({\n role: 'tool',\n toolCallId: toolCall.id,\n content: toolRecord.success\n ? JSON.stringify(toolRecord.output)\n : `Error: ${toolRecord.error}`,\n });\n }\n\n // Check stop condition\n if (stopCondition === 'tool_result') {\n agentFinished = true;\n finishReason = 'tool_result';\n const lastResult = iterationToolResults[iterationToolResults.length - 1];\n finalResponse = lastResult.success\n ? JSON.stringify(lastResult.output)\n : `Tool execution failed: ${lastResult.error}`;\n }\n } else {\n // Agent provided final answer (text response)\n agentFinished = true;\n finishReason = 'completed';\n finalResponse = response.content || '';\n\n messages.push({\n role: 'assistant',\n content: finalResponse,\n });\n }\n }\n\n // If we hit max iterations without completing\n if (!agentFinished) {\n finishReason = 'max_iterations';\n finalResponse =\n messages[messages.length - 1]?.content ||\n 'Agent reached maximum iterations without completing.';\n }\n\n // Calculate final token estimate\n const finalTokenEstimate = this.estimateConversationTokens(messages);\n\n return {\n finalResponse,\n toolResults,\n iterations: iteration,\n finishReason,\n conversationHistory: messages,\n tokenUsage: {\n conversationTokensEstimate: finalTokenEstimate,\n truncationOccurred,\n },\n };\n }\n\n /**\n * Execute multiple tools in parallel with timeout\n */\n private async executeToolsInParallel(\n toolCalls: AgentToolCall[],\n configuredTools: ConfiguredToolDefinition[],\n staticParamsMap: Map<string, Record<string, unknown>>,\n context: NodeExecutionContext,\n iteration: number,\n maxIterations: number,\n timeoutMs: number,\n ): Promise<ToolExecutionRecord[]> {\n context.logger.debug(\n `Agent ${context.nodeId} - Executing ${toolCalls.length} tools in parallel`,\n );\n\n const promises = toolCalls.map((toolCall) =>\n this.executeToolWithTimeout(\n toolCall,\n configuredTools,\n staticParamsMap,\n context,\n iteration,\n maxIterations,\n timeoutMs,\n ),\n );\n\n return Promise.all(promises);\n }\n\n /**\n * Execute multiple tools sequentially with timeout\n */\n private async executeToolsSequentially(\n toolCalls: AgentToolCall[],\n configuredTools: ConfiguredToolDefinition[],\n staticParamsMap: Map<string, Record<string, unknown>>,\n context: NodeExecutionContext,\n iteration: number,\n maxIterations: number,\n timeoutMs: number,\n ): Promise<ToolExecutionRecord[]> {\n const results: ToolExecutionRecord[] = [];\n\n for (const toolCall of toolCalls) {\n const result = await this.executeToolWithTimeout(\n toolCall,\n configuredTools,\n staticParamsMap,\n context,\n iteration,\n maxIterations,\n timeoutMs,\n );\n results.push(result);\n }\n\n return results;\n }\n\n /**\n * Execute a single tool with timeout\n */\n private async executeToolWithTimeout(\n toolCall: AgentToolCall,\n configuredTools: ConfiguredToolDefinition[],\n staticParamsMap: Map<string, Record<string, unknown>>,\n context: NodeExecutionContext,\n iteration: number,\n maxIterations: number,\n timeoutMs: number,\n ): Promise<ToolExecutionRecord> {\n const startTime = Date.now();\n\n // Create a timeout promise\n const timeoutPromise = new Promise<ToolExecutionRecord>((_, reject) => {\n setTimeout(() => {\n reject(new Error(`Tool execution timed out after ${timeoutMs}ms`));\n }, timeoutMs);\n });\n\n // Race between tool execution and timeout\n try {\n const result = await Promise.race([\n this.executeTool(\n toolCall,\n configuredTools,\n staticParamsMap,\n context,\n iteration,\n maxIterations,\n ),\n timeoutPromise,\n ]);\n return result;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n const isTimeout = errorMessage.includes('timed out');\n\n context.logger.warn(`Agent ${context.nodeId} - Tool ${isTimeout ? 'timed out' : 'failed'}`, {\n toolId: toolCall.toolId,\n error: errorMessage,\n timeoutMs,\n });\n\n // Find the configured tool to get a nicer name\n const configuredTool = configuredTools.find((t) => t.id === toolCall.toolId);\n const registeredTool = configuredTool\n ? this.toolRegistry.get(configuredTool.baseToolId)\n : this.toolRegistry.get(toolCall.toolId);\n\n return {\n toolId: toolCall.toolId,\n toolName: configuredTool?.name ?? registeredTool?.definition.name ?? toolCall.toolId,\n input: toolCall.input,\n error: errorMessage,\n success: false,\n iteration,\n executionTimeMs: Date.now() - startTime,\n };\n }\n }\n\n /**\n * Estimate the number of tokens in the conversation\n */\n private estimateConversationTokens(messages: AgentMessage[]): number {\n let totalChars = 0;\n\n for (const message of messages) {\n totalChars += (message.content ?? '').length;\n if (message.toolCalls) {\n totalChars += JSON.stringify(message.toolCalls).length;\n }\n }\n\n return Math.ceil(totalChars * APPROX_TOKENS_PER_CHAR);\n }\n\n /**\n * Truncate conversation history if it exceeds the token budget\n * Preserves the first message (task prompt) and recent messages\n */\n private truncateConversationIfNeeded(\n messages: AgentMessage[],\n maxTokens: number,\n context: NodeExecutionContext,\n ): { truncated: boolean; estimatedTokens: number } {\n const estimatedTokens = this.estimateConversationTokens(messages);\n\n if (estimatedTokens <= maxTokens || messages.length <= 2) {\n return { truncated: false, estimatedTokens };\n }\n\n context.logger.info(`Agent ${context.nodeId} - Truncating conversation`, {\n currentTokens: estimatedTokens,\n maxTokens,\n messageCount: messages.length,\n });\n\n // Keep the first message (task prompt) and progressively remove old messages\n // until we're under the token budget\n const firstMessage = messages[0];\n const remainingMessages = messages.slice(1);\n\n // Remove messages from the beginning (oldest) until under budget\n while (remainingMessages.length > 1) {\n const testMessages = [firstMessage, ...remainingMessages];\n const testTokens = this.estimateConversationTokens(testMessages);\n\n if (testTokens <= maxTokens * 0.9) {\n // Leave 10% buffer\n break;\n }\n\n // Remove the oldest message (after the first one)\n // If it's an assistant message with tool calls, also remove the corresponding tool result\n const removedMessage = remainingMessages.shift();\n\n // If we removed an assistant message with tool calls, remove the tool result messages too\n if (removedMessage?.toolCalls && removedMessage.toolCalls.length > 0) {\n const toolCallIds = new Set(removedMessage.toolCalls.map((tc) => tc.id));\n // Remove any tool result messages that correspond to the removed tool calls\n while (\n remainingMessages.length > 0 &&\n remainingMessages[0].role === 'tool' &&\n remainingMessages[0].toolCallId &&\n toolCallIds.has(remainingMessages[0].toolCallId)\n ) {\n remainingMessages.shift();\n }\n }\n }\n\n // Add a summary message to indicate truncation\n const truncationNotice: AgentMessage = {\n role: 'user',\n content:\n '[Note: Earlier conversation history has been truncated to stay within token limits. The conversation continues from here.]',\n };\n\n // Reconstruct messages array\n messages.length = 0;\n messages.push(firstMessage, truncationNotice, ...remainingMessages);\n\n const newEstimatedTokens = this.estimateConversationTokens(messages);\n context.logger.info(`Agent ${context.nodeId} - Conversation truncated`, {\n newTokens: newEstimatedTokens,\n newMessageCount: messages.length,\n });\n\n return { truncated: true, estimatedTokens: newEstimatedTokens };\n }\n\n /**\n * Build system prompt with tool descriptions\n */\n private buildSystemPromptWithTools(\n baseSystemPrompt: string | undefined,\n tools: AgentToolDefinition[],\n ): string {\n let systemPrompt = baseSystemPrompt || '';\n\n if (tools.length > 0) {\n const toolDescriptions = tools\n .map((tool) => `- ${tool.name} (${tool.id}): ${tool.description}`)\n .join('\\n');\n\n const toolInstructions = `\nYou have access to the following tools:\n\n${toolDescriptions}\n\nTo use a tool, respond with a tool call in the appropriate format for your API.\nOnly use tools when necessary to accomplish the task.\nWhen you have completed the task or have a final answer, respond with text only (no tool call).\n`;\n\n systemPrompt = systemPrompt ? `${systemPrompt}\\n\\n${toolInstructions}` : toolInstructions;\n }\n\n return systemPrompt;\n }\n\n /**\n * Execute a tool call\n *\n * The toolCall.toolId may be an instanceId (for configured tools) or a base tool ID (legacy).\n * We look up the configured tool to:\n * 1. Find the base tool ID for the actual executor\n * 2. Merge static params with the AI-provided input\n * 3. Record the tool execution to the database\n */\n private async executeTool(\n toolCall: AgentToolCall,\n configuredTools: ConfiguredToolDefinition[],\n staticParamsMap: Map<string, Record<string, unknown>>,\n context: NodeExecutionContext,\n iteration: number,\n maxIterations: number,\n ): Promise<ToolExecutionRecord> {\n const startTime = Date.now();\n const startedAt = new Date().toISOString();\n\n // Find the configured tool (toolCall.toolId is the instanceId)\n const configuredTool = configuredTools.find((t) => t.id === toolCall.toolId);\n\n // Get the base tool ID - either from configured tool or use the toolId directly (legacy)\n const baseToolId = configuredTool?.baseToolId ?? toolCall.toolId;\n\n const registeredTool = this.toolRegistry.get(baseToolId);\n if (!registeredTool) {\n const result: ToolExecutionRecord = {\n toolId: toolCall.toolId,\n toolName: configuredTool?.name ?? toolCall.toolId,\n input: toolCall.input,\n error: `Tool '${baseToolId}' not found in registry`,\n success: false,\n iteration,\n executionTimeMs: Date.now() - startTime,\n };\n\n // Record failed tool execution to database\n await this.recordToolExecutionToDb(context, result, startedAt);\n\n return result;\n }\n\n // Merge static params with AI-provided input\n // Static params take precedence (user-configured values override any AI attempts)\n const staticParams = staticParamsMap.get(toolCall.toolId) ?? {};\n const mergedInput = { ...toolCall.input, ...staticParams };\n\n // Tools are self-contained - they import their own dependencies\n // The nodeContext provides access to cross-cutting concerns like credentials\n const toolContext: AgentToolExecutionContext = {\n logger: context.logger,\n iteration,\n maxIterations,\n nodeContext: context,\n staticParams, // Pass static params so tools can access configured values like credentialId\n };\n\n try {\n context.logger.debug(`Agent ${context.nodeId} - Executing tool`, {\n toolId: toolCall.toolId,\n baseToolId,\n hasStaticParams: Object.keys(staticParams).length > 0,\n staticParamKeys: Object.keys(staticParams),\n credentialIdInStaticParams: staticParams.credentialId ?? 'NOT SET',\n input: JSON.stringify(mergedInput).substring(0, 200),\n });\n\n const executorResult = await registeredTool.executor(mergedInput, toolContext);\n\n const result: ToolExecutionRecord = {\n toolId: toolCall.toolId,\n toolName: configuredTool?.name ?? registeredTool.definition.name,\n input: mergedInput,\n output: executorResult.output,\n error: executorResult.error,\n success: executorResult.success,\n iteration,\n executionTimeMs: Date.now() - startTime,\n };\n\n // Record successful tool execution to database\n await this.recordToolExecutionToDb(context, result, startedAt);\n\n return result;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n\n context.logger.error(`Agent ${context.nodeId} - Tool execution failed`, {\n toolId: toolCall.toolId,\n baseToolId,\n error: errorMessage,\n });\n\n const result: ToolExecutionRecord = {\n toolId: toolCall.toolId,\n toolName: configuredTool?.name ?? registeredTool.definition.name,\n input: mergedInput,\n error: errorMessage,\n success: false,\n iteration,\n executionTimeMs: Date.now() - startTime,\n };\n\n // Record failed tool execution to database\n await this.recordToolExecutionToDb(context, result, startedAt);\n\n return result;\n }\n }\n\n /**\n * Record a tool execution to the database via the context function.\n * This is a best-effort operation - failures are logged but don't affect the agent loop.\n */\n private async recordToolExecutionToDb(\n context: NodeExecutionContext,\n result: ToolExecutionRecord,\n startedAt: string,\n ): Promise<void> {\n const { recordToolExecution } = context.functions;\n\n if (!recordToolExecution) {\n context.logger.debug('recordToolExecution not available, skipping database recording');\n return;\n }\n\n // traceId is the nodeExecutionId\n const nodeExecutionId = context.traceId;\n if (!nodeExecutionId) {\n context.logger.warn('traceId (nodeExecutionId) not available, skipping database recording');\n return;\n }\n\n try {\n await recordToolExecution({\n nodeExecutionId,\n flowRunId: context.flowRunId,\n toolId: result.toolId,\n toolName: result.toolName,\n iteration: result.iteration,\n input: result.input,\n output: result.output,\n error: result.error,\n success: result.success,\n startedAt,\n completedAt: new Date().toISOString(),\n duration: result.executionTimeMs,\n });\n\n context.logger.debug('Tool execution recorded to database', {\n toolId: result.toolId,\n iteration: result.iteration,\n success: result.success,\n });\n } catch (error) {\n // Best-effort - don't fail the agent loop if recording fails\n context.logger.warn('Failed to record tool execution to database', {\n toolId: result.toolId,\n error: error instanceof Error ? error.message : String(error),\n });\n }\n }\n}\n"],"mappings":"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d,SAAS,EAAE;KACX,aAAa;KACb,aAAa;KACd;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,UAAU;KACV,cAAc;KACd,aAAa;KACb,aAAa;KACd;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,UAAU;KACV,cAAc;KACd,aAAa;KACb,aAAa;KACd;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,UAAU;KACV,cAAc,EAAE;KAChB,aACE;KACH;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,SAAS;MACP;OAAE,OAAO;OAAyB,OAAO;OAAiB;MAC1D;OAAE,OAAO;OAA2B,OAAO;OAAe;MAC1D;OAAE,OAAO;OAAuB,OAAO;OAAkB;MAC1D;KACD,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aAAa;KACb,UAAU;KACX;IAED;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aAAa;KACb,UAAU;KACX;IACD;KACE,MAAM;KACN,OAAO;KACP,MAAM;KACN,cAAc;KACd,aACE;KACF,UAAU;KACV,QAAQ;KACT;IACF;GACD,eAAe;IACb,cAAc;IACd,OAAO;IACP,YAAY;IACZ,cAAc;IACd,cAAc,EAAE;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,eAAe;IACf,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACrB;GACF;;CAGH,MAAM,mBACJ,OACA,SACmC;EACnC,MAAM,SAAS,MAAM,UAAU,EAAE;EACjC,MAAM,eAAe,OAAO,OAAO,iBAAiB,WA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"}
@@ -0,0 +1,174 @@
1
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
+ const require_base = require("../types/base.cjs");
3
+ let zod_v4 = require("zod/v4");
4
+ zod_v4 = require_runtime.__toESM(zod_v4);
5
+ //#region src/nodes/base-node.ts
6
+ /**
7
+ * Default params schema for nodes that don't define their own.
8
+ * Accepts any object - no validation.
9
+ */
10
+ const defaultParamsSchema = zod_v4.default.record(zod_v4.default.string(), zod_v4.default.unknown());
11
+ /**
12
+ * Abstract base class for all node executors.
13
+ *
14
+ * @typeParam TNodeType - The GraphNodeType this executor handles
15
+ * @typeParam TParamsSchema - Zod schema type for node parameters (defaults to permissive record)
16
+ */
17
+ var BaseNodeExecutor = class {
18
+ constructor(nodeType) {
19
+ this.nodeType = nodeType;
20
+ this.nodeType = nodeType;
21
+ }
22
+ /**
23
+ * Zod schema for validating node parameters.
24
+ * Override this in subclasses to provide typed param validation.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * readonly paramsSchema = z.object({
29
+ * prompt: z.string().min(1),
30
+ * temperature: z.number().optional().default(0.7),
31
+ * });
32
+ * ```
33
+ */
34
+ paramsSchema = defaultParamsSchema;
35
+ /**
36
+ * Handle node configuration updates (optional per node)
37
+ */
38
+ async handleConfigUpdate(event, _context) {
39
+ return {
40
+ definition: this.getDefinition(),
41
+ params: event.params
42
+ };
43
+ }
44
+ /**
45
+ * Parse and validate node params using the executor's paramsSchema.
46
+ * Returns typed params if valid, or an error message if invalid.
47
+ *
48
+ * @param params - Raw params from node.params (Record<string, unknown>)
49
+ * @returns Parsed and typed params, or error
50
+ */
51
+ parseParams(params) {
52
+ const result = this.paramsSchema.safeParse(params);
53
+ if (!result.success) return {
54
+ success: false,
55
+ error: zod_v4.default.prettifyError(result.error)
56
+ };
57
+ return {
58
+ success: true,
59
+ data: result.data
60
+ };
61
+ }
62
+ /**
63
+ * Validate node inputs.
64
+ * All nodes accept a generic Record<string, unknown> — actual data
65
+ * extraction happens via {{ expression }} templates in the node params.
66
+ */
67
+ validateInputs(inputs) {
68
+ if (inputs !== null && inputs !== void 0 && typeof inputs !== "object") return {
69
+ isValid: false,
70
+ error: `Expected object inputs, got ${typeof inputs}`
71
+ };
72
+ return {
73
+ isValid: true,
74
+ data: inputs ?? {}
75
+ };
76
+ }
77
+ /**
78
+ * Create a successful execution result
79
+ */
80
+ createSuccessResult(output, metadata) {
81
+ return {
82
+ state: require_base.NodeExecutionStatus.SUCCESS,
83
+ metadata,
84
+ type: "output",
85
+ output
86
+ };
87
+ }
88
+ /**
89
+ * Create a pending execution result
90
+ */
91
+ createPendingResult(batchJobId, nodeId, executionId, metadata) {
92
+ return {
93
+ state: require_base.NodeExecutionStatus.PENDING,
94
+ type: "batch_submitted",
95
+ batchJobId,
96
+ nodeId,
97
+ executionId,
98
+ metadata
99
+ };
100
+ }
101
+ /**
102
+ * Create a failed execution result
103
+ */
104
+ createErrorResult(errors, metadata) {
105
+ return {
106
+ state: require_base.NodeExecutionStatus.FAILED,
107
+ errors,
108
+ metadata
109
+ };
110
+ }
111
+ /**
112
+ * Log execution start
113
+ */
114
+ logExecutionStart(context) {
115
+ context.logger.debug(`Starting execution of ${this.nodeType} node`, {
116
+ nodeId: context.nodeId,
117
+ traceId: context.traceId,
118
+ flowRunId: context.flowRunId
119
+ });
120
+ }
121
+ /**
122
+ * Log execution completion
123
+ */
124
+ logExecutionComplete(context, result) {
125
+ context.logger.debug(`${result.state}: trace: ${context.traceId} - nodeId: ${context.nodeId} - flowRunId: ${context.flowRunId} - nodeType: ${this.nodeType}`);
126
+ }
127
+ };
128
+ /**
129
+ * Utility functions for node execution
130
+ */
131
+ var NodeExecutionUtils = class NodeExecutionUtils {
132
+ /**
133
+ * Safely extract nested value from object
134
+ */
135
+ static getNestedValue(obj, path, defaultValue) {
136
+ const keys = path.split(".");
137
+ let current = obj;
138
+ for (const key of keys) {
139
+ if (current === null || current === void 0 || !(key in current)) return defaultValue;
140
+ current = current[key];
141
+ }
142
+ return current;
143
+ }
144
+ /**
145
+ * Set nested value in object
146
+ */
147
+ static setNestedValue(obj, path, value) {
148
+ const keys = path.split(".");
149
+ const lastKey = keys.pop();
150
+ let current = obj;
151
+ for (const key of keys) {
152
+ if (!(key in current) || typeof current[key] !== "object") current[key] = {};
153
+ current = current[key];
154
+ }
155
+ if (lastKey === void 0) throw new Error("Invalid path: no last key provided");
156
+ current[lastKey] = value;
157
+ }
158
+ /**
159
+ * Template string replacement
160
+ */
161
+ static replaceTemplateVariables(template, variables) {
162
+ return template.replace(/\{\{([^}]+)\}\}/g, (match, varName) => {
163
+ const trimmedVarName = varName.trim();
164
+ const value = NodeExecutionUtils.getNestedValue(variables, trimmedVarName);
165
+ return value !== void 0 ? String(value) : match;
166
+ });
167
+ }
168
+ };
169
+ //#endregion
170
+ exports.BaseNodeExecutor = BaseNodeExecutor;
171
+ exports.NodeExecutionUtils = NodeExecutionUtils;
172
+ exports.defaultParamsSchema = defaultParamsSchema;
173
+
174
+ //# sourceMappingURL=base-node.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-node.cjs","names":["z","NodeExecutionStatus"],"sources":["../../src/nodes/base-node.ts"],"sourcesContent":["import type { NodeOutput, NodeInputData } from 'src/types/node-io-types';\nimport { GraphNodeType, NodeExecutionContext } from 'src/types-fresh';\nimport { NodeExecutionStatus } from 'src/types/base';\nimport { FlowNodeForType } from 'src/services/flow-versions/schemas-fresh';\nimport z, { ZodType } from 'zod/v4';\nimport { NodeDefinition } from '../types/node-definition.types';\nimport {\n NodeConfigUpdateContext,\n NodeConfigUpdateEvent,\n NodeConfigUpdateResponse,\n} from 'src/types/node-config-update.types';\nimport type {\n NodeExecutionResult,\n NodeExecutionFailedResult,\n NodeExecutionPendingResult,\n NodeExecutionSuccessResult,\n} from 'src/types/node-execution.types';\n\n/**\n * Result of parsing params with a schema\n */\nexport type ParamsParseResult<T> = { success: true; data: T } | { success: false; error: string };\n\n/**\n * Default params schema for nodes that don't define their own.\n * Accepts any object - no validation.\n */\nexport const defaultParamsSchema = z.record(z.string(), z.unknown());\n\n/**\n * Abstract base class for all node executors.\n *\n * @typeParam TNodeType - The GraphNodeType this executor handles\n * @typeParam TParamsSchema - Zod schema type for node parameters (defaults to permissive record)\n */\nexport abstract class BaseNodeExecutor<\n in out TNodeType extends GraphNodeType,\n TParamsSchema extends ZodType = typeof defaultParamsSchema,\n> {\n constructor(readonly nodeType: TNodeType) {\n this.nodeType = nodeType;\n }\n\n /**\n * Zod schema for validating node parameters.\n * Override this in subclasses to provide typed param validation.\n *\n * @example\n * ```typescript\n * readonly paramsSchema = z.object({\n * prompt: z.string().min(1),\n * temperature: z.number().optional().default(0.7),\n * });\n * ```\n */\n readonly paramsSchema: TParamsSchema = defaultParamsSchema as unknown as TParamsSchema;\n\n /**\n * Get the static definition of this node type\n */\n abstract getDefinition(): NodeDefinition;\n\n /**\n * run the node\n */\n abstract execute(\n inputs: NodeInputData,\n node: FlowNodeForType<TNodeType>,\n context: NodeExecutionContext,\n ): Promise<NodeExecutionResult> | NodeExecutionResult;\n\n /**\n * Handle node configuration updates (optional per node)\n */\n async handleConfigUpdate(\n event: NodeConfigUpdateEvent,\n _context: NodeConfigUpdateContext,\n ): Promise<NodeConfigUpdateResponse> {\n return {\n definition: this.getDefinition(),\n params: event.params,\n };\n }\n\n /**\n * Parse and validate node params using the executor's paramsSchema.\n * Returns typed params if valid, or an error message if invalid.\n *\n * @param params - Raw params from node.params (Record<string, unknown>)\n * @returns Parsed and typed params, or error\n */\n protected parseParams(\n params: Record<string, unknown>,\n ): ParamsParseResult<z.infer<TParamsSchema>> {\n const result = this.paramsSchema.safeParse(params);\n if (!result.success) {\n return {\n success: false,\n error: z.prettifyError(result.error),\n };\n }\n return { success: true, data: result.data as z.infer<TParamsSchema> };\n }\n\n /**\n * Validate node inputs.\n * All nodes accept a generic Record<string, unknown> — actual data\n * extraction happens via {{ expression }} templates in the node params.\n */\n validateInputs(\n inputs: unknown,\n ): { isValid: true; data: NodeInputData } | { isValid: false; error: string } {\n if (inputs !== null && inputs !== undefined && typeof inputs !== 'object') {\n return { isValid: false, error: `Expected object inputs, got ${typeof inputs}` };\n }\n return { isValid: true, data: (inputs ?? {}) as NodeInputData };\n }\n\n /**\n * Create a successful execution result\n */\n protected createSuccessResult(\n output: NodeOutput,\n metadata?: Record<string, unknown>,\n ): NodeExecutionSuccessResult {\n return {\n state: NodeExecutionStatus.SUCCESS,\n metadata,\n type: 'output',\n output,\n };\n }\n\n /**\n * Create a pending execution result\n */\n protected createPendingResult(\n batchJobId: string,\n nodeId: string,\n executionId: string,\n metadata?: Record<string, unknown>,\n ): NodeExecutionPendingResult {\n return {\n state: NodeExecutionStatus.PENDING,\n type: 'batch_submitted',\n batchJobId,\n nodeId,\n executionId,\n metadata,\n };\n }\n\n /**\n * Create a failed execution result\n */\n protected createErrorResult(\n errors: string[],\n metadata?: Record<string, unknown>,\n ): NodeExecutionFailedResult {\n return {\n state: NodeExecutionStatus.FAILED,\n errors,\n metadata,\n };\n }\n\n /**\n * Log execution start\n */\n protected logExecutionStart(context: NodeExecutionContext): void {\n context.logger.debug(`Starting execution of ${this.nodeType} node`, {\n nodeId: context.nodeId,\n traceId: context.traceId,\n flowRunId: context.flowRunId,\n });\n }\n\n /**\n * Log execution completion\n */\n protected logExecutionComplete(context: NodeExecutionContext, result: NodeExecutionResult): void {\n context.logger.debug(\n `${result.state}: trace: ${context.traceId} - nodeId: ${context.nodeId} - flowRunId: ${context.flowRunId} - nodeType: ${this.nodeType}`,\n );\n }\n}\n\n/**\n * Type alias for any node executor (used in registries and collections)\n * This erases the specific schema type to allow storing different executor types together\n */\nexport type AnyNodeExecutor = BaseNodeExecutor<GraphNodeType, ZodType<unknown>>;\n\n/**\n * Utility functions for node execution\n */\nexport class NodeExecutionUtils {\n /**\n * Safely extract nested value from object\n */\n static getNestedValue(\n obj: Record<string, unknown>,\n path: string,\n defaultValue?: unknown,\n ): unknown {\n const keys = path.split('.');\n let current = obj;\n\n for (const key of keys) {\n if (current === null || current === undefined || !(key in current)) {\n return defaultValue;\n }\n current = current[key] as Record<string, unknown>;\n }\n\n return current;\n }\n\n /**\n * Set nested value in object\n */\n static setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): void {\n const keys = path.split('.');\n const lastKey = keys.pop();\n let current = obj;\n\n for (const key of keys) {\n if (!(key in current) || typeof current[key] !== 'object') {\n current[key] = {};\n }\n current = current[key] as Record<string, unknown>;\n }\n\n if (lastKey === undefined) {\n throw new Error('Invalid path: no last key provided');\n }\n current[lastKey] = value;\n }\n\n /**\n * Template string replacement\n */\n static replaceTemplateVariables(template: string, variables: Record<string, unknown>): string {\n return template.replace(/\\{\\{([^}]+)\\}\\}/g, (match, varName) => {\n const trimmedVarName = varName.trim();\n const value = NodeExecutionUtils.getNestedValue(variables, trimmedVarName);\n return value !== undefined ? String(value) : match;\n });\n }\n}\n\n// Re-export types from the dedicated types file\nexport type {\n NodeExecutionResult,\n NodeExecutionFailedResult,\n NodeExecutionPendingResult,\n NodeExecutionSuccessResult,\n} from 'src/types/node-execution.types';\n"],"mappings":";;;;;;;;;AA2BA,MAAa,sBAAsBA,OAAAA,QAAE,OAAOA,OAAAA,QAAE,QAAQ,EAAEA,OAAAA,QAAE,SAAS,CAAC;;;;;;;AAQpE,IAAsB,mBAAtB,MAGE;CACA,YAAY,UAA8B;AAArB,OAAA,WAAA;AACnB,OAAK,WAAW;;;;;;;;;;;;;;CAelB,eAAuC;;;;CAmBvC,MAAM,mBACJ,OACA,UACmC;AACnC,SAAO;GACL,YAAY,KAAK,eAAe;GAChC,QAAQ,MAAM;GACf;;;;;;;;;CAUH,YACE,QAC2C;EAC3C,MAAM,SAAS,KAAK,aAAa,UAAU,OAAO;AAClD,MAAI,CAAC,OAAO,QACV,QAAO;GACL,SAAS;GACT,OAAOA,OAAAA,QAAE,cAAc,OAAO,MAAM;GACrC;AAEH,SAAO;GAAE,SAAS;GAAM,MAAM,OAAO;GAAgC;;;;;;;CAQvE,eACE,QAC4E;AAC5E,MAAI,WAAW,QAAQ,WAAW,KAAA,KAAa,OAAO,WAAW,SAC/D,QAAO;GAAE,SAAS;GAAO,OAAO,+BAA+B,OAAO;GAAU;AAElF,SAAO;GAAE,SAAS;GAAM,MAAO,UAAU,EAAE;GAAoB;;;;;CAMjE,oBACE,QACA,UAC4B;AAC5B,SAAO;GACL,OAAOC,aAAAA,oBAAoB;GAC3B;GACA,MAAM;GACN;GACD;;;;;CAMH,oBACE,YACA,QACA,aACA,UAC4B;AAC5B,SAAO;GACL,OAAOA,aAAAA,oBAAoB;GAC3B,MAAM;GACN;GACA;GACA;GACA;GACD;;;;;CAMH,kBACE,QACA,UAC2B;AAC3B,SAAO;GACL,OAAOA,aAAAA,oBAAoB;GAC3B;GACA;GACD;;;;;CAMH,kBAA4B,SAAqC;AAC/D,UAAQ,OAAO,MAAM,yBAAyB,KAAK,SAAS,QAAQ;GAClE,QAAQ,QAAQ;GAChB,SAAS,QAAQ;GACjB,WAAW,QAAQ;GACpB,CAAC;;;;;CAMJ,qBAA+B,SAA+B,QAAmC;AAC/F,UAAQ,OAAO,MACb,GAAG,OAAO,MAAM,WAAW,QAAQ,QAAQ,aAAa,QAAQ,OAAO,gBAAgB,QAAQ,UAAU,eAAe,KAAK,WAC9H;;;;;;AAaL,IAAa,qBAAb,MAAa,mBAAmB;;;;CAI9B,OAAO,eACL,KACA,MACA,cACS;EACT,MAAM,OAAO,KAAK,MAAM,IAAI;EAC5B,IAAI,UAAU;AAEd,OAAK,MAAM,OAAO,MAAM;AACtB,OAAI,YAAY,QAAQ,YAAY,KAAA,KAAa,EAAE,OAAO,SACxD,QAAO;AAET,aAAU,QAAQ;;AAGpB,SAAO;;;;;CAMT,OAAO,eAAe,KAA8B,MAAc,OAAsB;EACtF,MAAM,OAAO,KAAK,MAAM,IAAI;EAC5B,MAAM,UAAU,KAAK,KAAK;EAC1B,IAAI,UAAU;AAEd,OAAK,MAAM,OAAO,MAAM;AACtB,OAAI,EAAE,OAAO,YAAY,OAAO,QAAQ,SAAS,SAC/C,SAAQ,OAAO,EAAE;AAEnB,aAAU,QAAQ;;AAGpB,MAAI,YAAY,KAAA,EACd,OAAM,IAAI,MAAM,qCAAqC;AAEvD,UAAQ,WAAW;;;;;CAMrB,OAAO,yBAAyB,UAAkB,WAA4C;AAC5F,SAAO,SAAS,QAAQ,qBAAqB,OAAO,YAAY;GAC9D,MAAM,iBAAiB,QAAQ,MAAM;GACrC,MAAM,QAAQ,mBAAmB,eAAe,WAAW,eAAe;AAC1E,UAAO,UAAU,KAAA,IAAY,OAAO,MAAM,GAAG;IAC7C"}
@@ -0,0 +1,125 @@
1
+ import { NodeInputData, NodeOutput } from "../types/node-io-types.cjs";
2
+ import { NodeExecutionFailedResult, NodeExecutionPendingResult, NodeExecutionResult, NodeExecutionSuccessResult } from "../types/node-execution.types.cjs";
3
+ import { FlowNodeForType } from "../services/flow-versions/schemas-fresh.cjs";
4
+ import { GraphNodeType } from "../types/graph-node-types.cjs";
5
+ import { NodeExecutionContext } from "../types-fresh.cjs";
6
+ import { NodeDefinition } from "../types/node-definition.types.cjs";
7
+ import { NodeConfigUpdateContext, NodeConfigUpdateEvent, NodeConfigUpdateResponse } from "../types/node-config-update.types.cjs";
8
+ import z$1, { ZodType } from "zod/v4";
9
+
10
+ //#region src/nodes/base-node.d.ts
11
+ /**
12
+ * Result of parsing params with a schema
13
+ */
14
+ type ParamsParseResult<T> = {
15
+ success: true;
16
+ data: T;
17
+ } | {
18
+ success: false;
19
+ error: string;
20
+ };
21
+ /**
22
+ * Default params schema for nodes that don't define their own.
23
+ * Accepts any object - no validation.
24
+ */
25
+ declare const defaultParamsSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>;
26
+ /**
27
+ * Abstract base class for all node executors.
28
+ *
29
+ * @typeParam TNodeType - The GraphNodeType this executor handles
30
+ * @typeParam TParamsSchema - Zod schema type for node parameters (defaults to permissive record)
31
+ */
32
+ declare abstract class BaseNodeExecutor<in out TNodeType extends GraphNodeType, TParamsSchema extends ZodType = typeof defaultParamsSchema> {
33
+ readonly nodeType: TNodeType;
34
+ constructor(nodeType: TNodeType);
35
+ /**
36
+ * Zod schema for validating node parameters.
37
+ * Override this in subclasses to provide typed param validation.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * readonly paramsSchema = z.object({
42
+ * prompt: z.string().min(1),
43
+ * temperature: z.number().optional().default(0.7),
44
+ * });
45
+ * ```
46
+ */
47
+ readonly paramsSchema: TParamsSchema;
48
+ /**
49
+ * Get the static definition of this node type
50
+ */
51
+ abstract getDefinition(): NodeDefinition;
52
+ /**
53
+ * run the node
54
+ */
55
+ abstract execute(inputs: NodeInputData, node: FlowNodeForType<TNodeType>, context: NodeExecutionContext): Promise<NodeExecutionResult> | NodeExecutionResult;
56
+ /**
57
+ * Handle node configuration updates (optional per node)
58
+ */
59
+ handleConfigUpdate(event: NodeConfigUpdateEvent, _context: NodeConfigUpdateContext): Promise<NodeConfigUpdateResponse>;
60
+ /**
61
+ * Parse and validate node params using the executor's paramsSchema.
62
+ * Returns typed params if valid, or an error message if invalid.
63
+ *
64
+ * @param params - Raw params from node.params (Record<string, unknown>)
65
+ * @returns Parsed and typed params, or error
66
+ */
67
+ protected parseParams(params: Record<string, unknown>): ParamsParseResult<z$1.infer<TParamsSchema>>;
68
+ /**
69
+ * Validate node inputs.
70
+ * All nodes accept a generic Record<string, unknown> — actual data
71
+ * extraction happens via {{ expression }} templates in the node params.
72
+ */
73
+ validateInputs(inputs: unknown): {
74
+ isValid: true;
75
+ data: NodeInputData;
76
+ } | {
77
+ isValid: false;
78
+ error: string;
79
+ };
80
+ /**
81
+ * Create a successful execution result
82
+ */
83
+ protected createSuccessResult(output: NodeOutput, metadata?: Record<string, unknown>): NodeExecutionSuccessResult;
84
+ /**
85
+ * Create a pending execution result
86
+ */
87
+ protected createPendingResult(batchJobId: string, nodeId: string, executionId: string, metadata?: Record<string, unknown>): NodeExecutionPendingResult;
88
+ /**
89
+ * Create a failed execution result
90
+ */
91
+ protected createErrorResult(errors: string[], metadata?: Record<string, unknown>): NodeExecutionFailedResult;
92
+ /**
93
+ * Log execution start
94
+ */
95
+ protected logExecutionStart(context: NodeExecutionContext): void;
96
+ /**
97
+ * Log execution completion
98
+ */
99
+ protected logExecutionComplete(context: NodeExecutionContext, result: NodeExecutionResult): void;
100
+ }
101
+ /**
102
+ * Type alias for any node executor (used in registries and collections)
103
+ * This erases the specific schema type to allow storing different executor types together
104
+ */
105
+ type AnyNodeExecutor = BaseNodeExecutor<GraphNodeType, ZodType<unknown>>;
106
+ /**
107
+ * Utility functions for node execution
108
+ */
109
+ declare class NodeExecutionUtils {
110
+ /**
111
+ * Safely extract nested value from object
112
+ */
113
+ static getNestedValue(obj: Record<string, unknown>, path: string, defaultValue?: unknown): unknown;
114
+ /**
115
+ * Set nested value in object
116
+ */
117
+ static setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): void;
118
+ /**
119
+ * Template string replacement
120
+ */
121
+ static replaceTemplateVariables(template: string, variables: Record<string, unknown>): string;
122
+ }
123
+ //#endregion
124
+ export { AnyNodeExecutor, BaseNodeExecutor, NodeExecutionUtils, ParamsParseResult, defaultParamsSchema };
125
+ //# sourceMappingURL=base-node.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-node.d.cts","names":[],"sources":["../../src/nodes/base-node.ts"],"mappings":";;;;;;;;;;;;;KAqBY,iBAAA;EAAyB,OAAA;EAAe,IAAA,EAAM,CAAA;AAAA;EAAQ,OAAA;EAAgB,KAAA;AAAA;;;;;cAMrE,mBAAA,EAAmB,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA;AAAhC;;;;;;AAAA,uBAQsB,gBAAA,0BACK,aAAA,wBACH,OAAA,UAAiB,mBAAA;EAAA,SAElB,QAAA,EAAU,SAAA;cAAV,QAAA,EAAU,SAAA;EAZD;;;;;;;AAQhC;;;;;EARgC,SA4BrB,YAAA,EAAc,aAAA;EAhBQ;;;EAAA,SAqBtB,aAAA,CAAA,GAAiB,cAAA;EAMhB;;;EAAA,SADD,OAAA,CACP,MAAA,EAAQ,aAAA,EACR,IAAA,EAAM,eAAA,CAAgB,SAAA,GACtB,OAAA,EAAS,oBAAA,GACR,OAAA,CAAQ,mBAAA,IAAuB,mBAAA;EAAvB;;;EAKL,kBAAA,CACJ,KAAA,EAAO,qBAAA,EACP,QAAA,EAAU,uBAAA,GACT,OAAA,CAAQ,wBAAA;EADC;;;;;;;EAAA,UAeF,WAAA,CACR,MAAA,EAAQ,MAAA,oBACP,iBAAA,CAAkB,GAAA,CAAE,KAAA,CAAM,aAAA;EA6BnB;;;;;EAbV,cAAA,CACE,MAAA;IACG,OAAA;IAAe,IAAA,EAAM,aAAA;EAAA;IAAoB,OAAA;IAAgB,KAAA;EAAA;EA3EvD;;;EAAA,UAqFG,mBAAA,CACR,MAAA,EAAQ,UAAA,EACR,QAAA,GAAW,MAAA,oBACV,0BAAA;EAvFoC;;;EAAA,UAmG7B,mBAAA,CACR,UAAA,UACA,MAAA,UACA,WAAA,UACA,QAAA,GAAW,MAAA,oBACV,0BAAA;EAtG4B;;;EAAA,UAoHrB,iBAAA,CACR,MAAA,YACA,QAAA,GAAW,MAAA,oBACV,yBAAA;EAlGM;;;EAAA,UA6GC,iBAAA,CAAkB,OAAA,EAAS,oBAAA;EAvGnC;;;EAAA,UAkHQ,oBAAA,CAAqB,OAAA,EAAS,oBAAA,EAAsB,MAAA,EAAQ,mBAAA;AAAA;;;;;KAW5D,eAAA,GAAkB,gBAAA,CAAiB,aAAA,EAAe,OAAA;;;;cAKjD,kBAAA;EAvHR;;;EAAA,OA2HI,cAAA,CACL,GAAA,EAAK,MAAA,mBACL,IAAA,UACA,YAAA;EA/GA;;;EAAA,OAiIK,cAAA,CAAe,GAAA,EAAK,MAAA,mBAAyB,IAAA,UAAc,KAAA;EAhIrC;;;EAAA,OAqJtB,wBAAA,CAAyB,QAAA,UAAkB,SAAA,EAAW,MAAA;AAAA"}
@@ -0,0 +1,125 @@
1
+ import { NodeInputData, NodeOutput } from "../types/node-io-types.js";
2
+ import { NodeExecutionFailedResult, NodeExecutionPendingResult, NodeExecutionResult, NodeExecutionSuccessResult } from "../types/node-execution.types.js";
3
+ import { FlowNodeForType } from "../services/flow-versions/schemas-fresh.js";
4
+ import { GraphNodeType } from "../types/graph-node-types.js";
5
+ import { NodeExecutionContext } from "../types-fresh.js";
6
+ import { NodeDefinition } from "../types/node-definition.types.js";
7
+ import { NodeConfigUpdateContext, NodeConfigUpdateEvent, NodeConfigUpdateResponse } from "../types/node-config-update.types.js";
8
+ import z$1, { ZodType } from "zod/v4";
9
+
10
+ //#region src/nodes/base-node.d.ts
11
+ /**
12
+ * Result of parsing params with a schema
13
+ */
14
+ type ParamsParseResult<T> = {
15
+ success: true;
16
+ data: T;
17
+ } | {
18
+ success: false;
19
+ error: string;
20
+ };
21
+ /**
22
+ * Default params schema for nodes that don't define their own.
23
+ * Accepts any object - no validation.
24
+ */
25
+ declare const defaultParamsSchema: z$1.ZodRecord<z$1.ZodString, z$1.ZodUnknown>;
26
+ /**
27
+ * Abstract base class for all node executors.
28
+ *
29
+ * @typeParam TNodeType - The GraphNodeType this executor handles
30
+ * @typeParam TParamsSchema - Zod schema type for node parameters (defaults to permissive record)
31
+ */
32
+ declare abstract class BaseNodeExecutor<in out TNodeType extends GraphNodeType, TParamsSchema extends ZodType = typeof defaultParamsSchema> {
33
+ readonly nodeType: TNodeType;
34
+ constructor(nodeType: TNodeType);
35
+ /**
36
+ * Zod schema for validating node parameters.
37
+ * Override this in subclasses to provide typed param validation.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * readonly paramsSchema = z.object({
42
+ * prompt: z.string().min(1),
43
+ * temperature: z.number().optional().default(0.7),
44
+ * });
45
+ * ```
46
+ */
47
+ readonly paramsSchema: TParamsSchema;
48
+ /**
49
+ * Get the static definition of this node type
50
+ */
51
+ abstract getDefinition(): NodeDefinition;
52
+ /**
53
+ * run the node
54
+ */
55
+ abstract execute(inputs: NodeInputData, node: FlowNodeForType<TNodeType>, context: NodeExecutionContext): Promise<NodeExecutionResult> | NodeExecutionResult;
56
+ /**
57
+ * Handle node configuration updates (optional per node)
58
+ */
59
+ handleConfigUpdate(event: NodeConfigUpdateEvent, _context: NodeConfigUpdateContext): Promise<NodeConfigUpdateResponse>;
60
+ /**
61
+ * Parse and validate node params using the executor's paramsSchema.
62
+ * Returns typed params if valid, or an error message if invalid.
63
+ *
64
+ * @param params - Raw params from node.params (Record<string, unknown>)
65
+ * @returns Parsed and typed params, or error
66
+ */
67
+ protected parseParams(params: Record<string, unknown>): ParamsParseResult<z$1.infer<TParamsSchema>>;
68
+ /**
69
+ * Validate node inputs.
70
+ * All nodes accept a generic Record<string, unknown> — actual data
71
+ * extraction happens via {{ expression }} templates in the node params.
72
+ */
73
+ validateInputs(inputs: unknown): {
74
+ isValid: true;
75
+ data: NodeInputData;
76
+ } | {
77
+ isValid: false;
78
+ error: string;
79
+ };
80
+ /**
81
+ * Create a successful execution result
82
+ */
83
+ protected createSuccessResult(output: NodeOutput, metadata?: Record<string, unknown>): NodeExecutionSuccessResult;
84
+ /**
85
+ * Create a pending execution result
86
+ */
87
+ protected createPendingResult(batchJobId: string, nodeId: string, executionId: string, metadata?: Record<string, unknown>): NodeExecutionPendingResult;
88
+ /**
89
+ * Create a failed execution result
90
+ */
91
+ protected createErrorResult(errors: string[], metadata?: Record<string, unknown>): NodeExecutionFailedResult;
92
+ /**
93
+ * Log execution start
94
+ */
95
+ protected logExecutionStart(context: NodeExecutionContext): void;
96
+ /**
97
+ * Log execution completion
98
+ */
99
+ protected logExecutionComplete(context: NodeExecutionContext, result: NodeExecutionResult): void;
100
+ }
101
+ /**
102
+ * Type alias for any node executor (used in registries and collections)
103
+ * This erases the specific schema type to allow storing different executor types together
104
+ */
105
+ type AnyNodeExecutor = BaseNodeExecutor<GraphNodeType, ZodType<unknown>>;
106
+ /**
107
+ * Utility functions for node execution
108
+ */
109
+ declare class NodeExecutionUtils {
110
+ /**
111
+ * Safely extract nested value from object
112
+ */
113
+ static getNestedValue(obj: Record<string, unknown>, path: string, defaultValue?: unknown): unknown;
114
+ /**
115
+ * Set nested value in object
116
+ */
117
+ static setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): void;
118
+ /**
119
+ * Template string replacement
120
+ */
121
+ static replaceTemplateVariables(template: string, variables: Record<string, unknown>): string;
122
+ }
123
+ //#endregion
124
+ export { AnyNodeExecutor, BaseNodeExecutor, NodeExecutionUtils, ParamsParseResult, defaultParamsSchema };
125
+ //# sourceMappingURL=base-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-node.d.ts","names":[],"sources":["../../src/nodes/base-node.ts"],"mappings":";;;;;;;;;;;;;KAqBY,iBAAA;EAAyB,OAAA;EAAe,IAAA,EAAM,CAAA;AAAA;EAAQ,OAAA;EAAgB,KAAA;AAAA;;;;;cAMrE,mBAAA,EAAmB,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA;AAAhC;;;;;;AAAA,uBAQsB,gBAAA,0BACK,aAAA,wBACH,OAAA,UAAiB,mBAAA;EAAA,SAElB,QAAA,EAAU,SAAA;cAAV,QAAA,EAAU,SAAA;EAZD;;;;;;;AAQhC;;;;;EARgC,SA4BrB,YAAA,EAAc,aAAA;EAhBQ;;;EAAA,SAqBtB,aAAA,CAAA,GAAiB,cAAA;EAMhB;;;EAAA,SADD,OAAA,CACP,MAAA,EAAQ,aAAA,EACR,IAAA,EAAM,eAAA,CAAgB,SAAA,GACtB,OAAA,EAAS,oBAAA,GACR,OAAA,CAAQ,mBAAA,IAAuB,mBAAA;EAAvB;;;EAKL,kBAAA,CACJ,KAAA,EAAO,qBAAA,EACP,QAAA,EAAU,uBAAA,GACT,OAAA,CAAQ,wBAAA;EADC;;;;;;;EAAA,UAeF,WAAA,CACR,MAAA,EAAQ,MAAA,oBACP,iBAAA,CAAkB,GAAA,CAAE,KAAA,CAAM,aAAA;EA6BnB;;;;;EAbV,cAAA,CACE,MAAA;IACG,OAAA;IAAe,IAAA,EAAM,aAAA;EAAA;IAAoB,OAAA;IAAgB,KAAA;EAAA;EA3EvD;;;EAAA,UAqFG,mBAAA,CACR,MAAA,EAAQ,UAAA,EACR,QAAA,GAAW,MAAA,oBACV,0BAAA;EAvFoC;;;EAAA,UAmG7B,mBAAA,CACR,UAAA,UACA,MAAA,UACA,WAAA,UACA,QAAA,GAAW,MAAA,oBACV,0BAAA;EAtG4B;;;EAAA,UAoHrB,iBAAA,CACR,MAAA,YACA,QAAA,GAAW,MAAA,oBACV,yBAAA;EAlGM;;;EAAA,UA6GC,iBAAA,CAAkB,OAAA,EAAS,oBAAA;EAvGnC;;;EAAA,UAkHQ,oBAAA,CAAqB,OAAA,EAAS,oBAAA,EAAsB,MAAA,EAAQ,mBAAA;AAAA;;;;;KAW5D,eAAA,GAAkB,gBAAA,CAAiB,aAAA,EAAe,OAAA;;;;cAKjD,kBAAA;EAvHR;;;EAAA,OA2HI,cAAA,CACL,GAAA,EAAK,MAAA,mBACL,IAAA,UACA,YAAA;EA/GA;;;EAAA,OAiIK,cAAA,CAAe,GAAA,EAAK,MAAA,mBAAyB,IAAA,UAAc,KAAA;EAhIrC;;;EAAA,OAqJtB,wBAAA,CAAyB,QAAA,UAAkB,SAAA,EAAW,MAAA;AAAA"}