n8n-core 1.72.0 → 1.73.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.
Files changed (54) hide show
  1. package/dist/ActiveWorkflows.d.ts +5 -1
  2. package/dist/ActiveWorkflows.js +11 -5
  3. package/dist/ActiveWorkflows.js.map +1 -1
  4. package/dist/Constants.d.ts +3 -0
  5. package/dist/Constants.js +26 -1
  6. package/dist/Constants.js.map +1 -1
  7. package/dist/CreateNodeAsTool.d.ts +2 -2
  8. package/dist/CreateNodeAsTool.js +30 -46
  9. package/dist/CreateNodeAsTool.js.map +1 -1
  10. package/dist/DirectoryLoader.d.ts +1 -0
  11. package/dist/DirectoryLoader.js +19 -2
  12. package/dist/DirectoryLoader.js.map +1 -1
  13. package/dist/InstanceSettings.d.ts +7 -0
  14. package/dist/InstanceSettings.js +35 -7
  15. package/dist/InstanceSettings.js.map +1 -1
  16. package/dist/NodeExecuteFunctions.d.ts +3 -7
  17. package/dist/NodeExecuteFunctions.js +24 -17
  18. package/dist/NodeExecuteFunctions.js.map +1 -1
  19. package/dist/RoutingNode.d.ts +18 -0
  20. package/dist/RoutingNode.js +560 -0
  21. package/dist/RoutingNode.js.map +1 -0
  22. package/dist/SerializedBuffer.d.ts +6 -0
  23. package/dist/SerializedBuffer.js +18 -0
  24. package/dist/SerializedBuffer.js.map +1 -0
  25. package/dist/TriggersAndPollers.d.ts +5 -0
  26. package/dist/TriggersAndPollers.js +70 -0
  27. package/dist/TriggersAndPollers.js.map +1 -0
  28. package/dist/WorkflowExecute.d.ts +7 -1
  29. package/dist/WorkflowExecute.js +155 -5
  30. package/dist/WorkflowExecute.js.map +1 -1
  31. package/dist/build.tsbuildinfo +1 -1
  32. package/dist/decorators/index.d.ts +1 -0
  33. package/dist/decorators/index.js +6 -0
  34. package/dist/decorators/index.js.map +1 -0
  35. package/dist/decorators/memoized.d.ts +1 -0
  36. package/dist/decorators/memoized.js +23 -0
  37. package/dist/decorators/memoized.js.map +1 -0
  38. package/dist/error-reporter.d.ts +16 -0
  39. package/dist/error-reporter.js +177 -0
  40. package/dist/error-reporter.js.map +1 -0
  41. package/dist/index.d.ts +4 -0
  42. package/dist/index.js +6 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/node-execution-context/execute-context.d.ts +2 -2
  45. package/dist/node-execution-context/execute-context.js +1 -0
  46. package/dist/node-execution-context/execute-context.js.map +1 -1
  47. package/dist/node-execution-context/execute-single-context.js +1 -0
  48. package/dist/node-execution-context/execute-single-context.js.map +1 -1
  49. package/dist/node-execution-context/supply-data-context.d.ts +5 -6
  50. package/dist/node-execution-context/supply-data-context.js +7 -18
  51. package/dist/node-execution-context/supply-data-context.js.map +1 -1
  52. package/dist/node-execution-context/webhook-context.d.ts +2 -2
  53. package/dist/node-execution-context/webhook-context.js.map +1 -1
  54. package/package.json +6 -4
@@ -0,0 +1,560 @@
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 get_1 = __importDefault(require("lodash/get"));
8
+ const merge_1 = __importDefault(require("lodash/merge"));
9
+ const set_1 = __importDefault(require("lodash/set"));
10
+ const n8n_workflow_1 = require("n8n-workflow");
11
+ const node_url_1 = __importDefault(require("node:url"));
12
+ const node_execution_context_1 = require("./node-execution-context");
13
+ class RoutingNode {
14
+ constructor(workflow, node, connectionInputData, runExecutionData, additionalData, mode) {
15
+ this.additionalData = additionalData;
16
+ this.connectionInputData = connectionInputData;
17
+ this.runExecutionData = runExecutionData;
18
+ this.mode = mode;
19
+ this.node = node;
20
+ this.workflow = workflow;
21
+ }
22
+ async runNode(inputData, runIndex, nodeType, executeData, credentialsDecrypted, abortSignal) {
23
+ const items = inputData.main[0];
24
+ const returnData = [];
25
+ const closeFunctions = [];
26
+ const executeFunctions = new node_execution_context_1.ExecuteContext(this.workflow, this.node, this.additionalData, this.mode, this.runExecutionData, runIndex, this.connectionInputData, inputData, executeData, closeFunctions, abortSignal);
27
+ let credentialDescription;
28
+ if (nodeType.description.credentials?.length) {
29
+ if (nodeType.description.credentials.length === 1) {
30
+ credentialDescription = nodeType.description.credentials[0];
31
+ }
32
+ else {
33
+ const authenticationMethod = executeFunctions.getNodeParameter('authentication', 0);
34
+ credentialDescription = nodeType.description.credentials.find((x) => x.displayOptions?.show?.authentication?.includes(authenticationMethod));
35
+ if (!credentialDescription) {
36
+ throw new n8n_workflow_1.NodeOperationError(this.node, `Node type "${this.node.type}" does not have any credentials of type "${authenticationMethod}" defined`, { level: 'warning' });
37
+ }
38
+ }
39
+ }
40
+ let credentials;
41
+ if (credentialsDecrypted) {
42
+ credentials = credentialsDecrypted.data;
43
+ }
44
+ else if (credentialDescription) {
45
+ try {
46
+ credentials =
47
+ (await executeFunctions.getCredentials(credentialDescription.name, 0)) || {};
48
+ }
49
+ catch (error) {
50
+ if (credentialDescription.required) {
51
+ throw error;
52
+ }
53
+ else {
54
+ credentialDescription = undefined;
55
+ }
56
+ }
57
+ }
58
+ const { batching } = executeFunctions.getNodeParameter('requestOptions', 0, {});
59
+ const batchSize = batching?.batch?.batchSize > 0 ? batching?.batch?.batchSize : 1;
60
+ const batchInterval = batching?.batch.batchInterval;
61
+ const requestPromises = [];
62
+ const itemContext = [];
63
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
64
+ if (itemIndex > 0 && batchSize >= 0 && batchInterval > 0) {
65
+ if (itemIndex % batchSize === 0) {
66
+ await (0, n8n_workflow_1.sleep)(batchInterval);
67
+ }
68
+ }
69
+ const thisArgs = new node_execution_context_1.ExecuteSingleContext(this.workflow, this.node, this.additionalData, this.mode, this.runExecutionData, runIndex, this.connectionInputData, inputData, itemIndex, executeData, abortSignal);
70
+ itemContext.push({
71
+ thisArgs,
72
+ requestData: {
73
+ options: {
74
+ qs: {},
75
+ body: {},
76
+ headers: {},
77
+ },
78
+ preSend: [],
79
+ postReceive: [],
80
+ requestOperations: {},
81
+ },
82
+ });
83
+ const { proxy, timeout, allowUnauthorizedCerts } = itemContext[itemIndex].thisArgs.getNodeParameter('requestOptions', 0, {});
84
+ if (nodeType.description.requestOperations) {
85
+ itemContext[itemIndex].requestData.requestOperations = {
86
+ ...nodeType.description.requestOperations,
87
+ };
88
+ }
89
+ if (nodeType.description.requestDefaults) {
90
+ for (const key of Object.keys(nodeType.description.requestDefaults)) {
91
+ let value = nodeType.description.requestDefaults[key];
92
+ value = this.getParameterValue(value, itemIndex, runIndex, executeData, { $credentials: credentials, $version: this.node.typeVersion }, false);
93
+ itemContext[itemIndex].requestData.options[key] = value;
94
+ }
95
+ }
96
+ for (const property of nodeType.description.properties) {
97
+ let value = (0, get_1.default)(this.node.parameters, property.name, []);
98
+ value = this.getParameterValue(value, itemIndex, runIndex, executeData, { $credentials: credentials, $version: this.node.typeVersion }, false);
99
+ const tempOptions = this.getRequestOptionsFromParameters(itemContext[itemIndex].thisArgs, property, itemIndex, runIndex, '', { $credentials: credentials, $value: value, $version: this.node.typeVersion });
100
+ this.mergeOptions(itemContext[itemIndex].requestData, tempOptions);
101
+ }
102
+ if (proxy) {
103
+ const proxyParsed = node_url_1.default.parse(proxy);
104
+ const proxyProperties = ['host', 'port'];
105
+ for (const property of proxyProperties) {
106
+ if (!(property in proxyParsed) ||
107
+ proxyParsed[property] === null) {
108
+ throw new n8n_workflow_1.NodeOperationError(this.node, 'The proxy is not value', {
109
+ runIndex,
110
+ itemIndex,
111
+ description: `The proxy URL does not contain a valid value for "${property}"`,
112
+ });
113
+ }
114
+ }
115
+ itemContext[itemIndex].requestData.options.proxy = {
116
+ host: proxyParsed.hostname,
117
+ port: parseInt(proxyParsed.port),
118
+ protocol: proxyParsed.protocol?.replace(/:$/, '') || undefined,
119
+ };
120
+ if (proxyParsed.auth) {
121
+ const [username, password] = proxyParsed.auth.split(':');
122
+ itemContext[itemIndex].requestData.options.proxy.auth = {
123
+ username,
124
+ password,
125
+ };
126
+ }
127
+ }
128
+ if (allowUnauthorizedCerts) {
129
+ itemContext[itemIndex].requestData.options.skipSslCertificateValidation =
130
+ allowUnauthorizedCerts;
131
+ }
132
+ if (timeout) {
133
+ itemContext[itemIndex].requestData.options.timeout = timeout;
134
+ }
135
+ else {
136
+ itemContext[itemIndex].requestData.options.timeout = 300_000;
137
+ }
138
+ requestPromises.push(this.makeRoutingRequest(itemContext[itemIndex].requestData, itemContext[itemIndex].thisArgs, itemIndex, runIndex, credentialDescription?.name, itemContext[itemIndex].requestData.requestOperations, credentialsDecrypted));
139
+ }
140
+ const promisesResponses = await Promise.allSettled(requestPromises);
141
+ let responseData;
142
+ for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
143
+ responseData = promisesResponses.shift();
144
+ if (responseData.status !== 'fulfilled') {
145
+ if (responseData.reason.statusCode === 429) {
146
+ responseData.reason.message =
147
+ "Try spacing your requests out using the batching settings under 'Options'";
148
+ }
149
+ const error = responseData.reason;
150
+ if (itemContext[itemIndex].thisArgs?.continueOnFail()) {
151
+ returnData.push({ json: {}, error: error });
152
+ continue;
153
+ }
154
+ if (error instanceof n8n_workflow_1.NodeApiError) {
155
+ (0, set_1.default)(error, 'context.itemIndex', itemIndex);
156
+ (0, set_1.default)(error, 'context.runIndex', runIndex);
157
+ throw error;
158
+ }
159
+ throw new n8n_workflow_1.NodeApiError(this.node, error, {
160
+ runIndex,
161
+ itemIndex,
162
+ message: error?.message,
163
+ description: error?.description,
164
+ httpCode: error.isAxiosError && error.response ? String(error.response?.status) : 'none',
165
+ });
166
+ }
167
+ if (itemContext[itemIndex].requestData.maxResults) {
168
+ responseData.value.splice(itemContext[itemIndex].requestData.maxResults);
169
+ }
170
+ returnData.push(...responseData.value);
171
+ }
172
+ return [returnData];
173
+ }
174
+ mergeOptions(destinationOptions, sourceOptions) {
175
+ if (sourceOptions) {
176
+ destinationOptions.paginate = destinationOptions.paginate ?? sourceOptions.paginate;
177
+ destinationOptions.maxResults = sourceOptions.maxResults
178
+ ? sourceOptions.maxResults
179
+ : destinationOptions.maxResults;
180
+ (0, merge_1.default)(destinationOptions.options, sourceOptions.options);
181
+ destinationOptions.preSend.push(...sourceOptions.preSend);
182
+ destinationOptions.postReceive.push(...sourceOptions.postReceive);
183
+ if (sourceOptions.requestOperations && destinationOptions.requestOperations) {
184
+ destinationOptions.requestOperations = Object.assign(destinationOptions.requestOperations, sourceOptions.requestOperations);
185
+ }
186
+ }
187
+ }
188
+ async runPostReceiveAction(executeSingleFunctions, action, inputData, responseData, parameterValue, itemIndex, runIndex) {
189
+ if (typeof action === 'function') {
190
+ return await action.call(executeSingleFunctions, inputData, responseData);
191
+ }
192
+ if (action.type === 'rootProperty') {
193
+ try {
194
+ return inputData.flatMap((item) => {
195
+ let itemContent = (0, get_1.default)(item.json, action.properties.property);
196
+ if (!Array.isArray(itemContent)) {
197
+ itemContent = [itemContent];
198
+ }
199
+ return itemContent.map((json) => {
200
+ return {
201
+ json,
202
+ };
203
+ });
204
+ });
205
+ }
206
+ catch (error) {
207
+ throw new n8n_workflow_1.NodeOperationError(this.node, error, {
208
+ runIndex,
209
+ itemIndex,
210
+ description: `The rootProperty "${action.properties.property}" could not be found on item.`,
211
+ });
212
+ }
213
+ }
214
+ if (action.type === 'filter') {
215
+ const passValue = action.properties.pass;
216
+ inputData = inputData.filter((item) => {
217
+ return this.getParameterValue(passValue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), {
218
+ $response: responseData,
219
+ $responseItem: item.json,
220
+ $value: parameterValue,
221
+ $version: this.node.typeVersion,
222
+ }, false);
223
+ });
224
+ return inputData;
225
+ }
226
+ if (action.type === 'limit') {
227
+ const maxResults = this.getParameterValue(action.properties.maxResults, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { $response: responseData, $value: parameterValue, $version: this.node.typeVersion }, false);
228
+ return inputData.slice(0, parseInt(maxResults, 10));
229
+ }
230
+ if (action.type === 'set') {
231
+ const { value } = action.properties;
232
+ return [
233
+ {
234
+ json: this.getParameterValue(value, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { $response: responseData, $value: parameterValue, $version: this.node.typeVersion }, false),
235
+ },
236
+ ];
237
+ }
238
+ if (action.type === 'sort') {
239
+ const sortKey = action.properties.key;
240
+ inputData.sort((a, b) => {
241
+ const aSortValue = a.json[sortKey]?.toString().toLowerCase() ?? '';
242
+ const bSortValue = b.json[sortKey]?.toString().toLowerCase() ?? '';
243
+ if (aSortValue < bSortValue) {
244
+ return -1;
245
+ }
246
+ if (aSortValue > bSortValue) {
247
+ return 1;
248
+ }
249
+ return 0;
250
+ });
251
+ return inputData;
252
+ }
253
+ if (action.type === 'setKeyValue') {
254
+ const returnData = [];
255
+ inputData.forEach((item) => {
256
+ const returnItem = {};
257
+ for (const key of Object.keys(action.properties)) {
258
+ let propertyValue = action.properties[key];
259
+ propertyValue = this.getParameterValue(propertyValue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), {
260
+ $response: responseData,
261
+ $responseItem: item.json,
262
+ $value: parameterValue,
263
+ $version: this.node.typeVersion,
264
+ }, false);
265
+ returnItem[key] = propertyValue;
266
+ }
267
+ returnData.push({ json: returnItem });
268
+ });
269
+ return returnData;
270
+ }
271
+ if (action.type === 'binaryData') {
272
+ const body = (responseData.body = Buffer.from(responseData.body));
273
+ let { destinationProperty } = action.properties;
274
+ destinationProperty = this.getParameterValue(destinationProperty, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { $response: responseData, $value: parameterValue, $version: this.node.typeVersion }, false);
275
+ const binaryData = await executeSingleFunctions.helpers.prepareBinaryData(body);
276
+ return inputData.map((item) => {
277
+ if (typeof item.json === 'string') {
278
+ item.json = {};
279
+ }
280
+ item.binary = {
281
+ [destinationProperty]: binaryData,
282
+ };
283
+ return item;
284
+ });
285
+ }
286
+ return [];
287
+ }
288
+ async postProcessResponseData(executeSingleFunctions, responseData, requestData, itemIndex, runIndex) {
289
+ let returnData = [
290
+ {
291
+ json: responseData.body,
292
+ },
293
+ ];
294
+ if (requestData.postReceive.length) {
295
+ for (const postReceiveMethod of requestData.postReceive) {
296
+ for (const action of postReceiveMethod.actions) {
297
+ returnData = await this.runPostReceiveAction(executeSingleFunctions, action, returnData, responseData, postReceiveMethod.data.parameterValue, itemIndex, runIndex);
298
+ }
299
+ }
300
+ }
301
+ else {
302
+ if (Array.isArray(responseData.body)) {
303
+ returnData = responseData.body.map((json) => {
304
+ return {
305
+ json,
306
+ };
307
+ });
308
+ }
309
+ else {
310
+ returnData[0].json = responseData.body;
311
+ }
312
+ }
313
+ return returnData;
314
+ }
315
+ async rawRoutingRequest(executeSingleFunctions, requestData, credentialType, credentialsDecrypted) {
316
+ let responseData;
317
+ requestData.options.returnFullResponse = true;
318
+ if (credentialType) {
319
+ responseData = (await executeSingleFunctions.helpers.httpRequestWithAuthentication.call(executeSingleFunctions, credentialType, requestData.options, { credentialsDecrypted }));
320
+ }
321
+ else {
322
+ responseData = (await executeSingleFunctions.helpers.httpRequest(requestData.options));
323
+ }
324
+ return responseData;
325
+ }
326
+ async makeRoutingRequest(requestData, executeSingleFunctions, itemIndex, runIndex, credentialType, requestOperations, credentialsDecrypted) {
327
+ let responseData;
328
+ for (const preSendMethod of requestData.preSend) {
329
+ requestData.options = await preSendMethod.call(executeSingleFunctions, requestData.options);
330
+ }
331
+ const makeRoutingRequest = async (requestOptions) => {
332
+ return await this.rawRoutingRequest(executeSingleFunctions, requestOptions, credentialType, credentialsDecrypted).then(async (data) => await this.postProcessResponseData(executeSingleFunctions, data, requestData, itemIndex, runIndex));
333
+ };
334
+ const executePaginationFunctions = Object.create(executeSingleFunctions, {
335
+ makeRoutingRequest: { value: makeRoutingRequest },
336
+ });
337
+ if (requestData.paginate && requestOperations?.pagination) {
338
+ if (typeof requestOperations.pagination === 'function') {
339
+ responseData = await requestOperations.pagination.call(executePaginationFunctions, requestData);
340
+ }
341
+ else {
342
+ responseData = [];
343
+ if (!requestData.options.qs) {
344
+ requestData.options.qs = {};
345
+ }
346
+ if (requestOperations.pagination.type === 'generic') {
347
+ let tempResponseData;
348
+ let tempResponseItems;
349
+ let makeAdditionalRequest;
350
+ let paginateRequestData;
351
+ const additionalKeys = {
352
+ $request: requestData.options,
353
+ $response: {},
354
+ $version: this.node.typeVersion,
355
+ };
356
+ do {
357
+ additionalKeys.$request = requestData.options;
358
+ paginateRequestData = this.getParameterValue(requestOperations.pagination.properties.request, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), additionalKeys, false);
359
+ tempResponseData = await this.rawRoutingRequest(executeSingleFunctions, { ...requestData, options: { ...requestData.options, ...paginateRequestData } }, credentialType, credentialsDecrypted);
360
+ additionalKeys.$response = tempResponseData;
361
+ tempResponseItems = await this.postProcessResponseData(executeSingleFunctions, tempResponseData, requestData, itemIndex, runIndex);
362
+ responseData.push(...tempResponseItems);
363
+ makeAdditionalRequest = this.getParameterValue(requestOperations.pagination.properties.continue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), additionalKeys, false);
364
+ } while (makeAdditionalRequest);
365
+ }
366
+ else if (requestOperations.pagination.type === 'offset') {
367
+ const { properties } = requestOperations.pagination;
368
+ const optionsType = properties.type === 'body' ? 'body' : 'qs';
369
+ if (properties.type === 'body' && !requestData.options.body) {
370
+ requestData.options.body = {};
371
+ }
372
+ requestData.options[optionsType][properties.limitParameter] =
373
+ properties.pageSize;
374
+ requestData.options[optionsType][properties.offsetParameter] = 0;
375
+ let tempResponseData;
376
+ do {
377
+ if (requestData?.maxResults) {
378
+ const resultsMissing = requestData?.maxResults - responseData.length;
379
+ if (resultsMissing < 1) {
380
+ break;
381
+ }
382
+ requestData.options[optionsType][properties.limitParameter] =
383
+ Math.min(properties.pageSize, resultsMissing);
384
+ }
385
+ tempResponseData = await this.rawRoutingRequest(executeSingleFunctions, requestData, credentialType, credentialsDecrypted).then(async (data) => await this.postProcessResponseData(executeSingleFunctions, data, requestData, itemIndex, runIndex));
386
+ requestData.options[optionsType][properties.offsetParameter] =
387
+ requestData.options[optionsType][properties.offsetParameter] + properties.pageSize;
388
+ if (properties.rootProperty) {
389
+ const tempResponseValue = (0, get_1.default)(tempResponseData[0].json, properties.rootProperty);
390
+ if (tempResponseValue === undefined) {
391
+ throw new n8n_workflow_1.NodeOperationError(this.node, `The rootProperty "${properties.rootProperty}" could not be found on item.`, { runIndex, itemIndex });
392
+ }
393
+ tempResponseData = tempResponseValue.map((item) => {
394
+ return {
395
+ json: item,
396
+ };
397
+ });
398
+ }
399
+ responseData.push(...tempResponseData);
400
+ } while (tempResponseData.length && tempResponseData.length === properties.pageSize);
401
+ }
402
+ }
403
+ }
404
+ else {
405
+ responseData = await this.rawRoutingRequest(executeSingleFunctions, requestData, credentialType, credentialsDecrypted).then(async (data) => await this.postProcessResponseData(executeSingleFunctions, data, requestData, itemIndex, runIndex));
406
+ }
407
+ return responseData;
408
+ }
409
+ getParameterValue(parameterValue, itemIndex, runIndex, executeData, additionalKeys, returnObjectAsString = false) {
410
+ if (typeof parameterValue === 'object' ||
411
+ (typeof parameterValue === 'string' && parameterValue.charAt(0) === '=')) {
412
+ return this.workflow.expression.getParameterValue(parameterValue, this.runExecutionData ?? null, runIndex, itemIndex, this.node.name, this.connectionInputData, this.mode, additionalKeys ?? {}, executeData, returnObjectAsString);
413
+ }
414
+ return parameterValue;
415
+ }
416
+ getRequestOptionsFromParameters(executeSingleFunctions, nodeProperties, itemIndex, runIndex, path, additionalKeys) {
417
+ const returnData = {
418
+ options: {
419
+ qs: {},
420
+ body: {},
421
+ headers: {},
422
+ },
423
+ preSend: [],
424
+ postReceive: [],
425
+ requestOperations: {},
426
+ };
427
+ let basePath = path ? `${path}.` : '';
428
+ if (!n8n_workflow_1.NodeHelpers.displayParameter(this.node.parameters, nodeProperties, this.node, this.node.parameters)) {
429
+ return undefined;
430
+ }
431
+ if (nodeProperties.routing) {
432
+ let parameterValue;
433
+ if (basePath + nodeProperties.name && 'type' in nodeProperties) {
434
+ const shouldExtractValue = nodeProperties.extractValue !== undefined || nodeProperties.type === 'resourceLocator';
435
+ parameterValue = executeSingleFunctions.getNodeParameter(basePath + nodeProperties.name, undefined, { extractValue: shouldExtractValue });
436
+ }
437
+ if (nodeProperties.routing.operations) {
438
+ returnData.requestOperations = { ...nodeProperties.routing.operations };
439
+ }
440
+ if (nodeProperties.routing.request) {
441
+ for (const key of Object.keys(nodeProperties.routing.request)) {
442
+ let propertyValue = nodeProperties.routing.request[key];
443
+ propertyValue = this.getParameterValue(propertyValue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys, $value: parameterValue }, false);
444
+ returnData.options[key] = propertyValue;
445
+ }
446
+ }
447
+ if (nodeProperties.routing.send) {
448
+ let propertyName = nodeProperties.routing.send.property;
449
+ if (propertyName !== undefined) {
450
+ propertyName = this.getParameterValue(propertyName, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), additionalKeys, true);
451
+ let value = parameterValue;
452
+ if (nodeProperties.routing.send.value) {
453
+ const valueString = nodeProperties.routing.send.value;
454
+ value = this.getParameterValue(valueString, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys, $value: value }, false);
455
+ }
456
+ if (nodeProperties.routing.send.type === 'body') {
457
+ if (nodeProperties.routing.send.propertyInDotNotation === false) {
458
+ returnData.options.body[propertyName] = value;
459
+ }
460
+ else {
461
+ (0, set_1.default)(returnData.options.body, propertyName, value);
462
+ }
463
+ }
464
+ else {
465
+ if (nodeProperties.routing.send.propertyInDotNotation === false) {
466
+ returnData.options.qs[propertyName] = value;
467
+ }
468
+ else {
469
+ (0, set_1.default)(returnData.options.qs, propertyName, value);
470
+ }
471
+ }
472
+ }
473
+ if (nodeProperties.routing.send.paginate !== undefined) {
474
+ let paginateValue = nodeProperties.routing.send.paginate;
475
+ if (typeof paginateValue === 'string' && paginateValue.charAt(0) === '=') {
476
+ paginateValue = this.getParameterValue(paginateValue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys, $value: parameterValue }, true);
477
+ }
478
+ returnData.paginate = !!paginateValue;
479
+ }
480
+ if (nodeProperties.routing.send.preSend) {
481
+ returnData.preSend.push(...nodeProperties.routing.send.preSend);
482
+ }
483
+ }
484
+ if (nodeProperties.routing.output) {
485
+ if (nodeProperties.routing.output.maxResults !== undefined) {
486
+ let maxResultsValue = nodeProperties.routing.output.maxResults;
487
+ if (typeof maxResultsValue === 'string' && maxResultsValue.charAt(0) === '=') {
488
+ maxResultsValue = this.getParameterValue(maxResultsValue, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys, $value: parameterValue }, true);
489
+ }
490
+ returnData.maxResults = maxResultsValue;
491
+ }
492
+ if (nodeProperties.routing.output.postReceive) {
493
+ const postReceiveActions = nodeProperties.routing.output.postReceive.filter((action) => {
494
+ if (typeof action === 'function') {
495
+ return true;
496
+ }
497
+ if (typeof action.enabled === 'string' && action.enabled.charAt(0) === '=') {
498
+ return this.getParameterValue(action.enabled, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys, $value: parameterValue }, true);
499
+ }
500
+ return action.enabled !== false;
501
+ });
502
+ if (postReceiveActions.length) {
503
+ returnData.postReceive.push({
504
+ data: {
505
+ parameterValue,
506
+ },
507
+ actions: postReceiveActions,
508
+ });
509
+ }
510
+ }
511
+ }
512
+ }
513
+ if (!Object.prototype.hasOwnProperty.call(nodeProperties, 'options')) {
514
+ return returnData;
515
+ }
516
+ nodeProperties = nodeProperties;
517
+ let value;
518
+ if (nodeProperties.type === 'options') {
519
+ const optionValue = n8n_workflow_1.NodeHelpers.getParameterValueByPath(this.node.parameters, nodeProperties.name, basePath.slice(0, -1));
520
+ const selectedOption = nodeProperties.options.filter((option) => option.value === optionValue);
521
+ if (selectedOption.length) {
522
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, selectedOption[0], itemIndex, runIndex, `${basePath}${nodeProperties.name}`, { $value: optionValue, $version: this.node.typeVersion });
523
+ this.mergeOptions(returnData, tempOptions);
524
+ }
525
+ }
526
+ else if (nodeProperties.type === 'collection') {
527
+ value = n8n_workflow_1.NodeHelpers.getParameterValueByPath(this.node.parameters, nodeProperties.name, basePath.slice(0, -1));
528
+ for (const propertyOption of nodeProperties.options) {
529
+ if (Object.keys(value).includes(propertyOption.name) &&
530
+ propertyOption.type !== undefined) {
531
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, propertyOption, itemIndex, runIndex, `${basePath}${nodeProperties.name}`, { $version: this.node.typeVersion });
532
+ this.mergeOptions(returnData, tempOptions);
533
+ }
534
+ }
535
+ }
536
+ else if (nodeProperties.type === 'fixedCollection') {
537
+ basePath = `${basePath}${nodeProperties.name}.`;
538
+ for (const propertyOptions of nodeProperties.options) {
539
+ value = n8n_workflow_1.NodeHelpers.getParameterValueByPath(this.node.parameters, propertyOptions.name, basePath.slice(0, -1));
540
+ if (value === undefined) {
541
+ continue;
542
+ }
543
+ if (!Array.isArray(value)) {
544
+ value = [value];
545
+ }
546
+ value = this.getParameterValue(value, itemIndex, runIndex, executeSingleFunctions.getExecuteData(), { ...additionalKeys }, false);
547
+ const loopBasePath = `${basePath}${propertyOptions.name}`;
548
+ for (let i = 0; i < value.length; i++) {
549
+ for (const option of propertyOptions.values) {
550
+ const tempOptions = this.getRequestOptionsFromParameters(executeSingleFunctions, option, itemIndex, runIndex, nodeProperties.typeOptions?.multipleValues ? `${loopBasePath}[${i}]` : loopBasePath, { ...(additionalKeys || {}), $index: i, $parent: value[i] });
551
+ this.mergeOptions(returnData, tempOptions);
552
+ }
553
+ }
554
+ }
555
+ }
556
+ return returnData;
557
+ }
558
+ }
559
+ exports.RoutingNode = RoutingNode;
560
+ //# sourceMappingURL=RoutingNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoutingNode.js","sourceRoot":"","sources":["../src/RoutingNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type SerializedBuffer = {
2
+ type: 'Buffer';
3
+ data: number[];
4
+ };
5
+ export declare function toBuffer(serializedBuffer: SerializedBuffer): Buffer;
6
+ export declare function isSerializedBuffer(candidate: unknown): candidate is SerializedBuffer;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toBuffer = toBuffer;
4
+ exports.isSerializedBuffer = isSerializedBuffer;
5
+ function toBuffer(serializedBuffer) {
6
+ return Buffer.from(serializedBuffer.data);
7
+ }
8
+ function isObjectLiteral(item) {
9
+ return typeof item === 'object' && item !== null && !Array.isArray(item);
10
+ }
11
+ function isSerializedBuffer(candidate) {
12
+ return (isObjectLiteral(candidate) &&
13
+ 'type' in candidate &&
14
+ 'data' in candidate &&
15
+ candidate.type === 'Buffer' &&
16
+ Array.isArray(candidate.data));
17
+ }
18
+ //# sourceMappingURL=SerializedBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedBuffer.js","sourceRoot":"","sources":["../src/SerializedBuffer.ts"],"names":[],"mappings":";;AAOA,4BAEC;AAMD,gDAQC;AAhBD,SAAgB,QAAQ,CAAC,gBAAkC;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACrC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,kBAAkB,CAAC,SAAkB;IACpD,OAAO,CACN,eAAe,CAAC,SAAS,CAAC;QAC1B,MAAM,IAAI,SAAS;QACnB,MAAM,IAAI,SAAS;QACnB,SAAS,CAAC,IAAI,KAAK,QAAQ;QAC3B,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAC7B,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Workflow, INode, INodeExecutionData, IPollFunctions, IGetExecuteTriggerFunctions, IWorkflowExecuteAdditionalData, WorkflowExecuteMode, WorkflowActivateMode, ITriggerResponse } from 'n8n-workflow';
2
+ export declare class TriggersAndPollers {
3
+ runTrigger(workflow: Workflow, node: INode, getTriggerFunctions: IGetExecuteTriggerFunctions, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): Promise<ITriggerResponse | undefined>;
4
+ runPoll(workflow: Workflow, node: INode, pollFunctions: IPollFunctions): Promise<INodeExecutionData[][] | null>;
5
+ }