@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.
Files changed (88) hide show
  1. package/dist/build.tsbuildinfo +1 -0
  2. package/dist/config/base-runner-config.d.ts +16 -0
  3. package/dist/config/base-runner-config.js +83 -0
  4. package/dist/config/base-runner-config.js.map +1 -0
  5. package/dist/config/js-runner-config.d.ts +5 -0
  6. package/dist/config/js-runner-config.js +37 -0
  7. package/dist/config/js-runner-config.js.map +1 -0
  8. package/dist/config/main-config.d.ts +8 -0
  9. package/dist/config/main-config.js +35 -0
  10. package/dist/config/main-config.js.map +1 -0
  11. package/dist/config/sentry-config.d.ts +6 -0
  12. package/dist/config/sentry-config.js +42 -0
  13. package/dist/config/sentry-config.js.map +1 -0
  14. package/dist/data-request/data-request-response-reconstruct.d.ts +6 -0
  15. package/dist/data-request/data-request-response-reconstruct.js +30 -0
  16. package/dist/data-request/data-request-response-reconstruct.js.map +1 -0
  17. package/dist/health-check-server.d.ts +5 -0
  18. package/dist/health-check-server.js +43 -0
  19. package/dist/health-check-server.js.map +1 -0
  20. package/dist/index.d.ts +4 -0
  21. package/dist/index.js +20 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/js-task-runner/built-ins-parser/acorn-helpers.d.ts +6 -0
  24. package/dist/js-task-runner/built-ins-parser/acorn-helpers.js +23 -0
  25. package/dist/js-task-runner/built-ins-parser/acorn-helpers.js.map +1 -0
  26. package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.d.ts +19 -0
  27. package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.js +59 -0
  28. package/dist/js-task-runner/built-ins-parser/built-ins-parser-state.js.map +1 -0
  29. package/dist/js-task-runner/built-ins-parser/built-ins-parser.d.ts +12 -0
  30. package/dist/js-task-runner/built-ins-parser/built-ins-parser.js +120 -0
  31. package/dist/js-task-runner/built-ins-parser/built-ins-parser.js.map +1 -0
  32. package/dist/js-task-runner/errors/disallowed-module.error.d.ts +4 -0
  33. package/dist/js-task-runner/errors/disallowed-module.error.js +11 -0
  34. package/dist/js-task-runner/errors/disallowed-module.error.js.map +1 -0
  35. package/dist/js-task-runner/errors/error-like.d.ts +5 -0
  36. package/dist/js-task-runner/errors/error-like.js +10 -0
  37. package/dist/js-task-runner/errors/error-like.js.map +1 -0
  38. package/dist/js-task-runner/errors/execution-error.d.ts +14 -0
  39. package/dist/js-task-runner/errors/execution-error.js +85 -0
  40. package/dist/js-task-runner/errors/execution-error.js.map +1 -0
  41. package/dist/js-task-runner/errors/serializable-error.d.ts +4 -0
  42. package/dist/js-task-runner/errors/serializable-error.js +27 -0
  43. package/dist/js-task-runner/errors/serializable-error.js.map +1 -0
  44. package/dist/js-task-runner/errors/task-cancelled-error.d.ts +4 -0
  45. package/dist/js-task-runner/errors/task-cancelled-error.js +11 -0
  46. package/dist/js-task-runner/errors/task-cancelled-error.js.map +1 -0
  47. package/dist/js-task-runner/errors/timeout-error.d.ts +5 -0
  48. package/dist/js-task-runner/errors/timeout-error.js +22 -0
  49. package/dist/js-task-runner/errors/timeout-error.js.map +1 -0
  50. package/dist/js-task-runner/errors/unsupported-function.error.d.ts +4 -0
  51. package/dist/js-task-runner/errors/unsupported-function.error.js +13 -0
  52. package/dist/js-task-runner/errors/unsupported-function.error.js.map +1 -0
  53. package/dist/js-task-runner/js-task-runner.d.ts +59 -0
  54. package/dist/js-task-runner/js-task-runner.js +381 -0
  55. package/dist/js-task-runner/js-task-runner.js.map +1 -0
  56. package/dist/js-task-runner/obj-utils.d.ts +1 -0
  57. package/dist/js-task-runner/obj-utils.js +7 -0
  58. package/dist/js-task-runner/obj-utils.js.map +1 -0
  59. package/dist/js-task-runner/require-resolver.d.ts +6 -0
  60. package/dist/js-task-runner/require-resolver.js +22 -0
  61. package/dist/js-task-runner/require-resolver.js.map +1 -0
  62. package/dist/message-types.d.ts +186 -0
  63. package/dist/message-types.js +3 -0
  64. package/dist/message-types.js.map +1 -0
  65. package/dist/node-types.d.ts +13 -0
  66. package/dist/node-types.js +67 -0
  67. package/dist/node-types.js.map +1 -0
  68. package/dist/runner-types.d.ts +77 -0
  69. package/dist/runner-types.js +32 -0
  70. package/dist/runner-types.js.map +1 -0
  71. package/dist/start.d.ts +1 -0
  72. package/dist/start.js +107 -0
  73. package/dist/start.js.map +1 -0
  74. package/dist/task-runner-javascript/node_modules/.bin/acorn +21 -0
  75. package/dist/task-runner-javascript/node_modules/.bin/n8n-copy-static-files +21 -0
  76. package/dist/task-runner-javascript/node_modules/.bin/n8n-generate-metadata +21 -0
  77. package/dist/task-runner-javascript/node_modules/.bin/n8n-generate-translations +21 -0
  78. package/dist/task-runner-javascript/node_modules/.bin/nanoid +21 -0
  79. package/dist/task-runner-sentry.d.ts +12 -0
  80. package/dist/task-runner-sentry.js +68 -0
  81. package/dist/task-runner-sentry.js.map +1 -0
  82. package/dist/task-runner.d.ts +85 -0
  83. package/dist/task-runner.js +441 -0
  84. package/dist/task-runner.js.map +1 -0
  85. package/dist/task-state.d.ts +17 -0
  86. package/dist/task-state.js +63 -0
  87. package/dist/task-state.js.map +1 -0
  88. 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,4 @@
1
+ import { UserError } from 'n8n-workflow';
2
+ export declare class DisallowedModuleError extends UserError {
3
+ constructor(moduleName: string);
4
+ }
@@ -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,5 @@
1
+ export interface ErrorLike {
2
+ message: string;
3
+ stack?: string;
4
+ }
5
+ export declare function isErrorLike(value: unknown): value is ErrorLike;
@@ -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,4 @@
1
+ export declare function makeSerializable(error: Error): Error;
2
+ export declare abstract class SerializableError extends Error {
3
+ constructor(message: string);
4
+ }
@@ -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,4 @@
1
+ import { ApplicationError } from '@n8n/errors';
2
+ export declare class TaskCancelledError extends ApplicationError {
3
+ constructor(reason: string);
4
+ }
@@ -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,5 @@
1
+ import { ApplicationError } from '@n8n/errors';
2
+ export declare class TimeoutError extends ApplicationError {
3
+ description: string;
4
+ constructor(taskTimeout: number);
5
+ }
@@ -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,4 @@
1
+ import { ApplicationError } from '@n8n/errors';
2
+ export declare class UnsupportedFunctionError extends ApplicationError {
3
+ constructor(functionName: string);
4
+ }
@@ -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
+ }