@nextage/era-lib 1.0.185 → 1.0.187

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 (132) hide show
  1. package/build/constants.d.ts +11 -0
  2. package/build/constants.d.ts.map +1 -1
  3. package/build/constants.js +11 -0
  4. package/build/constants.js.map +1 -1
  5. package/build/enums.d.ts +3 -0
  6. package/build/enums.d.ts.map +1 -1
  7. package/build/enums.js +3 -0
  8. package/build/enums.js.map +1 -1
  9. package/build/errors/app-error.d.ts +6 -0
  10. package/build/errors/app-error.d.ts.map +1 -1
  11. package/build/errors/app-error.js +6 -0
  12. package/build/errors/app-error.js.map +1 -1
  13. package/build/events/access-revoked-publisher.d.ts +1 -1
  14. package/build/events/access-revoked-publisher.d.ts.map +1 -1
  15. package/build/events/access-revoked-publisher.js +1 -1
  16. package/build/events/access-revoked-publisher.js.map +1 -1
  17. package/build/events/{base-event.controller.d.ts → base/base-event.controller.d.ts} +3 -3
  18. package/build/events/base/base-event.controller.d.ts.map +1 -0
  19. package/build/events/{base-event.controller.js → base/base-event.controller.js} +5 -5
  20. package/build/events/base/base-event.controller.js.map +1 -0
  21. package/build/events/{base-listener.d.ts → base/base-listener.d.ts} +17 -4
  22. package/build/events/base/base-listener.d.ts.map +1 -0
  23. package/build/events/base/base-listener.interfaces.d.ts.map +1 -0
  24. package/build/events/base/base-listener.interfaces.js.map +1 -0
  25. package/build/events/{base-listener.js → base/base-listener.js} +34 -10
  26. package/build/events/base/base-listener.js.map +1 -0
  27. package/build/events/{base-msg-listener.d.ts → base/base-msg-listener.d.ts} +15 -6
  28. package/build/events/base/base-msg-listener.d.ts.map +1 -0
  29. package/build/events/{base-msg-listener.js → base/base-msg-listener.js} +14 -5
  30. package/build/events/base/base-msg-listener.js.map +1 -0
  31. package/build/events/base/base-msg-publisher.d.ts +20 -0
  32. package/build/events/base/base-msg-publisher.d.ts.map +1 -0
  33. package/build/events/base/base-msg-publisher.js +24 -0
  34. package/build/events/base/base-msg-publisher.js.map +1 -0
  35. package/build/events/{base-nats-listener.d.ts → base/base-nats-listener.d.ts} +14 -9
  36. package/build/events/base/base-nats-listener.d.ts.map +1 -0
  37. package/build/events/{base-nats-listener.js → base/base-nats-listener.js} +15 -10
  38. package/build/events/base/base-nats-listener.js.map +1 -0
  39. package/build/events/base/base-nats-publisher.d.ts +23 -0
  40. package/build/events/base/base-nats-publisher.d.ts.map +1 -0
  41. package/build/events/base/base-nats-publisher.js +32 -0
  42. package/build/events/base/base-nats-publisher.js.map +1 -0
  43. package/build/events/base/base-publisher.d.ts +34 -0
  44. package/build/events/base/base-publisher.d.ts.map +1 -0
  45. package/build/events/base/base-publisher.js +41 -0
  46. package/build/events/base/base-publisher.js.map +1 -0
  47. package/build/events/dlq-manager.d.ts +1 -1
  48. package/build/events/dlq-manager.d.ts.map +1 -1
  49. package/build/events/event-subscription.d.ts +1 -1
  50. package/build/events/event-subscription.d.ts.map +1 -1
  51. package/build/events/event-subscription.js +2 -2
  52. package/build/events/event-subscription.js.map +1 -1
  53. package/build/events/index.d.ts +13 -11
  54. package/build/events/index.d.ts.map +1 -1
  55. package/build/events/index.js +14 -11
  56. package/build/events/index.js.map +1 -1
  57. package/build/events/interfaces.d.ts +9 -0
  58. package/build/events/interfaces.d.ts.map +1 -1
  59. package/build/events/revocation-listener.d.ts +1 -1
  60. package/build/events/revocation-listener.d.ts.map +1 -1
  61. package/build/events/transport/base-client-wrapper.d.ts +44 -0
  62. package/build/events/transport/base-client-wrapper.d.ts.map +1 -0
  63. package/build/events/transport/base-client-wrapper.js +47 -0
  64. package/build/events/transport/base-client-wrapper.js.map +1 -0
  65. package/build/events/transport/msg-client-manager.d.ts +37 -0
  66. package/build/events/transport/msg-client-manager.d.ts.map +1 -0
  67. package/build/events/{msg-client-manager.js → transport/msg-client-manager.js} +18 -39
  68. package/build/events/transport/msg-client-manager.js.map +1 -0
  69. package/build/events/transport/msg-wrapper.d.ts +15 -0
  70. package/build/events/transport/msg-wrapper.d.ts.map +1 -0
  71. package/build/events/transport/msg-wrapper.js +24 -0
  72. package/build/events/transport/msg-wrapper.js.map +1 -0
  73. package/build/events/{nats-client-manager.d.ts → transport/nats-client-manager.d.ts} +20 -18
  74. package/build/events/transport/nats-client-manager.d.ts.map +1 -0
  75. package/build/events/{nats-client-manager.js → transport/nats-client-manager.js} +20 -18
  76. package/build/events/transport/nats-client-manager.js.map +1 -0
  77. package/build/events/transport/nats-wrapper.d.ts +16 -0
  78. package/build/events/transport/nats-wrapper.d.ts.map +1 -0
  79. package/build/events/transport/nats-wrapper.js +30 -0
  80. package/build/events/transport/nats-wrapper.js.map +1 -0
  81. package/build/interfaces.d.ts +10 -0
  82. package/build/interfaces.d.ts.map +1 -1
  83. package/build/routes/validators.d.ts +4 -2
  84. package/build/routes/validators.d.ts.map +1 -1
  85. package/build/routes/validators.js +4 -2
  86. package/build/routes/validators.js.map +1 -1
  87. package/build/services/password.d.ts +19 -0
  88. package/build/services/password.d.ts.map +1 -1
  89. package/build/services/password.js +19 -0
  90. package/build/services/password.js.map +1 -1
  91. package/build/utils/functs.d.ts +54 -23
  92. package/build/utils/functs.d.ts.map +1 -1
  93. package/build/utils/functs.js +60 -25
  94. package/build/utils/functs.js.map +1 -1
  95. package/package.json +1 -1
  96. package/build/events/base-event.controller.d.ts.map +0 -1
  97. package/build/events/base-event.controller.js.map +0 -1
  98. package/build/events/base-listener.d.ts.map +0 -1
  99. package/build/events/base-listener.interfaces.d.ts.map +0 -1
  100. package/build/events/base-listener.interfaces.js.map +0 -1
  101. package/build/events/base-listener.js.map +0 -1
  102. package/build/events/base-msg-listener.d.ts.map +0 -1
  103. package/build/events/base-msg-listener.js.map +0 -1
  104. package/build/events/base-nats-listener.d.ts.map +0 -1
  105. package/build/events/base-nats-listener.js.map +0 -1
  106. package/build/events/base-nats-publisher.d.ts +0 -20
  107. package/build/events/base-nats-publisher.d.ts.map +0 -1
  108. package/build/events/base-nats-publisher.js +0 -35
  109. package/build/events/base-nats-publisher.js.map +0 -1
  110. package/build/events/base-publisher.d.ts +0 -18
  111. package/build/events/base-publisher.d.ts.map +0 -1
  112. package/build/events/base-publisher.js +0 -28
  113. package/build/events/base-publisher.js.map +0 -1
  114. package/build/events/msg-client-manager.d.ts +0 -38
  115. package/build/events/msg-client-manager.d.ts.map +0 -1
  116. package/build/events/msg-client-manager.js.map +0 -1
  117. package/build/events/msg-wrapper.d.ts +0 -10
  118. package/build/events/msg-wrapper.d.ts.map +0 -1
  119. package/build/events/msg-wrapper.js +0 -18
  120. package/build/events/msg-wrapper.js.map +0 -1
  121. package/build/events/nats-client-manager.d.ts.map +0 -1
  122. package/build/events/nats-client-manager.js.map +0 -1
  123. package/build/events/nats-client-manager.old.d.ts +0 -49
  124. package/build/events/nats-client-manager.old.d.ts.map +0 -1
  125. package/build/events/nats-client-manager.old.js +0 -108
  126. package/build/events/nats-client-manager.old.js.map +0 -1
  127. package/build/events/nats-wrapper.d.ts +0 -14
  128. package/build/events/nats-wrapper.d.ts.map +0 -1
  129. package/build/events/nats-wrapper.js +0 -24
  130. package/build/events/nats-wrapper.js.map +0 -1
  131. /package/build/events/{base-listener.interfaces.d.ts → base/base-listener.interfaces.d.ts} +0 -0
  132. /package/build/events/{base-listener.interfaces.js → base/base-listener.interfaces.js} +0 -0
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NatsListener = void 0;
4
4
  const nx_frame_be_1 = require("@nextage/nx-frame-be");
5
- const dlq_constants_1 = require("./types/dlq.constants");
5
+ const dlq_constants_1 = require("../types/dlq.constants");
6
6
  const base_listener_1 = require("./base-listener");
7
- const cascade_1 = require("./cascade");
7
+ const cascade_1 = require("../cascade");
8
8
  /**
9
9
  * Durable inter-service listener (JetStream): owns the per-message ack/nak/term
10
10
  * and DLQ policy. Keep `onMessage` idempotent so redelivery is always safe.
@@ -34,14 +34,17 @@ class NatsListener extends base_listener_1.Listener {
34
34
  return this.provider.client;
35
35
  }
36
36
  /**
37
+ * Per-subject subscription tuning; override in a subclass to customise the
38
+ * JetStream consumer options. The base returns no overrides.
37
39
  *
38
- * @returns
40
+ * @returns the {@link EventSubOptions} for this consumer
39
41
  */
40
42
  subscriptionOptions() {
41
43
  return {};
42
44
  }
43
45
  /**
44
- *
46
+ * Creates the JetStream durable consumer for this subject and starts the
47
+ * consume loop. Safe to call after the transport connects (finding B8).
45
48
  */
46
49
  async listen() {
47
50
  try {
@@ -166,8 +169,8 @@ class NatsListener extends base_listener_1.Listener {
166
169
  }
167
170
  }
168
171
  /**
169
- *
170
- * @returns
172
+ * Stops the consume loop and deletes the consumer, releasing its JetStream
173
+ * resources on shutdown. A best-effort unsubscribe never throws.
171
174
  */
172
175
  async stop() {
173
176
  this.isListening = false;
@@ -196,17 +199,19 @@ class NatsListener extends base_listener_1.Listener {
196
199
  return this.nakBackoffMs[idx];
197
200
  }
198
201
  /**
202
+ * Decodes the raw message bytes to a UTF-8 string.
199
203
  *
200
- * @param msg
201
- * @returns
204
+ * @param msg the JetStream message
205
+ * @returns the decoded payload string
202
206
  */
203
207
  decode(msg) {
204
208
  return new TextDecoder().decode(msg.data);
205
209
  }
206
210
  /**
211
+ * Decodes and JSON-parses a message into the in-band event envelope.
207
212
  *
208
- * @param msg
209
- * @returns
213
+ * @param msg the JetStream message
214
+ * @returns the parsed {@link Event} envelope (unwrapped by the caller)
210
215
  */
211
216
  parseMessage(msg) {
212
217
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-nats-listener.js","sourceRoot":"","sources":["../../../src/events/base/base-nats-listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { JetStreamPublishOptions } from 'nats';
2
+ import { Event, IPublisher } from '../interfaces';
3
+ import { EventMeta } from '../types/event-envelope.interfaces';
4
+ import { Publisher } from './base-publisher';
5
+ /**
6
+ * Durable (JetStream) publisher: inter-service delivery with retry/DLQ semantics
7
+ * on the consumer side.
8
+ *
9
+ * Emits the event wrapped in the shared in-band envelope (built by the abstract
10
+ * {@link Publisher}) and accepts optional JetStream publish options. The
11
+ * counterpart of {@link NatsListener}.
12
+ */
13
+ export declare abstract class NatsPublisher<T extends Event> extends Publisher<T> implements IPublisher<T, Partial<JetStreamPublishOptions>> {
14
+ /**
15
+ * Publish the event on the durable JetStream bus.
16
+ *
17
+ * @param data the event payload
18
+ * @param meta optional cascade metadata (correlation / causation / depth)
19
+ * @param options optional JetStream publish options (msgID, expectations, ...)
20
+ */
21
+ publish(data: T['data'], meta?: EventMeta, options?: Partial<JetStreamPublishOptions>): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=base-nats-publisher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-nats-publisher.d.ts","sourceRoot":"","sources":["../../../src/events/base/base-nats-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAY,eAAe,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAoB,oCAAoC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAoB,kBAAkB,CAAC;AAE3D;;;;;;;GAOG;AACH,8BAAsB,aAAa,CAAC,CAAC,SAAS,KAAK,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAElI;;;;;;OAMG;IACG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAW5G"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NatsPublisher = void 0;
4
+ const base_publisher_1 = require("./base-publisher");
5
+ /**
6
+ * Durable (JetStream) publisher: inter-service delivery with retry/DLQ semantics
7
+ * on the consumer side.
8
+ *
9
+ * Emits the event wrapped in the shared in-band envelope (built by the abstract
10
+ * {@link Publisher}) and accepts optional JetStream publish options. The
11
+ * counterpart of {@link NatsListener}.
12
+ */
13
+ class NatsPublisher extends base_publisher_1.Publisher {
14
+ /**
15
+ * Publish the event on the durable JetStream bus.
16
+ *
17
+ * @param data the event payload
18
+ * @param meta optional cascade metadata (correlation / causation / depth)
19
+ * @param options optional JetStream publish options (msgID, expectations, ...)
20
+ */
21
+ async publish(data, meta, options) {
22
+ try {
23
+ await this.client.publish(this.subject, JSON.stringify(this.envelope(data, meta)), options);
24
+ }
25
+ catch (error) {
26
+ console.error(`❌ Failed to publish to '${this.subject}':`, error);
27
+ throw error;
28
+ }
29
+ }
30
+ }
31
+ exports.NatsPublisher = NatsPublisher;
32
+ //# sourceMappingURL=base-nats-publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-nats-publisher.js","sourceRoot":"","sources":["../../../src/events/base/base-nats-publisher.ts"],"names":[],"mappings":";;;AAGA,qDAA2D;AAE3D;;;;;;;GAOG;AACH,MAAsB,aAA+B,SAAQ,0BAAY;IAEvE;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,IAAe,EAAE,IAAgB,EAAE,OAA0C;QAEzF,IAAI,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,OAAO,IAAI,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AApBD,sCAoBC"}
@@ -0,0 +1,34 @@
1
+ import { ClientProvider, Event, MsgClientInterface } from '../interfaces';
2
+ import { EventMeta, EventEnvelope } from '../types/event-envelope.interfaces';
3
+ /**
4
+ * Abstract base shared by every publisher, regardless of transport.
5
+ *
6
+ * It owns the transport-agnostic concerns:
7
+ * - identity (`subject`),
8
+ * - lazy client resolution (`client`), so the transport may be connected AFTER
9
+ * this publisher (and its owning controller) is constructed,
10
+ * - the shared in-band envelope construction (`envelope`), so both buses carry
11
+ * the same cascade metadata (transport-agnostic tracing).
12
+ *
13
+ * Transport-specific concerns (the concrete `publish` signature, JetStream
14
+ * options, error handling) live in the concrete subclasses:
15
+ * - `MsgPublisher` — in-memory, best-effort intra-service delivery,
16
+ * - `NatsPublisher` — durable inter-service delivery (JetStream) with options.
17
+ */
18
+ export declare abstract class Publisher<T extends Event> {
19
+ private readonly provider;
20
+ abstract subject: T['subject'];
21
+ constructor(provider: ClientProvider);
22
+ /**
23
+ * Resolve the client only when actually publishing, so the transport may be
24
+ * connected AFTER this publisher (and its owning controller) is constructed.
25
+ */
26
+ protected get client(): MsgClientInterface;
27
+ /**
28
+ * Wrap the event in the shared in-band envelope (id / subject / data /
29
+ * timestamp / cascade meta), so the metadata rides in the payload and loop-guard
30
+ * and causation tracing stay transport agnostic.
31
+ */
32
+ protected envelope(data: T['data'], meta?: EventMeta): EventEnvelope;
33
+ }
34
+ //# sourceMappingURL=base-publisher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-publisher.d.ts","sourceRoot":"","sources":["../../../src/events/base/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAuB,oCAAoC,CAAC;AAG/F;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAIjC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBAEF,QAAQ,EAAE,cAAc;IAErD;;;OAGG;IACH,SAAS,KAAK,MAAM,IAAI,kBAAkB,CAGzC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,aAAa;CAIrE"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Publisher = void 0;
4
+ const cascade_1 = require("../cascade");
5
+ /**
6
+ * Abstract base shared by every publisher, regardless of transport.
7
+ *
8
+ * It owns the transport-agnostic concerns:
9
+ * - identity (`subject`),
10
+ * - lazy client resolution (`client`), so the transport may be connected AFTER
11
+ * this publisher (and its owning controller) is constructed,
12
+ * - the shared in-band envelope construction (`envelope`), so both buses carry
13
+ * the same cascade metadata (transport-agnostic tracing).
14
+ *
15
+ * Transport-specific concerns (the concrete `publish` signature, JetStream
16
+ * options, error handling) live in the concrete subclasses:
17
+ * - `MsgPublisher` — in-memory, best-effort intra-service delivery,
18
+ * - `NatsPublisher` — durable inter-service delivery (JetStream) with options.
19
+ */
20
+ class Publisher {
21
+ constructor(provider) {
22
+ this.provider = provider;
23
+ }
24
+ /**
25
+ * Resolve the client only when actually publishing, so the transport may be
26
+ * connected AFTER this publisher (and its owning controller) is constructed.
27
+ */
28
+ get client() {
29
+ return this.provider.client;
30
+ }
31
+ /**
32
+ * Wrap the event in the shared in-band envelope (id / subject / data /
33
+ * timestamp / cascade meta), so the metadata rides in the payload and loop-guard
34
+ * and causation tracing stay transport agnostic.
35
+ */
36
+ envelope(data, meta) {
37
+ return (0, cascade_1.buildEnvelope)(this.subject, data, meta);
38
+ }
39
+ }
40
+ exports.Publisher = Publisher;
41
+ //# sourceMappingURL=base-publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-publisher.js","sourceRoot":"","sources":["../../../src/events/base/base-publisher.ts"],"names":[],"mappings":";;;AAEA,wCAAuE;AAEvE;;;;;;;;;;;;;;GAcG;AACH,MAAsB,SAAS;IAI7B,YAA6B,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAEzD;;;OAGG;IACH,IAAc,MAAM;QAElB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACO,QAAQ,CAAC,IAAe,EAAE,IAAgB;QAElD,OAAO,IAAA,uBAAa,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF;AAxBD,8BAwBC"}
@@ -1,4 +1,4 @@
1
- import { NatsClientManager } from './nats-client-manager';
1
+ import { NatsClientManager } from './transport/nats-client-manager';
2
2
  import { DlqDepth, DlqInspectItem } from './types/dlq.interfaces';
3
3
  import { DlqInspectOptions, DlqManagerOptions } from './types/dlq.interfaces';
4
4
  import { DlqReplayOptions, DlqReplayResult } from './types/dlq.interfaces';
@@ -1 +1 @@
1
- {"version":3,"file":"dlq-manager.d.ts","sourceRoot":"","sources":["../../src/events/dlq-manager.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,iBAAiB,EAAE,MAAuC,uBAAuB,CAAC;AAC3F,OAAO,EAAsB,QAAQ,EAAE,cAAc,EAAE,MAAY,wBAAwB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAoB,wBAAwB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAuB,wBAAwB,CAAC;AAM5F,qBAAa,UAAU;IAST,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E,OAAO,CAAC,KAAK,CAAC,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAS;gBAEI,MAAM,EAAE,iBAAiB,EAAE,IAAI,GAAE,iBAAsB;IAQpF;;;;;;OAMG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYhD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAenC;;;OAGG;IACH,YAAY,IAAI,IAAI;IAapB,oDAAoD;IACpD,WAAW,IAAI,IAAI;IAOnB;;;;OAIG;IACG,OAAO,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsCtE;;;;;OAKG;IACG,MAAM,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoDnE;;;;;OAKG;YACW,iBAAiB;YAkBjB,cAAc;IAQ5B,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"dlq-manager.d.ts","sourceRoot":"","sources":["../../src/events/dlq-manager.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,iBAAiB,EAAE,MAAuC,iCAAiC,CAAC;AACrG,OAAO,EAAsB,QAAQ,EAAE,cAAc,EAAE,MAAY,wBAAwB,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAoB,wBAAwB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAuB,wBAAwB,CAAC;AAM5F,qBAAa,UAAU;IAST,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E,OAAO,CAAC,KAAK,CAAC,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAS;gBAEI,MAAM,EAAE,iBAAiB,EAAE,IAAI,GAAE,iBAAsB;IAQpF;;;;;;OAMG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAYhD;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAenC;;;OAGG;IACH,YAAY,IAAI,IAAI;IAapB,oDAAoD;IACpD,WAAW,IAAI,IAAI;IAOnB;;;;OAIG;IACG,OAAO,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsCtE;;;;;OAKG;IACG,MAAM,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoDnE;;;;;OAKG;YACW,iBAAiB;YAkBjB,cAAc;IAQ5B,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from 'ws';
1
+ import { EventEmitter } from 'node:events';
2
2
  import { EventSubOptions } from './interfaces';
3
3
  export declare class EventSubscription extends EventEmitter {
4
4
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"event-subscription.d.ts","sourceRoot":"","sources":["../../src/events/event-subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAS,IAAI,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,iBAAkB,SAAQ,YAAY;IAEjD,EAAE,EAAe,MAAM,CAAC;IACxB,OAAO,EAAU,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAU,eAAe,CAAC;gBAErB,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe;CAQjE"}
1
+ {"version":3,"file":"event-subscription.d.ts","sourceRoot":"","sources":["../../src/events/event-subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAS,aAAa,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,iBAAkB,SAAQ,YAAY;IAEjD,EAAE,EAAe,MAAM,CAAC;IACxB,OAAO,EAAU,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAU,eAAe,CAAC;gBAErB,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe;CAQjE"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventSubscription = void 0;
4
- const ws_1 = require("ws");
4
+ const node_events_1 = require("node:events");
5
5
  const nx_frame_be_1 = require("@nextage/nx-frame-be");
6
- class EventSubscription extends ws_1.EventEmitter {
6
+ class EventSubscription extends node_events_1.EventEmitter {
7
7
  constructor(sub, qgName, opts) {
8
8
  super();
9
9
  this.id = (0, nx_frame_be_1.uuid)();
@@ -1 +1 @@
1
- {"version":3,"file":"event-subscription.js","sourceRoot":"","sources":["../../src/events/event-subscription.ts"],"names":[],"mappings":";;;AAAA,2BAAqC;AACrC,sDAAuD;AAGvD,MAAa,iBAAkB,SAAQ,iBAAY;IAOjD,YAAY,GAAW,EAAE,MAAe,EAAE,IAAsB;QAE9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAe,IAAA,kBAAI,GAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAU,GAAG,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAU,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;CACF;AAfD,8CAeC"}
1
+ {"version":3,"file":"event-subscription.js","sourceRoot":"","sources":["../../src/events/event-subscription.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,sDAAuD;AAGvD,MAAa,iBAAkB,SAAQ,0BAAY;IAOjD,YAAY,GAAW,EAAE,MAAe,EAAE,IAAsB;QAE9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAe,IAAA,kBAAI,GAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAU,GAAG,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAU,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;CACF;AAfD,8CAeC"}
@@ -1,7 +1,7 @@
1
1
  export * from './types/enums';
2
2
  export * from './interfaces';
3
3
  export * from './types';
4
- export * from './base-event.controller';
4
+ export * from './base/base-event.controller';
5
5
  export * from './cascade';
6
6
  export * from './event-relay';
7
7
  export * from './field-map';
@@ -10,16 +10,18 @@ export * from './publisher-registry';
10
10
  export * from './revocation-denylist';
11
11
  export * from './revocation-listener';
12
12
  export * from './access-revoked-publisher';
13
- export * from './msg-client-manager';
14
- export * from './msg-wrapper';
15
- export * from './base-listener';
16
- export * from './base-listener.interfaces';
17
- export * from './base-msg-listener';
18
- export * from './base-publisher';
19
- export * from './nats-client-manager';
20
- export * from './nats-wrapper';
21
- export * from './base-nats-listener';
22
- export * from './base-nats-publisher';
13
+ export * from './transport/base-client-wrapper';
14
+ export * from './transport/msg-client-manager';
15
+ export * from './transport/msg-wrapper';
16
+ export * from './base/base-listener';
17
+ export * from './base/base-listener.interfaces';
18
+ export * from './base/base-msg-listener';
19
+ export * from './base/base-publisher';
20
+ export * from './base/base-msg-publisher';
21
+ export * from './transport/nats-client-manager';
22
+ export * from './transport/nats-wrapper';
23
+ export * from './base/base-nats-listener';
24
+ export * from './base/base-nats-publisher';
23
25
  export * from './dlq-manager';
24
26
  export * from './organization';
25
27
  export * from './user';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AAGvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AAExB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAG3C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAG9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AAGvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -17,7 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types/enums"), exports);
18
18
  __exportStar(require("./interfaces"), exports);
19
19
  __exportStar(require("./types"), exports);
20
- __exportStar(require("./base-event.controller"), exports);
20
+ __exportStar(require("./base/base-event.controller"), exports);
21
21
  __exportStar(require("./cascade"), exports);
22
22
  __exportStar(require("./event-relay"), exports);
23
23
  __exportStar(require("./field-map"), exports);
@@ -26,18 +26,21 @@ __exportStar(require("./publisher-registry"), exports);
26
26
  __exportStar(require("./revocation-denylist"), exports);
27
27
  __exportStar(require("./revocation-listener"), exports);
28
28
  __exportStar(require("./access-revoked-publisher"), exports);
29
+ // shared transport-agnostic base
30
+ __exportStar(require("./transport/base-client-wrapper"), exports);
29
31
  // messages on memory
30
- __exportStar(require("./msg-client-manager"), exports);
31
- __exportStar(require("./msg-wrapper"), exports);
32
- __exportStar(require("./base-listener"), exports);
33
- __exportStar(require("./base-listener.interfaces"), exports);
34
- __exportStar(require("./base-msg-listener"), exports);
35
- __exportStar(require("./base-publisher"), exports);
32
+ __exportStar(require("./transport/msg-client-manager"), exports);
33
+ __exportStar(require("./transport/msg-wrapper"), exports);
34
+ __exportStar(require("./base/base-listener"), exports);
35
+ __exportStar(require("./base/base-listener.interfaces"), exports);
36
+ __exportStar(require("./base/base-msg-listener"), exports);
37
+ __exportStar(require("./base/base-publisher"), exports);
38
+ __exportStar(require("./base/base-msg-publisher"), exports);
36
39
  // messages on nats
37
- __exportStar(require("./nats-client-manager"), exports);
38
- __exportStar(require("./nats-wrapper"), exports);
39
- __exportStar(require("./base-nats-listener"), exports);
40
- __exportStar(require("./base-nats-publisher"), exports);
40
+ __exportStar(require("./transport/nats-client-manager"), exports);
41
+ __exportStar(require("./transport/nats-wrapper"), exports);
42
+ __exportStar(require("./base/base-nats-listener"), exports);
43
+ __exportStar(require("./base/base-nats-publisher"), exports);
41
44
  __exportStar(require("./dlq-manager"), exports);
42
45
  // admin-mng
43
46
  __exportStar(require("./organization"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,0CAAwB;AAExB,0DAAwC;AACxC,4CAA0B;AAC1B,gDAA8B;AAC9B,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,wDAAsC;AACtC,wDAAsC;AACtC,6DAA2C;AAE3C,qBAAqB;AACrB,uDAAqC;AACrC,gDAA8B;AAC9B,kDAAgC;AAChC,6DAA2C;AAC3C,sDAAoC;AACpC,mDAAiC;AAEjC,mBAAmB;AACnB,wDAAsC;AACtC,iDAA+B;AAC/B,uDAAqC;AACrC,wDAAsC;AACtC,gDAA8B;AAE9B,YAAY;AACZ,iDAA+B;AAC/B,yCAAuB;AAEvB,aAAa;AACb,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B;AAC1B,sDAAoC;AACpC,2CAAyB;AACzB,kDAAgC;AAEhC,cAAc;AACd,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,oDAAkC;AAClC,iDAA+B;AAC/B,mDAAiC;AAEjC,oBAAoB;AACpB,kDAAgC;AAChC,+CAA6B;AAE7B,kBAAkB;AAClB,mCAAmC;AAEnC,cAAc"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,0CAAwB;AAExB,+DAA6C;AAC7C,4CAA0B;AAC1B,gDAA8B;AAC9B,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,wDAAsC;AACtC,wDAAsC;AACtC,6DAA2C;AAE3C,iCAAiC;AACjC,kEAAgD;AAEhD,qBAAqB;AACrB,iEAA+C;AAC/C,0DAAwC;AACxC,uDAAqC;AACrC,kEAAgD;AAChD,2DAAyC;AACzC,wDAAsC;AACtC,4DAA0C;AAE1C,mBAAmB;AACnB,kEAAgD;AAChD,2DAAyC;AACzC,4DAA0C;AAC1C,6DAA2C;AAC3C,gDAA8B;AAE9B,YAAY;AACZ,iDAA+B;AAC/B,yCAAuB;AAEvB,aAAa;AACb,kDAAgC;AAChC,gDAA8B;AAC9B,6CAA2B;AAC3B,mDAAiC;AACjC,iDAA+B;AAC/B,4CAA0B;AAC1B,sDAAoC;AACpC,2CAAyB;AACzB,kDAAgC;AAEhC,cAAc;AACd,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AACnC,qDAAmC;AACnC,oDAAkC;AAClC,iDAA+B;AAC/B,mDAAiC;AAEjC,oBAAoB;AACpB,kDAAgC;AAChC,+CAA6B;AAE7B,kBAAkB;AAClB,mCAAmC;AAEnC,cAAc"}
@@ -21,6 +21,15 @@ export interface EventSubOptions {
21
21
  maxDeliver?: number;
22
22
  ackWait?: number;
23
23
  }
24
+ /**
25
+ * Connection config consumed by the NATS wrapper. Centralised here (instead of
26
+ * an inline shape in `nats-wrapper.ts`) so the transport config lives beside the
27
+ * other event contracts.
28
+ */
29
+ export interface NatsWrapperConfig {
30
+ servers: string[] | string;
31
+ clientName?: string;
32
+ }
24
33
  export interface Event {
25
34
  subject: Subjects;
26
35
  data: any;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/events/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAO,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAO,sBAAsB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACnF,SAAS,EAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAK,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAK,GAAG,CAAC;CACd;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,SAAS;IACxD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/events/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAO,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAO,sBAAsB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACnF,SAAS,EAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACrC,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAK,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAM,MAAM,EAAE,GAAG,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAK,GAAG,CAAC;CACd;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,GAAG,SAAS;IACxD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE"}
@@ -1,5 +1,5 @@
1
1
  import { ClientProvider } from './interfaces';
2
- import { NatsClientManager } from './nats-client-manager';
2
+ import { NatsClientManager } from './transport/nats-client-manager';
3
3
  import { RevocationListenerOptions } from './types/revocation.interfaces';
4
4
  interface NatsProvider extends ClientProvider {
5
5
  readonly client: NatsClientManager;
@@ -1 +1 @@
1
- {"version":3,"file":"revocation-listener.d.ts","sourceRoot":"","sources":["../../src/events/revocation-listener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAoB,cAAc,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAiB,uBAAuB,CAAC;AAIrE,OAAO,EAAE,yBAAyB,EAAE,MAAS,+BAA+B,CAAC;AAM7E,UAAU,YAAa,SAAQ,cAAc;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,qBAAa,kBAAkB;IAQjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAEvB,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAE,yBAA8B;IAMzF;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAQf,OAAO;IA+BrB,OAAO,CAAC,MAAM;IAkBd,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B"}
1
+ {"version":3,"file":"revocation-listener.d.ts","sourceRoot":"","sources":["../../src/events/revocation-listener.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAoB,cAAc,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAiB,iCAAiC,CAAC;AAI/E,OAAO,EAAE,yBAAyB,EAAE,MAAS,+BAA+B,CAAC;AAM7E,UAAU,YAAa,SAAQ,cAAc;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,qBAAa,kBAAkB;IAQjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC,OAAO,CAAC,QAAQ,CAAC,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;gBAEvB,QAAQ,EAAE,YAAY,EAAE,IAAI,GAAE,yBAA8B;IAMzF;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAQf,OAAO;IA+BrB,OAAO,CAAC,MAAM;IAkBd,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B"}
@@ -0,0 +1,44 @@
1
+ import { ClientProvider, MsgClientInterface } from '../interfaces';
2
+ /**
3
+ * Abstract base shared by every message-bus wrapper, regardless of transport.
4
+ *
5
+ * A wrapper is a lazy singleton holder for the underlying client manager: it is
6
+ * constructed at import time but only resolves a real client on `connect`, so
7
+ * publishers/listeners (and their controllers) can be built BEFORE the transport
8
+ * is connected without tripping the "client before connecting" guard (finding B8).
9
+ *
10
+ * By implementing {@link ClientProvider}, every concrete wrapper is a valid
11
+ * provider for publishers/listeners (compile-time check).
12
+ *
13
+ * Transport-specific concerns (how the client is built and connected) live in
14
+ * the concrete subclasses:
15
+ * - `MsgWrapper` — in-memory bus (best-effort intra-service delivery),
16
+ * - `NatsWrapper` — NATS JetStream (durable inter-service delivery).
17
+ *
18
+ * @typeParam TClient concrete client manager exposed by `client`
19
+ * @typeParam TConfig transport-specific connection config accepted by `connect`
20
+ */
21
+ export declare abstract class ClientWrapper<TClient extends MsgClientInterface, TConfig> implements ClientProvider {
22
+ private readonly label;
23
+ protected _client?: TClient;
24
+ constructor(label: string);
25
+ /**
26
+ * Resolve the client, guarding against access before `connect`. Concrete
27
+ * subclasses widen the return type to their client manager so callers keep
28
+ * access to transport-specific methods (e.g. `natsWrapper.client.createStream`).
29
+ */
30
+ get client(): TClient;
31
+ /**
32
+ * Connect the transport and populate `client`. Concrete subclasses build the
33
+ * client manager from their own config shape. Reconnecting an already-connected
34
+ * wrapper first tears down the previous client (see the concrete guard) so we
35
+ * never orphan a live connection.
36
+ */
37
+ abstract connect(config: TConfig): Promise<void>;
38
+ /**
39
+ * Tear down the transport. Default is a no-op so shutdown stays symmetric
40
+ * across wrappers; transports with a real connection (NATS) override it.
41
+ */
42
+ disconnect(): Promise<void>;
43
+ }
44
+ //# sourceMappingURL=base-client-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-client-wrapper.d.ts","sourceRoot":"","sources":["../../../src/events/transport/base-client-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,aAAa,CAAC,OAAO,SAAS,kBAAkB,EAAE,OAAO,CAC7E,YAAW,cAAc;IAIb,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEC,KAAK,EAAE,MAAM;IAE1C;;;;OAIG;IACH,IAAI,MAAM,IAAI,OAAO,CAMpB;IAED;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhD;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientWrapper = void 0;
4
+ const nx_frame_be_1 = require("@nextage/nx-frame-be");
5
+ /**
6
+ * Abstract base shared by every message-bus wrapper, regardless of transport.
7
+ *
8
+ * A wrapper is a lazy singleton holder for the underlying client manager: it is
9
+ * constructed at import time but only resolves a real client on `connect`, so
10
+ * publishers/listeners (and their controllers) can be built BEFORE the transport
11
+ * is connected without tripping the "client before connecting" guard (finding B8).
12
+ *
13
+ * By implementing {@link ClientProvider}, every concrete wrapper is a valid
14
+ * provider for publishers/listeners (compile-time check).
15
+ *
16
+ * Transport-specific concerns (how the client is built and connected) live in
17
+ * the concrete subclasses:
18
+ * - `MsgWrapper` — in-memory bus (best-effort intra-service delivery),
19
+ * - `NatsWrapper` — NATS JetStream (durable inter-service delivery).
20
+ *
21
+ * @typeParam TClient concrete client manager exposed by `client`
22
+ * @typeParam TConfig transport-specific connection config accepted by `connect`
23
+ */
24
+ class ClientWrapper {
25
+ constructor(label) {
26
+ this.label = label;
27
+ }
28
+ /**
29
+ * Resolve the client, guarding against access before `connect`. Concrete
30
+ * subclasses widen the return type to their client manager so callers keep
31
+ * access to transport-specific methods (e.g. `natsWrapper.client.createStream`).
32
+ */
33
+ get client() {
34
+ if (!this._client)
35
+ throw new Error(`Cannot access ${this.label} client before connecting`);
36
+ return this._client;
37
+ }
38
+ /**
39
+ * Tear down the transport. Default is a no-op so shutdown stays symmetric
40
+ * across wrappers; transports with a real connection (NATS) override it.
41
+ */
42
+ async disconnect() {
43
+ nx_frame_be_1.APP.logger.info(`📪 ${this.label} client disconnected`);
44
+ }
45
+ }
46
+ exports.ClientWrapper = ClientWrapper;
47
+ //# sourceMappingURL=base-client-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-client-wrapper.js","sourceRoot":"","sources":["../../../src/events/transport/base-client-wrapper.ts"],"names":[],"mappings":";;;AAAA,sDAAsE;AAGtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAsB,aAAa;IAKjC,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAE9C;;;;OAIG;IACH,IAAI,MAAM;QAER,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,2BAA2B,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAUD;;;OAGG;IACH,KAAK,CAAC,UAAU;QAEd,iBAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,sBAAsB,CAAC,CAAC;IAC1D,CAAC;CACF;AApCD,sCAoCC"}
@@ -0,0 +1,37 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { NxObject, NxTypeObject } from '@nextage/nx-frame-be';
3
+ import { EventSubscription } from '../event-subscription';
4
+ import { MsgClientInterface, EventSubOptions } from '../interfaces';
5
+ export declare class MsgClientManager extends EventEmitter implements MsgClientInterface {
6
+ subs: NxTypeObject<EventSubscription[]>;
7
+ private readonly clientId?;
8
+ constructor(clientId?: string);
9
+ /**
10
+ * No real connection to establish for the in-memory bus; logs readiness so the
11
+ * transport lifecycle stays symmetric with the NATS client.
12
+ */
13
+ connect(): Promise<void>;
14
+ /**
15
+ * Register a subscription for `subject` and return it so the caller can attach a
16
+ * `message` handler.
17
+ *
18
+ * @param subject subject to listen on
19
+ * @param queueGroupName optional group label (informational for the in-memory bus)
20
+ * @param options optional `maxDeliver` / `ackWait` (unused in-memory)
21
+ */
22
+ subscribe(subject: string, queueGroupName?: string, options?: EventSubOptions): EventSubscription;
23
+ /**
24
+ * Fan out `data` to every subscriber of `subject`; a no-op (with a log) when
25
+ * there is no subscription — the in-memory bus is best-effort.
26
+ */
27
+ publish(subject: string, data: string | Uint8Array<ArrayBufferLike>, options?: NxObject): Promise<void>;
28
+ /**
29
+ * Detach `cb` from `sub` and drop it from the subscription list.
30
+ */
31
+ unsubscribe(sub: EventSubscription, cb?: (...args: any[]) => void): void;
32
+ /**
33
+ * Return the subscription list for `subject`, throwing if none exists.
34
+ */
35
+ private getSubscriptions;
36
+ }
37
+ //# sourceMappingURL=msg-client-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg-client-manager.d.ts","sourceRoot":"","sources":["../../../src/events/transport/msg-client-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAkC,aAAa,CAAC;AACvE,OAAO,EAAoB,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAA6B,uBAAuB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAW,eAAe,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,kBAAkB;IAE9E,IAAI,EAAE,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAM;IAE7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;gBAEvB,QAAQ,CAAC,EAAE,MAAM;IAM7B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,iBAAiB;IAWjG;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7G;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,GAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAe,GAAG,IAAI;IAWlF;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAOzB"}