@atom8n/task-runner 2.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.
- package/dist/build.tsbuildinfo +1 -0
- package/dist/config/base-runner-config.d.ts +16 -0
- package/dist/config/base-runner-config.js +83 -0
- package/dist/config/base-runner-config.js.map +1 -0
- package/dist/config/js-runner-config.d.ts +5 -0
- package/dist/config/js-runner-config.js +37 -0
- package/dist/config/js-runner-config.js.map +1 -0
- package/dist/config/main-config.d.ts +8 -0
- package/dist/config/main-config.js +35 -0
- package/dist/config/main-config.js.map +1 -0
- package/dist/config/sentry-config.d.ts +6 -0
- package/dist/config/sentry-config.js +42 -0
- package/dist/config/sentry-config.js.map +1 -0
- package/dist/data-request/data-request-response-reconstruct.d.ts +6 -0
- package/dist/data-request/data-request-response-reconstruct.js +30 -0
- package/dist/data-request/data-request-response-reconstruct.js.map +1 -0
- package/dist/health-check-server.d.ts +5 -0
- package/dist/health-check-server.js +43 -0
- package/dist/health-check-server.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/js-task-runner/built-ins-parser/acorn-helpers.d.ts +6 -0
- package/dist/js-task-runner/built-ins-parser/acorn-helpers.js +23 -0
- package/dist/js-task-runner/built-ins-parser/acorn-helpers.js.map +1 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.d.ts +19 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.js +59 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.js.map +1 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser.d.ts +12 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser.js +120 -0
- package/dist/js-task-runner/built-ins-parser/built-ins-parser.js.map +1 -0
- package/dist/js-task-runner/errors/disallowed-module.error.d.ts +4 -0
- package/dist/js-task-runner/errors/disallowed-module.error.js +11 -0
- package/dist/js-task-runner/errors/disallowed-module.error.js.map +1 -0
- package/dist/js-task-runner/errors/error-like.d.ts +5 -0
- package/dist/js-task-runner/errors/error-like.js +10 -0
- package/dist/js-task-runner/errors/error-like.js.map +1 -0
- package/dist/js-task-runner/errors/execution-error.d.ts +14 -0
- package/dist/js-task-runner/errors/execution-error.js +85 -0
- package/dist/js-task-runner/errors/execution-error.js.map +1 -0
- package/dist/js-task-runner/errors/serializable-error.d.ts +4 -0
- package/dist/js-task-runner/errors/serializable-error.js +27 -0
- package/dist/js-task-runner/errors/serializable-error.js.map +1 -0
- package/dist/js-task-runner/errors/task-cancelled-error.d.ts +4 -0
- package/dist/js-task-runner/errors/task-cancelled-error.js +11 -0
- package/dist/js-task-runner/errors/task-cancelled-error.js.map +1 -0
- package/dist/js-task-runner/errors/timeout-error.d.ts +5 -0
- package/dist/js-task-runner/errors/timeout-error.js +22 -0
- package/dist/js-task-runner/errors/timeout-error.js.map +1 -0
- package/dist/js-task-runner/errors/unsupported-function.error.d.ts +4 -0
- package/dist/js-task-runner/errors/unsupported-function.error.js +13 -0
- package/dist/js-task-runner/errors/unsupported-function.error.js.map +1 -0
- package/dist/js-task-runner/js-task-runner.d.ts +59 -0
- package/dist/js-task-runner/js-task-runner.js +381 -0
- package/dist/js-task-runner/js-task-runner.js.map +1 -0
- package/dist/js-task-runner/obj-utils.d.ts +1 -0
- package/dist/js-task-runner/obj-utils.js +7 -0
- package/dist/js-task-runner/obj-utils.js.map +1 -0
- package/dist/js-task-runner/require-resolver.d.ts +6 -0
- package/dist/js-task-runner/require-resolver.js +22 -0
- package/dist/js-task-runner/require-resolver.js.map +1 -0
- package/dist/message-types.d.ts +186 -0
- package/dist/message-types.js +3 -0
- package/dist/message-types.js.map +1 -0
- package/dist/node-types.d.ts +13 -0
- package/dist/node-types.js +67 -0
- package/dist/node-types.js.map +1 -0
- package/dist/runner-types.d.ts +77 -0
- package/dist/runner-types.js +32 -0
- package/dist/runner-types.js.map +1 -0
- package/dist/start.d.ts +1 -0
- package/dist/start.js +107 -0
- package/dist/start.js.map +1 -0
- package/dist/task-runner-javascript/node_modules/.bin/acorn +21 -0
- package/dist/task-runner-javascript/node_modules/.bin/n8n-copy-static-files +21 -0
- package/dist/task-runner-javascript/node_modules/.bin/n8n-generate-metadata +21 -0
- package/dist/task-runner-javascript/node_modules/.bin/n8n-generate-translations +21 -0
- package/dist/task-runner-javascript/node_modules/.bin/nanoid +21 -0
- package/dist/task-runner-sentry.d.ts +12 -0
- package/dist/task-runner-sentry.js +68 -0
- package/dist/task-runner-sentry.js.map +1 -0
- package/dist/task-runner.d.ts +85 -0
- package/dist/task-runner.js +441 -0
- package/dist/task-runner.js.map +1 -0
- package/dist/task-state.d.ts +17 -0
- package/dist/task-state.js +63 -0
- package/dist/task-state.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"built-ins-parser.js","sourceRoot":"","sources":["../../../src/js-task-runner/built-ins-parser/built-ins-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DisallowedModuleError = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
class DisallowedModuleError extends n8n_workflow_1.UserError {
|
|
6
|
+
constructor(moduleName) {
|
|
7
|
+
super(`Module '${moduleName}' is disallowed`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.DisallowedModuleError = DisallowedModuleError;
|
|
11
|
+
//# sourceMappingURL=disallowed-module.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disallowed-module.error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/disallowed-module.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,qBAAsB,SAAQ,wBAAS;IACnD,YAAY,UAAkB;QAC7B,KAAK,CAAC,WAAW,UAAU,iBAAiB,CAAC,CAAC;IAC/C,CAAC;CACD;AAJD,sDAIC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isErrorLike = isErrorLike;
|
|
4
|
+
function isErrorLike(value) {
|
|
5
|
+
if (typeof value !== 'object' || value === null)
|
|
6
|
+
return false;
|
|
7
|
+
const errorLike = value;
|
|
8
|
+
return typeof errorLike.message === 'string';
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=error-like.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-like.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/error-like.ts"],"names":[],"mappings":";;AAKA,kCAMC;AAND,SAAgB,WAAW,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE9D,MAAM,SAAS,GAAG,KAAkB,CAAC;IAErC,OAAO,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ErrorLike } from './error-like';
|
|
2
|
+
import { SerializableError } from './serializable-error';
|
|
3
|
+
export declare class ExecutionError extends SerializableError {
|
|
4
|
+
description: string | null;
|
|
5
|
+
itemIndex: number | undefined;
|
|
6
|
+
context: {
|
|
7
|
+
itemIndex: number;
|
|
8
|
+
} | undefined;
|
|
9
|
+
lineNumber: number | undefined;
|
|
10
|
+
constructor(error: ErrorLike, itemIndex?: number);
|
|
11
|
+
private populateFromStack;
|
|
12
|
+
private toLineNumberDisplay;
|
|
13
|
+
private toErrorDetailsAndType;
|
|
14
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExecutionError = void 0;
|
|
4
|
+
const serializable_error_1 = require("./serializable-error");
|
|
5
|
+
class ExecutionError extends serializable_error_1.SerializableError {
|
|
6
|
+
constructor(error, itemIndex) {
|
|
7
|
+
super(error.message);
|
|
8
|
+
this.description = null;
|
|
9
|
+
this.itemIndex = undefined;
|
|
10
|
+
this.context = undefined;
|
|
11
|
+
this.lineNumber = undefined;
|
|
12
|
+
this.itemIndex = itemIndex;
|
|
13
|
+
if (this.itemIndex !== undefined) {
|
|
14
|
+
this.context = { itemIndex: this.itemIndex };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(this, 'stack', {
|
|
17
|
+
value: error.stack,
|
|
18
|
+
enumerable: true,
|
|
19
|
+
});
|
|
20
|
+
this.populateFromStack();
|
|
21
|
+
}
|
|
22
|
+
populateFromStack() {
|
|
23
|
+
const stackRows = (this.stack ?? '').split('\n');
|
|
24
|
+
if (stackRows.length === 0) {
|
|
25
|
+
this.message = 'Unknown error';
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const messageRow = stackRows.find((line) => line.includes('Error:'));
|
|
29
|
+
const lineNumberDisplay = this.toLineNumberDisplay(stackRows);
|
|
30
|
+
if (!messageRow) {
|
|
31
|
+
this.message = `Unknown error ${lineNumberDisplay}`;
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const [errorDetails, errorType] = this.toErrorDetailsAndType(messageRow);
|
|
35
|
+
if (errorType)
|
|
36
|
+
this.description = errorType;
|
|
37
|
+
if (!errorDetails) {
|
|
38
|
+
this.message = `Unknown error ${lineNumberDisplay}`;
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.message = `${errorDetails} ${lineNumberDisplay}`;
|
|
42
|
+
}
|
|
43
|
+
toLineNumberDisplay(stackRows) {
|
|
44
|
+
if (!stackRows || stackRows.length === 0)
|
|
45
|
+
return '';
|
|
46
|
+
const userFnLine = stackRows.find((row) => row.match(/\(evalmachine\.<anonymous>:\d+:\d+\)/) && !row.includes('VmCodeWrapper'));
|
|
47
|
+
if (userFnLine) {
|
|
48
|
+
const match = userFnLine.match(/evalmachine\.<anonymous>:(\d+):/);
|
|
49
|
+
if (match)
|
|
50
|
+
this.lineNumber = Number(match[1]);
|
|
51
|
+
}
|
|
52
|
+
if (this.lineNumber === undefined) {
|
|
53
|
+
const topLevelLine = stackRows.find((row) => row.includes('VmCodeWrapper') && row.includes('evalmachine.<anonymous>'));
|
|
54
|
+
if (topLevelLine) {
|
|
55
|
+
const match = topLevelLine.match(/evalmachine\.<anonymous>:(\d+):/);
|
|
56
|
+
if (match)
|
|
57
|
+
this.lineNumber = Number(match[1]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (this.lineNumber === undefined)
|
|
61
|
+
return '';
|
|
62
|
+
return this.itemIndex === undefined
|
|
63
|
+
? `[line ${this.lineNumber}]`
|
|
64
|
+
: `[line ${this.lineNumber}, for item ${this.itemIndex}]`;
|
|
65
|
+
}
|
|
66
|
+
toErrorDetailsAndType(messageRow) {
|
|
67
|
+
if (!messageRow)
|
|
68
|
+
return [null, null];
|
|
69
|
+
const segments = messageRow.split(':').map((i) => i.trim());
|
|
70
|
+
if (segments[1] === "Cannot find module 'node") {
|
|
71
|
+
segments[1] = `${segments[1]}:${segments[2]}`;
|
|
72
|
+
segments.splice(2, 1);
|
|
73
|
+
}
|
|
74
|
+
if (segments.length >= 3 &&
|
|
75
|
+
segments[1]?.startsWith("Module 'node") &&
|
|
76
|
+
segments[2]?.includes("' is disallowed")) {
|
|
77
|
+
segments[1] = `${segments[1]}:${segments[2]}`;
|
|
78
|
+
segments.splice(2, 1);
|
|
79
|
+
}
|
|
80
|
+
const [errorDetails, errorType] = segments.reverse();
|
|
81
|
+
return [errorDetails, errorType === 'Error' ? null : errorType];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.ExecutionError = ExecutionError;
|
|
85
|
+
//# sourceMappingURL=execution-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/execution-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SerializableError = void 0;
|
|
4
|
+
exports.makeSerializable = makeSerializable;
|
|
5
|
+
function makeSerializable(error) {
|
|
6
|
+
Object.defineProperties(error, {
|
|
7
|
+
message: {
|
|
8
|
+
value: error.message,
|
|
9
|
+
enumerable: true,
|
|
10
|
+
configurable: true,
|
|
11
|
+
},
|
|
12
|
+
stack: {
|
|
13
|
+
value: error.stack,
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
return error;
|
|
19
|
+
}
|
|
20
|
+
class SerializableError extends Error {
|
|
21
|
+
constructor(message) {
|
|
22
|
+
super(message);
|
|
23
|
+
makeSerializable(this);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SerializableError = SerializableError;
|
|
27
|
+
//# sourceMappingURL=serializable-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializable-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/serializable-error.ts"],"names":[],"mappings":";;;AAIA,4CAeC;AAfD,SAAgB,gBAAgB,CAAC,KAAY;IAC5C,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE;YACR,KAAK,EAAE,KAAK,CAAC,OAAO;YACpB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SAClB;QACD,KAAK,EAAE;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SAClB;KACD,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACd,CAAC;AAMD,MAAsB,iBAAkB,SAAQ,KAAK;IACpD,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;CACD;AAND,8CAMC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskCancelledError = void 0;
|
|
4
|
+
const errors_1 = require("@n8n/errors");
|
|
5
|
+
class TaskCancelledError extends errors_1.ApplicationError {
|
|
6
|
+
constructor(reason) {
|
|
7
|
+
super(`Task cancelled: ${reason}`, { level: 'warning' });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.TaskCancelledError = TaskCancelledError;
|
|
11
|
+
//# sourceMappingURL=task-cancelled-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-cancelled-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/task-cancelled-error.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAE/C,MAAa,kBAAmB,SAAQ,yBAAgB;IACvD,YAAY,MAAc;QACzB,KAAK,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;CACD;AAJD,gDAIC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimeoutError = void 0;
|
|
4
|
+
const errors_1 = require("@n8n/errors");
|
|
5
|
+
class TimeoutError extends errors_1.ApplicationError {
|
|
6
|
+
constructor(taskTimeout) {
|
|
7
|
+
super(`Task execution timed out after ${taskTimeout} ${taskTimeout === 1 ? 'second' : 'seconds'}`);
|
|
8
|
+
const subtitle = 'The task runner was taking too long on this task, so the task was aborted.';
|
|
9
|
+
const fixes = {
|
|
10
|
+
optimizeScript: 'Optimize your script to prevent long-running tasks, e.g. by processing data in smaller batches.',
|
|
11
|
+
ensureTermination: 'Ensure that all paths in your script are able to terminate, i.e. no infinite loops.',
|
|
12
|
+
};
|
|
13
|
+
const suggestions = [fixes.optimizeScript, fixes.ensureTermination];
|
|
14
|
+
const suggestionsText = suggestions
|
|
15
|
+
.map((suggestion, index) => `${index + 1}. ${suggestion}`)
|
|
16
|
+
.join('<br/>');
|
|
17
|
+
const description = `${subtitle} You can try the following:<br/><br/>${suggestionsText}`;
|
|
18
|
+
this.description = description;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.TimeoutError = TimeoutError;
|
|
22
|
+
//# sourceMappingURL=timeout-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/timeout-error.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAE/C,MAAa,YAAa,SAAQ,yBAAgB;IAGjD,YAAY,WAAmB;QAC9B,KAAK,CACJ,kCAAkC,WAAW,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAC3F,CAAC;QAEF,MAAM,QAAQ,GAAG,4EAA4E,CAAC;QAE9F,MAAM,KAAK,GAAG;YACb,cAAc,EACb,iGAAiG;YAClG,iBAAiB,EAChB,qFAAqF;SACtF,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEpE,MAAM,eAAe,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;aACzD,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,GAAG,QAAQ,wCAAwC,eAAe,EAAE,CAAC;QAEzF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CACD;AA3BD,oCA2BC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UnsupportedFunctionError = void 0;
|
|
4
|
+
const errors_1 = require("@n8n/errors");
|
|
5
|
+
class UnsupportedFunctionError extends errors_1.ApplicationError {
|
|
6
|
+
constructor(functionName) {
|
|
7
|
+
super(`The function "${functionName}" is not supported in the Code Node`, {
|
|
8
|
+
level: 'info',
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.UnsupportedFunctionError = UnsupportedFunctionError;
|
|
13
|
+
//# sourceMappingURL=unsupported-function.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsupported-function.error.js","sourceRoot":"","sources":["../../../src/js-task-runner/errors/unsupported-function.error.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAM/C,MAAa,wBAAyB,SAAQ,yBAAgB;IAC7D,YAAY,YAAoB;QAC/B,KAAK,CAAC,iBAAiB,YAAY,qCAAqC,EAAE;YACzE,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;IACJ,CAAC;CACD;AAND,4DAMC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Workflow } from 'n8n-workflow';
|
|
2
|
+
import type { CodeExecutionMode, IDataObject, INodeExecutionData, INodeParameters, WorkflowExecuteMode, WorkflowParameters, ITaskDataConnections, INode, IRunExecutionData, EnvProviderState, IExecuteData, IWorkflowDataProxyData } from 'n8n-workflow';
|
|
3
|
+
import { type Context } from 'node:vm';
|
|
4
|
+
import type { MainConfig } from '../config/main-config';
|
|
5
|
+
import type { InputDataChunkDefinition, PartialAdditionalData, TaskResultData } from '../runner-types';
|
|
6
|
+
import { TaskRunner } from '../task-runner';
|
|
7
|
+
import type { TaskParams } from '../task-runner';
|
|
8
|
+
export interface RpcCallObject {
|
|
9
|
+
[name: string]: ((...args: unknown[]) => Promise<unknown>) | RpcCallObject;
|
|
10
|
+
}
|
|
11
|
+
export interface JSExecSettings {
|
|
12
|
+
code: string;
|
|
13
|
+
additionalProperties?: Record<string, unknown>;
|
|
14
|
+
nodeMode: CodeExecutionMode;
|
|
15
|
+
workflowMode: WorkflowExecuteMode;
|
|
16
|
+
continueOnFail: boolean;
|
|
17
|
+
chunk?: InputDataChunkDefinition;
|
|
18
|
+
}
|
|
19
|
+
export interface JsTaskData {
|
|
20
|
+
workflow: Omit<WorkflowParameters, 'nodeTypes'>;
|
|
21
|
+
inputData: ITaskDataConnections;
|
|
22
|
+
connectionInputData: INodeExecutionData[];
|
|
23
|
+
node: INode;
|
|
24
|
+
runExecutionData: IRunExecutionData;
|
|
25
|
+
runIndex: number;
|
|
26
|
+
itemIndex: number;
|
|
27
|
+
activeNodeName: string;
|
|
28
|
+
siblingParameters: INodeParameters;
|
|
29
|
+
mode: WorkflowExecuteMode;
|
|
30
|
+
envProviderState: EnvProviderState;
|
|
31
|
+
executeData?: IExecuteData;
|
|
32
|
+
defaultReturnRunIndex: number;
|
|
33
|
+
selfData: IDataObject;
|
|
34
|
+
contextNodeName: string;
|
|
35
|
+
additionalData: PartialAdditionalData;
|
|
36
|
+
}
|
|
37
|
+
export declare class JsTaskRunner extends TaskRunner {
|
|
38
|
+
private readonly requireResolver;
|
|
39
|
+
private readonly builtInsParser;
|
|
40
|
+
private readonly taskDataReconstruct;
|
|
41
|
+
private readonly mode;
|
|
42
|
+
constructor(config: MainConfig, name?: string);
|
|
43
|
+
private preventPrototypePollution;
|
|
44
|
+
executeTask(taskParams: TaskParams<JSExecSettings>, abortSignal: AbortSignal): Promise<TaskResultData>;
|
|
45
|
+
private validateTaskSettings;
|
|
46
|
+
private getNativeVariables;
|
|
47
|
+
private runForAllItems;
|
|
48
|
+
private runForEachItem;
|
|
49
|
+
private createDataProxy;
|
|
50
|
+
private extractJsonData;
|
|
51
|
+
private toExecutionErrorIfNeeded;
|
|
52
|
+
private reconstructTaskData;
|
|
53
|
+
private requestNodeTypeIfNeeded;
|
|
54
|
+
private buildRpcCallObject;
|
|
55
|
+
private buildCustomConsole;
|
|
56
|
+
buildContext(taskId: string, workflow: Workflow, node: INode, dataProxy?: IWorkflowDataProxyData, additionalProperties?: Record<string, unknown>): Context;
|
|
57
|
+
private createVmExecutableCode;
|
|
58
|
+
private runDirectly;
|
|
59
|
+
}
|