@n8n/backend-common 1.28.2 → 1.29.1

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/index.d.ts CHANGED
@@ -11,3 +11,5 @@ export { assertDir, exists } from './utils/fs';
11
11
  export { parseFlatted } from './utils/parse-flatted';
12
12
  export { CliParser } from './cli-parser';
13
13
  export { TypedEmitter } from './typed-emitter';
14
+ export { LockService } from './locking/lock.service';
15
+ export { type ILockService, LockNamespace, LockAcquisitionTimeoutError, } from './locking/lock-service.interface';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.TypedEmitter = exports.CliParser = exports.parseFlatted = exports.exists = exports.assertDir = exports.safeJoinPath = exports.isContainedWithin = exports.ModulesConfig = exports.ModuleRegistry = exports.Logger = exports.isObjectLiteral = exports.inTest = exports.inProduction = exports.inDevelopment = void 0;
17
+ exports.LockAcquisitionTimeoutError = exports.LockNamespace = exports.LockService = exports.TypedEmitter = exports.CliParser = exports.parseFlatted = exports.exists = exports.assertDir = exports.safeJoinPath = exports.isContainedWithin = exports.ModulesConfig = exports.ModuleRegistry = exports.Logger = exports.isObjectLiteral = exports.inTest = exports.inProduction = exports.inDevelopment = void 0;
18
18
  __exportStar(require("./license-state"), exports);
19
19
  var environment_1 = require("./environment");
20
20
  Object.defineProperty(exports, "inDevelopment", { enumerable: true, get: function () { return environment_1.inDevelopment; } });
@@ -40,4 +40,9 @@ var cli_parser_1 = require("./cli-parser");
40
40
  Object.defineProperty(exports, "CliParser", { enumerable: true, get: function () { return cli_parser_1.CliParser; } });
41
41
  var typed_emitter_1 = require("./typed-emitter");
42
42
  Object.defineProperty(exports, "TypedEmitter", { enumerable: true, get: function () { return typed_emitter_1.TypedEmitter; } });
43
+ var lock_service_1 = require("./locking/lock.service");
44
+ Object.defineProperty(exports, "LockService", { enumerable: true, get: function () { return lock_service_1.LockService; } });
45
+ var lock_service_interface_1 = require("./locking/lock-service.interface");
46
+ Object.defineProperty(exports, "LockNamespace", { enumerable: true, get: function () { return lock_service_interface_1.LockNamespace; } });
47
+ Object.defineProperty(exports, "LockAcquisitionTimeoutError", { enumerable: true, get: function () { return lock_service_interface_1.LockAcquisitionTimeoutError; } });
43
48
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAGhC,6CAAoE;AAA3D,4GAAA,aAAa,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,qGAAA,MAAM,OAAA;AAC5C,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,6DAA2D;AAAlD,iHAAA,cAAc,OAAA;AAEvB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AACtB,+CAAoE;AAA3D,8GAAA,iBAAiB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACxC,iCAA+C;AAAtC,+FAAA,SAAS,OAAA;AAAE,4FAAA,MAAM,OAAA;AAC1B,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AACrB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAgC;AAGhC,6CAAoE;AAA3D,4GAAA,aAAa,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,qGAAA,MAAM,OAAA;AAC5C,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2CAA0C;AAAjC,gGAAA,MAAM,OAAA;AACf,6DAA2D;AAAlD,iHAAA,cAAc,OAAA;AAEvB,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AACtB,+CAAoE;AAA3D,8GAAA,iBAAiB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACxC,iCAA+C;AAAtC,+FAAA,SAAS,OAAA;AAAE,4FAAA,MAAM,OAAA;AAC1B,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AACrB,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAErB,uDAAqD;AAA5C,2GAAA,WAAW,OAAA;AACpB,2EAI0C;AAFzC,uHAAA,aAAa,OAAA;AACb,qIAAA,2BAA2B,OAAA"}
@@ -24,6 +24,7 @@ export declare class LicenseState {
24
24
  isAdvancedPermissionsLicensed(): boolean;
25
25
  isDebugInEditorLicensed(): boolean;
26
26
  isBinaryDataS3Licensed(): boolean;
27
+ isBinaryDataAzureLicensed(): boolean;
27
28
  isExecutionDataS3Licensed(): boolean;
28
29
  isExecutionDataAzureLicensed(): boolean;
29
30
  isMultiMainLicensed(): boolean;
@@ -95,6 +95,9 @@ let LicenseState = class LicenseState {
95
95
  isBinaryDataS3Licensed() {
96
96
  return this.isLicensed('feat:binaryDataS3');
97
97
  }
98
+ isBinaryDataAzureLicensed() {
99
+ return this.isLicensed('feat:binaryDataAz');
100
+ }
98
101
  isExecutionDataS3Licensed() {
99
102
  return this.isLicensed('feat:executionDataS3');
100
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"license-state.js","sourceRoot":"","sources":["../src/license-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"license-state.js","sourceRoot":"","sources":["../src/license-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type ILockService, type LockNamespace } from './lock-service.interface';
2
+ export declare class InProcessLockService implements ILockService {
3
+ private locks;
4
+ private getOrCreateLockState;
5
+ private createReleaseFn;
6
+ private acquireLock;
7
+ buildLockKey(ns: LockNamespace, key: string): string;
8
+ withLease<T>(ns: LockNamespace, key: string, fn: (signal: AbortSignal) => Promise<T>, options?: {
9
+ waitTimeoutMs?: number;
10
+ leaseTtlMs?: number;
11
+ }): Promise<T>;
12
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.InProcessLockService = void 0;
10
+ const di_1 = require("@n8n/di");
11
+ const lock_service_interface_1 = require("./lock-service.interface");
12
+ let InProcessLockService = class InProcessLockService {
13
+ constructor() {
14
+ this.locks = new Map();
15
+ }
16
+ getOrCreateLockState(lockId) {
17
+ let lockState = this.locks.get(lockId);
18
+ if (!lockState) {
19
+ lockState = { held: null, queue: [] };
20
+ this.locks.set(lockId, lockState);
21
+ }
22
+ return lockState;
23
+ }
24
+ createReleaseFn(lockId, lockState, token) {
25
+ return () => {
26
+ if (lockState.held !== token)
27
+ return;
28
+ const next = lockState.queue.shift();
29
+ if (next) {
30
+ const nextToken = Symbol();
31
+ lockState.held = nextToken;
32
+ next(nextToken);
33
+ }
34
+ else {
35
+ lockState.held = null;
36
+ this.locks.delete(lockId);
37
+ }
38
+ };
39
+ }
40
+ async acquireLock(lockId, timeoutMs) {
41
+ const lockState = this.getOrCreateLockState(lockId);
42
+ if (!lockState.held) {
43
+ const token = Symbol();
44
+ lockState.held = token;
45
+ return this.createReleaseFn(lockId, lockState, token);
46
+ }
47
+ const token = await new Promise((resolve, reject) => {
48
+ let timer;
49
+ const resolver = (ownerToken) => {
50
+ if (timer !== undefined)
51
+ clearTimeout(timer);
52
+ resolve(ownerToken);
53
+ };
54
+ lockState.queue.push(resolver);
55
+ if (timeoutMs !== undefined) {
56
+ timer = setTimeout(() => {
57
+ const idx = lockState.queue.indexOf(resolver);
58
+ if (idx !== -1) {
59
+ lockState.queue.splice(idx, 1);
60
+ }
61
+ reject(new lock_service_interface_1.LockAcquisitionTimeoutError(`Timed out waiting for lock '${lockId}' after ${timeoutMs}ms`));
62
+ }, timeoutMs);
63
+ }
64
+ });
65
+ return this.createReleaseFn(lockId, lockState, token);
66
+ }
67
+ buildLockKey(ns, key) {
68
+ return `${ns}:${key}`;
69
+ }
70
+ async withLease(ns, key, fn, options) {
71
+ const release = await this.acquireLock(this.buildLockKey(ns, key), options?.waitTimeoutMs);
72
+ const abortController = new AbortController();
73
+ try {
74
+ return await fn(abortController.signal);
75
+ }
76
+ finally {
77
+ abortController.abort();
78
+ release();
79
+ }
80
+ }
81
+ };
82
+ exports.InProcessLockService = InProcessLockService;
83
+ exports.InProcessLockService = InProcessLockService = __decorate([
84
+ (0, di_1.Service)()
85
+ ], InProcessLockService);
86
+ //# sourceMappingURL=in-process-lock.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-process-lock.service.js","sourceRoot":"","sources":["../../src/locking/in-process-lock.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { OperationalError } from 'n8n-workflow';
2
+ export declare const LockNamespace: {
3
+ readonly KNOWN_LOCKS: 1;
4
+ readonly CREDENTIALS: 2;
5
+ };
6
+ export type LockNamespace = (typeof LockNamespace)[keyof typeof LockNamespace];
7
+ export declare class LockAcquisitionTimeoutError extends OperationalError {
8
+ }
9
+ export interface ILockService {
10
+ withLease<T>(ns: LockNamespace, key: string, fn: (signal: AbortSignal) => Promise<T>, options?: {
11
+ waitTimeoutMs?: number;
12
+ leaseTtlMs?: number;
13
+ }): Promise<T>;
14
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LockAcquisitionTimeoutError = exports.LockNamespace = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ exports.LockNamespace = {
6
+ KNOWN_LOCKS: 1,
7
+ CREDENTIALS: 2,
8
+ };
9
+ class LockAcquisitionTimeoutError extends n8n_workflow_1.OperationalError {
10
+ }
11
+ exports.LockAcquisitionTimeoutError = LockAcquisitionTimeoutError;
12
+ //# sourceMappingURL=lock-service.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-service.interface.js","sourceRoot":"","sources":["../../src/locking/lock-service.interface.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAOnC,QAAA,aAAa,GAAG;IAC5B,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;CACL,CAAC;AAKX,MAAa,2BAA4B,SAAQ,+BAAgB;CAAG;AAApE,kEAAoE"}
@@ -0,0 +1,11 @@
1
+ import { InProcessLockService } from './in-process-lock.service';
2
+ import { ILockService, LockNamespace } from './lock-service.interface';
3
+ export declare class LockService implements ILockService {
4
+ private provider;
5
+ constructor(inProcessLockService: InProcessLockService);
6
+ setProvider(provider: ILockService): void;
7
+ withLease<T>(ns: LockNamespace, key: string, fn: (signal: AbortSignal) => Promise<T>, options?: {
8
+ waitTimeoutMs?: number;
9
+ leaseTtlMs?: number;
10
+ }): Promise<T>;
11
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LockService = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const in_process_lock_service_1 = require("./in-process-lock.service");
15
+ let LockService = class LockService {
16
+ constructor(inProcessLockService) {
17
+ this.provider = inProcessLockService;
18
+ }
19
+ setProvider(provider) {
20
+ this.provider = provider;
21
+ }
22
+ async withLease(ns, key, fn, options) {
23
+ return await this.provider.withLease(ns, key, fn, options);
24
+ }
25
+ };
26
+ exports.LockService = LockService;
27
+ exports.LockService = LockService = __decorate([
28
+ (0, di_1.Service)(),
29
+ __metadata("design:paramtypes", [in_process_lock_service_1.InProcessLockService])
30
+ ], LockService);
31
+ //# sourceMappingURL=lock.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.service.js","sourceRoot":"","sources":["../../src/locking/lock.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAElC,uEAAiE;AAI1D,IAAM,WAAW,GAAjB,MAAM,WAAW;IAGvB,YAAY,oBAA0C;QACrD,IAAI,CAAC,QAAQ,GAAG,oBAAoB,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,QAAsB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS,CACd,EAAiB,EACjB,GAAW,EACX,EAAuC,EACvC,OAAyD;QAEzD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AAnBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,YAAO,GAAE;qCAIyB,8CAAoB;GAH1C,WAAW,CAmBvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/backend-common",
3
- "version": "1.28.2",
3
+ "version": "1.29.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -12,26 +12,27 @@
12
12
  "dependencies": {
13
13
  "callsites": "3.1.0",
14
14
  "flatted": "3.4.2",
15
+ "logform": "2.6.1",
15
16
  "stream-json": "1.9.1",
16
17
  "picocolors": "1.0.1",
17
18
  "reflect-metadata": "0.2.2",
18
19
  "winston": "3.14.2",
19
20
  "yargs-parser": "21.1.1",
20
- "@n8n/config": "2.26.0",
21
- "@n8n/decorators": "1.28.2",
22
- "@n8n/constants": "0.28.0",
23
- "n8n-workflow": "2.28.2",
24
- "@n8n/di": "0.14.0"
21
+ "@n8n/config": "2.27.1",
22
+ "@n8n/di": "0.14.0",
23
+ "@n8n/constants": "0.29.0",
24
+ "n8n-workflow": "2.29.0",
25
+ "@n8n/decorators": "1.29.1"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@types/stream-json": "1.7.8",
28
29
  "@types/yargs-parser": "21.0.0",
29
- "@vitest/coverage-v8": "4.1.1",
30
- "vitest": "^4.1.1",
30
+ "@vitest/coverage-v8": "4.1.9",
31
+ "vitest": "^4.1.9",
31
32
  "vitest-mock-extended": "^3.1.0",
32
33
  "zod": "3.25.67",
33
- "@n8n/typescript-config": "1.6.1",
34
- "@n8n/vitest-config": "1.15.0"
34
+ "@n8n/typescript-config": "1.7.0",
35
+ "@n8n/vitest-config": "1.16.0"
35
36
  },
36
37
  "license": "SEE LICENSE IN LICENSE.md",
37
38
  "homepage": "https://n8n.io",