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,518 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NodeDocumentationService = void 0;
7
+ const crypto_1 = require("crypto");
8
+ const path_1 = __importDefault(require("path"));
9
+ const logger_1 = require("../utils/logger");
10
+ const node_source_extractor_1 = require("../utils/node-source-extractor");
11
+ const enhanced_documentation_fetcher_1 = require("../utils/enhanced-documentation-fetcher");
12
+ const example_generator_1 = require("../utils/example-generator");
13
+ const database_adapter_1 = require("../database/database-adapter");
14
+ class NodeDocumentationService {
15
+ constructor(dbPath) {
16
+ this.db = null;
17
+ this.dbPath = dbPath || process.env.NODE_DB_PATH || this.findDatabasePath();
18
+ const dbDir = path_1.default.dirname(this.dbPath);
19
+ if (!require('fs').existsSync(dbDir)) {
20
+ require('fs').mkdirSync(dbDir, { recursive: true });
21
+ }
22
+ this.extractor = new node_source_extractor_1.NodeSourceExtractor();
23
+ this.docsFetcher = new enhanced_documentation_fetcher_1.EnhancedDocumentationFetcher();
24
+ this.initialized = this.initializeAsync();
25
+ }
26
+ findDatabasePath() {
27
+ const fs = require('fs');
28
+ const localPath = path_1.default.join(process.cwd(), 'data', 'nodes.db');
29
+ if (fs.existsSync(localPath)) {
30
+ return localPath;
31
+ }
32
+ const packagePath = path_1.default.join(__dirname, '..', '..', 'data', 'nodes.db');
33
+ if (fs.existsSync(packagePath)) {
34
+ return packagePath;
35
+ }
36
+ const globalPath = path_1.default.join(__dirname, '..', '..', '..', 'data', 'nodes.db');
37
+ if (fs.existsSync(globalPath)) {
38
+ return globalPath;
39
+ }
40
+ return localPath;
41
+ }
42
+ async initializeAsync() {
43
+ try {
44
+ this.db = await (0, database_adapter_1.createDatabaseAdapter)(this.dbPath);
45
+ this.initializeDatabase();
46
+ logger_1.logger.info('Node Documentation Service initialized');
47
+ }
48
+ catch (error) {
49
+ logger_1.logger.error('Failed to initialize database adapter', error);
50
+ throw error;
51
+ }
52
+ }
53
+ async ensureInitialized() {
54
+ await this.initialized;
55
+ if (!this.db) {
56
+ throw new Error('Database not initialized');
57
+ }
58
+ }
59
+ initializeDatabase() {
60
+ if (!this.db)
61
+ throw new Error('Database not initialized');
62
+ const schema = `
63
+ -- Main nodes table with documentation and examples
64
+ CREATE TABLE IF NOT EXISTS nodes (
65
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
66
+ node_type TEXT UNIQUE NOT NULL,
67
+ name TEXT NOT NULL,
68
+ display_name TEXT,
69
+ description TEXT,
70
+ category TEXT,
71
+ subcategory TEXT,
72
+ icon TEXT,
73
+
74
+ -- Source code
75
+ source_code TEXT NOT NULL,
76
+ credential_code TEXT,
77
+ code_hash TEXT NOT NULL,
78
+ code_length INTEGER NOT NULL,
79
+
80
+ -- Documentation
81
+ documentation_markdown TEXT,
82
+ documentation_url TEXT,
83
+ documentation_title TEXT,
84
+
85
+ -- Enhanced documentation fields (stored as JSON)
86
+ operations TEXT,
87
+ api_methods TEXT,
88
+ documentation_examples TEXT,
89
+ templates TEXT,
90
+ related_resources TEXT,
91
+ required_scopes TEXT,
92
+
93
+ -- Example usage
94
+ example_workflow TEXT,
95
+ example_parameters TEXT,
96
+ properties_schema TEXT,
97
+
98
+ -- Metadata
99
+ package_name TEXT NOT NULL,
100
+ version TEXT,
101
+ codex_data TEXT,
102
+ aliases TEXT,
103
+
104
+ -- Flags
105
+ has_credentials INTEGER DEFAULT 0,
106
+ is_trigger INTEGER DEFAULT 0,
107
+ is_webhook INTEGER DEFAULT 0,
108
+
109
+ -- Timestamps
110
+ extracted_at DATETIME DEFAULT CURRENT_TIMESTAMP,
111
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
112
+ );
113
+
114
+ -- Indexes
115
+ CREATE INDEX IF NOT EXISTS idx_nodes_package_name ON nodes(package_name);
116
+ CREATE INDEX IF NOT EXISTS idx_nodes_category ON nodes(category);
117
+ CREATE INDEX IF NOT EXISTS idx_nodes_code_hash ON nodes(code_hash);
118
+ CREATE INDEX IF NOT EXISTS idx_nodes_name ON nodes(name);
119
+ CREATE INDEX IF NOT EXISTS idx_nodes_is_trigger ON nodes(is_trigger);
120
+
121
+ -- Full Text Search
122
+ CREATE VIRTUAL TABLE IF NOT EXISTS nodes_fts USING fts5(
123
+ node_type,
124
+ name,
125
+ display_name,
126
+ description,
127
+ category,
128
+ documentation_markdown,
129
+ aliases,
130
+ content=nodes,
131
+ content_rowid=id
132
+ );
133
+
134
+ -- Triggers for FTS
135
+ CREATE TRIGGER IF NOT EXISTS nodes_ai AFTER INSERT ON nodes
136
+ BEGIN
137
+ INSERT INTO nodes_fts(rowid, node_type, name, display_name, description, category, documentation_markdown, aliases)
138
+ VALUES (new.id, new.node_type, new.name, new.display_name, new.description, new.category, new.documentation_markdown, new.aliases);
139
+ END;
140
+
141
+ CREATE TRIGGER IF NOT EXISTS nodes_ad AFTER DELETE ON nodes
142
+ BEGIN
143
+ DELETE FROM nodes_fts WHERE rowid = old.id;
144
+ END;
145
+
146
+ CREATE TRIGGER IF NOT EXISTS nodes_au AFTER UPDATE ON nodes
147
+ BEGIN
148
+ DELETE FROM nodes_fts WHERE rowid = old.id;
149
+ INSERT INTO nodes_fts(rowid, node_type, name, display_name, description, category, documentation_markdown, aliases)
150
+ VALUES (new.id, new.node_type, new.name, new.display_name, new.description, new.category, new.documentation_markdown, new.aliases);
151
+ END;
152
+
153
+ -- Documentation sources table
154
+ CREATE TABLE IF NOT EXISTS documentation_sources (
155
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
156
+ source TEXT NOT NULL,
157
+ commit_hash TEXT,
158
+ fetched_at DATETIME DEFAULT CURRENT_TIMESTAMP
159
+ );
160
+
161
+ -- Statistics table
162
+ CREATE TABLE IF NOT EXISTS extraction_stats (
163
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
164
+ total_nodes INTEGER NOT NULL,
165
+ nodes_with_docs INTEGER NOT NULL,
166
+ nodes_with_examples INTEGER NOT NULL,
167
+ total_code_size INTEGER NOT NULL,
168
+ total_docs_size INTEGER NOT NULL,
169
+ extraction_date DATETIME DEFAULT CURRENT_TIMESTAMP
170
+ );
171
+ `;
172
+ this.db.exec(schema);
173
+ }
174
+ async storeNode(nodeInfo) {
175
+ await this.ensureInitialized();
176
+ const hash = this.generateHash(nodeInfo.sourceCode);
177
+ const stmt = this.db.prepare(`
178
+ INSERT OR REPLACE INTO nodes (
179
+ node_type, name, display_name, description, category, subcategory, icon,
180
+ source_code, credential_code, code_hash, code_length,
181
+ documentation_markdown, documentation_url, documentation_title,
182
+ operations, api_methods, documentation_examples, templates, related_resources, required_scopes,
183
+ example_workflow, example_parameters, properties_schema,
184
+ package_name, version, codex_data, aliases,
185
+ has_credentials, is_trigger, is_webhook
186
+ ) VALUES (
187
+ @nodeType, @name, @displayName, @description, @category, @subcategory, @icon,
188
+ @sourceCode, @credentialCode, @hash, @codeLength,
189
+ @documentation, @documentationUrl, @documentationTitle,
190
+ @operations, @apiMethods, @documentationExamples, @templates, @relatedResources, @requiredScopes,
191
+ @exampleWorkflow, @exampleParameters, @propertiesSchema,
192
+ @packageName, @version, @codexData, @aliases,
193
+ @hasCredentials, @isTrigger, @isWebhook
194
+ )
195
+ `);
196
+ stmt.run({
197
+ nodeType: nodeInfo.nodeType,
198
+ name: nodeInfo.name,
199
+ displayName: nodeInfo.displayName || nodeInfo.name,
200
+ description: nodeInfo.description || '',
201
+ category: nodeInfo.category || 'Other',
202
+ subcategory: nodeInfo.subcategory || null,
203
+ icon: nodeInfo.icon || null,
204
+ sourceCode: nodeInfo.sourceCode,
205
+ credentialCode: nodeInfo.credentialCode || null,
206
+ hash,
207
+ codeLength: nodeInfo.sourceCode.length,
208
+ documentation: nodeInfo.documentationMarkdown || null,
209
+ documentationUrl: nodeInfo.documentationUrl || null,
210
+ documentationTitle: nodeInfo.documentationTitle || null,
211
+ operations: nodeInfo.operations ? JSON.stringify(nodeInfo.operations) : null,
212
+ apiMethods: nodeInfo.apiMethods ? JSON.stringify(nodeInfo.apiMethods) : null,
213
+ documentationExamples: nodeInfo.documentationExamples ? JSON.stringify(nodeInfo.documentationExamples) : null,
214
+ templates: nodeInfo.templates ? JSON.stringify(nodeInfo.templates) : null,
215
+ relatedResources: nodeInfo.relatedResources ? JSON.stringify(nodeInfo.relatedResources) : null,
216
+ requiredScopes: nodeInfo.requiredScopes ? JSON.stringify(nodeInfo.requiredScopes) : null,
217
+ exampleWorkflow: nodeInfo.exampleWorkflow ? JSON.stringify(nodeInfo.exampleWorkflow) : null,
218
+ exampleParameters: nodeInfo.exampleParameters ? JSON.stringify(nodeInfo.exampleParameters) : null,
219
+ propertiesSchema: nodeInfo.propertiesSchema ? JSON.stringify(nodeInfo.propertiesSchema) : null,
220
+ packageName: nodeInfo.packageName,
221
+ version: nodeInfo.version || null,
222
+ codexData: nodeInfo.codexData ? JSON.stringify(nodeInfo.codexData) : null,
223
+ aliases: nodeInfo.aliases ? JSON.stringify(nodeInfo.aliases) : null,
224
+ hasCredentials: nodeInfo.hasCredentials ? 1 : 0,
225
+ isTrigger: nodeInfo.isTrigger ? 1 : 0,
226
+ isWebhook: nodeInfo.isWebhook ? 1 : 0
227
+ });
228
+ }
229
+ async getNodeInfo(nodeType) {
230
+ await this.ensureInitialized();
231
+ const stmt = this.db.prepare(`
232
+ SELECT * FROM nodes WHERE node_type = ? OR name = ? COLLATE NOCASE
233
+ `);
234
+ const row = stmt.get(nodeType, nodeType);
235
+ if (!row)
236
+ return null;
237
+ return this.rowToNodeInfo(row);
238
+ }
239
+ async searchNodes(options) {
240
+ await this.ensureInitialized();
241
+ let query = 'SELECT * FROM nodes WHERE 1=1';
242
+ const params = {};
243
+ if (options.query) {
244
+ query += ` AND id IN (
245
+ SELECT rowid FROM nodes_fts
246
+ WHERE nodes_fts MATCH @query
247
+ )`;
248
+ params.query = options.query;
249
+ }
250
+ if (options.nodeType) {
251
+ query += ' AND node_type LIKE @nodeType';
252
+ params.nodeType = `%${options.nodeType}%`;
253
+ }
254
+ if (options.packageName) {
255
+ query += ' AND package_name = @packageName';
256
+ params.packageName = options.packageName;
257
+ }
258
+ if (options.category) {
259
+ query += ' AND category = @category';
260
+ params.category = options.category;
261
+ }
262
+ if (options.hasCredentials !== undefined) {
263
+ query += ' AND has_credentials = @hasCredentials';
264
+ params.hasCredentials = options.hasCredentials ? 1 : 0;
265
+ }
266
+ if (options.isTrigger !== undefined) {
267
+ query += ' AND is_trigger = @isTrigger';
268
+ params.isTrigger = options.isTrigger ? 1 : 0;
269
+ }
270
+ query += ' ORDER BY name LIMIT @limit';
271
+ params.limit = options.limit || 20;
272
+ const stmt = this.db.prepare(query);
273
+ const rows = stmt.all(params);
274
+ return rows.map(row => this.rowToNodeInfo(row));
275
+ }
276
+ async listNodes() {
277
+ await this.ensureInitialized();
278
+ const stmt = this.db.prepare('SELECT * FROM nodes ORDER BY name');
279
+ const rows = stmt.all();
280
+ return rows.map(row => this.rowToNodeInfo(row));
281
+ }
282
+ async rebuildDatabase() {
283
+ await this.ensureInitialized();
284
+ logger_1.logger.info('Starting complete database rebuild...');
285
+ this.db.exec('DELETE FROM nodes');
286
+ this.db.exec('DELETE FROM extraction_stats');
287
+ await this.docsFetcher.ensureDocsRepository();
288
+ const stats = {
289
+ total: 0,
290
+ successful: 0,
291
+ failed: 0,
292
+ errors: []
293
+ };
294
+ try {
295
+ const availableNodes = await this.extractor.listAvailableNodes();
296
+ stats.total = availableNodes.length;
297
+ logger_1.logger.info(`Found ${stats.total} nodes to process`);
298
+ const batchSize = 10;
299
+ for (let i = 0; i < availableNodes.length; i += batchSize) {
300
+ const batch = availableNodes.slice(i, i + batchSize);
301
+ await Promise.all(batch.map(async (node) => {
302
+ try {
303
+ const nodeType = `n8n-nodes-base.${node.name}`;
304
+ const nodeData = await this.extractor.extractNodeSource(nodeType);
305
+ if (!nodeData || !nodeData.sourceCode) {
306
+ throw new Error('Failed to extract node source');
307
+ }
308
+ const nodeDefinition = this.parseNodeDefinition(nodeData.sourceCode);
309
+ const enhancedDocs = await this.docsFetcher.getEnhancedNodeDocumentation(nodeType);
310
+ const example = example_generator_1.ExampleGenerator.generateFromNodeDefinition(nodeDefinition);
311
+ const nodeInfo = {
312
+ nodeType: nodeType,
313
+ name: node.name,
314
+ displayName: nodeDefinition.displayName || node.displayName || node.name,
315
+ description: nodeDefinition.description || node.description || '',
316
+ category: nodeDefinition.category || 'Other',
317
+ subcategory: nodeDefinition.subcategory,
318
+ icon: nodeDefinition.icon,
319
+ sourceCode: nodeData.sourceCode,
320
+ credentialCode: nodeData.credentialCode,
321
+ documentationMarkdown: enhancedDocs?.markdown,
322
+ documentationUrl: enhancedDocs?.url,
323
+ documentationTitle: enhancedDocs?.title,
324
+ operations: enhancedDocs?.operations,
325
+ apiMethods: enhancedDocs?.apiMethods,
326
+ documentationExamples: enhancedDocs?.examples,
327
+ templates: enhancedDocs?.templates,
328
+ relatedResources: enhancedDocs?.relatedResources,
329
+ requiredScopes: enhancedDocs?.requiredScopes,
330
+ exampleWorkflow: example,
331
+ exampleParameters: example.nodes[0]?.parameters,
332
+ propertiesSchema: nodeDefinition.properties,
333
+ packageName: nodeData.packageInfo?.name || 'n8n-nodes-base',
334
+ version: nodeDefinition.version,
335
+ codexData: nodeDefinition.codex,
336
+ aliases: nodeDefinition.alias,
337
+ hasCredentials: !!nodeData.credentialCode,
338
+ isTrigger: node.name.toLowerCase().includes('trigger'),
339
+ isWebhook: node.name.toLowerCase().includes('webhook')
340
+ };
341
+ await this.storeNode(nodeInfo);
342
+ stats.successful++;
343
+ logger_1.logger.debug(`Processed node: ${nodeType}`);
344
+ }
345
+ catch (error) {
346
+ stats.failed++;
347
+ const errorMsg = `Failed to process ${node.name}: ${error instanceof Error ? error.message : String(error)}`;
348
+ stats.errors.push(errorMsg);
349
+ logger_1.logger.error(errorMsg);
350
+ }
351
+ }));
352
+ logger_1.logger.info(`Progress: ${Math.min(i + batchSize, availableNodes.length)}/${stats.total} nodes processed`);
353
+ }
354
+ this.storeStatistics(stats);
355
+ logger_1.logger.info(`Database rebuild complete: ${stats.successful} successful, ${stats.failed} failed`);
356
+ }
357
+ catch (error) {
358
+ logger_1.logger.error('Database rebuild failed:', error);
359
+ throw error;
360
+ }
361
+ return stats;
362
+ }
363
+ parseNodeDefinition(sourceCode) {
364
+ const result = {
365
+ displayName: '',
366
+ description: '',
367
+ properties: [],
368
+ category: null,
369
+ subcategory: null,
370
+ icon: null,
371
+ version: null,
372
+ codex: null,
373
+ alias: null
374
+ };
375
+ try {
376
+ const displayNameMatch = sourceCode.match(/displayName\s*[:=]\s*['"`]([^'"`]+)['"`]/);
377
+ if (displayNameMatch) {
378
+ result.displayName = displayNameMatch[1];
379
+ }
380
+ const descriptionMatch = sourceCode.match(/description\s*[:=]\s*['"`]([^'"`]+)['"`]/);
381
+ if (descriptionMatch) {
382
+ result.description = descriptionMatch[1];
383
+ }
384
+ const iconMatch = sourceCode.match(/icon\s*[:=]\s*['"`]([^'"`]+)['"`]/);
385
+ if (iconMatch) {
386
+ result.icon = iconMatch[1];
387
+ }
388
+ const groupMatch = sourceCode.match(/group\s*[:=]\s*\[['"`]([^'"`]+)['"`]\]/);
389
+ if (groupMatch) {
390
+ result.category = groupMatch[1];
391
+ }
392
+ const versionMatch = sourceCode.match(/version\s*[:=]\s*(\d+)/);
393
+ if (versionMatch) {
394
+ result.version = parseInt(versionMatch[1]);
395
+ }
396
+ const subtitleMatch = sourceCode.match(/subtitle\s*[:=]\s*['"`]([^'"`]+)['"`]/);
397
+ if (subtitleMatch) {
398
+ result.subtitle = subtitleMatch[1];
399
+ }
400
+ const propsMatch = sourceCode.match(/properties\s*[:=]\s*(\[[\s\S]*?\])\s*[,}]/);
401
+ if (propsMatch) {
402
+ try {
403
+ result.properties = [];
404
+ }
405
+ catch (e) {
406
+ }
407
+ }
408
+ if (sourceCode.includes('implements.*ITrigger') ||
409
+ sourceCode.includes('polling:.*true') ||
410
+ sourceCode.includes('webhook:.*true') ||
411
+ result.displayName.toLowerCase().includes('trigger')) {
412
+ result.isTrigger = true;
413
+ }
414
+ if (sourceCode.includes('webhooks:') ||
415
+ sourceCode.includes('webhook:.*true') ||
416
+ result.displayName.toLowerCase().includes('webhook')) {
417
+ result.isWebhook = true;
418
+ }
419
+ }
420
+ catch (error) {
421
+ logger_1.logger.debug('Error parsing node definition:', error);
422
+ }
423
+ return result;
424
+ }
425
+ rowToNodeInfo(row) {
426
+ return {
427
+ nodeType: row.node_type,
428
+ name: row.name,
429
+ displayName: row.display_name,
430
+ description: row.description,
431
+ category: row.category,
432
+ subcategory: row.subcategory,
433
+ icon: row.icon,
434
+ sourceCode: row.source_code,
435
+ credentialCode: row.credential_code,
436
+ documentationMarkdown: row.documentation_markdown,
437
+ documentationUrl: row.documentation_url,
438
+ documentationTitle: row.documentation_title,
439
+ operations: row.operations ? JSON.parse(row.operations) : null,
440
+ apiMethods: row.api_methods ? JSON.parse(row.api_methods) : null,
441
+ documentationExamples: row.documentation_examples ? JSON.parse(row.documentation_examples) : null,
442
+ templates: row.templates ? JSON.parse(row.templates) : null,
443
+ relatedResources: row.related_resources ? JSON.parse(row.related_resources) : null,
444
+ requiredScopes: row.required_scopes ? JSON.parse(row.required_scopes) : null,
445
+ exampleWorkflow: row.example_workflow ? JSON.parse(row.example_workflow) : null,
446
+ exampleParameters: row.example_parameters ? JSON.parse(row.example_parameters) : null,
447
+ propertiesSchema: row.properties_schema ? JSON.parse(row.properties_schema) : null,
448
+ packageName: row.package_name,
449
+ version: row.version,
450
+ codexData: row.codex_data ? JSON.parse(row.codex_data) : null,
451
+ aliases: row.aliases ? JSON.parse(row.aliases) : null,
452
+ hasCredentials: row.has_credentials === 1,
453
+ isTrigger: row.is_trigger === 1,
454
+ isWebhook: row.is_webhook === 1
455
+ };
456
+ }
457
+ generateHash(content) {
458
+ return (0, crypto_1.createHash)('sha256').update(content).digest('hex');
459
+ }
460
+ storeStatistics(stats) {
461
+ if (!this.db)
462
+ throw new Error('Database not initialized');
463
+ const stmt = this.db.prepare(`
464
+ INSERT INTO extraction_stats (
465
+ total_nodes, nodes_with_docs, nodes_with_examples,
466
+ total_code_size, total_docs_size
467
+ ) VALUES (?, ?, ?, ?, ?)
468
+ `);
469
+ const sizeStats = this.db.prepare(`
470
+ SELECT
471
+ COUNT(*) as total,
472
+ SUM(CASE WHEN documentation_markdown IS NOT NULL THEN 1 ELSE 0 END) as with_docs,
473
+ SUM(CASE WHEN example_workflow IS NOT NULL THEN 1 ELSE 0 END) as with_examples,
474
+ SUM(code_length) as code_size,
475
+ SUM(LENGTH(documentation_markdown)) as docs_size
476
+ FROM nodes
477
+ `).get();
478
+ stmt.run(stats.successful, sizeStats?.with_docs || 0, sizeStats?.with_examples || 0, sizeStats?.code_size || 0, sizeStats?.docs_size || 0);
479
+ }
480
+ async getStatistics() {
481
+ await this.ensureInitialized();
482
+ const stats = this.db.prepare(`
483
+ SELECT
484
+ COUNT(*) as totalNodes,
485
+ COUNT(DISTINCT package_name) as totalPackages,
486
+ SUM(code_length) as totalCodeSize,
487
+ SUM(CASE WHEN documentation_markdown IS NOT NULL THEN 1 ELSE 0 END) as nodesWithDocs,
488
+ SUM(CASE WHEN example_workflow IS NOT NULL THEN 1 ELSE 0 END) as nodesWithExamples,
489
+ SUM(has_credentials) as nodesWithCredentials,
490
+ SUM(is_trigger) as triggerNodes,
491
+ SUM(is_webhook) as webhookNodes
492
+ FROM nodes
493
+ `).get();
494
+ const packages = this.db.prepare(`
495
+ SELECT package_name as package, COUNT(*) as count
496
+ FROM nodes
497
+ GROUP BY package_name
498
+ ORDER BY count DESC
499
+ `).all();
500
+ return {
501
+ totalNodes: stats?.totalNodes || 0,
502
+ totalPackages: stats?.totalPackages || 0,
503
+ totalCodeSize: stats?.totalCodeSize || 0,
504
+ nodesWithDocs: stats?.nodesWithDocs || 0,
505
+ nodesWithExamples: stats?.nodesWithExamples || 0,
506
+ nodesWithCredentials: stats?.nodesWithCredentials || 0,
507
+ triggerNodes: stats?.triggerNodes || 0,
508
+ webhookNodes: stats?.webhookNodes || 0,
509
+ packageDistribution: packages
510
+ };
511
+ }
512
+ async close() {
513
+ await this.ensureInitialized();
514
+ this.db.close();
515
+ }
516
+ }
517
+ exports.NodeDocumentationService = NodeDocumentationService;
518
+ //# sourceMappingURL=node-documentation-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-documentation-service.js","sourceRoot":"","sources":["../../src/services/node-documentation-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ValidationError, ValidationWarning } from './config-validator';
2
+ export interface NodeValidationContext {
3
+ config: Record<string, any>;
4
+ errors: ValidationError[];
5
+ warnings: ValidationWarning[];
6
+ suggestions: string[];
7
+ autofix: Record<string, any>;
8
+ }
9
+ export declare class NodeSpecificValidators {
10
+ static validateSlack(context: NodeValidationContext): void;
11
+ private static validateSlackSendMessage;
12
+ private static validateSlackUpdateMessage;
13
+ private static validateSlackDeleteMessage;
14
+ private static validateSlackCreateChannel;
15
+ static validateGoogleSheets(context: NodeValidationContext): void;
16
+ private static validateGoogleSheetsAppend;
17
+ private static validateGoogleSheetsRead;
18
+ private static validateGoogleSheetsUpdate;
19
+ private static validateGoogleSheetsDelete;
20
+ private static validateGoogleSheetsRange;
21
+ static validateOpenAI(context: NodeValidationContext): void;
22
+ static validateMongoDB(context: NodeValidationContext): void;
23
+ static validateWebhook(context: NodeValidationContext): void;
24
+ static validatePostgres(context: NodeValidationContext): void;
25
+ static validateMySQL(context: NodeValidationContext): void;
26
+ private static validateSQLQuery;
27
+ }
28
+ //# sourceMappingURL=node-specific-validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-specific-validators.d.ts","sourceRoot":"","sources":["../../src/services/node-specific-validators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,qBAAa,sBAAsB;IAIjC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IA6C1D,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkDvC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAsBzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA4BzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA2CzC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAoCjE,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAwBzC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAkBvC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAsBzC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA4BzC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAwCxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IA+D3D,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAoE5D,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAoF5D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IA4F7D,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IA0E1D,OAAO,CAAC,MAAM,CAAC,gBAAgB;CA8EhC"}