@warlock.js/herald 4.0.166 → 4.0.171

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
package/cjs/types.d.ts DELETED
@@ -1,399 +0,0 @@
1
- /// <reference types="node" />
2
- import type { BaseValidator } from "@warlock.js/seal";
3
- import { CommunicatorDriverContract } from "./contracts";
4
- /**
5
- * Message metadata that accompanies every message
6
- */
7
- export type MessageMetadata = {
8
- /** Unique message ID (auto-generated) */
9
- messageId: string;
10
- /** Correlation ID for request-response patterns */
11
- correlationId?: string;
12
- /** Reply-to channel for RPC patterns */
13
- replyTo?: string;
14
- /** Message priority (0-9, where 9 is highest) */
15
- priority?: number;
16
- /** Timestamp when message was published */
17
- timestamp: Date;
18
- /** Custom headers */
19
- headers?: Record<string, string>;
20
- /** Retry count (incremented on each retry) */
21
- retryCount?: number;
22
- /** Original queue/channel name */
23
- originalChannel?: string;
24
- };
25
- /**
26
- * A message received from a channel
27
- *
28
- * @template TPayload - The typed payload
29
- */
30
- export type Message<TPayload = unknown> = {
31
- /** Message metadata */
32
- readonly metadata: MessageMetadata;
33
- /** Typed payload data */
34
- readonly payload: TPayload;
35
- /** Raw message data from the driver */
36
- readonly raw?: unknown;
37
- };
38
- /**
39
- * Options when publishing a message
40
- */
41
- export type PublishOptions = {
42
- /** Message priority (0-9, where 9 is highest) */
43
- priority?: number;
44
- /** Time-to-live in milliseconds */
45
- ttl?: number;
46
- /** Delay before message is available (delayed messaging) */
47
- delay?: number;
48
- /** Custom headers */
49
- headers?: Record<string, string>;
50
- /** Enable message persistence (survives broker restart) */
51
- persistent?: boolean;
52
- /** Correlation ID for tracking related messages */
53
- correlationId?: string;
54
- /** Expiration time in milliseconds */
55
- expiration?: number;
56
- };
57
- /**
58
- * Retry configuration for failed message processing
59
- */
60
- export type RetryOptions = {
61
- /** Maximum number of retry attempts */
62
- maxRetries: number;
63
- /** Delay between retries in ms, or function for custom backoff */
64
- delay: number | ((attempt: number) => number);
65
- };
66
- /**
67
- * Dead-letter configuration for messages that exceed retry attempts
68
- */
69
- export type DeadLetterOptions = {
70
- /** Dead-letter queue/channel name */
71
- channel: string;
72
- /** Whether to preserve original message metadata */
73
- preserveOriginal?: boolean;
74
- };
75
- /**
76
- * Options when subscribing to a channel
77
- */
78
- export type SubscribeOptions = {
79
- /** Consumer ID for tracking subscriptions (used for unsubscription) */
80
- consumerId?: string;
81
- /** Consumer group/tag name */
82
- group?: string;
83
- /** Number of messages to prefetch (concurrency) */
84
- prefetch?: number;
85
- /** Auto-acknowledge messages (default: false for manual ack) */
86
- autoAck?: boolean;
87
- /** Retry configuration for failed messages */
88
- retry?: RetryOptions;
89
- /** Dead-letter configuration */
90
- deadLetter?: DeadLetterOptions;
91
- /** Exclusive consumer (only one consumer on this queue) */
92
- exclusive?: boolean;
93
- };
94
- /**
95
- * Options for request-response (RPC) pattern
96
- */
97
- export type RequestOptions = PublishOptions & {
98
- /** Timeout in milliseconds to wait for response */
99
- timeout?: number;
100
- };
101
- /**
102
- * Context provided to message handlers for controlling message flow
103
- */
104
- export type MessageContext = {
105
- /** Acknowledge the message (mark as successfully processed) */
106
- ack(): Promise<void>;
107
- /** Negative acknowledge (requeue or send to dead-letter) */
108
- nack(requeue?: boolean): Promise<void>;
109
- /** Reject the message (don't requeue) */
110
- reject(): Promise<void>;
111
- /** Reply to a message (for RPC patterns) */
112
- reply<T>(payload: T): Promise<void>;
113
- /** Manually retry the message with optional delay */
114
- retry(delay?: number): Promise<void>;
115
- };
116
- /**
117
- * Represents an active subscription to a channel
118
- */
119
- export type Subscription = {
120
- /** Unique subscription ID */
121
- readonly id: string;
122
- /** Channel name this subscription is for */
123
- readonly channel: string;
124
- /** Consumer tag (driver-specific identifier) */
125
- readonly consumerTag?: string;
126
- /** Unsubscribe from the channel */
127
- unsubscribe(): Promise<void>;
128
- /** Pause message consumption */
129
- pause(): Promise<void>;
130
- /** Resume message consumption */
131
- resume(): Promise<void>;
132
- /** Check if subscription is active */
133
- isActive(): boolean;
134
- };
135
- /**
136
- * Handler function for processing messages
137
- *
138
- * @template TPayload - The typed payload
139
- */
140
- export type MessageHandler<TPayload = unknown> = (message: Message<TPayload>, ctx: MessageContext) => Promise<void> | void;
141
- /**
142
- * Handler function for request-response (RPC) pattern
143
- *
144
- * @template TPayload - The request payload type
145
- * @template TResponse - The response payload type
146
- */
147
- export type ResponseHandler<TPayload = unknown, TResponse = unknown> = (message: Message<TPayload>, ctx: MessageContext) => Promise<TResponse> | TResponse;
148
- /**
149
- * Channel/queue configuration options
150
- */
151
- export type ChannelOptions<TPayload = unknown> = {
152
- /** Channel type (queue for point-to-point, topic for pub/sub, fanout for broadcast) */
153
- type?: "queue" | "topic" | "fanout";
154
- /** Durable channel (survives broker restart) */
155
- durable?: boolean;
156
- /** Auto-delete when last consumer disconnects */
157
- autoDelete?: boolean;
158
- /** Exclusive channel (single connection only) */
159
- exclusive?: boolean;
160
- /** Dead-letter configuration */
161
- deadLetter?: DeadLetterOptions;
162
- /** Maximum message size in bytes */
163
- maxMessageSize?: number;
164
- /** Default message TTL in milliseconds */
165
- messageTtl?: number;
166
- /** Maximum number of messages in queue */
167
- maxLength?: number;
168
- /** Seal schema for validation before message is published */
169
- schema?: BaseValidator;
170
- };
171
- /**
172
- * Statistics for a channel
173
- */
174
- export type ChannelStats = {
175
- /** Number of messages in the queue */
176
- messageCount: number;
177
- /** Number of active consumers */
178
- consumerCount: number;
179
- /** Channel name */
180
- name: string;
181
- };
182
- /**
183
- * Supported communicator driver types
184
- */
185
- export type CommunicatorDriverType = "rabbitmq" | "kafka" | "redis-streams" | "sqs";
186
- /**
187
- * Events emitted by communicator drivers
188
- */
189
- export type CommunicatorEvent = "connected" | "disconnected" | "error" | "reconnecting";
190
- /**
191
- * Listener function for communicator events
192
- */
193
- export type CommunicatorEventListener = (...args: unknown[]) => void;
194
- /**
195
- * Result of a health check
196
- */
197
- export type HealthCheckResult = {
198
- /** Whether the communicator is healthy */
199
- healthy: boolean;
200
- /** Latency in milliseconds */
201
- latency?: number;
202
- /** Error message if unhealthy */
203
- error?: string;
204
- /** Additional details */
205
- details?: Record<string, unknown>;
206
- };
207
- /**
208
- * Base connection options shared across all drivers
209
- */
210
- export type BaseConnectionOptions = {
211
- /** Unique name for this communicator */
212
- name?: string;
213
- /** Whether this should be the default communicator */
214
- isDefault?: boolean;
215
- };
216
- /**
217
- * Native amqplib socket options
218
- * These are passed directly to the underlying socket connection
219
- */
220
- export type RabbitMQSocketOptions = {
221
- /** Keep-alive delay in milliseconds */
222
- keepAlive?: boolean | number;
223
- /** Disable Nagle's algorithm */
224
- noDelay?: boolean;
225
- /** Socket timeout in milliseconds */
226
- timeout?: number;
227
- /** Custom certificate authority (for TLS) */
228
- ca?: string | Buffer | Array<string | Buffer>;
229
- /** Client certificate (for TLS) */
230
- cert?: string | Buffer;
231
- /** Client private key (for TLS) */
232
- key?: string | Buffer;
233
- /** Passphrase for the private key */
234
- passphrase?: string;
235
- /** Server name for SNI (TLS) */
236
- servername?: string;
237
- /** Reject unauthorized certificates (default: true) */
238
- rejectUnauthorized?: boolean;
239
- };
240
- /**
241
- * RabbitMQ client options (native amqplib options)
242
- * These are passed directly to amqplib.connect()
243
- */
244
- export type RabbitMQClientOptions = {
245
- /** Frame max size in bytes */
246
- frameMax?: number;
247
- /** Channel max (0 = unlimited) */
248
- channelMax?: number;
249
- /** Locale (default: 'en_US') */
250
- locale?: string;
251
- /** Socket options for the underlying connection */
252
- socket?: RabbitMQSocketOptions;
253
- };
254
- /**
255
- * RabbitMQ-specific connection options
256
- *
257
- * @template TClientOptions - Native amqplib client options
258
- *
259
- * @example
260
- * ```typescript
261
- * const config: RabbitMQConnectionOptions = {
262
- * driver: "rabbitmq",
263
- * host: "localhost",
264
- * port: 5672,
265
- * username: "guest",
266
- * password: "guest",
267
- *
268
- * // Native amqplib options
269
- * clientOptions: {
270
- * frameMax: 0,
271
- * channelMax: 0,
272
- * socket: {
273
- * keepAlive: true,
274
- * noDelay: true,
275
- * },
276
- * },
277
- * };
278
- * ```
279
- */
280
- export type RabbitMQConnectionOptions<TClientOptions extends RabbitMQClientOptions = RabbitMQClientOptions> = BaseConnectionOptions & {
281
- driver: "rabbitmq";
282
- /** Host address */
283
- host?: string;
284
- /** Port number */
285
- port?: number;
286
- /** Username for authentication */
287
- username?: string;
288
- /** Password for authentication */
289
- password?: string;
290
- /** Virtual host */
291
- vhost?: string;
292
- /** Connection URI (alternative to host/port) */
293
- uri?: string;
294
- /** Heartbeat interval in seconds */
295
- heartbeat?: number;
296
- /** Connection timeout in milliseconds */
297
- connectionTimeout?: number;
298
- /** Enable automatic reconnection */
299
- reconnect?: boolean;
300
- /** Delay between reconnection attempts in milliseconds */
301
- reconnectDelay?: number;
302
- /** Default prefetch count for consumers */
303
- prefetch?: number;
304
- /**
305
- * Native amqplib client options
306
- *
307
- * These options are passed directly to amqplib.connect()
308
- * for low-level configuration like frame size, TLS, etc.
309
- */
310
- clientOptions?: TClientOptions;
311
- };
312
- /**
313
- * Kafka client options (native kafkajs options)
314
- */
315
- export type KafkaClientOptions = {
316
- /** Retry configuration */
317
- retry?: {
318
- initialRetryTime?: number;
319
- retries?: number;
320
- maxRetryTime?: number;
321
- factor?: number;
322
- multiplier?: number;
323
- };
324
- /** Log level */
325
- logLevel?: number;
326
- /** Custom logger */
327
- logCreator?: any;
328
- };
329
- /**
330
- * Kafka-specific connection options
331
- *
332
- * @template TClientOptions - Native kafkajs client options
333
- */
334
- export type KafkaConnectionOptions<TClientOptions extends KafkaClientOptions = KafkaClientOptions> = BaseConnectionOptions & {
335
- driver: "kafka";
336
- /** Broker addresses */
337
- brokers: string[];
338
- /** Client ID */
339
- clientId?: string;
340
- /** Connection timeout in milliseconds */
341
- connectionTimeout?: number;
342
- /** Request timeout in milliseconds */
343
- requestTimeout?: number;
344
- /** SSL configuration */
345
- ssl?: boolean | object;
346
- /** SASL authentication */
347
- sasl?: {
348
- mechanism: "plain" | "scram-sha-256" | "scram-sha-512";
349
- username: string;
350
- password: string;
351
- };
352
- /**
353
- * Native kafkajs client options
354
- */
355
- clientOptions?: TClientOptions;
356
- };
357
- /**
358
- * Union type for all connection options
359
- */
360
- export type ConnectionOptions = RabbitMQConnectionOptions | KafkaConnectionOptions;
361
- /**
362
- * Communicator configuration options
363
- *
364
- * This is the main type for configuring communicators in your application.
365
- * Similar to ConnectionOptions in @warlock.js/cascade.
366
- *
367
- * @template TClientOptions - Native client options (amqplib, kafkajs, etc.)
368
- *
369
- * @example
370
- * ```typescript
371
- * // RabbitMQ with client options
372
- * const config: CommunicatorConfigurations<RabbitMQClientOptions> = {
373
- * driver: "rabbitmq",
374
- * host: "localhost",
375
- * clientOptions: {
376
- * socket: { keepAlive: true },
377
- * },
378
- * };
379
- *
380
- * // Kafka
381
- * const kafkaConfig: CommunicatorConfigurations<KafkaClientOptions> = {
382
- * driver: "kafka",
383
- * brokers: ["localhost:9092"],
384
- * clientOptions: {
385
- * retry: { retries: 5 },
386
- * },
387
- * };
388
- * ```
389
- */
390
- export type CommunicatorConfigurations<TClientOptions = any> = RabbitMQConnectionOptions<TClientOptions extends RabbitMQClientOptions ? TClientOptions : RabbitMQClientOptions> | KafkaConnectionOptions<TClientOptions extends KafkaClientOptions ? TClientOptions : KafkaClientOptions>;
391
- /**
392
- * Events emitted by the communicator registry
393
- */
394
- export type CommunicatorRegistryEvent = "registered" | "default-registered" | "connected" | "disconnected";
395
- /**
396
- * Listener for registry events
397
- */
398
- export type CommunicatorRegistryListener = (communicator: CommunicatorDriverContract) => void;
399
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-to-communicator.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-communicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAwB,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAA8B,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAA6B,MAAM,UAAU,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+C7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY,CAEzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAG,OAAO,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GACjC,eAAe,CAAC,QAAQ,CAAC,CAE3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,CAAC,iBAE/F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,uBAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"connect-to-communicator.js","sources":["../../src/utils/connect-to-communicator.ts"],"sourcesContent":[null],"names":["communicatorRegistry"],"mappings":"2FAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACI,eAAe,qBAAqB,CAAC,OAA0B,EAAA;;AAEpE,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;AAChD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACnD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAkC,CAAC;AAEvC,IAAA,QAAQ,UAAU;QAChB,KAAK,UAAU,EAAE;YACf,MAAM,aAAa,GAAG,OAAoC,CAAC;;YAE3D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,iDAAO,wCAAqC,GAAC,CAAC;AAC/E,YAAA,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;YAC3C,MAAM;AACP,SAAA;QAED,KAAK,OAAO,EAAE;;;AAGZ,YAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;AACH,SAAA;AAED,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,CAAA,qCAAA,CAAuC,CAAC,CAAC;AAC1F,KAAA;;AAGD,IAAA,MAAM,YAAY,GAAGA,yCAAoB,CAAC,QAAQ,CAAC;AACjD,QAAA,IAAI,EAAE,gBAAgB;QACtB,MAAM;QACN,SAAS;AACV,KAAA,CAAC,CAAC;;IAGH,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,KAAK,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CAChG,CAAC;AACH,KAAA;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,aAAa,CAAC,IAAa,EAAA;AACzC,IAAA,OAAOA,yCAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;AAWG;AACa,SAAA,mBAAmB,CACjC,IAAY,EACZ,OAAkC,EAAA;IAElC,OAAO,aAAa,EAAE,CAAC,OAAO,CAAW,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;AAUG;AACI,eAAe,YAAY,CAAiC,KAA6B,EAAA;AAC9F,IAAA,OAAO,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;AAcG;AACI,eAAe,iBAAiB,CACrC,QAAsC,EAAA;AAEtC,IAAA,OAAO,aAAa,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7C"}
@@ -1,155 +0,0 @@
1
- import type { CommunicatorRegistryEvent, CommunicatorRegistryListener } from "../types";
2
- import { Communicator, type CommunicatorOptions } from "./communicator";
3
- /**
4
- * Error thrown when a communicator is not found
5
- */
6
- export declare class MissingCommunicatorError extends Error {
7
- readonly communicatorName?: string;
8
- constructor(message: string, communicatorName?: string);
9
- }
10
- /**
11
- * Communicator Registry
12
- *
13
- * Maintains registry of named communicators.
14
- * Similar to DataSourceRegistry in @warlock.js/cascade
15
- *
16
- * @example
17
- * ```typescript
18
- * // Register a communicator
19
- * communicatorRegistry.register({
20
- * name: "default",
21
- * driver: rabbitMQDriver,
22
- * isDefault: true,
23
- * });
24
- *
25
- * // Get the default communicator
26
- * const comm = communicatorRegistry.get();
27
- *
28
- * // Get a specific communicator by name
29
- * const analytics = communicatorRegistry.get("analytics");
30
- *
31
- * // Listen for events
32
- * communicatorRegistry.on("connected", (comm) => {
33
- * console.log(`${comm.name} connected`);
34
- * });
35
- * ```
36
- */
37
- declare class CommunicatorRegistry {
38
- private readonly sources;
39
- private defaultSource?;
40
- private readonly events;
41
- /**
42
- * Register a new communicator
43
- *
44
- * Sets up event forwarding from the driver to the registry.
45
- *
46
- * @param options - Communicator configuration
47
- * @returns The registered communicator instance
48
- *
49
- * @example
50
- * ```typescript
51
- * const communicator = communicatorRegistry.register({
52
- * name: "primary",
53
- * driver: myDriver,
54
- * isDefault: true,
55
- * });
56
- * ```
57
- */
58
- register(options: CommunicatorOptions): Communicator;
59
- /**
60
- * Clear all registered communicators
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
- * communicatorRegistry.on("registered", (comm) => {
72
- * console.log(`Communicator "${comm.name}" registered`);
73
- * });
74
- *
75
- * communicatorRegistry.on("connected", (comm) => {
76
- * console.log(`Communicator "${comm.name}" connected`);
77
- * });
78
- * ```
79
- */
80
- on(event: CommunicatorRegistryEvent, listener: CommunicatorRegistryListener): 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: CommunicatorRegistryEvent, listener: CommunicatorRegistryListener): 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: CommunicatorRegistryEvent, listener: CommunicatorRegistryListener): void;
95
- /**
96
- * Get a communicator by name or the default one
97
- *
98
- * @param name - Optional communicator name
99
- * @returns Communicator instance
100
- * @throws MissingCommunicatorError if not found
101
- *
102
- * @example
103
- * ```typescript
104
- * // Get default communicator
105
- * const comm = communicatorRegistry.get();
106
- *
107
- * // Get specific communicator
108
- * const analytics = communicatorRegistry.get("analytics");
109
- * ```
110
- */
111
- get(name?: string): Communicator;
112
- /**
113
- * Check if a communicator exists
114
- *
115
- * @param name - Communicator name to check
116
- * @returns True if exists
117
- */
118
- has(name: string): boolean;
119
- /**
120
- * Check if any communicators are registered
121
- */
122
- hasAny(): boolean;
123
- /**
124
- * Get all registered communicators
125
- *
126
- * @returns Array of all communicators
127
- *
128
- * @example
129
- * ```typescript
130
- * // Disconnect all communicators
131
- * for (const comm of communicatorRegistry.getAll()) {
132
- * await comm.disconnect();
133
- * }
134
- * ```
135
- */
136
- getAll(): Communicator[];
137
- /**
138
- * Get all communicator names
139
- *
140
- * @returns Array of communicator names
141
- */
142
- getNames(): string[];
143
- /**
144
- * Get the default communicator (if any)
145
- *
146
- * @returns Default communicator or undefined
147
- */
148
- getDefault(): Communicator | undefined;
149
- }
150
- /**
151
- * Global communicator registry instance
152
- */
153
- export declare const communicatorRegistry: CommunicatorRegistry;
154
- export {};
155
- //# sourceMappingURL=communicator-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"communicator-registry.d.ts","sourceRoot":"","sources":["../../src/communicators/communicator-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,SAAgB,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM;CAK9D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C;;;;;;;;;;;;;;;;OAgBG;IACI,QAAQ,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY;IA6B3D;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;;;;;;;;;;;;OAgBG;IACI,EAAE,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAIzF;;;;;OAKG;IACI,IAAI,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAI3F;;;;;OAKG;IACI,GAAG,CAAC,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAI1F;;;;;;;;;;;;;;;OAeG;IACI,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAgBvC;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;OAEG;IACI,MAAM,IAAI,OAAO;IAIxB;;;;;;;;;;;;OAYG;IACI,MAAM,IAAI,YAAY,EAAE;IAI/B;;;;OAIG;IACI,QAAQ,IAAI,MAAM,EAAE;IAI3B;;;;OAIG;IACI,UAAU,IAAI,YAAY,GAAG,SAAS;CAG9C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}