@n8n/node-engine-compatibility 0.1.0 → 0.2.0

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.
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.V1WorkflowConverter = void 0;
4
+ const constants_1 = require("./constants");
4
5
  const errors_1 = require("./errors");
5
- const MANUAL_TRIGGER_TYPE = 'n8n-nodes-base.manualTrigger';
6
6
  const KNOWN_TRIGGER_TYPES = new Set(['n8n-nodes-base.webhook', 'n8n-nodes-base.cron']);
7
7
  class V1WorkflowConverter {
8
8
  convert(workflow) {
9
- const nodes = workflow.nodes.map((node) => this.toGraphNode(node));
10
- return { nodes, edges: [] };
9
+ const liveNodes = workflow.nodes.filter((node) => node.disabled !== true);
10
+ const disabledNodeIds = workflow.nodes
11
+ .filter((node) => node.disabled === true)
12
+ .map((node) => node.id);
13
+ const nodes = liveNodes.map((node) => this.toGraphNode(node));
14
+ let edges = this.toEdges(workflow);
15
+ edges = this.spliceOutDisabledNodes(edges, disabledNodeIds);
16
+ edges = this.dedupeEdges(edges);
17
+ this.markBackEdges(nodes, edges);
18
+ return { nodes, edges };
11
19
  }
12
20
  toGraphNode(node) {
13
- if (node.type === MANUAL_TRIGGER_TYPE) {
21
+ if (node.type === constants_1.MANUAL_TRIGGER_TYPE) {
14
22
  return { id: node.id, name: node.name, type: 'trigger' };
15
23
  }
16
24
  if (this.isTriggerNode(node)) {
@@ -25,13 +33,150 @@ class V1WorkflowConverter {
25
33
  parameters: node.parameters,
26
34
  continueOnFail: node.continueOnFail === true || node.onError === 'continueRegularOutput',
27
35
  };
28
- return { id: node.id, name: node.name, type: 'v1-node', config };
36
+ const type = node.type === constants_1.SPLIT_IN_BATCHES_TYPE ? 'batch' : 'v1-node';
37
+ return { id: node.id, name: node.name, type, config };
29
38
  }
30
39
  isTriggerNode(node) {
31
- return (node.type === MANUAL_TRIGGER_TYPE ||
40
+ return (node.type === constants_1.MANUAL_TRIGGER_TYPE ||
32
41
  KNOWN_TRIGGER_TYPES.has(node.type) ||
33
42
  node.type.toLowerCase().endsWith('trigger'));
34
43
  }
44
+ toEdges(workflow) {
45
+ const idsByName = new Map(workflow.nodes.map((node) => [node.name, node.id]));
46
+ return Object.entries(workflow.connections).flatMap(([sourceName, connectionsByType]) => this.toEdgesForSource(sourceName, connectionsByType, idsByName));
47
+ }
48
+ toEdgesForSource(sourceName, connectionsByType, idsByName) {
49
+ const from = idsByName.get(sourceName);
50
+ const edges = [];
51
+ for (const [connectionType, outputSlots] of Object.entries(connectionsByType)) {
52
+ this.validateSupportedConnectionType(sourceName, connectionType);
53
+ for (let outputIndex = 0; outputIndex < outputSlots.length; outputIndex++) {
54
+ for (const connection of outputSlots[outputIndex] ?? []) {
55
+ this.validateSupportedConnectionType(sourceName, connection.type);
56
+ const to = idsByName.get(connection.node);
57
+ if (from === undefined || to === undefined)
58
+ continue;
59
+ edges.push({ from, to, outputIndex, inputIndex: connection.index });
60
+ }
61
+ }
62
+ }
63
+ return edges;
64
+ }
65
+ validateSupportedConnectionType(nodeName, connectionType) {
66
+ if (connectionType !== constants_1.MAIN_CONNECTION_TYPE) {
67
+ throw new errors_1.UnsupportedConnectionTypeError(nodeName, connectionType);
68
+ }
69
+ }
70
+ spliceOutDisabledNodes(edges, disabledNodeIds) {
71
+ for (const disabledNodeId of disabledNodeIds) {
72
+ const incoming = edges.filter((edge) => edge.to === disabledNodeId && edge.from !== disabledNodeId && edge.inputIndex === 0);
73
+ const outgoing = edges.filter((edge) => edge.from === disabledNodeId && edge.to !== disabledNodeId);
74
+ const spliced = incoming.flatMap((into) => outgoing.map((outOf) => ({
75
+ from: into.from,
76
+ to: outOf.to,
77
+ outputIndex: into.outputIndex,
78
+ inputIndex: outOf.inputIndex,
79
+ })));
80
+ edges = this.dedupeEdges(edges
81
+ .filter((edge) => edge.from !== disabledNodeId && edge.to !== disabledNodeId)
82
+ .concat(spliced));
83
+ }
84
+ return edges;
85
+ }
86
+ dedupeEdges(edges) {
87
+ const byKey = new Map();
88
+ for (const edge of edges) {
89
+ byKey.set(`${edge.from}|${edge.to}|${edge.outputIndex}|${edge.inputIndex}`, edge);
90
+ }
91
+ return [...byKey.values()];
92
+ }
93
+ markBackEdges(nodes, edges) {
94
+ const batchNodeIds = new Set(nodes.filter((node) => node.type === 'batch').map((n) => n.id));
95
+ const namesById = new Map(nodes.map((node) => [node.id, node.name]));
96
+ let remaining = edges;
97
+ while (remaining.length > 0) {
98
+ const outgoingByNode = new Map();
99
+ const selfLoopNodeIds = new Set();
100
+ for (const edge of remaining) {
101
+ const outgoing = outgoingByNode.get(edge.from);
102
+ if (outgoing)
103
+ outgoing.push(edge);
104
+ else
105
+ outgoingByNode.set(edge.from, [edge]);
106
+ if (edge.from === edge.to)
107
+ selfLoopNodeIds.add(edge.from);
108
+ }
109
+ const cyclicSccs = this.computeSccs(nodes, outgoingByNode).filter((members) => members.length > 1 || selfLoopNodeIds.has(members[0]));
110
+ if (cyclicSccs.length === 0)
111
+ return;
112
+ for (const members of cyclicSccs) {
113
+ const entryId = this.resolveSingleBatchEntry(members, remaining, batchNodeIds, namesById);
114
+ const memberSet = new Set(members);
115
+ for (const edge of remaining) {
116
+ if (edge.to === entryId && memberSet.has(edge.from))
117
+ edge.isBackEdge = true;
118
+ }
119
+ }
120
+ remaining = remaining.filter((edge) => !edge.isBackEdge);
121
+ }
122
+ }
123
+ resolveSingleBatchEntry(members, edges, batchNodeIds, namesById) {
124
+ const memberSet = new Set(members);
125
+ const toNames = (ids) => ids.map((id) => namesById.get(id) ?? id);
126
+ const batchMembers = members.filter((id) => batchNodeIds.has(id));
127
+ if (batchMembers.length === 0) {
128
+ throw new errors_1.UnsupportedCycleError(toNames(members));
129
+ }
130
+ const externalEntries = new Set();
131
+ for (const edge of edges) {
132
+ if (memberSet.has(edge.to) && !memberSet.has(edge.from))
133
+ externalEntries.add(edge.to);
134
+ }
135
+ const entries = externalEntries.size > 0 ? [...externalEntries] : batchMembers;
136
+ if (entries.length !== 1 || !batchNodeIds.has(entries[0])) {
137
+ throw new errors_1.UnsupportedLoopEntryError(toNames(members), toNames(entries));
138
+ }
139
+ return entries[0];
140
+ }
141
+ computeSccs(nodes, outgoingByNode) {
142
+ const indexById = new Map();
143
+ const lowlinkById = new Map();
144
+ const stack = [];
145
+ const onStack = new Set();
146
+ const sccs = [];
147
+ let nextIndex = 0;
148
+ const connect = (nodeId) => {
149
+ indexById.set(nodeId, nextIndex);
150
+ lowlinkById.set(nodeId, nextIndex);
151
+ nextIndex += 1;
152
+ stack.push(nodeId);
153
+ onStack.add(nodeId);
154
+ for (const edge of outgoingByNode.get(nodeId) ?? []) {
155
+ if (!indexById.has(edge.to)) {
156
+ connect(edge.to);
157
+ lowlinkById.set(nodeId, Math.min(lowlinkById.get(nodeId), lowlinkById.get(edge.to)));
158
+ }
159
+ else if (onStack.has(edge.to)) {
160
+ lowlinkById.set(nodeId, Math.min(lowlinkById.get(nodeId), indexById.get(edge.to)));
161
+ }
162
+ }
163
+ if (lowlinkById.get(nodeId) === indexById.get(nodeId)) {
164
+ const members = [];
165
+ let member;
166
+ do {
167
+ member = stack.pop();
168
+ onStack.delete(member);
169
+ members.push(member);
170
+ } while (member !== nodeId);
171
+ sccs.push(members);
172
+ }
173
+ };
174
+ for (const node of nodes) {
175
+ if (!indexById.has(node.id))
176
+ connect(node.id);
177
+ }
178
+ return sccs;
179
+ }
35
180
  }
36
181
  exports.V1WorkflowConverter = V1WorkflowConverter;
37
182
  //# sourceMappingURL=v1-workflow-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v1-workflow-converter.js","sourceRoot":"","sources":["../src/v1-workflow-converter.ts"],"names":[],"mappings":";;;AAGA,qCAA6E;AAG7E,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAQ3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAUvF;IACC,OAAO,CAAC,QAAuB;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC7B,CAAC;IAEO,WAAW,CAAC,IAAW;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gCAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;YAC5C,MAAM,IAAI,iCAAwB,CACjC,SAAS,IAAI,CAAC,IAAI,iEAAiE,CACnF,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAqB;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB;SACxF,CAAC;QAEF,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAClE,CAAC;IAGO,aAAa,CAAC,IAAW;QAChC,OAAO,CACN,IAAI,CAAC,IAAI,KAAK,mBAAmB;YACjC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3C,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"v1-workflow-converter.js","sourceRoot":"","sources":["../src/v1-workflow-converter.ts"],"names":[],"mappings":";;;AAGA,2CAA+F;AAC/F,qCAMkB;AASlB,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAgCvF;IACC,OAAO,CAAC,QAAuB;QAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK;aACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9D,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC5D,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,WAAW,CAAC,IAAW;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,+BAAmB,EAAE,CAAC;YACvC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gCAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,qBAAqB,EAAE,CAAC;YAC5C,MAAM,IAAI,iCAAwB,CACjC,SAAS,IAAI,CAAC,IAAI,iEAAiE,CACnF,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAqB;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,uBAAuB;SACxF,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,iCAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IAGO,aAAa,CAAC,IAAW;QAChC,OAAO,CACN,IAAI,CAAC,IAAI,KAAK,+BAAmB;YACjC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3C,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,QAAuB;QACtC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9E,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,EAAE,CACvF,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAC/D,CAAC;IACH,CAAC;IAQO,gBAAgB,CACvB,UAAkB,EAClB,iBAAmC,EACnC,SAA8B;QAE9B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,KAAK,GAAgB,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAEjE,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC3E,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACzD,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBAElE,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAI1C,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;wBAAE,SAAS;oBAErD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrE,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,+BAA+B,CAAC,QAAgB,EAAE,cAAsB;QAC/E,IAAI,cAAc,KAAK,gCAAoB,EAAE,CAAC;YAC7C,MAAM,IAAI,uCAA8B,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;IAEO,sBAAsB,CAAC,KAAkB,EAAE,eAAyB;QAC3E,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,EAAE,CACR,IAAI,CAAC,EAAE,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CACpF,CAAC;YACF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,EAAE,KAAK,cAAc,CACpE,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC5B,CAAC,CAAC,CACH,CAAC;YAEF,KAAK,GAAG,IAAI,CAAC,WAAW,CACvB,KAAK;iBACH,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,EAAE,KAAK,cAAc,CAAC;iBAC5E,MAAM,CAAC,OAAO,CAAC,CACjB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,WAAW,CAAC,KAAkB;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,CAAC;IA+BO,aAAa,CAAC,KAAkB,EAAE,KAAkB;QAC3D,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;YACtD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,QAAQ;oBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;oBAC7B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;oBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,MAAM,CAChE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAClE,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEpC,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC1F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC9B,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC7E,CAAC;YACF,CAAC;YAED,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACF,CAAC;IASO,uBAAuB,CAC9B,OAAiB,EACjB,KAAkB,EAClB,YAAyB,EACzB,SAA8B;QAE9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5E,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,8BAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,kCAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAWO,WAAW,CAAC,KAAkB,EAAE,cAAwC;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,IAAI,GAAe,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,CAAC,MAAc,EAAQ,EAAE;YACxC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACjC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACnC,SAAS,IAAI,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACjB,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC;gBACxF,CAAC;qBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBACjC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;YACF,CAAC;YAED,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,MAAc,CAAC;gBACnB,GAAG,CAAC;oBACH,MAAM,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;oBACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC,QAAQ,MAAM,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,CAAC;QACF,CAAC,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
package/package.json CHANGED
@@ -1,25 +1,36 @@
1
1
  {
2
2
  "name": "@n8n/node-engine-compatibility",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Adapts v1 nodes and workflows to the Engine 2.0 execution model",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
- "dist/**/*"
8
+ "dist/**/*",
9
+ "LICENSE.md",
10
+ "LICENSE_EE.md"
9
11
  ],
10
12
  "dependencies": {
11
- "n8n-core": "2.33.0",
12
- "@n8n/engine": "0.13.0",
13
- "n8n-workflow": "2.33.0"
13
+ "@n8n/engine": "0.14.0",
14
+ "n8n-core": "2.34.0",
15
+ "n8n-workflow": "2.34.0"
14
16
  },
15
17
  "devDependencies": {
16
18
  "typescript": "7.0.2",
17
19
  "vitest": "^4.1.9",
18
- "@n8n/typescript-config": "1.9.0",
19
20
  "@n8n/vitest-config": "1.19.0",
20
- "n8n-nodes-base": "2.33.0"
21
+ "@n8n/typescript-config": "1.9.0",
22
+ "n8n-nodes-base": "2.34.0"
23
+ },
24
+ "license": "SEE LICENSE IN LICENSE.md",
25
+ "homepage": "https://n8n.io",
26
+ "author": {
27
+ "name": "Jan Oberhauser",
28
+ "email": "jan@n8n.io"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/n8n-io/n8n.git"
21
33
  },
22
- "license": "LicenseRef-n8n-sustainable-use",
23
34
  "scripts": {
24
35
  "clean": "rimraf dist .turbo",
25
36
  "typecheck": "tsc --noEmit",