@amqp-contract/worker 1.0.0 → 2.0.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/docs/index.md CHANGED
@@ -72,7 +72,7 @@ MessageValidationError_base<{
72
72
 
73
73
  | Property | Modifier | Type | Inherited from | Defined in |
74
74
  | ------ | ------ | ------ | ------ | ------ |
75
- | <a id="_tag"></a> `_tag` | `readonly` | `"@amqp-contract/MessageValidationError"` | `MessageValidationError_base._tag` | node\_modules/.pnpm/unthrown@0.2.0/node\_modules/unthrown/dist/index.d.mts:638 |
75
+ | <a id="_tag"></a> `_tag` | `readonly` | `"@amqp-contract/MessageValidationError"` | `MessageValidationError_base._tag` | node\_modules/.pnpm/unthrown@1.0.0/node\_modules/unthrown/dist/index.d.mts:778 |
76
76
  | <a id="cause"></a> `cause?` | `public` | `unknown` | `MessageValidationError_base.cause` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:24 |
77
77
  | <a id="issues"></a> `issues` | `readonly` | `unknown` | `MessageValidationError_base.issues` | packages/core/dist/index.d.mts:43 |
78
78
  | <a id="message"></a> `message` | `public` | `string` | `MessageValidationError_base.message` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es5.d.ts:1075 |
@@ -84,7 +84,7 @@ MessageValidationError_base<{
84
84
 
85
85
  ### NonRetryableError
86
86
 
87
- Defined in: [packages/worker/src/errors.ts:37](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L37)
87
+ Defined in: [packages/worker/src/errors.ts:37](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L37)
88
88
 
89
89
  Non-retryable errors - permanent failures that should not be retried
90
90
  Examples: invalid data, business rule violations, permanent external failures
@@ -109,7 +109,7 @@ kept bare (`"NonRetryableError"`).
109
109
  new NonRetryableError(message, cause?): NonRetryableError;
110
110
  ```
111
111
 
112
- Defined in: [packages/worker/src/errors.ts:43](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L43)
112
+ Defined in: [packages/worker/src/errors.ts:43](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L43)
113
113
 
114
114
  ###### Parameters
115
115
 
@@ -137,7 +137,7 @@ TaggedError("@amqp-contract/NonRetryableError", {
137
137
 
138
138
  | Property | Modifier | Type | Inherited from | Defined in |
139
139
  | ------ | ------ | ------ | ------ | ------ |
140
- | <a id="_tag-1"></a> `_tag` | `readonly` | `"@amqp-contract/NonRetryableError"` | `TaggedError("@amqp-contract/NonRetryableError", { name: "NonRetryableError", })._tag` | node\_modules/.pnpm/unthrown@0.2.0/node\_modules/unthrown/dist/index.d.mts:638 |
140
+ | <a id="_tag-1"></a> `_tag` | `readonly` | `"@amqp-contract/NonRetryableError"` | `TaggedError("@amqp-contract/NonRetryableError", { name: "NonRetryableError", })._tag` | node\_modules/.pnpm/unthrown@1.0.0/node\_modules/unthrown/dist/index.d.mts:778 |
141
141
  | <a id="cause-1"></a> `cause?` | `public` | `unknown` | [`MessageValidationError`](#messagevalidationerror).[`cause`](#cause) | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:24 |
142
142
  | <a id="message-1"></a> `message` | `public` | `string` | `TaggedError("@amqp-contract/NonRetryableError", { name: "NonRetryableError", }).message` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es5.d.ts:1075 |
143
143
  | <a id="name-1"></a> `name` | `public` | `string` | `TaggedError("@amqp-contract/NonRetryableError", { name: "NonRetryableError", }).name` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es5.d.ts:1074 |
@@ -147,7 +147,7 @@ TaggedError("@amqp-contract/NonRetryableError", {
147
147
 
148
148
  ### RetryableError
149
149
 
150
- Defined in: [packages/worker/src/errors.ts:17](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L17)
150
+ Defined in: [packages/worker/src/errors.ts:17](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L17)
151
151
 
152
152
  Retryable errors - transient failures that may succeed on retry
153
153
  Examples: network timeouts, rate limiting, temporary service unavailability
@@ -175,7 +175,7 @@ kept bare (`"RetryableError"`).
175
175
  new RetryableError(message, cause?): RetryableError;
176
176
  ```
177
177
 
178
- Defined in: [packages/worker/src/errors.ts:23](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L23)
178
+ Defined in: [packages/worker/src/errors.ts:23](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L23)
179
179
 
180
180
  ###### Parameters
181
181
 
@@ -203,7 +203,7 @@ TaggedError("@amqp-contract/RetryableError", {
203
203
 
204
204
  | Property | Modifier | Type | Inherited from | Defined in |
205
205
  | ------ | ------ | ------ | ------ | ------ |
206
- | <a id="_tag-2"></a> `_tag` | `readonly` | `"@amqp-contract/RetryableError"` | `TaggedError("@amqp-contract/RetryableError", { name: "RetryableError", })._tag` | node\_modules/.pnpm/unthrown@0.2.0/node\_modules/unthrown/dist/index.d.mts:638 |
206
+ | <a id="_tag-2"></a> `_tag` | `readonly` | `"@amqp-contract/RetryableError"` | `TaggedError("@amqp-contract/RetryableError", { name: "RetryableError", })._tag` | node\_modules/.pnpm/unthrown@1.0.0/node\_modules/unthrown/dist/index.d.mts:778 |
207
207
  | <a id="cause-2"></a> `cause?` | `public` | `unknown` | [`MessageValidationError`](#messagevalidationerror).[`cause`](#cause) | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es2022.error.d.ts:24 |
208
208
  | <a id="message-2"></a> `message` | `public` | `string` | `TaggedError("@amqp-contract/RetryableError", { name: "RetryableError", }).message` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es5.d.ts:1075 |
209
209
  | <a id="name-2"></a> `name` | `public` | `string` | `TaggedError("@amqp-contract/RetryableError", { name: "RetryableError", }).name` | node\_modules/.pnpm/typescript@6.0.3/node\_modules/typescript/lib/lib.es5.d.ts:1074 |
@@ -213,7 +213,7 @@ TaggedError("@amqp-contract/RetryableError", {
213
213
 
214
214
  ### TypedAmqpWorker
215
215
 
216
- Defined in: [packages/worker/src/worker.ts:189](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L189)
216
+ Defined in: [packages/worker/src/worker.ts:189](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L189)
217
217
 
218
218
  Type-safe AMQP worker for consuming messages from RabbitMQ.
219
219
 
@@ -225,7 +225,7 @@ and error handling for consuming messages based on a contract definition.
225
225
  ```typescript
226
226
  import { TypedAmqpWorker } from '@amqp-contract/worker';
227
227
  import { defineQueue, defineMessage, defineContract, defineConsumer } from '@amqp-contract/contract';
228
- import { ok } from 'unthrown';
228
+ import { Ok } from 'unthrown';
229
229
  import { z } from 'zod';
230
230
 
231
231
  const orderQueue = defineQueue('order-processing');
@@ -245,7 +245,7 @@ const result = await TypedAmqpWorker.create({
245
245
  handlers: {
246
246
  processOrder: ({ payload }) => {
247
247
  console.log('Processing order', payload.orderId);
248
- return ok(undefined).toAsync();
248
+ return Ok(undefined).toAsync();
249
249
  },
250
250
  },
251
251
  urls: ['amqp://localhost'],
@@ -271,7 +271,7 @@ await worker.close();
271
271
  close(): AsyncResult<void, TechnicalError>;
272
272
  ```
273
273
 
274
- Defined in: [packages/worker/src/worker.ts:350](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L350)
274
+ Defined in: [packages/worker/src/worker.ts:350](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L350)
275
275
 
276
276
  Close the AMQP channel and connection.
277
277
 
@@ -297,7 +297,7 @@ if (closeResult.isOk()) {
297
297
  static create<TContract>(__namedParameters): AsyncResult<TypedAmqpWorker<TContract>, TechnicalError>;
298
298
  ```
299
299
 
300
- Defined in: [packages/worker/src/worker.ts:288](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L288)
300
+ Defined in: [packages/worker/src/worker.ts:288](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L288)
301
301
 
302
302
  Create a type-safe AMQP worker from a contract.
303
303
 
@@ -333,7 +333,7 @@ A AsyncResult that resolves to the worker or a TechnicalError.
333
333
  const result = await TypedAmqpWorker.create({
334
334
  contract: myContract,
335
335
  handlers: {
336
- processOrder: ({ payload }) => ok(undefined).toAsync(),
336
+ processOrder: ({ payload }) => Ok(undefined).toAsync(),
337
337
  },
338
338
  urls: ['amqp://localhost'],
339
339
  });
@@ -347,7 +347,7 @@ const result = await TypedAmqpWorker.create({
347
347
  type ConsumerOptions = AmqpClientConsumerOptions;
348
348
  ```
349
349
 
350
- Defined in: [packages/worker/src/worker.ts:58](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L58)
350
+ Defined in: [packages/worker/src/worker.ts:58](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L58)
351
351
 
352
352
  ***
353
353
 
@@ -357,7 +357,7 @@ Defined in: [packages/worker/src/worker.ts:58](https://github.com/btravstack/amq
357
357
  type CreateWorkerOptions<TContract> = object;
358
358
  ```
359
359
 
360
- Defined in: [packages/worker/src/worker.ts:105](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L105)
360
+ Defined in: [packages/worker/src/worker.ts:105](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L105)
361
361
 
362
362
  Options for creating a type-safe AMQP worker.
363
363
 
@@ -370,13 +370,13 @@ const options: CreateWorkerOptions<typeof contract> = {
370
370
  // Simple handler
371
371
  processOrder: ({ payload }) => {
372
372
  console.log('Processing order:', payload.orderId);
373
- return ok(undefined).toAsync();
373
+ return Ok(undefined).toAsync();
374
374
  },
375
375
  // Handler with prefetch configuration
376
376
  processPayment: [
377
377
  ({ payload }) => {
378
378
  console.log('Processing payment:', payload.paymentId);
379
- return ok(undefined).toAsync();
379
+ return Ok(undefined).toAsync();
380
380
  },
381
381
  { prefetch: 10 }
382
382
  ]
@@ -405,14 +405,14 @@ not at the handler level. See `QueueDefinition.retry` for configuration options.
405
405
 
406
406
  | Property | Type | Description | Defined in |
407
407
  | ------ | ------ | ------ | ------ |
408
- | <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [packages/worker/src/worker.ts:122](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L122) |
409
- | <a id="connecttimeoutms"></a> `connectTimeoutMs?` | `number` \| `null` | Maximum time in ms to wait for the AMQP connection to become ready before `create()` resolves to an `err(TechnicalError)`. Defaults to 30s (the [AmqpClient](https://btravstack.github.io/amqp-contract/api/core#amqpclient)'s `DEFAULT_CONNECT_TIMEOUT_MS`). Pass `null` to disable the timeout and let amqp-connection-manager retry indefinitely. | [packages/worker/src/worker.ts:142](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L142) |
410
- | <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying consumers and their message schemas | [packages/worker/src/worker.ts:107](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L107) |
411
- | <a id="defaultconsumeroptions"></a> `defaultConsumerOptions?` | [`ConsumerOptions`](#consumeroptions) | Optional default consumer options applied to all consumer handlers. Handler-specific options provided in tuple form override these defaults. | [packages/worker/src/worker.ts:135](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L135) |
412
- | <a id="handlers"></a> `handlers` | [`WorkerInferHandlers`](#workerinferhandlers)&lt;`TContract`&gt; | Handlers for each `consumers` and `rpcs` entry in the contract. - Regular consumers return `AsyncResult<void, HandlerError>`. - RPC handlers return `AsyncResult<TResponse, HandlerError>` where `TResponse` is inferred from the RPC's response message schema. Use `defineHandler` / `defineHandlers` to create handlers with full type inference. | [packages/worker/src/worker.ts:118](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L118) |
413
- | <a id="logger"></a> `logger?` | `Logger` | Optional logger for logging message consumption and errors | [packages/worker/src/worker.ts:124](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L124) |
414
- | <a id="telemetry"></a> `telemetry?` | `TelemetryProvider` | Optional telemetry provider for tracing and metrics. If not provided, uses the default provider which attempts to load OpenTelemetry. OpenTelemetry instrumentation is automatically enabled if @opentelemetry/api is installed. | [packages/worker/src/worker.ts:130](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L130) |
415
- | <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [packages/worker/src/worker.ts:120](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/worker.ts#L120) |
408
+ | <a id="connectionoptions"></a> `connectionOptions?` | `AmqpConnectionManagerOptions` | Optional connection configuration (heartbeat, reconnect settings, etc.) | [packages/worker/src/worker.ts:122](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L122) |
409
+ | <a id="connecttimeoutms"></a> `connectTimeoutMs?` | `number` \| `null` | Maximum time in ms to wait for the AMQP connection to become ready before `create()` resolves to an `Err(TechnicalError)`. Defaults to 30s (the [AmqpClient](https://btravstack.github.io/amqp-contract/api/core#amqpclient)'s `DEFAULT_CONNECT_TIMEOUT_MS`). Pass `null` to disable the timeout and let amqp-connection-manager retry indefinitely. | [packages/worker/src/worker.ts:142](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L142) |
410
+ | <a id="contract"></a> `contract` | `TContract` | The AMQP contract definition specifying consumers and their message schemas | [packages/worker/src/worker.ts:107](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L107) |
411
+ | <a id="defaultconsumeroptions"></a> `defaultConsumerOptions?` | [`ConsumerOptions`](#consumeroptions) | Optional default consumer options applied to all consumer handlers. Handler-specific options provided in tuple form override these defaults. | [packages/worker/src/worker.ts:135](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L135) |
412
+ | <a id="handlers"></a> `handlers` | [`WorkerInferHandlers`](#workerinferhandlers)&lt;`TContract`&gt; | Handlers for each `consumers` and `rpcs` entry in the contract. - Regular consumers return `AsyncResult<void, HandlerError>`. - RPC handlers return `AsyncResult<TResponse, HandlerError>` where `TResponse` is inferred from the RPC's response message schema. Use `defineHandler` / `defineHandlers` to create handlers with full type inference. | [packages/worker/src/worker.ts:118](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L118) |
413
+ | <a id="logger"></a> `logger?` | `Logger` | Optional logger for logging message consumption and errors | [packages/worker/src/worker.ts:124](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L124) |
414
+ | <a id="telemetry"></a> `telemetry?` | `TelemetryProvider` | Optional telemetry provider for tracing and metrics. If not provided, uses the default provider which attempts to load OpenTelemetry. OpenTelemetry instrumentation is automatically enabled if @opentelemetry/api is installed. | [packages/worker/src/worker.ts:130](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L130) |
415
+ | <a id="urls"></a> `urls` | `ConnectionUrl`[] | AMQP broker URL(s). Multiple URLs provide failover support | [packages/worker/src/worker.ts:120](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/worker.ts#L120) |
416
416
 
417
417
  ***
418
418
 
@@ -424,7 +424,7 @@ type HandlerError =
424
424
  | NonRetryableError;
425
425
  ```
426
426
 
427
- Defined in: [packages/worker/src/errors.ts:58](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L58)
427
+ Defined in: [packages/worker/src/errors.ts:58](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L58)
428
428
 
429
429
  Any handler-signalled error — the union a handler may put in the `Err`
430
430
  channel of its `AsyncResult`. Discriminate on `_tag`
@@ -443,7 +443,7 @@ for runtime narrowing instead of `instanceof HandlerError`.
443
443
  type WorkerConsumedMessage<TPayload, THeaders> = object;
444
444
  ```
445
445
 
446
- Defined in: [packages/worker/src/types.ts:156](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L156)
446
+ Defined in: [packages/worker/src/types.ts:156](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L156)
447
447
 
448
448
  A consumed message containing parsed payload and headers.
449
449
 
@@ -457,7 +457,7 @@ const handler = defineHandler(contract, 'processOrder', (message, rawMessage) =>
457
457
  console.log(message.payload.orderId); // Typed payload
458
458
  console.log(message.headers?.priority); // Typed headers (if defined)
459
459
  console.log(rawMessage.fields.deliveryTag); // Raw AMQP message
460
- return ok(undefined).toAsync();
460
+ return Ok(undefined).toAsync();
461
461
  });
462
462
  ```
463
463
 
@@ -472,8 +472,8 @@ const handler = defineHandler(contract, 'processOrder', (message, rawMessage) =>
472
472
 
473
473
  | Property | Type | Description | Defined in |
474
474
  | ------ | ------ | ------ | ------ |
475
- | <a id="headers"></a> `headers` | `THeaders` *extends* `undefined` ? `undefined` : `THeaders` | The validated message headers (present only when headers schema is defined) | [packages/worker/src/types.ts:160](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L160) |
476
- | <a id="payload"></a> `payload` | `TPayload` | The validated message payload | [packages/worker/src/types.ts:158](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L158) |
475
+ | <a id="headers"></a> `headers` | `THeaders` *extends* `undefined` ? `undefined` : `THeaders` | The validated message headers (present only when headers schema is defined) | [packages/worker/src/types.ts:160](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L160) |
476
+ | <a id="payload"></a> `payload` | `TPayload` | The validated message payload | [packages/worker/src/types.ts:158](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L158) |
477
477
 
478
478
  ***
479
479
 
@@ -483,7 +483,7 @@ const handler = defineHandler(contract, 'processOrder', (message, rawMessage) =>
483
483
  type WorkerInferConsumedMessage<TContract, TName> = WorkerConsumedMessage<WorkerInferConsumerPayload<TContract, TName>, WorkerInferConsumerHeaders<TContract, TName>>;
484
484
  ```
485
485
 
486
- Defined in: [packages/worker/src/types.ts:166](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L166)
486
+ Defined in: [packages/worker/src/types.ts:166](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L166)
487
487
 
488
488
  Infer the full consumed message type for a regular consumer.
489
489
 
@@ -502,7 +502,7 @@ Infer the full consumed message type for a regular consumer.
502
502
  type WorkerInferConsumerHandler<TContract, TName> = (message, rawMessage) => AsyncResult<void, HandlerError>;
503
503
  ```
504
504
 
505
- Defined in: [packages/worker/src/types.ts:197](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L197)
505
+ Defined in: [packages/worker/src/types.ts:197](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L197)
506
506
 
507
507
  Handler signature for a regular consumer (event/command). Returns
508
508
  `AsyncResult<void, HandlerError>` — there is no response message.
@@ -535,7 +535,7 @@ type WorkerInferConsumerHandlerEntry<TContract, TName> =
535
535
  | readonly [WorkerInferConsumerHandler<TContract, TName>, ConsumerOptions];
536
536
  ```
537
537
 
538
- Defined in: [packages/worker/src/types.ts:223](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L223)
538
+ Defined in: [packages/worker/src/types.ts:223](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L223)
539
539
 
540
540
  Handler entry for a regular consumer — function or `[handler, options]`.
541
541
 
@@ -554,7 +554,7 @@ Handler entry for a regular consumer — function or `[handler, options]`.
554
554
  type WorkerInferConsumerHeaders<TContract, TName> = ConsumerInferHeadersOutput<InferConsumer<TContract, TName>>;
555
555
  ```
556
556
 
557
- Defined in: [packages/worker/src/types.ts:85](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L85)
557
+ Defined in: [packages/worker/src/types.ts:85](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L85)
558
558
 
559
559
  Infer the headers type for a regular consumer.
560
560
  Returns undefined if no headers schema is defined.
@@ -574,7 +574,7 @@ Returns undefined if no headers schema is defined.
574
574
  type WorkerInferHandlers<TContract> = [InferConsumerNames<TContract>] extends [never] ? object : { [K in InferConsumerNames<TContract>]: WorkerInferConsumerHandlerEntry<TContract, K> } & [InferRpcNames<TContract>] extends [never] ? object : { [K in InferRpcNames<TContract>]: WorkerInferRpcHandlerEntry<TContract, K> };
575
575
  ```
576
576
 
577
- Defined in: [packages/worker/src/types.ts:257](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L257)
577
+ Defined in: [packages/worker/src/types.ts:257](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L257)
578
578
 
579
579
  All handlers for a contract: one entry per `consumers` key plus one entry
580
580
  per `rpcs` key. The two name spaces are disjoint so the resulting object
@@ -595,7 +595,7 @@ const handlers: WorkerInferHandlers<typeof contract> = {
595
595
  processPayment(payload),
596
596
  (error) => new RetryableError('Payment failed', error),
597
597
  ).map(() => undefined),
598
- calculate: ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
598
+ calculate: ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
599
599
  };
600
600
  ```
601
601
 
@@ -607,7 +607,7 @@ const handlers: WorkerInferHandlers<typeof contract> = {
607
607
  type WorkerInferRpcConsumedMessage<TContract, TName> = WorkerConsumedMessage<WorkerInferRpcRequest<TContract, TName>, WorkerInferRpcHeaders<TContract, TName>>;
608
608
  ```
609
609
 
610
- Defined in: [packages/worker/src/types.ts:178](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L178)
610
+ Defined in: [packages/worker/src/types.ts:178](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L178)
611
611
 
612
612
  Infer the consumed message type for an RPC handler — payload + headers from
613
613
  the request side of the RPC.
@@ -627,7 +627,7 @@ the request side of the RPC.
627
627
  type WorkerInferRpcHandler<TContract, TName> = (message, rawMessage) => AsyncResult<WorkerInferRpcResponse<TContract, TName>, HandlerError>;
628
628
  ```
629
629
 
630
- Defined in: [packages/worker/src/types.ts:212](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L212)
630
+ Defined in: [packages/worker/src/types.ts:212](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L212)
631
631
 
632
632
  Handler signature for an RPC. Returns
633
633
  `AsyncResult<TResponse, HandlerError>` where `TResponse` is the inferred
@@ -663,7 +663,7 @@ type WorkerInferRpcHandlerEntry<TContract, TName> =
663
663
  | readonly [WorkerInferRpcHandler<TContract, TName>, ConsumerOptions];
664
664
  ```
665
665
 
666
- Defined in: [packages/worker/src/types.ts:233](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L233)
666
+ Defined in: [packages/worker/src/types.ts:233](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L233)
667
667
 
668
668
  Handler entry for an RPC — function or `[handler, options]`.
669
669
 
@@ -682,7 +682,7 @@ Handler entry for an RPC — function or `[handler, options]`.
682
682
  type WorkerInferRpcHeaders<TContract, TName> = InferRpc<TContract, TName> extends RpcDefinition<infer TRequest, MessageDefinition> ? TRequest extends MessageDefinition<infer _TPayload, infer THeaders> ? THeaders extends StandardSchemaV1<Record<string, unknown>> ? InferSchemaOutput<THeaders> : undefined : undefined : undefined;
683
683
  ```
684
684
 
685
- Defined in: [packages/worker/src/types.ts:107](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L107)
685
+ Defined in: [packages/worker/src/types.ts:107](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L107)
686
686
 
687
687
  Infer the request headers type for an RPC. Returns undefined unless the RPC's
688
688
  request `MessageDefinition` declares a headers schema.
@@ -702,7 +702,7 @@ request `MessageDefinition` declares a headers schema.
702
702
  type WorkerInferRpcRequest<TContract, TName> = InferRpc<TContract, TName> extends RpcDefinition<infer TRequest, MessageDefinition> ? TRequest extends MessageDefinition ? InferSchemaOutput<TRequest["payload"]> : never : never;
703
703
  ```
704
704
 
705
- Defined in: [packages/worker/src/types.ts:93](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L93)
705
+ Defined in: [packages/worker/src/types.ts:93](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L93)
706
706
 
707
707
  Infer the request payload type for an RPC.
708
708
 
@@ -721,7 +721,7 @@ Infer the request payload type for an RPC.
721
721
  type WorkerInferRpcResponse<TContract, TName> = InferRpc<TContract, TName> extends RpcDefinition<MessageDefinition, infer TResponse> ? TResponse extends MessageDefinition ? InferSchemaOutput<TResponse["payload"]> : never : never;
722
722
  ```
723
723
 
724
- Defined in: [packages/worker/src/types.ts:123](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/types.ts#L123)
724
+ Defined in: [packages/worker/src/types.ts:123](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/types.ts#L123)
725
725
 
726
726
  Infer the response payload type for an RPC. The handler must return a
727
727
  `AsyncResult<TResponse, HandlerError>` matching this shape.
@@ -746,7 +746,7 @@ function defineHandler<TContract, TName>(
746
746
  handler): WorkerInferConsumerHandlerEntry<TContract, TName>;
747
747
  ```
748
748
 
749
- Defined in: [packages/worker/src/handlers.ts:121](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/handlers.ts#L121)
749
+ Defined in: [packages/worker/src/handlers.ts:121](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/handlers.ts#L121)
750
750
 
751
751
  Define a type-safe handler for a specific consumer or RPC in a contract.
752
752
 
@@ -786,7 +786,7 @@ A type-safe handler that can be used with TypedAmqpWorker
786
786
 
787
787
  ```typescript
788
788
  import { defineHandler, RetryableError, NonRetryableError } from '@amqp-contract/worker';
789
- import { fromPromise, ok } from 'unthrown';
789
+ import { fromPromise, Ok } from 'unthrown';
790
790
 
791
791
  const processOrderHandler = defineHandler(
792
792
  orderContract,
@@ -805,7 +805,7 @@ const processOrderHandler = defineHandler(
805
805
  const calculateHandler = defineHandler(
806
806
  rpcContract,
807
807
  'calculate',
808
- ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
808
+ ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
809
809
  );
810
810
  ```
811
811
 
@@ -819,7 +819,7 @@ function defineHandler<TContract, TName>(
819
819
  options): WorkerInferConsumerHandlerEntry<TContract, TName>;
820
820
  ```
821
821
 
822
- Defined in: [packages/worker/src/handlers.ts:129](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/handlers.ts#L129)
822
+ Defined in: [packages/worker/src/handlers.ts:129](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/handlers.ts#L129)
823
823
 
824
824
  Define a type-safe handler for a specific consumer or RPC in a contract.
825
825
 
@@ -860,7 +860,7 @@ A type-safe handler that can be used with TypedAmqpWorker
860
860
 
861
861
  ```typescript
862
862
  import { defineHandler, RetryableError, NonRetryableError } from '@amqp-contract/worker';
863
- import { fromPromise, ok } from 'unthrown';
863
+ import { fromPromise, Ok } from 'unthrown';
864
864
 
865
865
  const processOrderHandler = defineHandler(
866
866
  orderContract,
@@ -879,7 +879,7 @@ const processOrderHandler = defineHandler(
879
879
  const calculateHandler = defineHandler(
880
880
  rpcContract,
881
881
  'calculate',
882
- ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
882
+ ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
883
883
  );
884
884
  ```
885
885
 
@@ -892,7 +892,7 @@ function defineHandler<TContract, TName>(
892
892
  handler): WorkerInferRpcHandlerEntry<TContract, TName>;
893
893
  ```
894
894
 
895
- Defined in: [packages/worker/src/handlers.ts:138](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/handlers.ts#L138)
895
+ Defined in: [packages/worker/src/handlers.ts:138](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/handlers.ts#L138)
896
896
 
897
897
  Define a type-safe handler for a specific consumer or RPC in a contract.
898
898
 
@@ -932,7 +932,7 @@ A type-safe handler that can be used with TypedAmqpWorker
932
932
 
933
933
  ```typescript
934
934
  import { defineHandler, RetryableError, NonRetryableError } from '@amqp-contract/worker';
935
- import { fromPromise, ok } from 'unthrown';
935
+ import { fromPromise, Ok } from 'unthrown';
936
936
 
937
937
  const processOrderHandler = defineHandler(
938
938
  orderContract,
@@ -951,7 +951,7 @@ const processOrderHandler = defineHandler(
951
951
  const calculateHandler = defineHandler(
952
952
  rpcContract,
953
953
  'calculate',
954
- ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
954
+ ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
955
955
  );
956
956
  ```
957
957
 
@@ -965,7 +965,7 @@ function defineHandler<TContract, TName>(
965
965
  options): WorkerInferRpcHandlerEntry<TContract, TName>;
966
966
  ```
967
967
 
968
- Defined in: [packages/worker/src/handlers.ts:146](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/handlers.ts#L146)
968
+ Defined in: [packages/worker/src/handlers.ts:146](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/handlers.ts#L146)
969
969
 
970
970
  Define a type-safe handler for a specific consumer or RPC in a contract.
971
971
 
@@ -1006,7 +1006,7 @@ A type-safe handler that can be used with TypedAmqpWorker
1006
1006
 
1007
1007
  ```typescript
1008
1008
  import { defineHandler, RetryableError, NonRetryableError } from '@amqp-contract/worker';
1009
- import { fromPromise, ok } from 'unthrown';
1009
+ import { fromPromise, Ok } from 'unthrown';
1010
1010
 
1011
1011
  const processOrderHandler = defineHandler(
1012
1012
  orderContract,
@@ -1025,7 +1025,7 @@ const processOrderHandler = defineHandler(
1025
1025
  const calculateHandler = defineHandler(
1026
1026
  rpcContract,
1027
1027
  'calculate',
1028
- ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
1028
+ ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
1029
1029
  );
1030
1030
  ```
1031
1031
 
@@ -1037,7 +1037,7 @@ const calculateHandler = defineHandler(
1037
1037
  function defineHandlers<TContract>(contract, handlers): WorkerInferHandlers<TContract>;
1038
1038
  ```
1039
1039
 
1040
- Defined in: [packages/worker/src/handlers.ts:198](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/handlers.ts#L198)
1040
+ Defined in: [packages/worker/src/handlers.ts:198](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/handlers.ts#L198)
1041
1041
 
1042
1042
  Define multiple type-safe handlers for consumers and RPCs in a contract.
1043
1043
 
@@ -1072,7 +1072,7 @@ A type-safe handlers object that can be used with TypedAmqpWorker
1072
1072
 
1073
1073
  ```typescript
1074
1074
  import { defineHandlers, RetryableError } from '@amqp-contract/worker';
1075
- import { fromPromise, ok } from 'unthrown';
1075
+ import { fromPromise, Ok } from 'unthrown';
1076
1076
 
1077
1077
  const handlers = defineHandlers(orderContract, {
1078
1078
  processOrder: ({ payload }) =>
@@ -1080,7 +1080,7 @@ const handlers = defineHandlers(orderContract, {
1080
1080
  processPayment(payload),
1081
1081
  (error) => new RetryableError('Payment failed', error),
1082
1082
  ).map(() => undefined),
1083
- calculate: ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
1083
+ calculate: ({ payload }) => Ok({ sum: payload.a + payload.b }).toAsync(),
1084
1084
  });
1085
1085
  ```
1086
1086
 
@@ -1092,7 +1092,7 @@ const handlers = defineHandlers(orderContract, {
1092
1092
  function isHandlerError(error): error is HandlerError;
1093
1093
  ```
1094
1094
 
1095
- Defined in: [packages/worker/src/errors.ts:134](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L134)
1095
+ Defined in: [packages/worker/src/errors.ts:134](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L134)
1096
1096
 
1097
1097
  Type guard to check if an error is any HandlerError (RetryableError or NonRetryableError).
1098
1098
 
@@ -1129,7 +1129,7 @@ function handleError(error: unknown) {
1129
1129
  function isNonRetryableError(error): error is NonRetryableError;
1130
1130
  ```
1131
1131
 
1132
- Defined in: [packages/worker/src/errors.ts:112](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L112)
1132
+ Defined in: [packages/worker/src/errors.ts:112](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L112)
1133
1133
 
1134
1134
  Type guard to check if an error is a NonRetryableError.
1135
1135
 
@@ -1169,7 +1169,7 @@ try {
1169
1169
  function isRetryableError(error): error is RetryableError;
1170
1170
  ```
1171
1171
 
1172
- Defined in: [packages/worker/src/errors.ts:87](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L87)
1172
+ Defined in: [packages/worker/src/errors.ts:87](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L87)
1173
1173
 
1174
1174
  Type guard to check if an error is a RetryableError.
1175
1175
 
@@ -1211,7 +1211,7 @@ try {
1211
1211
  function nonRetryable(message, cause?): NonRetryableError;
1212
1212
  ```
1213
1213
 
1214
- Defined in: [packages/worker/src/errors.ts:197](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L197)
1214
+ Defined in: [packages/worker/src/errors.ts:197](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L197)
1215
1215
 
1216
1216
  Create a NonRetryableError with less verbosity.
1217
1217
 
@@ -1235,17 +1235,17 @@ A new NonRetryableError instance
1235
1235
 
1236
1236
  ```typescript
1237
1237
  import { nonRetryable } from '@amqp-contract/worker';
1238
- import { err, ok } from 'unthrown';
1238
+ import { Err, Ok } from 'unthrown';
1239
1239
 
1240
1240
  const handler = ({ payload }) => {
1241
1241
  if (!isValidPayload(payload)) {
1242
- return err(nonRetryable('Invalid payload format')).toAsync();
1242
+ return Err(nonRetryable('Invalid payload format')).toAsync();
1243
1243
  }
1244
- return ok(undefined).toAsync();
1244
+ return Ok(undefined).toAsync();
1245
1245
  };
1246
1246
 
1247
1247
  // Equivalent to:
1248
- // return err(new NonRetryableError('Invalid payload format')).toAsync();
1248
+ // return Err(new NonRetryableError('Invalid payload format')).toAsync();
1249
1249
  ```
1250
1250
 
1251
1251
  ***
@@ -1256,7 +1256,7 @@ const handler = ({ payload }) => {
1256
1256
  function retryable(message, cause?): RetryableError;
1257
1257
  ```
1258
1258
 
1259
- Defined in: [packages/worker/src/errors.ts:167](https://github.com/btravstack/amqp-contract/blob/5bdec81d9ab13131c5b7f699c426616cfbed2b5f/packages/worker/src/errors.ts#L167)
1259
+ Defined in: [packages/worker/src/errors.ts:167](https://github.com/btravstack/amqp-contract/blob/cbafe3c4c44a5efd57ab3b8ebb53564b509d9d31/packages/worker/src/errors.ts#L167)
1260
1260
 
1261
1261
  Create a RetryableError with less verbosity.
1262
1262
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amqp-contract/worker",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "description": "Worker utilities for consuming messages using amqp-contract",
5
5
  "keywords": [
6
6
  "amqp",
@@ -51,13 +51,13 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@standard-schema/spec": "1.1.0",
54
- "unthrown": "0.2.0",
55
- "@amqp-contract/contract": "1.0.0",
56
- "@amqp-contract/core": "1.0.0"
54
+ "unthrown": "1.0.0",
55
+ "@amqp-contract/contract": "2.0.0",
56
+ "@amqp-contract/core": "2.0.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "24.13.2",
60
- "@unthrown/vitest": "0.2.0",
60
+ "@unthrown/vitest": "1.0.0",
61
61
  "@vitest/coverage-v8": "4.1.9",
62
62
  "amqp-connection-manager": "5.0.0",
63
63
  "amqplib": "2.0.1",
@@ -67,7 +67,7 @@
67
67
  "typescript": "6.0.3",
68
68
  "vitest": "4.1.9",
69
69
  "zod": "4.4.3",
70
- "@amqp-contract/testing": "1.0.0",
70
+ "@amqp-contract/testing": "2.0.0",
71
71
  "@amqp-contract/tsconfig": "0.1.0",
72
72
  "@amqp-contract/typedoc": "0.1.0"
73
73
  },