From 6be9ffa53e881acbf60e4536480a7b311a22cadb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romuald=20Cz=C5=82onkowski?= <56956555+czlonkowski@users.noreply.github.com> Date: Fri, 27 Mar 2026 16:26:21 +0100 Subject: [PATCH] fix: correct operator names, connection types, and implement __patch_find_replace (#665, #659, #642) (#672) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three critical fixes in n8n_update_partial_workflow: - **#665**: Replace incorrect `isNotEmpty`/`isEmpty` operator names with `notEmpty`/`empty` across validators, sanitizer, docs, and error messages. Add auto-correction in sanitizer. Unknown operators silently returned false in n8n's execution engine. - **#659**: Remap numeric `targetInput` values (e.g., "0") to "main" in addConnection. Relax sourceOutput remapping guard for redundant sourceOutput+sourceIndex combinations. Also resolves #653 (dangling connections caused by malformed type:"0" connections). - **#642**: Implement __patch_find_replace for surgical string edits in updateNode. Previously stored patch objects literally as jsCode, producing [object Object]. Now reads current value, applies find/replace sequentially, writes back the string. Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-authored-by: Claude Opus 4.6 (1M context) --- CHANGELOG.md | 18 ++ dist/mcp/handlers-workflow-diff.js | 4 +- dist/mcp/handlers-workflow-diff.js.map | 2 +- .../n8n-update-partial-workflow.d.ts.map | 2 +- .../n8n-update-partial-workflow.js | 10 +- .../n8n-update-partial-workflow.js.map | 2 +- dist/services/enhanced-config-validator.js | 14 +- .../services/enhanced-config-validator.js.map | 2 +- dist/services/n8n-validation.js | 6 +- dist/services/n8n-validation.js.map | 2 +- dist/services/node-sanitizer.d.ts.map | 2 +- dist/services/node-sanitizer.js | 34 +-- dist/services/node-sanitizer.js.map | 2 +- dist/services/workflow-diff-engine.d.ts | 1 + dist/services/workflow-diff-engine.d.ts.map | 2 +- dist/services/workflow-diff-engine.js | 63 ++++- dist/services/workflow-diff-engine.js.map | 2 +- package-lock.json | 4 +- package.json | 2 +- src/mcp/handlers-workflow-diff.ts | 4 +- .../n8n-update-partial-workflow.ts | 10 +- src/services/enhanced-config-validator.ts | 14 +- src/services/n8n-validation.ts | 6 +- src/services/node-sanitizer.ts | 52 ++-- src/services/workflow-diff-engine.ts | 70 ++++- .../real-world-structure-validation.test.ts | 2 +- tests/unit/services/node-sanitizer.test.ts | 43 +++- .../services/workflow-diff-engine.test.ts | 243 ++++++++++++++++++ 28 files changed, 522 insertions(+), 96 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b3a550..5d915dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.41.1] - 2026-03-27 + +### Fixed + +- **If node operators silently fail at runtime** (Issue #665): Replaced incorrect operator names `isNotEmpty`/`isEmpty` with `notEmpty`/`empty` across all validators, sanitizer, documentation, and error messages. n8n's execution engine does not recognize `isNotEmpty`/`isEmpty` — unknown operators silently return `false`, causing If/Switch conditions to always take the wrong branch. Added auto-correction in the sanitizer so existing workflows using legacy names are fixed on update. + +- **`addConnection` creates broken connections with `type: "0"`** (Issue #659): Fixed two edge cases where numeric `targetInput` or `sourceOutput` values leaked into connection objects as `"type": "0"` instead of `"type": "main"`. Numeric `targetInput` values are now remapped to `"main"`, and the `sourceOutput` remapping guard was relaxed to handle redundant `sourceOutput: 0` + `sourceIndex: 0` combinations. Also resolves Issue #653 (dangling connections after `removeNode`) which was caused by malformed connections from this bug. + +- **`__patch_find_replace` corrupts Code node jsCode** (Issue #642): Implemented the `__patch_find_replace` feature for surgical string edits in `updateNode` operations. Previously, passing `{"parameters.jsCode": {"__patch_find_replace": [...]}}` stored the patch object literally as jsCode, producing `[object Object]` at runtime. The feature now reads the current string value, applies each `{find, replace}` entry sequentially, and writes back the modified string. Includes validation for patch format, target property existence, and string type. + +### Improved + +- Extracted `OPERATOR_CORRECTIONS` and `UNARY_OPERATORS` to module-level constants for better performance and single source of truth +- Added `exists`/`notExists` to unary operator lists for consistency across sanitizer and validator +- Fixed recovery guidance referencing non-existent `validate_node_operation` tool (now `validate_node`) + +Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en + ## [2.41.0] - 2026-03-25 ### Changed diff --git a/dist/mcp/handlers-workflow-diff.js b/dist/mcp/handlers-workflow-diff.js index aadc74f..20f8746 100644 --- a/dist/mcp/handlers-workflow-diff.js +++ b/dist/mcp/handlers-workflow-diff.js @@ -231,9 +231,9 @@ async function handleUpdatePartialWorkflow(args, repository, context) { }); const recoverySteps = []; if (errorTypes.has('operator_issues')) { - recoverySteps.push('Operator structure issue detected. Use validate_node_operation to check specific nodes.'); + recoverySteps.push('Operator structure issue detected. Use validate_node to check specific nodes.'); recoverySteps.push('Binary operators (equals, contains, greaterThan, etc.) must NOT have singleValue:true'); - recoverySteps.push('Unary operators (isEmpty, isNotEmpty, true, false) REQUIRE singleValue:true'); + recoverySteps.push('Unary operators (empty, notEmpty, true, false) REQUIRE singleValue:true'); } if (errorTypes.has('connection_issues')) { recoverySteps.push('Connection validation failed. Check all node connections reference existing nodes.'); diff --git a/dist/mcp/handlers-workflow-diff.js.map b/dist/mcp/handlers-workflow-diff.js.map index dad47ea..a93913a 100644 --- a/dist/mcp/handlers-workflow-diff.js.map +++ b/dist/mcp/handlers-workflow-diff.js.map @@ -1 +1 @@ -{"version":3,"file":"handlers-workflow-diff.js","sourceRoot":"","sources":["../../src/mcp/handlers-workflow-diff.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"handlers-workflow-diff.js","sourceRoot":"","sources":["../../src/mcp/handlers-workflow-diff.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map index 1b97735..2a71381 100644 --- a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map +++ b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"n8n-update-partial-workflow.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,2BAA2B,EAAE,iBAuazC,CAAC"} \ No newline at end of file +{"version":3,"file":"n8n-update-partial-workflow.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,2BAA2B,EAAE,iBA2azC,CAAC"} \ No newline at end of file diff --git a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js index cac7018..1b4598c 100644 --- a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +++ b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js @@ -120,8 +120,8 @@ When ANY workflow update is made, ALL nodes in the workflow are automatically sa 1. **Operator Structure Fixes**: - Binary operators (equals, contains, greaterThan, etc.) automatically have \`singleValue\` removed - - Unary operators (isEmpty, isNotEmpty, true, false) automatically get \`singleValue: true\` added - - Invalid operator structures (e.g., \`{type: "isNotEmpty"}\`) are corrected to \`{type: "boolean", operation: "isNotEmpty"}\` + - Unary operators (empty, notEmpty, true, false) automatically get \`singleValue: true\` added + - Invalid operator structures (e.g., \`{type: "notEmpty"}\`) are corrected to \`{type: "object", operation: "notEmpty"}\` 2. **Missing Metadata Added**: - IF nodes with conditions get complete \`conditions.options\` structure if missing @@ -334,6 +334,8 @@ n8n_update_partial_workflow({ '// Best-effort mode: apply what works, report what fails\nn8n_update_partial_workflow({id: "vwx", operations: [\n {type: "updateName", name: "Fixed Workflow"},\n {type: "removeConnection", source: "Broken", target: "Node"},\n {type: "cleanStaleConnections"}\n], continueOnError: true})', '// Update node parameter\nn8n_update_partial_workflow({id: "yza", operations: [{type: "updateNode", nodeName: "HTTP Request", updates: {"parameters.url": "https://api.example.com"}}]})', '// Validate before applying\nn8n_update_partial_workflow({id: "bcd", operations: [{type: "removeNode", nodeName: "Old Process"}], validateOnly: true})', + '// Surgically edit code using __patch_find_replace (avoids replacing entire code block)\nn8n_update_partial_workflow({id: "pfr1", operations: [{type: "updateNode", nodeName: "Code", updates: {"parameters.jsCode": {"__patch_find_replace": [{"find": "const limit = 10;", "replace": "const limit = 50;"}]}}}]})', + '// Multiple sequential patches on the same property\nn8n_update_partial_workflow({id: "pfr2", operations: [{type: "updateNode", nodeName: "Code", updates: {"parameters.jsCode": {"__patch_find_replace": [{"find": "api.old-domain.com", "replace": "api.new-domain.com"}, {"find": "Authorization: Bearer old_token", "replace": "Authorization: Bearer new_token"}]}}}]})', '\n// ============ AI CONNECTION EXAMPLES ============', '// Connect language model to AI Agent\nn8n_update_partial_workflow({id: "ai1", operations: [{type: "addConnection", source: "OpenAI Chat Model", target: "AI Agent", sourceOutput: "ai_languageModel"}]})', '// Connect tool to AI Agent\nn8n_update_partial_workflow({id: "ai2", operations: [{type: "addConnection", source: "HTTP Request Tool", target: "AI Agent", sourceOutput: "ai_tool"}]})', @@ -412,10 +414,12 @@ n8n_update_partial_workflow({ '**CRITICAL**: For Switch nodes, ALWAYS use case=N instead of sourceIndex. Using same sourceIndex for multiple connections will put them on the same case output.', 'cleanStaleConnections removes ALL broken connections - cannot be selective', 'replaceConnections overwrites entire connections object - all previous connections lost', - '**Auto-sanitization behavior**: Binary operators (equals, contains) automatically have singleValue removed; unary operators (isEmpty, isNotEmpty) automatically get singleValue:true added', + '**Auto-sanitization behavior**: Binary operators (equals, contains) automatically have singleValue removed; unary operators (empty, notEmpty) automatically get singleValue:true added', '**Auto-sanitization runs on ALL nodes**: When ANY update is made, ALL nodes in the workflow are sanitized (not just modified ones)', '**Auto-sanitization cannot fix everything**: It fixes operator structures and missing metadata, but cannot fix broken connections or branch mismatches', '**Corrupted workflows beyond repair**: Workflows in paradoxical states (API returns corrupt, API rejects updates) cannot be fixed via API - must be recreated', + '**__patch_find_replace for code edits**: Instead of replacing entire code blocks, use `{"parameters.jsCode": {"__patch_find_replace": [{"find": "old text", "replace": "new text"}]}}` to surgically edit string properties', + '__patch_find_replace replaces the FIRST occurrence of each find string. Patches are applied sequentially — order matters', 'To remove a property, set it to null in the updates object', 'When properties are mutually exclusive (e.g., continueOnFail and onError), setting only the new property will fail - you must remove the old one with null', 'Removing a required property may cause validation errors - check node documentation first', diff --git a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map index 3306715..8bd7581 100644 --- a/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map +++ b/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map @@ -1 +1 @@ -{"version":3,"file":"n8n-update-partial-workflow.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"n8n-update-partial-workflow.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/enhanced-config-validator.js b/dist/services/enhanced-config-validator.js index 9fada29..01411f6 100644 --- a/dist/services/enhanced-config-validator.js +++ b/dist/services/enhanced-config-validator.js @@ -730,30 +730,30 @@ class EnhancedConfigValidator extends config_validator_1.ConfigValidator { 'empty', 'notEmpty', 'equals', 'notEquals', 'contains', 'notContains', 'startsWith', 'notStartsWith', 'endsWith', 'notEndsWith', 'regex', 'notRegex', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], number: [ 'empty', 'notEmpty', 'equals', 'notEquals', 'gt', 'lt', 'gte', 'lte', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], dateTime: [ 'empty', 'notEmpty', 'equals', 'notEquals', 'after', 'before', 'afterOrEquals', 'beforeOrEquals', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], boolean: [ 'empty', 'notEmpty', 'true', 'false', 'equals', 'notEquals', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], array: [ 'contains', 'notContains', 'lengthEquals', 'lengthNotEquals', 'lengthGt', 'lengthLt', 'lengthGte', 'lengthLte', 'empty', 'notEmpty', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], object: [ 'empty', 'notEmpty', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], - any: ['exists', 'notExists', 'isNotEmpty'] + any: ['exists', 'notExists'] }; for (let i = 0; i < conditions.length; i++) { const condition = conditions[i]; diff --git a/dist/services/enhanced-config-validator.js.map b/dist/services/enhanced-config-validator.js.map index 31187e7..cb5d12c 100644 --- a/dist/services/enhanced-config-validator.js.map +++ b/dist/services/enhanced-config-validator.js.map @@ -1 +1 @@ -{"version":3,"file":"enhanced-config-validator.js","sourceRoot":"","sources":["../../src/services/enhanced-config-validator.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"enhanced-config-validator.js","sourceRoot":"","sources":["../../src/services/enhanced-config-validator.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/n8n-validation.js b/dist/services/n8n-validation.js index a2e6e5f..21f2be7 100644 --- a/dist/services/n8n-validation.js +++ b/dist/services/n8n-validation.js @@ -419,10 +419,10 @@ function validateOperatorStructure(operator, path) { } if (!operator.operation) { errors.push(`${path}: missing required field "operation". ` + - 'Operation specifies the comparison type (e.g., "equals", "contains", "isNotEmpty")'); + 'Operation specifies the comparison type (e.g., "equals", "contains", "notEmpty")'); } if (operator.operation) { - const unaryOperators = ['isEmpty', 'isNotEmpty', 'true', 'false', 'isNumeric']; + const unaryOperators = ['empty', 'notEmpty', 'true', 'false', 'isNumeric', 'exists', 'notExists']; const isUnary = unaryOperators.includes(operator.operation); if (isUnary) { if (operator.singleValue !== true) { @@ -433,7 +433,7 @@ function validateOperatorStructure(operator, path) { else { if (operator.singleValue === true) { errors.push(`${path}: binary operator "${operator.operation}" should not have "singleValue: true". ` + - 'Only unary operators (isEmpty, isNotEmpty, true, false, isNumeric) need this property.'); + 'Only unary operators (empty, notEmpty, true, false, isNumeric, exists, notExists) need this property.'); } } } diff --git a/dist/services/n8n-validation.js.map b/dist/services/n8n-validation.js.map index c80d43c..ebdcdde 100644 --- a/dist/services/n8n-validation.js.map +++ b/dist/services/n8n-validation.js.map @@ -1 +1 @@ -{"version":3,"file":"n8n-validation.js","sourceRoot":"","sources":["../../src/services/n8n-validation.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"n8n-validation.js","sourceRoot":"","sources":["../../src/services/n8n-validation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/node-sanitizer.d.ts.map b/dist/services/node-sanitizer.d.ts.map index a996483..932b361 100644 --- a/dist/services/node-sanitizer.d.ts.map +++ b/dist/services/node-sanitizer.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"node-sanitizer.d.ts","sourceRoot":"","sources":["../../src/services/node-sanitizer.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAKhD,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAa7D;AAKD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CASxD;AA6ND,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAgEjE"} \ No newline at end of file +{"version":3,"file":"node-sanitizer.d.ts","sourceRoot":"","sources":["../../src/services/node-sanitizer.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAsBhD,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAa7D;AAKD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CASxD;AAgND,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,CAgEjE"} \ No newline at end of file diff --git a/dist/services/node-sanitizer.js b/dist/services/node-sanitizer.js index ef72dcd..cbc3ef5 100644 --- a/dist/services/node-sanitizer.js +++ b/dist/services/node-sanitizer.js @@ -4,6 +4,19 @@ exports.sanitizeNode = sanitizeNode; exports.sanitizeWorkflowNodes = sanitizeWorkflowNodes; exports.validateNodeMetadata = validateNodeMetadata; const logger_1 = require("../utils/logger"); +const OPERATOR_CORRECTIONS = { + 'isEmpty': 'empty', + 'isNotEmpty': 'notEmpty', +}; +const UNARY_OPERATORS = new Set([ + 'true', + 'false', + 'isNumeric', + 'empty', + 'notEmpty', + 'exists', + 'notExists', +]); function sanitizeNode(node) { const sanitized = { ...node }; if (isFilterBasedNode(node.type, node.typeVersion)) { @@ -92,11 +105,13 @@ function sanitizeOperator(operator) { const typeValue = sanitized.type; if (isOperationName(typeValue)) { logger_1.logger.debug(`Fixing operator structure: converting type="${typeValue}" to operation`); - const dataType = inferDataType(typeValue); - sanitized.type = dataType; + sanitized.type = inferDataType(typeValue); sanitized.operation = typeValue; } } + if (sanitized.operation && OPERATOR_CORRECTIONS[sanitized.operation]) { + sanitized.operation = OPERATOR_CORRECTIONS[sanitized.operation]; + } if (sanitized.operation) { if (isUnaryOperator(sanitized.operation)) { sanitized.singleValue = true; @@ -112,7 +127,7 @@ function isOperationName(value) { return !dataTypes.includes(value) && /^[a-z][a-zA-Z]*$/.test(value); } function inferDataType(operation) { - const booleanOps = ['true', 'false', 'isEmpty', 'isNotEmpty']; + const booleanOps = ['true', 'false']; if (booleanOps.includes(operation)) { return 'boolean'; } @@ -131,18 +146,7 @@ function inferDataType(operation) { return 'string'; } function isUnaryOperator(operation) { - const unaryOps = [ - 'isEmpty', - 'isNotEmpty', - 'true', - 'false', - 'isNumeric', - 'empty', - 'notEmpty', - 'exists', - 'notExists' - ]; - return unaryOps.includes(operation); + return UNARY_OPERATORS.has(operation); } function generateConditionId() { return `condition-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; diff --git a/dist/services/node-sanitizer.js.map b/dist/services/node-sanitizer.js.map index 09dadf6..0765ff1 100644 --- a/dist/services/node-sanitizer.js.map +++ b/dist/services/node-sanitizer.js.map @@ -1 +1 @@ -{"version":3,"file":"node-sanitizer.js","sourceRoot":"","sources":["../../src/services/node-sanitizer.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"node-sanitizer.js","sourceRoot":"","sources":["../../src/services/node-sanitizer.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/services/workflow-diff-engine.d.ts b/dist/services/workflow-diff-engine.d.ts index 5743262..1005350 100644 --- a/dist/services/workflow-diff-engine.d.ts +++ b/dist/services/workflow-diff-engine.d.ts @@ -47,6 +47,7 @@ export declare class WorkflowDiffEngine { private normalizeNodeName; private findNode; private formatNodeNotFoundError; + private getNestedProperty; private setNestedProperty; } //# sourceMappingURL=workflow-diff-engine.d.ts.map \ No newline at end of file diff --git a/dist/services/workflow-diff-engine.d.ts.map b/dist/services/workflow-diff-engine.d.ts.map index 53c5dfc..8d67007 100644 --- a/dist/services/workflow-diff-engine.d.ts.map +++ b/dist/services/workflow-diff-engine.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"workflow-diff-engine.d.ts","sourceRoot":"","sources":["../../src/services/workflow-diff-engine.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAuBnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAoC,MAAM,kBAAkB,CAAC;AAY9E,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,QAAQ,CAAqC;IAErD,OAAO,CAAC,eAAe,CAAqB;IAE5C,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,mBAAmB,CAAqB;IAK1C,SAAS,CACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAgO9B,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,cAAc;IA4DtB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IAoC1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAkD7B,OAAO,CAAC,wBAAwB;IA6ChC,OAAO,CAAC,wBAAwB;IAmDhC,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,sBAAsB;IAwD9B,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,0BAA0B;IA+ElC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,0BAA0B;IAmElC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,QAAQ;IAsChB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;CAoB1B"} \ No newline at end of file +{"version":3,"file":"workflow-diff-engine.d.ts","sourceRoot":"","sources":["../../src/services/workflow-diff-engine.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,mBAAmB,EACnB,kBAAkB,EAuBnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAoC,MAAM,kBAAkB,CAAC;AAY9E,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,QAAQ,CAAqC;IAErD,OAAO,CAAC,eAAe,CAAqB;IAE5C,OAAO,CAAC,gBAAgB,CAAqB;IAE7C,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,mBAAmB,CAAqB;IAK1C,SAAS,CACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC;IAgO9B,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,cAAc;IA4DtB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,kBAAkB;IA6D1B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,qBAAqB;IAkD7B,OAAO,CAAC,wBAAwB;IA6ChC,OAAO,CAAC,wBAAwB;IAmDhC,OAAO,CAAC,YAAY;IA4BpB,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,eAAe;IA6CvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,sBAAsB;IA0D9B,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,0BAA0B;IA+ElC,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,0BAA0B;IAmElC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,QAAQ;IAsChB,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,iBAAiB;CAoB1B"} \ No newline at end of file diff --git a/dist/services/workflow-diff-engine.js b/dist/services/workflow-diff-engine.js index 8a5163c..db8d0d3 100644 --- a/dist/services/workflow-diff-engine.js +++ b/dist/services/workflow-diff-engine.js @@ -351,6 +351,28 @@ class WorkflowDiffEngine { } } } + for (const [path, value] of Object.entries(operation.updates)) { + if (value !== null && typeof value === 'object' && !Array.isArray(value) + && '__patch_find_replace' in value) { + const patches = value.__patch_find_replace; + if (!Array.isArray(patches)) { + return `Invalid __patch_find_replace at "${path}": must be an array of {find, replace} objects`; + } + for (let i = 0; i < patches.length; i++) { + const patch = patches[i]; + if (!patch || typeof patch.find !== 'string' || typeof patch.replace !== 'string') { + return `Invalid __patch_find_replace entry at "${path}[${i}]": each entry must have "find" (string) and "replace" (string)`; + } + } + const currentValue = this.getNestedProperty(node, path); + if (currentValue === undefined) { + return `Cannot apply __patch_find_replace to "${path}": property does not exist on node`; + } + if (typeof currentValue !== 'string') { + return `Cannot apply __patch_find_replace to "${path}": current value is ${typeof currentValue}, expected string`; + } + } + } return null; } validateMoveNode(workflow, operation) { @@ -541,7 +563,25 @@ class WorkflowDiffEngine { logger.debug(`Tracking rename: "${oldName}" → "${newName}"`); } Object.entries(operation.updates).forEach(([path, value]) => { - this.setNestedProperty(node, path, value); + if (value !== null && typeof value === 'object' && !Array.isArray(value) + && '__patch_find_replace' in value) { + const patches = value.__patch_find_replace; + let current = this.getNestedProperty(node, path); + for (const patch of patches) { + if (!current.includes(patch.find)) { + this.warnings.push({ + operation: -1, + message: `__patch_find_replace: "${patch.find.substring(0, 50)}" not found in "${path}". Skipped.` + }); + continue; + } + current = current.replace(patch.find, patch.replace); + } + this.setNestedProperty(node, path, current); + } + else { + this.setNestedProperty(node, path, value); + } }); const sanitized = (0, node_sanitizer_1.sanitizeNode)(node); Object.assign(node, sanitized); @@ -568,9 +608,11 @@ class WorkflowDiffEngine { const sourceNode = this.findNode(workflow, operation.source, operation.source); let sourceOutput = String(operation.sourceOutput ?? 'main'); let sourceIndex = operation.sourceIndex ?? 0; - if (/^\d+$/.test(sourceOutput) && operation.sourceIndex === undefined + const numericOutput = /^\d+$/.test(sourceOutput) ? parseInt(sourceOutput, 10) : null; + if (numericOutput !== null + && (operation.sourceIndex === undefined || operation.sourceIndex === numericOutput) && operation.branch === undefined && operation.case === undefined) { - sourceIndex = parseInt(sourceOutput, 10); + sourceIndex = numericOutput; sourceOutput = 'main'; } if (operation.branch !== undefined && operation.sourceIndex === undefined) { @@ -606,7 +648,10 @@ class WorkflowDiffEngine { if (!sourceNode || !targetNode) return; const { sourceOutput, sourceIndex } = this.resolveSmartParameters(workflow, operation); - const targetInput = String(operation.targetInput ?? sourceOutput); + let targetInput = String(operation.targetInput ?? sourceOutput); + if (/^\d+$/.test(targetInput)) { + targetInput = 'main'; + } const targetIndex = operation.targetIndex ?? 0; if (!workflow.connections[sourceNode.name]) { workflow.connections[sourceNode.name] = {}; @@ -875,6 +920,16 @@ class WorkflowDiffEngine { .join(', '); return `Node not found for ${operationType}: "${nodeIdentifier}". Available nodes: ${availableNodes}. Tip: Use node ID for names with special characters (apostrophes, quotes).`; } + getNestedProperty(obj, path) { + const keys = path.split('.'); + let current = obj; + for (const key of keys) { + if (current == null || typeof current !== 'object') + return undefined; + current = current[key]; + } + return current; + } setNestedProperty(obj, path, value) { const keys = path.split('.'); let current = obj; diff --git a/dist/services/workflow-diff-engine.js.map b/dist/services/workflow-diff-engine.js.map index 54df823..9c89f44 100644 --- a/dist/services/workflow-diff-engine.js.map +++ b/dist/services/workflow-diff-engine.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-diff-engine.js","sourceRoot":"","sources":["../../src/services/workflow-diff-engine.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow-diff-engine.js","sourceRoot":"","sources":["../../src/services/workflow-diff-engine.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4ab7ec0..dd33495 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-mcp", - "version": "2.41.0", + "version": "2.41.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-mcp", - "version": "2.41.0", + "version": "2.41.1", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "1.28.0", diff --git a/package.json b/package.json index 85fe917..4bf2eb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-mcp", - "version": "2.41.0", + "version": "2.41.1", "description": "Integration between n8n workflow automation and Model Context Protocol (MCP)", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/mcp/handlers-workflow-diff.ts b/src/mcp/handlers-workflow-diff.ts index 1594840..468531f 100644 --- a/src/mcp/handlers-workflow-diff.ts +++ b/src/mcp/handlers-workflow-diff.ts @@ -259,9 +259,9 @@ export async function handleUpdatePartialWorkflow( // Build recovery guidance based on error types const recoverySteps = []; if (errorTypes.has('operator_issues')) { - recoverySteps.push('Operator structure issue detected. Use validate_node_operation to check specific nodes.'); + recoverySteps.push('Operator structure issue detected. Use validate_node to check specific nodes.'); recoverySteps.push('Binary operators (equals, contains, greaterThan, etc.) must NOT have singleValue:true'); - recoverySteps.push('Unary operators (isEmpty, isNotEmpty, true, false) REQUIRE singleValue:true'); + recoverySteps.push('Unary operators (empty, notEmpty, true, false) REQUIRE singleValue:true'); } if (errorTypes.has('connection_issues')) { recoverySteps.push('Connection validation failed. Check all node connections reference existing nodes.'); diff --git a/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts b/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts index 9994d2c..61cde79 100644 --- a/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts +++ b/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts @@ -119,8 +119,8 @@ When ANY workflow update is made, ALL nodes in the workflow are automatically sa 1. **Operator Structure Fixes**: - Binary operators (equals, contains, greaterThan, etc.) automatically have \`singleValue\` removed - - Unary operators (isEmpty, isNotEmpty, true, false) automatically get \`singleValue: true\` added - - Invalid operator structures (e.g., \`{type: "isNotEmpty"}\`) are corrected to \`{type: "boolean", operation: "isNotEmpty"}\` + - Unary operators (empty, notEmpty, true, false) automatically get \`singleValue: true\` added + - Invalid operator structures (e.g., \`{type: "notEmpty"}\`) are corrected to \`{type: "object", operation: "notEmpty"}\` 2. **Missing Metadata Added**: - IF nodes with conditions get complete \`conditions.options\` structure if missing @@ -333,6 +333,8 @@ n8n_update_partial_workflow({ '// Best-effort mode: apply what works, report what fails\nn8n_update_partial_workflow({id: "vwx", operations: [\n {type: "updateName", name: "Fixed Workflow"},\n {type: "removeConnection", source: "Broken", target: "Node"},\n {type: "cleanStaleConnections"}\n], continueOnError: true})', '// Update node parameter\nn8n_update_partial_workflow({id: "yza", operations: [{type: "updateNode", nodeName: "HTTP Request", updates: {"parameters.url": "https://api.example.com"}}]})', '// Validate before applying\nn8n_update_partial_workflow({id: "bcd", operations: [{type: "removeNode", nodeName: "Old Process"}], validateOnly: true})', + '// Surgically edit code using __patch_find_replace (avoids replacing entire code block)\nn8n_update_partial_workflow({id: "pfr1", operations: [{type: "updateNode", nodeName: "Code", updates: {"parameters.jsCode": {"__patch_find_replace": [{"find": "const limit = 10;", "replace": "const limit = 50;"}]}}}]})', + '// Multiple sequential patches on the same property\nn8n_update_partial_workflow({id: "pfr2", operations: [{type: "updateNode", nodeName: "Code", updates: {"parameters.jsCode": {"__patch_find_replace": [{"find": "api.old-domain.com", "replace": "api.new-domain.com"}, {"find": "Authorization: Bearer old_token", "replace": "Authorization: Bearer new_token"}]}}}]})', '\n// ============ AI CONNECTION EXAMPLES ============', '// Connect language model to AI Agent\nn8n_update_partial_workflow({id: "ai1", operations: [{type: "addConnection", source: "OpenAI Chat Model", target: "AI Agent", sourceOutput: "ai_languageModel"}]})', '// Connect tool to AI Agent\nn8n_update_partial_workflow({id: "ai2", operations: [{type: "addConnection", source: "HTTP Request Tool", target: "AI Agent", sourceOutput: "ai_tool"}]})', @@ -411,10 +413,12 @@ n8n_update_partial_workflow({ '**CRITICAL**: For Switch nodes, ALWAYS use case=N instead of sourceIndex. Using same sourceIndex for multiple connections will put them on the same case output.', 'cleanStaleConnections removes ALL broken connections - cannot be selective', 'replaceConnections overwrites entire connections object - all previous connections lost', - '**Auto-sanitization behavior**: Binary operators (equals, contains) automatically have singleValue removed; unary operators (isEmpty, isNotEmpty) automatically get singleValue:true added', + '**Auto-sanitization behavior**: Binary operators (equals, contains) automatically have singleValue removed; unary operators (empty, notEmpty) automatically get singleValue:true added', '**Auto-sanitization runs on ALL nodes**: When ANY update is made, ALL nodes in the workflow are sanitized (not just modified ones)', '**Auto-sanitization cannot fix everything**: It fixes operator structures and missing metadata, but cannot fix broken connections or branch mismatches', '**Corrupted workflows beyond repair**: Workflows in paradoxical states (API returns corrupt, API rejects updates) cannot be fixed via API - must be recreated', + '**__patch_find_replace for code edits**: Instead of replacing entire code blocks, use `{"parameters.jsCode": {"__patch_find_replace": [{"find": "old text", "replace": "new text"}]}}` to surgically edit string properties', + '__patch_find_replace replaces the FIRST occurrence of each find string. Patches are applied sequentially — order matters', 'To remove a property, set it to null in the updates object', 'When properties are mutually exclusive (e.g., continueOnFail and onError), setting only the new property will fail - you must remove the old one with null', 'Removing a required property may cause validation errors - check node documentation first', diff --git a/src/services/enhanced-config-validator.ts b/src/services/enhanced-config-validator.ts index 134d656..fbd44bb 100644 --- a/src/services/enhanced-config-validator.ts +++ b/src/services/enhanced-config-validator.ts @@ -1209,30 +1209,30 @@ export class EnhancedConfigValidator extends ConfigValidator { 'empty', 'notEmpty', 'equals', 'notEquals', 'contains', 'notContains', 'startsWith', 'notStartsWith', 'endsWith', 'notEndsWith', 'regex', 'notRegex', - 'exists', 'notExists', 'isNotEmpty' // exists checks field presence, isNotEmpty alias for notEmpty + 'exists', 'notExists' ], number: [ 'empty', 'notEmpty', 'equals', 'notEquals', 'gt', 'lt', 'gte', 'lte', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], dateTime: [ 'empty', 'notEmpty', 'equals', 'notEquals', 'after', 'before', 'afterOrEquals', 'beforeOrEquals', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], boolean: [ 'empty', 'notEmpty', 'true', 'false', 'equals', 'notEquals', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], array: [ 'contains', 'notContains', 'lengthEquals', 'lengthNotEquals', 'lengthGt', 'lengthLt', 'lengthGte', 'lengthLte', 'empty', 'notEmpty', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], object: [ 'empty', 'notEmpty', - 'exists', 'notExists', 'isNotEmpty' + 'exists', 'notExists' ], - any: ['exists', 'notExists', 'isNotEmpty'] + any: ['exists', 'notExists'] }; for (let i = 0; i < conditions.length; i++) { diff --git a/src/services/n8n-validation.ts b/src/services/n8n-validation.ts index 921ae37..8a8e306 100644 --- a/src/services/n8n-validation.ts +++ b/src/services/n8n-validation.ts @@ -621,13 +621,13 @@ export function validateOperatorStructure(operator: any, path: string): string[] if (!operator.operation) { errors.push( `${path}: missing required field "operation". ` + - 'Operation specifies the comparison type (e.g., "equals", "contains", "isNotEmpty")' + 'Operation specifies the comparison type (e.g., "equals", "contains", "notEmpty")' ); } // Check singleValue based on operator type if (operator.operation) { - const unaryOperators = ['isEmpty', 'isNotEmpty', 'true', 'false', 'isNumeric']; + const unaryOperators = ['empty', 'notEmpty', 'true', 'false', 'isNumeric', 'exists', 'notExists']; const isUnary = unaryOperators.includes(operator.operation); if (isUnary) { @@ -643,7 +643,7 @@ export function validateOperatorStructure(operator: any, path: string): string[] if (operator.singleValue === true) { errors.push( `${path}: binary operator "${operator.operation}" should not have "singleValue: true". ` + - 'Only unary operators (isEmpty, isNotEmpty, true, false, isNumeric) need this property.' + 'Only unary operators (empty, notEmpty, true, false, isNumeric, exists, notExists) need this property.' ); } } diff --git a/src/services/node-sanitizer.ts b/src/services/node-sanitizer.ts index 9e653c3..3d4f0e8 100644 --- a/src/services/node-sanitizer.ts +++ b/src/services/node-sanitizer.ts @@ -13,6 +13,23 @@ import { INodeParameters } from 'n8n-workflow'; import { logger } from '../utils/logger'; import { WorkflowNode } from '../types/n8n-api'; +/** Legacy operator names that n8n no longer recognizes, mapped to their correct names. */ +const OPERATOR_CORRECTIONS: Record = { + 'isEmpty': 'empty', + 'isNotEmpty': 'notEmpty', +}; + +/** Operators that take no right-hand value and require singleValue: true. */ +const UNARY_OPERATORS = new Set([ + 'true', + 'false', + 'isNumeric', + 'empty', + 'notEmpty', + 'exists', + 'notExists', +]); + /** * Sanitize a single node by adding required metadata */ @@ -162,29 +179,28 @@ function sanitizeOperator(operator: any): any { const sanitized = { ...operator }; // Fix common mistake: type field used for operation name - // WRONG: {type: "isNotEmpty"} - // RIGHT: {type: "string", operation: "isNotEmpty"} + // WRONG: {type: "notEmpty"} + // RIGHT: {type: "string", operation: "notEmpty"} if (sanitized.type && !sanitized.operation) { - // Check if type value looks like an operation (lowercase, no dots) const typeValue = sanitized.type as string; if (isOperationName(typeValue)) { logger.debug(`Fixing operator structure: converting type="${typeValue}" to operation`); - - // Infer data type from operation - const dataType = inferDataType(typeValue); - sanitized.type = dataType; + sanitized.type = inferDataType(typeValue); sanitized.operation = typeValue; } } + // Auto-correct legacy operator names to n8n-recognized names + if (sanitized.operation && OPERATOR_CORRECTIONS[sanitized.operation]) { + sanitized.operation = OPERATOR_CORRECTIONS[sanitized.operation]; + } + // Set singleValue based on operator type if (sanitized.operation) { if (isUnaryOperator(sanitized.operation)) { - // Unary operators require singleValue: true sanitized.singleValue = true; } else { - // Binary operators should NOT have singleValue (or it should be false/undefined) - // Remove it to prevent UI errors + // Binary operators should NOT have singleValue — remove it to prevent UI errors delete sanitized.singleValue; } } @@ -207,7 +223,7 @@ function isOperationName(value: string): boolean { */ function inferDataType(operation: string): string { // Boolean operations - const booleanOps = ['true', 'false', 'isEmpty', 'isNotEmpty']; + const booleanOps = ['true', 'false']; if (booleanOps.includes(operation)) { return 'boolean'; } @@ -225,7 +241,6 @@ function inferDataType(operation: string): string { } // Object operations: empty/notEmpty/exists/notExists are generic object-level checks - // (distinct from isEmpty/isNotEmpty which are boolean-typed operations) const objectOps = ['empty', 'notEmpty', 'exists', 'notExists']; if (objectOps.includes(operation)) { return 'object'; @@ -239,18 +254,7 @@ function inferDataType(operation: string): string { * Check if operator is unary (requires singleValue: true) */ function isUnaryOperator(operation: string): boolean { - const unaryOps = [ - 'isEmpty', - 'isNotEmpty', - 'true', - 'false', - 'isNumeric', - 'empty', - 'notEmpty', - 'exists', - 'notExists' - ]; - return unaryOps.includes(operation); + return UNARY_OPERATORS.has(operation); } /** diff --git a/src/services/workflow-diff-engine.ts b/src/services/workflow-diff-engine.ts index 9f88ff5..41207db 100644 --- a/src/services/workflow-diff-engine.ts +++ b/src/services/workflow-diff-engine.ts @@ -470,6 +470,31 @@ export class WorkflowDiffEngine { } } + // Validate __patch_find_replace syntax (#642) + for (const [path, value] of Object.entries(operation.updates)) { + if (value !== null && typeof value === 'object' && !Array.isArray(value) + && '__patch_find_replace' in value) { + const patches = value.__patch_find_replace; + if (!Array.isArray(patches)) { + return `Invalid __patch_find_replace at "${path}": must be an array of {find, replace} objects`; + } + for (let i = 0; i < patches.length; i++) { + const patch = patches[i]; + if (!patch || typeof patch.find !== 'string' || typeof patch.replace !== 'string') { + return `Invalid __patch_find_replace entry at "${path}[${i}]": each entry must have "find" (string) and "replace" (string)`; + } + } + // node was already found above — reuse it + const currentValue = this.getNestedProperty(node, path); + if (currentValue === undefined) { + return `Cannot apply __patch_find_replace to "${path}": property does not exist on node`; + } + if (typeof currentValue !== 'string') { + return `Cannot apply __patch_find_replace to "${path}": current value is ${typeof currentValue}, expected string`; + } + } + } + return null; } @@ -721,7 +746,26 @@ export class WorkflowDiffEngine { // Apply updates using dot notation Object.entries(operation.updates).forEach(([path, value]) => { - this.setNestedProperty(node, path, value); + // Handle __patch_find_replace for surgical string edits (#642) + // Format and type validation already passed in validateUpdateNode() + if (value !== null && typeof value === 'object' && !Array.isArray(value) + && '__patch_find_replace' in value) { + const patches = value.__patch_find_replace as Array<{ find: string; replace: string }>; + let current = this.getNestedProperty(node, path) as string; + for (const patch of patches) { + if (!current.includes(patch.find)) { + this.warnings.push({ + operation: -1, + message: `__patch_find_replace: "${patch.find.substring(0, 50)}" not found in "${path}". Skipped.` + }); + continue; + } + current = current.replace(patch.find, patch.replace); + } + this.setNestedProperty(node, path, current); + } else { + this.setNestedProperty(node, path, value); + } }); // Sanitize node after updates to ensure metadata is complete @@ -766,11 +810,13 @@ export class WorkflowDiffEngine { let sourceOutput = String(operation.sourceOutput ?? 'main'); let sourceIndex = operation.sourceIndex ?? 0; - // Remap numeric sourceOutput (e.g., "0", "1") to "main" with sourceIndex (#537) + // Remap numeric sourceOutput (e.g., "0", "1") to "main" with sourceIndex (#537, #659) // Skip when smart parameters (branch, case) are present — they take precedence - if (/^\d+$/.test(sourceOutput) && operation.sourceIndex === undefined + const numericOutput = /^\d+$/.test(sourceOutput) ? parseInt(sourceOutput, 10) : null; + if (numericOutput !== null + && (operation.sourceIndex === undefined || operation.sourceIndex === numericOutput) && operation.branch === undefined && operation.case === undefined) { - sourceIndex = parseInt(sourceOutput, 10); + sourceIndex = numericOutput; sourceOutput = 'main'; } @@ -823,7 +869,11 @@ export class WorkflowDiffEngine { // Use nullish coalescing to properly handle explicit 0 values // Default targetInput to sourceOutput to preserve connection type for AI connections (ai_tool, ai_memory, etc.) // Coerce to string to handle numeric values passed as sourceOutput/targetInput - const targetInput = String(operation.targetInput ?? sourceOutput); + let targetInput = String(operation.targetInput ?? sourceOutput); + // Remap numeric targetInput (e.g., "0") to "main" — connection types are named strings (#659) + if (/^\d+$/.test(targetInput)) { + targetInput = 'main'; + } const targetIndex = operation.targetIndex ?? 0; // Initialize source node connections object @@ -1266,6 +1316,16 @@ export class WorkflowDiffEngine { return `Node not found for ${operationType}: "${nodeIdentifier}". Available nodes: ${availableNodes}. Tip: Use node ID for names with special characters (apostrophes, quotes).`; } + private getNestedProperty(obj: any, path: string): any { + const keys = path.split('.'); + let current = obj; + for (const key of keys) { + if (current == null || typeof current !== 'object') return undefined; + current = current[key]; + } + return current; + } + private setNestedProperty(obj: any, path: string, value: any): void { const keys = path.split('.'); let current = obj; diff --git a/tests/integration/validation/real-world-structure-validation.test.ts b/tests/integration/validation/real-world-structure-validation.test.ts index dedefc3..6d87f43 100644 --- a/tests/integration/validation/real-world-structure-validation.test.ts +++ b/tests/integration/validation/real-world-structure-validation.test.ts @@ -445,7 +445,7 @@ describe('Integration: Real-World Type Structure Validation', () => { expect(sheetIdErrors).toBe(0); }); - it('should validate all filter operations including exists/notExists/isNotEmpty', async () => { + it('should validate all filter operations including exists/notExists/notEmpty', async () => { const templates = db.prepare(` SELECT id, name, workflow_json_compressed FROM templates diff --git a/tests/unit/services/node-sanitizer.test.ts b/tests/unit/services/node-sanitizer.test.ts index b4f96d2..1488fa1 100644 --- a/tests/unit/services/node-sanitizer.test.ts +++ b/tests/unit/services/node-sanitizer.test.ts @@ -102,9 +102,9 @@ describe('Node Sanitizer', () => { const sanitized = sanitizeNode(node); const condition = (sanitized.parameters.conditions as any).conditions[0]; - // Should fix operator structure - expect(condition.operator.type).toBe('boolean'); // Inferred data type (isEmpty/isNotEmpty are boolean ops) - expect(condition.operator.operation).toBe('isNotEmpty'); // Moved to operation field + // Should fix operator structure and auto-correct isNotEmpty to notEmpty + expect(condition.operator.type).toBe('string'); // Inferred data type (default) + expect(condition.operator.operation).toBe('notEmpty'); // Moved to operation field and auto-corrected }); it('should add singleValue for unary operators', () => { @@ -253,6 +253,39 @@ describe('Node Sanitizer', () => { expect(condition.operator.type).toBe('string'); expect(condition.operator.operation).toBe('equals'); }); + + it('should auto-correct isNotEmpty to notEmpty', () => { + const node: WorkflowNode = { + id: 'test-if-autocorrect', + name: 'IF AutoCorrect', + type: 'n8n-nodes-base.if', + typeVersion: 2.2, + position: [0, 0], + parameters: { + conditions: { + conditions: [ + { + id: 'condition1', + leftValue: '={{ $json.value }}', + rightValue: '', + operator: { + type: 'string', + operation: 'isNotEmpty' // Legacy operator name + } + } + ] + } + } + }; + + const sanitized = sanitizeNode(node); + const condition = (sanitized.parameters.conditions as any).conditions[0]; + + // Should auto-correct isNotEmpty to notEmpty + expect(condition.operator.operation).toBe('notEmpty'); + expect(condition.operator.type).toBe('string'); + expect(condition.operator.singleValue).toBe(true); // notEmpty is unary + }); }); describe('validateNodeMetadata', () => { @@ -370,7 +403,7 @@ describe('Node Sanitizer', () => { rightValue: '', operator: { type: 'string', - operation: 'isNotEmpty' + operation: 'notEmpty' // Missing singleValue: true } } @@ -444,7 +477,7 @@ describe('Node Sanitizer', () => { rightValue: '', operator: { type: 'string', - operation: 'isNotEmpty', + operation: 'notEmpty', singleValue: true } } diff --git a/tests/unit/services/workflow-diff-engine.test.ts b/tests/unit/services/workflow-diff-engine.test.ts index 25d8309..7147899 100644 --- a/tests/unit/services/workflow-diff-engine.test.ts +++ b/tests/unit/services/workflow-diff-engine.test.ts @@ -427,6 +427,158 @@ describe('WorkflowDiffEngine', () => { expect(result.errors![0].message).toContain('Missing required parameter \'updates\''); expect(result.errors![0].message).toContain('Correct structure:'); }); + + it('should apply __patch_find_replace to string properties (#642)', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: { jsCode: 'const x = 1;\nreturn x + 2;' } + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'updateNode' as const, + nodeName: 'Code', + updates: { + 'parameters.jsCode': { + __patch_find_replace: [ + { find: 'x + 2', replace: 'x + 3' } + ] + } + } + }] + }); + + expect(result.success).toBe(true); + const codeNode = result.workflow.nodes.find((n: any) => n.name === 'Code'); + expect(codeNode?.parameters.jsCode).toBe('const x = 1;\nreturn x + 3;'); + }); + + it('should apply multiple sequential __patch_find_replace patches', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: { jsCode: 'const a = 1;\nconst b = 2;\nreturn a + b;' } + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'updateNode' as const, + nodeName: 'Code', + updates: { + 'parameters.jsCode': { + __patch_find_replace: [ + { find: 'const a = 1', replace: 'const a = 10' }, + { find: 'const b = 2', replace: 'const b = 20' } + ] + } + } + }] + }); + + expect(result.success).toBe(true); + const codeNode = result.workflow.nodes.find((n: any) => n.name === 'Code'); + expect(codeNode?.parameters.jsCode).toBe('const a = 10;\nconst b = 20;\nreturn a + b;'); + }); + + it('should reject __patch_find_replace on non-string properties', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: { retryCount: 3 } + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'updateNode' as const, + nodeName: 'Code', + updates: { + 'parameters.retryCount': { + __patch_find_replace: [ + { find: '3', replace: '5' } + ] + } + } + }] + }); + + expect(result.success).toBe(false); + expect(result.errors?.[0]?.message).toContain('__patch_find_replace'); + }); + + it('should reject __patch_find_replace with invalid format', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: { jsCode: 'const x = 1;' } + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'updateNode' as const, + nodeName: 'Code', + updates: { + 'parameters.jsCode': { + __patch_find_replace: 'not an array' + } + } + }] + }); + + expect(result.success).toBe(false); + expect(result.errors?.[0]?.message).toContain('must be an array'); + }); + + it('should warn when __patch_find_replace find string not found', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: { jsCode: 'const x = 1;' } + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'updateNode' as const, + nodeName: 'Code', + updates: { + 'parameters.jsCode': { + __patch_find_replace: [ + { find: 'nonexistent text', replace: 'something' } + ] + } + } + }] + }); + + expect(result.success).toBe(true); + expect(result.warnings).toBeDefined(); + expect(result.warnings!.some(w => w.message.includes('not found'))).toBe(true); + }); }); describe('MoveNode Operation', () => { @@ -766,6 +918,97 @@ describe('WorkflowDiffEngine', () => { expect(result.errors![0].message).toContain('HTTP Request'); expect(result.errors![0].message).toContain('Slack'); }); + + it('should remap numeric targetInput to main (#659)', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: {} + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'addConnection' as const, + source: 'Slack', + target: 'Code', + sourceOutput: 'main', + targetInput: '0', + sourceIndex: 0, + targetIndex: 0 + }] + }); + + expect(result.success).toBe(true); + expect(result.workflow.connections['Slack']['main'][0][0].type).toBe('main'); + }); + + it('should remap sourceOutput 0 with explicit sourceIndex 0 (#659)', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'code-1', + name: 'Code', + type: 'n8n-nodes-base.code', + typeVersion: 1, + position: [900, 300], + parameters: {} + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'addConnection' as const, + source: 'Slack', + target: 'Code', + sourceOutput: '0', + sourceIndex: 0, + targetIndex: 0 + }] + }); + + expect(result.success).toBe(true); + expect(result.workflow.connections['Slack']['main']).toBeDefined(); + expect(result.workflow.connections['Slack']['0']).toBeUndefined(); + expect(result.workflow.connections['Slack']['main'][0][0].type).toBe('main'); + }); + + it('should preserve named targetInput like ai_tool', async () => { + const workflow = JSON.parse(JSON.stringify(baseWorkflow)); + workflow.nodes.push({ + id: 'agent-1', + name: 'AI Agent', + type: '@n8n/n8n-nodes-langchain.agent', + typeVersion: 1, + position: [900, 300], + parameters: {} + }); + workflow.nodes.push({ + id: 'tool-1', + name: 'Calculator', + type: '@n8n/n8n-nodes-langchain.toolCalculator', + typeVersion: 1, + position: [1100, 300], + parameters: {} + }); + + const result = await diffEngine.applyDiff(workflow, { + id: 'test', + operations: [{ + type: 'addConnection' as const, + source: 'Calculator', + target: 'AI Agent', + sourceOutput: 'ai_tool', + targetInput: 'ai_tool' + }] + }); + + expect(result.success).toBe(true); + expect(result.workflow.connections['Calculator']['ai_tool'][0][0].type).toBe('ai_tool'); + }); }); describe('RemoveConnection Operation', () => {