@n8n/node-engine-compatibility 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ export declare const MANUAL_TRIGGER_TYPE = "n8n-nodes-base.manualTrigger";
2
+ export declare const SPLIT_IN_BATCHES_TYPE = "n8n-nodes-base.splitInBatches";
3
+ export declare const MAIN_CONNECTION_TYPE = "main";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAIN_CONNECTION_TYPE = exports.SPLIT_IN_BATCHES_TYPE = exports.MANUAL_TRIGGER_TYPE = void 0;
4
+ exports.MANUAL_TRIGGER_TYPE = 'n8n-nodes-base.manualTrigger';
5
+ exports.SPLIT_IN_BATCHES_TYPE = 'n8n-nodes-base.splitInBatches';
6
+ exports.MAIN_CONNECTION_TYPE = 'main';
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,8BAA8B,CAAC;AACrD,QAAA,qBAAqB,GAAG,+BAA+B,CAAC;AACxD,QAAA,oBAAoB,GAAG,MAAM,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -1,21 +1,30 @@
1
- import { UserError } from 'n8n-workflow';
1
+ import { UnexpectedError, UserError } from 'n8n-workflow';
2
2
  export declare class UnsupportedWorkflowError extends UserError {
3
3
  }
4
4
  export declare class UnsupportedTriggerError extends UserError {
5
5
  constructor(nodeName: string, nodeType: string);
6
6
  }
7
+ export declare class UnsupportedConnectionTypeError extends UserError {
8
+ constructor(nodeName: string, connectionType: string);
9
+ }
10
+ export declare class UnsupportedCycleError extends UserError {
11
+ constructor(nodeNames: string[]);
12
+ }
13
+ export declare class UnsupportedLoopEntryError extends UserError {
14
+ constructor(memberNames: string[], entryNames: string[]);
15
+ }
7
16
  export declare class UnsupportedStepTypeError extends UserError {
8
17
  constructor(stepType: string);
9
18
  }
10
19
  export declare class MalformedStepConfigError extends UserError {
11
20
  constructor(stepName: string);
12
21
  }
13
- export declare class UnknownNodeTypeError extends UserError {
14
- constructor(nodeType: string);
15
- }
16
22
  export declare class UnsupportedNodeTypeError extends UserError {
17
23
  constructor(nodeType: string);
18
24
  }
25
+ export declare class VmExpressionEngineRequiredError extends UnexpectedError {
26
+ constructor();
27
+ }
19
28
  export declare class EngineRequestNotSupportedError extends UserError {
20
29
  constructor(nodeType: string);
21
30
  }
package/dist/errors.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EngineRequestNotSupportedError = exports.UnsupportedNodeTypeError = exports.UnknownNodeTypeError = exports.MalformedStepConfigError = exports.UnsupportedStepTypeError = exports.UnsupportedTriggerError = exports.UnsupportedWorkflowError = void 0;
3
+ exports.EngineRequestNotSupportedError = exports.VmExpressionEngineRequiredError = exports.UnsupportedNodeTypeError = exports.MalformedStepConfigError = exports.UnsupportedStepTypeError = exports.UnsupportedLoopEntryError = exports.UnsupportedCycleError = exports.UnsupportedConnectionTypeError = exports.UnsupportedTriggerError = exports.UnsupportedWorkflowError = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
+ const quote = (names) => names.map((name) => `"${name}"`).join(', ');
5
6
  class UnsupportedWorkflowError extends n8n_workflow_1.UserError {
6
7
  }
7
8
  exports.UnsupportedWorkflowError = UnsupportedWorkflowError;
@@ -11,6 +12,24 @@ class UnsupportedTriggerError extends n8n_workflow_1.UserError {
11
12
  }
12
13
  }
13
14
  exports.UnsupportedTriggerError = UnsupportedTriggerError;
15
+ class UnsupportedConnectionTypeError extends n8n_workflow_1.UserError {
16
+ constructor(nodeName, connectionType) {
17
+ super(`Node "${nodeName}" has a "${connectionType}" connection, which is not supported yet. Only "main" connections are currently supported.`);
18
+ }
19
+ }
20
+ exports.UnsupportedConnectionTypeError = UnsupportedConnectionTypeError;
21
+ class UnsupportedCycleError extends n8n_workflow_1.UserError {
22
+ constructor(nodeNames) {
23
+ super(`The cycle involving ${quote(nodeNames)} is not supported yet. Only Split In Batches loops are currently supported.`);
24
+ }
25
+ }
26
+ exports.UnsupportedCycleError = UnsupportedCycleError;
27
+ class UnsupportedLoopEntryError extends n8n_workflow_1.UserError {
28
+ constructor(memberNames, entryNames) {
29
+ super(`The loop formed by ${quote(memberNames)} must be entered only through its Split In Batches node, but its entry points are: ${quote(entryNames)}.`);
30
+ }
31
+ }
32
+ exports.UnsupportedLoopEntryError = UnsupportedLoopEntryError;
14
33
  class UnsupportedStepTypeError extends n8n_workflow_1.UserError {
15
34
  constructor(stepType) {
16
35
  super(`V1StepExecutor only handles 'v1-node' steps, got '${stepType}'`);
@@ -23,18 +42,18 @@ class MalformedStepConfigError extends n8n_workflow_1.UserError {
23
42
  }
24
43
  }
25
44
  exports.MalformedStepConfigError = MalformedStepConfigError;
26
- class UnknownNodeTypeError extends n8n_workflow_1.UserError {
27
- constructor(nodeType) {
28
- super(`Unknown node type "${nodeType}"`);
29
- }
30
- }
31
- exports.UnknownNodeTypeError = UnknownNodeTypeError;
32
45
  class UnsupportedNodeTypeError extends n8n_workflow_1.UserError {
33
46
  constructor(nodeType) {
34
47
  super(`Node type "${nodeType}" has no execute method and cannot run as a step`);
35
48
  }
36
49
  }
37
50
  exports.UnsupportedNodeTypeError = UnsupportedNodeTypeError;
51
+ class VmExpressionEngineRequiredError extends n8n_workflow_1.UnexpectedError {
52
+ constructor() {
53
+ super('V1StepExecutor requires the VM expression engine. Initialize it via `Expression.initExpressionEngine()` before executing steps.');
54
+ }
55
+ }
56
+ exports.VmExpressionEngineRequiredError = VmExpressionEngineRequiredError;
38
57
  class EngineRequestNotSupportedError extends n8n_workflow_1.UserError {
39
58
  constructor(nodeType) {
40
59
  super(`Node type "${nodeType}" returned an engine request, but sub-node execution is not supported`);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAMzC,8BAAsC,SAAQ,wBAAS;CAAG;;AAE1D,6BAAqC,SAAQ,wBAAS;IACrD,YAAY,QAAgB,EAAE,QAAgB;QAC7C,KAAK,CACJ,iBAAiB,QAAQ,MAAM,QAAQ,yEAAyE,CAChH,CAAC;IACH,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,qDAAqD,QAAQ,GAAG,CAAC,CAAC;IACzE,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,SAAS,QAAQ,6CAA6C,CAAC,CAAC;IACvE,CAAC;CACD;;AAED,0BAAkC,SAAQ,wBAAS;IAClD,YAAY,QAAgB;QAC3B,KAAK,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC;IAC1C,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,cAAc,QAAQ,kDAAkD,CAAC,CAAC;IACjF,CAAC;CACD;;AAED,oCAA4C,SAAQ,wBAAS;IAC5D,YAAY,QAAgB;QAC3B,KAAK,CACJ,cAAc,QAAQ,uEAAuE,CAC7F,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,+CAA0D;AAE1D,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAM/E,8BAAsC,SAAQ,wBAAS;CAAG;;AAE1D,6BAAqC,SAAQ,wBAAS;IACrD,YAAY,QAAgB,EAAE,QAAgB;QAC7C,KAAK,CACJ,iBAAiB,QAAQ,MAAM,QAAQ,yEAAyE,CAChH,CAAC;IACH,CAAC;CACD;;AAED,oCAA4C,SAAQ,wBAAS;IAC5D,YAAY,QAAgB,EAAE,cAAsB;QACnD,KAAK,CACJ,SAAS,QAAQ,YAAY,cAAc,4FAA4F,CACvI,CAAC;IACH,CAAC;CACD;;AAED,2BAAmC,SAAQ,wBAAS;IACnD,YAAY,SAAmB;QAC9B,KAAK,CACJ,uBAAuB,KAAK,CAAC,SAAS,CAAC,6EAA6E,CACpH,CAAC;IACH,CAAC;CACD;;AAED,+BAAuC,SAAQ,wBAAS;IACvD,YAAY,WAAqB,EAAE,UAAoB;QACtD,KAAK,CACJ,sBAAsB,KAAK,CAAC,WAAW,CAAC,sFAAsF,KAAK,CAAC,UAAU,CAAC,GAAG,CAClJ,CAAC;IACH,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,qDAAqD,QAAQ,GAAG,CAAC,CAAC;IACzE,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,SAAS,QAAQ,6CAA6C,CAAC,CAAC;IACvE,CAAC;CACD;;AAED,8BAAsC,SAAQ,wBAAS;IACtD,YAAY,QAAgB;QAC3B,KAAK,CAAC,cAAc,QAAQ,kDAAkD,CAAC,CAAC;IACjF,CAAC;CACD;;AAED,qCAA6C,SAAQ,8BAAe;IACnE;QACC,KAAK,CACJ,iIAAiI,CACjI,CAAC;IACH,CAAC;CACD;;AAED,oCAA4C,SAAQ,wBAAS;IAC5D,YAAY,QAAgB;QAC3B,KAAK,CACJ,cAAc,QAAQ,uEAAuE,CAC7F,CAAC;IACH,CAAC;CACD"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { V1WorkflowConverter } from './v1-workflow-converter';
2
2
  export { V1StepExecutor } from './v1-step-executor';
3
3
  export { UnsupportedTriggerError, UnsupportedWorkflowError } from './errors';
4
- export type { V1StepExecutorDeps } from './types';
4
+ export type { StepData, StepDataLoader, V1StepExecutorDeps } from './types';
package/dist/types.d.ts CHANGED
@@ -1,15 +1,24 @@
1
- import type { StepExecutionContext } from '@n8n/engine';
1
+ import type { JsonValue, StepExecutionContext, WorkflowGraph } from '@n8n/engine';
2
2
  import type { ExecuteContext } from 'n8n-core';
3
- import type { INodeExecutionData, INodeParameters, INodeType, INodeTypes, IWorkflowExecuteAdditionalData } from 'n8n-workflow';
3
+ import type { INode, INodeExecutionData, INodeParameters, INodeType, INodeTypes, IRunData, ISourceData, IWorkflowBase, IWorkflowExecuteAdditionalData, Workflow } from 'n8n-workflow';
4
4
  export interface V1NodeStepConfig {
5
5
  nodeType: string;
6
6
  typeVersion: number;
7
7
  parameters: INodeParameters;
8
8
  continueOnFail: boolean;
9
9
  }
10
+ export interface V1Execution extends Pick<IWorkflowBase, 'nodes' | 'connections'> {
11
+ runData: IRunData;
12
+ }
13
+ export interface StepData {
14
+ graph: WorkflowGraph;
15
+ outputsByStepId: Record<string, JsonValue>;
16
+ }
17
+ export type StepDataLoader = (context: StepExecutionContext) => Promise<StepData>;
10
18
  export interface V1StepExecutorDeps {
11
19
  nodeTypes: INodeTypes;
12
20
  additionalDataFactory: (executionId: string) => Promise<IWorkflowExecuteAdditionalData>;
21
+ loadStepData: StepDataLoader;
13
22
  }
14
23
  export type ExecutableNodeType = INodeType & {
15
24
  execute: NonNullable<INodeType['execute']>;
@@ -21,14 +30,16 @@ export type NodeRunResult = {
21
30
  ok: false;
22
31
  error: unknown;
23
32
  };
24
- export interface CreateNodeExecuteContextParams {
25
- nodeId: string;
26
- nodeName: string;
27
- stepConfig: V1NodeStepConfig;
33
+ export interface CreateExecuteContextParams {
34
+ node: INode;
35
+ workflow: Workflow;
36
+ execution: V1Execution;
37
+ source: Array<ISourceData | null>;
38
+ additionalData: IWorkflowExecuteAdditionalData;
28
39
  itemsByConnection: INodeExecutionData[][];
29
40
  stepContext: StepExecutionContext;
30
41
  }
31
42
  export interface RunNodeParams {
32
43
  nodeType: ExecutableNodeType;
33
- nodeExecuteContext: ExecuteContext;
44
+ context: ExecuteContext;
34
45
  }
@@ -0,0 +1,10 @@
1
+ import type { GraphNode, JsonValue, WorkflowGraph } from '@n8n/engine';
2
+ import { ExecuteContext } from 'n8n-core';
3
+ import type { INode, INodeTypes, ISourceData } from 'n8n-workflow';
4
+ import { Workflow } from 'n8n-workflow';
5
+ import type { CreateExecuteContextParams, V1Execution, V1NodeStepConfig } from './types';
6
+ export declare function toV1Execution(graph: WorkflowGraph, outputsByStepId: Record<string, JsonValue>): V1Execution;
7
+ export declare function toV1Sources(graph: WorkflowGraph): Map<string, Array<ISourceData | null>>;
8
+ export declare function toV1Workflow(workflowId: string, node: INode, execution: V1Execution, nodeTypes: INodeTypes): Workflow;
9
+ export declare function toV1Node(graphNode: GraphNode, config: V1NodeStepConfig): INode;
10
+ export declare function toV1ExecuteContext({ node, workflow, execution, source, additionalData, stepContext, itemsByConnection, }: CreateExecuteContextParams): ExecuteContext;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toV1Execution = toV1Execution;
4
+ exports.toV1Sources = toV1Sources;
5
+ exports.toV1Workflow = toV1Workflow;
6
+ exports.toV1Node = toV1Node;
7
+ exports.toV1ExecuteContext = toV1ExecuteContext;
8
+ const n8n_core_1 = require("n8n-core");
9
+ const n8n_workflow_1 = require("n8n-workflow");
10
+ const constants_1 = require("./constants");
11
+ const guards_1 = require("./guards");
12
+ const io_1 = require("./io");
13
+ function toV1Execution(graph, outputsByStepId) {
14
+ return {
15
+ nodes: toV1Nodes(graph),
16
+ connections: toV1Connections(graph),
17
+ runData: toV1RunData(graph, outputsByStepId),
18
+ };
19
+ }
20
+ function toV1Nodes(graph) {
21
+ return graph.nodes.flatMap((graphNode) => {
22
+ if (graphNode.type === 'trigger') {
23
+ return [
24
+ {
25
+ id: graphNode.id,
26
+ name: graphNode.name,
27
+ type: constants_1.MANUAL_TRIGGER_TYPE,
28
+ typeVersion: 1,
29
+ position: [0, 0],
30
+ parameters: {},
31
+ },
32
+ ];
33
+ }
34
+ if (!(0, guards_1.isV1NodeStepConfig)(graphNode.config))
35
+ return [];
36
+ return [toV1Node(graphNode, graphNode.config)];
37
+ });
38
+ }
39
+ function toV1Connections(graph) {
40
+ const namesById = new Map(graph.nodes.map((node) => [node.id, node.name]));
41
+ const connections = {};
42
+ for (const edge of graph.edges) {
43
+ const fromName = namesById.get(edge.from);
44
+ const toName = namesById.get(edge.to);
45
+ if (fromName === undefined || toName === undefined)
46
+ continue;
47
+ const outputs = (connections[fromName] ??= { [constants_1.MAIN_CONNECTION_TYPE]: [] })[constants_1.MAIN_CONNECTION_TYPE];
48
+ const outputIndex = edge.outputIndex ?? 0;
49
+ while (outputs.length <= outputIndex)
50
+ outputs.push([]);
51
+ outputs[outputIndex].push({
52
+ node: toName,
53
+ type: constants_1.MAIN_CONNECTION_TYPE,
54
+ index: edge.inputIndex ?? 0,
55
+ });
56
+ }
57
+ return connections;
58
+ }
59
+ function toV1RunData(graph, outputsByStepId) {
60
+ const namesById = new Map(graph.nodes.map((node) => [node.id, node.name]));
61
+ const sourcesByStepId = toV1Sources(graph);
62
+ const runData = {};
63
+ for (const [completedStepId, outputs] of Object.entries(outputsByStepId)) {
64
+ const nodeName = namesById.get(completedStepId);
65
+ if (nodeName === undefined)
66
+ continue;
67
+ runData[nodeName] = [
68
+ {
69
+ startTime: 0,
70
+ executionTime: 0,
71
+ executionIndex: 0,
72
+ source: sourcesByStepId.get(completedStepId) ?? [],
73
+ data: { [constants_1.MAIN_CONNECTION_TYPE]: (0, io_1.fromStepInputs)(outputs) },
74
+ },
75
+ ];
76
+ }
77
+ return runData;
78
+ }
79
+ function toV1Sources(graph) {
80
+ const namesById = new Map(graph.nodes.map((node) => [node.id, node.name]));
81
+ const sourcesByStepId = new Map();
82
+ for (const edge of graph.edges) {
83
+ if (edge.isBackEdge === true)
84
+ continue;
85
+ const fromName = namesById.get(edge.from);
86
+ if (fromName === undefined)
87
+ continue;
88
+ const source = sourcesByStepId.get(edge.to) ?? [];
89
+ const inputIndex = edge.inputIndex ?? 0;
90
+ while (source.length <= inputIndex)
91
+ source.push(null);
92
+ source[inputIndex] ??= { previousNode: fromName, previousNodeOutput: edge.outputIndex };
93
+ sourcesByStepId.set(edge.to, source);
94
+ }
95
+ return sourcesByStepId;
96
+ }
97
+ function toV1Workflow(workflowId, node, execution, nodeTypes) {
98
+ const siblingNodes = execution.nodes.filter((executionNode) => executionNode.id !== node.id);
99
+ return new n8n_workflow_1.Workflow({
100
+ id: workflowId,
101
+ nodes: [node, ...siblingNodes],
102
+ connections: execution.connections,
103
+ active: false,
104
+ nodeTypes: tolerantNodeTypes(nodeTypes),
105
+ });
106
+ }
107
+ function toV1Node(graphNode, config) {
108
+ return {
109
+ id: graphNode.id,
110
+ name: graphNode.name,
111
+ type: config.nodeType,
112
+ typeVersion: config.typeVersion,
113
+ position: [0, 0],
114
+ parameters: config.parameters,
115
+ continueOnFail: config.continueOnFail,
116
+ };
117
+ }
118
+ function tolerantNodeTypes(nodeTypes) {
119
+ return {
120
+ getByName: (type) => nodeTypes.getByName(type),
121
+ getKnownTypes: () => nodeTypes.getKnownTypes(),
122
+ getByNameAndVersion: (type, version) => {
123
+ try {
124
+ return nodeTypes.getByNameAndVersion(type, version);
125
+ }
126
+ catch (error) {
127
+ if (error instanceof n8n_core_1.UnrecognizedNodeTypeError)
128
+ return undefined;
129
+ throw error;
130
+ }
131
+ },
132
+ };
133
+ }
134
+ function toV1ExecuteContext({ node, workflow, execution, source, additionalData, stepContext, itemsByConnection, }) {
135
+ const firstInput = itemsByConnection[0] ?? [];
136
+ const connectionInputData = firstInput.length > 0 ? firstInput : [{ json: {} }];
137
+ const inputData = {
138
+ main: [connectionInputData, ...itemsByConnection.slice(1)],
139
+ };
140
+ const runExecutionData = (0, n8n_workflow_1.createRunExecutionData)({
141
+ startData: {},
142
+ resultData: { runData: execution.runData },
143
+ executionData: {
144
+ contextData: {},
145
+ nodeExecutionStack: [],
146
+ metadata: {},
147
+ waitingExecution: {},
148
+ waitingExecutionSource: null,
149
+ },
150
+ });
151
+ const executeData = {
152
+ node,
153
+ data: inputData,
154
+ source: source.length > 0 ? { main: source } : null,
155
+ };
156
+ const mode = stepContext.mode === 'production' ? 'trigger' : 'manual';
157
+ return new n8n_core_1.ExecuteContext(workflow, node, additionalData, mode, runExecutionData, 0, connectionInputData, inputData, executeData, []);
158
+ }
159
+ //# sourceMappingURL=v1-adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1-adapters.js","sourceRoot":"","sources":["../src/v1-adapters.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export declare class V1StepExecutor implements IStepExecutor {
4
4
  private readonly deps;
5
5
  constructor(deps: V1StepExecutorDeps);
6
6
  execute(request: StepExecutionRequest): Promise<StepExecutionResult>;
7
+ private validateExpressionEngine;
7
8
  private validateStepConfig;
8
9
  private resolveNodeType;
9
- private createNodeExecuteContext;
10
10
  private runNode;
11
11
  }
@@ -6,23 +6,39 @@ const n8n_workflow_1 = require("n8n-workflow");
6
6
  const errors_1 = require("./errors");
7
7
  const guards_1 = require("./guards");
8
8
  const io_1 = require("./io");
9
+ const v1_adapters_1 = require("./v1-adapters");
9
10
  class V1StepExecutor {
10
11
  deps;
11
12
  constructor(deps) {
12
13
  this.deps = deps;
13
14
  }
14
15
  async execute(request) {
16
+ this.validateExpressionEngine();
15
17
  const stepConfig = this.validateStepConfig(request.node);
16
18
  const nodeType = this.resolveNodeType(stepConfig);
17
- const nodeExecuteContext = await this.createNodeExecuteContext({
18
- nodeId: request.node.id,
19
- nodeName: request.node.name,
19
+ const stepData = await this.deps.loadStepData(request.context);
20
+ const node = (0, v1_adapters_1.toV1Node)(request.node, stepConfig);
21
+ const execution = (0, v1_adapters_1.toV1Execution)(stepData.graph, stepData.outputsByStepId);
22
+ const workflow = (0, v1_adapters_1.toV1Workflow)(request.context.workflowId, node, execution, this.deps.nodeTypes);
23
+ const additionalData = await this.deps.additionalDataFactory(request.context.executionId);
24
+ const context = (0, v1_adapters_1.toV1ExecuteContext)({
25
+ node,
26
+ workflow,
27
+ execution,
28
+ source: (0, v1_adapters_1.toV1Sources)(stepData.graph).get(node.id) ?? [],
29
+ additionalData,
20
30
  stepContext: request.context,
21
- stepConfig,
22
31
  itemsByConnection: (0, io_1.fromStepInputs)(request.inputs),
23
32
  });
24
- const nodeResult = await this.runNode({ nodeType, nodeExecuteContext });
25
- return { outputs: (0, io_1.toStepOutputs)(nodeResult) };
33
+ return await workflow.expression.withIsolate(async () => {
34
+ const nodeResult = await this.runNode({ nodeType, context });
35
+ return { outputs: (0, io_1.toStepOutputs)(nodeResult) };
36
+ });
37
+ }
38
+ validateExpressionEngine() {
39
+ if (n8n_workflow_1.Expression.getActiveImplementation() !== 'vm') {
40
+ throw new errors_1.VmExpressionEngineRequiredError();
41
+ }
26
42
  }
27
43
  validateStepConfig({ type, name, config }) {
28
44
  if (type !== 'v1-node')
@@ -33,62 +49,26 @@ class V1StepExecutor {
33
49
  }
34
50
  resolveNodeType({ nodeType: typeName, typeVersion, }) {
35
51
  const nodeType = this.deps.nodeTypes.getByNameAndVersion(typeName, typeVersion);
36
- if (!nodeType)
37
- throw new errors_1.UnknownNodeTypeError(typeName);
52
+ if (!nodeType) {
53
+ const [packageName, name = typeName] = typeName.split('.');
54
+ throw new n8n_core_1.UnrecognizedNodeTypeError(packageName, name);
55
+ }
38
56
  if (typeof nodeType.execute !== 'function')
39
57
  throw new errors_1.UnsupportedNodeTypeError(typeName);
40
58
  return nodeType;
41
59
  }
42
- async createNodeExecuteContext({ nodeId, nodeName, stepConfig, stepContext: stepCtx, itemsByConnection, }) {
43
- const node = {
44
- id: nodeId,
45
- name: nodeName,
46
- type: stepConfig.nodeType,
47
- typeVersion: stepConfig.typeVersion,
48
- position: [0, 0],
49
- parameters: stepConfig.parameters,
50
- continueOnFail: stepConfig.continueOnFail,
51
- };
52
- const workflow = new n8n_workflow_1.Workflow({
53
- id: stepCtx.workflowId,
54
- nodes: [node],
55
- connections: {},
56
- active: false,
57
- nodeTypes: this.deps.nodeTypes,
58
- });
59
- const firstInput = itemsByConnection[0] ?? [];
60
- const connectionInputData = firstInput.length > 0 ? firstInput : [{ json: {} }];
61
- const inputData = {
62
- main: [connectionInputData, ...itemsByConnection.slice(1)],
63
- };
64
- const runExecutionData = (0, n8n_workflow_1.createRunExecutionData)({
65
- startData: {},
66
- resultData: { runData: {} },
67
- executionData: {
68
- contextData: {},
69
- nodeExecutionStack: [],
70
- metadata: {},
71
- waitingExecution: {},
72
- waitingExecutionSource: null,
73
- },
74
- });
75
- const executeData = { node, data: inputData, source: null };
76
- const mode = stepCtx.mode === 'production' ? 'trigger' : 'manual';
77
- const additionalData = await this.deps.additionalDataFactory(stepCtx.executionId);
78
- return new n8n_core_1.ExecuteContext(workflow, node, additionalData, mode, runExecutionData, 0, connectionInputData, inputData, executeData, []);
79
- }
80
- async runNode({ nodeType, nodeExecuteContext, }) {
60
+ async runNode({ nodeType, context }) {
81
61
  let result;
82
62
  try {
83
63
  const value = (0, n8n_workflow_1.isNodeClassInstance)(nodeType)
84
- ? await nodeType.execute(nodeExecuteContext)
85
- : await nodeType.execute.call(nodeExecuteContext);
64
+ ? await nodeType.execute(context)
65
+ : await nodeType.execute.call(context);
86
66
  result = { ok: true, value };
87
67
  }
88
68
  catch (error) {
89
69
  result = { ok: false, error };
90
70
  }
91
- const { closeFunctions } = nodeExecuteContext;
71
+ const { closeFunctions } = context;
92
72
  if (closeFunctions.length > 0) {
93
73
  const closeResults = await Promise.allSettled(closeFunctions.map(async (fn) => await fn()));
94
74
  if (result.ok) {
@@ -97,21 +77,21 @@ class V1StepExecutor {
97
77
  throw rejected.reason instanceof Error
98
78
  ? rejected.reason
99
79
  : new n8n_workflow_1.UnexpectedError("Error on node's close function", {
100
- extra: { nodeName: nodeExecuteContext.getNode().name },
80
+ extra: { nodeName: context.getNode().name },
101
81
  });
102
82
  }
103
83
  }
104
84
  }
105
85
  if (!result.ok) {
106
- if (!nodeExecuteContext.continueOnFail())
86
+ if (!context.continueOnFail())
107
87
  throw result.error;
108
- return [nodeExecuteContext.getInputData()];
88
+ return [context.getInputData()];
109
89
  }
110
90
  if (result.value === null || result.value === undefined)
111
91
  return [];
112
92
  if (Array.isArray(result.value))
113
93
  return result.value;
114
- throw new errors_1.EngineRequestNotSupportedError(nodeExecuteContext.getNode().type);
94
+ throw new errors_1.EngineRequestNotSupportedError(context.getNode().type);
115
95
  }
116
96
  }
117
97
  exports.V1StepExecutor = V1StepExecutor;
@@ -1 +1 @@
1
- {"version":3,"file":"v1-step-executor.js","sourceRoot":"","sources":["../src/v1-step-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v1-step-executor.js","sourceRoot":"","sources":["../src/v1-step-executor.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,12 @@ export declare class V1WorkflowConverter {
4
4
  convert(workflow: IWorkflowBase): WorkflowGraph;
5
5
  private toGraphNode;
6
6
  private isTriggerNode;
7
+ private toEdges;
8
+ private toEdgesForSource;
9
+ private validateSupportedConnectionType;
10
+ private spliceOutDisabledNodes;
11
+ private dedupeEdges;
12
+ private markBackEdges;
13
+ private resolveSingleBatchEntry;
14
+ private computeSccs;
7
15
  }