@warlock.js/herald 4.0.165 → 4.0.170

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 (153) hide show
  1. package/cjs/communicators/broker-registry.d.ts +155 -0
  2. package/cjs/communicators/broker-registry.d.ts.map +1 -0
  3. package/cjs/communicators/broker-registry.js +206 -0
  4. package/cjs/communicators/broker-registry.js.map +1 -0
  5. package/{esm/communicators/communicator.d.ts → cjs/communicators/broker.d.ts} +20 -20
  6. package/cjs/communicators/broker.d.ts.map +1 -0
  7. package/cjs/communicators/{communicator.js → broker.js} +12 -12
  8. package/cjs/communicators/broker.js.map +1 -0
  9. package/cjs/communicators/index.d.ts +2 -2
  10. package/cjs/communicators/index.d.ts.map +1 -1
  11. package/{esm/contracts/communicator-driver.contract.d.ts → cjs/contracts/broker-driver.contract.d.ts} +8 -8
  12. package/cjs/contracts/broker-driver.contract.d.ts.map +1 -0
  13. package/cjs/contracts/channel.contract.d.ts +6 -1
  14. package/cjs/contracts/channel.contract.d.ts.map +1 -1
  15. package/cjs/contracts/index.d.ts +1 -1
  16. package/cjs/contracts/index.d.ts.map +1 -1
  17. package/cjs/decorators/consumable.d.ts +2 -2
  18. package/cjs/decorators/consumable.d.ts.map +1 -1
  19. package/cjs/decorators/consumable.js +12 -12
  20. package/cjs/decorators/consumable.js.map +1 -1
  21. package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts +2 -1
  22. package/cjs/drivers/rabbitmq/rabbitmq-channel.d.ts.map +1 -1
  23. package/cjs/drivers/rabbitmq/rabbitmq-channel.js +4 -2
  24. package/cjs/drivers/rabbitmq/rabbitmq-channel.js.map +1 -1
  25. package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts +10 -8
  26. package/cjs/drivers/rabbitmq/rabbitmq-driver.d.ts.map +1 -1
  27. package/cjs/drivers/rabbitmq/rabbitmq-driver.js +11 -10
  28. package/cjs/drivers/rabbitmq/rabbitmq-driver.js.map +1 -1
  29. package/cjs/index.d.ts +7 -7
  30. package/cjs/index.d.ts.map +1 -1
  31. package/cjs/index.js +1 -1
  32. package/cjs/message-managers/event-consumer.d.ts +2 -1
  33. package/cjs/message-managers/event-consumer.d.ts.map +1 -1
  34. package/cjs/message-managers/event-consumer.js +7 -1
  35. package/cjs/message-managers/event-consumer.js.map +1 -1
  36. package/cjs/message-managers/event-message.d.ts +7 -4
  37. package/cjs/message-managers/event-message.d.ts.map +1 -1
  38. package/cjs/message-managers/event-message.js +8 -8
  39. package/cjs/message-managers/event-message.js.map +1 -1
  40. package/cjs/message-managers/prepare-consumer-subscription.d.ts +1 -1
  41. package/cjs/message-managers/prepare-consumer-subscription.d.ts.map +1 -1
  42. package/cjs/message-managers/prepare-consumer-subscription.js +4 -3
  43. package/cjs/message-managers/prepare-consumer-subscription.js.map +1 -1
  44. package/cjs/types/channel.types.d.ts +19 -0
  45. package/cjs/types/channel.types.d.ts.map +1 -0
  46. package/cjs/types/connection.types.d.ts +65 -0
  47. package/cjs/types/connection.types.d.ts.map +1 -0
  48. package/cjs/types/driver.types.d.ts +10 -0
  49. package/cjs/types/driver.types.d.ts.map +1 -0
  50. package/cjs/types/index.d.ts +8 -0
  51. package/cjs/types/index.d.ts.map +1 -0
  52. package/cjs/types/message.types.d.ts +34 -0
  53. package/cjs/types/message.types.d.ts.map +1 -0
  54. package/cjs/types/publish.types.d.ts +13 -0
  55. package/cjs/types/publish.types.d.ts.map +1 -0
  56. package/cjs/types/registry.types.d.ts +4 -0
  57. package/cjs/types/registry.types.d.ts.map +1 -0
  58. package/cjs/types/subscribe.types.d.ts +18 -0
  59. package/cjs/types/subscribe.types.d.ts.map +1 -0
  60. package/{esm/utils/connect-to-communicator.d.ts → cjs/utils/connect-to-broker.d.ts} +43 -41
  61. package/cjs/utils/connect-to-broker.d.ts.map +1 -0
  62. package/cjs/utils/{connect-to-communicator.js → connect-to-broker.js} +52 -50
  63. package/cjs/utils/connect-to-broker.js.map +1 -0
  64. package/cjs/utils/index.d.ts +1 -1
  65. package/cjs/utils/index.d.ts.map +1 -1
  66. package/esm/communicators/broker-registry.d.ts +155 -0
  67. package/esm/communicators/broker-registry.d.ts.map +1 -0
  68. package/esm/communicators/broker-registry.js +206 -0
  69. package/esm/communicators/broker-registry.js.map +1 -0
  70. package/{cjs/communicators/communicator.d.ts → esm/communicators/broker.d.ts} +20 -20
  71. package/esm/communicators/broker.d.ts.map +1 -0
  72. package/esm/communicators/{communicator.js → broker.js} +12 -12
  73. package/esm/communicators/broker.js.map +1 -0
  74. package/esm/communicators/index.d.ts +2 -2
  75. package/esm/communicators/index.d.ts.map +1 -1
  76. package/{cjs/contracts/communicator-driver.contract.d.ts → esm/contracts/broker-driver.contract.d.ts} +8 -8
  77. package/esm/contracts/broker-driver.contract.d.ts.map +1 -0
  78. package/esm/contracts/channel.contract.d.ts +6 -1
  79. package/esm/contracts/channel.contract.d.ts.map +1 -1
  80. package/esm/contracts/index.d.ts +1 -1
  81. package/esm/contracts/index.d.ts.map +1 -1
  82. package/esm/decorators/consumable.d.ts +2 -2
  83. package/esm/decorators/consumable.d.ts.map +1 -1
  84. package/esm/decorators/consumable.js +12 -12
  85. package/esm/decorators/consumable.js.map +1 -1
  86. package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts +2 -1
  87. package/esm/drivers/rabbitmq/rabbitmq-channel.d.ts.map +1 -1
  88. package/esm/drivers/rabbitmq/rabbitmq-channel.js +4 -2
  89. package/esm/drivers/rabbitmq/rabbitmq-channel.js.map +1 -1
  90. package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts +10 -8
  91. package/esm/drivers/rabbitmq/rabbitmq-driver.d.ts.map +1 -1
  92. package/esm/drivers/rabbitmq/rabbitmq-driver.js +11 -10
  93. package/esm/drivers/rabbitmq/rabbitmq-driver.js.map +1 -1
  94. package/esm/index.d.ts +7 -7
  95. package/esm/index.d.ts.map +1 -1
  96. package/esm/index.js +1 -1
  97. package/esm/message-managers/event-consumer.d.ts +2 -1
  98. package/esm/message-managers/event-consumer.d.ts.map +1 -1
  99. package/esm/message-managers/event-consumer.js +7 -1
  100. package/esm/message-managers/event-consumer.js.map +1 -1
  101. package/esm/message-managers/event-message.d.ts +7 -4
  102. package/esm/message-managers/event-message.d.ts.map +1 -1
  103. package/esm/message-managers/event-message.js +8 -8
  104. package/esm/message-managers/event-message.js.map +1 -1
  105. package/esm/message-managers/prepare-consumer-subscription.d.ts +1 -1
  106. package/esm/message-managers/prepare-consumer-subscription.d.ts.map +1 -1
  107. package/esm/message-managers/prepare-consumer-subscription.js +4 -3
  108. package/esm/message-managers/prepare-consumer-subscription.js.map +1 -1
  109. package/esm/types/channel.types.d.ts +19 -0
  110. package/esm/types/channel.types.d.ts.map +1 -0
  111. package/esm/types/connection.types.d.ts +65 -0
  112. package/esm/types/connection.types.d.ts.map +1 -0
  113. package/esm/types/driver.types.d.ts +10 -0
  114. package/esm/types/driver.types.d.ts.map +1 -0
  115. package/esm/types/index.d.ts +8 -0
  116. package/esm/types/index.d.ts.map +1 -0
  117. package/esm/types/message.types.d.ts +34 -0
  118. package/esm/types/message.types.d.ts.map +1 -0
  119. package/esm/types/publish.types.d.ts +13 -0
  120. package/esm/types/publish.types.d.ts.map +1 -0
  121. package/esm/types/registry.types.d.ts +4 -0
  122. package/esm/types/registry.types.d.ts.map +1 -0
  123. package/esm/types/subscribe.types.d.ts +18 -0
  124. package/esm/types/subscribe.types.d.ts.map +1 -0
  125. package/{cjs/utils/connect-to-communicator.d.ts → esm/utils/connect-to-broker.d.ts} +43 -41
  126. package/esm/utils/connect-to-broker.d.ts.map +1 -0
  127. package/esm/utils/{connect-to-communicator.js → connect-to-broker.js} +52 -50
  128. package/esm/utils/connect-to-broker.js.map +1 -0
  129. package/esm/utils/index.d.ts +1 -1
  130. package/esm/utils/index.d.ts.map +1 -1
  131. package/package.json +3 -3
  132. package/cjs/communicators/communicator-registry.d.ts +0 -155
  133. package/cjs/communicators/communicator-registry.d.ts.map +0 -1
  134. package/cjs/communicators/communicator-registry.js +0 -206
  135. package/cjs/communicators/communicator-registry.js.map +0 -1
  136. package/cjs/communicators/communicator.d.ts.map +0 -1
  137. package/cjs/communicators/communicator.js.map +0 -1
  138. package/cjs/contracts/communicator-driver.contract.d.ts.map +0 -1
  139. package/cjs/types.d.ts +0 -399
  140. package/cjs/types.d.ts.map +0 -1
  141. package/cjs/utils/connect-to-communicator.d.ts.map +0 -1
  142. package/cjs/utils/connect-to-communicator.js.map +0 -1
  143. package/esm/communicators/communicator-registry.d.ts +0 -155
  144. package/esm/communicators/communicator-registry.d.ts.map +0 -1
  145. package/esm/communicators/communicator-registry.js +0 -206
  146. package/esm/communicators/communicator-registry.js.map +0 -1
  147. package/esm/communicators/communicator.d.ts.map +0 -1
  148. package/esm/communicators/communicator.js.map +0 -1
  149. package/esm/contracts/communicator-driver.contract.d.ts.map +0 -1
  150. package/esm/types.d.ts +0 -399
  151. package/esm/types.d.ts.map +0 -1
  152. package/esm/utils/connect-to-communicator.d.ts.map +0 -1
  153. package/esm/utils/connect-to-communicator.js.map +0 -1
@@ -0,0 +1,155 @@
1
+ import type { BrokerRegistryEvent, BrokerRegistryListener } from "../types";
2
+ import { Broker, type BrokerOptions } from "./broker";
3
+ /**
4
+ * Error thrown when a broker is not found
5
+ */
6
+ export declare class MissingBrokerError extends Error {
7
+ readonly brokerName?: string;
8
+ constructor(message: string, brokerName?: string);
9
+ }
10
+ /**
11
+ * Broker Registry
12
+ *
13
+ * Maintains registry of named brokers.
14
+ * Similar to DataSourceRegistry in @warlock.js/cascade
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // Register a broker
19
+ * brokerRegistry.register({
20
+ * name: "default",
21
+ * driver: rabbitMQDriver,
22
+ * isDefault: true,
23
+ * });
24
+ *
25
+ * // Get the default broker
26
+ * const comm = brokerRegistry.get();
27
+ *
28
+ * // Get a specific broker by name
29
+ * const analytics = brokerRegistry.get("analytics");
30
+ *
31
+ * // Listen for events
32
+ * brokerRegistry.on("connected", (comm) => {
33
+ * console.log(`${comm.name} connected`);
34
+ * });
35
+ * ```
36
+ */
37
+ declare class BrokerRegistry {
38
+ private readonly sources;
39
+ private defaultSource?;
40
+ private readonly events;
41
+ /**
42
+ * Register a new broker
43
+ *
44
+ * Sets up event forwarding from the driver to the registry.
45
+ *
46
+ * @param options - Broker configuration
47
+ * @returns The registered broker instance
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const broker = brokerRegistry.register({
52
+ * name: "primary",
53
+ * driver: myDriver,
54
+ * isDefault: true,
55
+ * });
56
+ * ```
57
+ */
58
+ register(options: BrokerOptions): Broker;
59
+ /**
60
+ * Clear all registered brokers
61
+ */
62
+ clear(): void;
63
+ /**
64
+ * Listen for registry events
65
+ *
66
+ * @param event - Event to listen for
67
+ * @param listener - Callback function
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * brokerRegistry.on("registered", (comm) => {
72
+ * console.log(`Broker "${comm.name}" registered`);
73
+ * });
74
+ *
75
+ * brokerRegistry.on("connected", (comm) => {
76
+ * console.log(`Broker "${comm.name}" connected`);
77
+ * });
78
+ * ```
79
+ */
80
+ on(event: BrokerRegistryEvent, listener: BrokerRegistryListener): void;
81
+ /**
82
+ * Listen for a registry event once
83
+ *
84
+ * @param event - Event to listen for
85
+ * @param listener - Callback function
86
+ */
87
+ once(event: BrokerRegistryEvent, listener: BrokerRegistryListener): void;
88
+ /**
89
+ * Remove an event listener
90
+ *
91
+ * @param event - Event to stop listening for
92
+ * @param listener - Callback to remove
93
+ */
94
+ off(event: BrokerRegistryEvent, listener: BrokerRegistryListener): void;
95
+ /**
96
+ * Get a broker by name or the default one
97
+ *
98
+ * @param name - Optional broker name
99
+ * @returns Broker instance
100
+ * @throws MissingBrokerError if not found
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * // Get default broker
105
+ * const comm = brokerRegistry.get();
106
+ *
107
+ * // Get specific broker
108
+ * const analytics = brokerRegistry.get("analytics");
109
+ * ```
110
+ */
111
+ get(name?: string): Broker;
112
+ /**
113
+ * Check if a broker exists
114
+ *
115
+ * @param name - Broker name to check
116
+ * @returns True if exists
117
+ */
118
+ has(name: string): boolean;
119
+ /**
120
+ * Check if any brokers are registered
121
+ */
122
+ hasAny(): boolean;
123
+ /**
124
+ * Get all registered brokers
125
+ *
126
+ * @returns Array of all brokers
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * // Disconnect all brokers
131
+ * for (const comm of brokerRegistry.getAll()) {
132
+ * await comm.disconnect();
133
+ * }
134
+ * ```
135
+ */
136
+ getAll(): Broker[];
137
+ /**
138
+ * Get all broker names
139
+ *
140
+ * @returns Array of broker names
141
+ */
142
+ getNames(): string[];
143
+ /**
144
+ * Get the default broker (if any)
145
+ *
146
+ * @returns Default broker or undefined
147
+ */
148
+ getDefault(): Broker | undefined;
149
+ }
150
+ /**
151
+ * Global broker registry instance
152
+ */
153
+ export declare const brokerRegistry: BrokerRegistry;
154
+ export {};
155
+ //# sourceMappingURL=broker-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-registry.d.ts","sourceRoot":"","sources":["../../src/communicators/broker-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAKxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IA6B/C;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;;;;;;;;;;;;OAgBG;IACI,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAI7E;;;;;OAKG;IACI,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAI/E;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAI9E;;;;;;;;;;;;;;;OAeG;IACI,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAgBjC;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACI,MAAM,IAAI,OAAO;IAIxB;;;;;;;;;;;;OAYG;IACI,MAAM,IAAI,MAAM,EAAE;IAIzB;;;;OAIG;IACI,QAAQ,IAAI,MAAM,EAAE;IAI3B;;;;OAIG;IACI,UAAU,IAAI,MAAM,GAAG,SAAS;CAGxC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -0,0 +1,206 @@
1
+ 'use strict';var node_events=require('node:events'),broker=require('./broker.js');/**
2
+ * Error thrown when a broker is not found
3
+ */
4
+ class MissingBrokerError extends Error {
5
+ brokerName;
6
+ constructor(message, brokerName) {
7
+ super(message);
8
+ this.name = "MissingBrokerError";
9
+ this.brokerName = brokerName;
10
+ }
11
+ }
12
+ /**
13
+ * Broker Registry
14
+ *
15
+ * Maintains registry of named brokers.
16
+ * Similar to DataSourceRegistry in @warlock.js/cascade
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Register a broker
21
+ * brokerRegistry.register({
22
+ * name: "default",
23
+ * driver: rabbitMQDriver,
24
+ * isDefault: true,
25
+ * });
26
+ *
27
+ * // Get the default broker
28
+ * const comm = brokerRegistry.get();
29
+ *
30
+ * // Get a specific broker by name
31
+ * const analytics = brokerRegistry.get("analytics");
32
+ *
33
+ * // Listen for events
34
+ * brokerRegistry.on("connected", (comm) => {
35
+ * console.log(`${comm.name} connected`);
36
+ * });
37
+ * ```
38
+ */
39
+ class BrokerRegistry {
40
+ sources = new Map();
41
+ defaultSource;
42
+ events = new node_events.EventEmitter();
43
+ /**
44
+ * Register a new broker
45
+ *
46
+ * Sets up event forwarding from the driver to the registry.
47
+ *
48
+ * @param options - Broker configuration
49
+ * @returns The registered broker instance
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const broker = brokerRegistry.register({
54
+ * name: "primary",
55
+ * driver: myDriver,
56
+ * isDefault: true,
57
+ * });
58
+ * ```
59
+ */
60
+ register(options) {
61
+ const broker$1 = new broker.Broker(options);
62
+ this.sources.set(broker$1.name, broker$1);
63
+ const isNewDefault = broker$1.isDefault || !this.defaultSource;
64
+ if (isNewDefault) {
65
+ this.defaultSource = broker$1;
66
+ }
67
+ // Emit registration events
68
+ this.events.emit("registered", broker$1);
69
+ if (isNewDefault) {
70
+ this.events.emit("default-registered", broker$1);
71
+ }
72
+ // Forward driver events to registry
73
+ broker$1.driver.on("connected", () => {
74
+ this.events.emit("connected", broker$1);
75
+ });
76
+ broker$1.driver.on("disconnected", () => {
77
+ this.events.emit("disconnected", broker$1);
78
+ });
79
+ return broker$1;
80
+ }
81
+ /**
82
+ * Clear all registered brokers
83
+ */
84
+ clear() {
85
+ this.defaultSource = undefined;
86
+ this.sources.clear();
87
+ }
88
+ /**
89
+ * Listen for registry events
90
+ *
91
+ * @param event - Event to listen for
92
+ * @param listener - Callback function
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * brokerRegistry.on("registered", (comm) => {
97
+ * console.log(`Broker "${comm.name}" registered`);
98
+ * });
99
+ *
100
+ * brokerRegistry.on("connected", (comm) => {
101
+ * console.log(`Broker "${comm.name}" connected`);
102
+ * });
103
+ * ```
104
+ */
105
+ on(event, listener) {
106
+ this.events.on(event, listener);
107
+ }
108
+ /**
109
+ * Listen for a registry event once
110
+ *
111
+ * @param event - Event to listen for
112
+ * @param listener - Callback function
113
+ */
114
+ once(event, listener) {
115
+ this.events.once(event, listener);
116
+ }
117
+ /**
118
+ * Remove an event listener
119
+ *
120
+ * @param event - Event to stop listening for
121
+ * @param listener - Callback to remove
122
+ */
123
+ off(event, listener) {
124
+ this.events.off(event, listener);
125
+ }
126
+ /**
127
+ * Get a broker by name or the default one
128
+ *
129
+ * @param name - Optional broker name
130
+ * @returns Broker instance
131
+ * @throws MissingBrokerError if not found
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * // Get default broker
136
+ * const comm = brokerRegistry.get();
137
+ *
138
+ * // Get specific broker
139
+ * const analytics = brokerRegistry.get("analytics");
140
+ * ```
141
+ */
142
+ get(name) {
143
+ if (name !== undefined) {
144
+ const source = this.sources.get(name);
145
+ if (!source) {
146
+ throw new MissingBrokerError(`Broker "${name}" is not registered.`, name);
147
+ }
148
+ return source;
149
+ }
150
+ if (!this.defaultSource) {
151
+ throw new MissingBrokerError("No default broker registered.");
152
+ }
153
+ return this.defaultSource;
154
+ }
155
+ /**
156
+ * Check if a broker exists
157
+ *
158
+ * @param name - Broker name to check
159
+ * @returns True if exists
160
+ */
161
+ has(name) {
162
+ return this.sources.has(name);
163
+ }
164
+ /**
165
+ * Check if any brokers are registered
166
+ */
167
+ hasAny() {
168
+ return this.sources.size > 0;
169
+ }
170
+ /**
171
+ * Get all registered brokers
172
+ *
173
+ * @returns Array of all brokers
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * // Disconnect all brokers
178
+ * for (const comm of brokerRegistry.getAll()) {
179
+ * await comm.disconnect();
180
+ * }
181
+ * ```
182
+ */
183
+ getAll() {
184
+ return Array.from(this.sources.values());
185
+ }
186
+ /**
187
+ * Get all broker names
188
+ *
189
+ * @returns Array of broker names
190
+ */
191
+ getNames() {
192
+ return Array.from(this.sources.keys());
193
+ }
194
+ /**
195
+ * Get the default broker (if any)
196
+ *
197
+ * @returns Default broker or undefined
198
+ */
199
+ getDefault() {
200
+ return this.defaultSource;
201
+ }
202
+ }
203
+ /**
204
+ * Global broker registry instance
205
+ */
206
+ const brokerRegistry = new BrokerRegistry();exports.MissingBrokerError=MissingBrokerError;exports.brokerRegistry=brokerRegistry;//# sourceMappingURL=broker-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-registry.js","sources":["../../src/communicators/broker-registry.ts"],"sourcesContent":[null],"names":["EventEmitter","broker","Broker"],"mappings":"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"}
@@ -1,49 +1,49 @@
1
- import type { CommunicatorDriverContract } from "../contracts";
1
+ import type { BrokerDriverContract } from "../contracts";
2
2
  import type { ChannelContract } from "../contracts/channel.contract";
3
3
  import { EventMessage } from "../message-managers/event-message";
4
4
  import { EventConsumerClass } from "../message-managers/types";
5
5
  import type { ChannelOptions } from "../types";
6
6
  /**
7
- * Options for creating a Communicator
7
+ * Options for creating a Broker
8
8
  */
9
- export interface CommunicatorOptions {
10
- /** Unique name for this communicator */
9
+ export interface BrokerOptions {
10
+ /** Unique name for this broker */
11
11
  name: string;
12
12
  /** The underlying driver */
13
- driver: CommunicatorDriverContract;
14
- /** Whether this is the default communicator */
13
+ driver: BrokerDriverContract;
14
+ /** Whether this is the default broker */
15
15
  isDefault?: boolean;
16
16
  }
17
17
  /**
18
- * Communicator - wrapper around a driver with metadata
18
+ * Broker - wrapper around a driver with metadata
19
19
  *
20
20
  * Similar to DataSource in @warlock.js/cascade
21
21
  *
22
22
  * @example
23
23
  * ```typescript
24
- * const communicator = new Communicator({
24
+ * const broker = new Broker({
25
25
  * name: "default",
26
26
  * driver: rabbitMQDriver,
27
27
  * isDefault: true,
28
28
  * });
29
29
  *
30
30
  * // Get a channel
31
- * const channel = communicator.channel("user.created");
31
+ * const channel = broker.channel("user.created");
32
32
  * ```
33
33
  */
34
- export declare class Communicator {
35
- /** Unique name identifying this communicator */
34
+ export declare class Broker {
35
+ /** Unique name identifying this broker */
36
36
  readonly name: string;
37
37
  /** The underlying driver */
38
- readonly driver: CommunicatorDriverContract;
39
- /** Whether this is the default communicator */
38
+ readonly driver: BrokerDriverContract;
39
+ /** Whether this is the default broker */
40
40
  readonly isDefault: boolean;
41
41
  /**
42
- * Create a new Communicator
42
+ * Create a new Broker
43
43
  *
44
- * @param options - Communicator configuration
44
+ * @param options - Broker configuration
45
45
  */
46
- constructor(options: CommunicatorOptions);
46
+ constructor(options: BrokerOptions);
47
47
  /**
48
48
  * Subscribe the given consumer
49
49
  */
@@ -62,10 +62,10 @@ export declare class Communicator {
62
62
  * @example
63
63
  * ```typescript
64
64
  * // Simple channel
65
- * const channel = communicator.channel("notifications");
65
+ * const channel = broker.channel("notifications");
66
66
  *
67
67
  * // Typed channel with schema
68
- * const orderChannel = communicator.channel<OrderPayload>("orders", {
68
+ * const orderChannel = broker.channel<OrderPayload>("orders", {
69
69
  * schema: OrderSchema,
70
70
  * durable: true,
71
71
  * });
@@ -73,7 +73,7 @@ export declare class Communicator {
73
73
  */
74
74
  channel<TPayload = unknown>(name: string, options?: ChannelOptions<TPayload>): ChannelContract<TPayload>;
75
75
  /**
76
- * Check if the communicator is connected
76
+ * Check if the broker is connected
77
77
  */
78
78
  get isConnected(): boolean;
79
79
  /**
@@ -97,4 +97,4 @@ export declare class Communicator {
97
97
  */
98
98
  healthCheck(): Promise<import("../types").HealthCheckResult>;
99
99
  }
100
- //# sourceMappingURL=communicator.d.ts.map
100
+ //# sourceMappingURL=broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/communicators/broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,MAAM;IACjB,0CAA0C;IAC1C,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,4BAA4B;IAC5B,SAAgB,MAAM,EAAE,oBAAoB,CAAC;IAE7C,yCAAyC;IACzC,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;gBACgB,OAAO,EAAE,aAAa;IAMzC;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC;IAIlD;;OAEG;IACI,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC;IAI5E;;;;;;;;;;;;;;;;;;OAkBG;IACI,OAAO,CAAC,QAAQ,GAAG,OAAO,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC;IAI5B;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACU,WAAW;CAGzB"}
@@ -1,31 +1,31 @@
1
1
  'use strict';/**
2
- * Communicator - wrapper around a driver with metadata
2
+ * Broker - wrapper around a driver with metadata
3
3
  *
4
4
  * Similar to DataSource in @warlock.js/cascade
5
5
  *
6
6
  * @example
7
7
  * ```typescript
8
- * const communicator = new Communicator({
8
+ * const broker = new Broker({
9
9
  * name: "default",
10
10
  * driver: rabbitMQDriver,
11
11
  * isDefault: true,
12
12
  * });
13
13
  *
14
14
  * // Get a channel
15
- * const channel = communicator.channel("user.created");
15
+ * const channel = broker.channel("user.created");
16
16
  * ```
17
17
  */
18
- class Communicator {
19
- /** Unique name identifying this communicator */
18
+ class Broker {
19
+ /** Unique name identifying this broker */
20
20
  name;
21
21
  /** The underlying driver */
22
22
  driver;
23
- /** Whether this is the default communicator */
23
+ /** Whether this is the default broker */
24
24
  isDefault;
25
25
  /**
26
- * Create a new Communicator
26
+ * Create a new Broker
27
27
  *
28
- * @param options - Communicator configuration
28
+ * @param options - Broker configuration
29
29
  */
30
30
  constructor(options) {
31
31
  this.name = options.name;
@@ -54,10 +54,10 @@ class Communicator {
54
54
  * @example
55
55
  * ```typescript
56
56
  * // Simple channel
57
- * const channel = communicator.channel("notifications");
57
+ * const channel = broker.channel("notifications");
58
58
  *
59
59
  * // Typed channel with schema
60
- * const orderChannel = communicator.channel<OrderPayload>("orders", {
60
+ * const orderChannel = broker.channel<OrderPayload>("orders", {
61
61
  * schema: OrderSchema,
62
62
  * durable: true,
63
63
  * });
@@ -67,7 +67,7 @@ class Communicator {
67
67
  return this.driver.channel(name, options);
68
68
  }
69
69
  /**
70
- * Check if the communicator is connected
70
+ * Check if the broker is connected
71
71
  */
72
72
  get isConnected() {
73
73
  return this.driver.isConnected;
@@ -102,4 +102,4 @@ class Communicator {
102
102
  async healthCheck() {
103
103
  return this.driver.healthCheck();
104
104
  }
105
- }exports.Communicator=Communicator;//# sourceMappingURL=communicator.js.map
105
+ }exports.Broker=Broker;//# sourceMappingURL=broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.js","sources":["../../src/communicators/broker.ts"],"sourcesContent":[null],"names":[],"mappings":"aAkBA;;;;;;;;;;;;;;;;AAgBG;MACU,MAAM,CAAA;;AAED,IAAA,IAAI,CAAS;;AAGb,IAAA,MAAM,CAAuB;;AAG7B,IAAA,SAAS,CAAU;AAEnC;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAAsB,EAAA;AACvC,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC7C;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAAiC,EAAA;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,OAAO,CAAiC,KAA6B,EAAA;AAC1E,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC5B;AAED;;;;;;;;;;;;;;;;;;AAkBG;IACI,OAAO,CACZ,IAAY,EACZ,OAAkC,EAAA;QAElC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAW,IAAI,EAAE,OAAO,CAAC,CAAC;KACrD;AAED;;AAEG;AACH,IAAA,IAAW,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;KAC7B;AAED;;AAEG;AACI,IAAA,MAAM,UAAU,GAAA;AACrB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KAChC;AAED;;AAEG;AACI,IAAA,MAAM,cAAc,GAAA;AACzB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;KACpC;AAED;;AAEG;AACI,IAAA,MAAM,aAAa,GAAA;AACxB,QAAA,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;KACnC;AAED;;AAEG;AACI,IAAA,MAAM,WAAW,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;KAClC;AACF"}
@@ -1,3 +1,3 @@
1
- export * from "./communicator";
2
- export * from "./communicator-registry";
1
+ export * from "./broker";
2
+ export * from "./broker-registry";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/communicators/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/communicators/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { type EventMessage } from "../message-managers/event-message";
2
2
  import { EventConsumerClass } from "../message-managers/types";
3
- import type { ChannelOptions, CommunicatorDriverType, CommunicatorEvent, CommunicatorEventListener, HealthCheckResult } from "../types";
3
+ import type { BrokerDriverType, BrokerEvent, BrokerEventListener, ChannelOptions, HealthCheckResult } from "../types";
4
4
  import type { ChannelContract } from "./channel.contract";
5
5
  /**
6
- * Communicator Driver Contract
6
+ * Broker Driver Contract
7
7
  *
8
8
  * Base contract for all message bus drivers (RabbitMQ, Kafka, etc.)
9
9
  * Similar to DriverContract in @warlock.js/cascade
@@ -11,19 +11,19 @@ import type { ChannelContract } from "./channel.contract";
11
11
  * @example
12
12
  * ```typescript
13
13
  * // Driver implementation
14
- * class RabbitMQDriver implements CommunicatorDriverContract {
14
+ * class RabbitMQDriver implements BrokerDriverContract {
15
15
  * readonly name = "rabbitmq";
16
16
  * // ...
17
17
  * }
18
18
  * ```
19
19
  */
20
- export interface CommunicatorDriverContract {
20
+ export interface BrokerDriverContract {
21
21
  /**
22
22
  * Driver name identifier
23
23
  *
24
24
  * @example "rabbitmq", "kafka", "redis-streams"
25
25
  */
26
- readonly name: CommunicatorDriverType;
26
+ readonly name: BrokerDriverType;
27
27
  /**
28
28
  * Whether currently connected to the message broker
29
29
  */
@@ -76,14 +76,14 @@ export interface CommunicatorDriverContract {
76
76
  * });
77
77
  * ```
78
78
  */
79
- on(event: CommunicatorEvent, listener: CommunicatorEventListener): void;
79
+ on(event: BrokerEvent, listener: BrokerEventListener): void;
80
80
  /**
81
81
  * Remove an event listener
82
82
  *
83
83
  * @param event - Event name
84
84
  * @param listener - Callback to remove
85
85
  */
86
- off(event: CommunicatorEvent, listener: CommunicatorEventListener): void;
86
+ off(event: BrokerEvent, listener: BrokerEventListener): void;
87
87
  /**
88
88
  * Subscribe the given consumer class to the driver
89
89
  *
@@ -193,4 +193,4 @@ export interface CommunicatorDriverContract {
193
193
  */
194
194
  closeChannel(name: string): Promise<void>;
195
195
  }
196
- //# sourceMappingURL=communicator-driver.contract.d.ts.map
196
+ //# sourceMappingURL=broker-driver.contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/broker-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;;;;;;;OASG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE5D;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE7D;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAC;IAEpD;;;;;;;;;OASG;IACH,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE7E;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,QAAQ,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;OAcG;IACH,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;;;;;;;OASG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;OAcG;IACH,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE1C;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -9,7 +9,7 @@ import type { ChannelOptions, ChannelStats, MessageHandler, PublishOptions, Requ
9
9
  * @example
10
10
  * ```typescript
11
11
  * // Get a typed channel
12
- * const userChannel = communicators().channel<UserPayload>("user.created");
12
+ * const userChannel = herald().channel<UserPayload>("user.created");
13
13
  *
14
14
  * // Publish
15
15
  * await userChannel.publish({ userId: 1, email: "test@example.com" });
@@ -182,5 +182,10 @@ export interface ChannelContract<TPayload = unknown> {
182
182
  * Creates the channel if it doesn't exist, or verifies options match.
183
183
  */
184
184
  assert(): Promise<void>;
185
+ /**
186
+ * Stop consuming messages on this channel.
187
+ * Cancels all active subscriptions gracefully.
188
+ */
189
+ stopConsuming(): Promise<void>;
185
190
  }
186
191
  //# sourceMappingURL=channel.contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/channel.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhG;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9F;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EACzB,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"channel.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/channel.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE3C;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhG;;;;;;;;;OASG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9F;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,SAAS,GAAG,OAAO,EACzB,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAE/B;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC"}
@@ -1,3 +1,3 @@
1
1
  export * from "./channel.contract";
2
- export * from "./communicator-driver.contract";
2
+ export * from "./broker-driver.contract";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC"}