n8n-core 1.87.0 → 1.88.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.
@@ -1,12 +1,17 @@
1
1
  import type { SSHCredentials } from 'n8n-workflow';
2
2
  import { Client } from 'ssh2';
3
+ declare class SSHClientsConfig {
4
+ idleTimeout: number;
5
+ }
3
6
  export declare class SSHClientsManager {
7
+ private readonly config;
4
8
  readonly clients: Map<string, {
5
9
  client: Client;
6
10
  lastUsed: Date;
7
11
  }>;
8
- constructor();
12
+ constructor(config: SSHClientsConfig);
9
13
  getClient(credentials: SSHCredentials): Promise<Client>;
10
14
  onShutdown(): void;
11
15
  cleanupStaleConnections(): void;
12
16
  }
17
+ export {};
@@ -10,11 +10,25 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SSHClientsManager = void 0;
13
+ const config_1 = require("@n8n/config");
13
14
  const di_1 = require("@n8n/di");
14
15
  const node_crypto_1 = require("node:crypto");
15
16
  const ssh2_1 = require("ssh2");
16
- let SSHClientsManager = class SSHClientsManager {
17
+ let SSHClientsConfig = class SSHClientsConfig {
17
18
  constructor() {
19
+ this.idleTimeout = 5 * 60;
20
+ }
21
+ };
22
+ __decorate([
23
+ (0, config_1.Env)('N8N_SSH_TUNNEL_IDLE_TIMEOUT'),
24
+ __metadata("design:type", Number)
25
+ ], SSHClientsConfig.prototype, "idleTimeout", void 0);
26
+ SSHClientsConfig = __decorate([
27
+ config_1.Config
28
+ ], SSHClientsConfig);
29
+ let SSHClientsManager = class SSHClientsManager {
30
+ constructor(config) {
31
+ this.config = config;
18
32
  this.clients = new Map();
19
33
  process.on('exit', () => this.onShutdown());
20
34
  if (process.env.NODE_ENV === 'test')
@@ -66,7 +80,7 @@ let SSHClientsManager = class SSHClientsManager {
66
80
  return;
67
81
  const now = Date.now();
68
82
  for (const [hash, { client, lastUsed }] of clients.entries()) {
69
- if (now - lastUsed.getTime() > 5 * 60 * 1000) {
83
+ if (now - lastUsed.getTime() > this.config.idleTimeout * 1000) {
70
84
  client.end();
71
85
  clients.delete(hash);
72
86
  }
@@ -76,6 +90,6 @@ let SSHClientsManager = class SSHClientsManager {
76
90
  exports.SSHClientsManager = SSHClientsManager;
77
91
  exports.SSHClientsManager = SSHClientsManager = __decorate([
78
92
  (0, di_1.Service)(),
79
- __metadata("design:paramtypes", [])
93
+ __metadata("design:paramtypes", [SSHClientsConfig])
80
94
  ], SSHClientsManager);
81
95
  //# sourceMappingURL=ssh-clients-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssh-clients-manager.js","sourceRoot":"","sources":["../../src/execution-engine/ssh-clients-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssh-clients-manager.js","sourceRoot":"","sources":["../../src/execution-engine/ssh-clients-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-core",
3
- "version": "1.87.0",
3
+ "version": "1.88.0",
4
4
  "description": "Core functionality of n8n",
5
5
  "main": "dist/index",
6
6
  "types": "dist/index.d.ts",
@@ -52,10 +52,10 @@
52
52
  "winston": "3.14.2",
53
53
  "xml2js": "0.6.2",
54
54
  "zod": "3.24.1",
55
- "@n8n/config": "1.35.0",
56
- "@n8n/di": "0.4.0",
57
55
  "@n8n/client-oauth2": "0.23.0",
58
- "n8n-workflow": "1.86.0"
56
+ "@n8n/config": "1.36.0",
57
+ "@n8n/di": "0.4.0",
58
+ "n8n-workflow": "1.87.0"
59
59
  },
60
60
  "license": "SEE LICENSE IN LICENSE.md",
61
61
  "homepage": "https://n8n.io",