n8n-workflow 1.87.0 → 1.89.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.
@@ -58,14 +58,6 @@ const isTypeError = (error) => error instanceof TypeError || (error instanceof E
58
58
  if (isExpressionError(error))
59
59
  throw error;
60
60
  });
61
- const AsyncFunction = (async () => { }).constructor;
62
- const fnConstructors = {
63
- sync: Function.prototype.constructor,
64
- async: AsyncFunction.prototype.constructor,
65
- mock: () => {
66
- throw new expression_error_1.ExpressionError('Arbitrary code execution detected');
67
- },
68
- };
69
61
  class Expression {
70
62
  constructor(workflow) {
71
63
  this.workflow = workflow;
@@ -147,7 +139,6 @@ class Expression {
147
139
  data.WebAssembly = {};
148
140
  data.Reflect = {};
149
141
  data.Proxy = {};
150
- data.constructor = {};
151
142
  data.escape = {};
152
143
  data.unescape = {};
153
144
  data.Date = Date;
@@ -234,7 +225,6 @@ class Expression {
234
225
  }
235
226
  renderExpression(expression, data) {
236
227
  try {
237
- [Function, AsyncFunction].forEach(({ prototype }) => Object.defineProperty(prototype, 'constructor', { value: fnConstructors.mock }));
238
228
  return (0, ExpressionEvaluatorProxy_1.evaluateExpression)(expression, data);
239
229
  }
240
230
  catch (error) {
@@ -249,12 +239,6 @@ class Expression {
249
239
  throw new application_error_1.ApplicationError(match.groups.msg);
250
240
  }
251
241
  }
252
- finally {
253
- Object.defineProperty(Function.prototype, 'constructor', { value: fnConstructors.sync });
254
- Object.defineProperty(AsyncFunction.prototype, 'constructor', {
255
- value: fnConstructors.async,
256
- });
257
- }
258
242
  return null;
259
243
  }
260
244
  getSimpleParameterValue(node, parameterValue, mode, additionalKeys, executeData, defaultValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"Expression.js","sourceRoot":"","sources":["../src/Expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Expression.js","sourceRoot":"","sources":["../src/Expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ type MultipleInputNodesError = {
2
+ errorCode: 'Multiple Input Nodes';
3
+ nodes: Set<string>;
4
+ };
5
+ type MultipleOutputNodesError = {
6
+ errorCode: 'Multiple Output Nodes';
7
+ nodes: Set<string>;
8
+ };
9
+ type InputEdgeToNonRootNode = {
10
+ errorCode: 'Input Edge To Non-Root Node';
11
+ node: string;
12
+ };
13
+ type OutputEdgeFromNonLeafNode = {
14
+ errorCode: 'Output Edge From Non-Leaf Node';
15
+ node: string;
16
+ };
17
+ type NoContinuousPathFromRootToLeaf = {
18
+ errorCode: 'No Continuous Path From Root To Leaf In Selection';
19
+ start: string;
20
+ end: string;
21
+ };
22
+ export type ExtractableErrorResult = MultipleInputNodesError | MultipleOutputNodesError | InputEdgeToNonRootNode | OutputEdgeFromNonLeafNode | NoContinuousPathFromRootToLeaf;
23
+ type AdjacencyList = Map<string, Set<string>>;
24
+ export declare function getInputEdges(graphIds: Set<string>, adjacencyList: AdjacencyList): Array<[string, string]>;
25
+ export declare function getOutputEdges(graphIds: Set<string>, adjacencyList: AdjacencyList): Array<[string, string]>;
26
+ export declare function getRootNodes(graphIds: Set<string>, adjacencyList: AdjacencyList): Set<string>;
27
+ export declare function getLeafNodes(graphIds: Set<string>, adjacencyList: AdjacencyList): Set<string>;
28
+ export declare function hasPath(start: string, end: string, adjacencyList: AdjacencyList): boolean;
29
+ export type ExtractableSubgraphData = {
30
+ start?: string;
31
+ end?: string;
32
+ };
33
+ export declare function parseExtractableSubgraphSelection(graphIds: Set<string>, adjacencyList: AdjacencyList): ExtractableSubgraphData | ExtractableErrorResult[];
34
+ export {};
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInputEdges = getInputEdges;
4
+ exports.getOutputEdges = getOutputEdges;
5
+ exports.getRootNodes = getRootNodes;
6
+ exports.getLeafNodes = getLeafNodes;
7
+ exports.hasPath = hasPath;
8
+ exports.parseExtractableSubgraphSelection = parseExtractableSubgraphSelection;
9
+ function getInputEdges(graphIds, adjacencyList) {
10
+ const result = [];
11
+ for (const [from, tos] of adjacencyList.entries()) {
12
+ if (graphIds.has(from))
13
+ continue;
14
+ for (const to of tos) {
15
+ if (graphIds.has(to)) {
16
+ result.push([from, to]);
17
+ }
18
+ }
19
+ }
20
+ return result;
21
+ }
22
+ function getOutputEdges(graphIds, adjacencyList) {
23
+ const result = [];
24
+ for (const [from, tos] of adjacencyList.entries()) {
25
+ if (!graphIds.has(from))
26
+ continue;
27
+ for (const to of tos) {
28
+ if (!graphIds.has(to)) {
29
+ result.push([from, to]);
30
+ }
31
+ }
32
+ }
33
+ return result;
34
+ }
35
+ function intersection(a, b) {
36
+ const result = new Set();
37
+ for (const x of a) {
38
+ if (b.has(x))
39
+ result.add(x);
40
+ }
41
+ return result;
42
+ }
43
+ function union(a, b) {
44
+ const result = new Set();
45
+ for (const x of a)
46
+ result.add(x);
47
+ for (const x of b)
48
+ result.add(x);
49
+ return result;
50
+ }
51
+ function difference(minuend, subtrahend) {
52
+ const result = new Set(minuend.values());
53
+ for (const x of subtrahend) {
54
+ result.delete(x);
55
+ }
56
+ return result;
57
+ }
58
+ function getRootNodes(graphIds, adjacencyList) {
59
+ let innerNodes = new Set();
60
+ for (const nodeId of graphIds) {
61
+ innerNodes = union(innerNodes, adjacencyList.get(nodeId) ?? new Set());
62
+ }
63
+ return difference(graphIds, innerNodes);
64
+ }
65
+ function getLeafNodes(graphIds, adjacencyList) {
66
+ const result = new Set();
67
+ for (const nodeId of graphIds) {
68
+ if (intersection(adjacencyList.get(nodeId) ?? new Set(), graphIds).size === 0) {
69
+ result.add(nodeId);
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+ function hasPath(start, end, adjacencyList) {
75
+ const seen = new Set();
76
+ const paths = [start];
77
+ while (true) {
78
+ const next = paths.pop();
79
+ if (next === end)
80
+ return true;
81
+ if (next === undefined)
82
+ return false;
83
+ seen.add(next);
84
+ paths.push(...difference(adjacencyList.get(next) ?? new Set(), seen));
85
+ }
86
+ }
87
+ function parseExtractableSubgraphSelection(graphIds, adjacencyList) {
88
+ const errors = [];
89
+ const inputEdges = getInputEdges(graphIds, adjacencyList);
90
+ const inputNodes = new Set(inputEdges.map((x) => x[1]));
91
+ const rootNodes = getRootNodes(graphIds, adjacencyList);
92
+ for (const inputNode of difference(inputNodes, rootNodes).values()) {
93
+ errors.push({
94
+ errorCode: 'Input Edge To Non-Root Node',
95
+ node: inputNode,
96
+ });
97
+ }
98
+ const rootInputNodes = intersection(rootNodes, inputNodes);
99
+ if (rootInputNodes.size > 1) {
100
+ errors.push({
101
+ errorCode: 'Multiple Input Nodes',
102
+ nodes: rootInputNodes,
103
+ });
104
+ }
105
+ const outputEdges = getOutputEdges(graphIds, adjacencyList);
106
+ const outputNodes = new Set(outputEdges.map((x) => x[0]));
107
+ const leafNodes = getLeafNodes(graphIds, adjacencyList);
108
+ for (const outputNode of difference(outputNodes, leafNodes).values()) {
109
+ errors.push({
110
+ errorCode: 'Output Edge From Non-Leaf Node',
111
+ node: outputNode,
112
+ });
113
+ }
114
+ const leafOutputNodes = intersection(leafNodes, outputNodes);
115
+ if (leafOutputNodes.size > 1) {
116
+ errors.push({
117
+ errorCode: 'Multiple Output Nodes',
118
+ nodes: leafOutputNodes,
119
+ });
120
+ }
121
+ const start = rootInputNodes.values().next().value;
122
+ const end = leafOutputNodes.values().next().value;
123
+ if (start && end && !hasPath(start, end, adjacencyList)) {
124
+ errors.push({
125
+ errorCode: 'No Continuous Path From Root To Leaf In Selection',
126
+ start,
127
+ end,
128
+ });
129
+ }
130
+ return errors.length > 0 ? errors : { start, end };
131
+ }
132
+ //# sourceMappingURL=graphUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphUtils.js","sourceRoot":"","sources":["../../src/Graph/graphUtils.ts"],"names":[],"mappings":"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"}
@@ -399,6 +399,7 @@ export interface IGetNodeParameterOptions {
399
399
  ensureType?: EnsureTypeOptions;
400
400
  extractValue?: boolean;
401
401
  rawExpressions?: boolean;
402
+ skipValidation?: boolean;
402
403
  }
403
404
  declare namespace ExecuteFunctions {
404
405
  namespace StringReturning {
@@ -453,6 +454,7 @@ export interface BinaryHelperFunctions {
453
454
  binaryToString(body: Buffer | Readable, encoding?: BufferEncoding): Promise<string>;
454
455
  getBinaryPath(binaryDataId: string): string;
455
456
  getBinaryStream(binaryDataId: string, chunkSize?: number): Promise<Readable>;
457
+ createBinarySignedUrl(binaryData: IBinaryData, expiresIn?: string): string;
456
458
  getBinaryMetadata(binaryDataId: string): Promise<{
457
459
  fileName?: string;
458
460
  mimeType?: string;
@@ -692,6 +694,7 @@ export interface INode {
692
694
  credentials?: INodeCredentials;
693
695
  webhookId?: string;
694
696
  extendsCredential?: string;
697
+ rewireOutputLogTo?: NodeConnectionType;
695
698
  }
696
699
  export interface IPinData {
697
700
  [nodeName: string]: INodeExecutionData[];
@@ -892,7 +895,7 @@ export interface IDisplayOptions {
892
895
  };
893
896
  show?: {
894
897
  '@version'?: Array<number | DisplayCondition>;
895
- '@tool'?: [boolean];
898
+ '@tool'?: boolean[];
896
899
  [key: string]: Array<NodeParameterValue | DisplayCondition> | undefined;
897
900
  };
898
901
  hideOnCloud?: boolean;
@@ -1674,6 +1677,7 @@ export interface WorkflowTestData {
1674
1677
  mode: WorkflowExecuteMode;
1675
1678
  input: INodeExecutionData;
1676
1679
  };
1680
+ credentials?: Record<string, ICredentialDataDecryptedObject>;
1677
1681
  }
1678
1682
  export type LogLevel = (typeof LOG_LEVELS)[number];
1679
1683
  export type LogMetadata = {
@@ -1850,7 +1854,8 @@ export interface WorkflowInputsData {
1850
1854
  fields: ResourceMapperField[];
1851
1855
  dataMode: string;
1852
1856
  subworkflowInfo?: {
1853
- id?: string;
1857
+ workflowId?: string;
1858
+ triggerId?: string;
1854
1859
  };
1855
1860
  }
1856
1861
  export interface ResourceMapperField {
@@ -1 +1 @@
1
- {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../src/Interfaces.ts"],"names":[],"mappings":";;;AA6FA,MAAsB,YAAY;IASjC,YAAY,eAAwC,EAAE,IAAY,EAAE,IAAa;QAChF,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CAOD;AArBD,oCAqBC;AAuED,MAAsB,kBAAkB;CAyCvC;AAzCD,gDAyCC;AAu3CD,MAAsB,IAAI;CAKzB;AALD,oBAKC;AAqNY,QAAA,mBAAmB,GAAG;IAClC,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,kBAAkB;IACnC,QAAQ,EAAE,WAAW;IACrB,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,gBAAgB;IAC/B,IAAI,EAAE,MAAM;CACH,CAAC;AAME,QAAA,mBAAmB,GAAyB;IACxD,2BAAmB,CAAC,OAAO;IAC3B,2BAAmB,CAAC,OAAO;IAC3B,2BAAmB,CAAC,UAAU;IAC9B,2BAAmB,CAAC,WAAW;IAC/B,2BAAmB,CAAC,eAAe;IACnC,2BAAmB,CAAC,QAAQ;IAC5B,2BAAmB,CAAC,cAAc;IAClC,2BAAmB,CAAC,WAAW;IAC/B,2BAAmB,CAAC,cAAc;IAClC,2BAAmB,CAAC,MAAM;IAC1B,2BAAmB,CAAC,aAAa;IACjC,2BAAmB,CAAC,IAAI;CACxB,CAAC"}
1
+ {"version":3,"file":"Interfaces.js","sourceRoot":"","sources":["../src/Interfaces.ts"],"names":[],"mappings":";;;AA6FA,MAAsB,YAAY;IASjC,YAAY,eAAwC,EAAE,IAAY,EAAE,IAAa;QAChF,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CAOD;AArBD,oCAqBC;AAuED,MAAsB,kBAAkB;CAyCvC;AAzCD,gDAyCC;AA23CD,MAAsB,IAAI;CAKzB;AALD,oBAKC;AAqNY,QAAA,mBAAmB,GAAG;IAClC,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,cAAc;IAC3B,eAAe,EAAE,kBAAkB;IACnC,QAAQ,EAAE,WAAW;IACrB,cAAc,EAAE,iBAAiB;IACjC,WAAW,EAAE,cAAc;IAC3B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,SAAS;IACjB,aAAa,EAAE,gBAAgB;IAC/B,IAAI,EAAE,MAAM;CACH,CAAC;AAME,QAAA,mBAAmB,GAAyB;IACxD,2BAAmB,CAAC,OAAO;IAC3B,2BAAmB,CAAC,OAAO;IAC3B,2BAAmB,CAAC,UAAU;IAC9B,2BAAmB,CAAC,WAAW;IAC/B,2BAAmB,CAAC,eAAe;IACnC,2BAAmB,CAAC,QAAQ;IAC5B,2BAAmB,CAAC,cAAc;IAClC,2BAAmB,CAAC,WAAW;IAC/B,2BAAmB,CAAC,cAAc;IAClC,2BAAmB,CAAC,MAAM;IAC1B,2BAAmB,CAAC,aAAa;IACjC,2BAAmB,CAAC,IAAI;CACxB,CAAC"}
@@ -1,13 +1,11 @@
1
- import type { IContextObject, INode, INodeCredentialDescription, INodeIssues, INodeParameters, INodeProperties, INodePropertyCollection, INodeType, IParameterDependencies, IRunExecutionData, IVersionedNodeType, INodeTypeDescription, INodeOutputConfiguration, INodeInputConfiguration, NodeHint, INodeExecutionData, NodeConnectionType } from './Interfaces';
1
+ import type { IContextObject, INode, INodeCredentialDescription, INodeIssues, INodeParameters, INodeProperties, INodePropertyCollection, INodeType, IParameterDependencies, IRunExecutionData, IVersionedNodeType, INodeTypeDescription, INodeOutputConfiguration, INodeInputConfiguration, NodeConnectionType } from './Interfaces';
2
2
  import type { Workflow } from './Workflow';
3
3
  export declare const cronNodeOptions: INodePropertyCollection[];
4
4
  export declare function isSubNodeType(typeDescription: Pick<INodeTypeDescription, 'outputs'> | null): boolean;
5
- export declare function applyDeclarativeNodeOptionParameters(nodeType: INodeType): void;
6
5
  export declare function displayParameter(nodeValues: INodeParameters, parameter: INodeProperties | INodeCredentialDescription, node: Pick<INode, 'typeVersion'> | null, nodeTypeDescription: INodeTypeDescription | null, nodeValuesRoot?: INodeParameters, displayKey?: 'displayOptions' | 'disabledOptions'): boolean;
7
6
  export declare function displayParameterPath(nodeValues: INodeParameters, parameter: INodeProperties | INodeCredentialDescription, path: string, node: Pick<INode, 'typeVersion'> | null, nodeTypeDescription: INodeTypeDescription | null, displayKey?: 'displayOptions' | 'disabledOptions'): boolean;
8
7
  export declare function getContext(runExecutionData: IRunExecutionData, type: string, node?: INode): IContextObject;
9
- export declare function getParameterResolveOrder(nodePropertiesArray: INodeProperties[], parameterDependencies: IParameterDependencies): number[];
10
- export type GetNodeParametersOptions = {
8
+ type GetNodeParametersOptions = {
11
9
  onlySimpleTypes?: boolean;
12
10
  dataIsResolved?: boolean;
13
11
  nodeValuesRoot?: INodeParameters;
@@ -19,14 +17,8 @@ export declare function getNodeWebhookPath(workflowId: string, node: INode, path
19
17
  export declare function getNodeWebhookUrl(baseUrl: string, workflowId: string, node: INode, path: string, isFullPath?: boolean): string;
20
18
  export declare function getConnectionTypes(connections: Array<NodeConnectionType | INodeInputConfiguration | INodeOutputConfiguration>): NodeConnectionType[];
21
19
  export declare function getNodeInputs(workflow: Workflow, node: INode, nodeTypeData: INodeTypeDescription): Array<NodeConnectionType | INodeInputConfiguration>;
22
- export declare function getNodeHints(workflow: Workflow, node: INode, nodeTypeData: INodeTypeDescription, nodeInputData?: {
23
- runExecutionData: IRunExecutionData | null;
24
- runIndex: number;
25
- connectionInputData: INodeExecutionData[];
26
- }): NodeHint[];
27
20
  export declare function getNodeOutputs(workflow: Workflow, node: INode, nodeTypeData: INodeTypeDescription): Array<NodeConnectionType | INodeOutputConfiguration>;
28
21
  export declare function getNodeParametersIssues(nodePropertiesArray: INodeProperties[], node: INode, nodeTypeDescription: INodeTypeDescription | null, pinDataNodeNames?: string[]): INodeIssues | null;
29
- export declare function nodeIssuesToString(issues: INodeIssues, node?: INode): string[];
30
22
  export declare function getParameterValueByPath(nodeValues: INodeParameters, parameterName: string, path: string): import("./Interfaces").NodeParameterValueType;
31
23
  export declare function getParameterIssues(nodeProperties: INodeProperties, nodeValues: INodeParameters, path: string, node: INode, nodeTypeDescription: INodeTypeDescription | null): INodeIssues;
32
24
  export declare function mergeIssues(destination: INodeIssues, source: INodeIssues | null): void;
@@ -34,3 +26,4 @@ export declare function mergeNodeProperties(mainProperties: INodeProperties[], a
34
26
  export declare function getVersionedNodeType(object: IVersionedNodeType | INodeType, version?: number): INodeType;
35
27
  export declare function isTriggerNode(nodeTypeData: INodeTypeDescription): boolean;
36
28
  export declare function isExecutable(workflow: Workflow, node: INode, nodeTypeData: INodeTypeDescription): boolean;
29
+ export {};
@@ -5,20 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.cronNodeOptions = void 0;
7
7
  exports.isSubNodeType = isSubNodeType;
8
- exports.applyDeclarativeNodeOptionParameters = applyDeclarativeNodeOptionParameters;
9
8
  exports.displayParameter = displayParameter;
10
9
  exports.displayParameterPath = displayParameterPath;
11
10
  exports.getContext = getContext;
12
- exports.getParameterResolveOrder = getParameterResolveOrder;
13
11
  exports.getNodeParameters = getNodeParameters;
14
12
  exports.getNodeWebhookPath = getNodeWebhookPath;
15
13
  exports.getNodeWebhookUrl = getNodeWebhookUrl;
16
14
  exports.getConnectionTypes = getConnectionTypes;
17
15
  exports.getNodeInputs = getNodeInputs;
18
- exports.getNodeHints = getNodeHints;
19
16
  exports.getNodeOutputs = getNodeOutputs;
20
17
  exports.getNodeParametersIssues = getNodeParametersIssues;
21
- exports.nodeIssuesToString = nodeIssuesToString;
22
18
  exports.getParameterValueByPath = getParameterValueByPath;
23
19
  exports.getParameterIssues = getParameterIssues;
24
20
  exports.mergeIssues = mergeIssues;
@@ -219,82 +215,6 @@ exports.cronNodeOptions = [
219
215
  ],
220
216
  },
221
217
  ];
222
- const declarativeNodeOptionParameters = {
223
- displayName: 'Request Options',
224
- name: 'requestOptions',
225
- type: 'collection',
226
- isNodeSetting: true,
227
- placeholder: 'Add Option',
228
- default: {},
229
- options: [
230
- {
231
- displayName: 'Batching',
232
- name: 'batching',
233
- placeholder: 'Add Batching',
234
- type: 'fixedCollection',
235
- typeOptions: {
236
- multipleValues: false,
237
- },
238
- default: {
239
- batch: {},
240
- },
241
- options: [
242
- {
243
- displayName: 'Batching',
244
- name: 'batch',
245
- values: [
246
- {
247
- displayName: 'Items per Batch',
248
- name: 'batchSize',
249
- type: 'number',
250
- typeOptions: {
251
- minValue: -1,
252
- },
253
- default: 50,
254
- description: 'Input will be split in batches to throttle requests. -1 for disabled. 0 will be treated as 1.',
255
- },
256
- {
257
- displayName: 'Batch Interval (ms)',
258
- name: 'batchInterval',
259
- type: 'number',
260
- typeOptions: {
261
- minValue: 0,
262
- },
263
- default: 1000,
264
- description: 'Time (in milliseconds) between each batch of requests. 0 for disabled.',
265
- },
266
- ],
267
- },
268
- ],
269
- },
270
- {
271
- displayName: 'Ignore SSL Issues (Insecure)',
272
- name: 'allowUnauthorizedCerts',
273
- type: 'boolean',
274
- noDataExpression: true,
275
- default: false,
276
- description: 'Whether to accept the response even if SSL certificate validation is not possible',
277
- },
278
- {
279
- displayName: 'Proxy',
280
- name: 'proxy',
281
- type: 'string',
282
- default: '',
283
- placeholder: 'e.g. http://myproxy:3128',
284
- description: 'HTTP proxy to use. If authentication is required it can be defined as follow: http://username:password@myproxy:3128',
285
- },
286
- {
287
- displayName: 'Timeout',
288
- name: 'timeout',
289
- type: 'number',
290
- typeOptions: {
291
- minValue: 1,
292
- },
293
- default: 10000,
294
- description: 'Time in ms to wait for the server to send response headers (and start the response body) before aborting the request',
295
- },
296
- ],
297
- };
298
218
  function isSubNodeType(typeDescription) {
299
219
  if (!typeDescription?.outputs || typeof typeDescription.outputs === 'string') {
300
220
  return false;
@@ -304,47 +224,6 @@ function isSubNodeType(typeDescription) {
304
224
  ? outputTypes.filter((output) => output !== Interfaces_1.NodeConnectionTypes.Main).length > 0
305
225
  : false;
306
226
  }
307
- function applyDeclarativeNodeOptionParameters(nodeType) {
308
- if (nodeType.execute ||
309
- nodeType.trigger ||
310
- nodeType.webhook ||
311
- nodeType.description.polling ||
312
- isSubNodeType(nodeType.description)) {
313
- return;
314
- }
315
- const parameters = nodeType.description.properties;
316
- if (!parameters) {
317
- return;
318
- }
319
- const existingRequestOptionsIndex = parameters.findIndex((parameter) => parameter.name === 'requestOptions');
320
- if (existingRequestOptionsIndex !== -1) {
321
- parameters[existingRequestOptionsIndex] = {
322
- ...declarativeNodeOptionParameters,
323
- options: [
324
- ...(declarativeNodeOptionParameters.options || []),
325
- ...(parameters[existingRequestOptionsIndex]?.options || []),
326
- ],
327
- };
328
- const options = parameters[existingRequestOptionsIndex]?.options;
329
- if (options) {
330
- options.sort((a, b) => {
331
- if ('displayName' in a && 'displayName' in b) {
332
- if (a.displayName < b.displayName) {
333
- return -1;
334
- }
335
- if (a.displayName > b.displayName) {
336
- return 1;
337
- }
338
- }
339
- return 0;
340
- });
341
- }
342
- }
343
- else {
344
- parameters.push(declarativeNodeOptionParameters);
345
- }
346
- return;
347
- }
348
227
  const getPropertyValues = (nodeValues, propertyName, node, nodeTypeDescription, nodeValuesRoot) => {
349
228
  let value;
350
229
  if (propertyName.charAt(0) === '/') {
@@ -802,42 +681,6 @@ function getNodeInputs(workflow, node, nodeTypeData) {
802
681
  return [];
803
682
  }
804
683
  }
805
- function getNodeHints(workflow, node, nodeTypeData, nodeInputData) {
806
- const hints = [];
807
- if (nodeTypeData?.hints?.length) {
808
- for (const hint of nodeTypeData.hints) {
809
- if (hint.displayCondition) {
810
- try {
811
- let display;
812
- if (nodeInputData === undefined) {
813
- display = (workflow.expression.getSimpleParameterValue(node, hint.displayCondition, 'internal', {}) || false);
814
- }
815
- else {
816
- const { runExecutionData, runIndex, connectionInputData } = nodeInputData;
817
- display = workflow.expression.getParameterValue(hint.displayCondition, runExecutionData ?? null, runIndex, 0, node.name, connectionInputData, 'manual', {});
818
- }
819
- if (typeof display === 'string' && display.trim() === 'true') {
820
- display = true;
821
- }
822
- if (typeof display !== 'boolean') {
823
- console.warn(`Condition was not resolved as boolean in '${node.name}' node for hint: `, hint.message);
824
- continue;
825
- }
826
- if (display) {
827
- hints.push(hint);
828
- }
829
- }
830
- catch (e) {
831
- console.warn(`Could not calculate display condition in '${node.name}' node for hint: `, hint.message);
832
- }
833
- }
834
- else {
835
- hints.push(hint);
836
- }
837
- }
838
- }
839
- return hints;
840
- }
841
684
  function getNodeOutputs(workflow, node, nodeTypeData) {
842
685
  let outputs = [];
843
686
  if (Array.isArray(nodeTypeData.outputs)) {
@@ -887,33 +730,6 @@ function getNodeParametersIssues(nodePropertiesArray, node, nodeTypeDescription,
887
730
  }
888
731
  return foundIssues;
889
732
  }
890
- function nodeIssuesToString(issues, node) {
891
- const nodeIssues = [];
892
- if (issues.execution !== undefined) {
893
- nodeIssues.push('Execution Error.');
894
- }
895
- const objectProperties = ['parameters', 'credentials', 'input'];
896
- let issueText;
897
- let parameterName;
898
- for (const propertyName of objectProperties) {
899
- if (issues[propertyName] !== undefined) {
900
- for (parameterName of Object.keys(issues[propertyName])) {
901
- for (issueText of issues[propertyName][parameterName]) {
902
- nodeIssues.push(issueText);
903
- }
904
- }
905
- }
906
- }
907
- if (issues.typeUnknown !== undefined) {
908
- if (node !== undefined) {
909
- nodeIssues.push(`Node Type "${node.type}" is not known.`);
910
- }
911
- else {
912
- nodeIssues.push('Node Type is not known.');
913
- }
914
- }
915
- return nodeIssues;
916
- }
917
733
  const validateResourceLocatorParameter = (value, parameterMode) => {
918
734
  const valueToValidate = value?.value?.toString() || '';
919
735
  if (valueToValidate.startsWith('=')) {