@amqp-contract/contract 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -227,7 +227,7 @@ function isQueueWithTtlBackoffInfrastructure(entry) {
227
227
  *
228
228
  * // TTL-backoff queue returns a wrapper
229
229
  * const orderQueue = defineTtlBackoffQueue('orders', {
230
- * deadLetterExchange: dlx,
230
+ * deadLetter: { exchange: dlx },
231
231
  * maxRetries: 3,
232
232
  * });
233
233
  *
@@ -349,7 +349,7 @@ function defineQueue(name, options) {
349
349
  * const dlx = defineExchange('orders-dlx', 'direct', { durable: true });
350
350
  *
351
351
  * const orderQueue = defineQuorumQueue('order-processing', {
352
- * deadLetterExchange: dlx,
352
+ * deadLetter: { exchange: dlx },
353
353
  * deliveryLimit: 3, // Retry up to 3 times
354
354
  * });
355
355
  *
@@ -364,13 +364,10 @@ function defineQueue(name, options) {
364
364
  * @see defineTtlBackoffQueue - For queues with exponential backoff retry
365
365
  */
366
366
  function defineQuorumQueue(name, options) {
367
- const { deadLetterExchange, deadLetterRoutingKey, deliveryLimit, autoDelete, arguments: args } = options;
367
+ const { deadLetter, deliveryLimit, autoDelete, arguments: args } = options;
368
368
  const queueOptions = {
369
369
  type: "quorum",
370
- deadLetter: deadLetterRoutingKey ? {
371
- exchange: deadLetterExchange,
372
- routingKey: deadLetterRoutingKey
373
- } : { exchange: deadLetterExchange },
370
+ deadLetter,
374
371
  deliveryLimit,
375
372
  retry: { mode: "quorum-native" }
376
373
  };
@@ -405,7 +402,7 @@ function defineQuorumQueue(name, options) {
405
402
  * const dlx = defineExchange('orders-dlx', 'direct', { durable: true });
406
403
  *
407
404
  * const orderQueue = defineTtlBackoffQueue('order-processing', {
408
- * deadLetterExchange: dlx,
405
+ * deadLetter: { exchange: dlx },
409
406
  * maxRetries: 5,
410
407
  * initialDelayMs: 1000, // Start with 1s delay
411
408
  * maxDelayMs: 30000, // Cap at 30s
@@ -427,11 +424,7 @@ function defineQuorumQueue(name, options) {
427
424
  * @see extractQueue - To access the underlying queue definition
428
425
  */
429
426
  function defineTtlBackoffQueue(name, options) {
430
- const { deadLetterExchange, deadLetterRoutingKey, maxRetries, initialDelayMs, maxDelayMs, backoffMultiplier, jitter, autoDelete, arguments: args } = options;
431
- const deadLetter = deadLetterRoutingKey ? {
432
- exchange: deadLetterExchange,
433
- routingKey: deadLetterRoutingKey
434
- } : { exchange: deadLetterExchange };
427
+ const { deadLetter, maxRetries, initialDelayMs, maxDelayMs, backoffMultiplier, jitter, autoDelete, arguments: args } = options;
435
428
  const retryOptions = { mode: "ttl-backoff" };
436
429
  if (maxRetries !== void 0) retryOptions.maxRetries = maxRetries;
437
430
  if (initialDelayMs !== void 0) retryOptions.initialDelayMs = initialDelayMs;
@@ -617,21 +610,41 @@ function defineEventPublisher(exchange, message, options) {
617
610
  * @internal
618
611
  */
619
612
  function defineEventConsumer(eventPublisher, queue, options) {
620
- const { exchange, message, routingKey: publisherRoutingKey } = eventPublisher;
613
+ const { exchange: sourceExchange, message, routingKey: publisherRoutingKey } = eventPublisher;
621
614
  const bindingRoutingKey = options?.routingKey ?? publisherRoutingKey;
622
615
  const bindingOptions = {};
623
616
  if (bindingRoutingKey !== void 0) bindingOptions.routingKey = bindingRoutingKey;
624
617
  const bindingArguments = options?.arguments ?? eventPublisher.arguments;
625
618
  if (bindingArguments !== void 0) bindingOptions.arguments = bindingArguments;
626
- const binding = defineQueueBindingInternal(queue, exchange, bindingOptions);
619
+ const bridgeExchange = options?.bridgeExchange;
620
+ if (bridgeExchange) {
621
+ const binding = defineQueueBindingInternal(queue, bridgeExchange, bindingOptions);
622
+ const consumer = defineConsumer(queue, message);
623
+ const exchangeBindingOptions = {};
624
+ if (bindingRoutingKey !== void 0) exchangeBindingOptions.routingKey = bindingRoutingKey;
625
+ const e2eBinding = sourceExchange.type === "fanout" ? defineExchangeBinding(bridgeExchange, sourceExchange) : defineExchangeBinding(bridgeExchange, sourceExchange, exchangeBindingOptions);
626
+ return {
627
+ __brand: "EventConsumerResult",
628
+ consumer,
629
+ binding,
630
+ exchange: sourceExchange,
631
+ queue: consumer.queue,
632
+ deadLetterExchange: consumer.queue.deadLetter?.exchange,
633
+ exchangeBinding: e2eBinding,
634
+ bridgeExchange
635
+ };
636
+ }
637
+ const binding = defineQueueBindingInternal(queue, sourceExchange, bindingOptions);
627
638
  const consumer = defineConsumer(queue, message);
628
639
  return {
629
640
  __brand: "EventConsumerResult",
630
641
  consumer,
631
642
  binding,
632
- exchange,
643
+ exchange: sourceExchange,
633
644
  queue: consumer.queue,
634
- deadLetterExchange: consumer.queue.deadLetter?.exchange
645
+ deadLetterExchange: consumer.queue.deadLetter?.exchange,
646
+ exchangeBinding: void 0,
647
+ bridgeExchange: void 0
635
648
  };
636
649
  }
637
650
  /**
@@ -677,11 +690,26 @@ function defineCommandConsumer(queue, exchange, message, options) {
677
690
  * @internal
678
691
  */
679
692
  function defineCommandPublisher(commandConsumer, options) {
680
- const { exchange, message, routingKey: consumerRoutingKey } = commandConsumer;
693
+ const { exchange: targetExchange, message, routingKey: consumerRoutingKey } = commandConsumer;
681
694
  const publisherRoutingKey = options?.routingKey ?? consumerRoutingKey;
695
+ const bridgeExchange = options?.bridgeExchange;
696
+ if (bridgeExchange) {
697
+ const publisherOptions = {};
698
+ if (publisherRoutingKey !== void 0) publisherOptions.routingKey = publisherRoutingKey;
699
+ const publisher = definePublisherInternal(bridgeExchange, message, publisherOptions);
700
+ const e2eBindingOptions = {};
701
+ if (publisherRoutingKey !== void 0) e2eBindingOptions.routingKey = publisherRoutingKey;
702
+ return {
703
+ __brand: "BridgedPublisherConfig",
704
+ publisher,
705
+ exchangeBinding: bridgeExchange.type === "fanout" ? defineExchangeBinding(targetExchange, bridgeExchange) : defineExchangeBinding(targetExchange, bridgeExchange, e2eBindingOptions),
706
+ bridgeExchange,
707
+ targetExchange
708
+ };
709
+ }
682
710
  const publisherOptions = {};
683
711
  if (publisherRoutingKey !== void 0) publisherOptions.routingKey = publisherRoutingKey;
684
- return definePublisherInternal(exchange, message, publisherOptions);
712
+ return definePublisherInternal(targetExchange, message, publisherOptions);
685
713
  }
686
714
  /**
687
715
  * Type guard to check if a value is a CommandConsumerConfig.
@@ -692,6 +720,15 @@ function defineCommandPublisher(commandConsumer, options) {
692
720
  function isCommandConsumerConfig(value) {
693
721
  return typeof value === "object" && value !== null && "__brand" in value && value.__brand === "CommandConsumerConfig";
694
722
  }
723
+ /**
724
+ * Type guard to check if a value is a BridgedPublisherConfig.
725
+ *
726
+ * @param value - The value to check
727
+ * @returns True if the value is a BridgedPublisherConfig
728
+ */
729
+ function isBridgedPublisherConfig(value) {
730
+ return typeof value === "object" && value !== null && "__brand" in value && value.__brand === "BridgedPublisherConfig";
731
+ }
695
732
 
696
733
  //#endregion
697
734
  //#region src/builder/contract.ts
@@ -773,7 +810,13 @@ function defineContract(definition) {
773
810
  if (inputPublishers && Object.keys(inputPublishers).length > 0) {
774
811
  const processedPublishers = {};
775
812
  const exchanges = {};
776
- for (const [name, entry] of Object.entries(inputPublishers)) if (isEventPublisherConfig(entry)) {
813
+ const publisherBindings = {};
814
+ for (const [name, entry] of Object.entries(inputPublishers)) if (isBridgedPublisherConfig(entry)) {
815
+ exchanges[entry.bridgeExchange.name] = entry.bridgeExchange;
816
+ exchanges[entry.targetExchange.name] = entry.targetExchange;
817
+ publisherBindings[`${name}ExchangeBinding`] = entry.exchangeBinding;
818
+ processedPublishers[name] = entry.publisher;
819
+ } else if (isEventPublisherConfig(entry)) {
777
820
  exchanges[entry.exchange.name] = entry.exchange;
778
821
  const publisherOptions = {};
779
822
  if (entry.routingKey !== void 0) publisherOptions.routingKey = entry.routingKey;
@@ -788,6 +831,10 @@ function defineContract(definition) {
788
831
  ...result.exchanges,
789
832
  ...exchanges
790
833
  };
834
+ result.bindings = {
835
+ ...result.bindings,
836
+ ...publisherBindings
837
+ };
791
838
  }
792
839
  if (inputConsumers && Object.keys(inputConsumers).length > 0) {
793
840
  const processedConsumers = {};
@@ -801,6 +848,9 @@ function defineContract(definition) {
801
848
  queues[queueEntry.name] = queueEntry;
802
849
  exchanges[entry.binding.exchange.name] = entry.binding.exchange;
803
850
  if (queueEntry.deadLetter?.exchange) exchanges[queueEntry.deadLetter.exchange.name] = queueEntry.deadLetter.exchange;
851
+ if (entry.exchangeBinding) consumerBindings[`${name}ExchangeBinding`] = entry.exchangeBinding;
852
+ if (entry.bridgeExchange) exchanges[entry.bridgeExchange.name] = entry.bridgeExchange;
853
+ if (entry.exchange) exchanges[entry.exchange.name] = entry.exchange;
804
854
  } else if (isCommandConsumerConfig(entry)) {
805
855
  processedConsumers[name] = entry.consumer;
806
856
  consumerBindings[`${name}Binding`] = entry.binding;
@@ -932,6 +982,7 @@ exports.defineTtlBackoffQueue = defineTtlBackoffQueue;
932
982
  exports.defineTtlBackoffRetryInfrastructure = defineTtlBackoffRetryInfrastructure;
933
983
  exports.extractConsumer = extractConsumer;
934
984
  exports.extractQueue = extractQueue;
985
+ exports.isBridgedPublisherConfig = isBridgedPublisherConfig;
935
986
  exports.isCommandConsumerConfig = isCommandConsumerConfig;
936
987
  exports.isEventConsumerResult = isEventConsumerResult;
937
988
  exports.isEventPublisherConfig = isEventPublisherConfig;
package/dist/index.d.cts CHANGED
@@ -836,6 +836,23 @@ type EventConsumerResultBase = {
836
836
  exchange: ExchangeDefinition;
837
837
  queue: QueueDefinition;
838
838
  deadLetterExchange: ExchangeDefinition | undefined;
839
+ exchangeBinding: ExchangeBindingDefinition | undefined;
840
+ bridgeExchange: ExchangeDefinition | undefined;
841
+ };
842
+ /**
843
+ * Base type for bridged publisher configuration.
844
+ *
845
+ * A bridged publisher publishes to a bridge exchange, which forwards messages
846
+ * to the target exchange via an exchange-to-exchange binding.
847
+ *
848
+ * @see defineCommandPublisher with bridgeExchange option
849
+ */
850
+ type BridgedPublisherConfigBase = {
851
+ __brand: "BridgedPublisherConfig";
852
+ publisher: PublisherDefinition;
853
+ exchangeBinding: ExchangeBindingDefinition;
854
+ bridgeExchange: ExchangeDefinition;
855
+ targetExchange: ExchangeDefinition;
839
856
  };
840
857
  /**
841
858
  * Complete AMQP contract definition (output type).
@@ -909,7 +926,7 @@ type ContractDefinition = {
909
926
  * - A plain PublisherDefinition from definePublisher
910
927
  * - An EventPublisherConfig from defineEventPublisher (auto-extracted to publisher)
911
928
  */
912
- type PublisherEntry = PublisherDefinition | EventPublisherConfigBase;
929
+ type PublisherEntry = PublisherDefinition | EventPublisherConfigBase | BridgedPublisherConfigBase;
913
930
  /**
914
931
  * Consumer entry that can be passed to defineContract's consumers section.
915
932
  *
@@ -966,7 +983,7 @@ type ContractDefinitionInput = {
966
983
  * Extract the exchange from a publisher entry.
967
984
  * @internal
968
985
  */
969
- type ExtractPublisherExchange<T extends PublisherEntry> = T extends EventPublisherConfigBase ? T["exchange"] : T extends PublisherDefinition ? T["exchange"] : never;
986
+ type ExtractPublisherExchange<T extends PublisherEntry> = T extends BridgedPublisherConfigBase ? T["bridgeExchange"] : T extends EventPublisherConfigBase ? T["exchange"] : T extends PublisherDefinition ? T["exchange"] : never;
970
987
  /**
971
988
  * Extract the QueueDefinition from a QueueEntry type.
972
989
  * For QueueWithTtlBackoffInfrastructure, returns the inner queue definition.
@@ -1057,7 +1074,7 @@ type ExtractConsumerDefinitions<TConsumers extends Record<string, ConsumerEntry>
1057
1074
  * Extract the publisher definition from a publisher entry.
1058
1075
  * @internal
1059
1076
  */
1060
- type ExtractPublisherDefinition<T extends PublisherEntry> = T extends EventPublisherConfigBase ? PublisherDefinition<T["message"]> & (T["exchange"] extends FanoutExchangeDefinition ? {
1077
+ type ExtractPublisherDefinition<T extends PublisherEntry> = T extends BridgedPublisherConfigBase ? T["publisher"] : T extends EventPublisherConfigBase ? PublisherDefinition<T["message"]> & (T["exchange"] extends FanoutExchangeDefinition ? {
1061
1078
  exchange: T["exchange"];
1062
1079
  routingKey?: never;
1063
1080
  } : {
@@ -1069,6 +1086,56 @@ type ExtractPublisherDefinition<T extends PublisherEntry> = T extends EventPubli
1069
1086
  * @internal
1070
1087
  */
1071
1088
  type ExtractPublisherDefinitions<TPublishers extends Record<string, PublisherEntry>> = { [K in keyof TPublishers]: ExtractPublisherDefinition<TPublishers[K]> };
1089
+ /**
1090
+ * Extract the bridge exchange from a consumer entry (when bridgeExchange is set).
1091
+ * @internal
1092
+ */
1093
+ type ExtractBridgeExchangeFromConsumer<T extends ConsumerEntry> = T extends EventConsumerResultBase ? T["bridgeExchange"] extends ExchangeDefinition ? T["bridgeExchange"] : never : never;
1094
+ /**
1095
+ * Extract bridge exchanges from all consumers in a contract.
1096
+ * @internal
1097
+ */
1098
+ type ExtractBridgeExchangesFromConsumers<TConsumers extends Record<string, ConsumerEntry>> = { [K in keyof TConsumers as ExtractBridgeExchangeFromConsumer<TConsumers[K]> extends never ? never : ExtractBridgeExchangeFromConsumer<TConsumers[K]>["name"]]: ExtractBridgeExchangeFromConsumer<TConsumers[K]> };
1099
+ /**
1100
+ * Extract the target exchange from a bridged publisher entry.
1101
+ * @internal
1102
+ */
1103
+ type ExtractTargetExchangeFromPublisher<T extends PublisherEntry> = T extends BridgedPublisherConfigBase ? T["targetExchange"] : never;
1104
+ /**
1105
+ * Extract target exchanges from all publishers in a contract.
1106
+ * @internal
1107
+ */
1108
+ type ExtractTargetExchangesFromPublishers<TPublishers extends Record<string, PublisherEntry>> = { [K in keyof TPublishers as ExtractTargetExchangeFromPublisher<TPublishers[K]> extends never ? never : ExtractTargetExchangeFromPublisher<TPublishers[K]>["name"]]: ExtractTargetExchangeFromPublisher<TPublishers[K]> };
1109
+ /**
1110
+ * Check if a consumer entry has an exchange binding (e2e).
1111
+ * @internal
1112
+ */
1113
+ type HasConsumerExchangeBinding<T extends ConsumerEntry> = T extends EventConsumerResultBase ? T["exchangeBinding"] extends ExchangeBindingDefinition ? true : false : false;
1114
+ /**
1115
+ * Extract the exchange binding from a consumer entry.
1116
+ * @internal
1117
+ */
1118
+ type ExtractConsumerExchangeBinding<T extends ConsumerEntry> = T extends EventConsumerResultBase ? T["exchangeBinding"] extends ExchangeBindingDefinition ? T["exchangeBinding"] : never : never;
1119
+ /**
1120
+ * Extract exchange bindings from all consumers in a contract.
1121
+ * @internal
1122
+ */
1123
+ type ExtractExchangeBindingsFromConsumers<TConsumers extends Record<string, ConsumerEntry>> = { [K in keyof TConsumers as HasConsumerExchangeBinding<TConsumers[K]> extends true ? `${K & string}ExchangeBinding` : never]: ExtractConsumerExchangeBinding<TConsumers[K]> };
1124
+ /**
1125
+ * Check if a publisher entry has an exchange binding (bridged).
1126
+ * @internal
1127
+ */
1128
+ type HasPublisherExchangeBinding<T extends PublisherEntry> = T extends BridgedPublisherConfigBase ? true : false;
1129
+ /**
1130
+ * Extract the exchange binding from a bridged publisher entry.
1131
+ * @internal
1132
+ */
1133
+ type ExtractPublisherExchangeBinding<T extends PublisherEntry> = T extends BridgedPublisherConfigBase ? T["exchangeBinding"] : never;
1134
+ /**
1135
+ * Extract exchange bindings from all publishers in a contract.
1136
+ * @internal
1137
+ */
1138
+ type ExtractExchangeBindingsFromPublishers<TPublishers extends Record<string, PublisherEntry>> = { [K in keyof TPublishers as HasPublisherExchangeBinding<TPublishers[K]> extends true ? `${K & string}ExchangeBinding` : never]: ExtractPublisherExchangeBinding<TPublishers[K]> };
1072
1139
  /**
1073
1140
  * Contract output type with all resources extracted and properly typed.
1074
1141
  *
@@ -1080,9 +1147,9 @@ type ExtractPublisherDefinitions<TPublishers extends Record<string, PublisherEnt
1080
1147
  * - consumers: Normalized consumer definitions
1081
1148
  */
1082
1149
  type ContractOutput<TContract extends ContractDefinitionInput> = {
1083
- exchanges: (TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractExchangesFromPublishers<TContract["publishers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractExchangesFromConsumers<TContract["consumers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractDeadLetterExchangesFromConsumers<TContract["consumers"]> : {});
1150
+ exchanges: (TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractExchangesFromPublishers<TContract["publishers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractExchangesFromConsumers<TContract["consumers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractDeadLetterExchangesFromConsumers<TContract["consumers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractBridgeExchangesFromConsumers<TContract["consumers"]> : {}) & (TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractTargetExchangesFromPublishers<TContract["publishers"]> : {});
1084
1151
  queues: TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractQueuesFromConsumers<TContract["consumers"]> : {};
1085
- bindings: TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractBindingsFromConsumers<TContract["consumers"]> : {};
1152
+ bindings: (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractBindingsFromConsumers<TContract["consumers"]> : {}) & (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractExchangeBindingsFromConsumers<TContract["consumers"]> : {}) & (TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractExchangeBindingsFromPublishers<TContract["publishers"]> : {});
1086
1153
  publishers: TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractPublisherDefinitions<TContract["publishers"]> : {};
1087
1154
  consumers: TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractConsumerDefinitions<TContract["consumers"]> : {};
1088
1155
  };
@@ -1295,7 +1362,7 @@ declare function isQueueWithTtlBackoffInfrastructure(entry: QueueEntry): entry i
1295
1362
  *
1296
1363
  * // TTL-backoff queue returns a wrapper
1297
1364
  * const orderQueue = defineTtlBackoffQueue('orders', {
1298
- * deadLetterExchange: dlx,
1365
+ * deadLetter: { exchange: dlx },
1299
1366
  * maxRetries: 3,
1300
1367
  * });
1301
1368
  *
@@ -1401,11 +1468,7 @@ type DefineQuorumQueueOptions = {
1401
1468
  * Dead letter configuration - required for retry support.
1402
1469
  * Failed messages will be sent to this exchange.
1403
1470
  */
1404
- deadLetterExchange: ExchangeDefinition;
1405
- /**
1406
- * Optional routing key for dead-lettered messages.
1407
- */
1408
- deadLetterRoutingKey?: string;
1471
+ deadLetter: DeadLetterConfig;
1409
1472
  /**
1410
1473
  * Maximum number of delivery attempts before dead-lettering.
1411
1474
  * @minimum 1
@@ -1443,7 +1506,7 @@ type DefineQuorumQueueOptions = {
1443
1506
  * const dlx = defineExchange('orders-dlx', 'direct', { durable: true });
1444
1507
  *
1445
1508
  * const orderQueue = defineQuorumQueue('order-processing', {
1446
- * deadLetterExchange: dlx,
1509
+ * deadLetter: { exchange: dlx },
1447
1510
  * deliveryLimit: 3, // Retry up to 3 times
1448
1511
  * });
1449
1512
  *
@@ -1467,14 +1530,10 @@ declare function defineQuorumQueue<TName extends string>(name: TName, options: D
1467
1530
  */
1468
1531
  type DefineTtlBackoffQueueOptions = {
1469
1532
  /**
1470
- * Dead letter exchange - required for TTL-backoff retry.
1533
+ * Dead letter configuration - required for TTL-backoff retry.
1471
1534
  * Used for routing messages to the wait queue and back.
1472
1535
  */
1473
- deadLetterExchange: ExchangeDefinition;
1474
- /**
1475
- * Optional routing key for dead-lettered messages.
1476
- */
1477
- deadLetterRoutingKey?: string;
1536
+ deadLetter: DeadLetterConfig;
1478
1537
  /**
1479
1538
  * Maximum retry attempts before sending to DLQ.
1480
1539
  * @default 3
@@ -1537,7 +1596,7 @@ type DefineTtlBackoffQueueOptions = {
1537
1596
  * const dlx = defineExchange('orders-dlx', 'direct', { durable: true });
1538
1597
  *
1539
1598
  * const orderQueue = defineTtlBackoffQueue('order-processing', {
1540
- * deadLetterExchange: dlx,
1599
+ * deadLetter: { exchange: dlx },
1541
1600
  * maxRetries: 5,
1542
1601
  * initialDelayMs: 1000, // Start with 1s delay
1543
1602
  * maxDelayMs: 30000, // Cap at 30s
@@ -2056,13 +2115,15 @@ type EventPublisherConfig<TMessage extends MessageDefinition, TExchange extends
2056
2115
  *
2057
2116
  * @template TMessage - The message definition
2058
2117
  */
2059
- type EventConsumerResult<TMessage extends MessageDefinition, TExchange extends ExchangeDefinition = ExchangeDefinition, TQueue extends QueueDefinition = QueueDefinition, TDlxExchange extends ExchangeDefinition | undefined = ExchangeDefinition | undefined> = {
2118
+ type EventConsumerResult<TMessage extends MessageDefinition, TExchange extends ExchangeDefinition = ExchangeDefinition, TQueue extends QueueDefinition = QueueDefinition, TDlxExchange extends ExchangeDefinition | undefined = ExchangeDefinition | undefined, TExchangeBinding extends ExchangeBindingDefinition | undefined = ExchangeBindingDefinition | undefined, TBridgeExchange extends ExchangeDefinition | undefined = ExchangeDefinition | undefined> = {
2060
2119
  /** Discriminator to identify this as an event consumer result */__brand: "EventConsumerResult"; /** The consumer definition for processing messages */
2061
2120
  consumer: ConsumerDefinition<TMessage>; /** The binding connecting the queue to the exchange */
2062
- binding: QueueBindingDefinition; /** The exchange this consumer subscribes to */
2121
+ binding: QueueBindingDefinition; /** The source exchange this consumer subscribes to */
2063
2122
  exchange: TExchange; /** The queue this consumer reads from */
2064
2123
  queue: TQueue; /** The dead letter exchange from the queue, if configured */
2065
- deadLetterExchange: TDlxExchange;
2124
+ deadLetterExchange: TDlxExchange; /** The exchange-to-exchange binding when bridging, if configured */
2125
+ exchangeBinding: TExchangeBinding; /** The bridge (local domain) exchange when bridging, if configured */
2126
+ bridgeExchange: TBridgeExchange;
2066
2127
  };
2067
2128
  /**
2068
2129
  * Define an event publisher for broadcasting messages via fanout exchange.
@@ -2158,6 +2219,50 @@ declare function defineEventPublisher<TMessage extends MessageDefinition, TRouti
2158
2219
  routingKey: RoutingKey<TRoutingKey>;
2159
2220
  arguments?: Record<string, unknown>;
2160
2221
  }): EventPublisherConfig<TMessage, TExchange, TRoutingKey>;
2222
+ /**
2223
+ * Create a consumer that subscribes to an event from a fanout exchange via a bridge exchange.
2224
+ *
2225
+ * When `bridgeExchange` is provided, the queue binds to the bridge exchange instead of the
2226
+ * source exchange, and an exchange-to-exchange binding is created from the source to the bridge.
2227
+ *
2228
+ * @param eventPublisher - The event publisher configuration
2229
+ * @param queue - The queue that will receive messages
2230
+ * @param options - Binding configuration with required bridgeExchange
2231
+ * @param options.bridgeExchange - The fanout bridge exchange (must be fanout to match source)
2232
+ * @returns An object with the consumer definition, queue binding, and exchange binding
2233
+ */
2234
+ declare function defineEventConsumer<TMessage extends MessageDefinition, TExchange extends FanoutExchangeDefinition, TQueueEntry extends QueueEntry, TBridgeExchange extends FanoutExchangeDefinition>(eventPublisher: EventPublisherConfig<TMessage, TExchange, undefined>, queue: TQueueEntry, options: {
2235
+ bridgeExchange: TBridgeExchange;
2236
+ arguments?: Record<string, unknown>;
2237
+ }): EventConsumerResult<TMessage, TExchange, ExtractQueueFromEntry<TQueueEntry>, ExtractDlxFromEntry<TQueueEntry>, ExchangeBindingDefinition, TBridgeExchange>;
2238
+ /**
2239
+ * Create a consumer that subscribes to an event from a direct exchange via a bridge exchange.
2240
+ *
2241
+ * @param eventPublisher - The event publisher configuration
2242
+ * @param queue - The queue that will receive messages
2243
+ * @param options - Binding configuration with required bridgeExchange
2244
+ * @param options.bridgeExchange - The bridge exchange (must be direct or topic to preserve routing keys)
2245
+ * @returns An object with the consumer definition, queue binding, and exchange binding
2246
+ */
2247
+ declare function defineEventConsumer<TMessage extends MessageDefinition, TRoutingKey extends string, TExchange extends DirectExchangeDefinition, TQueueEntry extends QueueEntry, TBridgeExchange extends DirectExchangeDefinition | TopicExchangeDefinition>(eventPublisher: EventPublisherConfig<TMessage, TExchange, TRoutingKey>, queue: TQueueEntry, options: {
2248
+ bridgeExchange: TBridgeExchange;
2249
+ arguments?: Record<string, unknown>;
2250
+ }): EventConsumerResult<TMessage, TExchange, ExtractQueueFromEntry<TQueueEntry>, ExtractDlxFromEntry<TQueueEntry>, ExchangeBindingDefinition, TBridgeExchange>;
2251
+ /**
2252
+ * Create a consumer that subscribes to an event from a topic exchange via a bridge exchange.
2253
+ *
2254
+ * @param eventPublisher - The event publisher configuration
2255
+ * @param queue - The queue that will receive messages
2256
+ * @param options - Binding configuration with required bridgeExchange
2257
+ * @param options.bridgeExchange - The bridge exchange (must be direct or topic to preserve routing keys)
2258
+ * @param options.routingKey - Override routing key with pattern (defaults to publisher's key)
2259
+ * @returns An object with the consumer definition, queue binding, and exchange binding
2260
+ */
2261
+ declare function defineEventConsumer<TMessage extends MessageDefinition, TRoutingKey extends string, TExchange extends TopicExchangeDefinition, TQueueEntry extends QueueEntry, TBridgeExchange extends DirectExchangeDefinition | TopicExchangeDefinition, TConsumerRoutingKey extends string = TRoutingKey>(eventPublisher: EventPublisherConfig<TMessage, TExchange, TRoutingKey>, queue: TQueueEntry, options: {
2262
+ bridgeExchange: TBridgeExchange;
2263
+ routingKey?: BindingPattern<TConsumerRoutingKey>;
2264
+ arguments?: Record<string, unknown>;
2265
+ }): EventConsumerResult<TMessage, TExchange, ExtractQueueFromEntry<TQueueEntry>, ExtractDlxFromEntry<TQueueEntry>, ExchangeBindingDefinition, TBridgeExchange>;
2161
2266
  /**
2162
2267
  * Create a consumer that subscribes to an event from a fanout exchange.
2163
2268
  *
@@ -2253,6 +2358,23 @@ type CommandConsumerConfig<TMessage extends MessageDefinition, TExchange extends
2253
2358
  message: TMessage; /** The routing key pattern for the binding */
2254
2359
  routingKey: TRoutingKey;
2255
2360
  };
2361
+ /**
2362
+ * Configuration for a bridged command publisher.
2363
+ *
2364
+ * A bridged publisher publishes to a bridge exchange (local domain), which forwards
2365
+ * messages to the target exchange (remote domain) via an exchange-to-exchange binding.
2366
+ *
2367
+ * @template TMessage - The message definition
2368
+ * @template TBridgeExchange - The bridge (local domain) exchange definition
2369
+ * @template TTargetExchange - The target (remote domain) exchange definition
2370
+ */
2371
+ type BridgedPublisherConfig<TMessage extends MessageDefinition, TBridgeExchange extends ExchangeDefinition, TTargetExchange extends ExchangeDefinition> = {
2372
+ /** Discriminator to identify this as a bridged publisher config */__brand: "BridgedPublisherConfig"; /** The publisher definition (publishes to bridge exchange) */
2373
+ publisher: PublisherDefinition<TMessage>; /** The exchange-to-exchange binding (bridge → target) */
2374
+ exchangeBinding: ExchangeBindingDefinition; /** The bridge (local domain) exchange */
2375
+ bridgeExchange: TBridgeExchange; /** The target (remote domain) exchange */
2376
+ targetExchange: TTargetExchange;
2377
+ };
2256
2378
  /**
2257
2379
  * Define a command consumer for receiving commands via fanout exchange.
2258
2380
  *
@@ -2344,6 +2466,41 @@ declare function defineCommandConsumer<TMessage extends MessageDefinition, TRout
2344
2466
  routingKey: BindingPattern<TRoutingKey>;
2345
2467
  arguments?: Record<string, unknown>;
2346
2468
  }): CommandConsumerConfig<TMessage, TExchange, TRoutingKey, ExtractQueueFromEntry<TQueueEntry>, ExtractDlxFromEntry<TQueueEntry>>;
2469
+ /**
2470
+ * Create a bridged publisher that sends commands to a fanout exchange consumer via a bridge exchange.
2471
+ *
2472
+ * @param commandConsumer - The command consumer configuration
2473
+ * @param options - Configuration with required bridgeExchange
2474
+ * @param options.bridgeExchange - The local domain exchange to bridge through
2475
+ * @returns A bridged publisher configuration
2476
+ */
2477
+ declare function defineCommandPublisher<TMessage extends MessageDefinition, TExchange extends FanoutExchangeDefinition, TBridgeExchange extends FanoutExchangeDefinition>(commandConsumer: CommandConsumerConfig<TMessage, TExchange, undefined>, options: {
2478
+ bridgeExchange: TBridgeExchange;
2479
+ }): BridgedPublisherConfig<TMessage, TBridgeExchange, TExchange>;
2480
+ /**
2481
+ * Create a bridged publisher that sends commands to a direct exchange consumer via a bridge exchange.
2482
+ *
2483
+ * @param commandConsumer - The command consumer configuration
2484
+ * @param options - Configuration with required bridgeExchange
2485
+ * @param options.bridgeExchange - The bridge exchange (must be direct or topic to preserve routing keys)
2486
+ * @returns A bridged publisher configuration
2487
+ */
2488
+ declare function defineCommandPublisher<TMessage extends MessageDefinition, TRoutingKey extends string, TExchange extends DirectExchangeDefinition, TBridgeExchange extends DirectExchangeDefinition | TopicExchangeDefinition>(commandConsumer: CommandConsumerConfig<TMessage, TExchange, TRoutingKey>, options: {
2489
+ bridgeExchange: TBridgeExchange;
2490
+ }): BridgedPublisherConfig<TMessage, TBridgeExchange, TExchange>;
2491
+ /**
2492
+ * Create a bridged publisher that sends commands to a topic exchange consumer via a bridge exchange.
2493
+ *
2494
+ * @param commandConsumer - The command consumer configuration
2495
+ * @param options - Configuration with required bridgeExchange and optional routingKey override
2496
+ * @param options.bridgeExchange - The bridge exchange (must be direct or topic to preserve routing keys)
2497
+ * @param options.routingKey - Override routing key (must match consumer's pattern)
2498
+ * @returns A bridged publisher configuration
2499
+ */
2500
+ declare function defineCommandPublisher<TMessage extends MessageDefinition, TRoutingKey extends string, TExchange extends TopicExchangeDefinition, TBridgeExchange extends DirectExchangeDefinition | TopicExchangeDefinition, TPublisherRoutingKey extends string = TRoutingKey>(commandConsumer: CommandConsumerConfig<TMessage, TExchange, TRoutingKey>, options: {
2501
+ bridgeExchange: TBridgeExchange;
2502
+ routingKey?: RoutingKey<TPublisherRoutingKey>;
2503
+ }): BridgedPublisherConfig<TMessage, TBridgeExchange, TExchange>;
2347
2504
  /**
2348
2505
  * Create a publisher that sends commands to a fanout exchange consumer.
2349
2506
  *
@@ -2409,6 +2566,13 @@ declare function defineCommandPublisher<TMessage extends MessageDefinition, TRou
2409
2566
  * @returns True if the value is a CommandConsumerConfig
2410
2567
  */
2411
2568
  declare function isCommandConsumerConfig(value: unknown): value is CommandConsumerConfig<MessageDefinition, ExchangeDefinition, string | undefined>;
2569
+ /**
2570
+ * Type guard to check if a value is a BridgedPublisherConfig.
2571
+ *
2572
+ * @param value - The value to check
2573
+ * @returns True if the value is a BridgedPublisherConfig
2574
+ */
2575
+ declare function isBridgedPublisherConfig(value: unknown): value is BridgedPublisherConfig<MessageDefinition, ExchangeDefinition, ExchangeDefinition>;
2412
2576
  //#endregion
2413
2577
  //#region src/builder/ttl-backoff.d.ts
2414
2578
  /**
@@ -2477,5 +2641,5 @@ declare function defineTtlBackoffRetryInfrastructure(queueEntry: QueueEntry, opt
2477
2641
  waitQueueDurable?: boolean;
2478
2642
  }): TtlBackoffRetryInfrastructure;
2479
2643
  //#endregion
2480
- export { type AnySchema, type BaseExchangeDefinition, type BindingDefinition, type BindingPattern, type ClassicQueueDefinition, type ClassicQueueOptions, type CommandConsumerConfig, type CommandConsumerConfigBase, type CompressionAlgorithm, type ConsumerDefinition, type ConsumerEntry, type ContractDefinition, type ContractDefinitionInput, type ContractOutput, type DeadLetterConfig, type DefineQueueOptions, type DefineQuorumQueueOptions, type DefineTtlBackoffQueueOptions, type DirectExchangeDefinition, type EventConsumerResult, type EventConsumerResultBase, type EventPublisherConfig, type EventPublisherConfigBase, type ExchangeBindingDefinition, type ExchangeDefinition, type FanoutExchangeDefinition, type InferConsumerNames, type InferPublisherNames, type MatchingRoutingKey, type MessageDefinition, type PublisherDefinition, type PublisherEntry, type QueueBindingDefinition, type QueueDefinition, type QueueEntry, type QueueType, type QueueWithTtlBackoffInfrastructure, type QuorumNativeRetryOptions, type QuorumQueueDefinition, type QuorumQueueOptions, type ResolvedRetryOptions, type ResolvedTtlBackoffRetryOptions, type RoutingKey, type TopicExchangeDefinition, type TtlBackoffRetryInfrastructure, type TtlBackoffRetryOptions, defineCommandConsumer, defineCommandPublisher, defineConsumer, defineContract, defineEventConsumer, defineEventPublisher, defineExchange, defineExchangeBinding, defineMessage, definePublisher, defineQueue, defineQueueBinding, defineQuorumQueue, defineTtlBackoffQueue, defineTtlBackoffRetryInfrastructure, extractConsumer, extractQueue, isCommandConsumerConfig, isEventConsumerResult, isEventPublisherConfig, isQueueWithTtlBackoffInfrastructure };
2644
+ export { type AnySchema, type BaseExchangeDefinition, type BindingDefinition, type BindingPattern, type BridgedPublisherConfig, type BridgedPublisherConfigBase, type ClassicQueueDefinition, type ClassicQueueOptions, type CommandConsumerConfig, type CommandConsumerConfigBase, type CompressionAlgorithm, type ConsumerDefinition, type ConsumerEntry, type ContractDefinition, type ContractDefinitionInput, type ContractOutput, type DeadLetterConfig, type DefineQueueOptions, type DefineQuorumQueueOptions, type DefineTtlBackoffQueueOptions, type DirectExchangeDefinition, type EventConsumerResult, type EventConsumerResultBase, type EventPublisherConfig, type EventPublisherConfigBase, type ExchangeBindingDefinition, type ExchangeDefinition, type FanoutExchangeDefinition, type InferConsumerNames, type InferPublisherNames, type MatchingRoutingKey, type MessageDefinition, type PublisherDefinition, type PublisherEntry, type QueueBindingDefinition, type QueueDefinition, type QueueEntry, type QueueType, type QueueWithTtlBackoffInfrastructure, type QuorumNativeRetryOptions, type QuorumQueueDefinition, type QuorumQueueOptions, type ResolvedRetryOptions, type ResolvedTtlBackoffRetryOptions, type RoutingKey, type TopicExchangeDefinition, type TtlBackoffRetryInfrastructure, type TtlBackoffRetryOptions, defineCommandConsumer, defineCommandPublisher, defineConsumer, defineContract, defineEventConsumer, defineEventPublisher, defineExchange, defineExchangeBinding, defineMessage, definePublisher, defineQueue, defineQueueBinding, defineQuorumQueue, defineTtlBackoffQueue, defineTtlBackoffRetryInfrastructure, extractConsumer, extractQueue, isBridgedPublisherConfig, isCommandConsumerConfig, isEventConsumerResult, isEventPublisherConfig, isQueueWithTtlBackoffInfrastructure };
2481
2645
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/builder/exchange.ts","../src/builder/message.ts","../src/builder/queue.ts","../src/builder/binding.ts","../src/builder/publisher.ts","../src/builder/consumer.ts","../src/builder/contract.ts","../src/builder/routing-types.ts","../src/builder/event.ts","../src/builder/command.ts","../src/builder/ttl-backoff.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/builder/exchange.ts","../src/builder/message.ts","../src/builder/queue.ts","../src/builder/binding.ts","../src/builder/publisher.ts","../src/builder/consumer.ts","../src/builder/contract.ts","../src/builder/routing-types.ts","../src/builder/event.ts","../src/builder/command.ts","../src/builder/ttl-backoff.ts"],"mappings":"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"}