n8n-mcp 2.21.0 โ†’ 2.22.5

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 (277) hide show
  1. package/README.md +1 -0
  2. package/data/nodes.db +0 -0
  3. package/dist/database/node-repository.d.ts +62 -0
  4. package/dist/database/node-repository.d.ts.map +1 -1
  5. package/dist/database/node-repository.js +276 -0
  6. package/dist/database/node-repository.js.map +1 -1
  7. package/dist/mcp/absolute-minimal.d.ts +4 -0
  8. package/dist/mcp/absolute-minimal.d.ts.map +1 -0
  9. package/dist/mcp/absolute-minimal.js +34 -0
  10. package/dist/mcp/absolute-minimal.js.map +1 -0
  11. package/dist/mcp/fixed-protocol.d.ts +17 -0
  12. package/dist/mcp/fixed-protocol.d.ts.map +1 -0
  13. package/dist/mcp/fixed-protocol.js +162 -0
  14. package/dist/mcp/fixed-protocol.js.map +1 -0
  15. package/dist/mcp/handlers-documentation.d.ts +18 -0
  16. package/dist/mcp/handlers-documentation.d.ts.map +1 -0
  17. package/dist/mcp/handlers-documentation.js +113 -0
  18. package/dist/mcp/handlers-documentation.js.map +1 -0
  19. package/dist/mcp/handlers-n8n-manager.d.ts +2 -1
  20. package/dist/mcp/handlers-n8n-manager.d.ts.map +1 -1
  21. package/dist/mcp/handlers-n8n-manager.js +193 -5
  22. package/dist/mcp/handlers-n8n-manager.js.map +1 -1
  23. package/dist/mcp/handlers-workflow-diff.d.ts +2 -1
  24. package/dist/mcp/handlers-workflow-diff.d.ts.map +1 -1
  25. package/dist/mcp/handlers-workflow-diff.js +30 -2
  26. package/dist/mcp/handlers-workflow-diff.js.map +1 -1
  27. package/dist/mcp/index.js +0 -0
  28. package/dist/mcp/minimal-test.d.ts +3 -0
  29. package/dist/mcp/minimal-test.d.ts.map +1 -0
  30. package/dist/mcp/minimal-test.js +83 -0
  31. package/dist/mcp/minimal-test.js.map +1 -0
  32. package/dist/mcp/server.d.ts.map +1 -1
  33. package/dist/mcp/server.js +5 -2
  34. package/dist/mcp/server.js.map +1 -1
  35. package/dist/mcp/stderr-test.d.ts +2 -0
  36. package/dist/mcp/stderr-test.d.ts.map +1 -0
  37. package/dist/mcp/stderr-test.js +32 -0
  38. package/dist/mcp/stderr-test.js.map +1 -0
  39. package/dist/mcp/tool-docs/special/code-node-guide.d.ts +3 -0
  40. package/dist/mcp/tool-docs/special/code-node-guide.d.ts.map +1 -0
  41. package/dist/mcp/tool-docs/special/code-node-guide.js +61 -0
  42. package/dist/mcp/tool-docs/special/code-node-guide.js.map +1 -0
  43. package/dist/mcp/tool-docs/special/index.d.ts +2 -0
  44. package/dist/mcp/tool-docs/special/index.d.ts.map +1 -0
  45. package/dist/mcp/tool-docs/special/index.js +6 -0
  46. package/dist/mcp/tool-docs/special/index.js.map +1 -0
  47. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts +3 -0
  48. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts.map +1 -0
  49. package/dist/mcp/tool-docs/templates/get-node-for-task.js +50 -0
  50. package/dist/mcp/tool-docs/templates/get-node-for-task.js.map +1 -0
  51. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.d.ts.map +1 -1
  52. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js +47 -11
  53. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js.map +1 -1
  54. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map +1 -1
  55. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +6 -0
  56. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map +1 -1
  57. package/dist/mcp/tools-documentation-new.d.ts +6 -0
  58. package/dist/mcp/tools-documentation-new.d.ts.map +1 -0
  59. package/dist/mcp/tools-documentation-new.js +163 -0
  60. package/dist/mcp/tools-documentation-new.js.map +1 -0
  61. package/dist/mcp/tools-n8n-manager.d.ts.map +1 -1
  62. package/dist/mcp/tools-n8n-manager.js +55 -1
  63. package/dist/mcp/tools-n8n-manager.js.map +1 -1
  64. package/dist/mcp/ultra-minimal.d.ts +8 -0
  65. package/dist/mcp/ultra-minimal.d.ts.map +1 -0
  66. package/dist/mcp/ultra-minimal.js +93 -0
  67. package/dist/mcp/ultra-minimal.js.map +1 -0
  68. package/dist/mcp/working-test.d.ts +3 -0
  69. package/dist/mcp/working-test.d.ts.map +1 -0
  70. package/dist/mcp/working-test.js +48 -0
  71. package/dist/mcp/working-test.js.map +1 -0
  72. package/dist/mcp/wrapper.sh +28 -0
  73. package/dist/scripts/debug-n8n-auth.d.ts +3 -0
  74. package/dist/scripts/debug-n8n-auth.d.ts.map +1 -0
  75. package/dist/scripts/debug-n8n-auth.js +97 -0
  76. package/dist/scripts/debug-n8n-auth.js.map +1 -0
  77. package/dist/scripts/debug-node.d.ts +3 -0
  78. package/dist/scripts/debug-node.d.ts.map +1 -0
  79. package/dist/scripts/debug-node.js +59 -0
  80. package/dist/scripts/debug-node.js.map +1 -0
  81. package/dist/scripts/generate-metadata-only.d.ts +3 -0
  82. package/dist/scripts/generate-metadata-only.d.ts.map +1 -0
  83. package/dist/scripts/generate-metadata-only.js +146 -0
  84. package/dist/scripts/generate-metadata-only.js.map +1 -0
  85. package/dist/scripts/generate-metadata-sync.d.ts +3 -0
  86. package/dist/scripts/generate-metadata-sync.d.ts.map +1 -0
  87. package/dist/scripts/generate-metadata-sync.js +136 -0
  88. package/dist/scripts/generate-metadata-sync.js.map +1 -0
  89. package/dist/scripts/test-ai-workflow-validation.d.ts +3 -0
  90. package/dist/scripts/test-ai-workflow-validation.d.ts.map +1 -0
  91. package/dist/scripts/test-ai-workflow-validation.js +191 -0
  92. package/dist/scripts/test-ai-workflow-validation.js.map +1 -0
  93. package/dist/scripts/test-api-headers.d.ts +3 -0
  94. package/dist/scripts/test-api-headers.d.ts.map +1 -0
  95. package/dist/scripts/test-api-headers.js +35 -0
  96. package/dist/scripts/test-api-headers.js.map +1 -0
  97. package/dist/scripts/test-autofix-workflow.js +3 -3
  98. package/dist/scripts/test-autofix-workflow.js.map +1 -1
  99. package/dist/scripts/test-batch-processing.d.ts +3 -0
  100. package/dist/scripts/test-batch-processing.d.ts.map +1 -0
  101. package/dist/scripts/test-batch-processing.js +144 -0
  102. package/dist/scripts/test-batch-processing.js.map +1 -0
  103. package/dist/scripts/test-docker-config-simulation.d.ts +3 -0
  104. package/dist/scripts/test-docker-config-simulation.d.ts.map +1 -0
  105. package/dist/scripts/test-docker-config-simulation.js +74 -0
  106. package/dist/scripts/test-docker-config-simulation.js.map +1 -0
  107. package/dist/scripts/test-enhanced-validation.d.ts +3 -0
  108. package/dist/scripts/test-enhanced-validation.d.ts.map +1 -0
  109. package/dist/scripts/test-enhanced-validation.js +117 -0
  110. package/dist/scripts/test-enhanced-validation.js.map +1 -0
  111. package/dist/scripts/test-error-handling-validation.d.ts +3 -0
  112. package/dist/scripts/test-error-handling-validation.d.ts.map +1 -0
  113. package/dist/scripts/test-error-handling-validation.js +340 -0
  114. package/dist/scripts/test-error-handling-validation.js.map +1 -0
  115. package/dist/scripts/test-issue-45-fix.d.ts +3 -0
  116. package/dist/scripts/test-issue-45-fix.d.ts.map +1 -0
  117. package/dist/scripts/test-issue-45-fix.js +136 -0
  118. package/dist/scripts/test-issue-45-fix.js.map +1 -0
  119. package/dist/scripts/test-issue-74.d.ts +3 -0
  120. package/dist/scripts/test-issue-74.d.ts.map +1 -0
  121. package/dist/scripts/test-issue-74.js +112 -0
  122. package/dist/scripts/test-issue-74.js.map +1 -0
  123. package/dist/scripts/test-lazy-config.d.ts +3 -0
  124. package/dist/scripts/test-lazy-config.d.ts.map +1 -0
  125. package/dist/scripts/test-lazy-config.js +60 -0
  126. package/dist/scripts/test-lazy-config.js.map +1 -0
  127. package/dist/scripts/test-limited-results.d.ts +3 -0
  128. package/dist/scripts/test-limited-results.d.ts.map +1 -0
  129. package/dist/scripts/test-limited-results.js +76 -0
  130. package/dist/scripts/test-limited-results.js.map +1 -0
  131. package/dist/scripts/test-mcp-n8n-update-partial.d.ts +3 -0
  132. package/dist/scripts/test-mcp-n8n-update-partial.d.ts.map +1 -0
  133. package/dist/scripts/test-mcp-n8n-update-partial.js +138 -0
  134. package/dist/scripts/test-mcp-n8n-update-partial.js.map +1 -0
  135. package/dist/scripts/test-mcp-tools.d.ts +3 -0
  136. package/dist/scripts/test-mcp-tools.d.ts.map +1 -0
  137. package/dist/scripts/test-mcp-tools.js +36 -0
  138. package/dist/scripts/test-mcp-tools.js.map +1 -0
  139. package/dist/scripts/test-metadata-generation.d.ts +3 -0
  140. package/dist/scripts/test-metadata-generation.d.ts.map +1 -0
  141. package/dist/scripts/test-metadata-generation.js +96 -0
  142. package/dist/scripts/test-metadata-generation.js.map +1 -0
  143. package/dist/scripts/test-n8n-manager-integration.d.ts +3 -0
  144. package/dist/scripts/test-n8n-manager-integration.d.ts.map +1 -0
  145. package/dist/scripts/test-n8n-manager-integration.js +122 -0
  146. package/dist/scripts/test-n8n-manager-integration.js.map +1 -0
  147. package/dist/scripts/test-n8n-validate-workflow.d.ts +3 -0
  148. package/dist/scripts/test-n8n-validate-workflow.d.ts.map +1 -0
  149. package/dist/scripts/test-n8n-validate-workflow.js +125 -0
  150. package/dist/scripts/test-n8n-validate-workflow.js.map +1 -0
  151. package/dist/scripts/test-node-level-properties.d.ts +3 -0
  152. package/dist/scripts/test-node-level-properties.d.ts.map +1 -0
  153. package/dist/scripts/test-node-level-properties.js +196 -0
  154. package/dist/scripts/test-node-level-properties.js.map +1 -0
  155. package/dist/scripts/test-node-suggestions.js +1 -1
  156. package/dist/scripts/test-node-suggestions.js.map +1 -1
  157. package/dist/scripts/test-nodes.d.ts +3 -0
  158. package/dist/scripts/test-nodes.d.ts.map +1 -0
  159. package/dist/scripts/test-nodes.js +91 -0
  160. package/dist/scripts/test-nodes.js.map +1 -0
  161. package/dist/scripts/test-single-workflow.d.ts +3 -0
  162. package/dist/scripts/test-single-workflow.d.ts.map +1 -0
  163. package/dist/scripts/test-single-workflow.js +112 -0
  164. package/dist/scripts/test-single-workflow.js.map +1 -0
  165. package/dist/scripts/test-template-validation.d.ts +3 -0
  166. package/dist/scripts/test-template-validation.d.ts.map +1 -0
  167. package/dist/scripts/test-template-validation.js +142 -0
  168. package/dist/scripts/test-template-validation.js.map +1 -0
  169. package/dist/scripts/test-templates.d.ts +4 -0
  170. package/dist/scripts/test-templates.d.ts.map +1 -0
  171. package/dist/scripts/test-templates.js +99 -0
  172. package/dist/scripts/test-templates.js.map +1 -0
  173. package/dist/scripts/test-tools-documentation.d.ts +2 -0
  174. package/dist/scripts/test-tools-documentation.d.ts.map +1 -0
  175. package/dist/scripts/test-tools-documentation.js +41 -0
  176. package/dist/scripts/test-tools-documentation.js.map +1 -0
  177. package/dist/scripts/test-transactional-diff.d.ts +2 -0
  178. package/dist/scripts/test-transactional-diff.d.ts.map +1 -0
  179. package/dist/scripts/test-transactional-diff.js +240 -0
  180. package/dist/scripts/test-transactional-diff.js.map +1 -0
  181. package/dist/scripts/test-update-partial-debug.d.ts +3 -0
  182. package/dist/scripts/test-update-partial-debug.d.ts.map +1 -0
  183. package/dist/scripts/test-update-partial-debug.js +92 -0
  184. package/dist/scripts/test-update-partial-debug.js.map +1 -0
  185. package/dist/scripts/test-updatenode-null-fix.d.ts +3 -0
  186. package/dist/scripts/test-updatenode-null-fix.d.ts.map +1 -0
  187. package/dist/scripts/test-updatenode-null-fix.js +156 -0
  188. package/dist/scripts/test-updatenode-null-fix.js.map +1 -0
  189. package/dist/scripts/test-validation-parity.d.ts +2 -0
  190. package/dist/scripts/test-validation-parity.d.ts.map +1 -0
  191. package/dist/scripts/test-validation-parity.js +153 -0
  192. package/dist/scripts/test-validation-parity.js.map +1 -0
  193. package/dist/scripts/test-version-extraction.d.ts +2 -0
  194. package/dist/scripts/test-version-extraction.d.ts.map +1 -0
  195. package/dist/scripts/test-version-extraction.js +74 -0
  196. package/dist/scripts/test-version-extraction.js.map +1 -0
  197. package/dist/scripts/test-webhook-autofix.js +1 -1
  198. package/dist/scripts/test-webhook-autofix.js.map +1 -1
  199. package/dist/scripts/test-workflow-diff.d.ts +3 -0
  200. package/dist/scripts/test-workflow-diff.d.ts.map +1 -0
  201. package/dist/scripts/test-workflow-diff.js +328 -0
  202. package/dist/scripts/test-workflow-diff.js.map +1 -0
  203. package/dist/scripts/test-workflow-validation.d.ts +3 -0
  204. package/dist/scripts/test-workflow-validation.d.ts.map +1 -0
  205. package/dist/scripts/test-workflow-validation.js +238 -0
  206. package/dist/scripts/test-workflow-validation.js.map +1 -0
  207. package/dist/services/breaking-change-detector.d.ts +38 -0
  208. package/dist/services/breaking-change-detector.d.ts.map +1 -0
  209. package/dist/services/breaking-change-detector.js +184 -0
  210. package/dist/services/breaking-change-detector.js.map +1 -0
  211. package/dist/services/breaking-changes-registry.d.ts +28 -0
  212. package/dist/services/breaking-changes-registry.d.ts.map +1 -0
  213. package/dist/services/breaking-changes-registry.js +200 -0
  214. package/dist/services/breaking-changes-registry.js.map +1 -0
  215. package/dist/services/enhanced-config-validator.d.ts.map +1 -1
  216. package/dist/services/enhanced-config-validator.js +32 -0
  217. package/dist/services/enhanced-config-validator.js.map +1 -1
  218. package/dist/services/n8n-api-client.d.ts +1 -0
  219. package/dist/services/n8n-api-client.d.ts.map +1 -1
  220. package/dist/services/n8n-api-client.js +26 -4
  221. package/dist/services/n8n-api-client.js.map +1 -1
  222. package/dist/services/n8n-validation.d.ts +144 -6
  223. package/dist/services/n8n-validation.d.ts.map +1 -1
  224. package/dist/services/n8n-validation.js +12 -5
  225. package/dist/services/n8n-validation.js.map +1 -1
  226. package/dist/services/node-migration-service.d.ts +44 -0
  227. package/dist/services/node-migration-service.d.ts.map +1 -0
  228. package/dist/services/node-migration-service.js +231 -0
  229. package/dist/services/node-migration-service.js.map +1 -0
  230. package/dist/services/node-version-service.d.ts +63 -0
  231. package/dist/services/node-version-service.d.ts.map +1 -0
  232. package/dist/services/node-version-service.js +215 -0
  233. package/dist/services/node-version-service.js.map +1 -0
  234. package/dist/services/post-update-validator.d.ts +59 -0
  235. package/dist/services/post-update-validator.d.ts.map +1 -0
  236. package/dist/services/post-update-validator.js +231 -0
  237. package/dist/services/post-update-validator.js.map +1 -0
  238. package/dist/services/workflow-auto-fixer.d.ts +10 -2
  239. package/dist/services/workflow-auto-fixer.d.ts.map +1 -1
  240. package/dist/services/workflow-auto-fixer.js +124 -3
  241. package/dist/services/workflow-auto-fixer.js.map +1 -1
  242. package/dist/services/workflow-diff-engine.d.ts +1 -0
  243. package/dist/services/workflow-diff-engine.d.ts.map +1 -1
  244. package/dist/services/workflow-diff-engine.js +23 -1
  245. package/dist/services/workflow-diff-engine.js.map +1 -1
  246. package/dist/services/workflow-ownership.d.ts +35 -0
  247. package/dist/services/workflow-ownership.d.ts.map +1 -0
  248. package/dist/services/workflow-ownership.js +195 -0
  249. package/dist/services/workflow-ownership.js.map +1 -0
  250. package/dist/services/workflow-versioning-service.d.ts +102 -0
  251. package/dist/services/workflow-versioning-service.d.ts.map +1 -0
  252. package/dist/services/workflow-versioning-service.js +264 -0
  253. package/dist/services/workflow-versioning-service.js.map +1 -0
  254. package/dist/sse-server.d.ts +8 -0
  255. package/dist/sse-server.d.ts.map +1 -0
  256. package/dist/sse-server.js +652 -0
  257. package/dist/sse-server.js.map +1 -0
  258. package/dist/types/session-restoration.d.ts +25 -0
  259. package/dist/types/session-restoration.d.ts.map +1 -0
  260. package/dist/types/session-restoration.js +3 -0
  261. package/dist/types/session-restoration.js.map +1 -0
  262. package/dist/types/sse.d.ts +42 -0
  263. package/dist/types/sse.d.ts.map +1 -0
  264. package/dist/types/sse.js +3 -0
  265. package/dist/types/sse.js.map +1 -0
  266. package/dist/types/workflow-diff.d.ts +1 -0
  267. package/dist/types/workflow-diff.d.ts.map +1 -1
  268. package/dist/types/workflow-diff.js.map +1 -1
  269. package/dist/utils/sse-session-manager.d.ts +23 -0
  270. package/dist/utils/sse-session-manager.d.ts.map +1 -0
  271. package/dist/utils/sse-session-manager.js +178 -0
  272. package/dist/utils/sse-session-manager.js.map +1 -0
  273. package/dist/utils/version-utils.d.ts +16 -0
  274. package/dist/utils/version-utils.d.ts.map +1 -0
  275. package/dist/utils/version-utils.js +129 -0
  276. package/dist/utils/version-utils.js.map +1 -0
  277. package/package.json +1 -10
@@ -0,0 +1,122 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const dotenv_1 = require("dotenv");
5
+ const logger_1 = require("../utils/logger");
6
+ const n8n_api_1 = require("../config/n8n-api");
7
+ const handlers_n8n_manager_1 = require("../mcp/handlers-n8n-manager");
8
+ (0, dotenv_1.config)();
9
+ async function testN8nManagerIntegration() {
10
+ logger_1.logger.info('Testing n8n Manager Integration...');
11
+ if (!(0, n8n_api_1.isN8nApiConfigured)()) {
12
+ logger_1.logger.warn('n8n API not configured. Set N8N_API_URL and N8N_API_KEY to test.');
13
+ logger_1.logger.info('Example:');
14
+ logger_1.logger.info(' N8N_API_URL=https://your-n8n.com N8N_API_KEY=your-key npm run test:n8n-manager');
15
+ return;
16
+ }
17
+ const apiConfig = (0, n8n_api_1.getN8nApiConfig)();
18
+ logger_1.logger.info('n8n API Configuration:', {
19
+ url: apiConfig.baseUrl,
20
+ timeout: apiConfig.timeout,
21
+ maxRetries: apiConfig.maxRetries
22
+ });
23
+ const client = (0, handlers_n8n_manager_1.getN8nApiClient)();
24
+ if (!client) {
25
+ logger_1.logger.error('Failed to create n8n API client');
26
+ return;
27
+ }
28
+ try {
29
+ logger_1.logger.info('\n=== Test 1: Health Check ===');
30
+ const health = await client.healthCheck();
31
+ logger_1.logger.info('Health check passed:', health);
32
+ logger_1.logger.info('\n=== Test 2: List Workflows ===');
33
+ const workflows = await client.listWorkflows({ limit: 5 });
34
+ logger_1.logger.info(`Found ${workflows.data.length} workflows`);
35
+ workflows.data.forEach(wf => {
36
+ logger_1.logger.info(`- ${wf.name} (ID: ${wf.id}, Active: ${wf.active})`);
37
+ });
38
+ logger_1.logger.info('\n=== Test 3: Create Test Workflow ===');
39
+ const testWorkflow = {
40
+ name: `Test Workflow - MCP Integration ${Date.now()}`,
41
+ nodes: [
42
+ {
43
+ id: '1',
44
+ name: 'Start',
45
+ type: 'n8n-nodes-base.start',
46
+ typeVersion: 1,
47
+ position: [250, 300],
48
+ parameters: {}
49
+ },
50
+ {
51
+ id: '2',
52
+ name: 'Set',
53
+ type: 'n8n-nodes-base.set',
54
+ typeVersion: 1,
55
+ position: [450, 300],
56
+ parameters: {
57
+ values: {
58
+ string: [
59
+ {
60
+ name: 'message',
61
+ value: 'Hello from MCP!'
62
+ }
63
+ ]
64
+ }
65
+ }
66
+ }
67
+ ],
68
+ connections: {
69
+ '1': {
70
+ main: [[{ node: '2', type: 'main', index: 0 }]]
71
+ }
72
+ },
73
+ settings: {
74
+ executionOrder: 'v1',
75
+ saveDataErrorExecution: 'all',
76
+ saveDataSuccessExecution: 'all',
77
+ saveManualExecutions: true,
78
+ saveExecutionProgress: true
79
+ }
80
+ };
81
+ const createdWorkflow = await client.createWorkflow(testWorkflow);
82
+ logger_1.logger.info('Created workflow:', {
83
+ id: createdWorkflow.id,
84
+ name: createdWorkflow.name,
85
+ active: createdWorkflow.active
86
+ });
87
+ logger_1.logger.info('\n=== Test 4: Get Workflow Details ===');
88
+ const workflowDetails = await client.getWorkflow(createdWorkflow.id);
89
+ logger_1.logger.info('Retrieved workflow:', {
90
+ id: workflowDetails.id,
91
+ name: workflowDetails.name,
92
+ nodeCount: workflowDetails.nodes.length
93
+ });
94
+ logger_1.logger.info('\n=== Test 5: Update Workflow ===');
95
+ const updatedWorkflow = await client.updateWorkflow(createdWorkflow.id, {
96
+ name: `${createdWorkflow.name} - Updated`,
97
+ nodes: workflowDetails.nodes,
98
+ connections: workflowDetails.connections,
99
+ settings: workflowDetails.settings
100
+ });
101
+ logger_1.logger.info('Updated workflow name:', updatedWorkflow.name);
102
+ logger_1.logger.info('\n=== Test 6: List Recent Executions ===');
103
+ const executions = await client.listExecutions({ limit: 5 });
104
+ logger_1.logger.info(`Found ${executions.data.length} recent executions`);
105
+ executions.data.forEach(exec => {
106
+ logger_1.logger.info(`- Workflow: ${exec.workflowName || exec.workflowId}, Status: ${exec.status}, Started: ${exec.startedAt}`);
107
+ });
108
+ logger_1.logger.info('\n=== Test 7: Cleanup ===');
109
+ await client.deleteWorkflow(createdWorkflow.id);
110
+ logger_1.logger.info('Deleted test workflow');
111
+ logger_1.logger.info('\nโœ… All tests passed successfully!');
112
+ }
113
+ catch (error) {
114
+ logger_1.logger.error('Test failed:', error);
115
+ process.exit(1);
116
+ }
117
+ }
118
+ testN8nManagerIntegration().catch(error => {
119
+ logger_1.logger.error('Unhandled error:', error);
120
+ process.exit(1);
121
+ });
122
+ //# sourceMappingURL=test-n8n-manager-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-n8n-manager-integration.js","sourceRoot":"","sources":["../../src/scripts/test-n8n-manager-integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ts-node
2
+ export {};
3
+ //# sourceMappingURL=test-n8n-validate-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-n8n-validate-workflow.d.ts","sourceRoot":"","sources":["../../src/scripts/test-n8n-validate-workflow.ts"],"names":[],"mappings":""}
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/env ts-node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const dotenv_1 = require("dotenv");
38
+ const handlers_n8n_manager_1 = require("../mcp/handlers-n8n-manager");
39
+ const node_repository_1 = require("../database/node-repository");
40
+ const database_adapter_1 = require("../database/database-adapter");
41
+ const logger_1 = require("../utils/logger");
42
+ const path = __importStar(require("path"));
43
+ (0, dotenv_1.config)();
44
+ const logger = new logger_1.Logger({ prefix: '[TestN8nValidateWorkflow]' });
45
+ async function testN8nValidateWorkflow() {
46
+ try {
47
+ if (!process.env.N8N_API_URL || !process.env.N8N_API_KEY) {
48
+ logger.error('N8N_API_URL and N8N_API_KEY must be set in environment variables');
49
+ process.exit(1);
50
+ }
51
+ logger.info('n8n API Configuration:', {
52
+ url: process.env.N8N_API_URL,
53
+ hasApiKey: !!process.env.N8N_API_KEY
54
+ });
55
+ const dbPath = path.join(process.cwd(), 'data', 'nodes.db');
56
+ const db = await (0, database_adapter_1.createDatabaseAdapter)(dbPath);
57
+ const repository = new node_repository_1.NodeRepository(db);
58
+ const testCases = [
59
+ {
60
+ name: 'Validate existing workflow with all options',
61
+ args: {
62
+ id: '1',
63
+ options: {
64
+ validateNodes: true,
65
+ validateConnections: true,
66
+ validateExpressions: true,
67
+ profile: 'runtime'
68
+ }
69
+ }
70
+ },
71
+ {
72
+ name: 'Validate with minimal profile',
73
+ args: {
74
+ id: '1',
75
+ options: {
76
+ profile: 'minimal'
77
+ }
78
+ }
79
+ },
80
+ {
81
+ name: 'Validate connections only',
82
+ args: {
83
+ id: '1',
84
+ options: {
85
+ validateNodes: false,
86
+ validateConnections: true,
87
+ validateExpressions: false
88
+ }
89
+ }
90
+ }
91
+ ];
92
+ for (const testCase of testCases) {
93
+ logger.info(`\nRunning test: ${testCase.name}`);
94
+ logger.info('Input:', JSON.stringify(testCase.args, null, 2));
95
+ try {
96
+ const result = await (0, handlers_n8n_manager_1.handleValidateWorkflow)(testCase.args, repository);
97
+ if (result.success) {
98
+ logger.info('โœ… Validation completed successfully');
99
+ logger.info('Result:', JSON.stringify(result.data, null, 2));
100
+ }
101
+ else {
102
+ logger.error('โŒ Validation failed');
103
+ logger.error('Error:', result.error);
104
+ if (result.details) {
105
+ logger.error('Details:', JSON.stringify(result.details, null, 2));
106
+ }
107
+ }
108
+ }
109
+ catch (error) {
110
+ logger.error('โŒ Test case failed with exception:', error);
111
+ }
112
+ logger.info('-'.repeat(80));
113
+ }
114
+ logger.info('\nโœ… All tests completed');
115
+ }
116
+ catch (error) {
117
+ logger.error('Test script failed:', error);
118
+ process.exit(1);
119
+ }
120
+ }
121
+ testN8nValidateWorkflow().catch(error => {
122
+ logger.error('Unhandled error:', error);
123
+ process.exit(1);
124
+ });
125
+ //# sourceMappingURL=test-n8n-validate-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-n8n-validate-workflow.js","sourceRoot":"","sources":["../../src/scripts/test-n8n-validate-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=test-node-level-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-node-level-properties.d.ts","sourceRoot":"","sources":["../../src/scripts/test-node-level-properties.ts"],"names":[],"mappings":""}
@@ -0,0 +1,196 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const database_adapter_js_1 = require("../database/database-adapter.js");
38
+ const node_repository_js_1 = require("../database/node-repository.js");
39
+ const workflow_validator_js_1 = require("../services/workflow-validator.js");
40
+ const workflow_diff_engine_js_1 = require("../services/workflow-diff-engine.js");
41
+ const path_1 = require("path");
42
+ async function main() {
43
+ console.log('๐Ÿ” Testing Node-Level Properties Configuration\n');
44
+ const dbPath = (0, path_1.join)(process.cwd(), 'nodes.db');
45
+ const dbAdapter = await (0, database_adapter_js_1.createDatabaseAdapter)(dbPath);
46
+ const nodeRepository = new node_repository_js_1.NodeRepository(dbAdapter);
47
+ const EnhancedConfigValidator = (await Promise.resolve().then(() => __importStar(require('../services/enhanced-config-validator.js')))).EnhancedConfigValidator;
48
+ const validator = new workflow_validator_js_1.WorkflowValidator(nodeRepository, EnhancedConfigValidator);
49
+ const diffEngine = new workflow_diff_engine_js_1.WorkflowDiffEngine();
50
+ console.log('1๏ธโƒฃ Complete Node Configuration Example:');
51
+ const completeNode = {
52
+ id: 'node_1',
53
+ name: 'Database Query',
54
+ type: 'n8n-nodes-base.postgres',
55
+ typeVersion: 2.6,
56
+ position: [450, 300],
57
+ parameters: {
58
+ operation: 'executeQuery',
59
+ query: 'SELECT * FROM users WHERE active = true'
60
+ },
61
+ credentials: {
62
+ postgres: {
63
+ id: 'cred_123',
64
+ name: 'Production Database'
65
+ }
66
+ },
67
+ disabled: false,
68
+ notes: 'This node queries active users from the production database',
69
+ notesInFlow: true,
70
+ executeOnce: true,
71
+ onError: 'continueErrorOutput',
72
+ retryOnFail: true,
73
+ maxTries: 3,
74
+ waitBetweenTries: 2000,
75
+ alwaysOutputData: true
76
+ };
77
+ console.log(JSON.stringify(completeNode, null, 2));
78
+ console.log('\nโœ… All properties are at the correct level!\n');
79
+ console.log('2๏ธโƒฃ Complete Workflow Example:');
80
+ const workflow = {
81
+ name: 'Production Data Processing',
82
+ nodes: [
83
+ {
84
+ id: 'trigger_1',
85
+ name: 'Every Hour',
86
+ type: 'n8n-nodes-base.scheduleTrigger',
87
+ typeVersion: 1.2,
88
+ position: [250, 300],
89
+ parameters: {
90
+ rule: { interval: [{ field: 'hours', hoursInterval: 1 }] }
91
+ },
92
+ notes: 'Runs every hour to check for new data',
93
+ notesInFlow: true
94
+ },
95
+ completeNode,
96
+ {
97
+ id: 'error_handler',
98
+ name: 'Error Notification',
99
+ type: 'n8n-nodes-base.slack',
100
+ typeVersion: 2.3,
101
+ position: [650, 450],
102
+ parameters: {
103
+ resource: 'message',
104
+ operation: 'post',
105
+ channel: '#alerts',
106
+ text: 'Database query failed!'
107
+ },
108
+ credentials: {
109
+ slackApi: {
110
+ id: 'cred_456',
111
+ name: 'Alert Slack'
112
+ }
113
+ },
114
+ executeOnce: true,
115
+ onError: 'continueRegularOutput'
116
+ }
117
+ ],
118
+ connections: {
119
+ 'Every Hour': {
120
+ main: [[{ node: 'Database Query', type: 'main', index: 0 }]]
121
+ },
122
+ 'Database Query': {
123
+ main: [[{ node: 'Process Data', type: 'main', index: 0 }]],
124
+ error: [[{ node: 'Error Notification', type: 'main', index: 0 }]]
125
+ }
126
+ }
127
+ };
128
+ console.log('\n3๏ธโƒฃ Validating Workflow:');
129
+ const result = await validator.validateWorkflow(workflow, { profile: 'strict' });
130
+ console.log(`Valid: ${result.valid}`);
131
+ console.log(`Errors: ${result.errors.length}`);
132
+ console.log(`Warnings: ${result.warnings.length}`);
133
+ if (result.errors.length > 0) {
134
+ console.log('\nErrors:');
135
+ result.errors.forEach((err) => console.log(`- ${err.message}`));
136
+ }
137
+ console.log('\n4๏ธโƒฃ Updating Node-Level Properties with Diff Engine:');
138
+ const operations = [
139
+ {
140
+ type: 'updateNode',
141
+ nodeName: 'Database Query',
142
+ changes: {
143
+ 'parameters.query': 'SELECT * FROM users WHERE active = true AND created_at > NOW() - INTERVAL \'7 days\'',
144
+ 'onError': 'stopWorkflow',
145
+ 'executeOnce': false,
146
+ 'notes': 'Updated to only query users from last 7 days',
147
+ 'maxTries': 5,
148
+ 'disabled': false
149
+ }
150
+ }
151
+ ];
152
+ console.log('Operations:');
153
+ console.log(JSON.stringify(operations, null, 2));
154
+ console.log('\n5๏ธโƒฃ โŒ COMMON MISTAKES TO AVOID:');
155
+ const wrongNode = {
156
+ id: 'wrong_1',
157
+ name: 'Wrong Configuration',
158
+ type: 'n8n-nodes-base.httpRequest',
159
+ typeVersion: 4.2,
160
+ position: [250, 300],
161
+ parameters: {
162
+ method: 'POST',
163
+ url: 'https://api.example.com',
164
+ onError: 'continueErrorOutput',
165
+ retryOnFail: true,
166
+ executeOnce: true,
167
+ notes: 'This is wrong!',
168
+ credentials: { httpAuth: { id: '123' } }
169
+ }
170
+ };
171
+ console.log('โŒ Wrong (properties inside parameters):');
172
+ console.log(JSON.stringify(wrongNode.parameters, null, 2));
173
+ const wrongWorkflow = {
174
+ name: 'Wrong Example',
175
+ nodes: [wrongNode],
176
+ connections: {}
177
+ };
178
+ const wrongResult = await validator.validateWorkflow(wrongWorkflow);
179
+ console.log('\nValidation of wrong configuration:');
180
+ wrongResult.errors.forEach((err) => console.log(`โŒ ERROR: ${err.message}`));
181
+ console.log('\nโœ… Summary of Node-Level Properties:');
182
+ console.log('- credentials: Link to credential sets');
183
+ console.log('- disabled: Disable node execution');
184
+ console.log('- notes: Internal documentation');
185
+ console.log('- notesInFlow: Show notes on canvas');
186
+ console.log('- executeOnce: Execute only once per run');
187
+ console.log('- onError: Error handling strategy');
188
+ console.log('- retryOnFail: Enable automatic retries');
189
+ console.log('- maxTries: Number of retry attempts');
190
+ console.log('- waitBetweenTries: Delay between retries');
191
+ console.log('- alwaysOutputData: Output data on error');
192
+ console.log('- continueOnFail: (deprecated - use onError)');
193
+ console.log('\n๐ŸŽฏ Remember: All these properties go at the NODE level, not inside parameters!');
194
+ }
195
+ main().catch(console.error);
196
+ //# sourceMappingURL=test-node-level-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-node-level-properties.js","sourceRoot":"","sources":["../../src/scripts/test-node-level-properties.ts"],"names":[],"mappings":"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"}
@@ -140,7 +140,7 @@ async function testNodeSimilarity() {
140
140
  console.log('\n๐Ÿ”ง Testing AutoFixer with node type corrections:');
141
141
  console.log('='.repeat(60));
142
142
  const autoFixer = new workflow_auto_fixer_1.WorkflowAutoFixer(repository);
143
- const fixResult = autoFixer.generateFixes(testWorkflow, validationResult, [], {
143
+ const fixResult = await autoFixer.generateFixes(testWorkflow, validationResult, [], {
144
144
  applyFixes: false,
145
145
  fixTypes: ['node-type-correction'],
146
146
  confidenceThreshold: 'high'
@@ -1 +1 @@
1
- {"version":3,"file":"test-node-suggestions.js","sourceRoot":"","sources":["../../src/scripts/test-node-suggestions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-node-suggestions.js","sourceRoot":"","sources":["../../src/scripts/test-node-suggestions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=test-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-nodes.d.ts","sourceRoot":"","sources":["../../src/scripts/test-nodes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const database_adapter_1 = require("../database/database-adapter");
5
+ const node_repository_1 = require("../database/node-repository");
6
+ const TEST_CASES = [
7
+ {
8
+ nodeType: 'nodes-base.httpRequest',
9
+ checks: {
10
+ hasProperties: true,
11
+ minProperties: 5,
12
+ hasDocumentation: true,
13
+ isVersioned: true
14
+ }
15
+ },
16
+ {
17
+ nodeType: 'nodes-base.slack',
18
+ checks: {
19
+ hasOperations: true,
20
+ minOperations: 10,
21
+ style: 'declarative'
22
+ }
23
+ },
24
+ {
25
+ nodeType: 'nodes-base.code',
26
+ checks: {
27
+ hasProperties: true,
28
+ properties: ['mode', 'language', 'jsCode']
29
+ }
30
+ }
31
+ ];
32
+ async function runTests() {
33
+ const db = await (0, database_adapter_1.createDatabaseAdapter)('./data/nodes.db');
34
+ const repository = new node_repository_1.NodeRepository(db);
35
+ console.log('๐Ÿงช Running node tests...\n');
36
+ let passed = 0;
37
+ let failed = 0;
38
+ for (const testCase of TEST_CASES) {
39
+ console.log(`Testing ${testCase.nodeType}...`);
40
+ try {
41
+ const node = repository.getNode(testCase.nodeType);
42
+ if (!node) {
43
+ throw new Error('Node not found');
44
+ }
45
+ for (const [check, expected] of Object.entries(testCase.checks)) {
46
+ switch (check) {
47
+ case 'hasProperties':
48
+ if (expected && node.properties.length === 0) {
49
+ throw new Error('No properties found');
50
+ }
51
+ break;
52
+ case 'minProperties':
53
+ if (node.properties.length < expected) {
54
+ throw new Error(`Expected at least ${expected} properties, got ${node.properties.length}`);
55
+ }
56
+ break;
57
+ case 'hasOperations':
58
+ if (expected && node.operations.length === 0) {
59
+ throw new Error('No operations found');
60
+ }
61
+ break;
62
+ case 'minOperations':
63
+ if (node.operations.length < expected) {
64
+ throw new Error(`Expected at least ${expected} operations, got ${node.operations.length}`);
65
+ }
66
+ break;
67
+ case 'properties':
68
+ const propNames = node.properties.map((p) => p.name);
69
+ for (const prop of expected) {
70
+ if (!propNames.includes(prop)) {
71
+ throw new Error(`Missing property: ${prop}`);
72
+ }
73
+ }
74
+ break;
75
+ }
76
+ }
77
+ console.log(`โœ… ${testCase.nodeType} passed all checks\n`);
78
+ passed++;
79
+ }
80
+ catch (error) {
81
+ console.error(`โŒ ${testCase.nodeType} failed: ${error.message}\n`);
82
+ failed++;
83
+ }
84
+ }
85
+ console.log(`\n๐Ÿ“Š Test Results: ${passed} passed, ${failed} failed`);
86
+ db.close();
87
+ }
88
+ if (require.main === module) {
89
+ runTests().catch(console.error);
90
+ }
91
+ //# sourceMappingURL=test-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-nodes.js","sourceRoot":"","sources":["../../src/scripts/test-nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=test-single-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-single-workflow.d.ts","sourceRoot":"","sources":["../../src/scripts/test-single-workflow.ts"],"names":[],"mappings":""}