mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-04-03 08:03:07 +00:00
Add dedicated `patchNodeField` operation to `n8n_update_partial_workflow` for surgical find/replace edits in node string fields. Strict alternative to the existing `__patch_find_replace` in updateNode — errors on not-found, detects ambiguous matches, supports replaceAll and regex flags. Security hardening: - Prototype pollution protection in setNestedProperty/getNestedProperty - ReDoS protection rejecting unsafe regex patterns (nested quantifiers) - Resource limits: max 50 patches, 500-char regex, 512KB field size Fixes #696 Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
55 lines
1.8 KiB
TypeScript
55 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 validatePatchNodeField;
|
|
private validateMoveNode;
|
|
private validateToggleNode;
|
|
private validateAddConnection;
|
|
private validateRemoveConnection;
|
|
private validateRewireConnection;
|
|
private applyAddNode;
|
|
private applyRemoveNode;
|
|
private applyUpdateNode;
|
|
private applyPatchNodeField;
|
|
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
|