@n8n/task-runner 1.59.48 → 1.59.50

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.
@@ -1,5 +1,6 @@
1
1
  export declare class HealthCheckServer {
2
2
  private server;
3
+ constructor();
3
4
  start(host: string, port: number): Promise<void>;
4
5
  stop(): Promise<void>;
5
6
  }
@@ -3,12 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HealthCheckServer = void 0;
4
4
  const errors_1 = require("@n8n/errors");
5
5
  const node_http_1 = require("node:http");
6
+ const METHODS = ['prependListener', 'prependOnceListener'];
6
7
  class HealthCheckServer {
7
8
  constructor() {
8
9
  this.server = (0, node_http_1.createServer)((_, res) => {
9
10
  res.writeHead(200);
10
11
  res.end('OK');
11
12
  });
13
+ this.server.prependListener('connection', (socket) => {
14
+ for (const method of METHODS) {
15
+ Object.defineProperty(socket, method, {
16
+ value: socket[method],
17
+ writable: true,
18
+ configurable: true,
19
+ enumerable: true,
20
+ });
21
+ }
22
+ });
12
23
  }
13
24
  async start(host, port) {
14
25
  return await new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"health-check-server.js","sourceRoot":"","sources":["../src/health-check-server.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAC/C,yCAAyC;AAEzC,MAAa,iBAAiB;IAA9B;QACS,WAAM,GAAG,IAAA,wBAAY,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACxC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IA8BJ,CAAC;IA5BA,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAY;QACrC,OAAO,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAE,EAAE;gBAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,yBAAgB,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,CAAC;gBACf,CAAC;YACF,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAlCD,8CAkCC"}
1
+ {"version":3,"file":"health-check-server.js","sourceRoot":"","sources":["../src/health-check-server.ts"],"names":[],"mappings":";;;AAAA,wCAA+C;AAC/C,yCAAyC;AAGzC,MAAM,OAAO,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAU,CAAC;AAEpE,MAAa,iBAAiB;IAM7B;QALQ,WAAM,GAAG,IAAA,wBAAY,EAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACxC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAKF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAG9B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;oBACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;iBAChB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAY;QACrC,OAAO,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,MAAM,qBAAqB,GAAG,CAAC,KAA4B,EAAE,EAAE;gBAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACjC,MAAM,CAAC,IAAI,yBAAgB,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,CAAC;gBACf,CAAC;YACF,CAAC,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAE/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,UAAU,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACT,OAAO,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,IAAI,KAAK;oBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;oBACpB,OAAO,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAnDD,8CAmDC"}
@@ -2,13 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.freezeGlobals = void 0;
4
4
  const node_events_1 = require("node:events");
5
- const isFreezable = (value) => typeof value === 'object' || typeof value === 'function';
6
- const freezeFunctionAndPrototype = (fn) => {
7
- if (isFreezable(fn.prototype)) {
8
- Object.freeze(fn.prototype);
9
- }
10
- Object.freeze(fn);
11
- };
5
+ const isFreezable = (value) => value !== null && (typeof value === 'object' || typeof value === 'function');
12
6
  const PROTECTED_EVENT_EMITTER_METHODS = [
13
7
  'emit',
14
8
  'on',
@@ -27,11 +21,59 @@ const lockEventEmitterMethods = () => {
27
21
  });
28
22
  }
29
23
  };
24
+ const METHOD_LOCKED_PROTOTYPES = [node_events_1.EventEmitter.prototype];
25
+ const hasIteratorHelpers = (value) => isFreezable(value) && typeof Reflect.get(value, 'map') === 'function';
26
+ const hasEntries = (value) => isFreezable(value) && typeof Reflect.get(value, 'entries') === 'function';
27
+ const unreachablePrototypes = () => {
28
+ const timeout = setTimeout(() => { }, 0);
29
+ clearTimeout(timeout);
30
+ const immediate = setImmediate(() => { });
31
+ clearImmediate(immediate);
32
+ function* generatorFunction() { }
33
+ async function* asyncGeneratorFunction() { }
34
+ async function asyncFunction() { }
35
+ const arrayIterator = [].values();
36
+ const iteratorHelper = hasIteratorHelpers(arrayIterator)
37
+ ? [arrayIterator.map((value) => value)]
38
+ : [];
39
+ const formData = new FormData();
40
+ const formDataEntries = hasEntries(formData) ? [formData.entries()] : [];
41
+ return [
42
+ timeout,
43
+ immediate,
44
+ generatorFunction,
45
+ asyncGeneratorFunction,
46
+ asyncFunction,
47
+ [][Symbol.iterator](),
48
+ ''[Symbol.iterator](),
49
+ new Map()[Symbol.iterator](),
50
+ new Set()[Symbol.iterator](),
51
+ ...formDataEntries,
52
+ ...iteratorHelper,
53
+ ].map((value) => Object.getPrototypeOf(value));
54
+ };
55
+ const collectPrototypeChain = (value, collected) => {
56
+ let current = value;
57
+ while (isFreezable(current) && !collected.has(current)) {
58
+ collected.add(current);
59
+ current = Object.getPrototypeOf(current);
60
+ }
61
+ };
30
62
  const freezeGlobals = () => {
31
- Object.getOwnPropertyNames(globalThis)
63
+ const globalFunctions = Object.getOwnPropertyNames(globalThis)
32
64
  .map((name) => Reflect.get(globalThis, name))
33
- .filter((value) => typeof value === 'function')
34
- .forEach(freezeFunctionAndPrototype);
65
+ .filter((value) => typeof value === 'function');
66
+ const roots = [...globalFunctions, ...unreachablePrototypes()];
67
+ const collected = new Set();
68
+ for (const root of roots) {
69
+ collectPrototypeChain(root, collected);
70
+ if (isFreezable(root))
71
+ collectPrototypeChain(Reflect.get(root, 'prototype'), collected);
72
+ }
73
+ for (const prototype of METHOD_LOCKED_PROTOTYPES) {
74
+ collected.delete(prototype);
75
+ }
76
+ collected.forEach(Object.freeze);
35
77
  [Reflect, JSON, Math].forEach(Object.freeze);
36
78
  lockEventEmitterMethods();
37
79
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prototype-hardening.js","sourceRoot":"","sources":["../../src/js-task-runner/prototype-hardening.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAM3C,MAAM,WAAW,GAAG,CAAC,KAAc,EAAmB,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AAG1D,MAAM,0BAA0B,GAAG,CAAC,EAAyB,EAAE,EAAE;IAChE,IAAI,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CAAC;AAQF,MAAM,+BAA+B,GAAG;IACvC,MAAM;IACN,IAAI;IACJ,MAAM;IACN,aAAa;IACb,iBAAiB;IACjB,qBAAqB;CACZ,CAAC;AAUX,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACpC,KAAK,MAAM,MAAM,IAAI,+BAA+B,EAAE,CAAC;QACtD,MAAM,CAAC,cAAc,CAAC,0BAAY,CAAC,SAAS,EAAE,MAAM,EAAE;YACrD,KAAK,EAAE,0BAAY,CAAC,SAAS,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAOK,MAAM,aAAa,GAAG,GAAG,EAAE;IACjC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAY,CAAC;SACvD,MAAM,CAAC,CAAC,KAAK,EAAkC,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC;SAC9E,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAEtC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7C,uBAAuB,EAAE,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB"}
1
+ {"version":3,"file":"prototype-hardening.js","sourceRoot":"","sources":["../../src/js-task-runner/prototype-hardening.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,MAAM,WAAW,GAAG,CAAC,KAAc,EAAmB,EAAE,CACvD,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;AAM9E,MAAM,+BAA+B,GAAG;IACvC,MAAM;IACN,IAAI;IACJ,MAAM;IACN,aAAa;IACb,iBAAiB;IACjB,qBAAqB;CACZ,CAAC;AAUX,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACpC,KAAK,MAAM,MAAM,IAAI,+BAA+B,EAAE,CAAC;QACtD,MAAM,CAAC,cAAc,CAAC,0BAAY,CAAC,SAAS,EAAE,MAAM,EAAE;YACrD,KAAK,EAAE,0BAAY,CAAC,SAAS,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC,CAAC;AAMF,MAAM,wBAAwB,GAAsB,CAAC,0BAAY,CAAC,SAAS,CAAC,CAAC;AAI7E,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAgC,EAAE,CAC3E,WAAW,CAAC,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,UAAU,CAAC;AAIvE,MAAM,UAAU,GAAG,CAAC,KAAc,EAAwB,EAAE,CAC3D,WAAW,CAAC,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,UAAU,CAAC;AAG3E,MAAM,qBAAqB,GAAG,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,YAAY,CAAC,OAAO,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzC,cAAc,CAAC,SAAS,CAAC,CAAC;IAE1B,QAAQ,CAAC,CAAC,iBAAiB,KAAI,CAAC;IAChC,KAAK,SAAS,CAAC,CAAC,sBAAsB,KAAI,CAAC;IAC3C,KAAK,UAAU,aAAa,KAAI,CAAC;IAGjC,MAAM,aAAa,GAAY,EAAE,CAAC,MAAM,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,kBAAkB,CAAC,aAAa,CAAC;QACvD,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC;IAGN,MAAM,QAAQ,GAAY,IAAI,QAAQ,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzE,OAAO;QACN,OAAO;QACP,SAAS;QACT,iBAAiB;QACjB,sBAAsB;QACtB,aAAa;QACb,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACrB,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACrB,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC5B,GAAG,eAAe;QAClB,GAAG,cAAc;KACjB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAY,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAE,SAAsB,EAAE,EAAE;IACxE,IAAI,OAAO,GAAY,KAAK,CAAC;IAE7B,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;AACF,CAAC,CAAC;AASK,MAAM,aAAa,GAAG,GAAG,EAAE;IACjC,MAAM,eAAe,GAAc,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;SACvE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAY,CAAC;SACvD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC;IAE/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,IAAI,CAAC;YAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE,CAAC;QAClD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE7C,uBAAuB,EAAE,CAAC;AAC3B,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/task-runner",
3
- "version": "1.59.48",
3
+ "version": "1.59.50",
4
4
  "main": "dist/start.js",
5
5
  "module": "src/start.ts",
6
6
  "types": "dist/index.d.ts",
@@ -31,9 +31,9 @@
31
31
  "ws": "8.21.0",
32
32
  "@n8n/config": "1.65.9",
33
33
  "@n8n/errors": "0.5.1",
34
- "n8n-core": "1.122.47",
35
- "n8n-workflow": "1.120.30",
36
- "@n8n/di": "0.10.0"
34
+ "n8n-workflow": "1.120.32",
35
+ "@n8n/di": "0.10.0",
36
+ "n8n-core": "1.122.49"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/lodash": "4.17.17",