n8n-mcp
Version:
Integration between n8n workflow automation and Model Context Protocol (MCP)
113 lines • 3.61 kB
TypeScript
import { WorkflowNode } from './n8n-api';
export interface DiffOperation {
type: string;
description?: string;
}
export interface AddNodeOperation extends DiffOperation {
type: 'addNode';
node: Partial<WorkflowNode> & {
name: string;
type: string;
position: [number, number];
};
}
export interface RemoveNodeOperation extends DiffOperation {
type: 'removeNode';
nodeId?: string;
nodeName?: string;
}
export interface UpdateNodeOperation extends DiffOperation {
type: 'updateNode';
nodeId?: string;
nodeName?: string;
changes: {
[path: string]: any;
};
}
export interface MoveNodeOperation extends DiffOperation {
type: 'moveNode';
nodeId?: string;
nodeName?: string;
position: [number, number];
}
export interface EnableNodeOperation extends DiffOperation {
type: 'enableNode';
nodeId?: string;
nodeName?: string;
}
export interface DisableNodeOperation extends DiffOperation {
type: 'disableNode';
nodeId?: string;
nodeName?: string;
}
export interface AddConnectionOperation extends DiffOperation {
type: 'addConnection';
source: string;
target: string;
sourceOutput?: string;
targetInput?: string;
sourceIndex?: number;
targetIndex?: number;
}
export interface RemoveConnectionOperation extends DiffOperation {
type: 'removeConnection';
source: string;
target: string;
sourceOutput?: string;
targetInput?: string;
}
export interface UpdateConnectionOperation extends DiffOperation {
type: 'updateConnection';
source: string;
target: string;
changes: {
sourceOutput?: string;
targetInput?: string;
sourceIndex?: number;
targetIndex?: number;
};
}
export interface UpdateSettingsOperation extends DiffOperation {
type: 'updateSettings';
settings: {
[key: string]: any;
};
}
export interface UpdateNameOperation extends DiffOperation {
type: 'updateName';
name: string;
}
export interface AddTagOperation extends DiffOperation {
type: 'addTag';
tag: string;
}
export interface RemoveTagOperation extends DiffOperation {
type: 'removeTag';
tag: string;
}
export type WorkflowDiffOperation = AddNodeOperation | RemoveNodeOperation | UpdateNodeOperation | MoveNodeOperation | EnableNodeOperation | DisableNodeOperation | AddConnectionOperation | RemoveConnectionOperation | UpdateConnectionOperation | UpdateSettingsOperation | UpdateNameOperation | AddTagOperation | RemoveTagOperation;
export interface WorkflowDiffRequest {
id: string;
operations: WorkflowDiffOperation[];
validateOnly?: boolean;
}
export interface WorkflowDiffValidationError {
operation: number;
message: string;
details?: any;
}
export interface WorkflowDiffResult {
success: boolean;
workflow?: any;
errors?: WorkflowDiffValidationError[];
operationsApplied?: number;
message?: string;
}
export interface NodeReference {
id?: string;
name?: string;
}
export declare function isNodeOperation(op: WorkflowDiffOperation): op is AddNodeOperation | RemoveNodeOperation | UpdateNodeOperation | MoveNodeOperation | EnableNodeOperation | DisableNodeOperation;
export declare function isConnectionOperation(op: WorkflowDiffOperation): op is AddConnectionOperation | RemoveConnectionOperation | UpdateConnectionOperation;
export declare function isMetadataOperation(op: WorkflowDiffOperation): op is UpdateSettingsOperation | UpdateNameOperation | AddTagOperation | RemoveTagOperation;
//# sourceMappingURL=workflow-diff.d.ts.map