@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,257 @@
1
+ import { DEFAULT_ROLE_PERMISSIONS } from "../../types/auth.types.js";
2
+ import { EventEmitter } from "events";
3
+ //#region src/services/auth/authorization.service.ts
4
+ /**
5
+ * Authorization Service
6
+ *
7
+ * Handles RBAC (Role-Based Access Control) for Invect resources.
8
+ * This service is stateless - all identity information comes from the host app
9
+ * via the resolveUser callback at request time.
10
+ */
11
+ /**
12
+ * AuthorizationService - Stateless RBAC authorization for Invect
13
+ *
14
+ * Key design decisions:
15
+ * - No database tables for users/roles (BYO Auth pattern)
16
+ * - All identity information resolved at request time
17
+ * - Emits events for host app audit logging
18
+ * - Supports custom roles and permission overrides
19
+ */
20
+ var AuthorizationService = class extends EventEmitter {
21
+ config;
22
+ rolePermissions;
23
+ logger;
24
+ constructor(options = {}) {
25
+ super();
26
+ this.config = {
27
+ enabled: false,
28
+ defaultRole: "viewer",
29
+ onAuthFailure: "throw",
30
+ ...options.config
31
+ };
32
+ this.logger = options.logger;
33
+ this.rolePermissions = /* @__PURE__ */ new Map();
34
+ for (const [role, permissions] of Object.entries(DEFAULT_ROLE_PERMISSIONS)) this.rolePermissions.set(role, permissions);
35
+ if (this.config.customRoles) for (const [role, permissions] of Object.entries(this.config.customRoles)) this.rolePermissions.set(role, permissions);
36
+ }
37
+ /**
38
+ * Check if authentication is enabled.
39
+ */
40
+ isEnabled() {
41
+ return this.config.enabled ?? true;
42
+ }
43
+ /**
44
+ * Check if a route is public (no auth required).
45
+ */
46
+ isPublicRoute(path) {
47
+ if (!this.config.publicRoutes) return false;
48
+ return this.config.publicRoutes.some((pattern) => {
49
+ if (pattern.endsWith("/*")) {
50
+ const prefix = pattern.slice(0, -2);
51
+ return path.startsWith(prefix);
52
+ }
53
+ return path === pattern;
54
+ });
55
+ }
56
+ /**
57
+ * Authorize an action for an identity.
58
+ *
59
+ * @param context - Authorization context with identity, action, and optional resource
60
+ * @returns Authorization result with allowed flag and optional reason
61
+ */
62
+ async authorize(context) {
63
+ const { identity, action, resource } = context;
64
+ if (!this.isEnabled()) {
65
+ this.logger?.debug("Auth disabled, allowing action", { action });
66
+ return { allowed: true };
67
+ }
68
+ if (!identity) {
69
+ const event = {
70
+ type: "auth:unauthenticated",
71
+ timestamp: /* @__PURE__ */ new Date(),
72
+ action,
73
+ resource
74
+ };
75
+ this.emit("auth:unauthenticated", event);
76
+ this.logger?.warn("Unauthenticated request", {
77
+ action,
78
+ resource
79
+ });
80
+ return {
81
+ allowed: false,
82
+ reason: "Authentication required"
83
+ };
84
+ }
85
+ if (this.hasDirectPermission(identity, action)) return this.allowAction(context, "direct permission");
86
+ const role = this.resolveRole(identity);
87
+ const permissions = this.getPermissionsForRole(role);
88
+ if (this.permissionMatches(permissions, action)) {
89
+ if (resource?.id && identity.resourceAccess) {
90
+ if (!this.checkResourceAccess(identity, resource)) return this.denyAction(context, `No access to ${resource.type} '${resource.id}'`);
91
+ }
92
+ return this.allowAction(context, `role '${role}'`);
93
+ }
94
+ if (this.config.customAuthorize) try {
95
+ const customResult = await this.config.customAuthorize(context);
96
+ if (customResult === true) return this.allowAction(context, "custom authorizer");
97
+ if (customResult === false) return this.denyAction(context, "Denied by custom authorizer");
98
+ } catch (error) {
99
+ this.logger?.error("Custom authorizer error", {
100
+ error,
101
+ context
102
+ });
103
+ }
104
+ return this.denyAction(context, `Permission '${action}' required. Role '${role}' does not have this permission.`);
105
+ }
106
+ /**
107
+ * Get all permissions for an identity.
108
+ */
109
+ getPermissions(identity) {
110
+ if (!identity) return [];
111
+ const role = this.resolveRole(identity);
112
+ const rolePerms = this.getPermissionsForRole(role);
113
+ const directPerms = identity.permissions || [];
114
+ const allPerms = new Set([...rolePerms, ...directPerms]);
115
+ if (allPerms.has("admin:*")) return ["admin:*"];
116
+ return Array.from(allPerms);
117
+ }
118
+ /**
119
+ * Check if identity has a specific permission.
120
+ */
121
+ hasPermission(identity, permission) {
122
+ if (!identity) return false;
123
+ const permissions = this.getPermissions(identity);
124
+ return this.permissionMatches(permissions, permission);
125
+ }
126
+ /**
127
+ * Get the resolved role for an identity.
128
+ */
129
+ getResolvedRole(identity) {
130
+ return this.resolveRole(identity);
131
+ }
132
+ /**
133
+ * Get available roles and their permissions.
134
+ * Useful for admin UIs to show role options.
135
+ */
136
+ getAvailableRoles() {
137
+ const roles = [];
138
+ for (const [role, permissions] of this.rolePermissions) roles.push({
139
+ role,
140
+ permissions
141
+ });
142
+ return roles;
143
+ }
144
+ /**
145
+ * Resolve the effective Invect role for an identity.
146
+ */
147
+ resolveRole(identity) {
148
+ const identityRole = identity.role;
149
+ if (!identityRole) return this.config.defaultRole ?? "viewer";
150
+ if (this.config.roleMapper && this.config.roleMapper[identityRole]) return this.config.roleMapper[identityRole];
151
+ return identityRole;
152
+ }
153
+ /**
154
+ * Get permissions for a role.
155
+ */
156
+ getPermissionsForRole(role) {
157
+ return this.rolePermissions.get(role) || [];
158
+ }
159
+ /**
160
+ * Check if identity has the permission via direct override.
161
+ */
162
+ hasDirectPermission(identity, action) {
163
+ if (!identity.permissions) return false;
164
+ return this.permissionMatches(identity.permissions, action);
165
+ }
166
+ /**
167
+ * Check if a permission list includes the required permission.
168
+ * Handles admin:* wildcard.
169
+ */
170
+ permissionMatches(permissions, required) {
171
+ if (permissions.includes("admin:*")) return true;
172
+ return permissions.includes(required);
173
+ }
174
+ /**
175
+ * Check resource-level access control.
176
+ */
177
+ checkResourceAccess(identity, resource) {
178
+ if (!identity.resourceAccess || !resource.id) return true;
179
+ const accessKey = this.getResourceAccessKey(resource.type);
180
+ if (!accessKey) return true;
181
+ const accessList = identity.resourceAccess[accessKey];
182
+ if (accessList === void 0) return true;
183
+ if (accessList === "*") return true;
184
+ return accessList.includes(resource.id);
185
+ }
186
+ /**
187
+ * Map resource type to resourceAccess property key.
188
+ */
189
+ getResourceAccessKey(type) {
190
+ switch (type) {
191
+ case "flow":
192
+ case "flow-version":
193
+ case "flow-run":
194
+ case "node-execution": return "flows";
195
+ case "credential": return "credentials";
196
+ case "agent-tool": return null;
197
+ default: return null;
198
+ }
199
+ }
200
+ /**
201
+ * Allow an action and emit event.
202
+ */
203
+ allowAction(context, grantedBy) {
204
+ const event = {
205
+ type: "auth:authorized",
206
+ timestamp: /* @__PURE__ */ new Date(),
207
+ identity: context.identity,
208
+ action: context.action,
209
+ resource: context.resource,
210
+ allowed: true
211
+ };
212
+ this.emit("auth:authorized", event);
213
+ this.logger?.debug("Action authorized", {
214
+ action: context.action,
215
+ resource: context.resource,
216
+ grantedBy,
217
+ identity: context.identity?.id
218
+ });
219
+ return { allowed: true };
220
+ }
221
+ /**
222
+ * Deny an action and emit event.
223
+ */
224
+ denyAction(context, reason) {
225
+ const event = {
226
+ type: "auth:forbidden",
227
+ timestamp: /* @__PURE__ */ new Date(),
228
+ identity: context.identity,
229
+ action: context.action,
230
+ resource: context.resource,
231
+ allowed: false,
232
+ reason
233
+ };
234
+ this.emit("auth:forbidden", event);
235
+ this.logger?.warn("Action denied", {
236
+ action: context.action,
237
+ resource: context.resource,
238
+ reason,
239
+ identity: context.identity?.id,
240
+ role: context.identity?.role
241
+ });
242
+ return {
243
+ allowed: false,
244
+ reason
245
+ };
246
+ }
247
+ };
248
+ /**
249
+ * Create an AuthorizationService instance.
250
+ */
251
+ function createAuthorizationService(options) {
252
+ return new AuthorizationService(options);
253
+ }
254
+ //#endregion
255
+ export { AuthorizationService, createAuthorizationService };
256
+
257
+ //# sourceMappingURL=authorization.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorization.service.js","names":[],"sources":["../../../src/services/auth/authorization.service.ts"],"sourcesContent":["/**\n * Authorization Service\n *\n * Handles RBAC (Role-Based Access Control) for Invect resources.\n * This service is stateless - all identity information comes from the host app\n * via the resolveUser callback at request time.\n */\n\nimport { EventEmitter } from 'events';\nimport {\n InvectIdentity,\n InvectPermission,\n InvectRole,\n InvectResourceType,\n InvectAuthConfig,\n AuthorizationContext,\n AuthorizationResult,\n AuthAuthorizedEvent,\n AuthForbiddenEvent,\n AuthUnauthenticatedEvent,\n DEFAULT_ROLE_PERMISSIONS,\n} from '../../types/auth.types';\nimport type { Logger } from '../../types/schemas-fresh/invect-config';\n\n/**\n * Options for creating the AuthorizationService\n */\nexport interface AuthorizationServiceOptions {\n config?: InvectAuthConfig;\n logger?: Logger;\n}\n\n/**\n * AuthorizationService - Stateless RBAC authorization for Invect\n *\n * Key design decisions:\n * - No database tables for users/roles (BYO Auth pattern)\n * - All identity information resolved at request time\n * - Emits events for host app audit logging\n * - Supports custom roles and permission overrides\n */\nexport class AuthorizationService extends EventEmitter {\n private readonly config: InvectAuthConfig;\n private readonly rolePermissions: Map<string, InvectPermission[]>;\n private readonly logger?: Logger;\n\n constructor(options: AuthorizationServiceOptions = {}) {\n super();\n\n this.config = {\n enabled: false, // RBAC disabled by default\n defaultRole: 'viewer',\n onAuthFailure: 'throw',\n ...options.config,\n };\n\n this.logger = options.logger;\n\n // Initialize role → permissions map with defaults + custom roles\n this.rolePermissions = new Map();\n\n // Add built-in roles\n for (const [role, permissions] of Object.entries(DEFAULT_ROLE_PERMISSIONS)) {\n this.rolePermissions.set(role, permissions);\n }\n\n // Add custom roles from config\n if (this.config.customRoles) {\n for (const [role, permissions] of Object.entries(this.config.customRoles)) {\n this.rolePermissions.set(role, permissions);\n }\n }\n }\n\n /**\n * Check if authentication is enabled.\n */\n isEnabled(): boolean {\n return this.config.enabled ?? true;\n }\n\n /**\n * Check if a route is public (no auth required).\n */\n isPublicRoute(path: string): boolean {\n if (!this.config.publicRoutes) {\n return false;\n }\n\n return this.config.publicRoutes.some((pattern) => {\n // Support simple wildcard matching\n if (pattern.endsWith('/*')) {\n const prefix = pattern.slice(0, -2);\n return path.startsWith(prefix);\n }\n return path === pattern;\n });\n }\n\n /**\n * Authorize an action for an identity.\n *\n * @param context - Authorization context with identity, action, and optional resource\n * @returns Authorization result with allowed flag and optional reason\n */\n async authorize(context: AuthorizationContext): Promise<AuthorizationResult> {\n const { identity, action, resource } = context;\n\n // If auth is disabled, allow everything\n if (!this.isEnabled()) {\n this.logger?.debug('Auth disabled, allowing action', { action });\n return { allowed: true };\n }\n\n // No identity = not authenticated\n if (!identity) {\n const event: AuthUnauthenticatedEvent = {\n type: 'auth:unauthenticated',\n timestamp: new Date(),\n action,\n resource,\n };\n this.emit('auth:unauthenticated', event);\n this.logger?.warn('Unauthenticated request', { action, resource });\n\n return {\n allowed: false,\n reason: 'Authentication required',\n };\n }\n\n // Check direct permission overrides first\n if (this.hasDirectPermission(identity, action)) {\n return this.allowAction(context, 'direct permission');\n }\n\n // Check role-based permissions\n const role = this.resolveRole(identity);\n const permissions = this.getPermissionsForRole(role);\n\n if (this.permissionMatches(permissions, action)) {\n // If we have permission, also check resource-level access\n if (resource?.id && identity.resourceAccess) {\n const resourceAllowed = this.checkResourceAccess(identity, resource);\n if (!resourceAllowed) {\n return this.denyAction(context, `No access to ${resource.type} '${resource.id}'`);\n }\n }\n return this.allowAction(context, `role '${role}'`);\n }\n\n // Check custom authorization callback\n if (this.config.customAuthorize) {\n try {\n const customResult = await this.config.customAuthorize(context);\n if (customResult === true) {\n return this.allowAction(context, 'custom authorizer');\n }\n if (customResult === false) {\n return this.denyAction(context, 'Denied by custom authorizer');\n }\n // undefined = fall through to default denial\n } catch (error) {\n this.logger?.error('Custom authorizer error', { error, context });\n // On error, fall through to denial\n }\n }\n\n // Default: deny\n return this.denyAction(\n context,\n `Permission '${action}' required. Role '${role}' does not have this permission.`,\n );\n }\n\n /**\n * Get all permissions for an identity.\n */\n getPermissions(identity: InvectIdentity | null): InvectPermission[] {\n if (!identity) {\n return [];\n }\n\n const role = this.resolveRole(identity);\n const rolePerms = this.getPermissionsForRole(role);\n const directPerms = identity.permissions || [];\n\n // Combine and deduplicate\n const allPerms = new Set([...rolePerms, ...directPerms]);\n\n // If admin:*, expand to all permissions\n if (allPerms.has('admin:*')) {\n return ['admin:*'];\n }\n\n return Array.from(allPerms);\n }\n\n /**\n * Check if identity has a specific permission.\n */\n hasPermission(identity: InvectIdentity | null, permission: InvectPermission): boolean {\n if (!identity) {\n return false;\n }\n\n const permissions = this.getPermissions(identity);\n return this.permissionMatches(permissions, permission);\n }\n\n /**\n * Get the resolved role for an identity.\n */\n getResolvedRole(identity: InvectIdentity): InvectRole {\n return this.resolveRole(identity);\n }\n\n /**\n * Get available roles and their permissions.\n * Useful for admin UIs to show role options.\n */\n getAvailableRoles(): Array<{ role: string; permissions: InvectPermission[] }> {\n const roles: Array<{ role: string; permissions: InvectPermission[] }> = [];\n\n for (const [role, permissions] of this.rolePermissions) {\n roles.push({ role, permissions });\n }\n\n return roles;\n }\n\n // ===========================================================================\n // Private Methods\n // ===========================================================================\n\n /**\n * Resolve the effective Invect role for an identity.\n */\n private resolveRole(identity: InvectIdentity): string {\n const identityRole = identity.role;\n\n // No role provided - use default\n if (!identityRole) {\n return this.config.defaultRole ?? 'viewer';\n }\n\n // Check if role needs mapping\n if (this.config.roleMapper && this.config.roleMapper[identityRole]) {\n return this.config.roleMapper[identityRole];\n }\n\n return identityRole;\n }\n\n /**\n * Get permissions for a role.\n */\n private getPermissionsForRole(role: string): InvectPermission[] {\n return this.rolePermissions.get(role) || [];\n }\n\n /**\n * Check if identity has the permission via direct override.\n */\n private hasDirectPermission(identity: InvectIdentity, action: InvectPermission): boolean {\n if (!identity.permissions) {\n return false;\n }\n return this.permissionMatches(identity.permissions, action);\n }\n\n /**\n * Check if a permission list includes the required permission.\n * Handles admin:* wildcard.\n */\n private permissionMatches(permissions: InvectPermission[], required: InvectPermission): boolean {\n // Admin wildcard grants everything\n if (permissions.includes('admin:*')) {\n return true;\n }\n return permissions.includes(required);\n }\n\n /**\n * Check resource-level access control.\n */\n private checkResourceAccess(\n identity: InvectIdentity,\n resource: { type: InvectResourceType; id?: string },\n ): boolean {\n if (!identity.resourceAccess || !resource.id) {\n return true; // No restriction\n }\n\n // Map resource type to resourceAccess key\n const accessKey = this.getResourceAccessKey(resource.type);\n if (!accessKey) {\n return true; // Unknown resource type, allow\n }\n\n const accessList = identity.resourceAccess[accessKey];\n\n // No restriction for this resource type\n if (accessList === undefined) {\n return true;\n }\n\n // Wildcard allows all\n if (accessList === '*') {\n return true;\n }\n\n // Check if resource ID is in the list\n return accessList.includes(resource.id);\n }\n\n /**\n * Map resource type to resourceAccess property key.\n */\n private getResourceAccessKey(\n type: InvectResourceType,\n ): keyof NonNullable<InvectIdentity['resourceAccess']> | null {\n switch (type) {\n case 'flow':\n case 'flow-version':\n case 'flow-run':\n case 'node-execution':\n return 'flows';\n case 'credential':\n return 'credentials';\n case 'agent-tool':\n return null; // No resource-level restriction for tools\n default:\n return null;\n }\n }\n\n /**\n * Allow an action and emit event.\n */\n private allowAction(context: AuthorizationContext, grantedBy: string): AuthorizationResult {\n const event: AuthAuthorizedEvent = {\n type: 'auth:authorized',\n timestamp: new Date(),\n identity: context.identity,\n action: context.action,\n resource: context.resource,\n allowed: true,\n };\n\n this.emit('auth:authorized', event);\n this.logger?.debug('Action authorized', {\n action: context.action,\n resource: context.resource,\n grantedBy,\n identity: context.identity?.id,\n });\n\n return { allowed: true };\n }\n\n /**\n * Deny an action and emit event.\n */\n private denyAction(context: AuthorizationContext, reason: string): AuthorizationResult {\n const event: AuthForbiddenEvent = {\n type: 'auth:forbidden',\n timestamp: new Date(),\n identity: context.identity,\n action: context.action,\n resource: context.resource,\n allowed: false,\n reason,\n };\n\n this.emit('auth:forbidden', event);\n this.logger?.warn('Action denied', {\n action: context.action,\n resource: context.resource,\n reason,\n identity: context.identity?.id,\n role: context.identity?.role,\n });\n\n return { allowed: false, reason };\n }\n}\n\n/**\n * Create an AuthorizationService instance.\n */\nexport function createAuthorizationService(\n options?: AuthorizationServiceOptions,\n): AuthorizationService {\n return new AuthorizationService(options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAyCA,IAAa,uBAAb,cAA0C,aAAa;CACrD;CACA;CACA;CAEA,YAAY,UAAuC,EAAE,EAAE;AACrD,SAAO;AAEP,OAAK,SAAS;GACZ,SAAS;GACT,aAAa;GACb,eAAe;GACf,GAAG,QAAQ;GACZ;AAED,OAAK,SAAS,QAAQ;AAGtB,OAAK,kCAAkB,IAAI,KAAK;AAGhC,OAAK,MAAM,CAAC,MAAM,gBAAgB,OAAO,QAAQ,yBAAyB,CACxE,MAAK,gBAAgB,IAAI,MAAM,YAAY;AAI7C,MAAI,KAAK,OAAO,YACd,MAAK,MAAM,CAAC,MAAM,gBAAgB,OAAO,QAAQ,KAAK,OAAO,YAAY,CACvE,MAAK,gBAAgB,IAAI,MAAM,YAAY;;;;;CAQjD,YAAqB;AACnB,SAAO,KAAK,OAAO,WAAW;;;;;CAMhC,cAAc,MAAuB;AACnC,MAAI,CAAC,KAAK,OAAO,aACf,QAAO;AAGT,SAAO,KAAK,OAAO,aAAa,MAAM,YAAY;AAEhD,OAAI,QAAQ,SAAS,KAAK,EAAE;IAC1B,MAAM,SAAS,QAAQ,MAAM,GAAG,GAAG;AACnC,WAAO,KAAK,WAAW,OAAO;;AAEhC,UAAO,SAAS;IAChB;;;;;;;;CASJ,MAAM,UAAU,SAA6D;EAC3E,MAAM,EAAE,UAAU,QAAQ,aAAa;AAGvC,MAAI,CAAC,KAAK,WAAW,EAAE;AACrB,QAAK,QAAQ,MAAM,kCAAkC,EAAE,QAAQ,CAAC;AAChE,UAAO,EAAE,SAAS,MAAM;;AAI1B,MAAI,CAAC,UAAU;GACb,MAAM,QAAkC;IACtC,MAAM;IACN,2BAAW,IAAI,MAAM;IACrB;IACA;IACD;AACD,QAAK,KAAK,wBAAwB,MAAM;AACxC,QAAK,QAAQ,KAAK,2BAA2B;IAAE;IAAQ;IAAU,CAAC;AAElE,UAAO;IACL,SAAS;IACT,QAAQ;IACT;;AAIH,MAAI,KAAK,oBAAoB,UAAU,OAAO,CAC5C,QAAO,KAAK,YAAY,SAAS,oBAAoB;EAIvD,MAAM,OAAO,KAAK,YAAY,SAAS;EACvC,MAAM,cAAc,KAAK,sBAAsB,KAAK;AAEpD,MAAI,KAAK,kBAAkB,aAAa,OAAO,EAAE;AAE/C,OAAI,UAAU,MAAM,SAAS;QAEvB,CADoB,KAAK,oBAAoB,UAAU,SAAS,CAElE,QAAO,KAAK,WAAW,SAAS,gBAAgB,SAAS,KAAK,IAAI,SAAS,GAAG,GAAG;;AAGrF,UAAO,KAAK,YAAY,SAAS,SAAS,KAAK,GAAG;;AAIpD,MAAI,KAAK,OAAO,gBACd,KAAI;GACF,MAAM,eAAe,MAAM,KAAK,OAAO,gBAAgB,QAAQ;AAC/D,OAAI,iBAAiB,KACnB,QAAO,KAAK,YAAY,SAAS,oBAAoB;AAEvD,OAAI,iBAAiB,MACnB,QAAO,KAAK,WAAW,SAAS,8BAA8B;WAGzD,OAAO;AACd,QAAK,QAAQ,MAAM,2BAA2B;IAAE;IAAO;IAAS,CAAC;;AAMrE,SAAO,KAAK,WACV,SACA,eAAe,OAAO,oBAAoB,KAAK,kCAChD;;;;;CAMH,eAAe,UAAqD;AAClE,MAAI,CAAC,SACH,QAAO,EAAE;EAGX,MAAM,OAAO,KAAK,YAAY,SAAS;EACvC,MAAM,YAAY,KAAK,sBAAsB,KAAK;EAClD,MAAM,cAAc,SAAS,eAAe,EAAE;EAG9C,MAAM,WAAW,IAAI,IAAI,CAAC,GAAG,WAAW,GAAG,YAAY,CAAC;AAGxD,MAAI,SAAS,IAAI,UAAU,CACzB,QAAO,CAAC,UAAU;AAGpB,SAAO,MAAM,KAAK,SAAS;;;;;CAM7B,cAAc,UAAiC,YAAuC;AACpF,MAAI,CAAC,SACH,QAAO;EAGT,MAAM,cAAc,KAAK,eAAe,SAAS;AACjD,SAAO,KAAK,kBAAkB,aAAa,WAAW;;;;;CAMxD,gBAAgB,UAAsC;AACpD,SAAO,KAAK,YAAY,SAAS;;;;;;CAOnC,oBAA8E;EAC5E,MAAM,QAAkE,EAAE;AAE1E,OAAK,MAAM,CAAC,MAAM,gBAAgB,KAAK,gBACrC,OAAM,KAAK;GAAE;GAAM;GAAa,CAAC;AAGnC,SAAO;;;;;CAUT,YAAoB,UAAkC;EACpD,MAAM,eAAe,SAAS;AAG9B,MAAI,CAAC,aACH,QAAO,KAAK,OAAO,eAAe;AAIpC,MAAI,KAAK,OAAO,cAAc,KAAK,OAAO,WAAW,cACnD,QAAO,KAAK,OAAO,WAAW;AAGhC,SAAO;;;;;CAMT,sBAA8B,MAAkC;AAC9D,SAAO,KAAK,gBAAgB,IAAI,KAAK,IAAI,EAAE;;;;;CAM7C,oBAA4B,UAA0B,QAAmC;AACvF,MAAI,CAAC,SAAS,YACZ,QAAO;AAET,SAAO,KAAK,kBAAkB,SAAS,aAAa,OAAO;;;;;;CAO7D,kBAA0B,aAAiC,UAAqC;AAE9F,MAAI,YAAY,SAAS,UAAU,CACjC,QAAO;AAET,SAAO,YAAY,SAAS,SAAS;;;;;CAMvC,oBACE,UACA,UACS;AACT,MAAI,CAAC,SAAS,kBAAkB,CAAC,SAAS,GACxC,QAAO;EAIT,MAAM,YAAY,KAAK,qBAAqB,SAAS,KAAK;AAC1D,MAAI,CAAC,UACH,QAAO;EAGT,MAAM,aAAa,SAAS,eAAe;AAG3C,MAAI,eAAe,KAAA,EACjB,QAAO;AAIT,MAAI,eAAe,IACjB,QAAO;AAIT,SAAO,WAAW,SAAS,SAAS,GAAG;;;;;CAMzC,qBACE,MAC4D;AAC5D,UAAQ,MAAR;GACE,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,iBACH,QAAO;GACT,KAAK,aACH,QAAO;GACT,KAAK,aACH,QAAO;GACT,QACE,QAAO;;;;;;CAOb,YAAoB,SAA+B,WAAwC;EACzF,MAAM,QAA6B;GACjC,MAAM;GACN,2BAAW,IAAI,MAAM;GACrB,UAAU,QAAQ;GAClB,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB,SAAS;GACV;AAED,OAAK,KAAK,mBAAmB,MAAM;AACnC,OAAK,QAAQ,MAAM,qBAAqB;GACtC,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB;GACA,UAAU,QAAQ,UAAU;GAC7B,CAAC;AAEF,SAAO,EAAE,SAAS,MAAM;;;;;CAM1B,WAAmB,SAA+B,QAAqC;EACrF,MAAM,QAA4B;GAChC,MAAM;GACN,2BAAW,IAAI,MAAM;GACrB,UAAU,QAAQ;GAClB,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB,SAAS;GACT;GACD;AAED,OAAK,KAAK,kBAAkB,MAAM;AAClC,OAAK,QAAQ,KAAK,iBAAiB;GACjC,QAAQ,QAAQ;GAChB,UAAU,QAAQ;GAClB;GACA,UAAU,QAAQ,UAAU;GAC5B,MAAM,QAAQ,UAAU;GACzB,CAAC;AAEF,SAAO;GAAE,SAAS;GAAO;GAAQ;;;;;;AAOrC,SAAgB,2BACd,SACsB;AACtB,QAAO,IAAI,qBAAqB,QAAQ"}
@@ -0,0 +1,259 @@
1
+ //#region src/services/auth/flow-access.service.ts
2
+ const TABLE = "flow_access";
3
+ /**
4
+ * Permission hierarchy for access checks.
5
+ * Higher number = more permissions.
6
+ */
7
+ const PERMISSION_LEVELS = {
8
+ viewer: 1,
9
+ operator: 2,
10
+ editor: 3,
11
+ owner: 4
12
+ };
13
+ /**
14
+ * FlowAccessService - Manages flow access permissions
15
+ */
16
+ var FlowAccessService = class {
17
+ adapter;
18
+ logger;
19
+ constructor(options) {
20
+ this.adapter = options.adapter;
21
+ this.logger = options.logger;
22
+ }
23
+ /**
24
+ * Grant access to a flow for a user or team.
25
+ */
26
+ async grantAccess(input) {
27
+ if (!input.userId && !input.teamId) throw new Error("Either userId or teamId must be provided");
28
+ if (input.userId && input.teamId) throw new Error("Cannot set both userId and teamId - use one or the other");
29
+ this.logger?.debug("Granting flow access", { input });
30
+ const existing = await this.findExistingAccess(input.flowId, input.userId, input.teamId);
31
+ if (existing) {
32
+ const updated = await this.adapter.update({
33
+ model: TABLE,
34
+ where: [{
35
+ field: "id",
36
+ value: existing.id
37
+ }],
38
+ update: {
39
+ permission: input.permission,
40
+ granted_by: input.grantedBy,
41
+ granted_at: /* @__PURE__ */ new Date(),
42
+ expires_at: input.expiresAt ?? null
43
+ }
44
+ });
45
+ if (!updated) throw new Error(`Flow access ${existing.id} no longer exists`);
46
+ const record = this.normalize(updated);
47
+ this.logger?.info("Updated flow access", {
48
+ id: record.id,
49
+ flowId: input.flowId
50
+ });
51
+ return record;
52
+ }
53
+ const created = await this.adapter.create({
54
+ model: TABLE,
55
+ data: {
56
+ flow_id: input.flowId,
57
+ user_id: input.userId ?? null,
58
+ team_id: input.teamId ?? null,
59
+ permission: input.permission,
60
+ granted_by: input.grantedBy ?? null,
61
+ granted_at: /* @__PURE__ */ new Date(),
62
+ expires_at: input.expiresAt ?? null
63
+ }
64
+ });
65
+ const record = this.normalize(created);
66
+ this.logger?.info("Granted flow access", {
67
+ id: record.id,
68
+ flowId: input.flowId
69
+ });
70
+ return record;
71
+ }
72
+ /**
73
+ * Revoke access to a flow for a user or team.
74
+ */
75
+ async revokeAccess(accessId) {
76
+ this.logger?.debug("Revoking flow access", { accessId });
77
+ await this.adapter.delete({
78
+ model: TABLE,
79
+ where: [{
80
+ field: "id",
81
+ value: accessId
82
+ }]
83
+ });
84
+ this.logger?.info("Revoked flow access", { accessId });
85
+ }
86
+ /**
87
+ * Revoke all access to a flow for a specific user or team.
88
+ */
89
+ async revokeAccessForUserOrTeam(flowId, userId, teamId) {
90
+ if (!userId && !teamId) throw new Error("Either userId or teamId must be provided");
91
+ const where = [{
92
+ field: "flow_id",
93
+ value: flowId
94
+ }];
95
+ if (userId) where.push({
96
+ field: "user_id",
97
+ value: userId
98
+ });
99
+ if (teamId) where.push({
100
+ field: "team_id",
101
+ value: teamId
102
+ });
103
+ await this.adapter.delete({
104
+ model: TABLE,
105
+ where
106
+ });
107
+ this.logger?.info("Revoked flow access for user/team", {
108
+ flowId,
109
+ userId,
110
+ teamId
111
+ });
112
+ }
113
+ /**
114
+ * List all access records for a flow.
115
+ */
116
+ async listFlowAccess(flowId) {
117
+ return (await this.adapter.findMany({
118
+ model: TABLE,
119
+ where: [{
120
+ field: "flow_id",
121
+ value: flowId
122
+ }]
123
+ })).map((r) => this.normalize(r));
124
+ }
125
+ /**
126
+ * Get all flows a user has access to (directly or via teams).
127
+ * Fetches matching records and filters in application code.
128
+ */
129
+ async getAccessibleFlowIds(userId, teamIds = []) {
130
+ const userRows = await this.adapter.findMany({
131
+ model: TABLE,
132
+ where: [{
133
+ field: "user_id",
134
+ value: userId
135
+ }],
136
+ select: ["flow_id", "expires_at"]
137
+ });
138
+ let teamRows = [];
139
+ if (teamIds.length > 0) teamRows = await this.adapter.findMany({
140
+ model: TABLE,
141
+ where: [{
142
+ field: "team_id",
143
+ operator: "in",
144
+ value: teamIds
145
+ }],
146
+ select: ["flow_id", "expires_at"]
147
+ });
148
+ const now = /* @__PURE__ */ new Date();
149
+ const flowIds = /* @__PURE__ */ new Set();
150
+ for (const row of [...userRows, ...teamRows]) {
151
+ const expiresAt = row.expires_at ?? row.expiresAt;
152
+ if (expiresAt && new Date(expiresAt) <= now) continue;
153
+ flowIds.add(String(row.flow_id ?? row.flowId));
154
+ }
155
+ return [...flowIds];
156
+ }
157
+ /**
158
+ * Check if a user has access to a flow with at least the required permission.
159
+ */
160
+ async hasFlowAccess(flowId, userId, teamIds = [], requiredPermission = "viewer") {
161
+ const records = await this.getFlowAccessRecords(flowId, userId, teamIds);
162
+ const requiredLevel = PERMISSION_LEVELS[requiredPermission];
163
+ return records.some((r) => PERMISSION_LEVELS[r.permission] >= requiredLevel);
164
+ }
165
+ /**
166
+ * Get the highest permission level a user has for a flow.
167
+ */
168
+ async getFlowPermission(flowId, userId, teamIds = []) {
169
+ const records = await this.getFlowAccessRecords(flowId, userId, teamIds);
170
+ if (records.length === 0) return null;
171
+ let highest = "viewer";
172
+ for (const record of records) if (PERMISSION_LEVELS[record.permission] > PERMISSION_LEVELS[highest]) highest = record.permission;
173
+ return highest;
174
+ }
175
+ /**
176
+ * Auto-grant owner access when a flow is created.
177
+ */
178
+ async grantOwnerAccess(flowId, userId) {
179
+ return this.grantAccess({
180
+ flowId,
181
+ userId,
182
+ permission: "owner",
183
+ grantedBy: userId
184
+ });
185
+ }
186
+ /**
187
+ * Get non-expired access records for a user (direct + teams) on a specific flow.
188
+ */
189
+ async getFlowAccessRecords(flowId, userId, teamIds) {
190
+ const userRows = await this.adapter.findMany({
191
+ model: TABLE,
192
+ where: [{
193
+ field: "flow_id",
194
+ value: flowId
195
+ }, {
196
+ field: "user_id",
197
+ value: userId
198
+ }]
199
+ });
200
+ let teamRows = [];
201
+ if (teamIds.length > 0) teamRows = await this.adapter.findMany({
202
+ model: TABLE,
203
+ where: [{
204
+ field: "flow_id",
205
+ value: flowId
206
+ }, {
207
+ field: "team_id",
208
+ operator: "in",
209
+ value: teamIds
210
+ }]
211
+ });
212
+ const now = /* @__PURE__ */ new Date();
213
+ return [...userRows, ...teamRows].map((r) => this.normalize(r)).filter((r) => {
214
+ if (!r.expiresAt) return true;
215
+ return new Date(r.expiresAt) > now;
216
+ });
217
+ }
218
+ /**
219
+ * Find existing access record for a user/team on a flow.
220
+ */
221
+ async findExistingAccess(flowId, userId, teamId) {
222
+ const where = [{
223
+ field: "flow_id",
224
+ value: flowId
225
+ }];
226
+ if (userId) where.push({
227
+ field: "user_id",
228
+ value: userId
229
+ });
230
+ if (teamId) where.push({
231
+ field: "team_id",
232
+ value: teamId
233
+ });
234
+ const row = await this.adapter.findOne({
235
+ model: TABLE,
236
+ where
237
+ });
238
+ return row ? this.normalize(row) : null;
239
+ }
240
+ /**
241
+ * Normalize a raw database row into a FlowAccessRecord.
242
+ */
243
+ normalize(raw) {
244
+ return {
245
+ id: String(raw.id),
246
+ flowId: String(raw.flow_id ?? raw.flowId),
247
+ userId: raw.user_id ?? raw.userId ?? null,
248
+ teamId: raw.team_id ?? raw.teamId ?? null,
249
+ permission: String(raw.permission),
250
+ grantedBy: raw.granted_by ?? raw.grantedBy ?? null,
251
+ grantedAt: raw.granted_at ?? raw.grantedAt ?? /* @__PURE__ */ new Date(),
252
+ expiresAt: raw.expires_at ?? raw.expiresAt ?? null
253
+ };
254
+ }
255
+ };
256
+ //#endregion
257
+ exports.FlowAccessService = FlowAccessService;
258
+
259
+ //# sourceMappingURL=flow-access.service.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-access.service.cjs","names":[],"sources":["../../../src/services/auth/flow-access.service.ts"],"sourcesContent":["/**\n * Flow Access Service\n *\n * Manages flow-level access permissions stored in the Invect database.\n * Supports both user-level and team-level access control.\n *\n * Uses the InvectAdapter for database operations (no direct Drizzle usage).\n */\n\nimport type { Logger } from '../../types/schemas-fresh/invect-config';\nimport type { InvectAdapter, WhereClause } from '../../database/adapter';\n\n// Types for the service\nexport type FlowAccessPermission = 'owner' | 'editor' | 'operator' | 'viewer';\n\nexport interface FlowAccessRecord {\n id: string;\n flowId: string;\n userId?: string | null;\n teamId?: string | null;\n permission: FlowAccessPermission;\n grantedBy?: string | null;\n grantedAt: Date | string;\n expiresAt?: Date | string | null;\n}\n\nexport interface GrantFlowAccessInput {\n flowId: string;\n userId?: string;\n teamId?: string;\n permission: FlowAccessPermission;\n grantedBy?: string;\n expiresAt?: Date | string;\n}\n\nexport interface FlowAccessQuery {\n userId?: string;\n teamIds?: string[];\n flowId?: string;\n includeExpired?: boolean;\n}\n\nexport interface FlowAccessServiceOptions {\n adapter: InvectAdapter;\n logger?: Logger;\n}\n\nconst TABLE = 'flow_access';\n\n/**\n * Permission hierarchy for access checks.\n * Higher number = more permissions.\n */\nconst PERMISSION_LEVELS: Record<FlowAccessPermission, number> = {\n viewer: 1,\n operator: 2,\n editor: 3,\n owner: 4,\n};\n\n/**\n * FlowAccessService - Manages flow access permissions\n */\nexport class FlowAccessService {\n private readonly adapter: InvectAdapter;\n private readonly logger?: Logger;\n\n constructor(options: FlowAccessServiceOptions) {\n this.adapter = options.adapter;\n this.logger = options.logger;\n }\n\n /**\n * Grant access to a flow for a user or team.\n */\n async grantAccess(input: GrantFlowAccessInput): Promise<FlowAccessRecord> {\n if (!input.userId && !input.teamId) {\n throw new Error('Either userId or teamId must be provided');\n }\n if (input.userId && input.teamId) {\n throw new Error('Cannot set both userId and teamId - use one or the other');\n }\n\n this.logger?.debug('Granting flow access', { input });\n\n // Check if access already exists\n const existing = await this.findExistingAccess(input.flowId, input.userId, input.teamId);\n\n if (existing) {\n // Update existing access\n const updated = await this.adapter.update<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'id', value: existing.id }],\n update: {\n permission: input.permission,\n granted_by: input.grantedBy,\n granted_at: new Date(),\n expires_at: input.expiresAt ?? null,\n },\n });\n\n if (!updated) {\n throw new Error(`Flow access ${existing.id} no longer exists`);\n }\n\n const record = this.normalize(updated);\n this.logger?.info('Updated flow access', { id: record.id, flowId: input.flowId });\n return record;\n }\n\n // Create new access\n const created = await this.adapter.create({\n model: TABLE,\n data: {\n flow_id: input.flowId,\n user_id: input.userId ?? null,\n team_id: input.teamId ?? null,\n permission: input.permission,\n granted_by: input.grantedBy ?? null,\n granted_at: new Date(),\n expires_at: input.expiresAt ?? null,\n },\n });\n\n const record = this.normalize(created);\n this.logger?.info('Granted flow access', { id: record.id, flowId: input.flowId });\n return record;\n }\n\n /**\n * Revoke access to a flow for a user or team.\n */\n async revokeAccess(accessId: string): Promise<void> {\n this.logger?.debug('Revoking flow access', { accessId });\n\n await this.adapter.delete({\n model: TABLE,\n where: [{ field: 'id', value: accessId }],\n });\n\n this.logger?.info('Revoked flow access', { accessId });\n }\n\n /**\n * Revoke all access to a flow for a specific user or team.\n */\n async revokeAccessForUserOrTeam(flowId: string, userId?: string, teamId?: string): Promise<void> {\n if (!userId && !teamId) {\n throw new Error('Either userId or teamId must be provided');\n }\n\n const where: WhereClause[] = [{ field: 'flow_id', value: flowId }];\n if (userId) {\n where.push({ field: 'user_id', value: userId });\n }\n if (teamId) {\n where.push({ field: 'team_id', value: teamId });\n }\n\n await this.adapter.delete({ model: TABLE, where });\n\n this.logger?.info('Revoked flow access for user/team', { flowId, userId, teamId });\n }\n\n /**\n * List all access records for a flow.\n */\n async listFlowAccess(flowId: string): Promise<FlowAccessRecord[]> {\n const rows = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'flow_id', value: flowId }],\n });\n return rows.map((r) => this.normalize(r));\n }\n\n /**\n * Get all flows a user has access to (directly or via teams).\n * Fetches matching records and filters in application code.\n */\n async getAccessibleFlowIds(userId: string, teamIds: string[] = []): Promise<string[]> {\n // Fetch user-level access\n const userRows = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'user_id', value: userId }],\n select: ['flow_id', 'expires_at'],\n });\n\n // Fetch team-level access\n let teamRows: Record<string, unknown>[] = [];\n if (teamIds.length > 0) {\n teamRows = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [{ field: 'team_id', operator: 'in', value: teamIds }],\n select: ['flow_id', 'expires_at'],\n });\n }\n\n const now = new Date();\n const flowIds = new Set<string>();\n\n for (const row of [...userRows, ...teamRows]) {\n const expiresAt = row.expires_at ?? row.expiresAt;\n if (expiresAt && new Date(expiresAt as string) <= now) {\n continue;\n }\n flowIds.add(String(row.flow_id ?? row.flowId));\n }\n\n return [...flowIds];\n }\n\n /**\n * Check if a user has access to a flow with at least the required permission.\n */\n async hasFlowAccess(\n flowId: string,\n userId: string,\n teamIds: string[] = [],\n requiredPermission: FlowAccessPermission = 'viewer',\n ): Promise<boolean> {\n const records = await this.getFlowAccessRecords(flowId, userId, teamIds);\n const requiredLevel = PERMISSION_LEVELS[requiredPermission];\n return records.some((r) => PERMISSION_LEVELS[r.permission] >= requiredLevel);\n }\n\n /**\n * Get the highest permission level a user has for a flow.\n */\n async getFlowPermission(\n flowId: string,\n userId: string,\n teamIds: string[] = [],\n ): Promise<FlowAccessPermission | null> {\n const records = await this.getFlowAccessRecords(flowId, userId, teamIds);\n\n if (records.length === 0) {\n return null;\n }\n\n let highest: FlowAccessPermission = 'viewer';\n for (const record of records) {\n if (PERMISSION_LEVELS[record.permission] > PERMISSION_LEVELS[highest]) {\n highest = record.permission;\n }\n }\n return highest;\n }\n\n /**\n * Auto-grant owner access when a flow is created.\n */\n async grantOwnerAccess(flowId: string, userId: string): Promise<FlowAccessRecord> {\n return this.grantAccess({\n flowId,\n userId,\n permission: 'owner',\n grantedBy: userId,\n });\n }\n\n // ─── Private helpers ─────────────────────────────────────────────\n\n /**\n * Get non-expired access records for a user (direct + teams) on a specific flow.\n */\n private async getFlowAccessRecords(\n flowId: string,\n userId: string,\n teamIds: string[],\n ): Promise<FlowAccessRecord[]> {\n // User-level records for this flow\n const userRows = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'user_id', value: userId },\n ],\n });\n\n // Team-level records for this flow\n let teamRows: Record<string, unknown>[] = [];\n if (teamIds.length > 0) {\n teamRows = await this.adapter.findMany<Record<string, unknown>>({\n model: TABLE,\n where: [\n { field: 'flow_id', value: flowId },\n { field: 'team_id', operator: 'in', value: teamIds },\n ],\n });\n }\n\n const now = new Date();\n return [...userRows, ...teamRows]\n .map((r) => this.normalize(r))\n .filter((r) => {\n if (!r.expiresAt) {\n return true;\n }\n return new Date(r.expiresAt as string) > now;\n });\n }\n\n /**\n * Find existing access record for a user/team on a flow.\n */\n private async findExistingAccess(\n flowId: string,\n userId?: string,\n teamId?: string,\n ): Promise<FlowAccessRecord | null> {\n const where: WhereClause[] = [{ field: 'flow_id', value: flowId }];\n if (userId) {\n where.push({ field: 'user_id', value: userId });\n }\n if (teamId) {\n where.push({ field: 'team_id', value: teamId });\n }\n\n const row = await this.adapter.findOne<Record<string, unknown>>({\n model: TABLE,\n where,\n });\n\n return row ? this.normalize(row) : null;\n }\n\n /**\n * Normalize a raw database row into a FlowAccessRecord.\n */\n private normalize(raw: Record<string, unknown>): FlowAccessRecord {\n return {\n id: String(raw.id),\n flowId: String(raw.flow_id ?? raw.flowId),\n userId: (raw.user_id ?? raw.userId ?? null) as string | null,\n teamId: (raw.team_id ?? raw.teamId ?? null) as string | null,\n permission: String(raw.permission) as FlowAccessPermission,\n grantedBy: (raw.granted_by ?? raw.grantedBy ?? null) as string | null,\n grantedAt: (raw.granted_at ?? raw.grantedAt ?? new Date()) as Date | string,\n expiresAt: (raw.expires_at ?? raw.expiresAt ?? null) as Date | string | null,\n };\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { Logger } from "../../types/schemas-fresh/invect-config.cjs";
2
+ import { InvectAdapter } from "../../database/adapter.cjs";
3
+
4
+ //#region src/services/auth/flow-access.service.d.ts
5
+ type FlowAccessPermission = 'owner' | 'editor' | 'operator' | 'viewer';
6
+ interface FlowAccessRecord {
7
+ id: string;
8
+ flowId: string;
9
+ userId?: string | null;
10
+ teamId?: string | null;
11
+ permission: FlowAccessPermission;
12
+ grantedBy?: string | null;
13
+ grantedAt: Date | string;
14
+ expiresAt?: Date | string | null;
15
+ }
16
+ interface GrantFlowAccessInput {
17
+ flowId: string;
18
+ userId?: string;
19
+ teamId?: string;
20
+ permission: FlowAccessPermission;
21
+ grantedBy?: string;
22
+ expiresAt?: Date | string;
23
+ }
24
+ interface FlowAccessQuery {
25
+ userId?: string;
26
+ teamIds?: string[];
27
+ flowId?: string;
28
+ includeExpired?: boolean;
29
+ }
30
+ interface FlowAccessServiceOptions {
31
+ adapter: InvectAdapter;
32
+ logger?: Logger;
33
+ }
34
+ /**
35
+ * FlowAccessService - Manages flow access permissions
36
+ */
37
+ declare class FlowAccessService {
38
+ private readonly adapter;
39
+ private readonly logger?;
40
+ constructor(options: FlowAccessServiceOptions);
41
+ /**
42
+ * Grant access to a flow for a user or team.
43
+ */
44
+ grantAccess(input: GrantFlowAccessInput): Promise<FlowAccessRecord>;
45
+ /**
46
+ * Revoke access to a flow for a user or team.
47
+ */
48
+ revokeAccess(accessId: string): Promise<void>;
49
+ /**
50
+ * Revoke all access to a flow for a specific user or team.
51
+ */
52
+ revokeAccessForUserOrTeam(flowId: string, userId?: string, teamId?: string): Promise<void>;
53
+ /**
54
+ * List all access records for a flow.
55
+ */
56
+ listFlowAccess(flowId: string): Promise<FlowAccessRecord[]>;
57
+ /**
58
+ * Get all flows a user has access to (directly or via teams).
59
+ * Fetches matching records and filters in application code.
60
+ */
61
+ getAccessibleFlowIds(userId: string, teamIds?: string[]): Promise<string[]>;
62
+ /**
63
+ * Check if a user has access to a flow with at least the required permission.
64
+ */
65
+ hasFlowAccess(flowId: string, userId: string, teamIds?: string[], requiredPermission?: FlowAccessPermission): Promise<boolean>;
66
+ /**
67
+ * Get the highest permission level a user has for a flow.
68
+ */
69
+ getFlowPermission(flowId: string, userId: string, teamIds?: string[]): Promise<FlowAccessPermission | null>;
70
+ /**
71
+ * Auto-grant owner access when a flow is created.
72
+ */
73
+ grantOwnerAccess(flowId: string, userId: string): Promise<FlowAccessRecord>;
74
+ /**
75
+ * Get non-expired access records for a user (direct + teams) on a specific flow.
76
+ */
77
+ private getFlowAccessRecords;
78
+ /**
79
+ * Find existing access record for a user/team on a flow.
80
+ */
81
+ private findExistingAccess;
82
+ /**
83
+ * Normalize a raw database row into a FlowAccessRecord.
84
+ */
85
+ private normalize;
86
+ }
87
+ //#endregion
88
+ export { FlowAccessPermission, FlowAccessQuery, FlowAccessRecord, FlowAccessService, FlowAccessServiceOptions, GrantFlowAccessInput };
89
+ //# sourceMappingURL=flow-access.service.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-access.service.d.cts","names":[],"sources":["../../../src/services/auth/flow-access.service.ts"],"mappings":";;;;KAaY,oBAAA;AAAA,UAEK,gBAAA;EACf,EAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;EACA,UAAA,EAAY,oBAAA;EACZ,SAAA;EACA,SAAA,EAAW,IAAA;EACX,SAAA,GAAY,IAAA;AAAA;AAAA,UAGG,oBAAA;EACf,MAAA;EACA,MAAA;EACA,MAAA;EACA,UAAA,EAAY,oBAAA;EACZ,SAAA;EACA,SAAA,GAAY,IAAA;AAAA;AAAA,UAGG,eAAA;EACf,MAAA;EACA,OAAA;EACA,MAAA;EACA,cAAA;AAAA;AAAA,UAGe,wBAAA;EACf,OAAA,EAAS,aAAA;EACT,MAAA,GAAS,MAAA;AAAA;;;;cAmBE,iBAAA;EAAA,iBACM,OAAA;EAAA,iBACA,MAAA;cAEL,OAAA,EAAS,wBAAA;;;;EAQf,WAAA,CAAY,KAAA,EAAO,oBAAA,GAAuB,OAAA,CAAQ,gBAAA;EArCxD;;;EA8FM,YAAA,CAAa,QAAA,WAAmB,OAAA;EA1FvB;;;EAwGT,yBAAA,CAA0B,MAAA,UAAgB,MAAA,WAAiB,MAAA,YAAkB,OAAA;EAvGnF;;;EA4HM,cAAA,CAAe,MAAA,WAAiB,OAAA,CAAQ,gBAAA;EA3H/B;;AAmBjB;;EAoHQ,oBAAA,CAAqB,MAAA,UAAgB,OAAA,cAAyB,OAAA;EAhH/C;;;EAmJf,aAAA,CACJ,MAAA,UACA,MAAA,UACA,OAAA,aACA,kBAAA,GAAoB,oBAAA,GACnB,OAAA;EAvFmC;;;EAgGhC,iBAAA,CACJ,MAAA,UACA,MAAA,UACA,OAAA,cACC,OAAA,CAAQ,oBAAA;EArDyD;;;EAwE9D,gBAAA,CAAiB,MAAA,UAAgB,MAAA,WAAiB,OAAA,CAAQ,gBAAA;EAnB7D;;;EAAA,QAiCW,oBAAA;EAdiD;;;EAAA,QAsDjD,kBAAA;EA9OO;;;EAAA,QAsQb,SAAA;AAAA"}