n8n-workflow 0.83.0 → 0.87.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.
@@ -0,0 +1,416 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RoutingNode = void 0;
7
+ const lodash_get_1 = __importDefault(require("lodash.get"));
8
+ const lodash_merge_1 = __importDefault(require("lodash.merge"));
9
+ const lodash_set_1 = __importDefault(require("lodash.set"));
10
+ const _1 = require(".");
11
+ class RoutingNode {
12
+ constructor(workflow, node, connectionInputData, runExecutionData, additionalData, mode) {
13
+ this.additionalData = additionalData;
14
+ this.connectionInputData = connectionInputData;
15
+ this.runExecutionData = runExecutionData;
16
+ this.mode = mode;
17
+ this.node = node;
18
+ this.workflow = workflow;
19
+ }
20
+ async runNode(inputData, runIndex, nodeType, nodeExecuteFunctions, credentialsDecrypted) {
21
+ var _a;
22
+ const items = inputData.main[0];
23
+ const returnData = [];
24
+ let responseData;
25
+ let credentialType;
26
+ if ((_a = nodeType.description.credentials) === null || _a === void 0 ? void 0 : _a.length) {
27
+ credentialType = nodeType.description.credentials[0].name;
28
+ }
29
+ const executeFunctions = nodeExecuteFunctions.getExecuteFunctions(this.workflow, this.runExecutionData, runIndex, this.connectionInputData, inputData, this.node, this.additionalData, this.mode);
30
+ let credentials;
31
+ if (credentialsDecrypted) {
32
+ credentials = credentialsDecrypted.data;
33
+ }
34
+ else if (credentialType) {
35
+ credentials = (await executeFunctions.getCredentials(credentialType)) || {};
36
+ }
37
+ for (let i = 0; i < items.length; i++) {
38
+ try {
39
+ const thisArgs = nodeExecuteFunctions.getExecuteSingleFunctions(this.workflow, this.runExecutionData, runIndex, this.connectionInputData, inputData, this.node, i, this.additionalData, this.mode);
40
+ const requestData = {
41
+ options: {
42
+ qs: {},
43
+ body: {},
44
+ },
45
+ preSend: [],
46
+ postReceive: [],
47
+ requestOperations: {},
48
+ };
49
+ if (nodeType.description.requestOperations) {
50
+ requestData.requestOperations = { ...nodeType.description.requestOperations };
51
+ }
52
+ if (nodeType.description.requestDefaults) {
53
+ for (const key of Object.keys(nodeType.description.requestDefaults)) {
54
+ let value = nodeType.description.requestDefaults[key];
55
+ value = this.getParameterValue(value, i, runIndex, { $credentials: credentials }, true);
56
+ requestData.options[key] = value;
57
+ }
58
+ }
59
+ for (const property of nodeType.description.properties) {
60
+ let value = lodash_get_1.default(this.node.parameters, property.name, []);
61
+ value = this.getParameterValue(value, i, runIndex, { $credentials: credentials }, true);
62
+ const tempOptions = this.getRequestOptionsFromParameters(thisArgs, property, i, runIndex, '', { $credentials: credentials, $value: value });
63
+ this.mergeOptions(requestData, tempOptions);
64
+ }
65
+ responseData = await this.makeRoutingRequest(requestData, thisArgs, i, runIndex, credentialType, requestData.requestOperations, credentialsDecrypted);
66
+ if (requestData.maxResults) {
67
+ responseData.splice(requestData.maxResults);
68
+ }
69
+ returnData.push(...responseData);
70
+ }
71
+ catch (error) {
72
+ if (lodash_get_1.default(this.node, 'continueOnFail', false)) {
73
+ returnData.push({ json: {}, error: error.message });
74
+ continue;
75
+ }
76
+ throw error;
77
+ }
78
+ }
79
+ return [returnData];
80
+ }
81
+ mergeOptions(destinationOptions, sourceOptions) {
82
+ var _a;
83
+ if (sourceOptions) {
84
+ destinationOptions.paginate = (_a = destinationOptions.paginate) !== null && _a !== void 0 ? _a : sourceOptions.paginate;
85
+ destinationOptions.maxResults = sourceOptions.maxResults
86
+ ? sourceOptions.maxResults
87
+ : destinationOptions.maxResults;
88
+ lodash_merge_1.default(destinationOptions.options, sourceOptions.options);
89
+ destinationOptions.preSend.push(...sourceOptions.preSend);
90
+ destinationOptions.postReceive.push(...sourceOptions.postReceive);
91
+ if (sourceOptions.requestOperations) {
92
+ destinationOptions.requestOperations = Object.assign(destinationOptions.requestOperations, sourceOptions.requestOperations);
93
+ }
94
+ }
95
+ }
96
+ async runPostReceiveAction(executeSingleFunctions, action, inputData, responseData, parameterValue, itemIndex, runIndex) {
97
+ if (typeof action === 'function') {
98
+ return action.call(executeSingleFunctions, inputData, responseData);
99
+ }
100
+ if (action.type === 'rootProperty') {
101
+ try {
102
+ return inputData.flatMap((item) => {
103
+ let itemContent = lodash_get_1.default(item.json, action.properties.property);
104
+ if (!Array.isArray(itemContent)) {
105
+ itemContent = [itemContent];
106
+ }
107
+ return itemContent.map((json) => {
108
+ return {
109
+ json,
110
+ };
111
+ });
112
+ });
113
+ }
114
+ catch (e) {
115
+ throw new Error(`The rootProperty "${action.properties.property}" could not be found on item.`);
116
+ }
117
+ }
118
+ if (action.type === 'set') {
119
+ const { value } = action.properties;
120
+ return [
121
+ {
122
+ json: this.getParameterValue(value, itemIndex, runIndex, { $response: responseData, $value: parameterValue }, false),
123
+ },
124
+ ];
125
+ }
126
+ if (action.type === 'sort') {
127
+ const sortKey = action.properties.key;
128
+ inputData.sort((a, b) => {
129
+ var _a, _b;
130
+ const aSortValue = a.json[sortKey]
131
+ ? (_a = a.json[sortKey]) === null || _a === void 0 ? void 0 : _a.toString().toLowerCase()
132
+ : '';
133
+ const bSortValue = b.json[sortKey]
134
+ ? (_b = b.json[sortKey]) === null || _b === void 0 ? void 0 : _b.toString().toLowerCase()
135
+ : '';
136
+ if (aSortValue < bSortValue) {
137
+ return -1;
138
+ }
139
+ if (aSortValue > bSortValue) {
140
+ return 1;
141
+ }
142
+ return 0;
143
+ });
144
+ return inputData;
145
+ }
146
+ if (action.type === 'setKeyValue') {
147
+ const returnData = [];
148
+ inputData.forEach((item) => {
149
+ const returnItem = {};
150
+ for (const key of Object.keys(action.properties)) {
151
+ let propertyValue = action.properties[key];
152
+ propertyValue = this.getParameterValue(propertyValue, itemIndex, runIndex, {
153
+ $response: responseData,
154
+ $responseItem: item.json,
155
+ $value: parameterValue,
156
+ }, true);
157
+ returnItem[key] = propertyValue;
158
+ }
159
+ returnData.push({ json: returnItem });
160
+ });
161
+ return returnData;
162
+ }
163
+ if (action.type === 'binaryData') {
164
+ responseData.body = Buffer.from(responseData.body);
165
+ let { destinationProperty } = action.properties;
166
+ destinationProperty = this.getParameterValue(destinationProperty, itemIndex, runIndex, { $response: responseData, $value: parameterValue }, false);
167
+ const binaryData = await executeSingleFunctions.helpers.prepareBinaryData(responseData.body);
168
+ return inputData.map((item) => {
169
+ if (typeof item.json === 'string') {
170
+ item.json = {};
171
+ }
172
+ item.binary = {
173
+ [destinationProperty]: binaryData,
174
+ };
175
+ return item;
176
+ });
177
+ }
178
+ return [];
179
+ }
180
+ async rawRoutingRequest(executeSingleFunctions, requestData, itemIndex, runIndex, credentialType, credentialsDecrypted) {
181
+ let responseData;
182
+ requestData.options.returnFullResponse = true;
183
+ if (credentialType) {
184
+ responseData = (await executeSingleFunctions.helpers.httpRequestWithAuthentication.call(executeSingleFunctions, credentialType, requestData.options, { credentialsDecrypted }));
185
+ }
186
+ else {
187
+ responseData = (await executeSingleFunctions.helpers.httpRequest(requestData.options));
188
+ }
189
+ let returnData = [
190
+ {
191
+ json: responseData.body,
192
+ },
193
+ ];
194
+ if (requestData.postReceive.length) {
195
+ for (const postReceiveMethod of requestData.postReceive) {
196
+ for (const action of postReceiveMethod.actions) {
197
+ returnData = await this.runPostReceiveAction(executeSingleFunctions, action, returnData, responseData, postReceiveMethod.data.parameterValue, itemIndex, runIndex);
198
+ }
199
+ }
200
+ }
201
+ else {
202
+ if (Array.isArray(responseData.body)) {
203
+ returnData = responseData.body.map((json) => {
204
+ return {
205
+ json,
206
+ };
207
+ });
208
+ }
209
+ else {
210
+ returnData[0].json = responseData.body;
211
+ }
212
+ }
213
+ return returnData;
214
+ }
215
+ async makeRoutingRequest(requestData, executeSingleFunctions, itemIndex, runIndex, credentialType, requestOperations, credentialsDecrypted) {
216
+ let responseData;
217
+ for (const preSendMethod of requestData.preSend) {
218
+ requestData.options = await preSendMethod.call(executeSingleFunctions, requestData.options);
219
+ }
220
+ const executePaginationFunctions = {
221
+ ...executeSingleFunctions,
222
+ makeRoutingRequest: async (requestOptions) => {
223
+ return this.rawRoutingRequest(executeSingleFunctions, requestOptions, itemIndex, runIndex, credentialType, credentialsDecrypted);
224
+ },
225
+ };
226
+ if (requestData.paginate && (requestOperations === null || requestOperations === void 0 ? void 0 : requestOperations.pagination)) {
227
+ if (typeof requestOperations.pagination === 'function') {
228
+ responseData = await requestOperations.pagination.call(executePaginationFunctions, requestData);
229
+ }
230
+ else {
231
+ const { properties } = requestOperations.pagination;
232
+ responseData = [];
233
+ if (!requestData.options.qs) {
234
+ requestData.options.qs = {};
235
+ }
236
+ if (requestOperations.pagination.type === 'offset') {
237
+ const optionsType = properties.type === 'body' ? 'body' : 'qs';
238
+ if (properties.type === 'body' && !requestData.options.body) {
239
+ requestData.options.body = {};
240
+ }
241
+ requestData.options[optionsType][properties.limitParameter] =
242
+ properties.pageSize;
243
+ requestData.options[optionsType][properties.offsetParameter] = 0;
244
+ let tempResponseData;
245
+ do {
246
+ if (requestData === null || requestData === void 0 ? void 0 : requestData.maxResults) {
247
+ const resultsMissing = (requestData === null || requestData === void 0 ? void 0 : requestData.maxResults) - responseData.length;
248
+ if (resultsMissing < 1) {
249
+ break;
250
+ }
251
+ requestData.options[optionsType][properties.limitParameter] =
252
+ Math.min(properties.pageSize, resultsMissing);
253
+ }
254
+ tempResponseData = await this.rawRoutingRequest(executeSingleFunctions, requestData, itemIndex, runIndex, credentialType, credentialsDecrypted);
255
+ requestData.options[optionsType][properties.offsetParameter] =
256
+ requestData.options[optionsType][properties.offsetParameter] + properties.pageSize;
257
+ if (properties.rootProperty) {
258
+ const tempResponseValue = lodash_get_1.default(tempResponseData[0].json, properties.rootProperty);
259
+ if (tempResponseValue === undefined) {
260
+ throw new Error(`The rootProperty "${properties.rootProperty}" could not be found on item.`);
261
+ }
262
+ tempResponseData = tempResponseValue.map((item) => {
263
+ return {
264
+ json: item,
265
+ };
266
+ });
267
+ }
268
+ responseData.push(...tempResponseData);
269
+ } while (tempResponseData.length && tempResponseData.length === properties.pageSize);
270
+ }
271
+ }
272
+ }
273
+ else {
274
+ responseData = await this.rawRoutingRequest(executeSingleFunctions, requestData, itemIndex, runIndex, credentialType, credentialsDecrypted);
275
+ }
276
+ return responseData;
277
+ }
278
+ getParameterValue(parameterValue, itemIndex, runIndex, additionalKeys, returnObjectAsString = false) {
279
+ var _a;
280
+ if (typeof parameterValue === 'string' && parameterValue.charAt(0) === '=') {
281
+ return this.workflow.expression.getParameterValue(parameterValue, (_a = this.runExecutionData) !== null && _a !== void 0 ? _a : null, runIndex, itemIndex, this.node.name, this.connectionInputData, this.mode, additionalKeys !== null && additionalKeys !== void 0 ? additionalKeys : {}, returnObjectAsString);
282
+ }
283
+ return parameterValue;
284
+ }
285
+ getRequestOptionsFromParameters(executeSingleFunctions, nodeProperties, itemIndex, runIndex, path, additionalKeys) {
286
+ var _a;
287
+ const returnData = {
288
+ options: {
289
+ qs: {},
290
+ body: {},
291
+ },
292
+ preSend: [],
293
+ postReceive: [],
294
+ requestOperations: {},
295
+ };
296
+ let basePath = path ? `${path}.` : '';
297
+ if (!_1.NodeHelpers.displayParameter(this.node.parameters, nodeProperties, this.node.parameters)) {
298
+ return undefined;
299
+ }
300
+ if (nodeProperties.routing) {
301
+ let parameterValue;
302
+ if (basePath + nodeProperties.name && 'type' in nodeProperties) {
303
+ parameterValue = executeSingleFunctions.getNodeParameter(basePath + nodeProperties.name);
304
+ }
305
+ if (nodeProperties.routing.operations) {
306
+ returnData.requestOperations = { ...nodeProperties.routing.operations };
307
+ }
308
+ if (nodeProperties.routing.request) {
309
+ for (const key of Object.keys(nodeProperties.routing.request)) {
310
+ let propertyValue = nodeProperties.routing.request[key];
311
+ propertyValue = this.getParameterValue(propertyValue, itemIndex, runIndex, { ...additionalKeys, $value: parameterValue }, true);
312
+ returnData.options[key] = propertyValue;
313
+ }
314
+ }
315
+ if (nodeProperties.routing.send) {
316
+ let propertyName = nodeProperties.routing.send.property;
317
+ if (propertyName !== undefined) {
318
+ propertyName = this.getParameterValue(propertyName, itemIndex, runIndex, additionalKeys, true);
319
+ let value = parameterValue;
320
+ if (nodeProperties.routing.send.value) {
321
+ const valueString = nodeProperties.routing.send.value;
322
+ value = this.getParameterValue(valueString, itemIndex, runIndex, { ...additionalKeys, $value: value }, true);
323
+ }
324
+ if (nodeProperties.routing.send.type === 'body') {
325
+ if (nodeProperties.routing.send.propertyInDotNotation === false) {
326
+ returnData.options.body[propertyName] = value;
327
+ }
328
+ else {
329
+ lodash_set_1.default(returnData.options.body, propertyName, value);
330
+ }
331
+ }
332
+ else {
333
+ if (nodeProperties.routing.send.propertyInDotNotation === false) {
334
+ returnData.options.qs[propertyName] = value;
335
+ }
336
+ else {
337
+ lodash_set_1.default(returnData.options.qs, propertyName, value);
338
+ }
339
+ }
340
+ }
341
+ if (nodeProperties.routing.send.paginate !== undefined) {
342
+ let paginateValue = nodeProperties.routing.send.paginate;
343
+ if (typeof paginateValue === 'string' && paginateValue.charAt(0) === '=') {
344
+ paginateValue = this.getParameterValue(paginateValue, itemIndex, runIndex, { ...additionalKeys, $value: parameterValue }, true);
345
+ }
346
+ returnData.paginate = !!paginateValue;
347
+ }
348
+ if (nodeProperties.routing.send.preSend) {
349
+ returnData.preSend.push(...nodeProperties.routing.send.preSend);
350
+ }
351
+ }
352
+ if (nodeProperties.routing.output) {
353
+ if (nodeProperties.routing.output.maxResults !== undefined) {
354
+ let maxResultsValue = nodeProperties.routing.output.maxResults;
355
+ if (typeof maxResultsValue === 'string' && maxResultsValue.charAt(0) === '=') {
356
+ maxResultsValue = this.getParameterValue(maxResultsValue, itemIndex, runIndex, { ...additionalKeys, $value: parameterValue }, true);
357
+ }
358
+ returnData.maxResults = maxResultsValue;
359
+ }
360
+ if (nodeProperties.routing.output.postReceive) {
361
+ returnData.postReceive.push({
362
+ data: {
363
+ parameterValue,
364
+ },
365
+ actions: nodeProperties.routing.output.postReceive,
366
+ });
367
+ }
368
+ }
369
+ }
370
+ if (!Object.prototype.hasOwnProperty.call(nodeProperties, 'options')) {
371
+ return returnData;
372
+ }
373
+ nodeProperties = nodeProperties;
374
+ let value;
375
+ if (nodeProperties.type === 'options') {
376
+ const optionValue = _1.NodeHelpers.getParameterValueByPath(this.node.parameters, nodeProperties.name, basePath.slice(0, -1));
377
+ const selectedOption = nodeProperties.options.filter((option) => option.value === optionValue);
378
+ if (selectedOption.length) {
379
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, selectedOption[0], itemIndex, runIndex, `${basePath}${nodeProperties.name}`, { $value: optionValue });
380
+ this.mergeOptions(returnData, tempOptions);
381
+ }
382
+ }
383
+ else if (nodeProperties.type === 'collection') {
384
+ value = _1.NodeHelpers.getParameterValueByPath(this.node.parameters, nodeProperties.name, basePath.slice(0, -1));
385
+ for (const propertyOption of nodeProperties.options) {
386
+ if (Object.keys(value).includes(propertyOption.name) &&
387
+ propertyOption.type !== undefined) {
388
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, propertyOption, itemIndex, runIndex, `${basePath}${nodeProperties.name}`);
389
+ this.mergeOptions(returnData, tempOptions);
390
+ }
391
+ }
392
+ }
393
+ else if (nodeProperties.type === 'fixedCollection') {
394
+ basePath = `${basePath}${nodeProperties.name}.`;
395
+ for (const propertyOptions of nodeProperties.options) {
396
+ value = _1.NodeHelpers.getParameterValueByPath(this.node.parameters, propertyOptions.name, basePath.slice(0, -1));
397
+ if (value === undefined) {
398
+ continue;
399
+ }
400
+ if (!Array.isArray(value)) {
401
+ value = [value];
402
+ }
403
+ const loopBasePath = `${basePath}${propertyOptions.name}`;
404
+ for (let i = 0; i < value.length; i++) {
405
+ for (const option of propertyOptions.values) {
406
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, option, itemIndex, runIndex, ((_a = nodeProperties.typeOptions) === null || _a === void 0 ? void 0 : _a.multipleValues) ? `${loopBasePath}[${i}]` : loopBasePath, { ...(additionalKeys || {}), $index: i, $parent: value[i] });
407
+ this.mergeOptions(returnData, tempOptions);
408
+ }
409
+ }
410
+ }
411
+ }
412
+ return returnData;
413
+ }
414
+ }
415
+ exports.RoutingNode = RoutingNode;
416
+ //# sourceMappingURL=RoutingNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingNode.js","sourceRoot":"","sources":["../../src/RoutingNode.ts"],"names":[],"mappings":"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"}
@@ -475,7 +475,9 @@ class Workflow {
475
475
  throw new Error(`Node type "${node.type}" is not known so can not run it!`);
476
476
  }
477
477
  let connectionInputData = [];
478
- if (nodeType.execute || nodeType.executeSingle) {
478
+ if (nodeType.execute ||
479
+ nodeType.executeSingle ||
480
+ (!nodeType.poll && !nodeType.trigger && !nodeType.webhook)) {
479
481
  if (inputData.hasOwnProperty('main') && inputData.main.length > 0) {
480
482
  connectionInputData = inputData.main[0];
481
483
  }
@@ -553,6 +555,10 @@ class Workflow {
553
555
  else if (nodeType.webhook) {
554
556
  return inputData.main;
555
557
  }
558
+ else {
559
+ const routingNode = new _1.RoutingNode(this, node, connectionInputData, runExecutionData !== null && runExecutionData !== void 0 ? runExecutionData : null, additionalData, mode);
560
+ return routingNode.runNode(inputData, runIndex, nodeType, nodeExecuteFunctions);
561
+ }
556
562
  return null;
557
563
  }
558
564
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../src/Workflow.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ class WorkflowDataProxy {
79
79
  }
80
80
  else {
81
81
  if (!node.parameters.hasOwnProperty(name)) {
82
- throw new Error(`Could not find parameter "${name}" on node "${nodeName}"`);
82
+ return undefined;
83
83
  }
84
84
  returnValue = node.parameters[name];
85
85
  }
@@ -133,7 +133,7 @@ class WorkflowDataProxy {
133
133
  const that = this;
134
134
  const node = this.workflow.nodes[nodeName];
135
135
  if (!node) {
136
- throw new Error(`The node "${nodeName}" does not exist!`);
136
+ return undefined;
137
137
  }
138
138
  return new Proxy({}, {
139
139
  get(target, name, receiver) {
@@ -220,14 +220,20 @@ class WorkflowDataProxy {
220
220
  }
221
221
  getDataProxy() {
222
222
  const that = this;
223
- const base = Object.assign({ $binary: {}, $data: {}, $env: this.envGetter(), $evaluateExpression: (expression, itemIndex) => {
223
+ const base = {
224
+ $binary: {},
225
+ $data: {},
226
+ $env: this.envGetter(),
227
+ $evaluateExpression: (expression, itemIndex) => {
224
228
  itemIndex = itemIndex || that.itemIndex;
225
229
  return that.workflow.expression.getParameterValue(`=${expression}`, that.runExecutionData, that.runIndex, itemIndex, that.activeNodeName, that.connectionInputData, that.mode, that.additionalKeys);
226
- }, $item: (itemIndex, runIndex) => {
230
+ },
231
+ $item: (itemIndex, runIndex) => {
227
232
  const defaultReturnRunIndex = runIndex === undefined ? -1 : runIndex;
228
233
  const dataProxy = new WorkflowDataProxy(this.workflow, this.runExecutionData, this.runIndex, itemIndex, this.activeNodeName, this.connectionInputData, that.siblingParameters, that.mode, that.additionalKeys, defaultReturnRunIndex);
229
234
  return dataProxy.getDataProxy();
230
- }, $items: (nodeName, outputIndex, runIndex) => {
235
+ },
236
+ $items: (nodeName, outputIndex, runIndex) => {
231
237
  let executionData;
232
238
  if (nodeName === undefined) {
233
239
  executionData = that.connectionInputData;
@@ -238,7 +244,17 @@ class WorkflowDataProxy {
238
244
  executionData = that.getNodeExecutionData(nodeName, false, outputIndex, runIndex);
239
245
  }
240
246
  return executionData;
241
- }, $json: {}, $node: this.nodeGetter(), $self: this.selfGetter(), $parameter: this.nodeParameterGetter(this.activeNodeName), $position: this.itemIndex, $runIndex: this.runIndex, $mode: this.mode, $workflow: this.workflowGetter() }, that.additionalKeys);
247
+ },
248
+ $json: {},
249
+ $node: this.nodeGetter(),
250
+ $self: this.selfGetter(),
251
+ $parameter: this.nodeParameterGetter(this.activeNodeName),
252
+ $position: this.itemIndex,
253
+ $runIndex: this.runIndex,
254
+ $mode: this.mode,
255
+ $workflow: this.workflowGetter(),
256
+ ...that.additionalKeys,
257
+ };
242
258
  return new Proxy(base, {
243
259
  get(target, name, receiver) {
244
260
  if (['$data', '$json'].includes(name)) {