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,556 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExampleGenerator = void 0;
4
+ class ExampleGenerator {
5
+ static getExamples(nodeType, essentials) {
6
+ const examples = this.NODE_EXAMPLES[nodeType];
7
+ if (examples) {
8
+ return examples;
9
+ }
10
+ return this.generateBasicExamples(nodeType, essentials);
11
+ }
12
+ static generateBasicExamples(nodeType, essentials) {
13
+ const minimal = {};
14
+ if (essentials?.required) {
15
+ for (const prop of essentials.required) {
16
+ minimal[prop.name] = this.getDefaultValue(prop);
17
+ }
18
+ }
19
+ if (Object.keys(minimal).length === 0 && essentials?.common?.length > 0) {
20
+ const firstCommon = essentials.common[0];
21
+ minimal[firstCommon.name] = this.getDefaultValue(firstCommon);
22
+ }
23
+ return { minimal };
24
+ }
25
+ static getDefaultValue(prop) {
26
+ if (prop.default !== undefined) {
27
+ return prop.default;
28
+ }
29
+ switch (prop.type) {
30
+ case 'string':
31
+ return this.getStringDefault(prop);
32
+ case 'number':
33
+ return prop.name.includes('port') ? 80 :
34
+ prop.name.includes('timeout') ? 30000 :
35
+ prop.name.includes('limit') ? 10 : 0;
36
+ case 'boolean':
37
+ return false;
38
+ case 'options':
39
+ case 'multiOptions':
40
+ return prop.options?.[0]?.value || '';
41
+ case 'json':
42
+ return '{\n "key": "value"\n}';
43
+ case 'collection':
44
+ case 'fixedCollection':
45
+ return {};
46
+ default:
47
+ return '';
48
+ }
49
+ }
50
+ static getStringDefault(prop) {
51
+ const name = prop.name.toLowerCase();
52
+ if (name.includes('url') || name === 'endpoint') {
53
+ return 'https://api.example.com';
54
+ }
55
+ if (name.includes('email')) {
56
+ return name.includes('from') ? 'sender@example.com' : 'recipient@example.com';
57
+ }
58
+ if (name.includes('path')) {
59
+ return name.includes('webhook') ? 'my-webhook' : '/path/to/file';
60
+ }
61
+ if (name === 'name' || name.includes('username')) {
62
+ return 'John Doe';
63
+ }
64
+ if (name.includes('key')) {
65
+ return 'myKey';
66
+ }
67
+ if (name === 'query' || name.includes('sql')) {
68
+ return 'SELECT * FROM table_name LIMIT 10';
69
+ }
70
+ if (name === 'collection' || name === 'table') {
71
+ return 'users';
72
+ }
73
+ if (prop.placeholder) {
74
+ return prop.placeholder;
75
+ }
76
+ return '';
77
+ }
78
+ static getTaskExample(nodeType, task) {
79
+ const examples = this.NODE_EXAMPLES[nodeType];
80
+ if (!examples)
81
+ return undefined;
82
+ const taskMap = {
83
+ 'basic': 'minimal',
84
+ 'simple': 'minimal',
85
+ 'typical': 'common',
86
+ 'standard': 'common',
87
+ 'complex': 'advanced',
88
+ 'full': 'advanced'
89
+ };
90
+ const exampleType = taskMap[task] || 'common';
91
+ return examples[exampleType] || examples.minimal;
92
+ }
93
+ }
94
+ exports.ExampleGenerator = ExampleGenerator;
95
+ ExampleGenerator.NODE_EXAMPLES = {
96
+ 'nodes-base.httpRequest': {
97
+ minimal: {
98
+ url: 'https://api.example.com/data'
99
+ },
100
+ common: {
101
+ method: 'POST',
102
+ url: 'https://api.example.com/users',
103
+ sendBody: true,
104
+ contentType: 'json',
105
+ specifyBody: 'json',
106
+ jsonBody: '{\n "name": "John Doe",\n "email": "john@example.com"\n}'
107
+ },
108
+ advanced: {
109
+ method: 'POST',
110
+ url: 'https://api.example.com/protected/resource',
111
+ authentication: 'genericCredentialType',
112
+ genericAuthType: 'headerAuth',
113
+ sendHeaders: true,
114
+ headerParameters: {
115
+ parameters: [
116
+ {
117
+ name: 'X-API-Version',
118
+ value: 'v2'
119
+ }
120
+ ]
121
+ },
122
+ sendBody: true,
123
+ contentType: 'json',
124
+ specifyBody: 'json',
125
+ jsonBody: '{\n "action": "update",\n "data": {}\n}'
126
+ }
127
+ },
128
+ 'nodes-base.webhook': {
129
+ minimal: {
130
+ path: 'my-webhook',
131
+ httpMethod: 'POST'
132
+ },
133
+ common: {
134
+ path: 'webhook-endpoint',
135
+ httpMethod: 'POST',
136
+ responseMode: 'lastNode',
137
+ responseData: 'allEntries',
138
+ responseCode: 200
139
+ }
140
+ },
141
+ 'nodes-base.code': {
142
+ minimal: {
143
+ language: 'javaScript',
144
+ jsCode: 'return items;'
145
+ },
146
+ common: {
147
+ language: 'javaScript',
148
+ jsCode: `// Access input items
149
+ const results = [];
150
+
151
+ for (const item of items) {
152
+ // Process each item
153
+ results.push({
154
+ json: {
155
+ ...item.json,
156
+ processed: true,
157
+ timestamp: new Date().toISOString()
158
+ }
159
+ });
160
+ }
161
+
162
+ return results;`
163
+ },
164
+ advanced: {
165
+ language: 'python',
166
+ pythonCode: `import json
167
+ from datetime import datetime
168
+
169
+ # Access input items
170
+ results = []
171
+
172
+ for item in items:
173
+ # Process each item
174
+ processed_item = item.json.copy()
175
+ processed_item['processed'] = True
176
+ processed_item['timestamp'] = datetime.now().isoformat()
177
+
178
+ results.append({'json': processed_item})
179
+
180
+ return results`
181
+ }
182
+ },
183
+ 'nodes-base.set': {
184
+ minimal: {
185
+ mode: 'manual',
186
+ assignments: {
187
+ assignments: [
188
+ {
189
+ id: '1',
190
+ name: 'status',
191
+ value: 'active',
192
+ type: 'string'
193
+ }
194
+ ]
195
+ }
196
+ },
197
+ common: {
198
+ mode: 'manual',
199
+ includeOtherFields: true,
200
+ assignments: {
201
+ assignments: [
202
+ {
203
+ id: '1',
204
+ name: 'status',
205
+ value: 'processed',
206
+ type: 'string'
207
+ },
208
+ {
209
+ id: '2',
210
+ name: 'processedAt',
211
+ value: '={{ $now.toISO() }}',
212
+ type: 'string'
213
+ },
214
+ {
215
+ id: '3',
216
+ name: 'itemCount',
217
+ value: '={{ $items().length }}',
218
+ type: 'number'
219
+ }
220
+ ]
221
+ }
222
+ }
223
+ },
224
+ 'nodes-base.if': {
225
+ minimal: {
226
+ conditions: {
227
+ conditions: [
228
+ {
229
+ id: '1',
230
+ leftValue: '={{ $json.status }}',
231
+ rightValue: 'active',
232
+ operator: {
233
+ type: 'string',
234
+ operation: 'equals'
235
+ }
236
+ }
237
+ ]
238
+ }
239
+ },
240
+ common: {
241
+ conditions: {
242
+ conditions: [
243
+ {
244
+ id: '1',
245
+ leftValue: '={{ $json.status }}',
246
+ rightValue: 'active',
247
+ operator: {
248
+ type: 'string',
249
+ operation: 'equals'
250
+ }
251
+ },
252
+ {
253
+ id: '2',
254
+ leftValue: '={{ $json.count }}',
255
+ rightValue: 10,
256
+ operator: {
257
+ type: 'number',
258
+ operation: 'gt'
259
+ }
260
+ }
261
+ ]
262
+ },
263
+ combineOperation: 'all'
264
+ }
265
+ },
266
+ 'nodes-base.postgres': {
267
+ minimal: {
268
+ operation: 'executeQuery',
269
+ query: 'SELECT * FROM users LIMIT 10'
270
+ },
271
+ common: {
272
+ operation: 'insert',
273
+ table: 'users',
274
+ columns: 'name,email,created_at',
275
+ additionalFields: {}
276
+ },
277
+ advanced: {
278
+ operation: 'executeQuery',
279
+ query: `INSERT INTO users (name, email, status)
280
+ VALUES ($1, $2, $3)
281
+ ON CONFLICT (email)
282
+ DO UPDATE SET
283
+ name = EXCLUDED.name,
284
+ updated_at = NOW()
285
+ RETURNING *;`,
286
+ additionalFields: {
287
+ queryParams: '={{ $json.name }},{{ $json.email }},active'
288
+ }
289
+ }
290
+ },
291
+ 'nodes-base.openAi': {
292
+ minimal: {
293
+ resource: 'chat',
294
+ operation: 'message',
295
+ modelId: 'gpt-3.5-turbo',
296
+ messages: {
297
+ values: [
298
+ {
299
+ role: 'user',
300
+ content: 'Hello, how can you help me?'
301
+ }
302
+ ]
303
+ }
304
+ },
305
+ common: {
306
+ resource: 'chat',
307
+ operation: 'message',
308
+ modelId: 'gpt-4',
309
+ messages: {
310
+ values: [
311
+ {
312
+ role: 'system',
313
+ content: 'You are a helpful assistant that summarizes text concisely.'
314
+ },
315
+ {
316
+ role: 'user',
317
+ content: '={{ $json.text }}'
318
+ }
319
+ ]
320
+ },
321
+ options: {
322
+ maxTokens: 150,
323
+ temperature: 0.7
324
+ }
325
+ }
326
+ },
327
+ 'nodes-base.googleSheets': {
328
+ minimal: {
329
+ operation: 'read',
330
+ documentId: {
331
+ __rl: true,
332
+ value: 'https://docs.google.com/spreadsheets/d/your-sheet-id',
333
+ mode: 'url'
334
+ },
335
+ sheetName: 'Sheet1'
336
+ },
337
+ common: {
338
+ operation: 'append',
339
+ documentId: {
340
+ __rl: true,
341
+ value: 'your-sheet-id',
342
+ mode: 'id'
343
+ },
344
+ sheetName: 'Sheet1',
345
+ dataStartRow: 2,
346
+ columns: {
347
+ mappingMode: 'defineBelow',
348
+ value: {
349
+ 'Name': '={{ $json.name }}',
350
+ 'Email': '={{ $json.email }}',
351
+ 'Date': '={{ $now.toISO() }}'
352
+ }
353
+ }
354
+ }
355
+ },
356
+ 'nodes-base.slack': {
357
+ minimal: {
358
+ resource: 'message',
359
+ operation: 'post',
360
+ channel: '#general',
361
+ text: 'Hello from n8n!'
362
+ },
363
+ common: {
364
+ resource: 'message',
365
+ operation: 'post',
366
+ channel: '#notifications',
367
+ text: 'New order received!',
368
+ attachments: [
369
+ {
370
+ color: '#36a64f',
371
+ title: 'Order #{{ $json.orderId }}',
372
+ fields: {
373
+ item: [
374
+ {
375
+ title: 'Customer',
376
+ value: '{{ $json.customerName }}',
377
+ short: true
378
+ },
379
+ {
380
+ title: 'Amount',
381
+ value: '${{ $json.amount }}',
382
+ short: true
383
+ }
384
+ ]
385
+ }
386
+ }
387
+ ]
388
+ }
389
+ },
390
+ 'nodes-base.emailSend': {
391
+ minimal: {
392
+ fromEmail: 'sender@example.com',
393
+ toEmail: 'recipient@example.com',
394
+ subject: 'Test Email',
395
+ text: 'This is a test email from n8n.'
396
+ },
397
+ common: {
398
+ fromEmail: 'notifications@company.com',
399
+ toEmail: '={{ $json.email }}',
400
+ subject: 'Welcome to our service, {{ $json.name }}!',
401
+ html: `<h1>Welcome!</h1>
402
+ <p>Hi {{ $json.name }},</p>
403
+ <p>Thank you for signing up. We're excited to have you on board!</p>
404
+ <p>Best regards,<br>The Team</p>`,
405
+ options: {
406
+ ccEmail: 'admin@company.com'
407
+ }
408
+ }
409
+ },
410
+ 'nodes-base.merge': {
411
+ minimal: {
412
+ mode: 'append'
413
+ },
414
+ common: {
415
+ mode: 'mergeByKey',
416
+ propertyName1: 'id',
417
+ propertyName2: 'userId'
418
+ }
419
+ },
420
+ 'nodes-base.function': {
421
+ minimal: {
422
+ functionCode: 'return items;'
423
+ },
424
+ common: {
425
+ functionCode: `// Add a timestamp to each item
426
+ const processedItems = items.map(item => {
427
+ return {
428
+ ...item,
429
+ json: {
430
+ ...item.json,
431
+ processedAt: new Date().toISOString()
432
+ }
433
+ };
434
+ });
435
+
436
+ return processedItems;`
437
+ }
438
+ },
439
+ 'nodes-base.splitInBatches': {
440
+ minimal: {
441
+ batchSize: 10
442
+ },
443
+ common: {
444
+ batchSize: 100,
445
+ options: {
446
+ reset: false
447
+ }
448
+ }
449
+ },
450
+ 'nodes-base.redis': {
451
+ minimal: {
452
+ operation: 'set',
453
+ key: 'myKey',
454
+ value: 'myValue'
455
+ },
456
+ common: {
457
+ operation: 'set',
458
+ key: 'user:{{ $json.userId }}',
459
+ value: '={{ JSON.stringify($json) }}',
460
+ expire: true,
461
+ ttl: 3600
462
+ }
463
+ },
464
+ 'nodes-base.mongoDb': {
465
+ minimal: {
466
+ operation: 'find',
467
+ collection: 'users'
468
+ },
469
+ common: {
470
+ operation: 'findOneAndUpdate',
471
+ collection: 'users',
472
+ query: '{ "email": "{{ $json.email }}" }',
473
+ update: '{ "$set": { "lastLogin": "{{ $now.toISO() }}" } }',
474
+ options: {
475
+ upsert: true,
476
+ returnNewDocument: true
477
+ }
478
+ }
479
+ },
480
+ 'nodes-base.mySql': {
481
+ minimal: {
482
+ operation: 'executeQuery',
483
+ query: 'SELECT * FROM products WHERE active = 1'
484
+ },
485
+ common: {
486
+ operation: 'insert',
487
+ table: 'orders',
488
+ columns: 'customer_id,product_id,quantity,order_date',
489
+ options: {
490
+ queryBatching: 'independently'
491
+ }
492
+ }
493
+ },
494
+ 'nodes-base.ftp': {
495
+ minimal: {
496
+ operation: 'download',
497
+ path: '/files/data.csv'
498
+ },
499
+ common: {
500
+ operation: 'upload',
501
+ path: '/uploads/',
502
+ fileName: 'report_{{ $now.format("yyyy-MM-dd") }}.csv',
503
+ binaryData: true,
504
+ binaryPropertyName: 'data'
505
+ }
506
+ },
507
+ 'nodes-base.ssh': {
508
+ minimal: {
509
+ resource: 'command',
510
+ operation: 'execute',
511
+ command: 'ls -la'
512
+ },
513
+ common: {
514
+ resource: 'command',
515
+ operation: 'execute',
516
+ command: 'cd /var/logs && tail -n 100 app.log | grep ERROR',
517
+ cwd: '/home/user'
518
+ }
519
+ },
520
+ 'nodes-base.executeCommand': {
521
+ minimal: {
522
+ command: 'echo "Hello from n8n"'
523
+ },
524
+ common: {
525
+ command: 'node process-data.js --input "{{ $json.filename }}"',
526
+ cwd: '/app/scripts'
527
+ }
528
+ },
529
+ 'nodes-base.github': {
530
+ minimal: {
531
+ resource: 'issue',
532
+ operation: 'get',
533
+ owner: 'n8n-io',
534
+ repository: 'n8n',
535
+ issueNumber: 123
536
+ },
537
+ common: {
538
+ resource: 'issue',
539
+ operation: 'create',
540
+ owner: '={{ $json.organization }}',
541
+ repository: '={{ $json.repo }}',
542
+ title: 'Bug: {{ $json.title }}',
543
+ body: `## Description
544
+ {{ $json.description }}
545
+
546
+ ## Steps to Reproduce
547
+ {{ $json.steps }}
548
+
549
+ ## Expected Behavior
550
+ {{ $json.expected }}`,
551
+ assignees: ['maintainer'],
552
+ labels: ['bug', 'needs-triage']
553
+ }
554
+ }
555
+ };
556
+ //# sourceMappingURL=example-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example-generator.js","sourceRoot":"","sources":["../../src/services/example-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ interface ExpressionValidationResult {
2
+ valid: boolean;
3
+ errors: string[];
4
+ warnings: string[];
5
+ usedVariables: Set<string>;
6
+ usedNodes: Set<string>;
7
+ }
8
+ interface ExpressionContext {
9
+ availableNodes: string[];
10
+ currentNodeName?: string;
11
+ isInLoop?: boolean;
12
+ hasInputData?: boolean;
13
+ }
14
+ export declare class ExpressionValidator {
15
+ private static readonly EXPRESSION_PATTERN;
16
+ private static readonly VARIABLE_PATTERNS;
17
+ static validateExpression(expression: string, context: ExpressionContext): ExpressionValidationResult;
18
+ private static checkSyntaxErrors;
19
+ private static extractExpressions;
20
+ private static validateSingleExpression;
21
+ private static checkCommonMistakes;
22
+ private static checkNodeReferences;
23
+ static validateNodeExpressions(parameters: any, context: ExpressionContext): ExpressionValidationResult;
24
+ private static validateParametersRecursive;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=expression-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-validator.d.ts","sourceRoot":"","sources":["../../src/services/expression-validator.ts"],"names":[],"mappings":"AAKA,UAAU,0BAA0B;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,UAAU,iBAAiB;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,mBAAmB;IAE9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAcvC;IAKF,MAAM,CAAC,kBAAkB,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,0BAA0B;IA+B7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA8BhC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IA0DvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA4ClC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAgBlC,MAAM,CAAC,uBAAuB,CAC5B,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,iBAAiB,GACzB,0BAA0B;IAkB7B,OAAO,CAAC,MAAM,CAAC,2BAA2B;CAuC3C"}