@amqp-contract/contract 0.21.0 → 0.23.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/README.md CHANGED
@@ -26,6 +26,7 @@ For robust contract definitions with guaranteed consistency, use Event or Comman
26
26
  | ----------- | ------------------------------------------ | -------------------------------------------------- |
27
27
  | **Event** | One publisher, many consumers (broadcast) | `defineEventPublisher` → `defineEventConsumer` |
28
28
  | **Command** | Many publishers, one consumer (task queue) | `defineCommandConsumer` → `defineCommandPublisher` |
29
+ | **RPC** | Request / response with typed reply | `defineRpc` (single bidirectional definition) |
29
30
 
30
31
  ```typescript
31
32
  import {
@@ -75,12 +76,41 @@ const contract = defineContract({
75
76
  });
76
77
  ```
77
78
 
79
+ ### RPC Pattern
80
+
81
+ Use `defineRpc` for typed request/response calls. RPC is bidirectional on both
82
+ ends — the worker handler consumes the request and produces a typed response;
83
+ the client awaits it via `client.call(name, request, { timeoutMs })`. Both
84
+ ends share the same definition, and RPCs live in their own `rpcs` slot of the
85
+ contract (not `publishers` or `consumers`). RabbitMQ direct reply-to is used
86
+ under the hood, so no reply queue declaration is needed.
87
+
88
+ ```typescript
89
+ import { defineContract, defineMessage, defineQueue, defineRpc } from "@amqp-contract/contract";
90
+ import { z } from "zod";
91
+
92
+ const calculate = defineRpc(defineQueue("rpc.calculate"), {
93
+ request: defineMessage(z.object({ a: z.number(), b: z.number() })),
94
+ response: defineMessage(z.object({ sum: z.number() })),
95
+ });
96
+
97
+ const contract = defineContract({
98
+ rpcs: { calculate },
99
+ });
100
+
101
+ // Server handler returns the response value, not void:
102
+ // handlers: { calculate: ({ payload }) => Future.value(Result.Ok({ sum: payload.a + payload.b })) }
103
+ //
104
+ // Client invokes with a required timeout:
105
+ // const result = await client.call("calculate", { a: 1, b: 2 }, { timeoutMs: 5_000 }).toPromise();
106
+ ```
107
+
78
108
  **Benefits:**
79
109
 
80
110
  - ✅ Guaranteed message schema consistency between publishers and consumers
81
111
  - ✅ Routing key validation and type safety
82
112
  - ✅ Full type safety with TypeScript inference
83
- - ✅ Event-oriented and command-oriented patterns
113
+ - ✅ Event, command, and RPC patterns
84
114
  - ✅ Flexible routing key patterns for topic exchanges
85
115
 
86
116
  ## Documentation
package/dist/index.cjs CHANGED
@@ -662,6 +662,39 @@ function isEventConsumerResult(value) {
662
662
  //#endregion
663
663
  //#region src/builder/contract.ts
664
664
  /**
665
+ * Structural equality for resource definitions. We compare on a JSON projection
666
+ * after stripping non-comparable fields (Standard Schema instances, branded
667
+ * symbols) so that, e.g., two `defineExchange("orders")` calls in different
668
+ * files are treated as the same exchange.
669
+ */
670
+ function resourcesEqual(a, b) {
671
+ if (a === b) return true;
672
+ try {
673
+ return JSON.stringify(a, replacer) === JSON.stringify(b, replacer);
674
+ } catch {
675
+ return false;
676
+ }
677
+ }
678
+ function replacer(_key, value) {
679
+ if (typeof value === "function") return "[function]";
680
+ if (value && typeof value === "object" && "~standard" in value) return "[standard-schema]";
681
+ return value;
682
+ }
683
+ /**
684
+ * Add an entry to a name-keyed map, throwing if the name is already taken by a
685
+ * structurally-different definition. Identical re-declarations are silently
686
+ * deduplicated — that's how the same exchange can flow into the contract via
687
+ * both a publisher and a consumer.
688
+ */
689
+ function addResource(bucket, name, value, kind) {
690
+ const existing = bucket[name];
691
+ if (existing === void 0) {
692
+ bucket[name] = value;
693
+ return;
694
+ }
695
+ if (!resourcesEqual(existing, value)) throw new Error(`defineContract: ${kind} "${name}" was declared with conflicting definitions. Two ${kind}s sharing a name must be the exact same definition; define the ${kind} once and reference it from every publisher/consumer that needs it.`);
696
+ }
697
+ /**
665
698
  * Define an AMQP contract.
666
699
  *
667
700
  * A contract is the central definition of your AMQP messaging topology. It brings together
@@ -727,99 +760,146 @@ function isEventConsumerResult(value) {
727
760
  * ```
728
761
  */
729
762
  function defineContract(definition) {
730
- const { publishers: inputPublishers, consumers: inputConsumers } = definition;
763
+ const { publishers: inputPublishers, consumers: inputConsumers, rpcs: inputRpcs } = definition;
764
+ if (inputConsumers && inputRpcs) {
765
+ const collisions = Object.keys(inputConsumers).filter((name) => Object.hasOwn(inputRpcs, name));
766
+ if (collisions.length > 0) throw new Error(`defineContract: name collision between consumers and rpcs — keys must be disjoint. Conflicting names: ${collisions.join(", ")}`);
767
+ }
731
768
  const result = {
732
769
  exchanges: {},
733
770
  queues: {},
734
771
  bindings: {},
735
772
  publishers: {},
736
- consumers: {}
773
+ consumers: {},
774
+ rpcs: {}
737
775
  };
776
+ const exchanges = {};
777
+ const queues = {};
778
+ const bindings = {};
738
779
  if (inputPublishers && Object.keys(inputPublishers).length > 0) {
739
780
  const processedPublishers = {};
740
- const exchanges = {};
741
- const publisherBindings = {};
742
781
  for (const [name, entry] of Object.entries(inputPublishers)) if (isBridgedPublisherConfig(entry)) {
743
- exchanges[entry.bridgeExchange.name] = entry.bridgeExchange;
744
- exchanges[entry.targetExchange.name] = entry.targetExchange;
745
- publisherBindings[`${name}ExchangeBinding`] = entry.exchangeBinding;
782
+ addResource(exchanges, entry.bridgeExchange.name, entry.bridgeExchange, "exchange");
783
+ addResource(exchanges, entry.targetExchange.name, entry.targetExchange, "exchange");
784
+ addResource(bindings, `${name}ExchangeBinding`, entry.exchangeBinding, "binding");
746
785
  processedPublishers[name] = entry.publisher;
747
786
  } else if (isEventPublisherConfig(entry)) {
748
- exchanges[entry.exchange.name] = entry.exchange;
787
+ addResource(exchanges, entry.exchange.name, entry.exchange, "exchange");
749
788
  const publisherOptions = {};
750
789
  if (entry.routingKey !== void 0) publisherOptions.routingKey = entry.routingKey;
751
790
  processedPublishers[name] = definePublisherInternal(entry.exchange, entry.message, publisherOptions);
752
791
  } else {
753
792
  const publisher = entry;
754
- exchanges[publisher.exchange.name] = publisher.exchange;
793
+ addResource(exchanges, publisher.exchange.name, publisher.exchange, "exchange");
755
794
  processedPublishers[name] = publisher;
756
795
  }
757
796
  result.publishers = processedPublishers;
758
- result.exchanges = {
759
- ...result.exchanges,
760
- ...exchanges
761
- };
762
- result.bindings = {
763
- ...result.bindings,
764
- ...publisherBindings
765
- };
766
797
  }
767
798
  if (inputConsumers && Object.keys(inputConsumers).length > 0) {
768
799
  const processedConsumers = {};
769
- const consumerBindings = {};
770
- const queues = {};
771
- const exchanges = {};
800
+ const consumerQueueEntries = [];
772
801
  for (const [name, entry] of Object.entries(inputConsumers)) if (isEventConsumerResult(entry)) {
773
802
  processedConsumers[name] = entry.consumer;
774
- consumerBindings[`${name}Binding`] = entry.binding;
803
+ addResource(bindings, `${name}Binding`, entry.binding, "binding");
775
804
  const queueEntry = entry.consumer.queue;
776
805
  const queueDef = extractQueue(queueEntry);
777
- queues[queueDef.name] = queueEntry;
778
- exchanges[entry.binding.exchange.name] = entry.binding.exchange;
779
- if (queueDef.deadLetter?.exchange) exchanges[queueDef.deadLetter.exchange.name] = queueDef.deadLetter.exchange;
780
- if (entry.exchangeBinding) consumerBindings[`${name}ExchangeBinding`] = entry.exchangeBinding;
781
- if (entry.bridgeExchange) exchanges[entry.bridgeExchange.name] = entry.bridgeExchange;
782
- if (entry.exchange) exchanges[entry.exchange.name] = entry.exchange;
806
+ addResource(queues, queueDef.name, queueEntry, "queue");
807
+ consumerQueueEntries.push(queueEntry);
808
+ addResource(exchanges, entry.binding.exchange.name, entry.binding.exchange, "exchange");
809
+ if (queueDef.deadLetter?.exchange) addResource(exchanges, queueDef.deadLetter.exchange.name, queueDef.deadLetter.exchange, "exchange");
810
+ if (entry.exchangeBinding) addResource(bindings, `${name}ExchangeBinding`, entry.exchangeBinding, "binding");
811
+ if (entry.bridgeExchange) addResource(exchanges, entry.bridgeExchange.name, entry.bridgeExchange, "exchange");
812
+ if (entry.exchange) addResource(exchanges, entry.exchange.name, entry.exchange, "exchange");
783
813
  } else if (isCommandConsumerConfig(entry)) {
784
814
  processedConsumers[name] = entry.consumer;
785
- consumerBindings[`${name}Binding`] = entry.binding;
815
+ addResource(bindings, `${name}Binding`, entry.binding, "binding");
786
816
  const queueEntry = entry.consumer.queue;
787
817
  const queueDef = extractQueue(queueEntry);
788
- queues[queueDef.name] = queueEntry;
789
- exchanges[entry.exchange.name] = entry.exchange;
790
- if (queueDef.deadLetter?.exchange) exchanges[queueDef.deadLetter.exchange.name] = queueDef.deadLetter.exchange;
818
+ addResource(queues, queueDef.name, queueEntry, "queue");
819
+ consumerQueueEntries.push(queueEntry);
820
+ addResource(exchanges, entry.exchange.name, entry.exchange, "exchange");
821
+ if (queueDef.deadLetter?.exchange) addResource(exchanges, queueDef.deadLetter.exchange.name, queueDef.deadLetter.exchange, "exchange");
791
822
  } else {
792
823
  const consumer = entry;
793
824
  processedConsumers[name] = consumer;
794
825
  const queueEntry = consumer.queue;
795
826
  const queueDef = extractQueue(queueEntry);
796
- queues[queueDef.name] = queueEntry;
797
- if (queueDef.deadLetter?.exchange) exchanges[queueDef.deadLetter.exchange.name] = queueDef.deadLetter.exchange;
827
+ addResource(queues, queueDef.name, queueEntry, "queue");
828
+ consumerQueueEntries.push(queueEntry);
829
+ if (queueDef.deadLetter?.exchange) addResource(exchanges, queueDef.deadLetter.exchange.name, queueDef.deadLetter.exchange, "exchange");
798
830
  }
799
- for (const queueEntry of Object.values(queues)) if (isQueueWithTtlBackoffInfrastructure(queueEntry)) {
800
- queues[queueEntry.waitQueue.name] = queueEntry.waitQueue;
801
- consumerBindings[`${queueEntry.queue.name}WaitBinding`] = queueEntry.waitQueueBinding;
802
- consumerBindings[`${queueEntry.queue.name}RetryBinding`] = queueEntry.retryQueueBinding;
803
- exchanges[queueEntry.waitExchange.name] = queueEntry.waitExchange;
804
- exchanges[queueEntry.retryExchange.name] = queueEntry.retryExchange;
831
+ for (const queueEntry of consumerQueueEntries) if (isQueueWithTtlBackoffInfrastructure(queueEntry)) {
832
+ addResource(queues, queueEntry.waitQueue.name, queueEntry.waitQueue, "queue");
833
+ addResource(bindings, `${queueEntry.queue.name}WaitBinding`, queueEntry.waitQueueBinding, "binding");
834
+ addResource(bindings, `${queueEntry.queue.name}RetryBinding`, queueEntry.retryQueueBinding, "binding");
835
+ addResource(exchanges, queueEntry.waitExchange.name, queueEntry.waitExchange, "exchange");
836
+ addResource(exchanges, queueEntry.retryExchange.name, queueEntry.retryExchange, "exchange");
805
837
  }
806
838
  result.consumers = processedConsumers;
807
- result.bindings = {
808
- ...result.bindings,
809
- ...consumerBindings
810
- };
811
- result.queues = {
812
- ...result.queues,
813
- ...queues
814
- };
815
- result.exchanges = {
816
- ...result.exchanges,
817
- ...exchanges
818
- };
819
839
  }
840
+ if (inputRpcs && Object.keys(inputRpcs).length > 0) {
841
+ const processedRpcs = {};
842
+ for (const [name, rpc] of Object.entries(inputRpcs)) {
843
+ processedRpcs[name] = rpc;
844
+ const queueDef = extractQueue(rpc.queue);
845
+ addResource(queues, queueDef.name, rpc.queue, "queue");
846
+ if (queueDef.deadLetter?.exchange) addResource(exchanges, queueDef.deadLetter.exchange.name, queueDef.deadLetter.exchange, "exchange");
847
+ }
848
+ result.rpcs = processedRpcs;
849
+ }
850
+ result.exchanges = exchanges;
851
+ result.queues = queues;
852
+ result.bindings = bindings;
820
853
  return result;
821
854
  }
822
855
  //#endregion
856
+ //#region src/builder/rpc.ts
857
+ /**
858
+ * Define an RPC operation: a request/response pair flowing over a request
859
+ * queue with replies routed back via RabbitMQ direct reply-to.
860
+ *
861
+ * RPC is bidirectional on both ends — the worker handler consumes the request
862
+ * and produces the response; `client.call(name, request, options)` publishes
863
+ * the request and awaits the typed response. Both sides share the same
864
+ * definition, so request and response schemas cannot drift between them.
865
+ *
866
+ * Plug the result into `defineContract({ rpcs: { name: ... } })`. RPCs do not
867
+ * appear in `publishers` or `consumers`.
868
+ *
869
+ * @param queue - The queue that receives RPC requests. The queue name is
870
+ * used as the routing key on the AMQP default direct exchange.
871
+ * @param messages.request - Schema validated against incoming request payloads
872
+ * (server side) and outgoing requests (client side).
873
+ * @param messages.response - Schema validated against handler return values
874
+ * (server side) and incoming replies (client side).
875
+ *
876
+ * @example
877
+ * ```typescript
878
+ * import { defineQueue, defineMessage, defineRpc, defineContract } from '@amqp-contract/contract';
879
+ * import { z } from 'zod';
880
+ *
881
+ * const calculate = defineRpc(defineQueue('rpc.calculate'), {
882
+ * request: defineMessage(z.object({ a: z.number(), b: z.number() })),
883
+ * response: defineMessage(z.object({ sum: z.number() })),
884
+ * });
885
+ *
886
+ * const contract = defineContract({ rpcs: { calculate } });
887
+ *
888
+ * // Server (worker): handler returns the typed response
889
+ * // handlers: { calculate: ({ payload }) => Future.value(Result.Ok({ sum: payload.a + payload.b })) }
890
+ *
891
+ * // Client: typed call with required timeout
892
+ * // const result = await client.call('calculate', { a: 1, b: 2 }, { timeoutMs: 5_000 }).toPromise();
893
+ * ```
894
+ */
895
+ function defineRpc(queue, messages) {
896
+ return {
897
+ queue,
898
+ request: messages.request,
899
+ response: messages.response
900
+ };
901
+ }
902
+ //#endregion
823
903
  exports.defineCommandConsumer = defineCommandConsumer;
824
904
  exports.defineCommandPublisher = defineCommandPublisher;
825
905
  exports.defineConsumer = defineConsumer;
@@ -832,6 +912,7 @@ exports.defineMessage = defineMessage;
832
912
  exports.definePublisher = definePublisher;
833
913
  exports.defineQueue = defineQueue;
834
914
  exports.defineQueueBinding = defineQueueBinding;
915
+ exports.defineRpc = defineRpc;
835
916
  exports.extractConsumer = extractConsumer;
836
917
  exports.extractQueue = extractQueue;
837
918
  exports.isBridgedPublisherConfig = isBridgedPublisherConfig;
package/dist/index.d.cts CHANGED
@@ -867,6 +867,26 @@ type BridgedPublisherConfigBase = {
867
867
  bridgeExchange: ExchangeDefinition;
868
868
  targetExchange: ExchangeDefinition;
869
869
  };
870
+ /**
871
+ * Definition of an RPC operation: a request/response pair flowing over a
872
+ * request queue with replies routed back via direct reply-to.
873
+ *
874
+ * An RPC is bidirectional on both ends — the server consumes requests and
875
+ * publishes responses; the client publishes requests and consumes responses —
876
+ * so it has its own slot in the contract (`rpcs`) rather than being shoehorned
877
+ * into `consumers` or `publishers`.
878
+ *
879
+ * @template TRequestMessage - The request message definition
880
+ * @template TResponseMessage - The response message definition
881
+ * @template TQueue - The request queue entry
882
+ *
883
+ * @see defineRpc for creating RPC definitions
884
+ */
885
+ type RpcDefinition<TRequestMessage extends MessageDefinition = MessageDefinition, TResponseMessage extends MessageDefinition = MessageDefinition, TQueue extends QueueEntry = QueueEntry> = {
886
+ /** The queue that receives RPC requests. Replies are routed back via direct reply-to. */queue: TQueue; /** Schema for the request payload (validated on both publish and consume). */
887
+ request: TRequestMessage; /** Schema for the response payload (validated on both worker reply and client receive). */
888
+ response: TResponseMessage;
889
+ };
870
890
  /**
871
891
  * Complete AMQP contract definition (output type).
872
892
  *
@@ -931,6 +951,16 @@ type ContractDefinition = {
931
951
  * The handler will be fully typed based on the message schema.
932
952
  */
933
953
  consumers?: Record<string, ConsumerDefinition>;
954
+ /**
955
+ * Named RPC definitions. Each key gets:
956
+ * - A handler in the TypedAmqpWorker that returns the typed response.
957
+ * - A `client.call(name, request, options)` method on the TypedAmqpClient.
958
+ *
959
+ * RPC entries do not appear in `publishers` or `consumers` because each
960
+ * end of an RPC plays both roles (publisher of one direction, consumer of
961
+ * the other).
962
+ */
963
+ rpcs?: Record<string, RpcDefinition>;
934
964
  };
935
965
  /**
936
966
  * Publisher entry that can be passed to defineContract's publishers section.
@@ -992,6 +1022,12 @@ type ContractDefinitionInput = {
992
1022
  * - CommandConsumerConfig from defineCommandConsumer (binding auto-extracted)
993
1023
  */
994
1024
  consumers?: Record<string, ConsumerEntry>;
1025
+ /**
1026
+ * Named RPC definitions from `defineRpc`. Each entry contributes its queue
1027
+ * (and DLX if any) to the contract topology and exposes a typed
1028
+ * `client.call(name, ...)` / worker handler pair.
1029
+ */
1030
+ rpcs?: Record<string, RpcDefinition>;
995
1031
  };
996
1032
  /**
997
1033
  * Extract the exchange from a publisher entry.
@@ -1146,6 +1182,16 @@ type ExtractPublisherExchangeBinding<T extends PublisherEntry> = T extends Bridg
1146
1182
  * @internal
1147
1183
  */
1148
1184
  type ExtractExchangeBindingsFromPublishers<TPublishers extends Record<string, PublisherEntry>> = { [K in keyof TPublishers as HasPublisherExchangeBinding<TPublishers[K]> extends true ? `${K & string}ExchangeBinding` : never]: ExtractPublisherExchangeBinding<TPublishers[K]> };
1185
+ /**
1186
+ * Extract queues from all RPC entries in a contract.
1187
+ * @internal
1188
+ */
1189
+ type ExtractQueuesFromRpcs<TRpcs extends Record<string, RpcDefinition>> = { [K in keyof TRpcs as ExtractQueueFromEntry<TRpcs[K]["queue"]>["name"]]: TRpcs[K]["queue"] };
1190
+ /**
1191
+ * Extract dead letter exchanges from all RPC entries in a contract.
1192
+ * @internal
1193
+ */
1194
+ type ExtractDeadLetterExchangesFromRpcs<TRpcs extends Record<string, RpcDefinition>> = { [K in keyof TRpcs as ExtractDlxFromEntry<TRpcs[K]["queue"]> extends never ? never : ExtractDlxFromEntry<TRpcs[K]["queue"]>["name"]]: ExtractDlxFromEntry<TRpcs[K]["queue"]> };
1149
1195
  /**
1150
1196
  * Contract output type with all resources extracted and properly typed.
1151
1197
  *
@@ -1157,11 +1203,12 @@ type ExtractExchangeBindingsFromPublishers<TPublishers extends Record<string, Pu
1157
1203
  * - consumers: Normalized consumer definitions
1158
1204
  */
1159
1205
  type ContractOutput<TContract extends ContractDefinitionInput> = {
1160
- 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"]> : {});
1161
- queues: TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractQueuesFromConsumers<TContract["consumers"]> : {};
1206
+ 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"]> : {}) & (TContract["rpcs"] extends Record<string, RpcDefinition> ? ExtractDeadLetterExchangesFromRpcs<TContract["rpcs"]> : {});
1207
+ queues: (TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractQueuesFromConsumers<TContract["consumers"]> : {}) & (TContract["rpcs"] extends Record<string, RpcDefinition> ? ExtractQueuesFromRpcs<TContract["rpcs"]> : {});
1162
1208
  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"]> : {});
1163
1209
  publishers: TContract["publishers"] extends Record<string, PublisherEntry> ? ExtractPublisherDefinitions<TContract["publishers"]> : {};
1164
1210
  consumers: TContract["consumers"] extends Record<string, ConsumerEntry> ? ExtractConsumerDefinitions<TContract["consumers"]> : {};
1211
+ rpcs: TContract["rpcs"] extends Record<string, RpcDefinition> ? TContract["rpcs"] : {};
1165
1212
  };
1166
1213
  /**
1167
1214
  * Extract publisher names from a contract.
@@ -1195,6 +1242,16 @@ type InferPublisherNames<TContract extends ContractDefinition> = TContract["publ
1195
1242
  * ```
1196
1243
  */
1197
1244
  type InferConsumerNames<TContract extends ContractDefinition> = TContract["consumers"] extends Record<string, unknown> ? keyof TContract["consumers"] : never;
1245
+ /**
1246
+ * Extract RPC names from a contract.
1247
+ *
1248
+ * Each name in this union has a typed worker handler and a `client.call(name, ...)`
1249
+ * method. RPC names are disjoint from `InferConsumerNames` and `InferPublisherNames`.
1250
+ *
1251
+ * @template TContract - The contract definition
1252
+ * @returns Union of RPC names, or never if no RPCs defined
1253
+ */
1254
+ type InferRpcNames<TContract extends ContractDefinition> = TContract["rpcs"] extends Record<string, RpcDefinition> ? keyof TContract["rpcs"] : never;
1198
1255
  //#endregion
1199
1256
  //#region src/builder/exchange.d.ts
1200
1257
  /**
@@ -2540,6 +2597,50 @@ declare function isCommandConsumerConfig(value: unknown): value is CommandConsum
2540
2597
  */
2541
2598
  declare function isBridgedPublisherConfig(value: unknown): value is BridgedPublisherConfig<MessageDefinition, ExchangeDefinition, ExchangeDefinition>;
2542
2599
  //#endregion
2600
+ //#region src/builder/rpc.d.ts
2601
+ /**
2602
+ * Define an RPC operation: a request/response pair flowing over a request
2603
+ * queue with replies routed back via RabbitMQ direct reply-to.
2604
+ *
2605
+ * RPC is bidirectional on both ends — the worker handler consumes the request
2606
+ * and produces the response; `client.call(name, request, options)` publishes
2607
+ * the request and awaits the typed response. Both sides share the same
2608
+ * definition, so request and response schemas cannot drift between them.
2609
+ *
2610
+ * Plug the result into `defineContract({ rpcs: { name: ... } })`. RPCs do not
2611
+ * appear in `publishers` or `consumers`.
2612
+ *
2613
+ * @param queue - The queue that receives RPC requests. The queue name is
2614
+ * used as the routing key on the AMQP default direct exchange.
2615
+ * @param messages.request - Schema validated against incoming request payloads
2616
+ * (server side) and outgoing requests (client side).
2617
+ * @param messages.response - Schema validated against handler return values
2618
+ * (server side) and incoming replies (client side).
2619
+ *
2620
+ * @example
2621
+ * ```typescript
2622
+ * import { defineQueue, defineMessage, defineRpc, defineContract } from '@amqp-contract/contract';
2623
+ * import { z } from 'zod';
2624
+ *
2625
+ * const calculate = defineRpc(defineQueue('rpc.calculate'), {
2626
+ * request: defineMessage(z.object({ a: z.number(), b: z.number() })),
2627
+ * response: defineMessage(z.object({ sum: z.number() })),
2628
+ * });
2629
+ *
2630
+ * const contract = defineContract({ rpcs: { calculate } });
2631
+ *
2632
+ * // Server (worker): handler returns the typed response
2633
+ * // handlers: { calculate: ({ payload }) => Future.value(Result.Ok({ sum: payload.a + payload.b })) }
2634
+ *
2635
+ * // Client: typed call with required timeout
2636
+ * // const result = await client.call('calculate', { a: 1, b: 2 }, { timeoutMs: 5_000 }).toPromise();
2637
+ * ```
2638
+ */
2639
+ declare function defineRpc<TRequestMessage extends MessageDefinition, TResponseMessage extends MessageDefinition, TQueue extends QueueEntry>(queue: TQueue, messages: {
2640
+ request: TRequestMessage;
2641
+ response: TResponseMessage;
2642
+ }): RpcDefinition<TRequestMessage, TResponseMessage, TQueue>;
2643
+ //#endregion
2543
2644
  //#region src/builder/ttl-backoff.d.ts
2544
2645
  /**
2545
2646
  * Type guard to check if a queue entry is a QueueWithTtlBackoffInfrastructure.
@@ -2575,5 +2676,5 @@ declare function isBridgedPublisherConfig(value: unknown): value is BridgedPubli
2575
2676
  */
2576
2677
  declare function isQueueWithTtlBackoffInfrastructure(entry: QueueEntry): entry is QueueWithTtlBackoffInfrastructure;
2577
2678
  //#endregion
2578
- 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 DirectExchangeDefinition, type EventConsumerResult, type EventConsumerResultBase, type EventPublisherConfig, type EventPublisherConfigBase, type ExchangeBindingDefinition, type ExchangeDefinition, type FanoutExchangeDefinition, type HeadersExchangeDefinition, type ImmediateRequeueRetryOptions, type InferConsumerNames, type InferPublisherNames, type MatchingRoutingKey, type MessageDefinition, type PublisherDefinition, type PublisherEntry, type QueueBindingDefinition, type QueueDefinition, type QueueEntry, type QueueType, type QueueWithTtlBackoffInfrastructure, type QuorumQueueDefinition, type QuorumQueueOptions, type ResolvedImmediateRequeueRetryOptions, type ResolvedRetryOptions, type ResolvedTtlBackoffRetryOptions, type RoutingKey, type TopicExchangeDefinition, type TtlBackoffRetryOptions, defineCommandConsumer, defineCommandPublisher, defineConsumer, defineContract, defineEventConsumer, defineEventPublisher, defineExchange, defineExchangeBinding, defineMessage, definePublisher, defineQueue, defineQueueBinding, extractConsumer, extractQueue, isBridgedPublisherConfig, isCommandConsumerConfig, isEventConsumerResult, isEventPublisherConfig, isQueueWithTtlBackoffInfrastructure };
2679
+ 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 DirectExchangeDefinition, type EventConsumerResult, type EventConsumerResultBase, type EventPublisherConfig, type EventPublisherConfigBase, type ExchangeBindingDefinition, type ExchangeDefinition, type FanoutExchangeDefinition, type HeadersExchangeDefinition, type ImmediateRequeueRetryOptions, type InferConsumerNames, type InferPublisherNames, type InferRpcNames, type MatchingRoutingKey, type MessageDefinition, type PublisherDefinition, type PublisherEntry, type QueueBindingDefinition, type QueueDefinition, type QueueEntry, type QueueType, type QueueWithTtlBackoffInfrastructure, type QuorumQueueDefinition, type QuorumQueueOptions, type ResolvedImmediateRequeueRetryOptions, type ResolvedRetryOptions, type ResolvedTtlBackoffRetryOptions, type RoutingKey, type RpcDefinition, type TopicExchangeDefinition, type TtlBackoffRetryOptions, defineCommandConsumer, defineCommandPublisher, defineConsumer, defineContract, defineEventConsumer, defineEventPublisher, defineExchange, defineExchangeBinding, defineMessage, definePublisher, defineQueue, defineQueueBinding, defineRpc, extractConsumer, extractQueue, isBridgedPublisherConfig, isCommandConsumerConfig, isEventConsumerResult, isEventPublisherConfig, isQueueWithTtlBackoffInfrastructure };
2579
2680
  //# 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/queue-utils.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/queue-utils.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/rpc.ts","../src/builder/ttl-backoff.ts"],"mappings":"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"}