@amqp-contract/core 0.13.0 → 0.15.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
@@ -1,4 +1,5 @@
1
- //#region rolldown:runtime
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ //#region \0rolldown/runtime.js
2
3
  var __create = Object.create;
3
4
  var __defProp = Object.defineProperty;
4
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
package/dist/index.d.cts CHANGED
@@ -5,7 +5,6 @@ import { ContractDefinition } from "@amqp-contract/contract";
5
5
  import { Attributes, Counter, Histogram, Span, Tracer } from "@opentelemetry/api";
6
6
 
7
7
  //#region src/logger.d.ts
8
-
9
8
  /**
10
9
  * Context object for logger methods.
11
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/errors.ts","../src/amqp-client.ts","../src/connection-manager.ts","../src/setup.ts","../src/telemetry.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;AAQA;AAqBY,KArBA,aAAA,GAAgB,MAqBV,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA;EAMiB,KAAA,CAAA,EAAA,OAAA;CAOD;;;;;;;ACpClC;;;;ACeA;;;;;;AASA;AA8Ba,KF/BD,MAAA,GE+BW;EAkBQ;;;;;EAuEX,KAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EFlHe,aEkHf,CAAA,EAAA,IAAA;EAkBP;;;;;EAkBC,IAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EF/IoB,aE+IpB,CAAA,EAAA,IAAA;EACA;;;;;EAawB,IAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EFtJJ,aEsJI,CAAA,EAAA,IAAA;EAAP;;;;;EA+DA,KAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EF9MI,aE8MJ,CAAA,EAAA,IAAA;CAAb;;;;;;;;;cDhQL,cAAA,SAAuB,KAAA;EDExB,SAAA,KAAA,CAAA,EAAa,OAAA,GAAG,SAAM;EAqBtB,WAAM,CAAA,OAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;AArBlB;AAqBA;;;;AA2BmC,KEnCvB,iBAAA,GFmCuB;EAAa,IAAA,EElCxC,aFkCwC,EAAA;sBEjC1B;mBACH,QAAQ;;ADlB3B;;;KCwBY,eAAA,SAAwB,iCAAiC;AATrE;;;;;;AASA;AA8BA;;;;;;;;;;;;;;;;;;;;;AAkKY,cAlKC,UAAA,CAkKD;EAWgB,iBAAA,QAAA;EAAmB,iBAAA,UAAA;EA6BhB,iBAAA,cAAA;EAAb,iBAAA,IAAA;EAAP,iBAAA,iBAAA;EAkBuC;;;;;AClQlD;;;;;;EA4DwB,WAAA,CAAA,QAAA,EDJO,kBCIP,EAAA,OAAA,EDHX,iBCGW;EACnB;;;;;;AC3DL;;;EAGG,aAAA,CAAA,CAAA,EFiHgB,qBEjHhB;EAAO;;;;ACHV;EA8BY,cAAA,CAAA,CAAA,EH+FQ,MG/FS,CH+FF,MG/FE,CAAA,IAAA,EH+FW,cG/FX,CAAA,CAAA;EAKV;;;;;;AAwInB;AAYA;;EAIe,OAAA,CAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EH5CF,MG4CE,GAAA,OAAA,EAAA,OAAA,CAAA,EH3CD,OAAA,CAAQ,OG2CP,CAAA,EH1CV,MG0CU,CH1CH,MG0CG,CAAA,OAAA,EH1Ca,cG0Cb,CAAA,CAAA;EACZ;;AA8BH;;;;;AAgCA;EAegB,OAAA,CAAA,KAAA,EAAY,MAAA,EAAA,QAAO,EHxGrB,eGwGmD,EAAA,OAAA,CAAA,EHvGnD,OAAA,CAAQ,OGuG2C,CAAA,EHtG5D,MGsG4D,CHtGrD,MGsGqD,CAAA,MAAA,EHtGtC,cGsGsC,CAAA,CAAA;EAiBjD;AA2BhB;AA2BA;;;;+BHjK+B,OAAO,aAAa;;;;;;;WAYxC;;;;;;;;YAWC;;;;;;;;4BAWgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;WA6BpC,OAAO,aAAa;;;;;4CAkBmB;;;;;;;;;;AFhRlD;AAqBA;;;;;;;;;ACvBa,cEgBA,0BAAA,CFhB4B;;;;ECe7B,QAAA,WAAA,CAAA;EACJ;;;;;EAQI,OAAA,WAAe,CAAA,CAAA,ECIH,0BDJ6C;EA8BxD;;;;;;;;;;EA6GD,aAAA,CAAA,IAAA,ECrHF,aDqHE,EAAA,EAAA,iBAAA,CAAA,ECpHY,4BDoHZ,CAAA,ECnHP,qBDmHO;EAAP;;;;;;;;;;EAqDO,iBAAA,CAAA,IAAA,EC7IF,aD6IE,EAAA,EAAA,iBAAA,CAAA,EC5IY,4BD4IZ,CAAA,EC3IP,OD2IO,CAAA,IAAA,CAAA;EAWgB;;;;;;;;;;ECnNf,QAAA,mBAAA;EAYW;;;;;;EAiDnB,QAAA,gBAAA;EAkFuB;;;;;AC7I5B;EACW,QAAA,QAAA;EACC;;;;sBD2IgB;;;;;;;;;AH7J5B;AAqBA;;;;;;;;;ACvBA;;;;ACeA;AACQ,iBEEc,iBAAA,CFFd,OAAA,EEGG,OFHH,EAAA,QAAA,EEII,kBFJJ,CAAA,EEKL,OFLK,CAAA,IAAA,CAAA;;;;;;;cGEK;;ELhBD,SAAA,qBAAgB,EAAA,4BAAM;EAqBtB,SAAM,0BAAA,EAAA,4BAAA;EAMiB,SAAA,mBAAA,EAAA,qBAAA;EAOD,SAAA,oBAAA,EAAA,sBAAA;EAOA,SAAA,8BAAA,EAAA,6BAAA;EAOC,SAAA,iCAAA,EAAA,mCAAA;EAAa,SAAA,8BAAA,EAAA,4CAAA;;;;EClDnC,SAAA,mCAA4B,EAAA,UAAA;;;;ECe7B,SAAA,2BAAiB,EAAA,SAAA;CACrB;;;;;AAQI,KGwBA,iBAAA,GHxBe;EA8Bd;;;;EAyF2B,SAAA,EAAA,GAAA,GG1FrB,MH0FqB,GAAA,SAAA;EAAb;;;;EAoBC,iBAAA,EAAA,GAAA,GGxGD,OHwGC,GAAA,SAAA;EAAhB;;;;EAkBe,iBAAA,EAAA,GAAA,GGpHA,OHoHA,GAAA,SAAA;EAAf;;;;EAYmB,0BAAA,EAAA,GAAA,GG1HK,SH0HL,GAAA,SAAA;EAYpB;;;;EAmDoB,0BAAA,EAAA,GAAA,GGnLK,SHmLL,GAAA,SAAA;CAAb;;;;cGnEL,0BAA0B;;;AF7KvC;;AA8BU,iBE2JM,gBAAA,CF3JN,QAAA,EE4JE,iBF5JF,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,GAAA,SAAA,EAAA,UAAA,CAAA,EE+JK,UF/JL,CAAA,EEgKP,IFhKO,GAAA,SAAA;;;;;AA+BL,iBE+JW,gBAAA,CF/JX,QAAA,EEgKO,iBFhKP,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EEmKU,UFnKV,CAAA,EEoKF,IFpKE,GAAA,SAAA;;;;iBE+LW,cAAA,OAAqB;;AD1PrC;;AAEY,iBCuQI,YAAA,CDvQJ,IAAA,ECuQuB,IDvQvB,GAAA,SAAA,EAAA,KAAA,ECuQgD,KDvQhD,CAAA,EAAA,IAAA;;;;iBCwRI,mBAAA,WACJ;;AA3RZ;AA8BA;AAKmB,iBAkRH,mBAAA,CAlRG,QAAA,EAmRP,iBAnRO,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,IAAA;;;;;;AAwIN,iBAqKG,8BAAA,CAAA,CArKuB,EAAA,IAMtC"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/errors.ts","../src/amqp-client.ts","../src/connection-manager.ts","../src/setup.ts","../src/telemetry.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -5,7 +5,6 @@ import { Attributes, Counter, Histogram, Span, Tracer } from "@opentelemetry/api
5
5
  import { Channel, ConsumeMessage, Options } from "amqplib";
6
6
 
7
7
  //#region src/logger.d.ts
8
-
9
8
  /**
10
9
  * Context object for logger methods.
11
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/logger.ts","../src/errors.ts","../src/amqp-client.ts","../src/connection-manager.ts","../src/setup.ts","../src/telemetry.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/logger.ts","../src/errors.ts","../src/amqp-client.ts","../src/connection-manager.ts","../src/setup.ts","../src/telemetry.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { Future } from "@swan-io/boxed";
3
3
  import amqp from "amqp-connection-manager";
4
4
  import { extractQueue } from "@amqp-contract/contract";
5
5
 
6
- //#region rolldown:runtime
6
+ //#region \0rolldown/runtime.js
7
7
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
8
8
 
9
9
  //#endregion
package/docs/index.md ADDED
@@ -0,0 +1,1001 @@
1
+ **@amqp-contract/core**
2
+
3
+ ***
4
+
5
+ # @amqp-contract/core
6
+
7
+ ## Classes
8
+
9
+ ### AmqpClient
10
+
11
+ Defined in: [packages/core/src/amqp-client.ts:61](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L61)
12
+
13
+ AMQP client that manages connections and channels with automatic topology setup.
14
+
15
+ This class handles:
16
+ - Connection management with automatic reconnection via amqp-connection-manager
17
+ - Connection pooling and sharing across instances with the same URLs
18
+ - Automatic AMQP topology setup (exchanges, queues, bindings) from contract
19
+ - Channel creation with JSON serialization enabled by default
20
+
21
+ All operations return `Future<Result<T, TechnicalError>>` for consistent error handling.
22
+
23
+ #### Example
24
+
25
+ ```typescript
26
+ const client = new AmqpClient(contract, {
27
+ urls: ['amqp://localhost'],
28
+ connectionOptions: { heartbeatIntervalInSeconds: 30 }
29
+ });
30
+
31
+ // Wait for connection
32
+ await client.waitForConnect().resultToPromise();
33
+
34
+ // Publish a message
35
+ const result = await client.publish('exchange', 'routingKey', { data: 'value' }).resultToPromise();
36
+
37
+ // Close when done
38
+ await client.close().resultToPromise();
39
+ ```
40
+
41
+ #### Constructors
42
+
43
+ ##### Constructor
44
+
45
+ ```ts
46
+ new AmqpClient(contract, options): AmqpClient;
47
+ ```
48
+
49
+ Defined in: [packages/core/src/amqp-client.ts:78](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L78)
50
+
51
+ Create a new AMQP client instance.
52
+
53
+ The client will automatically:
54
+ - Get or create a shared connection using the singleton pattern
55
+ - Set up AMQP topology (exchanges, queues, bindings) from the contract
56
+ - Create a channel with JSON serialization enabled
57
+
58
+ ###### Parameters
59
+
60
+ | Parameter | Type | Description |
61
+ | ------ | ------ | ------ |
62
+ | `contract` | `ContractDefinition` | The contract definition specifying the AMQP topology |
63
+ | `options` | [`AmqpClientOptions`](#amqpclientoptions) | Client configuration options |
64
+
65
+ ###### Returns
66
+
67
+ [`AmqpClient`](#amqpclient)
68
+
69
+ #### Methods
70
+
71
+ ##### ack()
72
+
73
+ ```ts
74
+ ack(msg, allUpTo): void;
75
+ ```
76
+
77
+ Defined in: [packages/core/src/amqp-client.ts:212](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L212)
78
+
79
+ Acknowledge a message.
80
+
81
+ ###### Parameters
82
+
83
+ | Parameter | Type | Default value | Description |
84
+ | ------ | ------ | ------ | ------ |
85
+ | `msg` | `ConsumeMessage` | `undefined` | The message to acknowledge |
86
+ | `allUpTo` | `boolean` | `false` | If true, acknowledge all messages up to and including this one |
87
+
88
+ ###### Returns
89
+
90
+ `void`
91
+
92
+ ##### addSetup()
93
+
94
+ ```ts
95
+ addSetup(setup): void;
96
+ ```
97
+
98
+ Defined in: [packages/core/src/amqp-client.ts:234](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L234)
99
+
100
+ Add a setup function to be called when the channel is created or reconnected.
101
+
102
+ This is useful for setting up channel-level configuration like prefetch.
103
+
104
+ ###### Parameters
105
+
106
+ | Parameter | Type | Description |
107
+ | ------ | ------ | ------ |
108
+ | `setup` | (`channel`) => `void` \| `Promise`&lt;`void`&gt; | The setup function to add |
109
+
110
+ ###### Returns
111
+
112
+ `void`
113
+
114
+ ##### cancel()
115
+
116
+ ```ts
117
+ cancel(consumerTag): Future<Result<void, TechnicalError>>;
118
+ ```
119
+
120
+ Defined in: [packages/core/src/amqp-client.ts:200](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L200)
121
+
122
+ Cancel a consumer by its consumer tag.
123
+
124
+ ###### Parameters
125
+
126
+ | Parameter | Type | Description |
127
+ | ------ | ------ | ------ |
128
+ | `consumerTag` | `string` | The consumer tag to cancel |
129
+
130
+ ###### Returns
131
+
132
+ `Future`&lt;`Result`&lt;`void`, [`TechnicalError`](#technicalerror)&gt;&gt;
133
+
134
+ A Future that resolves when the consumer is cancelled
135
+
136
+ ##### close()
137
+
138
+ ```ts
139
+ close(): Future<Result<void, TechnicalError>>;
140
+ ```
141
+
142
+ Defined in: [packages/core/src/amqp-client.ts:263](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L263)
143
+
144
+ Close the channel and release the connection reference.
145
+
146
+ This will:
147
+ - Close the channel wrapper
148
+ - Decrease the reference count on the shared connection
149
+ - Close the connection if this was the last client using it
150
+
151
+ ###### Returns
152
+
153
+ `Future`&lt;`Result`&lt;`void`, [`TechnicalError`](#technicalerror)&gt;&gt;
154
+
155
+ A Future that resolves when the channel and connection are closed
156
+
157
+ ##### consume()
158
+
159
+ ```ts
160
+ consume(
161
+ queue,
162
+ callback,
163
+ options?): Future<Result<string, TechnicalError>>;
164
+ ```
165
+
166
+ Defined in: [packages/core/src/amqp-client.ts:184](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L184)
167
+
168
+ Start consuming messages from a queue.
169
+
170
+ ###### Parameters
171
+
172
+ | Parameter | Type | Description |
173
+ | ------ | ------ | ------ |
174
+ | `queue` | `string` | The queue name |
175
+ | `callback` | [`ConsumeCallback`](#consumecallback) | The callback to invoke for each message |
176
+ | `options?` | `Consume` | Optional consume options |
177
+
178
+ ###### Returns
179
+
180
+ `Future`&lt;`Result`&lt;`string`, [`TechnicalError`](#technicalerror)&gt;&gt;
181
+
182
+ A Future with `Result<string>` - the consumer tag
183
+
184
+ ##### getConnection()
185
+
186
+ ```ts
187
+ getConnection(): IAmqpConnectionManager;
188
+ ```
189
+
190
+ Defined in: [packages/core/src/amqp-client.ts:141](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L141)
191
+
192
+ Get the underlying connection manager
193
+
194
+ This method exposes the AmqpConnectionManager instance that this client uses.
195
+ The connection is automatically shared across all AmqpClient instances that
196
+ use the same URLs and connection options.
197
+
198
+ ###### Returns
199
+
200
+ `IAmqpConnectionManager`
201
+
202
+ The AmqpConnectionManager instance used by this client
203
+
204
+ ##### nack()
205
+
206
+ ```ts
207
+ nack(
208
+ msg,
209
+ allUpTo,
210
+ requeue): void;
211
+ ```
212
+
213
+ Defined in: [packages/core/src/amqp-client.ts:223](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L223)
214
+
215
+ Negative acknowledge a message.
216
+
217
+ ###### Parameters
218
+
219
+ | Parameter | Type | Default value | Description |
220
+ | ------ | ------ | ------ | ------ |
221
+ | `msg` | `ConsumeMessage` | `undefined` | The message to nack |
222
+ | `allUpTo` | `boolean` | `false` | If true, nack all messages up to and including this one |
223
+ | `requeue` | `boolean` | `true` | If true, requeue the message(s) |
224
+
225
+ ###### Returns
226
+
227
+ `void`
228
+
229
+ ##### on()
230
+
231
+ ```ts
232
+ on(event, listener): void;
233
+ ```
234
+
235
+ Defined in: [packages/core/src/amqp-client.ts:249](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L249)
236
+
237
+ Register an event listener on the channel wrapper.
238
+
239
+ Available events:
240
+ - 'connect': Emitted when the channel is (re)connected
241
+ - 'close': Emitted when the channel is closed
242
+ - 'error': Emitted when an error occurs
243
+
244
+ ###### Parameters
245
+
246
+ | Parameter | Type | Description |
247
+ | ------ | ------ | ------ |
248
+ | `event` | `string` | The event name |
249
+ | `listener` | (...`args`) => `void` | The event listener |
250
+
251
+ ###### Returns
252
+
253
+ `void`
254
+
255
+ ##### publish()
256
+
257
+ ```ts
258
+ publish(
259
+ exchange,
260
+ routingKey,
261
+ content,
262
+ options?): Future<Result<boolean, TechnicalError>>;
263
+ ```
264
+
265
+ Defined in: [packages/core/src/amqp-client.ts:165](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L165)
266
+
267
+ Publish a message to an exchange.
268
+
269
+ ###### Parameters
270
+
271
+ | Parameter | Type | Description |
272
+ | ------ | ------ | ------ |
273
+ | `exchange` | `string` | The exchange name |
274
+ | `routingKey` | `string` | The routing key |
275
+ | `content` | `unknown` | The message content (will be JSON serialized if json: true) |
276
+ | `options?` | `Publish` | Optional publish options |
277
+
278
+ ###### Returns
279
+
280
+ `Future`&lt;`Result`&lt;`boolean`, [`TechnicalError`](#technicalerror)&gt;&gt;
281
+
282
+ A Future with `Result<boolean>` - true if message was sent, false if channel buffer is full
283
+
284
+ ##### waitForConnect()
285
+
286
+ ```ts
287
+ waitForConnect(): Future<Result<void, TechnicalError>>;
288
+ ```
289
+
290
+ Defined in: [packages/core/src/amqp-client.ts:150](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L150)
291
+
292
+ Wait for the channel to be connected and ready.
293
+
294
+ ###### Returns
295
+
296
+ `Future`&lt;`Result`&lt;`void`, [`TechnicalError`](#technicalerror)&gt;&gt;
297
+
298
+ A Future that resolves when the channel is connected
299
+
300
+ ***
301
+
302
+ ### ConnectionManagerSingleton
303
+
304
+ Defined in: [packages/core/src/connection-manager.ts:23](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/connection-manager.ts#L23)
305
+
306
+ Connection manager singleton for sharing AMQP connections across clients.
307
+
308
+ This singleton implements connection pooling to avoid creating multiple connections
309
+ to the same broker, which is a RabbitMQ best practice. Connections are identified
310
+ by their URLs and connection options, and reference counting ensures connections
311
+ are only closed when all clients have released them.
312
+
313
+ #### Example
314
+
315
+ ```typescript
316
+ const manager = ConnectionManagerSingleton.getInstance();
317
+ const connection = manager.getConnection(['amqp://localhost']);
318
+ // ... use connection ...
319
+ await manager.releaseConnection(['amqp://localhost']);
320
+ ```
321
+
322
+ #### Methods
323
+
324
+ ##### getConnection()
325
+
326
+ ```ts
327
+ getConnection(urls, connectionOptions?): IAmqpConnectionManager;
328
+ ```
329
+
330
+ Defined in: [packages/core/src/connection-manager.ts:52](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/connection-manager.ts#L52)
331
+
332
+ Get or create a connection for the given URLs and options.
333
+
334
+ If a connection already exists with the same URLs and options, it is reused
335
+ and its reference count is incremented. Otherwise, a new connection is created.
336
+
337
+ ###### Parameters
338
+
339
+ | Parameter | Type | Description |
340
+ | ------ | ------ | ------ |
341
+ | `urls` | `ConnectionUrl`[] | AMQP broker URL(s) |
342
+ | `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration |
343
+
344
+ ###### Returns
345
+
346
+ `IAmqpConnectionManager`
347
+
348
+ The AMQP connection manager instance
349
+
350
+ ##### releaseConnection()
351
+
352
+ ```ts
353
+ releaseConnection(urls, connectionOptions?): Promise<void>;
354
+ ```
355
+
356
+ Defined in: [packages/core/src/connection-manager.ts:81](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/connection-manager.ts#L81)
357
+
358
+ Release a connection reference.
359
+
360
+ Decrements the reference count for the connection. If the count reaches zero,
361
+ the connection is closed and removed from the pool.
362
+
363
+ ###### Parameters
364
+
365
+ | Parameter | Type | Description |
366
+ | ------ | ------ | ------ |
367
+ | `urls` | `ConnectionUrl`[] | AMQP broker URL(s) used to identify the connection |
368
+ | `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration used to identify the connection |
369
+
370
+ ###### Returns
371
+
372
+ `Promise`&lt;`void`&gt;
373
+
374
+ A promise that resolves when the connection is released (and closed if necessary)
375
+
376
+ ##### getInstance()
377
+
378
+ ```ts
379
+ static getInstance(): ConnectionManagerSingleton;
380
+ ```
381
+
382
+ Defined in: [packages/core/src/connection-manager.ts:35](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/connection-manager.ts#L35)
383
+
384
+ Get the singleton instance of the connection manager.
385
+
386
+ ###### Returns
387
+
388
+ [`ConnectionManagerSingleton`](#connectionmanagersingleton)
389
+
390
+ The singleton instance
391
+
392
+ ***
393
+
394
+ ### TechnicalError
395
+
396
+ Defined in: [packages/core/src/errors.ts:7](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/errors.ts#L7)
397
+
398
+ Error for technical/runtime failures that cannot be prevented by TypeScript.
399
+
400
+ This includes AMQP connection failures, channel issues, validation failures,
401
+ and other runtime errors. This error is shared across core, worker, and client packages.
402
+
403
+ #### Extends
404
+
405
+ - `Error`
406
+
407
+ #### Constructors
408
+
409
+ ##### Constructor
410
+
411
+ ```ts
412
+ new TechnicalError(message, cause?): TechnicalError;
413
+ ```
414
+
415
+ Defined in: [packages/core/src/errors.ts:8](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/errors.ts#L8)
416
+
417
+ ###### Parameters
418
+
419
+ | Parameter | Type |
420
+ | ------ | ------ |
421
+ | `message` | `string` |
422
+ | `cause?` | `unknown` |
423
+
424
+ ###### Returns
425
+
426
+ [`TechnicalError`](#technicalerror)
427
+
428
+ ###### Overrides
429
+
430
+ ```ts
431
+ Error.constructor
432
+ ```
433
+
434
+ #### Properties
435
+
436
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
437
+ | ------ | ------ | ------ | ------ | ------ | ------ |
438
+ | <a id="cause"></a> `cause?` | `readonly` | `unknown` | - | `Error.cause` | [packages/core/src/errors.ts:10](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/errors.ts#L10) |
439
+ | <a id="message"></a> `message` | `public` | `string` | - | `Error.message` | node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1077 |
440
+ | <a id="name"></a> `name` | `public` | `string` | - | `Error.name` | node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1076 |
441
+ | <a id="stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | node\_modules/.pnpm/typescript@5.9.3/node\_modules/typescript/lib/lib.es5.d.ts:1078 |
442
+ | <a id="stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | node\_modules/.pnpm/@types+node@25.2.1/node\_modules/@types/node/globals.d.ts:67 |
443
+
444
+ #### Methods
445
+
446
+ ##### captureStackTrace()
447
+
448
+ ```ts
449
+ static captureStackTrace(targetObject, constructorOpt?): void;
450
+ ```
451
+
452
+ Defined in: node\_modules/.pnpm/@types+node@25.2.1/node\_modules/@types/node/globals.d.ts:51
453
+
454
+ Creates a `.stack` property on `targetObject`, which when accessed returns
455
+ a string representing the location in the code at which
456
+ `Error.captureStackTrace()` was called.
457
+
458
+ ```js
459
+ const myObject = {};
460
+ Error.captureStackTrace(myObject);
461
+ myObject.stack; // Similar to `new Error().stack`
462
+ ```
463
+
464
+ The first line of the trace will be prefixed with
465
+ `${myObject.name}: ${myObject.message}`.
466
+
467
+ The optional `constructorOpt` argument accepts a function. If given, all frames
468
+ above `constructorOpt`, including `constructorOpt`, will be omitted from the
469
+ generated stack trace.
470
+
471
+ The `constructorOpt` argument is useful for hiding implementation
472
+ details of error generation from the user. For instance:
473
+
474
+ ```js
475
+ function a() {
476
+ b();
477
+ }
478
+
479
+ function b() {
480
+ c();
481
+ }
482
+
483
+ function c() {
484
+ // Create an error without stack trace to avoid calculating the stack trace twice.
485
+ const { stackTraceLimit } = Error;
486
+ Error.stackTraceLimit = 0;
487
+ const error = new Error();
488
+ Error.stackTraceLimit = stackTraceLimit;
489
+
490
+ // Capture the stack trace above function b
491
+ Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
492
+ throw error;
493
+ }
494
+
495
+ a();
496
+ ```
497
+
498
+ ###### Parameters
499
+
500
+ | Parameter | Type |
501
+ | ------ | ------ |
502
+ | `targetObject` | `object` |
503
+ | `constructorOpt?` | `Function` |
504
+
505
+ ###### Returns
506
+
507
+ `void`
508
+
509
+ ###### Inherited from
510
+
511
+ ```ts
512
+ Error.captureStackTrace
513
+ ```
514
+
515
+ ##### prepareStackTrace()
516
+
517
+ ```ts
518
+ static prepareStackTrace(err, stackTraces): any;
519
+ ```
520
+
521
+ Defined in: node\_modules/.pnpm/@types+node@25.2.1/node\_modules/@types/node/globals.d.ts:55
522
+
523
+ ###### Parameters
524
+
525
+ | Parameter | Type |
526
+ | ------ | ------ |
527
+ | `err` | `Error` |
528
+ | `stackTraces` | `CallSite`[] |
529
+
530
+ ###### Returns
531
+
532
+ `any`
533
+
534
+ ###### See
535
+
536
+ https://v8.dev/docs/stack-trace-api#customizing-stack-traces
537
+
538
+ ###### Inherited from
539
+
540
+ ```ts
541
+ Error.prepareStackTrace
542
+ ```
543
+
544
+ ## Type Aliases
545
+
546
+ ### AmqpClientOptions
547
+
548
+ ```ts
549
+ type AmqpClientOptions = object;
550
+ ```
551
+
552
+ Defined in: [packages/core/src/amqp-client.ts:22](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L22)
553
+
554
+ Options for creating an AMQP client.
555
+
556
+ #### Properties
557
+
558
+ | Property | Type | Description | Defined in |
559
+ | ------ | ------ | ------ | ------ |
560
+ | <a id="channeloptions"></a> `channelOptions?` | `Partial`&lt;`CreateChannelOpts`&gt; | Optional channel configuration options. | [packages/core/src/amqp-client.ts:25](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L25) |
561
+ | <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.). | [packages/core/src/amqp-client.ts:24](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L24) |
562
+ | <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support. | [packages/core/src/amqp-client.ts:23](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L23) |
563
+
564
+ ***
565
+
566
+ ### ConsumeCallback()
567
+
568
+ ```ts
569
+ type ConsumeCallback = (msg) => void | Promise<void>;
570
+ ```
571
+
572
+ Defined in: [packages/core/src/amqp-client.ts:31](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/amqp-client.ts#L31)
573
+
574
+ Callback type for consuming messages.
575
+
576
+ #### Parameters
577
+
578
+ | Parameter | Type |
579
+ | ------ | ------ |
580
+ | `msg` | `ConsumeMessage` \| `null` |
581
+
582
+ #### Returns
583
+
584
+ `void` \| `Promise`&lt;`void`&gt;
585
+
586
+ ***
587
+
588
+ ### Logger
589
+
590
+ ```ts
591
+ type Logger = object;
592
+ ```
593
+
594
+ Defined in: [packages/core/src/logger.ts:30](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L30)
595
+
596
+ Logger interface for amqp-contract packages.
597
+
598
+ Provides a simple logging abstraction that can be implemented by users
599
+ to integrate with their preferred logging framework.
600
+
601
+ #### Example
602
+
603
+ ```typescript
604
+ // Simple console logger implementation
605
+ const logger: Logger = {
606
+ debug: (message, context) => console.debug(message, context),
607
+ info: (message, context) => console.info(message, context),
608
+ warn: (message, context) => console.warn(message, context),
609
+ error: (message, context) => console.error(message, context),
610
+ };
611
+ ```
612
+
613
+ #### Methods
614
+
615
+ ##### debug()
616
+
617
+ ```ts
618
+ debug(message, context?): void;
619
+ ```
620
+
621
+ Defined in: [packages/core/src/logger.ts:36](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L36)
622
+
623
+ Log debug level messages
624
+
625
+ ###### Parameters
626
+
627
+ | Parameter | Type | Description |
628
+ | ------ | ------ | ------ |
629
+ | `message` | `string` | The log message |
630
+ | `context?` | [`LoggerContext`](#loggercontext) | Optional context to include with the log |
631
+
632
+ ###### Returns
633
+
634
+ `void`
635
+
636
+ ##### error()
637
+
638
+ ```ts
639
+ error(message, context?): void;
640
+ ```
641
+
642
+ Defined in: [packages/core/src/logger.ts:57](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L57)
643
+
644
+ Log error level messages
645
+
646
+ ###### Parameters
647
+
648
+ | Parameter | Type | Description |
649
+ | ------ | ------ | ------ |
650
+ | `message` | `string` | The log message |
651
+ | `context?` | [`LoggerContext`](#loggercontext) | Optional context to include with the log |
652
+
653
+ ###### Returns
654
+
655
+ `void`
656
+
657
+ ##### info()
658
+
659
+ ```ts
660
+ info(message, context?): void;
661
+ ```
662
+
663
+ Defined in: [packages/core/src/logger.ts:43](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L43)
664
+
665
+ Log info level messages
666
+
667
+ ###### Parameters
668
+
669
+ | Parameter | Type | Description |
670
+ | ------ | ------ | ------ |
671
+ | `message` | `string` | The log message |
672
+ | `context?` | [`LoggerContext`](#loggercontext) | Optional context to include with the log |
673
+
674
+ ###### Returns
675
+
676
+ `void`
677
+
678
+ ##### warn()
679
+
680
+ ```ts
681
+ warn(message, context?): void;
682
+ ```
683
+
684
+ Defined in: [packages/core/src/logger.ts:50](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L50)
685
+
686
+ Log warning level messages
687
+
688
+ ###### Parameters
689
+
690
+ | Parameter | Type | Description |
691
+ | ------ | ------ | ------ |
692
+ | `message` | `string` | The log message |
693
+ | `context?` | [`LoggerContext`](#loggercontext) | Optional context to include with the log |
694
+
695
+ ###### Returns
696
+
697
+ `void`
698
+
699
+ ***
700
+
701
+ ### LoggerContext
702
+
703
+ ```ts
704
+ type LoggerContext = Record<string, unknown> & object;
705
+ ```
706
+
707
+ Defined in: [packages/core/src/logger.ts:9](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L9)
708
+
709
+ Context object for logger methods.
710
+
711
+ This type includes reserved keys that provide consistent naming
712
+ for common logging context properties.
713
+
714
+ #### Type Declaration
715
+
716
+ | Name | Type | Defined in |
717
+ | ------ | ------ | ------ |
718
+ | `error?` | `unknown` | [packages/core/src/logger.ts:10](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/logger.ts#L10) |
719
+
720
+ ***
721
+
722
+ ### TelemetryProvider
723
+
724
+ ```ts
725
+ type TelemetryProvider = object;
726
+ ```
727
+
728
+ Defined in: [packages/core/src/telemetry.ts:55](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L55)
729
+
730
+ Telemetry provider for AMQP operations.
731
+ Uses lazy loading to gracefully handle cases where OpenTelemetry is not installed.
732
+
733
+ #### Properties
734
+
735
+ | Property | Type | Description | Defined in |
736
+ | ------ | ------ | ------ | ------ |
737
+ | <a id="getconsumecounter"></a> `getConsumeCounter` | () => `Counter` \| `undefined` | Get a counter for messages consumed. Returns undefined if OpenTelemetry is not available. | [packages/core/src/telemetry.ts:72](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L72) |
738
+ | <a id="getconsumelatencyhistogram"></a> `getConsumeLatencyHistogram` | () => `Histogram` \| `undefined` | Get a histogram for consume/process latency. Returns undefined if OpenTelemetry is not available. | [packages/core/src/telemetry.ts:84](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L84) |
739
+ | <a id="getpublishcounter"></a> `getPublishCounter` | () => `Counter` \| `undefined` | Get a counter for messages published. Returns undefined if OpenTelemetry is not available. | [packages/core/src/telemetry.ts:66](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L66) |
740
+ | <a id="getpublishlatencyhistogram"></a> `getPublishLatencyHistogram` | () => `Histogram` \| `undefined` | Get a histogram for publish latency. Returns undefined if OpenTelemetry is not available. | [packages/core/src/telemetry.ts:78](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L78) |
741
+ | <a id="gettracer"></a> `getTracer` | () => `Tracer` \| `undefined` | Get a tracer instance for creating spans. Returns undefined if OpenTelemetry is not available. | [packages/core/src/telemetry.ts:60](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L60) |
742
+
743
+ ## Variables
744
+
745
+ ### defaultTelemetryProvider
746
+
747
+ ```ts
748
+ const defaultTelemetryProvider: TelemetryProvider;
749
+ ```
750
+
751
+ Defined in: [packages/core/src/telemetry.ts:196](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L196)
752
+
753
+ Default telemetry provider that uses OpenTelemetry API if available.
754
+
755
+ ***
756
+
757
+ ### MessagingSemanticConventions
758
+
759
+ ```ts
760
+ const MessagingSemanticConventions: object;
761
+ ```
762
+
763
+ Defined in: [packages/core/src/telemetry.ts:25](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L25)
764
+
765
+ Semantic conventions for AMQP messaging following OpenTelemetry standards.
766
+
767
+ #### Type Declaration
768
+
769
+ | Name | Type | Default value | Defined in |
770
+ | ------ | ------ | ------ | ------ |
771
+ | <a id="error_type"></a> `ERROR_TYPE` | `"error.type"` | `"error.type"` | [packages/core/src/telemetry.ts:40](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L40) |
772
+ | <a id="messaging_destination"></a> `MESSAGING_DESTINATION` | `"messaging.destination.name"` | `"messaging.destination.name"` | [packages/core/src/telemetry.ts:28](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L28) |
773
+ | <a id="messaging_destination_kind"></a> `MESSAGING_DESTINATION_KIND` | `"messaging.destination.kind"` | `"messaging.destination.kind"` | [packages/core/src/telemetry.ts:29](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L29) |
774
+ | <a id="messaging_destination_kind_exchange"></a> `MESSAGING_DESTINATION_KIND_EXCHANGE` | `"exchange"` | `"exchange"` | [packages/core/src/telemetry.ts:44](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L44) |
775
+ | <a id="messaging_destination_kind_queue"></a> `MESSAGING_DESTINATION_KIND_QUEUE` | `"queue"` | `"queue"` | [packages/core/src/telemetry.ts:45](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L45) |
776
+ | <a id="messaging_message_conversation_id"></a> `MESSAGING_MESSAGE_CONVERSATION_ID` | `"messaging.message.conversation_id"` | `"messaging.message.conversation_id"` | [packages/core/src/telemetry.ts:33](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L33) |
777
+ | <a id="messaging_message_id"></a> `MESSAGING_MESSAGE_ID` | `"messaging.message.id"` | `"messaging.message.id"` | [packages/core/src/telemetry.ts:31](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L31) |
778
+ | <a id="messaging_message_payload_size"></a> `MESSAGING_MESSAGE_PAYLOAD_SIZE` | `"messaging.message.body.size"` | `"messaging.message.body.size"` | [packages/core/src/telemetry.ts:32](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L32) |
779
+ | <a id="messaging_operation"></a> `MESSAGING_OPERATION` | `"messaging.operation"` | `"messaging.operation"` | [packages/core/src/telemetry.ts:30](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L30) |
780
+ | <a id="messaging_operation_process"></a> `MESSAGING_OPERATION_PROCESS` | `"process"` | `"process"` | [packages/core/src/telemetry.ts:48](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L48) |
781
+ | <a id="messaging_operation_publish"></a> `MESSAGING_OPERATION_PUBLISH` | `"publish"` | `"publish"` | [packages/core/src/telemetry.ts:46](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L46) |
782
+ | <a id="messaging_operation_receive"></a> `MESSAGING_OPERATION_RECEIVE` | `"receive"` | `"receive"` | [packages/core/src/telemetry.ts:47](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L47) |
783
+ | <a id="messaging_rabbitmq_message_delivery_tag"></a> `MESSAGING_RABBITMQ_MESSAGE_DELIVERY_TAG` | `"messaging.rabbitmq.message.delivery_tag"` | `"messaging.rabbitmq.message.delivery_tag"` | [packages/core/src/telemetry.ts:37](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L37) |
784
+ | <a id="messaging_rabbitmq_routing_key"></a> `MESSAGING_RABBITMQ_ROUTING_KEY` | `"messaging.rabbitmq.destination.routing_key"` | `"messaging.rabbitmq.destination.routing_key"` | [packages/core/src/telemetry.ts:36](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L36) |
785
+ | <a id="messaging_system"></a> `MESSAGING_SYSTEM` | `"messaging.system"` | `"messaging.system"` | [packages/core/src/telemetry.ts:27](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L27) |
786
+ | <a id="messaging_system_rabbitmq"></a> `MESSAGING_SYSTEM_RABBITMQ` | `"rabbitmq"` | `"rabbitmq"` | [packages/core/src/telemetry.ts:43](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L43) |
787
+
788
+ #### See
789
+
790
+ https://opentelemetry.io/docs/specs/semconv/messaging/messaging-spans/
791
+
792
+ ## Functions
793
+
794
+ ### endSpanError()
795
+
796
+ ```ts
797
+ function endSpanError(span, error): void;
798
+ ```
799
+
800
+ Defined in: [packages/core/src/telemetry.ts:290](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L290)
801
+
802
+ End a span with error status.
803
+
804
+ #### Parameters
805
+
806
+ | Parameter | Type |
807
+ | ------ | ------ |
808
+ | `span` | `Span` \| `undefined` |
809
+ | `error` | `Error` |
810
+
811
+ #### Returns
812
+
813
+ `void`
814
+
815
+ ***
816
+
817
+ ### endSpanSuccess()
818
+
819
+ ```ts
820
+ function endSpanSuccess(span): void;
821
+ ```
822
+
823
+ Defined in: [packages/core/src/telemetry.ts:275](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L275)
824
+
825
+ End a span with success status.
826
+
827
+ #### Parameters
828
+
829
+ | Parameter | Type |
830
+ | ------ | ------ |
831
+ | `span` | `Span` \| `undefined` |
832
+
833
+ #### Returns
834
+
835
+ `void`
836
+
837
+ ***
838
+
839
+ ### recordConsumeMetric()
840
+
841
+ ```ts
842
+ function recordConsumeMetric(
843
+ provider,
844
+ queueName,
845
+ consumerName,
846
+ success,
847
+ durationMs): void;
848
+ ```
849
+
850
+ Defined in: [packages/core/src/telemetry.ts:334](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L334)
851
+
852
+ Record a consume metric.
853
+
854
+ #### Parameters
855
+
856
+ | Parameter | Type |
857
+ | ------ | ------ |
858
+ | `provider` | [`TelemetryProvider`](#telemetryprovider) |
859
+ | `queueName` | `string` |
860
+ | `consumerName` | `string` |
861
+ | `success` | `boolean` |
862
+ | `durationMs` | `number` |
863
+
864
+ #### Returns
865
+
866
+ `void`
867
+
868
+ ***
869
+
870
+ ### recordPublishMetric()
871
+
872
+ ```ts
873
+ function recordPublishMetric(
874
+ provider,
875
+ exchangeName,
876
+ routingKey,
877
+ success,
878
+ durationMs): void;
879
+ ```
880
+
881
+ Defined in: [packages/core/src/telemetry.ts:307](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L307)
882
+
883
+ Record a publish metric.
884
+
885
+ #### Parameters
886
+
887
+ | Parameter | Type |
888
+ | ------ | ------ |
889
+ | `provider` | [`TelemetryProvider`](#telemetryprovider) |
890
+ | `exchangeName` | `string` |
891
+ | `routingKey` | `string` \| `undefined` |
892
+ | `success` | `boolean` |
893
+ | `durationMs` | `number` |
894
+
895
+ #### Returns
896
+
897
+ `void`
898
+
899
+ ***
900
+
901
+ ### setupAmqpTopology()
902
+
903
+ ```ts
904
+ function setupAmqpTopology(channel, contract): Promise<void>;
905
+ ```
906
+
907
+ Defined in: [packages/core/src/setup.ts:25](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/setup.ts#L25)
908
+
909
+ Setup AMQP topology (exchanges, queues, and bindings) from a contract definition.
910
+
911
+ This function sets up the complete AMQP topology in the correct order:
912
+ 1. Assert all exchanges defined in the contract
913
+ 2. Validate dead letter exchanges are declared before referencing them
914
+ 3. Assert all queues with their configurations (including dead letter settings)
915
+ 4. Create all bindings (queue-to-exchange and exchange-to-exchange)
916
+
917
+ #### Parameters
918
+
919
+ | Parameter | Type | Description |
920
+ | ------ | ------ | ------ |
921
+ | `channel` | `Channel` | The AMQP channel to use for topology setup |
922
+ | `contract` | `ContractDefinition` | The contract definition containing the topology specification |
923
+
924
+ #### Returns
925
+
926
+ `Promise`&lt;`void`&gt;
927
+
928
+ #### Throws
929
+
930
+ If any exchanges, queues, or bindings fail to be created
931
+
932
+ #### Throws
933
+
934
+ If a queue references a dead letter exchange not declared in the contract
935
+
936
+ #### Example
937
+
938
+ ```typescript
939
+ const channel = await connection.createChannel();
940
+ await setupAmqpTopology(channel, contract);
941
+ ```
942
+
943
+ ***
944
+
945
+ ### startConsumeSpan()
946
+
947
+ ```ts
948
+ function startConsumeSpan(
949
+ provider,
950
+ queueName,
951
+ consumerName,
952
+ attributes?): Span | undefined;
953
+ ```
954
+
955
+ Defined in: [packages/core/src/telemetry.ts:243](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L243)
956
+
957
+ Create a span for a consume/process operation.
958
+ Returns undefined if OpenTelemetry is not available.
959
+
960
+ #### Parameters
961
+
962
+ | Parameter | Type |
963
+ | ------ | ------ |
964
+ | `provider` | [`TelemetryProvider`](#telemetryprovider) |
965
+ | `queueName` | `string` |
966
+ | `consumerName` | `string` |
967
+ | `attributes?` | `Attributes` |
968
+
969
+ #### Returns
970
+
971
+ `Span` \| `undefined`
972
+
973
+ ***
974
+
975
+ ### startPublishSpan()
976
+
977
+ ```ts
978
+ function startPublishSpan(
979
+ provider,
980
+ exchangeName,
981
+ routingKey,
982
+ attributes?): Span | undefined;
983
+ ```
984
+
985
+ Defined in: [packages/core/src/telemetry.ts:208](https://github.com/btravers/amqp-contract/blob/a7c4b48f76ed6c3c5c7a9d457229c7ba475af3b1/packages/core/src/telemetry.ts#L208)
986
+
987
+ Create a span for a publish operation.
988
+ Returns undefined if OpenTelemetry is not available.
989
+
990
+ #### Parameters
991
+
992
+ | Parameter | Type |
993
+ | ------ | ------ |
994
+ | `provider` | [`TelemetryProvider`](#telemetryprovider) |
995
+ | `exchangeName` | `string` |
996
+ | `routingKey` | `string` \| `undefined` |
997
+ | `attributes?` | `Attributes` |
998
+
999
+ #### Returns
1000
+
1001
+ `Span` \| `undefined`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amqp-contract/core",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "description": "Core utilities for AMQP setup and management in amqp-contract",
5
5
  "keywords": [
6
6
  "amqp",
@@ -46,24 +46,25 @@
46
46
  "module": "./dist/index.mjs",
47
47
  "types": "./dist/index.d.mts",
48
48
  "files": [
49
- "dist"
49
+ "dist",
50
+ "docs"
50
51
  ],
51
52
  "dependencies": {
52
53
  "@swan-io/boxed": "3.2.1",
53
54
  "amqp-connection-manager": "5.0.0",
54
55
  "amqplib": "0.10.9",
55
- "@amqp-contract/contract": "0.13.0"
56
+ "@amqp-contract/contract": "0.15.0"
56
57
  },
57
58
  "devDependencies": {
58
59
  "@opentelemetry/api": "1.9.0",
59
60
  "@types/amqplib": "0.10.8",
60
- "@vitest/coverage-v8": "4.0.17",
61
- "tsdown": "0.19.0",
61
+ "@vitest/coverage-v8": "4.0.18",
62
+ "tsdown": "0.20.3",
62
63
  "typedoc": "0.28.16",
63
64
  "typescript": "5.9.3",
64
- "vitest": "4.0.17",
65
- "zod": "4.3.5",
66
- "@amqp-contract/testing": "0.13.0",
65
+ "vitest": "4.0.18",
66
+ "zod": "4.3.6",
67
+ "@amqp-contract/testing": "0.15.0",
67
68
  "@amqp-contract/tsconfig": "0.1.0",
68
69
  "@amqp-contract/typedoc": "0.1.0"
69
70
  },