@octo-cyber/workflow 0.5.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 (297) hide show
  1. package/dist/controllers/ai-workflow-session.controller.d.ts +19 -0
  2. package/dist/controllers/ai-workflow-session.controller.d.ts.map +1 -0
  3. package/dist/controllers/ai-workflow-session.controller.js +135 -0
  4. package/dist/controllers/ai-workflow-session.controller.js.map +1 -0
  5. package/dist/controllers/credential.controller.d.ts +68 -0
  6. package/dist/controllers/credential.controller.d.ts.map +1 -0
  7. package/dist/controllers/credential.controller.js +303 -0
  8. package/dist/controllers/credential.controller.js.map +1 -0
  9. package/dist/controllers/index.d.ts +3 -0
  10. package/dist/controllers/index.d.ts.map +1 -0
  11. package/dist/controllers/index.js +8 -0
  12. package/dist/controllers/index.js.map +1 -0
  13. package/dist/controllers/workflow-ai.controller.d.ts +23 -0
  14. package/dist/controllers/workflow-ai.controller.d.ts.map +1 -0
  15. package/dist/controllers/workflow-ai.controller.js +164 -0
  16. package/dist/controllers/workflow-ai.controller.js.map +1 -0
  17. package/dist/controllers/workflow.controller.d.ts +66 -0
  18. package/dist/controllers/workflow.controller.d.ts.map +1 -0
  19. package/dist/controllers/workflow.controller.js +239 -0
  20. package/dist/controllers/workflow.controller.js.map +1 -0
  21. package/dist/core/expression-resolver.d.ts +49 -0
  22. package/dist/core/expression-resolver.d.ts.map +1 -0
  23. package/dist/core/expression-resolver.js +113 -0
  24. package/dist/core/expression-resolver.js.map +1 -0
  25. package/dist/core/node-registry.d.ts +24 -0
  26. package/dist/core/node-registry.d.ts.map +1 -0
  27. package/dist/core/node-registry.js +62 -0
  28. package/dist/core/node-registry.js.map +1 -0
  29. package/dist/core/workflow-executor.d.ts +50 -0
  30. package/dist/core/workflow-executor.d.ts.map +1 -0
  31. package/dist/core/workflow-executor.js +458 -0
  32. package/dist/core/workflow-executor.js.map +1 -0
  33. package/dist/entities/ai-workflow-session.entity.d.ts +17 -0
  34. package/dist/entities/ai-workflow-session.entity.d.ts.map +1 -0
  35. package/dist/entities/ai-workflow-session.entity.js +70 -0
  36. package/dist/entities/ai-workflow-session.entity.js.map +1 -0
  37. package/dist/entities/ai-workflow-version.entity.d.ts +18 -0
  38. package/dist/entities/ai-workflow-version.entity.d.ts.map +1 -0
  39. package/dist/entities/ai-workflow-version.entity.js +71 -0
  40. package/dist/entities/ai-workflow-version.entity.js.map +1 -0
  41. package/dist/entities/credential-definition.entity.d.ts +17 -0
  42. package/dist/entities/credential-definition.entity.d.ts.map +1 -0
  43. package/dist/entities/credential-definition.entity.js +66 -0
  44. package/dist/entities/credential-definition.entity.js.map +1 -0
  45. package/dist/entities/index.d.ts +9 -0
  46. package/dist/entities/index.d.ts.map +1 -0
  47. package/dist/entities/index.js +22 -0
  48. package/dist/entities/index.js.map +1 -0
  49. package/dist/entities/workflow-definition.entity.d.ts +20 -0
  50. package/dist/entities/workflow-definition.entity.d.ts.map +1 -0
  51. package/dist/entities/workflow-definition.entity.js +85 -0
  52. package/dist/entities/workflow-definition.entity.js.map +1 -0
  53. package/dist/entities/workflow-execution.entity.d.ts +26 -0
  54. package/dist/entities/workflow-execution.entity.d.ts.map +1 -0
  55. package/dist/entities/workflow-execution.entity.js +99 -0
  56. package/dist/entities/workflow-execution.entity.js.map +1 -0
  57. package/dist/index.d.ts +52 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +96 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/n8n/cipher/cipher.d.ts +11 -0
  62. package/dist/n8n/cipher/cipher.d.ts.map +1 -0
  63. package/dist/n8n/cipher/cipher.js +54 -0
  64. package/dist/n8n/cipher/cipher.js.map +1 -0
  65. package/dist/n8n/controllers/n8n-session.controller.d.ts +20 -0
  66. package/dist/n8n/controllers/n8n-session.controller.d.ts.map +1 -0
  67. package/dist/n8n/controllers/n8n-session.controller.js +84 -0
  68. package/dist/n8n/controllers/n8n-session.controller.js.map +1 -0
  69. package/dist/n8n/index.d.ts +8 -0
  70. package/dist/n8n/index.d.ts.map +1 -0
  71. package/dist/n8n/index.js +14 -0
  72. package/dist/n8n/index.js.map +1 -0
  73. package/dist/n8n/launcher/n8n-launcher.d.ts +41 -0
  74. package/dist/n8n/launcher/n8n-launcher.d.ts.map +1 -0
  75. package/dist/n8n/launcher/n8n-launcher.js +186 -0
  76. package/dist/n8n/launcher/n8n-launcher.js.map +1 -0
  77. package/dist/n8n/nodes/OctoClaudeCliTool.node.d.ts +13 -0
  78. package/dist/n8n/nodes/OctoClaudeCliTool.node.d.ts.map +1 -0
  79. package/dist/n8n/nodes/OctoClaudeCliTool.node.js +103 -0
  80. package/dist/n8n/nodes/OctoClaudeCliTool.node.js.map +1 -0
  81. package/dist/n8n/nodes/OctoCliChatModel.node.d.ts +14 -0
  82. package/dist/n8n/nodes/OctoCliChatModel.node.d.ts.map +1 -0
  83. package/dist/n8n/nodes/OctoCliChatModel.node.js +431 -0
  84. package/dist/n8n/nodes/OctoCliChatModel.node.js.map +1 -0
  85. package/dist/n8n/nodes/OctoCodexCliTool.node.d.ts +13 -0
  86. package/dist/n8n/nodes/OctoCodexCliTool.node.d.ts.map +1 -0
  87. package/dist/n8n/nodes/OctoCodexCliTool.node.js +100 -0
  88. package/dist/n8n/nodes/OctoCodexCliTool.node.js.map +1 -0
  89. package/dist/n8n/nodes/OctoGeminiCliTool.node.d.ts +13 -0
  90. package/dist/n8n/nodes/OctoGeminiCliTool.node.d.ts.map +1 -0
  91. package/dist/n8n/nodes/OctoGeminiCliTool.node.js +91 -0
  92. package/dist/n8n/nodes/OctoGeminiCliTool.node.js.map +1 -0
  93. package/dist/n8n/nodes/OctoKnowledge.node.d.ts +6 -0
  94. package/dist/n8n/nodes/OctoKnowledge.node.d.ts.map +1 -0
  95. package/dist/n8n/nodes/OctoKnowledge.node.js +95 -0
  96. package/dist/n8n/nodes/OctoKnowledge.node.js.map +1 -0
  97. package/dist/n8n/nodes/OctoNotification.node.d.ts +6 -0
  98. package/dist/n8n/nodes/OctoNotification.node.d.ts.map +1 -0
  99. package/dist/n8n/nodes/OctoNotification.node.js +72 -0
  100. package/dist/n8n/nodes/OctoNotification.node.js.map +1 -0
  101. package/dist/n8n/nodes/OctoSyncBridge.node.d.ts +6 -0
  102. package/dist/n8n/nodes/OctoSyncBridge.node.d.ts.map +1 -0
  103. package/dist/n8n/nodes/OctoSyncBridge.node.js +60 -0
  104. package/dist/n8n/nodes/OctoSyncBridge.node.js.map +1 -0
  105. package/dist/n8n/nodes/n8n-node-types.d.ts +111 -0
  106. package/dist/n8n/nodes/n8n-node-types.d.ts.map +1 -0
  107. package/dist/n8n/nodes/n8n-node-types.js +30 -0
  108. package/dist/n8n/nodes/n8n-node-types.js.map +1 -0
  109. package/dist/n8n/nodes/octo-cli-chat-model.svg +23 -0
  110. package/dist/n8n/nodes/package.json +16 -0
  111. package/dist/n8n/proxy/css-injector.d.ts +3 -0
  112. package/dist/n8n/proxy/css-injector.d.ts.map +1 -0
  113. package/dist/n8n/proxy/css-injector.js +62 -0
  114. package/dist/n8n/proxy/css-injector.js.map +1 -0
  115. package/dist/n8n/proxy/n8n-proxy.middleware.d.ts +12 -0
  116. package/dist/n8n/proxy/n8n-proxy.middleware.d.ts.map +1 -0
  117. package/dist/n8n/proxy/n8n-proxy.middleware.js +131 -0
  118. package/dist/n8n/proxy/n8n-proxy.middleware.js.map +1 -0
  119. package/dist/n8n/proxy/n8n-theme.css +45 -0
  120. package/dist/n8n/sync/n8n-user-sync.service.d.ts +75 -0
  121. package/dist/n8n/sync/n8n-user-sync.service.d.ts.map +1 -0
  122. package/dist/n8n/sync/n8n-user-sync.service.js +286 -0
  123. package/dist/n8n/sync/n8n-user-sync.service.js.map +1 -0
  124. package/dist/n8n/watcher/n8n-execution-watcher.d.ts +39 -0
  125. package/dist/n8n/watcher/n8n-execution-watcher.d.ts.map +1 -0
  126. package/dist/n8n/watcher/n8n-execution-watcher.js +110 -0
  127. package/dist/n8n/watcher/n8n-execution-watcher.js.map +1 -0
  128. package/dist/nodes/code.node.d.ts +24 -0
  129. package/dist/nodes/code.node.d.ts.map +1 -0
  130. package/dist/nodes/code.node.js +150 -0
  131. package/dist/nodes/code.node.js.map +1 -0
  132. package/dist/nodes/error-trigger.node.d.ts +15 -0
  133. package/dist/nodes/error-trigger.node.d.ts.map +1 -0
  134. package/dist/nodes/error-trigger.node.js +53 -0
  135. package/dist/nodes/error-trigger.node.js.map +1 -0
  136. package/dist/nodes/execute-command.node.d.ts +9 -0
  137. package/dist/nodes/execute-command.node.d.ts.map +1 -0
  138. package/dist/nodes/execute-command.node.js +81 -0
  139. package/dist/nodes/execute-command.node.js.map +1 -0
  140. package/dist/nodes/filter.node.d.ts +10 -0
  141. package/dist/nodes/filter.node.d.ts.map +1 -0
  142. package/dist/nodes/filter.node.js +95 -0
  143. package/dist/nodes/filter.node.js.map +1 -0
  144. package/dist/nodes/http-request.node.d.ts +11 -0
  145. package/dist/nodes/http-request.node.d.ts.map +1 -0
  146. package/dist/nodes/http-request.node.js +139 -0
  147. package/dist/nodes/http-request.node.js.map +1 -0
  148. package/dist/nodes/if.node.d.ts +13 -0
  149. package/dist/nodes/if.node.d.ts.map +1 -0
  150. package/dist/nodes/if.node.js +137 -0
  151. package/dist/nodes/if.node.js.map +1 -0
  152. package/dist/nodes/index.d.ts +12 -0
  153. package/dist/nodes/index.d.ts.map +1 -0
  154. package/dist/nodes/index.js +26 -0
  155. package/dist/nodes/index.js.map +1 -0
  156. package/dist/nodes/manual-trigger.node.d.ts +10 -0
  157. package/dist/nodes/manual-trigger.node.d.ts.map +1 -0
  158. package/dist/nodes/manual-trigger.node.js +36 -0
  159. package/dist/nodes/manual-trigger.node.js.map +1 -0
  160. package/dist/nodes/merge.node.d.ts +15 -0
  161. package/dist/nodes/merge.node.d.ts.map +1 -0
  162. package/dist/nodes/merge.node.js +99 -0
  163. package/dist/nodes/merge.node.js.map +1 -0
  164. package/dist/nodes/noop.node.d.ts +12 -0
  165. package/dist/nodes/noop.node.d.ts.map +1 -0
  166. package/dist/nodes/noop.node.js +32 -0
  167. package/dist/nodes/noop.node.js.map +1 -0
  168. package/dist/nodes/placeholder.node.d.ts +10 -0
  169. package/dist/nodes/placeholder.node.d.ts.map +1 -0
  170. package/dist/nodes/placeholder.node.js +50 -0
  171. package/dist/nodes/placeholder.node.js.map +1 -0
  172. package/dist/nodes/remove-duplicates.node.d.ts +9 -0
  173. package/dist/nodes/remove-duplicates.node.d.ts.map +1 -0
  174. package/dist/nodes/remove-duplicates.node.js +68 -0
  175. package/dist/nodes/remove-duplicates.node.js.map +1 -0
  176. package/dist/nodes/respond-to-webhook.node.d.ts +14 -0
  177. package/dist/nodes/respond-to-webhook.node.d.ts.map +1 -0
  178. package/dist/nodes/respond-to-webhook.node.js +116 -0
  179. package/dist/nodes/respond-to-webhook.node.js.map +1 -0
  180. package/dist/nodes/schedule-trigger.node.d.ts +9 -0
  181. package/dist/nodes/schedule-trigger.node.d.ts.map +1 -0
  182. package/dist/nodes/schedule-trigger.node.js +67 -0
  183. package/dist/nodes/schedule-trigger.node.js.map +1 -0
  184. package/dist/nodes/set.node.d.ts +12 -0
  185. package/dist/nodes/set.node.d.ts.map +1 -0
  186. package/dist/nodes/set.node.js +81 -0
  187. package/dist/nodes/set.node.js.map +1 -0
  188. package/dist/nodes/sort.node.d.ts +9 -0
  189. package/dist/nodes/sort.node.d.ts.map +1 -0
  190. package/dist/nodes/sort.node.js +61 -0
  191. package/dist/nodes/sort.node.js.map +1 -0
  192. package/dist/nodes/split-in-batches.node.d.ts +9 -0
  193. package/dist/nodes/split-in-batches.node.d.ts.map +1 -0
  194. package/dist/nodes/split-in-batches.node.js +53 -0
  195. package/dist/nodes/split-in-batches.node.js.map +1 -0
  196. package/dist/nodes/split-out.node.d.ts +9 -0
  197. package/dist/nodes/split-out.node.d.ts.map +1 -0
  198. package/dist/nodes/split-out.node.js +76 -0
  199. package/dist/nodes/split-out.node.js.map +1 -0
  200. package/dist/nodes/switch.node.d.ts +16 -0
  201. package/dist/nodes/switch.node.d.ts.map +1 -0
  202. package/dist/nodes/switch.node.js +156 -0
  203. package/dist/nodes/switch.node.js.map +1 -0
  204. package/dist/nodes/wait.node.d.ts +12 -0
  205. package/dist/nodes/wait.node.d.ts.map +1 -0
  206. package/dist/nodes/wait.node.js +81 -0
  207. package/dist/nodes/wait.node.js.map +1 -0
  208. package/dist/nodes/webhook.node.d.ts +9 -0
  209. package/dist/nodes/webhook.node.d.ts.map +1 -0
  210. package/dist/nodes/webhook.node.js +69 -0
  211. package/dist/nodes/webhook.node.js.map +1 -0
  212. package/dist/services/ai-workflow-session.service.d.ts +31 -0
  213. package/dist/services/ai-workflow-session.service.d.ts.map +1 -0
  214. package/dist/services/ai-workflow-session.service.js +118 -0
  215. package/dist/services/ai-workflow-session.service.js.map +1 -0
  216. package/dist/services/credential.service.d.ts +57 -0
  217. package/dist/services/credential.service.d.ts.map +1 -0
  218. package/dist/services/credential.service.js +155 -0
  219. package/dist/services/credential.service.js.map +1 -0
  220. package/dist/services/index.d.ts +10 -0
  221. package/dist/services/index.d.ts.map +1 -0
  222. package/dist/services/index.js +14 -0
  223. package/dist/services/index.js.map +1 -0
  224. package/dist/services/push.service.d.ts +60 -0
  225. package/dist/services/push.service.d.ts.map +1 -0
  226. package/dist/services/push.service.js +121 -0
  227. package/dist/services/push.service.js.map +1 -0
  228. package/dist/services/workflow-ai.service.d.ts +61 -0
  229. package/dist/services/workflow-ai.service.d.ts.map +1 -0
  230. package/dist/services/workflow-ai.service.js +219 -0
  231. package/dist/services/workflow-ai.service.js.map +1 -0
  232. package/dist/services/workflow-context.service.d.ts +32 -0
  233. package/dist/services/workflow-context.service.d.ts.map +1 -0
  234. package/dist/services/workflow-context.service.js +155 -0
  235. package/dist/services/workflow-context.service.js.map +1 -0
  236. package/dist/services/workflow-engine.service.d.ts +90 -0
  237. package/dist/services/workflow-engine.service.d.ts.map +1 -0
  238. package/dist/services/workflow-engine.service.js +305 -0
  239. package/dist/services/workflow-engine.service.js.map +1 -0
  240. package/dist/services/workflow.service.d.ts +84 -0
  241. package/dist/services/workflow.service.d.ts.map +1 -0
  242. package/dist/services/workflow.service.js +241 -0
  243. package/dist/services/workflow.service.js.map +1 -0
  244. package/dist/triggers/cron-trigger.d.ts +39 -0
  245. package/dist/triggers/cron-trigger.d.ts.map +1 -0
  246. package/dist/triggers/cron-trigger.js +137 -0
  247. package/dist/triggers/cron-trigger.js.map +1 -0
  248. package/dist/triggers/index.d.ts +3 -0
  249. package/dist/triggers/index.d.ts.map +1 -0
  250. package/dist/triggers/index.js +8 -0
  251. package/dist/triggers/index.js.map +1 -0
  252. package/dist/triggers/webhook-trigger.d.ts +51 -0
  253. package/dist/triggers/webhook-trigger.d.ts.map +1 -0
  254. package/dist/triggers/webhook-trigger.js +122 -0
  255. package/dist/triggers/webhook-trigger.js.map +1 -0
  256. package/dist/types/index.d.ts +5 -0
  257. package/dist/types/index.d.ts.map +1 -0
  258. package/dist/types/index.js +8 -0
  259. package/dist/types/index.js.map +1 -0
  260. package/dist/types/node.types.d.ts +313 -0
  261. package/dist/types/node.types.d.ts.map +1 -0
  262. package/dist/types/node.types.js +23 -0
  263. package/dist/types/node.types.js.map +1 -0
  264. package/dist/types/workflow.types.d.ts +153 -0
  265. package/dist/types/workflow.types.d.ts.map +1 -0
  266. package/dist/types/workflow.types.js +44 -0
  267. package/dist/types/workflow.types.js.map +1 -0
  268. package/dist/utils/n8n-converter.d.ts +52 -0
  269. package/dist/utils/n8n-converter.d.ts.map +1 -0
  270. package/dist/utils/n8n-converter.js +107 -0
  271. package/dist/utils/n8n-converter.js.map +1 -0
  272. package/dist/utils/n8n-node-map.d.ts +6 -0
  273. package/dist/utils/n8n-node-map.d.ts.map +1 -0
  274. package/dist/utils/n8n-node-map.js +59 -0
  275. package/dist/utils/n8n-node-map.js.map +1 -0
  276. package/dist/workflow.module.d.ts +40 -0
  277. package/dist/workflow.module.d.ts.map +1 -0
  278. package/dist/workflow.module.js +240 -0
  279. package/dist/workflow.module.js.map +1 -0
  280. package/package.json +97 -0
  281. package/web/components/ChatPanel.tsx +344 -0
  282. package/web/components/N8nIframe.tsx +119 -0
  283. package/web/components/SessionPanel.tsx +301 -0
  284. package/web/components/ToolPanel.tsx +404 -0
  285. package/web/components/WorkflowDiff.tsx +161 -0
  286. package/web/components/WorkflowGraph.tsx +158 -0
  287. package/web/components/WorkflowPreviewPanel.tsx +186 -0
  288. package/web/hooks/use-n8n-session.ts +46 -0
  289. package/web/index.ts +29 -0
  290. package/web/manifest.ts +16 -0
  291. package/web/messages/en-US.json +94 -0
  292. package/web/messages/zh-CN.json +94 -0
  293. package/web/pages/AiDesignPage.tsx +215 -0
  294. package/web/pages/CredentialsPage.tsx +7 -0
  295. package/web/pages/ExecutionsPage.tsx +7 -0
  296. package/web/pages/WorkflowsPage.tsx +7 -0
  297. package/web/services/workflow-ai-service.ts +173 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-trigger.node.d.ts","sourceRoot":"","sources":["../../src/nodes/error-trigger.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,WAAW,EAAE,oBAAoB,CAgB/B;IAEI,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAsBzE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorTriggerNode = void 0;
4
+ /**
5
+ * ErrorTrigger Node — triggers when a workflow execution encounters an error.
6
+ *
7
+ * This node acts as an error handler. When connected to the error output
8
+ * of another node, it receives the error data and can process it
9
+ * (e.g., send notifications, log errors, retry).
10
+ *
11
+ * Equivalent to n8n's Error Trigger node.
12
+ */
13
+ class ErrorTriggerNode {
14
+ description = {
15
+ displayName: 'Error Trigger',
16
+ name: 'errorTrigger',
17
+ group: ['trigger'],
18
+ version: 1,
19
+ description: 'Triggers when a workflow execution encounters an error.',
20
+ icon: 'alert-triangle',
21
+ category: 'trigger',
22
+ defaults: {
23
+ name: 'Error Trigger',
24
+ color: '#ff4444',
25
+ },
26
+ inputs: [],
27
+ outputs: ['main'],
28
+ properties: [],
29
+ eventTriggerDescription: 'Activated when an error occurs in the workflow',
30
+ };
31
+ async execute(context) {
32
+ // Error trigger receives execution error data as input
33
+ // In practice, the workflow executor populates this with error information
34
+ const inputData = context.getInputData();
35
+ if (inputData.length > 0) {
36
+ return [inputData];
37
+ }
38
+ // If no error data provided, return a default error placeholder
39
+ return [
40
+ [
41
+ {
42
+ json: {
43
+ error: true,
44
+ message: 'Error trigger activated but no error data received',
45
+ timestamp: new Date().toISOString(),
46
+ },
47
+ },
48
+ ],
49
+ ];
50
+ }
51
+ }
52
+ exports.ErrorTriggerNode = ErrorTriggerNode;
53
+ //# sourceMappingURL=error-trigger.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-trigger.node.js","sourceRoot":"","sources":["../../src/nodes/error-trigger.node.ts"],"names":[],"mappings":";;;AAOA;;;;;;;;GAQG;AACH,MAAa,gBAAgB;IAC3B,WAAW,GAAyB;QAClC,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,CAAC,SAAS,CAAC;QAClB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,yDAAyD;QACtE,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,SAAS;SACjB;QACD,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,EAAE;QACd,uBAAuB,EAAE,gDAAgD;KAC1E,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,uDAAuD;QACvD,2EAA2E;QAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QAEzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC;QAED,gEAAgE;QAChE,OAAO;YACL;gBACE;oBACE,IAAI,EAAE;wBACJ,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,oDAAoD;wBAC7D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF;AAzCD,4CAyCC"}
@@ -0,0 +1,9 @@
1
+ import type { INodeType, INodeTypeDescription, IExecuteContext, INodeExecutionData } from '../types/index.js';
2
+ /**
3
+ * Execute Command Node — runs a system command.
4
+ */
5
+ export declare class ExecuteCommandNode implements INodeType {
6
+ description: INodeTypeDescription;
7
+ execute(context: IExecuteContext): Promise<INodeExecutionData[][]>;
8
+ }
9
+ //# sourceMappingURL=execute-command.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-command.node.d.ts","sourceRoot":"","sources":["../../src/nodes/execute-command.node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAK3B;;GAEG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAClD,WAAW,EAAE,oBAAoB,CAmC/B;IAEI,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAiCzE"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecuteCommandNode = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const util_1 = require("util");
6
+ const index_js_1 = require("../types/index.js");
7
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
8
+ /**
9
+ * Execute Command Node — runs a system command.
10
+ */
11
+ class ExecuteCommandNode {
12
+ description = {
13
+ displayName: 'Execute Command',
14
+ name: 'executeCommand',
15
+ group: ['action'],
16
+ version: 1,
17
+ description: 'Execute a shell command and return stdout/stderr',
18
+ icon: 'terminal',
19
+ category: 'action',
20
+ defaults: { name: 'Execute Command', color: '#333333' },
21
+ inputs: [index_js_1.NodeConnectionType.Main],
22
+ outputs: [index_js_1.NodeConnectionType.Main],
23
+ properties: [
24
+ {
25
+ displayName: 'Command',
26
+ name: 'command',
27
+ type: 'string',
28
+ default: '',
29
+ description: 'The command to execute',
30
+ required: true,
31
+ },
32
+ {
33
+ displayName: 'Working Directory',
34
+ name: 'cwd',
35
+ type: 'string',
36
+ default: '',
37
+ description: 'The working directory (optional)',
38
+ },
39
+ {
40
+ displayName: 'Timeout (ms)',
41
+ name: 'timeout',
42
+ type: 'number',
43
+ default: 30000,
44
+ description: 'Maximum execution time in milliseconds',
45
+ },
46
+ ],
47
+ };
48
+ async execute(context) {
49
+ const command = context.getParam('command') || '';
50
+ const cwd = context.getParam('cwd') || undefined;
51
+ const timeout = context.getParam('timeout') || 30000;
52
+ if (!command) {
53
+ return [[{ json: { error: 'No command specified' } }]];
54
+ }
55
+ try {
56
+ const { stdout, stderr } = await execAsync(command, {
57
+ cwd: cwd || undefined,
58
+ timeout,
59
+ maxBuffer: 10 * 1024 * 1024,
60
+ });
61
+ return [[{
62
+ json: {
63
+ stdout: stdout.trim(),
64
+ stderr: stderr.trim(),
65
+ exitCode: 0,
66
+ },
67
+ }]];
68
+ }
69
+ catch (error) {
70
+ return [[{
71
+ json: {
72
+ stdout: error.stdout?.trim() || '',
73
+ stderr: error.stderr?.trim() || error.message,
74
+ exitCode: error.code ?? 1,
75
+ },
76
+ }]];
77
+ }
78
+ }
79
+ }
80
+ exports.ExecuteCommandNode = ExecuteCommandNode;
81
+ //# sourceMappingURL=execute-command.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-command.node.js","sourceRoot":"","sources":["../../src/nodes/execute-command.node.ts"],"names":[],"mappings":";;;AAAA,iDAAqC;AACrC,+BAAiC;AAOjC,gDAAuD;AAEvD,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAa,kBAAkB;IAC7B,WAAW,GAAyB;QAClC,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;QACvD,MAAM,EAAE,CAAC,6BAAkB,CAAC,IAAI,CAAC;QACjC,OAAO,EAAE,CAAC,6BAAkB,CAAC,IAAI,CAAC;QAClC,UAAU,EAAE;YACV;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,WAAW,EAAE,mBAAmB;gBAChC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,kCAAkC;aAChD;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,wCAAwC;aACtD;SACF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAS,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAS,KAAK,CAAC,IAAI,SAAS,CAAC;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAS,SAAS,CAAC,IAAI,KAAK,CAAC;QAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,GAAG,EAAE,GAAG,IAAI,SAAS;gBACrB,OAAO;gBACP,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YAEH,OAAO,CAAC,CAAC;wBACP,IAAI,EAAE;4BACJ,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;4BACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;4BACrB,QAAQ,EAAE,CAAC;yBACZ;qBACF,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,CAAC;wBACP,IAAI,EAAE;4BACJ,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;4BAClC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO;4BAC7C,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;yBAC1B;qBACF,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;CACF;AAvED,gDAuEC"}
@@ -0,0 +1,10 @@
1
+ import type { INodeType, INodeTypeDescription, IExecuteContext, INodeExecutionData } from '../types/index.js';
2
+ /**
3
+ * Filter Node — filters items based on conditions.
4
+ */
5
+ export declare class FilterNode implements INodeType {
6
+ description: INodeTypeDescription;
7
+ execute(context: IExecuteContext): Promise<INodeExecutionData[][]>;
8
+ private evaluateCondition;
9
+ }
10
+ //# sourceMappingURL=filter.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.node.d.ts","sourceRoot":"","sources":["../../src/nodes/filter.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B;;GAEG;AACH,qBAAa,UAAW,YAAW,SAAS;IAC1C,WAAW,EAAE,oBAAoB,CAyD/B;IAEI,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAkBxE,OAAO,CAAC,iBAAiB;CAY1B"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterNode = void 0;
4
+ const index_js_1 = require("../types/index.js");
5
+ /**
6
+ * Filter Node — filters items based on conditions.
7
+ */
8
+ class FilterNode {
9
+ description = {
10
+ displayName: 'Filter',
11
+ name: 'filter',
12
+ group: ['transform'],
13
+ version: 1,
14
+ description: 'Filter items based on conditions',
15
+ icon: 'filter',
16
+ category: 'transform',
17
+ defaults: { name: 'Filter', color: '#FF9922' },
18
+ inputs: [index_js_1.NodeConnectionType.Main],
19
+ outputs: [
20
+ { type: index_js_1.NodeConnectionType.Main, displayName: 'Matched' },
21
+ { type: index_js_1.NodeConnectionType.Main, displayName: 'Unmatched' },
22
+ ],
23
+ outputNames: ['Matched', 'Unmatched'],
24
+ properties: [
25
+ {
26
+ displayName: 'Field',
27
+ name: 'field',
28
+ type: 'string',
29
+ default: '',
30
+ description: 'The field name to evaluate',
31
+ required: true,
32
+ },
33
+ {
34
+ displayName: 'Operation',
35
+ name: 'operation',
36
+ type: 'options',
37
+ default: 'equals',
38
+ options: [
39
+ { name: 'Equals', value: 'equals' },
40
+ { name: 'Not Equals', value: 'notEquals' },
41
+ { name: 'Contains', value: 'contains' },
42
+ { name: 'Greater Than', value: 'greaterThan' },
43
+ { name: 'Less Than', value: 'lessThan' },
44
+ { name: 'Is Empty', value: 'isEmpty' },
45
+ { name: 'Is Not Empty', value: 'isNotEmpty' },
46
+ ],
47
+ },
48
+ {
49
+ displayName: 'Value',
50
+ name: 'value',
51
+ type: 'string',
52
+ default: '',
53
+ description: 'The value to compare against',
54
+ },
55
+ {
56
+ displayName: 'Combine Conditions',
57
+ name: 'combinator',
58
+ type: 'options',
59
+ default: 'and',
60
+ options: [
61
+ { name: 'AND (all must match)', value: 'and' },
62
+ { name: 'OR (any must match)', value: 'or' },
63
+ ],
64
+ },
65
+ ],
66
+ };
67
+ async execute(context) {
68
+ const items = context.getInputData();
69
+ const field = context.getParam('field') || '';
70
+ const operation = context.getParam('operation') || 'equals';
71
+ const compareValue = context.getParam('value') || '';
72
+ const matched = [];
73
+ const unmatched = [];
74
+ for (const item of items) {
75
+ const fieldValue = item.json[field];
76
+ const pass = this.evaluateCondition(fieldValue, operation, compareValue);
77
+ (pass ? matched : unmatched).push(item);
78
+ }
79
+ return [matched, unmatched];
80
+ }
81
+ evaluateCondition(fieldValue, operation, compareValue) {
82
+ switch (operation) {
83
+ case 'equals': return String(fieldValue) === String(compareValue);
84
+ case 'notEquals': return String(fieldValue) !== String(compareValue);
85
+ case 'contains': return String(fieldValue).includes(String(compareValue));
86
+ case 'greaterThan': return Number(fieldValue) > Number(compareValue);
87
+ case 'lessThan': return Number(fieldValue) < Number(compareValue);
88
+ case 'isEmpty': return fieldValue === null || fieldValue === undefined || fieldValue === '';
89
+ case 'isNotEmpty': return fieldValue !== null && fieldValue !== undefined && fieldValue !== '';
90
+ default: return false;
91
+ }
92
+ }
93
+ }
94
+ exports.FilterNode = FilterNode;
95
+ //# sourceMappingURL=filter.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.node.js","sourceRoot":"","sources":["../../src/nodes/filter.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { INodeType, INodeTypeDescription, IExecuteContext, INodeExecutionData } from '../types/index.js';
2
+ /**
3
+ * HTTP Request Node — makes HTTP requests to external APIs.
4
+ *
5
+ * Uses the context.helpers.httpRequest() helper which wraps fetch().
6
+ */
7
+ export declare class HttpRequestNode implements INodeType {
8
+ description: INodeTypeDescription;
9
+ execute(context: IExecuteContext): Promise<INodeExecutionData[][]>;
10
+ }
11
+ //# sourceMappingURL=http-request.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-request.node.d.ts","sourceRoot":"","sources":["../../src/nodes/http-request.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAC/C,WAAW,EAAE,oBAAoB,CAkE/B;IAEI,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAqEzE"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpRequestNode = void 0;
4
+ /**
5
+ * HTTP Request Node — makes HTTP requests to external APIs.
6
+ *
7
+ * Uses the context.helpers.httpRequest() helper which wraps fetch().
8
+ */
9
+ class HttpRequestNode {
10
+ description = {
11
+ displayName: 'HTTP Request',
12
+ name: 'httpRequest',
13
+ group: ['output'],
14
+ version: 1,
15
+ description: 'Make HTTP requests to any URL.',
16
+ icon: 'globe',
17
+ category: 'action',
18
+ defaults: {
19
+ name: 'HTTP Request',
20
+ color: '#2299DD',
21
+ },
22
+ inputs: ['main'],
23
+ outputs: ['main'],
24
+ properties: [
25
+ {
26
+ displayName: 'Method',
27
+ name: 'method',
28
+ type: 'options',
29
+ default: 'GET',
30
+ description: 'The HTTP method to use.',
31
+ options: [
32
+ { name: 'GET', value: 'GET' },
33
+ { name: 'POST', value: 'POST' },
34
+ { name: 'PUT', value: 'PUT' },
35
+ { name: 'DELETE', value: 'DELETE' },
36
+ { name: 'PATCH', value: 'PATCH' },
37
+ ],
38
+ required: true,
39
+ },
40
+ {
41
+ displayName: 'URL',
42
+ name: 'url',
43
+ type: 'string',
44
+ default: '',
45
+ description: 'The URL to make the request to. Supports expressions.',
46
+ required: true,
47
+ placeholder: 'https://api.example.com/data',
48
+ },
49
+ {
50
+ displayName: 'Headers',
51
+ name: 'headers',
52
+ type: 'json',
53
+ default: '{}',
54
+ description: 'Request headers as JSON object.',
55
+ },
56
+ {
57
+ displayName: 'Body',
58
+ name: 'body',
59
+ type: 'json',
60
+ default: '{}',
61
+ description: 'Request body as JSON. Only used for POST/PUT/PATCH.',
62
+ displayOptions: {
63
+ show: {
64
+ method: ['POST', 'PUT', 'PATCH'],
65
+ },
66
+ },
67
+ },
68
+ {
69
+ displayName: 'Timeout (ms)',
70
+ name: 'timeout',
71
+ type: 'number',
72
+ default: 30000,
73
+ description: 'Request timeout in milliseconds.',
74
+ },
75
+ ],
76
+ };
77
+ async execute(context) {
78
+ const inputData = context.getInputData();
79
+ const results = [];
80
+ // Execute one request per input item (expressions may reference item data)
81
+ const itemsToProcess = inputData.length > 0 ? inputData : [{ json: {} }];
82
+ for (const _item of itemsToProcess) {
83
+ const method = context.getParam('method');
84
+ const url = context.getParam('url');
85
+ const headersRaw = context.getParam('headers');
86
+ const bodyRaw = context.getParam('body');
87
+ const timeout = context.getParam('timeout');
88
+ if (!url) {
89
+ throw new Error('HTTP Request node: URL is required');
90
+ }
91
+ // Parse headers
92
+ let headers = {};
93
+ if (typeof headersRaw === 'string') {
94
+ try {
95
+ headers = JSON.parse(headersRaw);
96
+ }
97
+ catch {
98
+ headers = {};
99
+ }
100
+ }
101
+ else if (headersRaw && typeof headersRaw === 'object') {
102
+ headers = headersRaw;
103
+ }
104
+ // Parse body
105
+ let body = undefined;
106
+ if (['POST', 'PUT', 'PATCH'].includes(method)) {
107
+ if (typeof bodyRaw === 'string') {
108
+ try {
109
+ body = JSON.parse(bodyRaw);
110
+ }
111
+ catch {
112
+ body = bodyRaw;
113
+ }
114
+ }
115
+ else {
116
+ body = bodyRaw;
117
+ }
118
+ }
119
+ context.logger.debug(`${method} ${url}`);
120
+ const responseData = await context.helpers.httpRequest({
121
+ method,
122
+ url,
123
+ headers,
124
+ body,
125
+ timeout: timeout || 30000,
126
+ });
127
+ // Wrap response data
128
+ if (typeof responseData === 'object' && responseData !== null) {
129
+ results.push({ json: responseData });
130
+ }
131
+ else {
132
+ results.push({ json: { data: responseData } });
133
+ }
134
+ }
135
+ return [results];
136
+ }
137
+ }
138
+ exports.HttpRequestNode = HttpRequestNode;
139
+ //# sourceMappingURL=http-request.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-request.node.js","sourceRoot":"","sources":["../../src/nodes/http-request.node.ts"],"names":[],"mappings":";;;AAOA;;;;GAIG;AACH,MAAa,eAAe;IAC1B,WAAW,GAAyB;QAClC,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,SAAS;SACjB;QACD,MAAM,EAAE,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE;YACV;gBACE,WAAW,EAAE,QAAQ;gBACrB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,yBAAyB;gBACtC,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC7B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;iBAClC;gBACD,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,uDAAuD;gBACpE,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,8BAA8B;aAC5C;YACD;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,iCAAiC;aAC/C;YACD;gBACE,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,qDAAqD;gBAClE,cAAc,EAAE;oBACd,IAAI,EAAE;wBACJ,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;qBACjC;iBACF;aACF;YACD;gBACE,WAAW,EAAE,cAAc;gBAC3B,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,kCAAkC;aAChD;SACF;KACF,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,2EAA2E;QAC3E,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAS,QAAQ,CAKrC,CAAC;YACZ,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAS,KAAK,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAkC,SAAS,CAAC,CAAC;YAChF,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAmC,MAAM,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAS,SAAS,CAAC,CAAC;YAEpD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,gBAAgB;YAChB,IAAI,OAAO,GAA2B,EAAE,CAAC;YACzC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA2B,CAAC;gBAC7D,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,EAAE,CAAC;gBACf,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,GAAG,UAAU,CAAC;YACvB,CAAC;YAED,aAAa;YACb,IAAI,IAAI,GAAY,SAAS,CAAC;YAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,GAAG,OAAO,CAAC;oBACjB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;YAEzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;gBACrD,MAAM;gBACN,GAAG;gBACH,OAAO;gBACP,IAAI;gBACJ,OAAO,EAAE,OAAO,IAAI,KAAK;aAC1B,CAAC,CAAC;YAEH,qBAAqB;YACrB,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAuC,EAAE,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACF;AA1ID,0CA0IC"}
@@ -0,0 +1,13 @@
1
+ import type { INodeType, INodeTypeDescription, IExecuteContext, INodeExecutionData } from '../types/index.js';
2
+ /**
3
+ * IF Node — conditional branching.
4
+ *
5
+ * Evaluates a condition and routes data to either the "true" (output 0)
6
+ * or "false" (output 1) branch.
7
+ */
8
+ export declare class IfNode implements INodeType {
9
+ description: INodeTypeDescription;
10
+ execute(context: IExecuteContext): Promise<INodeExecutionData[][]>;
11
+ private evaluateCondition;
12
+ }
13
+ //# sourceMappingURL=if.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if.node.d.ts","sourceRoot":"","sources":["../../src/nodes/if.node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B;;;;;GAKG;AACH,qBAAa,MAAO,YAAW,SAAS;IACtC,WAAW,EAAE,oBAAoB,CA8D/B;IAEI,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;IAkCxE,OAAO,CAAC,iBAAiB;CAkD1B"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IfNode = void 0;
4
+ const index_js_1 = require("../types/index.js");
5
+ /**
6
+ * IF Node — conditional branching.
7
+ *
8
+ * Evaluates a condition and routes data to either the "true" (output 0)
9
+ * or "false" (output 1) branch.
10
+ */
11
+ class IfNode {
12
+ description = {
13
+ displayName: 'IF',
14
+ name: 'if',
15
+ group: ['transform'],
16
+ version: 1,
17
+ description: 'Routes data based on a condition. Outputs: [true, false].',
18
+ icon: 'git-branch',
19
+ category: 'flow',
20
+ defaults: {
21
+ name: 'IF',
22
+ color: '#FF6D5A',
23
+ },
24
+ inputs: [index_js_1.NodeConnectionType.Main],
25
+ outputs: [
26
+ { type: index_js_1.NodeConnectionType.Main, displayName: 'true' },
27
+ { type: index_js_1.NodeConnectionType.Main, displayName: 'false' },
28
+ ],
29
+ outputNames: ['true', 'false'],
30
+ properties: [
31
+ {
32
+ displayName: 'Value 1',
33
+ name: 'value1',
34
+ type: 'string',
35
+ default: '',
36
+ description: 'First value to compare. Supports expressions like {{ $json.field }}.',
37
+ required: true,
38
+ },
39
+ {
40
+ displayName: 'Operation',
41
+ name: 'operation',
42
+ type: 'options',
43
+ default: 'equals',
44
+ description: 'Comparison operation.',
45
+ options: [
46
+ { name: 'Equals', value: 'equals' },
47
+ { name: 'Not Equals', value: 'notEquals' },
48
+ { name: 'Greater Than', value: 'greaterThan' },
49
+ { name: 'Less Than', value: 'lessThan' },
50
+ { name: 'Greater Than or Equal', value: 'greaterThanOrEqual' },
51
+ { name: 'Less Than or Equal', value: 'lessThanOrEqual' },
52
+ { name: 'Contains', value: 'contains' },
53
+ { name: 'Not Contains', value: 'notContains' },
54
+ { name: 'Is Empty', value: 'isEmpty' },
55
+ { name: 'Is Not Empty', value: 'isNotEmpty' },
56
+ ],
57
+ },
58
+ {
59
+ displayName: 'Value 2',
60
+ name: 'value2',
61
+ type: 'string',
62
+ default: '',
63
+ description: 'Second value to compare. Not used for isEmpty/isNotEmpty.',
64
+ },
65
+ {
66
+ displayName: 'Condition (Expression)',
67
+ name: 'condition',
68
+ type: 'string',
69
+ default: '',
70
+ description: 'Advanced: a JS expression that evaluates to truthy/falsy. If set, overrides value1/operation/value2.',
71
+ },
72
+ ],
73
+ };
74
+ async execute(context) {
75
+ const inputData = context.getInputData();
76
+ const trueItems = [];
77
+ const falseItems = [];
78
+ for (let i = 0; i < inputData.length; i++) {
79
+ const item = inputData[i];
80
+ let conditionResult;
81
+ // If a raw condition expression is provided, use it directly
82
+ const conditionExpr = context.getParam('condition');
83
+ if (conditionExpr && conditionExpr.trim() !== '') {
84
+ conditionResult = Boolean(context.resolveExpression(`{{ ${conditionExpr} }}`, i));
85
+ }
86
+ else {
87
+ // Use value1 / operation / value2 comparison
88
+ const value1 = context.getParam('value1');
89
+ const operation = context.getParam('operation');
90
+ const value2 = context.getParam('value2');
91
+ conditionResult = this.evaluateCondition(value1, operation, value2);
92
+ }
93
+ if (conditionResult) {
94
+ trueItems.push(item);
95
+ }
96
+ else {
97
+ falseItems.push(item);
98
+ }
99
+ }
100
+ // Output 0 = true branch, Output 1 = false branch
101
+ return [trueItems, falseItems];
102
+ }
103
+ evaluateCondition(value1, operation, value2) {
104
+ switch (operation) {
105
+ case 'equals':
106
+ return String(value1) === String(value2);
107
+ case 'notEquals':
108
+ return String(value1) !== String(value2);
109
+ case 'greaterThan':
110
+ return Number(value1) > Number(value2);
111
+ case 'lessThan':
112
+ return Number(value1) < Number(value2);
113
+ case 'greaterThanOrEqual':
114
+ return Number(value1) >= Number(value2);
115
+ case 'lessThanOrEqual':
116
+ return Number(value1) <= Number(value2);
117
+ case 'contains':
118
+ return String(value1).includes(String(value2));
119
+ case 'notContains':
120
+ return !String(value1).includes(String(value2));
121
+ case 'isEmpty':
122
+ return (value1 === null ||
123
+ value1 === undefined ||
124
+ value1 === '' ||
125
+ (Array.isArray(value1) && value1.length === 0));
126
+ case 'isNotEmpty':
127
+ return (value1 !== null &&
128
+ value1 !== undefined &&
129
+ value1 !== '' &&
130
+ !(Array.isArray(value1) && value1.length === 0));
131
+ default:
132
+ return false;
133
+ }
134
+ }
135
+ }
136
+ exports.IfNode = IfNode;
137
+ //# sourceMappingURL=if.node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"if.node.js","sourceRoot":"","sources":["../../src/nodes/if.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { ManualTriggerNode } from './manual-trigger.node.js';
2
+ export { IfNode } from './if.node.js';
3
+ export { CodeNode } from './code.node.js';
4
+ export { HttpRequestNode } from './http-request.node.js';
5
+ export { SetNode } from './set.node.js';
6
+ export { MergeNode } from './merge.node.js';
7
+ export { SwitchNode } from './switch.node.js';
8
+ export { NoOpNode } from './noop.node.js';
9
+ export { WaitNode } from './wait.node.js';
10
+ export { ErrorTriggerNode } from './error-trigger.node.js';
11
+ export { RespondToWebhookNode } from './respond-to-webhook.node.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}