Files
n8n-mcp/dist/services/workflow-diff-engine.d.ts
Romuald Członkowski 6be9ffa53e fix: correct operator names, connection types, and implement __patch_find_replace (#665, #659, #642) (#672)
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) <noreply@anthropic.com>
2026-03-27 16:26:21 +01:00

53 lines
1.8 KiB
TypeScript

import { WorkflowDiffRequest, WorkflowDiffResult } from '../types/workflow-diff';
import { Workflow } from '../types/n8n-api';
export declare class WorkflowDiffEngine {
private renameMap;
private warnings;
private modifiedNodeIds;
private removedNodeNames;
private tagsToAdd;
private tagsToRemove;
private transferToProjectId;
applyDiff(workflow: Workflow, request: WorkflowDiffRequest): Promise<WorkflowDiffResult>;
private validateOperation;
private applyOperation;
private validateAddNode;
private validateRemoveNode;
private validateUpdateNode;
private validateMoveNode;
private validateToggleNode;
private validateAddConnection;
private validateRemoveConnection;
private validateRewireConnection;
private applyAddNode;
private applyRemoveNode;
private applyUpdateNode;
private applyMoveNode;
private applyEnableNode;
private applyDisableNode;
private resolveSmartParameters;
private applyAddConnection;
private applyRemoveConnection;
private applyRewireConnection;
private applyUpdateSettings;
private applyUpdateName;
private applyAddTag;
private applyRemoveTag;
private validateActivateWorkflow;
private validateDeactivateWorkflow;
private applyActivateWorkflow;
private applyDeactivateWorkflow;
private validateTransferWorkflow;
private applyTransferWorkflow;
private validateCleanStaleConnections;
private validateReplaceConnections;
private applyCleanStaleConnections;
private applyReplaceConnections;
private updateConnectionReferences;
private normalizeNodeName;
private findNode;
private formatNodeNotFoundError;
private getNestedProperty;
private setNestedProperty;
}
//# sourceMappingURL=workflow-diff-engine.d.ts.map