@anatix/runtime 1.0.8 → 1.0.10

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.
@@ -2,6 +2,7 @@ export interface OutboxDispatchConfig {
2
2
  enabled?: boolean;
3
3
  intervalMs?: number;
4
4
  maxAttempts?: number;
5
+ batchSize?: number;
5
6
  }
6
7
  export interface InboxRetryConfig {
7
8
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.config.d.ts","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"envelope.config.d.ts","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.config.js","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":";;;AAkBa,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"envelope.config.js","sourceRoot":"","sources":["../../src/envelope/envelope.config.ts"],"names":[],"mappings":";;;AAmBa,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-dispatcher.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,qBAAqB,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,uBAAwB,YAAW,YAAY,EAAE,qBAAqB;IAK/E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IACD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAN/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3C,GAAG,EAAE,cAAc;IAGzD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,IAAI,IAAI,IAAI;YAOE,cAAc;YAMd,QAAQ;YAOR,iBAAiB;YAkCjB,qBAAqB;CAkCpC"}
1
+ {"version":3,"file":"outbox-dispatcher.service.d.ts","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,qBAAqB,EAAE,YAAY,EAAU,MAAM,gBAAgB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE1E,qBACa,uBAAwB,YAAW,YAAY,EAAE,qBAAqB;IAK/E,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IACD,OAAO,CAAC,QAAQ,CAAC,GAAG;IAN/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAGjB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3C,GAAG,EAAE,cAAc;IAGzD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB7B,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,IAAI,IAAI,IAAI;YAOE,cAAc;YAMd,QAAQ;YAOR,iBAAiB;YAkCjB,qBAAqB;CAkCpC"}
@@ -39,12 +39,13 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
39
39
  }
40
40
  const intervalMs = outboxCfg.intervalMs ?? 5_000;
41
41
  const maxAttempts = outboxCfg.maxAttempts ?? 5;
42
+ const batchSize = outboxCfg.batchSize ?? 100;
42
43
  this.intervalId = setInterval(() => {
43
- this.dispatch(maxAttempts).catch((err) => {
44
+ this.dispatch(maxAttempts, batchSize).catch((err) => {
44
45
  this.logger.error(`Outbox dispatch error: ${err?.message || err}`);
45
46
  });
46
47
  }, intervalMs);
47
- this.logger.log(`Outbox dispatcher started (interval: ${intervalMs}ms, maxAttempts: ${maxAttempts})`);
48
+ this.logger.log(`Outbox dispatcher started (interval: ${intervalMs}ms, maxAttempts: ${maxAttempts}, batchSize: ${batchSize})`);
48
49
  }
49
50
  async onApplicationShutdown(signal) {
50
51
  this.logger.log(`Shutting down Outbox dispatcher (signal: ${signal})`);
@@ -62,8 +63,8 @@ let OutboxDispatcherService = OutboxDispatcherService_1 = class OutboxDispatcher
62
63
  const meta = JSON.parse(message.meta);
63
64
  await this.publishFn(message.topic, payload, meta);
64
65
  }
65
- async dispatch(maxAttempts) {
66
- const messages = await repositories_1.OutboxRepo.getPending(this.dataSource, maxAttempts);
66
+ async dispatch(maxAttempts, batchSize) {
67
+ const messages = await repositories_1.OutboxRepo.getPending(this.dataSource, maxAttempts, batchSize);
67
68
  for (const message of messages) {
68
69
  await this.tryLockAndProcess(message);
69
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-dispatcher.service.js","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox-dispatcher.service.js","sourceRoot":"","sources":["../../../src/envelope/services/outbox-dispatcher.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from './interfaces';
2
2
  export * from './tokens';
3
3
  export * from './security.config';
4
+ export * from './security.module';
4
5
  export * from './bcrypt.adapter';
5
6
  export * from './aes.adapter';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./interfaces"), exports);
18
18
  __exportStar(require("./tokens"), exports);
19
19
  __exportStar(require("./security.config"), exports);
20
+ __exportStar(require("./security.module"), exports);
20
21
  __exportStar(require("./bcrypt.adapter"), exports);
21
22
  __exportStar(require("./aes.adapter"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAG7B,2CAAyB;AAGzB,oDAAkC;AAGlC,mDAAiC;AACjC,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAG7B,2CAAyB;AAGzB,oDAAkC;AAGlC,oDAAkC;AAGlC,mDAAiC;AACjC,gDAA8B"}
@@ -1,6 +1,8 @@
1
1
  export interface SecurityConfig {
2
2
  hashSaltRounds?: number;
3
+ hashingAdapter?: import('./interfaces').HashingAdapter | (new (...args: any[]) => import('./interfaces').HashingAdapter);
3
4
  encryptionKey?: string | Buffer;
5
+ encryptionAdapter?: import('./interfaces').EncryptionAdapter | (new (...args: any[]) => import('./interfaces').EncryptionAdapter);
4
6
  }
5
7
  export declare const SECURITY_CONFIG = "SECURITY_CONFIG";
6
8
  export declare const defaultSecurityConfig: SecurityConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"security.config.d.ts","sourceRoot":"","sources":["../../src/security/security.config.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,cAAc;IAM7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAkBxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC;AAGD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAQjD,eAAO,MAAM,qBAAqB,EAAE,cAInC,CAAC"}
1
+ {"version":3,"file":"security.config.d.ts","sourceRoot":"","sources":["../../src/security/security.config.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,cAAc;IAM7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,cAAc,CAAC,EAAE,OAAO,cAAc,EAAE,cAAc,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,cAAc,EAAE,cAAc,CAAC,CAAC;IAkBzH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAMhC,iBAAiB,CAAC,EAAE,OAAO,cAAc,EAAE,iBAAiB,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,cAAc,EAAE,iBAAiB,CAAC,CAAC;CACnI;AAGD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAQjD,eAAO,MAAM,qBAAqB,EAAE,cAInC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"security.config.js","sourceRoot":"","sources":["../../src/security/security.config.ts"],"names":[],"mappings":";;;AAkDa,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAQpC,QAAA,qBAAqB,GAAmB;IACnD,cAAc,EAAE,EAAE;IAElB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5D,CAAC"}
1
+ {"version":3,"file":"security.config.js","sourceRoot":"","sources":["../../src/security/security.config.ts"],"names":[],"mappings":";;;AAgEa,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAQpC,QAAA,qBAAqB,GAAmB;IACnD,cAAc,EAAE,EAAE;IAElB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;CAC5D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import type { SecurityConfig } from './security.config';
3
+ export declare class SecurityModule {
4
+ static forRoot(config?: SecurityConfig): DynamicModule;
5
+ }
6
+ //# sourceMappingURL=security.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.module.d.ts","sourceRoot":"","sources":["../../src/security/security.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAsCxD,qBAEa,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa;CA+BvD"}
@@ -0,0 +1,70 @@
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 SecurityModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.SecurityModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const security_config_1 = require("./security.config");
13
+ const tokens_1 = require("./tokens");
14
+ const bcrypt_adapter_1 = require("./bcrypt.adapter");
15
+ const aes_adapter_1 = require("./aes.adapter");
16
+ function resolveAdapter(adapter, config, factory) {
17
+ if (adapter) {
18
+ if (typeof adapter === 'function') {
19
+ try {
20
+ return new adapter(config);
21
+ }
22
+ catch {
23
+ return new adapter();
24
+ }
25
+ }
26
+ return adapter;
27
+ }
28
+ if (factory)
29
+ return factory();
30
+ throw new Error('SecurityModule: adapter resolution failed');
31
+ }
32
+ function mergeSecurityConfig(input) {
33
+ const base = { ...security_config_1.defaultSecurityConfig };
34
+ const envKey = process.env.ENCRYPTION_KEY;
35
+ if (envKey) {
36
+ base.encryptionKey = envKey;
37
+ }
38
+ return {
39
+ ...base,
40
+ ...(input ?? {}),
41
+ };
42
+ }
43
+ let SecurityModule = SecurityModule_1 = class SecurityModule {
44
+ static forRoot(config) {
45
+ const merged = mergeSecurityConfig(config);
46
+ return {
47
+ module: SecurityModule_1,
48
+ providers: [
49
+ { provide: security_config_1.SECURITY_CONFIG, useValue: merged },
50
+ {
51
+ provide: tokens_1.HASHING_ADAPTER,
52
+ useFactory: (cfg) => resolveAdapter(cfg.hashingAdapter, cfg, () => new bcrypt_adapter_1.BcryptAdapter(cfg)),
53
+ inject: [security_config_1.SECURITY_CONFIG],
54
+ },
55
+ {
56
+ provide: tokens_1.ENCRYPTION_ADAPTER,
57
+ useFactory: (cfg) => resolveAdapter(cfg.encryptionAdapter, cfg, () => new aes_adapter_1.AesAdapter(cfg)),
58
+ inject: [security_config_1.SECURITY_CONFIG],
59
+ },
60
+ ],
61
+ exports: [security_config_1.SECURITY_CONFIG, tokens_1.HASHING_ADAPTER, tokens_1.ENCRYPTION_ADAPTER],
62
+ };
63
+ }
64
+ };
65
+ exports.SecurityModule = SecurityModule;
66
+ exports.SecurityModule = SecurityModule = SecurityModule_1 = __decorate([
67
+ (0, common_1.Global)(),
68
+ (0, common_1.Module)({})
69
+ ], SecurityModule);
70
+ //# sourceMappingURL=security.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.module.js","sourceRoot":"","sources":["../../src/security/security.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAE/D,uDAA2E;AAC3E,qCAA+D;AAC/D,qDAAiD;AACjD,+CAA2C;AAG3C,SAAS,cAAc,CACrB,OAAyC,EACzC,MAAuB,EACvB,OAAiB;IAEjB,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,OAAO,IAAK,OAAe,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAK,OAAe,EAAE,CAAC;YAChC,CAAC;QACH,CAAC;QACD,OAAO,OAAY,CAAC;IACtB,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,IAAI,GAAG,EAAE,GAAG,uCAAqB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IACD,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAIM,IAAM,cAAc,sBAApB,MAAM,cAAc;IACzB,MAAM,CAAC,OAAO,CAAC,MAAuB;QACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE3C,OAAO;YACL,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,iCAAe,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAC9C;oBACE,OAAO,EAAE,wBAAe;oBACxB,UAAU,EAAE,CAAC,GAAmB,EAAkB,EAAE,CAClD,cAAc,CACZ,GAAG,CAAC,cAAc,EAClB,GAAG,EACH,GAAG,EAAE,CAAC,IAAI,8BAAa,CAAC,GAAG,CAAC,CAC7B;oBACH,MAAM,EAAE,CAAC,iCAAe,CAAC;iBAC1B;gBACD;oBACE,OAAO,EAAE,2BAAkB;oBAC3B,UAAU,EAAE,CAAC,GAAmB,EAAqB,EAAE,CACrD,cAAc,CACZ,GAAG,CAAC,iBAAiB,EACrB,GAAG,EACH,GAAG,EAAE,CAAC,IAAI,wBAAU,CAAC,GAAG,CAAC,CAC1B;oBACH,MAAM,EAAE,CAAC,iCAAe,CAAC;iBAC1B;aACF;YACD,OAAO,EAAE,CAAC,iCAAe,EAAE,wBAAe,EAAE,2BAAkB,CAAC;SAChE,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,wCAAc;yBAAd,cAAc;IAF1B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,cAAc,CAgC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anatix/runtime",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Runtime infrastructure for Anatix-generated microservices",
5
5
  "author": "Anatix Team",
6
6
  "license": "MIT",
@@ -150,7 +150,7 @@
150
150
  "prom-client": "^15.1.3",
151
151
  "reflect-metadata": "^0.2.2",
152
152
  "rimraf": "^6.0.1",
153
- "rxjs": "^7.8.1",
153
+ "rxjs": "^7.8.2",
154
154
  "typeorm": "^0.3.20",
155
155
  "typescript": "^5.7.2",
156
156
  "uuid": "^11.0.0"
@@ -183,8 +183,8 @@
183
183
  },
184
184
  "homepage": "https://github.com/anatix/anatix-runtime#readme",
185
185
  "dependencies": {
186
+ "bcryptjs": "^2.4.3",
186
187
  "kafkajs": "^2.2.4",
187
- "bcryptjs": "^3.0.3",
188
- "prom-client": "^15.1.0"
188
+ "prom-client": "^14.0.0 || ^15.0.0"
189
189
  }
190
190
  }