feat: implement webhook path autofixer and improve node similarity service

- Add webhook path auto-generation for nodes missing path configuration
  - Generates UUID for both 'path' parameter and 'webhookId' field
  - Conditionally updates typeVersion to 2.1 only when < 2.1
  - High confidence fix (95%) as UUID generation is deterministic

- Fix critical security and performance issues in NodeSimilarityService:
  - Replace regex patterns with string-based matching to prevent ReDoS attacks
  - Add cache invalidation with version tracking to prevent memory leaks
  - Optimize Levenshtein distance algorithm from O(m*n) space to O(n)
  - Add early termination for performance improvement
  - Extract magic numbers into named constants

- Add comprehensive documentation for n8n_autofix_workflow tool
  - Document all fix types including new webhook-missing-path
  - Include examples, best practices, and warnings
  - Integrate with MCP tool documentation system

- Create node-type-utils for centralized type normalization
  - Eliminate code duplication across services
  - Consistent handling of package prefixes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2025-09-24 11:18:13 +02:00
parent 627c0144a4
commit 0c31f12372
6 changed files with 697 additions and 123 deletions

View File

@@ -246,8 +246,8 @@ const autofixWorkflowSchema = z.object({
'expression-format',
'typeversion-correction',
'error-output-config',
'required-field',
'enum-value'
'node-type-correction',
'webhook-missing-path'
])).optional(),
confidenceThreshold: z.enum(['high', 'medium', 'low']).optional().default('medium'),
maxFixes: z.number().optional().default(50)