n8n-core 1.53.1 → 1.55.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.
- package/README.md +1 -5
- package/bin/generate-ui-types +5 -2
- package/dist/InstanceSettings.d.ts +5 -0
- package/dist/InstanceSettings.js +13 -0
- package/dist/InstanceSettings.js.map +1 -1
- package/dist/NodeExecuteFunctions.d.ts +2 -1
- package/dist/NodeExecuteFunctions.js +19 -9
- package/dist/NodeExecuteFunctions.js.map +1 -1
- package/dist/WorkflowExecute.js +20 -2
- package/dist/WorkflowExecute.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -10,8 +10,4 @@ npm install n8n-core
|
|
|
10
10
|
|
|
11
11
|
## License
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Proprietary licenses are available for enterprise customers. [Get in touch](mailto:license@n8n.io)
|
|
16
|
-
|
|
17
|
-
Additional information about the license can be found in the [docs](https://docs.n8n.io/reference/license/).
|
|
13
|
+
You can find the license information [here](https://github.com/n8n-io/n8n/blob/master/README.md#license)
|
package/bin/generate-ui-types
CHANGED
|
@@ -33,8 +33,11 @@ function findReferencedMethods(obj, refs = {}, latestName = '') {
|
|
|
33
33
|
const knownCredentials = loader.known.credentials;
|
|
34
34
|
const credentialTypes = Object.values(loader.credentialTypes).map((data) => {
|
|
35
35
|
const credentialType = data.type;
|
|
36
|
-
if (
|
|
37
|
-
|
|
36
|
+
if (
|
|
37
|
+
knownCredentials[credentialType.name].supportedNodes?.length > 0 &&
|
|
38
|
+
credentialType.httpRequestNode
|
|
39
|
+
) {
|
|
40
|
+
credentialType.httpRequestNode.hidden = true;
|
|
38
41
|
}
|
|
39
42
|
return credentialType;
|
|
40
43
|
});
|
|
@@ -10,6 +10,11 @@ export declare class InstanceSettings {
|
|
|
10
10
|
private readonly settingsFile;
|
|
11
11
|
private settings;
|
|
12
12
|
readonly instanceId: string;
|
|
13
|
+
private instanceRole;
|
|
14
|
+
get isLeader(): boolean;
|
|
15
|
+
markAsLeader(): void;
|
|
16
|
+
get isFollower(): boolean;
|
|
17
|
+
markAsFollower(): void;
|
|
13
18
|
get encryptionKey(): string;
|
|
14
19
|
get tunnelSubdomain(): string | undefined;
|
|
15
20
|
update(newSettings: WritableSettings): void;
|
package/dist/InstanceSettings.js
CHANGED
|
@@ -26,6 +26,19 @@ let InstanceSettings = class InstanceSettings {
|
|
|
26
26
|
this.settingsFile = path_1.default.join(this.n8nFolder, 'config');
|
|
27
27
|
this.settings = this.loadOrCreate();
|
|
28
28
|
this.instanceId = this.generateInstanceId();
|
|
29
|
+
this.instanceRole = 'unset';
|
|
30
|
+
}
|
|
31
|
+
get isLeader() {
|
|
32
|
+
return this.instanceRole === 'leader';
|
|
33
|
+
}
|
|
34
|
+
markAsLeader() {
|
|
35
|
+
this.instanceRole = 'leader';
|
|
36
|
+
}
|
|
37
|
+
get isFollower() {
|
|
38
|
+
return this.instanceRole === 'follower';
|
|
39
|
+
}
|
|
40
|
+
markAsFollower() {
|
|
41
|
+
this.instanceRole = 'follower';
|
|
29
42
|
}
|
|
30
43
|
get encryptionKey() {
|
|
31
44
|
return this.settings.encryptionKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceSettings.js","sourceRoot":"","sources":["../src/InstanceSettings.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAwB;AACxB,2BAAwE;AACxE,mCAAiD;AACjD,mCAAiC;AACjC,+CAA2D;
|
|
1
|
+
{"version":3,"file":"InstanceSettings.js","sourceRoot":"","sources":["../src/InstanceSettings.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ export declare function getNodeParameter(workflow: Workflow, runExecutionData: I
|
|
|
38
38
|
export declare function continueOnFail(node: INode): boolean;
|
|
39
39
|
export declare function getNodeWebhookUrl(name: string, workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, isTest?: boolean): string | undefined;
|
|
40
40
|
export declare function getWebhookDescription(name: string, workflow: Workflow, node: INode): IWebhookDescription | undefined;
|
|
41
|
+
export declare function isFilePathBlocked(filePath: string): boolean;
|
|
41
42
|
export declare function copyInputItems(items: INodeExecutionData[], properties: string[]): IDataObject[];
|
|
42
43
|
export declare function getExecutePollFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): IPollFunctions;
|
|
43
44
|
export declare function getExecuteTriggerFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): ITriggerFunctions;
|
|
@@ -46,4 +47,4 @@ export declare function getExecuteSingleFunctions(workflow: Workflow, runExecuti
|
|
|
46
47
|
export declare function getCredentialTestFunctions(): ICredentialTestFunctions;
|
|
47
48
|
export declare function getLoadOptionsFunctions(workflow: Workflow, node: INode, path: string, additionalData: IWorkflowExecuteAdditionalData): ILoadOptionsFunctions;
|
|
48
49
|
export declare function getExecuteHookFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode, webhookData?: IWebhookData): IHookFunctions;
|
|
49
|
-
export declare function getExecuteWebhookFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, webhookData: IWebhookData, closeFunctions: CloseFunction[]): IWebhookFunctions;
|
|
50
|
+
export declare function getExecuteWebhookFunctions(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, webhookData: IWebhookData, closeFunctions: CloseFunction[], runExecutionData: IRunExecutionData | null): IWebhookFunctions;
|
|
@@ -52,6 +52,7 @@ exports.getNodeParameter = getNodeParameter;
|
|
|
52
52
|
exports.continueOnFail = continueOnFail;
|
|
53
53
|
exports.getNodeWebhookUrl = getNodeWebhookUrl;
|
|
54
54
|
exports.getWebhookDescription = getWebhookDescription;
|
|
55
|
+
exports.isFilePathBlocked = isFilePathBlocked;
|
|
55
56
|
exports.copyInputItems = copyInputItems;
|
|
56
57
|
exports.getExecutePollFunctions = getExecutePollFunctions;
|
|
57
58
|
exports.getExecuteTriggerFunctions = getExecuteTriggerFunctions;
|
|
@@ -960,7 +961,9 @@ async function requestOAuth2(credentialsType, requestOptions, node, additionalDa
|
|
|
960
961
|
});
|
|
961
962
|
let oauthTokenData = credentials.oauthTokenData;
|
|
962
963
|
if (credentials.grantType === 'clientCredentials' &&
|
|
963
|
-
(oauthTokenData === undefined ||
|
|
964
|
+
(oauthTokenData === undefined ||
|
|
965
|
+
Object.keys(oauthTokenData).length === 0 ||
|
|
966
|
+
oauthTokenData.access_token === '')) {
|
|
964
967
|
const { data } = await oAuthClient.credentials.getToken();
|
|
965
968
|
if (!((_b = node.credentials) === null || _b === void 0 ? void 0 : _b[credentialsType])) {
|
|
966
969
|
throw new n8n_workflow_1.ApplicationError('Node does not have credential type', {
|
|
@@ -2124,8 +2127,8 @@ function isFilePathBlocked(filePath) {
|
|
|
2124
2127
|
return true;
|
|
2125
2128
|
}
|
|
2126
2129
|
if (blockFileAccessToN8nFiles) {
|
|
2127
|
-
const { n8nFolder } = typedi_1.default.get(InstanceSettings_1.InstanceSettings);
|
|
2128
|
-
const restrictedPaths = [n8nFolder];
|
|
2130
|
+
const { n8nFolder, staticCacheDir } = typedi_1.default.get(InstanceSettings_1.InstanceSettings);
|
|
2131
|
+
const restrictedPaths = [n8nFolder, staticCacheDir];
|
|
2129
2132
|
if (process.env[Constants_1.CONFIG_FILES]) {
|
|
2130
2133
|
restrictedPaths.push(...process.env[Constants_1.CONFIG_FILES].split(','));
|
|
2131
2134
|
}
|
|
@@ -2590,8 +2593,8 @@ function getExecuteHookFunctions(workflow, node, additionalData, mode, activatio
|
|
|
2590
2593
|
};
|
|
2591
2594
|
})(workflow, node);
|
|
2592
2595
|
}
|
|
2593
|
-
function getExecuteWebhookFunctions(workflow, node, additionalData, mode, webhookData, closeFunctions) {
|
|
2594
|
-
return ((workflow, node) => {
|
|
2596
|
+
function getExecuteWebhookFunctions(workflow, node, additionalData, mode, webhookData, closeFunctions, runExecutionData) {
|
|
2597
|
+
return ((workflow, node, runExecutionData) => {
|
|
2595
2598
|
return {
|
|
2596
2599
|
...getCommonWorkflowFunctions(workflow, node, additionalData),
|
|
2597
2600
|
getBodyData() {
|
|
@@ -2629,11 +2632,18 @@ function getExecuteWebhookFunctions(workflow, node, additionalData, mode, webhoo
|
|
|
2629
2632
|
},
|
|
2630
2633
|
getMode: () => mode,
|
|
2631
2634
|
getNodeParameter: (parameterName, fallbackValue, options) => {
|
|
2632
|
-
const runExecutionData = null;
|
|
2633
2635
|
const itemIndex = 0;
|
|
2634
2636
|
const runIndex = 0;
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
+
let connectionInputData = [];
|
|
2638
|
+
let executionData;
|
|
2639
|
+
if ((runExecutionData === null || runExecutionData === void 0 ? void 0 : runExecutionData.executionData) !== undefined) {
|
|
2640
|
+
executionData = runExecutionData.executionData.nodeExecutionStack[0];
|
|
2641
|
+
if (executionData !== undefined) {
|
|
2642
|
+
connectionInputData = executionData.data.main[0];
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2645
|
+
const additionalKeys = getAdditionalKeys(additionalData, mode, runExecutionData);
|
|
2646
|
+
return getNodeParameter(workflow, runExecutionData, runIndex, connectionInputData, node, parameterName, itemIndex, mode, additionalKeys, executionData, fallbackValue, options);
|
|
2637
2647
|
},
|
|
2638
2648
|
getParamsData() {
|
|
2639
2649
|
if (additionalData.httpRequest === undefined) {
|
|
@@ -2669,6 +2679,6 @@ function getExecuteWebhookFunctions(workflow, node, additionalData, mode, webhoo
|
|
|
2669
2679
|
},
|
|
2670
2680
|
nodeHelpers: getNodeHelperFunctions(additionalData, workflow.id),
|
|
2671
2681
|
};
|
|
2672
|
-
})(workflow, node);
|
|
2682
|
+
})(workflow, node, runExecutionData);
|
|
2673
2683
|
}
|
|
2674
2684
|
//# sourceMappingURL=NodeExecuteFunctions.js.map
|