n8n-nodes-base 1.92.0 → 1.94.0

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 (274) hide show
  1. package/dist/credentials/AirtopApi.credentials.js +2 -1
  2. package/dist/credentials/AirtopApi.credentials.js.map +1 -1
  3. package/dist/credentials/JinaAiApi.credentials.js +1 -1
  4. package/dist/credentials/JinaAiApi.credentials.js.map +1 -1
  5. package/dist/credentials/MicrosoftSharePointOAuth2Api.credentials.js +0 -9
  6. package/dist/credentials/MicrosoftSharePointOAuth2Api.credentials.js.map +1 -1
  7. package/dist/credentials/MicrosoftTeamsOAuth2Api.credentials.js +13 -0
  8. package/dist/credentials/MicrosoftTeamsOAuth2Api.credentials.js.map +1 -1
  9. package/dist/credentials/Snowflake.credentials.js +46 -2
  10. package/dist/credentials/Snowflake.credentials.js.map +1 -1
  11. package/dist/known/credentials.json +10 -1
  12. package/dist/known/nodes.json +20 -4
  13. package/dist/methods/defined.json +6 -0
  14. package/dist/methods/referenced.json +3 -0
  15. package/dist/nodes/Airtop/Airtop.node.js +14 -8
  16. package/dist/nodes/Airtop/Airtop.node.js.map +1 -1
  17. package/dist/nodes/Airtop/GenericFunctions.js +87 -15
  18. package/dist/nodes/Airtop/GenericFunctions.js.map +1 -1
  19. package/dist/nodes/Airtop/actions/common/fields.js +9 -0
  20. package/dist/nodes/Airtop/actions/common/fields.js.map +1 -1
  21. package/dist/nodes/Airtop/actions/common/output.utils.js +79 -0
  22. package/dist/nodes/Airtop/actions/common/output.utils.js.map +1 -0
  23. package/dist/nodes/Airtop/actions/common/session.utils.js +2 -2
  24. package/dist/nodes/Airtop/actions/common/session.utils.js.map +1 -1
  25. package/dist/nodes/Airtop/actions/extraction/getPaginated.operation.js +13 -4
  26. package/dist/nodes/Airtop/actions/extraction/getPaginated.operation.js.map +1 -1
  27. package/dist/nodes/Airtop/actions/extraction/query.operation.js +21 -3
  28. package/dist/nodes/Airtop/actions/extraction/query.operation.js.map +1 -1
  29. package/dist/nodes/Airtop/actions/extraction/scrape.operation.js +2 -1
  30. package/dist/nodes/Airtop/actions/extraction/scrape.operation.js.map +1 -1
  31. package/dist/nodes/Airtop/actions/file/File.resource.js +104 -0
  32. package/dist/nodes/Airtop/actions/file/File.resource.js.map +1 -0
  33. package/dist/nodes/Airtop/actions/file/delete.operation.js +60 -0
  34. package/dist/nodes/Airtop/actions/file/delete.operation.js.map +1 -0
  35. package/dist/nodes/Airtop/actions/file/get.operation.js +91 -0
  36. package/dist/nodes/Airtop/actions/file/get.operation.js.map +1 -0
  37. package/dist/nodes/Airtop/actions/file/getMany.operation.js +100 -0
  38. package/dist/nodes/Airtop/actions/file/getMany.operation.js.map +1 -0
  39. package/dist/nodes/Airtop/actions/file/helpers.js +199 -0
  40. package/dist/nodes/Airtop/actions/file/helpers.js.map +1 -0
  41. package/dist/nodes/Airtop/actions/file/load.operation.js +85 -0
  42. package/dist/nodes/Airtop/actions/file/load.operation.js.map +1 -0
  43. package/dist/nodes/Airtop/actions/file/upload.operation.js +186 -0
  44. package/dist/nodes/Airtop/actions/file/upload.operation.js.map +1 -0
  45. package/dist/nodes/Airtop/actions/interaction/Interaction.resource.js +22 -1
  46. package/dist/nodes/Airtop/actions/interaction/Interaction.resource.js.map +1 -1
  47. package/dist/nodes/Airtop/actions/interaction/fill.operation.js +89 -0
  48. package/dist/nodes/Airtop/actions/interaction/fill.operation.js.map +1 -0
  49. package/dist/nodes/Airtop/actions/interaction/scroll.operation.js +219 -0
  50. package/dist/nodes/Airtop/actions/interaction/scroll.operation.js.map +1 -0
  51. package/dist/nodes/Airtop/actions/node.type.js.map +1 -1
  52. package/dist/nodes/Airtop/actions/router.js +13 -4
  53. package/dist/nodes/Airtop/actions/router.js.map +1 -1
  54. package/dist/nodes/Airtop/actions/session/create.operation.js +85 -32
  55. package/dist/nodes/Airtop/actions/session/create.operation.js.map +1 -1
  56. package/dist/nodes/Airtop/actions/window/Window.resource.js +2 -1
  57. package/dist/nodes/Airtop/actions/window/Window.resource.js.map +1 -1
  58. package/dist/nodes/Airtop/actions/window/create.operation.js +1 -1
  59. package/dist/nodes/Airtop/actions/window/create.operation.js.map +1 -1
  60. package/dist/nodes/Airtop/actions/window/takeScreenshot.operation.js +26 -3
  61. package/dist/nodes/Airtop/actions/window/takeScreenshot.operation.js.map +1 -1
  62. package/dist/nodes/Airtop/constants.js +38 -5
  63. package/dist/nodes/Airtop/constants.js.map +1 -1
  64. package/dist/nodes/Airtop/countries.js +1026 -0
  65. package/dist/nodes/Airtop/countries.js.map +1 -0
  66. package/dist/nodes/Airtop/transport/index.js +6 -3
  67. package/dist/nodes/Airtop/transport/index.js.map +1 -1
  68. package/dist/nodes/Airtop/transport/types.js.map +1 -1
  69. package/dist/nodes/Aws/IAM/AwsIam.node.js +95 -0
  70. package/dist/nodes/Aws/IAM/AwsIam.node.js.map +1 -0
  71. package/dist/nodes/Aws/IAM/AwsIam.node.json +18 -0
  72. package/dist/nodes/Aws/IAM/AwsIam.svg +18 -0
  73. package/dist/nodes/Aws/IAM/descriptions/common.js +188 -0
  74. package/dist/nodes/Aws/IAM/descriptions/common.js.map +1 -0
  75. package/dist/nodes/Aws/IAM/descriptions/group/Group.resource.js +175 -0
  76. package/dist/nodes/Aws/IAM/descriptions/group/Group.resource.js.map +1 -0
  77. package/dist/nodes/Aws/IAM/descriptions/group/create.operation.js +66 -0
  78. package/dist/nodes/Aws/IAM/descriptions/group/create.operation.js.map +1 -0
  79. package/dist/nodes/Aws/IAM/descriptions/group/delete.operation.js +43 -0
  80. package/dist/nodes/Aws/IAM/descriptions/group/delete.operation.js.map +1 -0
  81. package/dist/nodes/Aws/IAM/descriptions/group/get.operation.js +50 -0
  82. package/dist/nodes/Aws/IAM/descriptions/group/get.operation.js.map +1 -0
  83. package/dist/nodes/Aws/IAM/descriptions/group/getAll.operation.js +47 -0
  84. package/dist/nodes/Aws/IAM/descriptions/group/getAll.operation.js.map +1 -0
  85. package/dist/nodes/Aws/IAM/descriptions/group/update.operation.js +70 -0
  86. package/dist/nodes/Aws/IAM/descriptions/group/update.operation.js.map +1 -0
  87. package/dist/nodes/Aws/IAM/descriptions/index.js +42 -0
  88. package/dist/nodes/Aws/IAM/descriptions/index.js.map +1 -0
  89. package/dist/nodes/Aws/IAM/descriptions/user/User.resource.js +231 -0
  90. package/dist/nodes/Aws/IAM/descriptions/user/User.resource.js.map +1 -0
  91. package/dist/nodes/Aws/IAM/descriptions/user/addToGroup.operation.js +47 -0
  92. package/dist/nodes/Aws/IAM/descriptions/user/addToGroup.operation.js.map +1 -0
  93. package/dist/nodes/Aws/IAM/descriptions/user/create.operation.js +118 -0
  94. package/dist/nodes/Aws/IAM/descriptions/user/create.operation.js.map +1 -0
  95. package/dist/nodes/Aws/IAM/descriptions/user/delete.operation.js +43 -0
  96. package/dist/nodes/Aws/IAM/descriptions/user/delete.operation.js.map +1 -0
  97. package/dist/nodes/Aws/IAM/descriptions/user/get.operation.js +43 -0
  98. package/dist/nodes/Aws/IAM/descriptions/user/get.operation.js.map +1 -0
  99. package/dist/nodes/Aws/IAM/descriptions/user/getAll.operation.js +66 -0
  100. package/dist/nodes/Aws/IAM/descriptions/user/getAll.operation.js.map +1 -0
  101. package/dist/nodes/Aws/IAM/descriptions/user/removeFromGroup.operation.js +74 -0
  102. package/dist/nodes/Aws/IAM/descriptions/user/removeFromGroup.operation.js.map +1 -0
  103. package/dist/nodes/Aws/IAM/descriptions/user/update.operation.js +68 -0
  104. package/dist/nodes/Aws/IAM/descriptions/user/update.operation.js.map +1 -0
  105. package/dist/nodes/Aws/IAM/helpers/constants.js +47 -0
  106. package/dist/nodes/Aws/IAM/helpers/constants.js.map +1 -0
  107. package/dist/nodes/Aws/IAM/helpers/errorHandler.js +90 -0
  108. package/dist/nodes/Aws/IAM/helpers/errorHandler.js.map +1 -0
  109. package/dist/nodes/Aws/IAM/helpers/types.js +17 -0
  110. package/dist/nodes/Aws/IAM/helpers/types.js.map +1 -0
  111. package/dist/nodes/Aws/IAM/helpers/utils.js +279 -0
  112. package/dist/nodes/Aws/IAM/helpers/utils.js.map +1 -0
  113. package/dist/nodes/Aws/IAM/methods/index.js +39 -0
  114. package/dist/nodes/Aws/IAM/methods/index.js.map +1 -0
  115. package/dist/nodes/Aws/IAM/methods/listSearch.js +132 -0
  116. package/dist/nodes/Aws/IAM/methods/listSearch.js.map +1 -0
  117. package/dist/nodes/Aws/IAM/transport/index.js +64 -0
  118. package/dist/nodes/Aws/IAM/transport/index.js.map +1 -0
  119. package/dist/nodes/Cron/Cron.node.js +1 -1
  120. package/dist/nodes/Cron/Cron.node.js.map +1 -1
  121. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js +2 -2
  122. package/dist/nodes/EmailReadImap/v1/EmailReadImapV1.node.js.map +1 -1
  123. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js +2 -2
  124. package/dist/nodes/EmailReadImap/v2/EmailReadImapV2.node.js.map +1 -1
  125. package/dist/nodes/Evaluation/Evaluation/Description.node.js +146 -0
  126. package/dist/nodes/Evaluation/Evaluation/Description.node.js.map +1 -0
  127. package/dist/nodes/Evaluation/Evaluation/Evaluation.node.ee.js +117 -0
  128. package/dist/nodes/Evaluation/Evaluation/Evaluation.node.ee.js.map +1 -0
  129. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js +187 -0
  130. package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js.map +1 -0
  131. package/dist/nodes/Evaluation/methods/index.js +42 -0
  132. package/dist/nodes/Evaluation/methods/index.js.map +1 -0
  133. package/dist/nodes/Evaluation/methods/loadOptions.js +40 -0
  134. package/dist/nodes/Evaluation/methods/loadOptions.js.map +1 -0
  135. package/dist/nodes/Evaluation/utils/evaluationTriggerUtils.js +119 -0
  136. package/dist/nodes/Evaluation/utils/evaluationTriggerUtils.js.map +1 -0
  137. package/dist/nodes/Evaluation/utils/evaluationUtils.js +171 -0
  138. package/dist/nodes/Evaluation/utils/evaluationUtils.js.map +1 -0
  139. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js +4 -3
  140. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.js.map +1 -1
  141. package/dist/nodes/Form/common.descriptions.js +2 -2
  142. package/dist/nodes/Form/common.descriptions.js.map +1 -1
  143. package/dist/nodes/Google/Drive/v2/actions/file/upload.operation.js +4 -1
  144. package/dist/nodes/Google/Drive/v2/actions/file/upload.operation.js.map +1 -1
  145. package/dist/nodes/Google/Firebase/CloudFirestore/GenericFunctions.js +1 -2
  146. package/dist/nodes/Google/Firebase/CloudFirestore/GenericFunctions.js.map +1 -1
  147. package/dist/nodes/Google/Sheet/GoogleSheetsTrigger.node.js +113 -107
  148. package/dist/nodes/Google/Sheet/GoogleSheetsTrigger.node.js.map +1 -1
  149. package/dist/nodes/Google/Sheet/v2/actions/sheet/read.operation.js +52 -106
  150. package/dist/nodes/Google/Sheet/v2/actions/sheet/read.operation.js.map +1 -1
  151. package/dist/nodes/Google/Sheet/v2/actions/utils/readOperation.js +97 -0
  152. package/dist/nodes/Google/Sheet/v2/actions/utils/readOperation.js.map +1 -0
  153. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js +20 -17
  154. package/dist/nodes/Google/Sheet/v2/actions/versionDescription.js.map +1 -1
  155. package/dist/nodes/Google/YouTube/YouTube.node.js +4 -2
  156. package/dist/nodes/Google/YouTube/YouTube.node.js.map +1 -1
  157. package/dist/nodes/HttpRequest/GenericFunctions.js +1 -1
  158. package/dist/nodes/HttpRequest/GenericFunctions.js.map +1 -1
  159. package/dist/nodes/Interval/Interval.node.js +1 -1
  160. package/dist/nodes/Interval/Interval.node.js.map +1 -1
  161. package/dist/nodes/Jira/Jira.node.js +34 -15
  162. package/dist/nodes/Jira/Jira.node.js.map +1 -1
  163. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js +2 -2
  164. package/dist/nodes/LocalFileTrigger/LocalFileTrigger.node.js.map +1 -1
  165. package/dist/nodes/MQTT/MqttTrigger.node.js +2 -2
  166. package/dist/nodes/MQTT/MqttTrigger.node.js.map +1 -1
  167. package/dist/nodes/ManualTrigger/ManualTrigger.node.js +1 -1
  168. package/dist/nodes/ManualTrigger/ManualTrigger.node.js.map +1 -1
  169. package/dist/nodes/Merge/Merge.node.js +3 -2
  170. package/dist/nodes/Merge/Merge.node.js.map +1 -1
  171. package/dist/nodes/Merge/v3/actions/mode/combineBySql.js +42 -4
  172. package/dist/nodes/Merge/v3/actions/mode/combineBySql.js.map +1 -1
  173. package/dist/nodes/Merge/v3/actions/versionDescription.js +1 -1
  174. package/dist/nodes/Merge/v3/actions/versionDescription.js.map +1 -1
  175. package/dist/nodes/Microsoft/SharePoint/MicrosoftSharePoint.node.js +93 -0
  176. package/dist/nodes/Microsoft/SharePoint/MicrosoftSharePoint.node.js.map +1 -0
  177. package/dist/nodes/Microsoft/SharePoint/MicrosoftSharepoint.node.json +18 -0
  178. package/dist/nodes/Microsoft/SharePoint/descriptions/common.descriptions.js +190 -0
  179. package/dist/nodes/Microsoft/SharePoint/descriptions/common.descriptions.js.map +1 -0
  180. package/dist/nodes/Microsoft/SharePoint/descriptions/file/File.resource.js +108 -0
  181. package/dist/nodes/Microsoft/SharePoint/descriptions/file/File.resource.js.map +1 -0
  182. package/dist/nodes/Microsoft/SharePoint/descriptions/file/download.operation.js +62 -0
  183. package/dist/nodes/Microsoft/SharePoint/descriptions/file/download.operation.js.map +1 -0
  184. package/dist/nodes/Microsoft/SharePoint/descriptions/file/update.operation.js +129 -0
  185. package/dist/nodes/Microsoft/SharePoint/descriptions/file/update.operation.js.map +1 -0
  186. package/dist/nodes/Microsoft/SharePoint/descriptions/file/upload.operation.js +77 -0
  187. package/dist/nodes/Microsoft/SharePoint/descriptions/file/upload.operation.js.map +1 -0
  188. package/dist/nodes/Microsoft/SharePoint/descriptions/index.js +45 -0
  189. package/dist/nodes/Microsoft/SharePoint/descriptions/index.js.map +1 -0
  190. package/dist/nodes/Microsoft/SharePoint/descriptions/item/Item.resource.js +175 -0
  191. package/dist/nodes/Microsoft/SharePoint/descriptions/item/Item.resource.js.map +1 -0
  192. package/dist/nodes/Microsoft/SharePoint/descriptions/item/create.operation.js +100 -0
  193. package/dist/nodes/Microsoft/SharePoint/descriptions/item/create.operation.js.map +1 -0
  194. package/dist/nodes/Microsoft/SharePoint/descriptions/item/delete.operation.js +62 -0
  195. package/dist/nodes/Microsoft/SharePoint/descriptions/item/delete.operation.js.map +1 -0
  196. package/dist/nodes/Microsoft/SharePoint/descriptions/item/get.operation.js +83 -0
  197. package/dist/nodes/Microsoft/SharePoint/descriptions/item/get.operation.js.map +1 -0
  198. package/dist/nodes/Microsoft/SharePoint/descriptions/item/getAll.operation.js +203 -0
  199. package/dist/nodes/Microsoft/SharePoint/descriptions/item/getAll.operation.js.map +1 -0
  200. package/dist/nodes/Microsoft/SharePoint/descriptions/item/update.operation.js +100 -0
  201. package/dist/nodes/Microsoft/SharePoint/descriptions/item/update.operation.js.map +1 -0
  202. package/dist/nodes/Microsoft/SharePoint/descriptions/item/upsert.operation.js +100 -0
  203. package/dist/nodes/Microsoft/SharePoint/descriptions/item/upsert.operation.js.map +1 -0
  204. package/dist/nodes/Microsoft/SharePoint/descriptions/list/List.resource.js +99 -0
  205. package/dist/nodes/Microsoft/SharePoint/descriptions/list/List.resource.js.map +1 -0
  206. package/dist/nodes/Microsoft/SharePoint/descriptions/list/get.operation.js +65 -0
  207. package/dist/nodes/Microsoft/SharePoint/descriptions/list/get.operation.js.map +1 -0
  208. package/dist/nodes/Microsoft/SharePoint/descriptions/list/getAll.operation.js +105 -0
  209. package/dist/nodes/Microsoft/SharePoint/descriptions/list/getAll.operation.js.map +1 -0
  210. package/dist/nodes/Microsoft/SharePoint/helpers/interfaces.js +17 -0
  211. package/dist/nodes/Microsoft/SharePoint/helpers/interfaces.js.map +1 -0
  212. package/dist/nodes/Microsoft/SharePoint/helpers/utils.js +252 -0
  213. package/dist/nodes/Microsoft/SharePoint/helpers/utils.js.map +1 -0
  214. package/dist/nodes/Microsoft/SharePoint/methods/index.js +42 -0
  215. package/dist/nodes/Microsoft/SharePoint/methods/index.js.map +1 -0
  216. package/dist/nodes/Microsoft/SharePoint/methods/listSearch.js +222 -0
  217. package/dist/nodes/Microsoft/SharePoint/methods/listSearch.js.map +1 -0
  218. package/dist/nodes/Microsoft/SharePoint/methods/resourceMapping.js +104 -0
  219. package/dist/nodes/Microsoft/SharePoint/methods/resourceMapping.js.map +1 -0
  220. package/dist/nodes/Microsoft/SharePoint/test/credentials.js +54 -0
  221. package/dist/nodes/Microsoft/SharePoint/test/credentials.js.map +1 -0
  222. package/dist/nodes/Microsoft/SharePoint/transport/index.js +46 -0
  223. package/dist/nodes/Microsoft/SharePoint/transport/index.js.map +1 -0
  224. package/dist/nodes/Microsoft/Teams/MicrosoftTeamsTrigger.node.js +387 -0
  225. package/dist/nodes/Microsoft/Teams/MicrosoftTeamsTrigger.node.js.map +1 -0
  226. package/dist/nodes/Microsoft/Teams/MicrosoftTeamsTrigger.node.json +18 -0
  227. package/dist/nodes/Microsoft/Teams/v2/helpers/types.js +17 -0
  228. package/dist/nodes/Microsoft/Teams/v2/helpers/types.js.map +1 -0
  229. package/dist/nodes/Microsoft/Teams/v2/helpers/utils-trigger.js +147 -0
  230. package/dist/nodes/Microsoft/Teams/v2/helpers/utils-trigger.js.map +1 -0
  231. package/dist/nodes/Microsoft/Teams/v2/transport/index.js.map +1 -1
  232. package/dist/nodes/MongoDb/GenericFunctions.js +9 -2
  233. package/dist/nodes/MongoDb/GenericFunctions.js.map +1 -1
  234. package/dist/nodes/MongoDb/MongoDb.node.js +25 -5
  235. package/dist/nodes/MongoDb/MongoDb.node.js.map +1 -1
  236. package/dist/nodes/PostBin/BinDescription.js +1 -1
  237. package/dist/nodes/PostBin/BinDescription.js.map +1 -1
  238. package/dist/nodes/PostBin/GenericFunctions.js +5 -5
  239. package/dist/nodes/PostBin/GenericFunctions.js.map +1 -1
  240. package/dist/nodes/PostBin/PostBin.node.js +1 -1
  241. package/dist/nodes/PostBin/PostBin.node.js.map +1 -1
  242. package/dist/nodes/PostBin/RequestDescription.js +2 -2
  243. package/dist/nodes/PostBin/RequestDescription.js.map +1 -1
  244. package/dist/nodes/Postgres/PostgresTrigger.node.js +2 -2
  245. package/dist/nodes/Postgres/PostgresTrigger.node.js.map +1 -1
  246. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js +2 -2
  247. package/dist/nodes/RabbitMQ/RabbitMQTrigger.node.js.map +1 -1
  248. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js +8 -3
  249. package/dist/nodes/RespondToWebhook/RespondToWebhook.node.js.map +1 -1
  250. package/dist/nodes/RespondToWebhook/utils.js +43 -0
  251. package/dist/nodes/RespondToWebhook/utils.js.map +1 -0
  252. package/dist/nodes/Schedule/ScheduleTrigger.node.js +1 -1
  253. package/dist/nodes/Schedule/ScheduleTrigger.node.js.map +1 -1
  254. package/dist/nodes/Snowflake/GenericFunctions.js +34 -2
  255. package/dist/nodes/Snowflake/GenericFunctions.js.map +1 -1
  256. package/dist/nodes/Snowflake/Snowflake.node.js +5 -7
  257. package/dist/nodes/Snowflake/Snowflake.node.js.map +1 -1
  258. package/dist/nodes/SseTrigger/SseTrigger.node.js +2 -2
  259. package/dist/nodes/SseTrigger/SseTrigger.node.js.map +1 -1
  260. package/dist/nodes/Telegram/Telegram.node.js +5 -1
  261. package/dist/nodes/Telegram/Telegram.node.js.map +1 -1
  262. package/dist/nodes/Transform/Summarize/utils.js +2 -1
  263. package/dist/nodes/Transform/Summarize/utils.js.map +1 -1
  264. package/dist/test/setup.js +1 -0
  265. package/dist/test/setup.js.map +1 -1
  266. package/dist/types/credentials.json +7 -7
  267. package/dist/types/nodes.json +27 -23
  268. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js +12 -2
  269. package/dist/utils/workflowInputsResourceMapping/GenericFunctions.js.map +1 -1
  270. package/package.json +15 -12
  271. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.js +0 -119
  272. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.js.map +0 -1
  273. package/dist/nodes/EvaluationMetrics/EvaluationMetrics.node.json +0 -14
  274. /package/dist/{credentials/icons/SharePoint.svg → nodes/Microsoft/SharePoint/microsoftSharePoint.svg} +0 -0
@@ -30,12 +30,16 @@ var Interaction_resource_exports = {};
30
30
  __export(Interaction_resource_exports, {
31
31
  click: () => click,
32
32
  description: () => description,
33
+ fill: () => fill,
33
34
  hover: () => hover,
35
+ scroll: () => scroll,
34
36
  type: () => type
35
37
  });
36
38
  module.exports = __toCommonJS(Interaction_resource_exports);
37
39
  var click = __toESM(require("./click.operation"));
40
+ var fill = __toESM(require("./fill.operation"));
38
41
  var hover = __toESM(require("./hover.operation"));
42
+ var scroll = __toESM(require("./scroll.operation"));
39
43
  var type = __toESM(require("./type.operation"));
40
44
  var import_fields = require("../common/fields");
41
45
  const description = [
@@ -56,12 +60,24 @@ const description = [
56
60
  description: "Execute a click on an element given a description",
57
61
  action: "Click an element"
58
62
  },
63
+ {
64
+ name: "Fill Form",
65
+ value: "fill",
66
+ description: "Fill a form with the provided information",
67
+ action: "Fill form"
68
+ },
59
69
  {
60
70
  name: "Hover on an Element",
61
71
  value: "hover",
62
72
  description: "Execute a hover action on an element given a description",
63
73
  action: "Hover on an element"
64
74
  },
75
+ {
76
+ name: "Scroll",
77
+ value: "scroll",
78
+ description: "Execute a scroll action on the page",
79
+ action: "Scroll on page"
80
+ },
65
81
  {
66
82
  name: "Type",
67
83
  value: "type",
@@ -88,7 +104,9 @@ const description = [
88
104
  }
89
105
  },
90
106
  ...click.description,
107
+ ...fill.description,
91
108
  ...hover.description,
109
+ ...scroll.description,
92
110
  ...type.description,
93
111
  {
94
112
  displayName: "Additional Fields",
@@ -98,7 +116,8 @@ const description = [
98
116
  default: {},
99
117
  displayOptions: {
100
118
  show: {
101
- resource: ["interaction"]
119
+ resource: ["interaction"],
120
+ operation: ["click", "hover", "type", "scroll"]
102
121
  }
103
122
  },
104
123
  options: [
@@ -163,7 +182,9 @@ const description = [
163
182
  0 && (module.exports = {
164
183
  click,
165
184
  description,
185
+ fill,
166
186
  hover,
187
+ scroll,
167
188
  type
168
189
  });
169
190
  //# sourceMappingURL=Interaction.resource.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../nodes/Airtop/actions/interaction/Interaction.resource.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nimport * as click from './click.operation';\nimport * as hover from './hover.operation';\nimport * as type from './type.operation';\nimport { sessionIdField, windowIdField } from '../common/fields';\nexport { click, hover, type };\n\nexport const description: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Click an Element',\n\t\t\t\tvalue: 'click',\n\t\t\t\tdescription: 'Execute a click on an element given a description',\n\t\t\t\taction: 'Click an element',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Hover on an Element',\n\t\t\t\tvalue: 'hover',\n\t\t\t\tdescription: 'Execute a hover action on an element given a description',\n\t\t\t\taction: 'Hover on an element',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Type',\n\t\t\t\tvalue: 'type',\n\t\t\t\tdescription: 'Execute a Type action on an element given a description',\n\t\t\t\taction: 'Type text',\n\t\t\t},\n\t\t],\n\t\tdefault: 'click',\n\t},\n\t{\n\t\t...sessionIdField,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\t...windowIdField,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t},\n\t...click.description,\n\t...hover.description,\n\t...type.description,\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Visual Scope',\n\t\t\t\tname: 'visualScope',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'auto',\n\t\t\t\tdescription: 'Defines the strategy for visual analysis of the current window',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Auto',\n\t\t\t\t\t\tdescription: 'Provides the simplest out-of-the-box experience for most web pages',\n\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Viewport',\n\t\t\t\t\t\tdescription: 'For analysis of the current browser view only',\n\t\t\t\t\t\tvalue: 'viewport',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Page',\n\t\t\t\t\t\tdescription: 'For analysis of the entire page',\n\t\t\t\t\t\tvalue: 'page',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Scan',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"For a full page analysis on sites that have compatibility issues with 'Page' mode\",\n\t\t\t\t\t\tvalue: 'scan',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Wait Until Event After Navigation',\n\t\t\t\tname: 'waitForNavigation',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'load',\n\t\t\t\tdescription:\n\t\t\t\t\t\"The condition to wait for the navigation to complete after an interaction (click, type or hover). Defaults to 'Fully Loaded'.\",\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Fully Loaded (Slower)',\n\t\t\t\t\t\tvalue: 'load',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'DOM Only Loaded (Faster)',\n\t\t\t\t\t\tvalue: 'domcontentloaded',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'All Network Activity Has Stopped',\n\t\t\t\t\t\tvalue: 'networkidle0',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Most Network Activity Has Stopped',\n\t\t\t\t\t\tvalue: 'networkidle2',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,YAAuB;AACvB,WAAsB;AACtB,oBAA8C;AAGvC,MAAM,cAAiC;AAAA,EAC7C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,GAAG;AAAA,IACH,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,IACC,GAAG;AAAA,IACH,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,EACD;AAAA,EACA,GAAG,MAAM;AAAA,EACT,GAAG,MAAM;AAAA,EACT,GAAG,KAAK;AAAA,EACR;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aACC;AAAA,YACD,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,QACD,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
1
+ {"version":3,"sources":["../../../../../nodes/Airtop/actions/interaction/Interaction.resource.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nimport * as click from './click.operation';\nimport * as fill from './fill.operation';\nimport * as hover from './hover.operation';\nimport * as scroll from './scroll.operation';\nimport * as type from './type.operation';\nimport { sessionIdField, windowIdField } from '../common/fields';\nexport { click, fill, hover, scroll, type };\n\nexport const description: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Click an Element',\n\t\t\t\tvalue: 'click',\n\t\t\t\tdescription: 'Execute a click on an element given a description',\n\t\t\t\taction: 'Click an element',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Fill Form',\n\t\t\t\tvalue: 'fill',\n\t\t\t\tdescription: 'Fill a form with the provided information',\n\t\t\t\taction: 'Fill form',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Hover on an Element',\n\t\t\t\tvalue: 'hover',\n\t\t\t\tdescription: 'Execute a hover action on an element given a description',\n\t\t\t\taction: 'Hover on an element',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Scroll',\n\t\t\t\tvalue: 'scroll',\n\t\t\t\tdescription: 'Execute a scroll action on the page',\n\t\t\t\taction: 'Scroll on page',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Type',\n\t\t\t\tvalue: 'type',\n\t\t\t\tdescription: 'Execute a Type action on an element given a description',\n\t\t\t\taction: 'Type text',\n\t\t\t},\n\t\t],\n\t\tdefault: 'click',\n\t},\n\t{\n\t\t...sessionIdField,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\t...windowIdField,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t},\n\t\t},\n\t},\n\t...click.description,\n\t...fill.description,\n\t...hover.description,\n\t...scroll.description,\n\t...type.description,\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['click', 'hover', 'type', 'scroll'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Visual Scope',\n\t\t\t\tname: 'visualScope',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'auto',\n\t\t\t\tdescription: 'Defines the strategy for visual analysis of the current window',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Auto',\n\t\t\t\t\t\tdescription: 'Provides the simplest out-of-the-box experience for most web pages',\n\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Viewport',\n\t\t\t\t\t\tdescription: 'For analysis of the current browser view only',\n\t\t\t\t\t\tvalue: 'viewport',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Page',\n\t\t\t\t\t\tdescription: 'For analysis of the entire page',\n\t\t\t\t\t\tvalue: 'page',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Scan',\n\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\"For a full page analysis on sites that have compatibility issues with 'Page' mode\",\n\t\t\t\t\t\tvalue: 'scan',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Wait Until Event After Navigation',\n\t\t\t\tname: 'waitForNavigation',\n\t\t\t\ttype: 'options',\n\t\t\t\tdefault: 'load',\n\t\t\t\tdescription:\n\t\t\t\t\t\"The condition to wait for the navigation to complete after an interaction (click, type or hover). Defaults to 'Fully Loaded'.\",\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Fully Loaded (Slower)',\n\t\t\t\t\t\tvalue: 'load',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'DOM Only Loaded (Faster)',\n\t\t\t\t\t\tvalue: 'domcontentloaded',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'All Network Activity Has Stopped',\n\t\t\t\t\t\tvalue: 'networkidle0',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Most Network Activity Has Stopped',\n\t\t\t\t\t\tvalue: 'networkidle2',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,WAAsB;AACtB,YAAuB;AACvB,aAAwB;AACxB,WAAsB;AACtB,oBAA8C;AAGvC,MAAM,cAAiC;AAAA,EAC7C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,GAAG;AAAA,IACH,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,EACD;AAAA,EACA;AAAA,IACC,GAAG;AAAA,IACH,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,MACzB;AAAA,IACD;AAAA,EACD;AAAA,EACA,GAAG,MAAM;AAAA,EACT,GAAG,KAAK;AAAA,EACR,GAAG,MAAM;AAAA,EACT,GAAG,OAAO;AAAA,EACV,GAAG,KAAK;AAAA,EACR;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,QACxB,WAAW,CAAC,SAAS,SAAS,QAAQ,QAAQ;AAAA,MAC/C;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aAAa;AAAA,YACb,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,aACC;AAAA,YACD,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aACC;AAAA,QACD,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var fill_operation_exports = {};
20
+ __export(fill_operation_exports, {
21
+ description: () => description,
22
+ execute: () => execute
23
+ });
24
+ module.exports = __toCommonJS(fill_operation_exports);
25
+ var import_n8n_workflow = require("n8n-workflow");
26
+ var import_constants = require("../../constants");
27
+ var import_GenericFunctions = require("../../GenericFunctions");
28
+ var import_transport = require("../../transport");
29
+ const description = [
30
+ {
31
+ displayName: "Form Data",
32
+ name: "formData",
33
+ type: "string",
34
+ typeOptions: {
35
+ rows: 4
36
+ },
37
+ required: true,
38
+ default: "",
39
+ displayOptions: {
40
+ show: {
41
+ resource: ["interaction"],
42
+ operation: ["fill"]
43
+ }
44
+ },
45
+ description: "The information to fill into the form written in natural language",
46
+ placeholder: 'e.g. "Name: John Doe, Email: john.doe@example.com"'
47
+ }
48
+ ];
49
+ async function execute(index, timeout = import_constants.OPERATION_TIMEOUT) {
50
+ const { sessionId, windowId } = import_GenericFunctions.validateSessionAndWindowId.call(this, index);
51
+ const formData = import_GenericFunctions.validateRequiredStringField.call(this, index, "formData", "Form Data");
52
+ const asyncAutomationResponse = await import_transport.apiRequest.call(
53
+ this,
54
+ "POST",
55
+ `/async/sessions/${sessionId}/windows/${windowId}/execute-automation`,
56
+ {
57
+ automationId: "auto",
58
+ parameters: {
59
+ customData: formData
60
+ }
61
+ }
62
+ );
63
+ const reqId = asyncAutomationResponse.requestId;
64
+ const startTime = Date.now();
65
+ let automationStatusResponse;
66
+ while (true) {
67
+ automationStatusResponse = await import_transport.apiRequest.call(this, "GET", `/requests/${reqId}/status`);
68
+ const status = automationStatusResponse?.status ?? "";
69
+ (0, import_GenericFunctions.validateAirtopApiResponse)(this.getNode(), automationStatusResponse);
70
+ if (status === "completed" || status === "error") {
71
+ break;
72
+ }
73
+ const elapsedTime = Date.now() - startTime;
74
+ if (elapsedTime >= timeout) {
75
+ throw new import_n8n_workflow.NodeApiError(this.getNode(), {
76
+ message: import_constants.ERROR_MESSAGES.TIMEOUT_REACHED,
77
+ code: 500
78
+ });
79
+ }
80
+ await new Promise((resolve) => setTimeout(resolve, 1e3));
81
+ }
82
+ return this.helpers.returnJsonArray({ sessionId, windowId, ...automationStatusResponse });
83
+ }
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ description,
87
+ execute
88
+ });
89
+ //# sourceMappingURL=fill.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../nodes/Airtop/actions/interaction/fill.operation.ts"],"sourcesContent":["import {\n\ttype IExecuteFunctions,\n\ttype INodeExecutionData,\n\ttype INodeProperties,\n\tNodeApiError,\n} from 'n8n-workflow';\n\nimport { ERROR_MESSAGES, OPERATION_TIMEOUT } from '../../constants';\nimport {\n\tvalidateRequiredStringField,\n\tvalidateSessionAndWindowId,\n\tvalidateAirtopApiResponse,\n} from '../../GenericFunctions';\nimport { apiRequest } from '../../transport';\nimport type { IAirtopResponse } from '../../transport/types';\n\nexport const description: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Form Data',\n\t\tname: 'formData',\n\t\ttype: 'string',\n\t\ttypeOptions: {\n\t\t\trows: 4,\n\t\t},\n\t\trequired: true,\n\t\tdefault: '',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['fill'],\n\t\t\t},\n\t\t},\n\t\tdescription: 'The information to fill into the form written in natural language',\n\t\tplaceholder: 'e.g. \"Name: John Doe, Email: john.doe@example.com\"',\n\t},\n];\n\nexport async function execute(\n\tthis: IExecuteFunctions,\n\tindex: number,\n\ttimeout = OPERATION_TIMEOUT,\n): Promise<INodeExecutionData[]> {\n\tconst { sessionId, windowId } = validateSessionAndWindowId.call(this, index);\n\tconst formData = validateRequiredStringField.call(this, index, 'formData', 'Form Data');\n\n\t// run automation\n\tconst asyncAutomationResponse = await apiRequest.call(\n\t\tthis,\n\t\t'POST',\n\t\t`/async/sessions/${sessionId}/windows/${windowId}/execute-automation`,\n\t\t{\n\t\t\tautomationId: 'auto',\n\t\t\tparameters: {\n\t\t\t\tcustomData: formData,\n\t\t\t},\n\t\t},\n\t);\n\n\tconst reqId = asyncAutomationResponse.requestId as string;\n\n\t// Poll status every second until it's completed or timeout is reached\n\tconst startTime = Date.now();\n\tlet automationStatusResponse: IAirtopResponse;\n\n\twhile (true) {\n\t\tautomationStatusResponse = await apiRequest.call(this, 'GET', `/requests/${reqId}/status`);\n\t\tconst status = automationStatusResponse?.status ?? '';\n\n\t\tvalidateAirtopApiResponse(this.getNode(), automationStatusResponse);\n\n\t\tif (status === 'completed' || status === 'error') {\n\t\t\tbreak;\n\t\t}\n\n\t\tconst elapsedTime = Date.now() - startTime;\n\t\tif (elapsedTime >= timeout) {\n\t\t\tthrow new NodeApiError(this.getNode(), {\n\t\t\t\tmessage: ERROR_MESSAGES.TIMEOUT_REACHED,\n\t\t\t\tcode: 500,\n\t\t\t});\n\t\t}\n\n\t\t// Wait one second\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1000));\n\t}\n\n\treturn this.helpers.returnJsonArray({ sessionId, windowId, ...automationStatusResponse });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAKO;AAEP,uBAAkD;AAClD,8BAIO;AACP,uBAA2B;AAGpB,MAAM,cAAiC;AAAA,EAC7C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,IACV,SAAS;AAAA,IACT,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,aAAa;AAAA,QACxB,WAAW,CAAC,MAAM;AAAA,MACnB;AAAA,IACD;AAAA,IACA,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AACD;AAEA,eAAsB,QAErB,OACA,UAAU,oCACsB;AAChC,QAAM,EAAE,WAAW,SAAS,IAAI,mDAA2B,KAAK,MAAM,KAAK;AAC3E,QAAM,WAAW,oDAA4B,KAAK,MAAM,OAAO,YAAY,WAAW;AAGtF,QAAM,0BAA0B,MAAM,4BAAW;AAAA,IAChD;AAAA,IACA;AAAA,IACA,mBAAmB,SAAS,YAAY,QAAQ;AAAA,IAChD;AAAA,MACC,cAAc;AAAA,MACd,YAAY;AAAA,QACX,YAAY;AAAA,MACb;AAAA,IACD;AAAA,EACD;AAEA,QAAM,QAAQ,wBAAwB;AAGtC,QAAM,YAAY,KAAK,IAAI;AAC3B,MAAI;AAEJ,SAAO,MAAM;AACZ,+BAA2B,MAAM,4BAAW,KAAK,MAAM,OAAO,aAAa,KAAK,SAAS;AACzF,UAAM,SAAS,0BAA0B,UAAU;AAEnD,2DAA0B,KAAK,QAAQ,GAAG,wBAAwB;AAElE,QAAI,WAAW,eAAe,WAAW,SAAS;AACjD;AAAA,IACD;AAEA,UAAM,cAAc,KAAK,IAAI,IAAI;AACjC,QAAI,eAAe,SAAS;AAC3B,YAAM,IAAI,iCAAa,KAAK,QAAQ,GAAG;AAAA,QACtC,SAAS,gCAAe;AAAA,QACxB,MAAM;AAAA,MACP,CAAC;AAAA,IACF;AAGA,UAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AAAA,EACzD;AAEA,SAAO,KAAK,QAAQ,gBAAgB,EAAE,WAAW,UAAU,GAAG,yBAAyB,CAAC;AACzF;","names":[]}
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var scroll_operation_exports = {};
20
+ __export(scroll_operation_exports, {
21
+ description: () => description,
22
+ execute: () => execute
23
+ });
24
+ module.exports = __toCommonJS(scroll_operation_exports);
25
+ var import_helpers = require("./helpers");
26
+ var import_GenericFunctions = require("../../GenericFunctions");
27
+ var import_transport = require("../../transport");
28
+ const description = [
29
+ {
30
+ displayName: "Scroll Mode",
31
+ name: "scrollingMode",
32
+ type: "options",
33
+ description: "Choose the mode of scrolling",
34
+ options: [
35
+ {
36
+ name: "Automatic",
37
+ value: "automatic",
38
+ description: "Describe with natural language the element to scroll to"
39
+ },
40
+ {
41
+ name: "Manual",
42
+ value: "manual",
43
+ description: "Define the direction and amount to scroll by"
44
+ }
45
+ ],
46
+ default: "automatic",
47
+ required: true,
48
+ displayOptions: {
49
+ show: {
50
+ resource: ["interaction"],
51
+ operation: ["scroll"]
52
+ }
53
+ }
54
+ },
55
+ {
56
+ displayName: "Element Description",
57
+ default: "",
58
+ description: "A natural language description of the element to scroll to",
59
+ name: "scrollToElement",
60
+ type: "string",
61
+ placeholder: 'e.g. the page section titled "Contact Us"',
62
+ required: true,
63
+ displayOptions: {
64
+ show: {
65
+ resource: ["interaction"],
66
+ operation: ["scroll"],
67
+ scrollingMode: ["automatic"]
68
+ }
69
+ }
70
+ },
71
+ {
72
+ displayName: "Scroll To Page Edges",
73
+ name: "scrollToEdge",
74
+ type: "fixedCollection",
75
+ default: {},
76
+ placeholder: "Add Edge Direction",
77
+ description: "The direction to scroll to. When 'Scroll By' is defined, 'Scroll To Edge' action will be executed first, then 'Scroll By' action.",
78
+ displayOptions: {
79
+ show: {
80
+ resource: ["interaction"],
81
+ operation: ["scroll"],
82
+ scrollingMode: ["manual"]
83
+ }
84
+ },
85
+ options: [
86
+ {
87
+ displayName: "Page Edges",
88
+ name: "edgeValues",
89
+ values: [
90
+ {
91
+ displayName: "Vertically",
92
+ name: "yAxis",
93
+ type: "options",
94
+ default: "",
95
+ options: [
96
+ {
97
+ name: "Empty",
98
+ value: ""
99
+ },
100
+ {
101
+ name: "Top",
102
+ value: "top"
103
+ },
104
+ {
105
+ name: "Bottom",
106
+ value: "bottom"
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ displayName: "Horizontally",
112
+ name: "xAxis",
113
+ type: "options",
114
+ default: "",
115
+ options: [
116
+ {
117
+ name: "Empty",
118
+ value: ""
119
+ },
120
+ {
121
+ name: "Left",
122
+ value: "left"
123
+ },
124
+ {
125
+ name: "Right",
126
+ value: "right"
127
+ }
128
+ ]
129
+ }
130
+ ]
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ displayName: "Scroll By",
136
+ name: "scrollBy",
137
+ type: "fixedCollection",
138
+ default: {},
139
+ description: "The amount to scroll by. When 'Scroll To Edge' is defined, 'Scroll By' action will be executed after 'Scroll To Edge'.",
140
+ placeholder: "Add Scroll Amount",
141
+ displayOptions: {
142
+ show: {
143
+ resource: ["interaction"],
144
+ operation: ["scroll"],
145
+ scrollingMode: ["manual"]
146
+ }
147
+ },
148
+ options: [
149
+ {
150
+ name: "scrollValues",
151
+ displayName: "Scroll Values",
152
+ description: "The amount in pixels or percentage to scroll by",
153
+ values: [
154
+ {
155
+ displayName: "Vertically",
156
+ name: "yAxis",
157
+ type: "string",
158
+ default: "",
159
+ placeholder: "e.g. 200px, 50%, -100px"
160
+ },
161
+ {
162
+ displayName: "Horizontally",
163
+ name: "xAxis",
164
+ type: "string",
165
+ default: "",
166
+ placeholder: "e.g. 50px, 10%, -200px"
167
+ }
168
+ ]
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ displayName: "Scrollable Area",
174
+ name: "scrollWithin",
175
+ type: "string",
176
+ default: "",
177
+ description: "Scroll within an element on the page",
178
+ placeholder: "e.g. the left sidebar",
179
+ displayOptions: {
180
+ show: {
181
+ resource: ["interaction"],
182
+ operation: ["scroll"],
183
+ scrollingMode: ["automatic"]
184
+ }
185
+ }
186
+ }
187
+ ];
188
+ async function execute(index) {
189
+ const { sessionId, windowId } = import_GenericFunctions.validateSessionAndWindowId.call(this, index);
190
+ const scrollingMode = import_GenericFunctions.validateScrollingMode.call(this, index);
191
+ const isAutomatic = scrollingMode === "automatic";
192
+ const scrollToElement = isAutomatic ? import_GenericFunctions.validateRequiredStringField.call(this, index, "scrollToElement", "Element Description") : "";
193
+ const scrollToEdge = this.getNodeParameter("scrollToEdge.edgeValues", index, {});
194
+ const scrollBy = import_GenericFunctions.validateScrollByAmount.call(this, index, "scrollBy.scrollValues");
195
+ const scrollWithin = this.getNodeParameter("scrollWithin", index, "");
196
+ const request = {
197
+ // when scrollingMode is 'Manual'
198
+ ...!isAutomatic ? { scrollToEdge } : {},
199
+ ...!isAutomatic ? { scrollBy } : {},
200
+ // when scrollingMode is 'Automatic'
201
+ ...isAutomatic ? { scrollToElement } : {},
202
+ ...isAutomatic ? { scrollWithin } : {}
203
+ };
204
+ const fullRequest = import_helpers.constructInteractionRequest.call(this, index, request);
205
+ const response = await import_transport.apiRequest.call(
206
+ this,
207
+ "POST",
208
+ `/sessions/${sessionId}/windows/${windowId}/scroll`,
209
+ fullRequest
210
+ );
211
+ (0, import_GenericFunctions.validateAirtopApiResponse)(this.getNode(), response);
212
+ return this.helpers.returnJsonArray({ sessionId, windowId, ...response });
213
+ }
214
+ // Annotate the CommonJS export names for ESM import in node:
215
+ 0 && (module.exports = {
216
+ description,
217
+ execute
218
+ });
219
+ //# sourceMappingURL=scroll.operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../nodes/Airtop/actions/interaction/scroll.operation.ts"],"sourcesContent":["import type {\n\tIDataObject,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeProperties,\n} from 'n8n-workflow';\n\nimport { constructInteractionRequest } from './helpers';\nimport {\n\tvalidateRequiredStringField,\n\tvalidateSessionAndWindowId,\n\tvalidateAirtopApiResponse,\n\tvalidateScrollByAmount,\n\tvalidateScrollingMode,\n} from '../../GenericFunctions';\nimport { apiRequest } from '../../transport';\n\nexport const description: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Scroll Mode',\n\t\tname: 'scrollingMode',\n\t\ttype: 'options',\n\t\tdescription: 'Choose the mode of scrolling',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Automatic',\n\t\t\t\tvalue: 'automatic',\n\t\t\t\tdescription: 'Describe with natural language the element to scroll to',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Manual',\n\t\t\t\tvalue: 'manual',\n\t\t\t\tdescription: 'Define the direction and amount to scroll by',\n\t\t\t},\n\t\t],\n\t\tdefault: 'automatic',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['scroll'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tdisplayName: 'Element Description',\n\t\tdefault: '',\n\t\tdescription: 'A natural language description of the element to scroll to',\n\t\tname: 'scrollToElement',\n\t\ttype: 'string',\n\t\tplaceholder: 'e.g. the page section titled \"Contact Us\"',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['scroll'],\n\t\t\t\tscrollingMode: ['automatic'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tdisplayName: 'Scroll To Page Edges',\n\t\tname: 'scrollToEdge',\n\t\ttype: 'fixedCollection',\n\t\tdefault: {},\n\t\tplaceholder: 'Add Edge Direction',\n\t\tdescription:\n\t\t\t\"The direction to scroll to. When 'Scroll By' is defined, 'Scroll To Edge' action will be executed first, then 'Scroll By' action.\",\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['scroll'],\n\t\t\t\tscrollingMode: ['manual'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Page Edges',\n\t\t\t\tname: 'edgeValues',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Vertically',\n\t\t\t\t\t\tname: 'yAxis',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Empty',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Top',\n\t\t\t\t\t\t\t\tvalue: 'top',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Bottom',\n\t\t\t\t\t\t\t\tvalue: 'bottom',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Horizontally',\n\t\t\t\t\t\tname: 'xAxis',\n\t\t\t\t\t\ttype: 'options',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Empty',\n\t\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Left',\n\t\t\t\t\t\t\t\tvalue: 'left',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tname: 'Right',\n\t\t\t\t\t\t\t\tvalue: 'right',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Scroll By',\n\t\tname: 'scrollBy',\n\t\ttype: 'fixedCollection',\n\t\tdefault: {},\n\t\tdescription:\n\t\t\t\"The amount to scroll by. When 'Scroll To Edge' is defined, 'Scroll By' action will be executed after 'Scroll To Edge'.\",\n\t\tplaceholder: 'Add Scroll Amount',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['scroll'],\n\t\t\t\tscrollingMode: ['manual'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'scrollValues',\n\t\t\t\tdisplayName: 'Scroll Values',\n\t\t\t\tdescription: 'The amount in pixels or percentage to scroll by',\n\t\t\t\tvalues: [\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Vertically',\n\t\t\t\t\t\tname: 'yAxis',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tplaceholder: 'e.g. 200px, 50%, -100px',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tdisplayName: 'Horizontally',\n\t\t\t\t\t\tname: 'xAxis',\n\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\tdefault: '',\n\t\t\t\t\t\tplaceholder: 'e.g. 50px, 10%, -200px',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tdisplayName: 'Scrollable Area',\n\t\tname: 'scrollWithin',\n\t\ttype: 'string',\n\t\tdefault: '',\n\t\tdescription: 'Scroll within an element on the page',\n\t\tplaceholder: 'e.g. the left sidebar',\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['interaction'],\n\t\t\t\toperation: ['scroll'],\n\t\t\t\tscrollingMode: ['automatic'],\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport async function execute(\n\tthis: IExecuteFunctions,\n\tindex: number,\n): Promise<INodeExecutionData[]> {\n\tconst { sessionId, windowId } = validateSessionAndWindowId.call(this, index);\n\n\tconst scrollingMode = validateScrollingMode.call(this, index);\n\tconst isAutomatic = scrollingMode === 'automatic';\n\n\tconst scrollToElement = isAutomatic\n\t\t? validateRequiredStringField.call(this, index, 'scrollToElement', 'Element Description')\n\t\t: '';\n\n\tconst scrollToEdge = this.getNodeParameter('scrollToEdge.edgeValues', index, {}) as {\n\t\txAxis?: string;\n\t\tyAxis?: string;\n\t};\n\n\tconst scrollBy = validateScrollByAmount.call(this, index, 'scrollBy.scrollValues');\n\n\tconst scrollWithin = this.getNodeParameter('scrollWithin', index, '') as string;\n\n\tconst request: IDataObject = {\n\t\t// when scrollingMode is 'Manual'\n\t\t...(!isAutomatic ? { scrollToEdge } : {}),\n\t\t...(!isAutomatic ? { scrollBy } : {}),\n\t\t// when scrollingMode is 'Automatic'\n\t\t...(isAutomatic ? { scrollToElement } : {}),\n\t\t...(isAutomatic ? { scrollWithin } : {}),\n\t};\n\n\tconst fullRequest = constructInteractionRequest.call(this, index, request);\n\n\tconst response = await apiRequest.call(\n\t\tthis,\n\t\t'POST',\n\t\t`/sessions/${sessionId}/windows/${windowId}/scroll`,\n\t\tfullRequest,\n\t);\n\n\tvalidateAirtopApiResponse(this.getNode(), response);\n\n\treturn this.helpers.returnJsonArray({ sessionId, windowId, ...response });\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../nodes/Airtop/actions/node.type.ts"],"sourcesContent":["import type { AllEntities } from 'n8n-workflow';\n\ntype NodeMap = {\n\tsession: 'create' | 'save' | 'terminate';\n\twindow: 'create' | 'close' | 'takeScreenshot' | 'load';\n\textraction: 'getPaginated' | 'query' | 'scrape';\n\tinteraction: 'click' | 'hover' | 'type';\n};\n\nexport type AirtopType = AllEntities<NodeMap>;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../../nodes/Airtop/actions/node.type.ts"],"sourcesContent":["import type { AllEntities } from 'n8n-workflow';\n\ntype NodeMap = {\n\tsession: 'create' | 'save' | 'terminate';\n\twindow: 'create' | 'close' | 'takeScreenshot' | 'load';\n\textraction: 'getPaginated' | 'query' | 'scrape';\n\tinteraction: 'click' | 'fill' | 'hover' | 'type';\n\tfile: 'getMany' | 'get' | 'deleteFile' | 'upload' | 'load';\n};\n\nexport type AirtopType = AllEntities<NodeMap>;\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -32,13 +32,17 @@ __export(router_exports, {
32
32
  });
33
33
  module.exports = __toCommonJS(router_exports);
34
34
  var import_n8n_workflow = require("n8n-workflow");
35
+ var import_output = require("./common/output.utils");
35
36
  var extraction = __toESM(require("./extraction/Extraction.resource"));
37
+ var file = __toESM(require("./file/File.resource"));
36
38
  var interaction = __toESM(require("./interaction/Interaction.resource"));
37
39
  var session = __toESM(require("./session/Session.resource"));
38
40
  var window = __toESM(require("./window/Window.resource"));
39
41
  async function router() {
40
42
  const operationResult = [];
41
43
  let responseData = [];
44
+ const nodeType = this.getNode().type;
45
+ const isCalledAsTool = nodeType.includes("airtopTool");
42
46
  const items = this.getInputData();
43
47
  const resource = this.getNodeParameter("resource", 0);
44
48
  const operation = this.getNodeParameter("operation", 0);
@@ -61,16 +65,21 @@ async function router() {
61
65
  case "extraction":
62
66
  responseData = await extraction[airtopNodeData.operation].execute.call(this, i);
63
67
  break;
68
+ case "file":
69
+ responseData = await file[airtopNodeData.operation].execute.call(this, i);
70
+ break;
64
71
  default:
65
72
  throw new import_n8n_workflow.NodeOperationError(
66
73
  this.getNode(),
67
74
  `The resource "${resource}" is not supported!`
68
75
  );
69
76
  }
70
- const executionData = this.helpers.constructExecutionMetaData(
71
- this.helpers.returnJsonArray(responseData),
72
- { itemData: { item: i } }
73
- );
77
+ if (isCalledAsTool && !["session", "window"].includes(resource)) {
78
+ responseData = (0, import_output.cleanOutputForToolUse)(responseData);
79
+ }
80
+ const executionData = this.helpers.constructExecutionMetaData(responseData, {
81
+ itemData: { item: i }
82
+ });
74
83
  operationResult.push(...executionData);
75
84
  } catch (error) {
76
85
  if (this.continueOnFail()) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../nodes/Airtop/actions/router.ts"],"sourcesContent":["import type { IDataObject, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport * as extraction from './extraction/Extraction.resource';\nimport * as interaction from './interaction/Interaction.resource';\nimport type { AirtopType } from './node.type';\nimport * as session from './session/Session.resource';\nimport * as window from './window/Window.resource';\n\nexport async function router(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\tconst operationResult: INodeExecutionData[] = [];\n\tlet responseData: IDataObject | IDataObject[] = [];\n\n\tconst items = this.getInputData();\n\tconst resource = this.getNodeParameter<AirtopType>('resource', 0);\n\tconst operation = this.getNodeParameter('operation', 0);\n\n\tconst airtopNodeData = {\n\t\tresource,\n\t\toperation,\n\t} as AirtopType;\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\ttry {\n\t\t\tswitch (airtopNodeData.resource) {\n\t\t\t\tcase 'session':\n\t\t\t\t\tresponseData = await session[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'window':\n\t\t\t\t\tresponseData = await window[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'interaction':\n\t\t\t\t\tresponseData = await interaction[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'extraction':\n\t\t\t\t\tresponseData = await extraction[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t`The resource \"${resource}\" is not supported!`,\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst executionData = this.helpers.constructExecutionMetaData(\n\t\t\t\tthis.helpers.returnJsonArray(responseData),\n\t\t\t\t{ itemData: { item: i } },\n\t\t\t);\n\t\t\toperationResult.push(...executionData);\n\t\t} catch (error) {\n\t\t\tif (this.continueOnFail()) {\n\t\t\t\toperationResult.push({\n\t\t\t\t\tjson: this.getInputData(i)[0].json,\n\t\t\t\t\terror: error as NodeOperationError,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn [operationResult];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAmC;AAEnC,iBAA4B;AAC5B,kBAA6B;AAE7B,cAAyB;AACzB,aAAwB;AAExB,eAAsB,SAAiE;AACtF,QAAM,kBAAwC,CAAC;AAC/C,MAAI,eAA4C,CAAC;AAEjD,QAAM,QAAQ,KAAK,aAAa;AAChC,QAAM,WAAW,KAAK,iBAA6B,YAAY,CAAC;AAChE,QAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,EACD;AAEA,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,QAAI;AACH,cAAQ,eAAe,UAAU;AAAA,QAChC,KAAK;AACJ,yBAAe,MAAM,QAAQ,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC3E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,OAAO,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC1E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,YAAY,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC/E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,WAAW,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC9E;AAAA,QACD;AACC,gBAAM,IAAI;AAAA,YACT,KAAK,QAAQ;AAAA,YACb,iBAAiB,QAAQ;AAAA,UAC1B;AAAA,MACF;AAEA,YAAM,gBAAgB,KAAK,QAAQ;AAAA,QAClC,KAAK,QAAQ,gBAAgB,YAAY;AAAA,QACzC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;AAAA,MACzB;AACA,sBAAgB,KAAK,GAAG,aAAa;AAAA,IACtC,SAAS,OAAO;AACf,UAAI,KAAK,eAAe,GAAG;AAC1B,wBAAgB,KAAK;AAAA,UACpB,MAAM,KAAK,aAAa,CAAC,EAAE,CAAC,EAAE;AAAA,UAC9B;AAAA,QACD,CAAC;AAAA,MACF,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO,CAAC,eAAe;AACxB;","names":[]}
1
+ {"version":3,"sources":["../../../../nodes/Airtop/actions/router.ts"],"sourcesContent":["import type { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport { cleanOutputForToolUse } from './common/output.utils';\nimport * as extraction from './extraction/Extraction.resource';\nimport * as file from './file/File.resource';\nimport * as interaction from './interaction/Interaction.resource';\nimport type { AirtopType } from './node.type';\nimport * as session from './session/Session.resource';\nimport * as window from './window/Window.resource';\nimport type { IAirtopNodeExecutionData } from '../transport/types';\n\nexport async function router(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\tconst operationResult: INodeExecutionData[] = [];\n\tlet responseData: IAirtopNodeExecutionData[] = [];\n\tconst nodeType = this.getNode().type;\n\tconst isCalledAsTool = nodeType.includes('airtopTool');\n\n\tconst items = this.getInputData();\n\tconst resource = this.getNodeParameter<AirtopType>('resource', 0);\n\tconst operation = this.getNodeParameter('operation', 0);\n\n\tconst airtopNodeData = {\n\t\tresource,\n\t\toperation,\n\t} as AirtopType;\n\n\tfor (let i = 0; i < items.length; i++) {\n\t\ttry {\n\t\t\tswitch (airtopNodeData.resource) {\n\t\t\t\tcase 'session':\n\t\t\t\t\tresponseData = await session[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'window':\n\t\t\t\t\tresponseData = await window[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'interaction':\n\t\t\t\t\tresponseData = await interaction[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'extraction':\n\t\t\t\t\tresponseData = await extraction[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'file':\n\t\t\t\t\tresponseData = await file[airtopNodeData.operation].execute.call(this, i);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t`The resource \"${resource}\" is not supported!`,\n\t\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Get cleaner output when called as tool\n\t\t\tif (isCalledAsTool && !['session', 'window'].includes(resource)) {\n\t\t\t\tresponseData = cleanOutputForToolUse(responseData);\n\t\t\t}\n\n\t\t\tconst executionData = this.helpers.constructExecutionMetaData(responseData, {\n\t\t\t\titemData: { item: i },\n\t\t\t});\n\n\t\t\toperationResult.push(...executionData);\n\t\t} catch (error) {\n\t\t\tif (this.continueOnFail()) {\n\t\t\t\toperationResult.push({\n\t\t\t\t\tjson: this.getInputData(i)[0].json,\n\t\t\t\t\terror: error as NodeOperationError,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn [operationResult];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAmC;AAEnC,oBAAsC;AACtC,iBAA4B;AAC5B,WAAsB;AACtB,kBAA6B;AAE7B,cAAyB;AACzB,aAAwB;AAGxB,eAAsB,SAAiE;AACtF,QAAM,kBAAwC,CAAC;AAC/C,MAAI,eAA2C,CAAC;AAChD,QAAM,WAAW,KAAK,QAAQ,EAAE;AAChC,QAAM,iBAAiB,SAAS,SAAS,YAAY;AAErD,QAAM,QAAQ,KAAK,aAAa;AAChC,QAAM,WAAW,KAAK,iBAA6B,YAAY,CAAC;AAChE,QAAM,YAAY,KAAK,iBAAiB,aAAa,CAAC;AAEtD,QAAM,iBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,EACD;AAEA,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,QAAI;AACH,cAAQ,eAAe,UAAU;AAAA,QAChC,KAAK;AACJ,yBAAe,MAAM,QAAQ,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC3E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,OAAO,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC1E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,YAAY,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC/E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,WAAW,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AAC9E;AAAA,QACD,KAAK;AACJ,yBAAe,MAAM,KAAK,eAAe,SAAS,EAAE,QAAQ,KAAK,MAAM,CAAC;AACxE;AAAA,QACD;AACC,gBAAM,IAAI;AAAA,YACT,KAAK,QAAQ;AAAA,YACb,iBAAiB,QAAQ;AAAA,UAC1B;AAAA,MACF;AAGA,UAAI,kBAAkB,CAAC,CAAC,WAAW,QAAQ,EAAE,SAAS,QAAQ,GAAG;AAChE,2BAAe,qCAAsB,YAAY;AAAA,MAClD;AAEA,YAAM,gBAAgB,KAAK,QAAQ,2BAA2B,cAAc;AAAA,QAC3E,UAAU,EAAE,MAAM,EAAE;AAAA,MACrB,CAAC;AAED,sBAAgB,KAAK,GAAG,aAAa;AAAA,IACtC,SAAS,OAAO;AACf,UAAI,KAAK,eAAe,GAAG;AAC1B,wBAAgB,KAAK;AAAA,UACpB,MAAM,KAAK,aAAa,CAAC,EAAE,CAAC,EAAE;AAAA,UAC9B;AAAA,QACD,CAAC;AAAA,MACF,OAAO;AACN,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO,CAAC,eAAe;AACxB;","names":[]}