n8n-mcp 2.7.7

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 (375) hide show
  1. package/.env.example +79 -0
  2. package/LICENSE +21 -0
  3. package/README.md +670 -0
  4. package/data/nodes.db +0 -0
  5. package/dist/config/n8n-api.d.ts +9 -0
  6. package/dist/config/n8n-api.d.ts.map +1 -0
  7. package/dist/config/n8n-api.js +41 -0
  8. package/dist/config/n8n-api.js.map +1 -0
  9. package/dist/database/database-adapter.d.ts +32 -0
  10. package/dist/database/database-adapter.d.ts.map +1 -0
  11. package/dist/database/database-adapter.js +328 -0
  12. package/dist/database/database-adapter.js.map +1 -0
  13. package/dist/database/node-repository.d.ts +11 -0
  14. package/dist/database/node-repository.d.ts.map +1 -0
  15. package/dist/database/node-repository.js +67 -0
  16. package/dist/database/node-repository.js.map +1 -0
  17. package/dist/http-server-single-session.d.ts +21 -0
  18. package/dist/http-server-single-session.d.ts.map +1 -0
  19. package/dist/http-server-single-session.js +279 -0
  20. package/dist/http-server-single-session.js.map +1 -0
  21. package/dist/http-server.d.ts +9 -0
  22. package/dist/http-server.d.ts.map +1 -0
  23. package/dist/http-server.js +342 -0
  24. package/dist/http-server.js.map +1 -0
  25. package/dist/index.d.ts +7 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +17 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/loaders/node-loader.d.ts +11 -0
  30. package/dist/loaders/node-loader.d.ts.map +1 -0
  31. package/dist/loaders/node-loader.js +79 -0
  32. package/dist/loaders/node-loader.js.map +1 -0
  33. package/dist/mappers/docs-mapper.d.ts +6 -0
  34. package/dist/mappers/docs-mapper.d.ts.map +1 -0
  35. package/dist/mappers/docs-mapper.js +59 -0
  36. package/dist/mappers/docs-mapper.js.map +1 -0
  37. package/dist/mcp/absolute-minimal.d.ts +4 -0
  38. package/dist/mcp/absolute-minimal.d.ts.map +1 -0
  39. package/dist/mcp/absolute-minimal.js +34 -0
  40. package/dist/mcp/absolute-minimal.js.map +1 -0
  41. package/dist/mcp/fixed-protocol.d.ts +17 -0
  42. package/dist/mcp/fixed-protocol.d.ts.map +1 -0
  43. package/dist/mcp/fixed-protocol.js +162 -0
  44. package/dist/mcp/fixed-protocol.js.map +1 -0
  45. package/dist/mcp/handlers-documentation.d.ts +18 -0
  46. package/dist/mcp/handlers-documentation.d.ts.map +1 -0
  47. package/dist/mcp/handlers-documentation.js +113 -0
  48. package/dist/mcp/handlers-documentation.js.map +1 -0
  49. package/dist/mcp/handlers-n8n-manager.d.ts +21 -0
  50. package/dist/mcp/handlers-n8n-manager.d.ts.map +1 -0
  51. package/dist/mcp/handlers-n8n-manager.js +827 -0
  52. package/dist/mcp/handlers-n8n-manager.js.map +1 -0
  53. package/dist/mcp/handlers-workflow-diff.d.ts +3 -0
  54. package/dist/mcp/handlers-workflow-diff.d.ts.map +1 -0
  55. package/dist/mcp/handlers-workflow-diff.js +125 -0
  56. package/dist/mcp/handlers-workflow-diff.js.map +1 -0
  57. package/dist/mcp/index.d.ts +3 -0
  58. package/dist/mcp/index.d.ts.map +1 -0
  59. package/dist/mcp/index.js +106 -0
  60. package/dist/mcp/index.js.map +1 -0
  61. package/dist/mcp/minimal-test.d.ts +3 -0
  62. package/dist/mcp/minimal-test.d.ts.map +1 -0
  63. package/dist/mcp/minimal-test.js +83 -0
  64. package/dist/mcp/minimal-test.js.map +1 -0
  65. package/dist/mcp/server.d.ts +42 -0
  66. package/dist/mcp/server.d.ts.map +1 -0
  67. package/dist/mcp/server.js +1258 -0
  68. package/dist/mcp/server.js.map +1 -0
  69. package/dist/mcp/stderr-test.d.ts +2 -0
  70. package/dist/mcp/stderr-test.d.ts.map +1 -0
  71. package/dist/mcp/stderr-test.js +32 -0
  72. package/dist/mcp/stderr-test.js.map +1 -0
  73. package/dist/mcp/stdio-wrapper.d.ts +3 -0
  74. package/dist/mcp/stdio-wrapper.d.ts.map +1 -0
  75. package/dist/mcp/stdio-wrapper.js +52 -0
  76. package/dist/mcp/stdio-wrapper.js.map +1 -0
  77. package/dist/mcp/tools-documentation.d.ts +34 -0
  78. package/dist/mcp/tools-documentation.d.ts.map +1 -0
  79. package/dist/mcp/tools-documentation.js +609 -0
  80. package/dist/mcp/tools-documentation.js.map +1 -0
  81. package/dist/mcp/tools-n8n-manager.d.ts +3 -0
  82. package/dist/mcp/tools-n8n-manager.d.ts.map +1 -0
  83. package/dist/mcp/tools-n8n-manager.js +496 -0
  84. package/dist/mcp/tools-n8n-manager.js.map +1 -0
  85. package/dist/mcp/tools.d.ts +3 -0
  86. package/dist/mcp/tools.d.ts.map +1 -0
  87. package/dist/mcp/tools.js +405 -0
  88. package/dist/mcp/tools.js.map +1 -0
  89. package/dist/mcp/ultra-minimal.d.ts +8 -0
  90. package/dist/mcp/ultra-minimal.d.ts.map +1 -0
  91. package/dist/mcp/ultra-minimal.js +93 -0
  92. package/dist/mcp/ultra-minimal.js.map +1 -0
  93. package/dist/mcp/working-test.d.ts +3 -0
  94. package/dist/mcp/working-test.d.ts.map +1 -0
  95. package/dist/mcp/working-test.js +48 -0
  96. package/dist/mcp/working-test.js.map +1 -0
  97. package/dist/mcp/wrapper.sh +28 -0
  98. package/dist/mcp-engine.d.ts +32 -0
  99. package/dist/mcp-engine.d.ts.map +1 -0
  100. package/dist/mcp-engine.js +63 -0
  101. package/dist/mcp-engine.js.map +1 -0
  102. package/dist/n8n/MCPApi.credentials.d.ts +8 -0
  103. package/dist/n8n/MCPApi.credentials.d.ts.map +1 -0
  104. package/dist/n8n/MCPApi.credentials.js +53 -0
  105. package/dist/n8n/MCPApi.credentials.js.map +1 -0
  106. package/dist/n8n/MCPNode.node.d.ts +13 -0
  107. package/dist/n8n/MCPNode.node.d.ts.map +1 -0
  108. package/dist/n8n/MCPNode.node.js +260 -0
  109. package/dist/n8n/MCPNode.node.js.map +1 -0
  110. package/dist/parsers/node-parser.d.ts +30 -0
  111. package/dist/parsers/node-parser.d.ts.map +1 -0
  112. package/dist/parsers/node-parser.js +152 -0
  113. package/dist/parsers/node-parser.js.map +1 -0
  114. package/dist/parsers/property-extractor.d.ts +10 -0
  115. package/dist/parsers/property-extractor.d.ts.map +1 -0
  116. package/dist/parsers/property-extractor.js +155 -0
  117. package/dist/parsers/property-extractor.js.map +1 -0
  118. package/dist/parsers/simple-parser.d.ts +24 -0
  119. package/dist/parsers/simple-parser.d.ts.map +1 -0
  120. package/dist/parsers/simple-parser.js +160 -0
  121. package/dist/parsers/simple-parser.js.map +1 -0
  122. package/dist/scripts/debug-n8n-auth.d.ts +3 -0
  123. package/dist/scripts/debug-n8n-auth.d.ts.map +1 -0
  124. package/dist/scripts/debug-n8n-auth.js +97 -0
  125. package/dist/scripts/debug-n8n-auth.js.map +1 -0
  126. package/dist/scripts/debug-node.d.ts +3 -0
  127. package/dist/scripts/debug-node.d.ts.map +1 -0
  128. package/dist/scripts/debug-node.js +59 -0
  129. package/dist/scripts/debug-node.js.map +1 -0
  130. package/dist/scripts/extract-from-docker.d.ts +3 -0
  131. package/dist/scripts/extract-from-docker.d.ts.map +1 -0
  132. package/dist/scripts/extract-from-docker.js +210 -0
  133. package/dist/scripts/extract-from-docker.js.map +1 -0
  134. package/dist/scripts/fetch-templates-robust.d.ts +4 -0
  135. package/dist/scripts/fetch-templates-robust.d.ts.map +1 -0
  136. package/dist/scripts/fetch-templates-robust.js +126 -0
  137. package/dist/scripts/fetch-templates-robust.js.map +1 -0
  138. package/dist/scripts/fetch-templates.d.ts +4 -0
  139. package/dist/scripts/fetch-templates.d.ts.map +1 -0
  140. package/dist/scripts/fetch-templates.js +94 -0
  141. package/dist/scripts/fetch-templates.js.map +1 -0
  142. package/dist/scripts/rebuild-database.d.ts +4 -0
  143. package/dist/scripts/rebuild-database.d.ts.map +1 -0
  144. package/dist/scripts/rebuild-database.js +95 -0
  145. package/dist/scripts/rebuild-database.js.map +1 -0
  146. package/dist/scripts/rebuild-optimized.d.ts +3 -0
  147. package/dist/scripts/rebuild-optimized.d.ts.map +1 -0
  148. package/dist/scripts/rebuild-optimized.js +198 -0
  149. package/dist/scripts/rebuild-optimized.js.map +1 -0
  150. package/dist/scripts/rebuild.d.ts +3 -0
  151. package/dist/scripts/rebuild.d.ts.map +1 -0
  152. package/dist/scripts/rebuild.js +163 -0
  153. package/dist/scripts/rebuild.js.map +1 -0
  154. package/dist/scripts/sanitize-templates.d.ts +3 -0
  155. package/dist/scripts/sanitize-templates.d.ts.map +1 -0
  156. package/dist/scripts/sanitize-templates.js +56 -0
  157. package/dist/scripts/sanitize-templates.js.map +1 -0
  158. package/dist/scripts/test-ai-workflow-validation.d.ts +3 -0
  159. package/dist/scripts/test-ai-workflow-validation.d.ts.map +1 -0
  160. package/dist/scripts/test-ai-workflow-validation.js +191 -0
  161. package/dist/scripts/test-ai-workflow-validation.js.map +1 -0
  162. package/dist/scripts/test-api-headers.d.ts +3 -0
  163. package/dist/scripts/test-api-headers.d.ts.map +1 -0
  164. package/dist/scripts/test-api-headers.js +35 -0
  165. package/dist/scripts/test-api-headers.js.map +1 -0
  166. package/dist/scripts/test-docker-config-simulation.d.ts +3 -0
  167. package/dist/scripts/test-docker-config-simulation.d.ts.map +1 -0
  168. package/dist/scripts/test-docker-config-simulation.js +74 -0
  169. package/dist/scripts/test-docker-config-simulation.js.map +1 -0
  170. package/dist/scripts/test-enhanced-validation.d.ts +3 -0
  171. package/dist/scripts/test-enhanced-validation.d.ts.map +1 -0
  172. package/dist/scripts/test-enhanced-validation.js +117 -0
  173. package/dist/scripts/test-enhanced-validation.js.map +1 -0
  174. package/dist/scripts/test-lazy-config.d.ts +3 -0
  175. package/dist/scripts/test-lazy-config.d.ts.map +1 -0
  176. package/dist/scripts/test-lazy-config.js +60 -0
  177. package/dist/scripts/test-lazy-config.js.map +1 -0
  178. package/dist/scripts/test-limited-results.d.ts +3 -0
  179. package/dist/scripts/test-limited-results.d.ts.map +1 -0
  180. package/dist/scripts/test-limited-results.js +76 -0
  181. package/dist/scripts/test-limited-results.js.map +1 -0
  182. package/dist/scripts/test-mcp-n8n-update-partial.d.ts +3 -0
  183. package/dist/scripts/test-mcp-n8n-update-partial.d.ts.map +1 -0
  184. package/dist/scripts/test-mcp-n8n-update-partial.js +138 -0
  185. package/dist/scripts/test-mcp-n8n-update-partial.js.map +1 -0
  186. package/dist/scripts/test-mcp-tools.d.ts +3 -0
  187. package/dist/scripts/test-mcp-tools.d.ts.map +1 -0
  188. package/dist/scripts/test-mcp-tools.js +36 -0
  189. package/dist/scripts/test-mcp-tools.js.map +1 -0
  190. package/dist/scripts/test-n8n-manager-integration.d.ts +3 -0
  191. package/dist/scripts/test-n8n-manager-integration.d.ts.map +1 -0
  192. package/dist/scripts/test-n8n-manager-integration.js +122 -0
  193. package/dist/scripts/test-n8n-manager-integration.js.map +1 -0
  194. package/dist/scripts/test-n8n-validate-workflow.d.ts +3 -0
  195. package/dist/scripts/test-n8n-validate-workflow.d.ts.map +1 -0
  196. package/dist/scripts/test-n8n-validate-workflow.js +125 -0
  197. package/dist/scripts/test-n8n-validate-workflow.js.map +1 -0
  198. package/dist/scripts/test-nodes.d.ts +3 -0
  199. package/dist/scripts/test-nodes.d.ts.map +1 -0
  200. package/dist/scripts/test-nodes.js +91 -0
  201. package/dist/scripts/test-nodes.js.map +1 -0
  202. package/dist/scripts/test-single-workflow.d.ts +3 -0
  203. package/dist/scripts/test-single-workflow.d.ts.map +1 -0
  204. package/dist/scripts/test-single-workflow.js +112 -0
  205. package/dist/scripts/test-single-workflow.js.map +1 -0
  206. package/dist/scripts/test-template-validation.d.ts +3 -0
  207. package/dist/scripts/test-template-validation.d.ts.map +1 -0
  208. package/dist/scripts/test-template-validation.js +142 -0
  209. package/dist/scripts/test-template-validation.js.map +1 -0
  210. package/dist/scripts/test-templates.d.ts +4 -0
  211. package/dist/scripts/test-templates.d.ts.map +1 -0
  212. package/dist/scripts/test-templates.js +99 -0
  213. package/dist/scripts/test-templates.js.map +1 -0
  214. package/dist/scripts/test-transactional-diff.d.ts +2 -0
  215. package/dist/scripts/test-transactional-diff.d.ts.map +1 -0
  216. package/dist/scripts/test-transactional-diff.js +240 -0
  217. package/dist/scripts/test-transactional-diff.js.map +1 -0
  218. package/dist/scripts/test-update-partial-debug.d.ts +3 -0
  219. package/dist/scripts/test-update-partial-debug.d.ts.map +1 -0
  220. package/dist/scripts/test-update-partial-debug.js +92 -0
  221. package/dist/scripts/test-update-partial-debug.js.map +1 -0
  222. package/dist/scripts/test-version-extraction.d.ts +2 -0
  223. package/dist/scripts/test-version-extraction.d.ts.map +1 -0
  224. package/dist/scripts/test-version-extraction.js +74 -0
  225. package/dist/scripts/test-version-extraction.js.map +1 -0
  226. package/dist/scripts/test-workflow-diff.d.ts +3 -0
  227. package/dist/scripts/test-workflow-diff.d.ts.map +1 -0
  228. package/dist/scripts/test-workflow-diff.js +328 -0
  229. package/dist/scripts/test-workflow-diff.js.map +1 -0
  230. package/dist/scripts/test-workflow-validation.d.ts +3 -0
  231. package/dist/scripts/test-workflow-validation.d.ts.map +1 -0
  232. package/dist/scripts/test-workflow-validation.js +238 -0
  233. package/dist/scripts/test-workflow-validation.js.map +1 -0
  234. package/dist/scripts/validate.d.ts +3 -0
  235. package/dist/scripts/validate.d.ts.map +1 -0
  236. package/dist/scripts/validate.js +121 -0
  237. package/dist/scripts/validate.js.map +1 -0
  238. package/dist/scripts/validation-summary.d.ts +3 -0
  239. package/dist/scripts/validation-summary.d.ts.map +1 -0
  240. package/dist/scripts/validation-summary.js +135 -0
  241. package/dist/scripts/validation-summary.js.map +1 -0
  242. package/dist/services/config-validator.d.ts +39 -0
  243. package/dist/services/config-validator.d.ts.map +1 -0
  244. package/dist/services/config-validator.js +376 -0
  245. package/dist/services/config-validator.js.map +1 -0
  246. package/dist/services/enhanced-config-validator.d.ts +38 -0
  247. package/dist/services/enhanced-config-validator.d.ts.map +1 -0
  248. package/dist/services/enhanced-config-validator.js +300 -0
  249. package/dist/services/enhanced-config-validator.js.map +1 -0
  250. package/dist/services/example-generator.d.ts +14 -0
  251. package/dist/services/example-generator.d.ts.map +1 -0
  252. package/dist/services/example-generator.js +556 -0
  253. package/dist/services/example-generator.js.map +1 -0
  254. package/dist/services/expression-validator.d.ts +27 -0
  255. package/dist/services/expression-validator.d.ts.map +1 -0
  256. package/dist/services/expression-validator.js +163 -0
  257. package/dist/services/expression-validator.js.map +1 -0
  258. package/dist/services/n8n-api-client.d.ts +39 -0
  259. package/dist/services/n8n-api-client.d.ts.map +1 -0
  260. package/dist/services/n8n-api-client.js +326 -0
  261. package/dist/services/n8n-api-client.js.map +1 -0
  262. package/dist/services/n8n-validation.d.ts +127 -0
  263. package/dist/services/n8n-validation.d.ts.map +1 -0
  264. package/dist/services/n8n-validation.js +238 -0
  265. package/dist/services/n8n-validation.js.map +1 -0
  266. package/dist/services/node-documentation-service.d.ts +70 -0
  267. package/dist/services/node-documentation-service.d.ts.map +1 -0
  268. package/dist/services/node-documentation-service.js +518 -0
  269. package/dist/services/node-documentation-service.js.map +1 -0
  270. package/dist/services/node-specific-validators.d.ts +28 -0
  271. package/dist/services/node-specific-validators.d.ts.map +1 -0
  272. package/dist/services/node-specific-validators.js +666 -0
  273. package/dist/services/node-specific-validators.js.map +1 -0
  274. package/dist/services/property-dependencies.d.ts +36 -0
  275. package/dist/services/property-dependencies.d.ts.map +1 -0
  276. package/dist/services/property-dependencies.js +168 -0
  277. package/dist/services/property-dependencies.js.map +1 -0
  278. package/dist/services/property-filter.d.ts +39 -0
  279. package/dist/services/property-filter.d.ts.map +1 -0
  280. package/dist/services/property-filter.js +362 -0
  281. package/dist/services/property-filter.js.map +1 -0
  282. package/dist/services/task-templates.d.ts +26 -0
  283. package/dist/services/task-templates.d.ts.map +1 -0
  284. package/dist/services/task-templates.js +555 -0
  285. package/dist/services/task-templates.js.map +1 -0
  286. package/dist/services/workflow-diff-engine.d.ts +31 -0
  287. package/dist/services/workflow-diff-engine.d.ts.map +1 -0
  288. package/dist/services/workflow-diff-engine.js +478 -0
  289. package/dist/services/workflow-diff-engine.js.map +1 -0
  290. package/dist/services/workflow-validator.d.ts +87 -0
  291. package/dist/services/workflow-validator.d.ts.map +1 -0
  292. package/dist/services/workflow-validator.js +656 -0
  293. package/dist/services/workflow-validator.js.map +1 -0
  294. package/dist/templates/template-fetcher.d.ts +41 -0
  295. package/dist/templates/template-fetcher.d.ts.map +1 -0
  296. package/dist/templates/template-fetcher.js +94 -0
  297. package/dist/templates/template-fetcher.js.map +1 -0
  298. package/dist/templates/template-repository.d.ts +34 -0
  299. package/dist/templates/template-repository.d.ts.map +1 -0
  300. package/dist/templates/template-repository.js +121 -0
  301. package/dist/templates/template-repository.js.map +1 -0
  302. package/dist/templates/template-service.d.ts +31 -0
  303. package/dist/templates/template-service.d.ts.map +1 -0
  304. package/dist/templates/template-service.js +131 -0
  305. package/dist/templates/template-service.js.map +1 -0
  306. package/dist/types/index.d.ts +31 -0
  307. package/dist/types/index.d.ts.map +1 -0
  308. package/dist/types/index.js +3 -0
  309. package/dist/types/index.js.map +1 -0
  310. package/dist/types/n8n-api.d.ts +241 -0
  311. package/dist/types/n8n-api.d.ts.map +1 -0
  312. package/dist/types/n8n-api.js +10 -0
  313. package/dist/types/n8n-api.js.map +1 -0
  314. package/dist/types/workflow-diff.d.ts +113 -0
  315. package/dist/types/workflow-diff.d.ts.map +1 -0
  316. package/dist/types/workflow-diff.js +15 -0
  317. package/dist/types/workflow-diff.js.map +1 -0
  318. package/dist/utils/auth.d.ts +12 -0
  319. package/dist/utils/auth.d.ts.map +1 -0
  320. package/dist/utils/auth.js +66 -0
  321. package/dist/utils/auth.js.map +1 -0
  322. package/dist/utils/bridge.d.ts +12 -0
  323. package/dist/utils/bridge.d.ts.map +1 -0
  324. package/dist/utils/bridge.js +127 -0
  325. package/dist/utils/bridge.js.map +1 -0
  326. package/dist/utils/console-manager.d.ts +10 -0
  327. package/dist/utils/console-manager.d.ts.map +1 -0
  328. package/dist/utils/console-manager.js +63 -0
  329. package/dist/utils/console-manager.js.map +1 -0
  330. package/dist/utils/documentation-fetcher.d.ts +2 -0
  331. package/dist/utils/documentation-fetcher.d.ts.map +1 -0
  332. package/dist/utils/documentation-fetcher.js +18 -0
  333. package/dist/utils/documentation-fetcher.js.map +1 -0
  334. package/dist/utils/enhanced-documentation-fetcher.d.ts +73 -0
  335. package/dist/utils/enhanced-documentation-fetcher.d.ts.map +1 -0
  336. package/dist/utils/enhanced-documentation-fetcher.js +397 -0
  337. package/dist/utils/enhanced-documentation-fetcher.js.map +1 -0
  338. package/dist/utils/error-handler.d.ts +24 -0
  339. package/dist/utils/error-handler.d.ts.map +1 -0
  340. package/dist/utils/error-handler.js +84 -0
  341. package/dist/utils/error-handler.js.map +1 -0
  342. package/dist/utils/example-generator.d.ts +8 -0
  343. package/dist/utils/example-generator.d.ts.map +1 -0
  344. package/dist/utils/example-generator.js +106 -0
  345. package/dist/utils/example-generator.js.map +1 -0
  346. package/dist/utils/logger.d.ts +32 -0
  347. package/dist/utils/logger.d.ts.map +1 -0
  348. package/dist/utils/logger.js +97 -0
  349. package/dist/utils/logger.js.map +1 -0
  350. package/dist/utils/mcp-client.d.ts +21 -0
  351. package/dist/utils/mcp-client.d.ts.map +1 -0
  352. package/dist/utils/mcp-client.js +96 -0
  353. package/dist/utils/mcp-client.js.map +1 -0
  354. package/dist/utils/n8n-errors.d.ts +25 -0
  355. package/dist/utils/n8n-errors.d.ts.map +1 -0
  356. package/dist/utils/n8n-errors.js +129 -0
  357. package/dist/utils/n8n-errors.js.map +1 -0
  358. package/dist/utils/node-source-extractor.d.ts +21 -0
  359. package/dist/utils/node-source-extractor.d.ts.map +1 -0
  360. package/dist/utils/node-source-extractor.js +377 -0
  361. package/dist/utils/node-source-extractor.js.map +1 -0
  362. package/dist/utils/simple-cache.d.ts +8 -0
  363. package/dist/utils/simple-cache.d.ts.map +1 -0
  364. package/dist/utils/simple-cache.js +34 -0
  365. package/dist/utils/simple-cache.js.map +1 -0
  366. package/dist/utils/template-sanitizer.d.ts +21 -0
  367. package/dist/utils/template-sanitizer.d.ts.map +1 -0
  368. package/dist/utils/template-sanitizer.js +108 -0
  369. package/dist/utils/template-sanitizer.js.map +1 -0
  370. package/dist/utils/version.d.ts +2 -0
  371. package/dist/utils/version.d.ts.map +1 -0
  372. package/dist/utils/version.js +18 -0
  373. package/dist/utils/version.js.map +1 -0
  374. package/package.json +100 -0
  375. package/package.runtime.json +19 -0
@@ -0,0 +1,555 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskTemplates = void 0;
4
+ class TaskTemplates {
5
+ static getAllTasks() {
6
+ return Object.keys(this.templates);
7
+ }
8
+ static getTasksForNode(nodeType) {
9
+ return Object.entries(this.templates)
10
+ .filter(([_, template]) => template.nodeType === nodeType)
11
+ .map(([task, _]) => task);
12
+ }
13
+ static getTaskTemplate(task) {
14
+ return this.templates[task];
15
+ }
16
+ static searchTasks(keyword) {
17
+ const lower = keyword.toLowerCase();
18
+ return Object.entries(this.templates)
19
+ .filter(([task, template]) => task.toLowerCase().includes(lower) ||
20
+ template.description.toLowerCase().includes(lower) ||
21
+ template.nodeType.toLowerCase().includes(lower))
22
+ .map(([task, _]) => task);
23
+ }
24
+ static getTaskCategories() {
25
+ return {
26
+ 'HTTP/API': ['get_api_data', 'post_json_request', 'call_api_with_auth'],
27
+ 'Webhooks': ['receive_webhook', 'webhook_with_response'],
28
+ 'Database': ['query_postgres', 'insert_postgres_data'],
29
+ 'AI/LangChain': ['chat_with_ai', 'ai_agent_workflow', 'multi_tool_ai_agent'],
30
+ 'Data Processing': ['transform_data', 'filter_data'],
31
+ 'Communication': ['send_slack_message', 'send_email'],
32
+ 'AI Tool Usage': ['use_google_sheets_as_tool', 'use_slack_as_tool', 'multi_tool_ai_agent']
33
+ };
34
+ }
35
+ }
36
+ exports.TaskTemplates = TaskTemplates;
37
+ TaskTemplates.templates = {
38
+ 'get_api_data': {
39
+ task: 'get_api_data',
40
+ description: 'Make a simple GET request to retrieve data from an API',
41
+ nodeType: 'nodes-base.httpRequest',
42
+ configuration: {
43
+ method: 'GET',
44
+ url: '',
45
+ authentication: 'none'
46
+ },
47
+ userMustProvide: [
48
+ {
49
+ property: 'url',
50
+ description: 'The API endpoint URL',
51
+ example: 'https://api.example.com/users'
52
+ }
53
+ ],
54
+ optionalEnhancements: [
55
+ {
56
+ property: 'authentication',
57
+ description: 'Add authentication if the API requires it',
58
+ when: 'API requires authentication'
59
+ },
60
+ {
61
+ property: 'sendHeaders',
62
+ description: 'Add custom headers if needed',
63
+ when: 'API requires specific headers'
64
+ }
65
+ ]
66
+ },
67
+ 'post_json_request': {
68
+ task: 'post_json_request',
69
+ description: 'Send JSON data to an API endpoint',
70
+ nodeType: 'nodes-base.httpRequest',
71
+ configuration: {
72
+ method: 'POST',
73
+ url: '',
74
+ sendBody: true,
75
+ contentType: 'json',
76
+ specifyBody: 'json',
77
+ jsonBody: ''
78
+ },
79
+ userMustProvide: [
80
+ {
81
+ property: 'url',
82
+ description: 'The API endpoint URL',
83
+ example: 'https://api.example.com/users'
84
+ },
85
+ {
86
+ property: 'jsonBody',
87
+ description: 'The JSON data to send',
88
+ example: '{\n "name": "John Doe",\n "email": "john@example.com"\n}'
89
+ }
90
+ ],
91
+ optionalEnhancements: [
92
+ {
93
+ property: 'authentication',
94
+ description: 'Add authentication if required'
95
+ }
96
+ ],
97
+ notes: [
98
+ 'Make sure jsonBody contains valid JSON',
99
+ 'Content-Type header is automatically set to application/json'
100
+ ]
101
+ },
102
+ 'call_api_with_auth': {
103
+ task: 'call_api_with_auth',
104
+ description: 'Make an authenticated API request',
105
+ nodeType: 'nodes-base.httpRequest',
106
+ configuration: {
107
+ method: 'GET',
108
+ url: '',
109
+ authentication: 'genericCredentialType',
110
+ genericAuthType: 'headerAuth',
111
+ sendHeaders: true,
112
+ headerParameters: {
113
+ parameters: [
114
+ {
115
+ name: '',
116
+ value: ''
117
+ }
118
+ ]
119
+ }
120
+ },
121
+ userMustProvide: [
122
+ {
123
+ property: 'url',
124
+ description: 'The API endpoint URL'
125
+ },
126
+ {
127
+ property: 'headerParameters.parameters[0].name',
128
+ description: 'The header name for authentication',
129
+ example: 'Authorization'
130
+ },
131
+ {
132
+ property: 'headerParameters.parameters[0].value',
133
+ description: 'The authentication value',
134
+ example: 'Bearer YOUR_API_KEY'
135
+ }
136
+ ],
137
+ optionalEnhancements: [
138
+ {
139
+ property: 'method',
140
+ description: 'Change to POST/PUT/DELETE as needed'
141
+ }
142
+ ]
143
+ },
144
+ 'receive_webhook': {
145
+ task: 'receive_webhook',
146
+ description: 'Set up a webhook to receive data from external services',
147
+ nodeType: 'nodes-base.webhook',
148
+ configuration: {
149
+ httpMethod: 'POST',
150
+ path: 'webhook',
151
+ responseMode: 'lastNode',
152
+ responseData: 'allEntries'
153
+ },
154
+ userMustProvide: [
155
+ {
156
+ property: 'path',
157
+ description: 'The webhook path (will be appended to your n8n URL)',
158
+ example: 'github-webhook'
159
+ }
160
+ ],
161
+ optionalEnhancements: [
162
+ {
163
+ property: 'httpMethod',
164
+ description: 'Change if the service sends GET/PUT/etc'
165
+ },
166
+ {
167
+ property: 'responseCode',
168
+ description: 'Set custom response code (default 200)'
169
+ }
170
+ ],
171
+ notes: [
172
+ 'The full webhook URL will be: https://your-n8n.com/webhook/[path]',
173
+ 'Test URL will be different from production URL'
174
+ ]
175
+ },
176
+ 'webhook_with_response': {
177
+ task: 'webhook_with_response',
178
+ description: 'Receive webhook and send custom response',
179
+ nodeType: 'nodes-base.webhook',
180
+ configuration: {
181
+ httpMethod: 'POST',
182
+ path: 'webhook',
183
+ responseMode: 'responseNode',
184
+ responseData: 'firstEntryJson',
185
+ responseCode: 200
186
+ },
187
+ userMustProvide: [
188
+ {
189
+ property: 'path',
190
+ description: 'The webhook path'
191
+ }
192
+ ],
193
+ notes: [
194
+ 'Use with a Respond to Webhook node to send custom response',
195
+ 'responseMode: responseNode requires a Respond to Webhook node'
196
+ ]
197
+ },
198
+ 'query_postgres': {
199
+ task: 'query_postgres',
200
+ description: 'Query data from PostgreSQL database',
201
+ nodeType: 'nodes-base.postgres',
202
+ configuration: {
203
+ operation: 'executeQuery',
204
+ query: ''
205
+ },
206
+ userMustProvide: [
207
+ {
208
+ property: 'query',
209
+ description: 'The SQL query to execute',
210
+ example: 'SELECT * FROM users WHERE active = true LIMIT 10'
211
+ }
212
+ ],
213
+ optionalEnhancements: [
214
+ {
215
+ property: 'additionalFields.queryParams',
216
+ description: 'Use parameterized queries for security',
217
+ when: 'Using dynamic values'
218
+ }
219
+ ],
220
+ notes: [
221
+ 'Always use parameterized queries to prevent SQL injection',
222
+ 'Configure PostgreSQL credentials in n8n'
223
+ ]
224
+ },
225
+ 'insert_postgres_data': {
226
+ task: 'insert_postgres_data',
227
+ description: 'Insert data into PostgreSQL table',
228
+ nodeType: 'nodes-base.postgres',
229
+ configuration: {
230
+ operation: 'insert',
231
+ table: '',
232
+ columns: '',
233
+ returnFields: '*'
234
+ },
235
+ userMustProvide: [
236
+ {
237
+ property: 'table',
238
+ description: 'The table name',
239
+ example: 'users'
240
+ },
241
+ {
242
+ property: 'columns',
243
+ description: 'Comma-separated column names',
244
+ example: 'name,email,created_at'
245
+ }
246
+ ],
247
+ notes: [
248
+ 'Input data should match the column structure',
249
+ 'Use expressions like {{ $json.fieldName }} to map data'
250
+ ]
251
+ },
252
+ 'chat_with_ai': {
253
+ task: 'chat_with_ai',
254
+ description: 'Send a message to an AI model and get response',
255
+ nodeType: 'nodes-base.openAi',
256
+ configuration: {
257
+ resource: 'chat',
258
+ operation: 'message',
259
+ modelId: 'gpt-3.5-turbo',
260
+ messages: {
261
+ values: [
262
+ {
263
+ role: 'user',
264
+ content: ''
265
+ }
266
+ ]
267
+ }
268
+ },
269
+ userMustProvide: [
270
+ {
271
+ property: 'messages.values[0].content',
272
+ description: 'The message to send to the AI',
273
+ example: '{{ $json.userMessage }}'
274
+ }
275
+ ],
276
+ optionalEnhancements: [
277
+ {
278
+ property: 'modelId',
279
+ description: 'Change to gpt-4 for better results'
280
+ },
281
+ {
282
+ property: 'options.temperature',
283
+ description: 'Adjust creativity (0-1)'
284
+ },
285
+ {
286
+ property: 'options.maxTokens',
287
+ description: 'Limit response length'
288
+ }
289
+ ]
290
+ },
291
+ 'ai_agent_workflow': {
292
+ task: 'ai_agent_workflow',
293
+ description: 'Create an AI agent that can use tools',
294
+ nodeType: 'nodes-langchain.agent',
295
+ configuration: {
296
+ text: '',
297
+ outputType: 'output',
298
+ systemMessage: 'You are a helpful assistant.'
299
+ },
300
+ userMustProvide: [
301
+ {
302
+ property: 'text',
303
+ description: 'The input prompt for the agent',
304
+ example: '{{ $json.query }}'
305
+ }
306
+ ],
307
+ optionalEnhancements: [
308
+ {
309
+ property: 'systemMessage',
310
+ description: 'Customize the agent\'s behavior'
311
+ }
312
+ ],
313
+ notes: [
314
+ 'Connect tool nodes to give the agent capabilities',
315
+ 'Configure the AI model credentials'
316
+ ]
317
+ },
318
+ 'transform_data': {
319
+ task: 'transform_data',
320
+ description: 'Transform data structure using JavaScript',
321
+ nodeType: 'nodes-base.code',
322
+ configuration: {
323
+ language: 'javaScript',
324
+ jsCode: `// Transform each item
325
+ const results = [];
326
+
327
+ for (const item of items) {
328
+ results.push({
329
+ json: {
330
+ // Transform your data here
331
+ id: item.json.id,
332
+ processedAt: new Date().toISOString()
333
+ }
334
+ });
335
+ }
336
+
337
+ return results;`
338
+ },
339
+ userMustProvide: [],
340
+ notes: [
341
+ 'Access input data via items array',
342
+ 'Each item has a json property with the data',
343
+ 'Return array of objects with json property'
344
+ ]
345
+ },
346
+ 'filter_data': {
347
+ task: 'filter_data',
348
+ description: 'Filter items based on conditions',
349
+ nodeType: 'nodes-base.if',
350
+ configuration: {
351
+ conditions: {
352
+ conditions: [
353
+ {
354
+ leftValue: '',
355
+ rightValue: '',
356
+ operator: {
357
+ type: 'string',
358
+ operation: 'equals'
359
+ }
360
+ }
361
+ ]
362
+ }
363
+ },
364
+ userMustProvide: [
365
+ {
366
+ property: 'conditions.conditions[0].leftValue',
367
+ description: 'The value to check',
368
+ example: '{{ $json.status }}'
369
+ },
370
+ {
371
+ property: 'conditions.conditions[0].rightValue',
372
+ description: 'The value to compare against',
373
+ example: 'active'
374
+ }
375
+ ],
376
+ notes: [
377
+ 'True output contains matching items',
378
+ 'False output contains non-matching items'
379
+ ]
380
+ },
381
+ 'send_slack_message': {
382
+ task: 'send_slack_message',
383
+ description: 'Send a message to Slack channel',
384
+ nodeType: 'nodes-base.slack',
385
+ configuration: {
386
+ resource: 'message',
387
+ operation: 'post',
388
+ channel: '',
389
+ text: ''
390
+ },
391
+ userMustProvide: [
392
+ {
393
+ property: 'channel',
394
+ description: 'The Slack channel',
395
+ example: '#general'
396
+ },
397
+ {
398
+ property: 'text',
399
+ description: 'The message text',
400
+ example: 'New order received: {{ $json.orderId }}'
401
+ }
402
+ ],
403
+ optionalEnhancements: [
404
+ {
405
+ property: 'attachments',
406
+ description: 'Add rich message attachments'
407
+ },
408
+ {
409
+ property: 'blocks',
410
+ description: 'Use Block Kit for advanced formatting'
411
+ }
412
+ ]
413
+ },
414
+ 'send_email': {
415
+ task: 'send_email',
416
+ description: 'Send an email notification',
417
+ nodeType: 'nodes-base.emailSend',
418
+ configuration: {
419
+ fromEmail: '',
420
+ toEmail: '',
421
+ subject: '',
422
+ text: ''
423
+ },
424
+ userMustProvide: [
425
+ {
426
+ property: 'fromEmail',
427
+ description: 'Sender email address',
428
+ example: 'notifications@company.com'
429
+ },
430
+ {
431
+ property: 'toEmail',
432
+ description: 'Recipient email address',
433
+ example: '{{ $json.customerEmail }}'
434
+ },
435
+ {
436
+ property: 'subject',
437
+ description: 'Email subject',
438
+ example: 'Order Confirmation #{{ $json.orderId }}'
439
+ },
440
+ {
441
+ property: 'text',
442
+ description: 'Email body (plain text)',
443
+ example: 'Thank you for your order!'
444
+ }
445
+ ],
446
+ optionalEnhancements: [
447
+ {
448
+ property: 'html',
449
+ description: 'Use HTML for rich formatting'
450
+ },
451
+ {
452
+ property: 'attachments',
453
+ description: 'Attach files to the email'
454
+ }
455
+ ]
456
+ },
457
+ 'use_google_sheets_as_tool': {
458
+ task: 'use_google_sheets_as_tool',
459
+ description: 'Use Google Sheets as an AI tool for reading/writing data',
460
+ nodeType: 'nodes-base.googleSheets',
461
+ configuration: {
462
+ operation: 'append',
463
+ sheetId: '={{ $fromAI("sheetId", "The Google Sheets ID") }}',
464
+ range: '={{ $fromAI("range", "The range to append to, e.g. A:Z") }}',
465
+ dataMode: 'autoMap'
466
+ },
467
+ userMustProvide: [
468
+ {
469
+ property: 'Google Sheets credentials',
470
+ description: 'Configure Google Sheets API credentials in n8n'
471
+ },
472
+ {
473
+ property: 'Tool name in AI Agent',
474
+ description: 'Give it a descriptive name like "Log Results to Sheet"'
475
+ },
476
+ {
477
+ property: 'Tool description',
478
+ description: 'Describe when and how the AI should use this tool'
479
+ }
480
+ ],
481
+ notes: [
482
+ 'Connect this node to the ai_tool port of an AI Agent node',
483
+ 'The AI can dynamically determine sheetId and range using $fromAI',
484
+ 'Works great for logging AI analysis results or reading data for processing'
485
+ ]
486
+ },
487
+ 'use_slack_as_tool': {
488
+ task: 'use_slack_as_tool',
489
+ description: 'Use Slack as an AI tool for sending notifications',
490
+ nodeType: 'nodes-base.slack',
491
+ configuration: {
492
+ resource: 'message',
493
+ operation: 'post',
494
+ channel: '={{ $fromAI("channel", "The Slack channel, e.g. #general") }}',
495
+ text: '={{ $fromAI("message", "The message to send") }}',
496
+ attachments: []
497
+ },
498
+ userMustProvide: [
499
+ {
500
+ property: 'Slack credentials',
501
+ description: 'Configure Slack OAuth2 credentials in n8n'
502
+ },
503
+ {
504
+ property: 'Tool configuration in AI Agent',
505
+ description: 'Name it something like "Send Slack Notification"'
506
+ }
507
+ ],
508
+ notes: [
509
+ 'Perfect for AI agents that need to notify teams',
510
+ 'The AI determines channel and message content dynamically',
511
+ 'Can be enhanced with blocks for rich formatting'
512
+ ]
513
+ },
514
+ 'multi_tool_ai_agent': {
515
+ task: 'multi_tool_ai_agent',
516
+ description: 'AI agent with multiple tools for complex automation',
517
+ nodeType: 'nodes-langchain.agent',
518
+ configuration: {
519
+ text: '={{ $json.query }}',
520
+ outputType: 'output',
521
+ systemMessage: 'You are an intelligent assistant with access to multiple tools. Use them wisely to complete tasks.'
522
+ },
523
+ userMustProvide: [
524
+ {
525
+ property: 'AI model credentials',
526
+ description: 'OpenAI, Anthropic, or other LLM credentials'
527
+ },
528
+ {
529
+ property: 'Multiple tool nodes',
530
+ description: 'Connect various nodes to the ai_tool port'
531
+ },
532
+ {
533
+ property: 'Tool descriptions',
534
+ description: 'Clear descriptions for each connected tool'
535
+ }
536
+ ],
537
+ optionalEnhancements: [
538
+ {
539
+ property: 'Memory',
540
+ description: 'Add memory nodes for conversation context'
541
+ },
542
+ {
543
+ property: 'Custom tools',
544
+ description: 'Create Code nodes as custom tools'
545
+ }
546
+ ],
547
+ notes: [
548
+ 'Connect multiple nodes: HTTP Request, Slack, Google Sheets, etc.',
549
+ 'Each tool should have a clear, specific purpose',
550
+ 'Test each tool individually before combining',
551
+ 'Set N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true for community nodes'
552
+ ]
553
+ }
554
+ };
555
+ //# sourceMappingURL=task-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-templates.js","sourceRoot":"","sources":["../../src/services/task-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { WorkflowDiffRequest, WorkflowDiffResult } from '../types/workflow-diff';
2
+ import { Workflow } from '../types/n8n-api';
3
+ export declare class WorkflowDiffEngine {
4
+ applyDiff(workflow: Workflow, request: WorkflowDiffRequest): Promise<WorkflowDiffResult>;
5
+ private validateOperation;
6
+ private applyOperation;
7
+ private validateAddNode;
8
+ private validateRemoveNode;
9
+ private validateUpdateNode;
10
+ private validateMoveNode;
11
+ private validateToggleNode;
12
+ private validateAddConnection;
13
+ private validateRemoveConnection;
14
+ private validateUpdateConnection;
15
+ private applyAddNode;
16
+ private applyRemoveNode;
17
+ private applyUpdateNode;
18
+ private applyMoveNode;
19
+ private applyEnableNode;
20
+ private applyDisableNode;
21
+ private applyAddConnection;
22
+ private applyRemoveConnection;
23
+ private applyUpdateConnection;
24
+ private applyUpdateSettings;
25
+ private applyUpdateName;
26
+ private applyAddTag;
27
+ private applyRemoveTag;
28
+ private findNode;
29
+ private setNestedProperty;
30
+ }
31
+ //# sourceMappingURL=workflow-diff-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-diff-engine.d.ts","sourceRoot":"","sources":["../../src/services/workflow-diff-engine.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAkBnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAoC,MAAM,kBAAkB,CAAC;AAM9E,qBAAa,kBAAkB;IAIvB,SAAS,CACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAsH9B,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,wBAAwB;IAmChC,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,iBAAiB;CAc1B"}