@amqp-contract/worker 0.24.0 → 1.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/README.md +18 -18
- package/dist/index.cjs +227 -159
- package/dist/index.d.cts +269 -88
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +269 -88
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +221 -153
- package/dist/index.mjs.map +1 -1
- package/docs/index.md +499 -466
- package/package.json +18 -15
package/dist/index.d.mts
CHANGED
|
@@ -1,14 +1,148 @@
|
|
|
1
1
|
import { ConsumerDefinition, ConsumerEntry, ContractDefinition, InferConsumerNames, InferRpcNames, MessageDefinition, RpcDefinition } from "@amqp-contract/contract";
|
|
2
2
|
import { ConsumerOptions as ConsumerOptions$1, Logger, MessageValidationError, TechnicalError, TelemetryProvider } from "@amqp-contract/core";
|
|
3
|
-
import {
|
|
4
|
-
import * as amqp from "amqplib";
|
|
5
|
-
import { ConsumeMessage } from "amqplib";
|
|
6
|
-
import { TcpSocketConnectOpts } from "net";
|
|
3
|
+
import { AsyncResult } from "unthrown";
|
|
7
4
|
import { ConnectionOptions } from "tls";
|
|
5
|
+
import { TcpSocketConnectOpts } from "net";
|
|
8
6
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
9
7
|
|
|
10
|
-
//#region ../../node_modules/.pnpm/
|
|
11
|
-
|
|
8
|
+
//#region ../../node_modules/.pnpm/amqplib@2.0.1/node_modules/amqplib/lib/properties.d.ts
|
|
9
|
+
declare namespace Options {
|
|
10
|
+
interface Connect {
|
|
11
|
+
protocol?: string;
|
|
12
|
+
hostname?: string;
|
|
13
|
+
port?: number;
|
|
14
|
+
username?: string;
|
|
15
|
+
password?: string;
|
|
16
|
+
locale?: string;
|
|
17
|
+
frameMax?: number;
|
|
18
|
+
heartbeat?: number;
|
|
19
|
+
vhost?: string;
|
|
20
|
+
channelMax?: number;
|
|
21
|
+
credentials?: {
|
|
22
|
+
mechanism: string;
|
|
23
|
+
response(): Buffer;
|
|
24
|
+
username?: string;
|
|
25
|
+
password?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
interface AssertQueue {
|
|
29
|
+
exclusive?: boolean;
|
|
30
|
+
durable?: boolean;
|
|
31
|
+
autoDelete?: boolean;
|
|
32
|
+
arguments?: any;
|
|
33
|
+
messageTtl?: number;
|
|
34
|
+
expires?: number;
|
|
35
|
+
deadLetterExchange?: string;
|
|
36
|
+
deadLetterRoutingKey?: string;
|
|
37
|
+
maxLength?: number;
|
|
38
|
+
maxPriority?: number;
|
|
39
|
+
overflow?: string;
|
|
40
|
+
queueMode?: string;
|
|
41
|
+
}
|
|
42
|
+
interface DeleteQueue {
|
|
43
|
+
ifUnused?: boolean;
|
|
44
|
+
ifEmpty?: boolean;
|
|
45
|
+
}
|
|
46
|
+
interface AssertExchange {
|
|
47
|
+
durable?: boolean;
|
|
48
|
+
internal?: boolean;
|
|
49
|
+
autoDelete?: boolean;
|
|
50
|
+
alternateExchange?: string;
|
|
51
|
+
arguments?: any;
|
|
52
|
+
}
|
|
53
|
+
interface DeleteExchange {
|
|
54
|
+
ifUnused?: boolean;
|
|
55
|
+
}
|
|
56
|
+
interface Publish {
|
|
57
|
+
expiration?: string | number;
|
|
58
|
+
userId?: string;
|
|
59
|
+
CC?: string | string[];
|
|
60
|
+
mandatory?: boolean;
|
|
61
|
+
persistent?: boolean;
|
|
62
|
+
deliveryMode?: boolean | number;
|
|
63
|
+
BCC?: string | string[];
|
|
64
|
+
contentType?: string;
|
|
65
|
+
contentEncoding?: string;
|
|
66
|
+
headers?: any;
|
|
67
|
+
priority?: number;
|
|
68
|
+
correlationId?: string;
|
|
69
|
+
replyTo?: string;
|
|
70
|
+
messageId?: string;
|
|
71
|
+
timestamp?: number;
|
|
72
|
+
type?: string;
|
|
73
|
+
appId?: string;
|
|
74
|
+
}
|
|
75
|
+
interface Consume {
|
|
76
|
+
consumerTag?: string;
|
|
77
|
+
noLocal?: boolean;
|
|
78
|
+
noAck?: boolean;
|
|
79
|
+
exclusive?: boolean;
|
|
80
|
+
priority?: number;
|
|
81
|
+
arguments?: any;
|
|
82
|
+
}
|
|
83
|
+
interface Get {
|
|
84
|
+
noAck?: boolean;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
interface Message {
|
|
88
|
+
content: Buffer;
|
|
89
|
+
fields: MessageFields;
|
|
90
|
+
properties: MessageProperties;
|
|
91
|
+
}
|
|
92
|
+
interface ConsumeMessage extends Message {
|
|
93
|
+
fields: ConsumeMessageFields;
|
|
94
|
+
}
|
|
95
|
+
interface CommonMessageFields {
|
|
96
|
+
deliveryTag: number;
|
|
97
|
+
redelivered: boolean;
|
|
98
|
+
exchange: string;
|
|
99
|
+
routingKey: string;
|
|
100
|
+
}
|
|
101
|
+
interface MessageFields extends CommonMessageFields {
|
|
102
|
+
messageCount?: number;
|
|
103
|
+
consumerTag?: string;
|
|
104
|
+
}
|
|
105
|
+
interface ConsumeMessageFields extends CommonMessageFields {
|
|
106
|
+
consumerTag: string;
|
|
107
|
+
}
|
|
108
|
+
interface MessageProperties {
|
|
109
|
+
contentType: any | undefined;
|
|
110
|
+
contentEncoding: any | undefined;
|
|
111
|
+
headers: MessagePropertyHeaders | undefined;
|
|
112
|
+
deliveryMode: any | undefined;
|
|
113
|
+
priority: any | undefined;
|
|
114
|
+
correlationId: any | undefined;
|
|
115
|
+
replyTo: any | undefined;
|
|
116
|
+
expiration: any | undefined;
|
|
117
|
+
messageId: any | undefined;
|
|
118
|
+
timestamp: any | undefined;
|
|
119
|
+
type: any | undefined;
|
|
120
|
+
userId: any | undefined;
|
|
121
|
+
appId: any | undefined;
|
|
122
|
+
clusterId: any | undefined;
|
|
123
|
+
}
|
|
124
|
+
interface MessagePropertyHeaders {
|
|
125
|
+
'x-first-death-exchange'?: string;
|
|
126
|
+
'x-first-death-queue'?: string;
|
|
127
|
+
'x-first-death-reason'?: string;
|
|
128
|
+
'x-death'?: XDeath[];
|
|
129
|
+
[key: string]: any;
|
|
130
|
+
}
|
|
131
|
+
interface XDeath {
|
|
132
|
+
count: number;
|
|
133
|
+
reason: 'rejected' | 'expired' | 'maxlen';
|
|
134
|
+
queue: string;
|
|
135
|
+
time: {
|
|
136
|
+
'!': 'timestamp';
|
|
137
|
+
value: number;
|
|
138
|
+
};
|
|
139
|
+
exchange: string;
|
|
140
|
+
'original-expiration'?: any;
|
|
141
|
+
'routing-keys': string[];
|
|
142
|
+
}
|
|
143
|
+
//#endregion
|
|
144
|
+
//#region ../../node_modules/.pnpm/amqp-connection-manager@5.0.0_amqplib@2.0.1/node_modules/amqp-connection-manager/dist/types/AmqpConnectionManager.d.ts
|
|
145
|
+
type ConnectionUrl = string | Options.Connect | {
|
|
12
146
|
url: string;
|
|
13
147
|
connectionOptions?: AmqpConnectionOptions;
|
|
14
148
|
};
|
|
@@ -49,31 +183,50 @@ interface AmqpConnectionManagerOptions {
|
|
|
49
183
|
}
|
|
50
184
|
//#endregion
|
|
51
185
|
//#region src/errors.d.ts
|
|
186
|
+
declare const RetryableError_base: import("unthrown").TaggedErrorConstructor<"@amqp-contract/RetryableError">;
|
|
52
187
|
/**
|
|
53
188
|
* Retryable errors - transient failures that may succeed on retry
|
|
54
189
|
* Examples: network timeouts, rate limiting, temporary service unavailability
|
|
55
190
|
*
|
|
56
191
|
* Use this error type when the operation might succeed if retried.
|
|
57
192
|
* The worker will apply exponential backoff and retry the message.
|
|
193
|
+
*
|
|
194
|
+
* Built on unthrown's {@link TaggedError}, so it carries a namespaced `_tag` of
|
|
195
|
+
* `"@amqp-contract/RetryableError"` (to avoid colliding with other libraries'
|
|
196
|
+
* tags in a shared `matchTags`) for exhaustive dispatch; the `Error.name` is
|
|
197
|
+
* kept bare (`"RetryableError"`).
|
|
58
198
|
*/
|
|
59
|
-
declare class RetryableError extends
|
|
60
|
-
|
|
61
|
-
|
|
199
|
+
declare class RetryableError extends RetryableError_base<{
|
|
200
|
+
message: string;
|
|
201
|
+
cause?: unknown;
|
|
202
|
+
}> {
|
|
203
|
+
constructor(message: string, cause?: unknown);
|
|
62
204
|
}
|
|
205
|
+
declare const NonRetryableError_base: import("unthrown").TaggedErrorConstructor<"@amqp-contract/NonRetryableError">;
|
|
63
206
|
/**
|
|
64
207
|
* Non-retryable errors - permanent failures that should not be retried
|
|
65
208
|
* Examples: invalid data, business rule violations, permanent external failures
|
|
66
209
|
*
|
|
67
210
|
* Use this error type when retrying would not help - the message will be
|
|
68
|
-
* immediately sent to the dead letter queue (DLQ) if configured.
|
|
211
|
+
* immediately sent to the dead letter queue (DLQ) if configured. Carries a
|
|
212
|
+
* namespaced `_tag` of `"@amqp-contract/NonRetryableError"`; the `Error.name` is
|
|
213
|
+
* kept bare (`"NonRetryableError"`).
|
|
69
214
|
*/
|
|
70
|
-
declare class NonRetryableError extends
|
|
71
|
-
|
|
72
|
-
|
|
215
|
+
declare class NonRetryableError extends NonRetryableError_base<{
|
|
216
|
+
message: string;
|
|
217
|
+
cause?: unknown;
|
|
218
|
+
}> {
|
|
219
|
+
constructor(message: string, cause?: unknown);
|
|
73
220
|
}
|
|
74
221
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
222
|
+
* Any handler-signalled error — the union a handler may put in the `Err`
|
|
223
|
+
* channel of its `AsyncResult`. Discriminate on `_tag`
|
|
224
|
+
* (`"@amqp-contract/RetryableError"` / `"@amqp-contract/NonRetryableError"`),
|
|
225
|
+
* e.g. with `matchTags`.
|
|
226
|
+
*
|
|
227
|
+
* Previously an abstract base class; now a tagged union, because unthrown's
|
|
228
|
+
* `TaggedError` mints a distinct base class per tag. Use {@link isHandlerError}
|
|
229
|
+
* for runtime narrowing instead of `instanceof HandlerError`.
|
|
77
230
|
*/
|
|
78
231
|
type HandlerError = RetryableError | NonRetryableError;
|
|
79
232
|
/**
|
|
@@ -154,16 +307,16 @@ declare function isHandlerError(error: unknown): error is HandlerError;
|
|
|
154
307
|
* @example
|
|
155
308
|
* ```typescript
|
|
156
309
|
* import { retryable } from '@amqp-contract/worker';
|
|
157
|
-
* import {
|
|
310
|
+
* import { fromPromise } from 'unthrown';
|
|
158
311
|
*
|
|
159
312
|
* const handler = ({ payload }) =>
|
|
160
|
-
*
|
|
313
|
+
* fromPromise(
|
|
161
314
|
* processPayment(payload),
|
|
162
315
|
* (e) => retryable('Payment service unavailable', e),
|
|
163
316
|
* ).map(() => undefined);
|
|
164
317
|
*
|
|
165
318
|
* // Equivalent to:
|
|
166
|
-
* //
|
|
319
|
+
* // fromPromise(processPayment(payload), (e) => new RetryableError('...', e))
|
|
167
320
|
* ```
|
|
168
321
|
*/
|
|
169
322
|
declare function retryable(message: string, cause?: unknown): RetryableError;
|
|
@@ -180,17 +333,17 @@ declare function retryable(message: string, cause?: unknown): RetryableError;
|
|
|
180
333
|
* @example
|
|
181
334
|
* ```typescript
|
|
182
335
|
* import { nonRetryable } from '@amqp-contract/worker';
|
|
183
|
-
* import {
|
|
336
|
+
* import { err, ok } from 'unthrown';
|
|
184
337
|
*
|
|
185
338
|
* const handler = ({ payload }) => {
|
|
186
339
|
* if (!isValidPayload(payload)) {
|
|
187
|
-
* return
|
|
340
|
+
* return err(nonRetryable('Invalid payload format')).toAsync();
|
|
188
341
|
* }
|
|
189
|
-
* return
|
|
342
|
+
* return ok(undefined).toAsync();
|
|
190
343
|
* };
|
|
191
344
|
*
|
|
192
345
|
* // Equivalent to:
|
|
193
|
-
* // return
|
|
346
|
+
* // return err(new NonRetryableError('Invalid payload format')).toAsync();
|
|
194
347
|
* ```
|
|
195
348
|
*/
|
|
196
349
|
declare function nonRetryable(message: string, cause?: unknown): NonRetryableError;
|
|
@@ -241,7 +394,7 @@ type WorkerInferRpcRequest<TContract extends ContractDefinition, TName extends I
|
|
|
241
394
|
type WorkerInferRpcHeaders<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>> = 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;
|
|
242
395
|
/**
|
|
243
396
|
* Infer the response payload type for an RPC. The handler must return a
|
|
244
|
-
* `
|
|
397
|
+
* `AsyncResult<TResponse, HandlerError>` matching this shape.
|
|
245
398
|
*/
|
|
246
399
|
type WorkerInferRpcResponse<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>> = InferRpc<TContract, TName> extends RpcDefinition<MessageDefinition, infer TResponse> ? TResponse extends MessageDefinition ? InferSchemaOutput<TResponse["payload"]> : never : never;
|
|
247
400
|
/**
|
|
@@ -259,7 +412,7 @@ type WorkerInferRpcResponse<TContract extends ContractDefinition, TName extends
|
|
|
259
412
|
* console.log(message.payload.orderId); // Typed payload
|
|
260
413
|
* console.log(message.headers?.priority); // Typed headers (if defined)
|
|
261
414
|
* console.log(rawMessage.fields.deliveryTag); // Raw AMQP message
|
|
262
|
-
* return
|
|
415
|
+
* return ok(undefined).toAsync();
|
|
263
416
|
* });
|
|
264
417
|
* ```
|
|
265
418
|
*/
|
|
@@ -278,17 +431,17 @@ type WorkerInferConsumedMessage<TContract extends ContractDefinition, TName exte
|
|
|
278
431
|
type WorkerInferRpcConsumedMessage<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>> = WorkerConsumedMessage<WorkerInferRpcRequest<TContract, TName>, WorkerInferRpcHeaders<TContract, TName>>;
|
|
279
432
|
/**
|
|
280
433
|
* Handler signature for a regular consumer (event/command). Returns
|
|
281
|
-
* `
|
|
434
|
+
* `AsyncResult<void, HandlerError>` — there is no response message.
|
|
282
435
|
*/
|
|
283
|
-
type WorkerInferConsumerHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>> = (message: WorkerInferConsumedMessage<TContract, TName>, rawMessage: ConsumeMessage) =>
|
|
436
|
+
type WorkerInferConsumerHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>> = (message: WorkerInferConsumedMessage<TContract, TName>, rawMessage: ConsumeMessage) => AsyncResult<void, HandlerError>;
|
|
284
437
|
/**
|
|
285
438
|
* Handler signature for an RPC. Returns
|
|
286
|
-
* `
|
|
439
|
+
* `AsyncResult<TResponse, HandlerError>` where `TResponse` is the inferred
|
|
287
440
|
* response payload. The worker validates the response against the RPC's
|
|
288
441
|
* response schema and publishes it back to `msg.properties.replyTo` with the
|
|
289
442
|
* same `correlationId`.
|
|
290
443
|
*/
|
|
291
|
-
type WorkerInferRpcHandler<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>> = (message: WorkerInferRpcConsumedMessage<TContract, TName>, rawMessage: ConsumeMessage) =>
|
|
444
|
+
type WorkerInferRpcHandler<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>> = (message: WorkerInferRpcConsumedMessage<TContract, TName>, rawMessage: ConsumeMessage) => AsyncResult<WorkerInferRpcResponse<TContract, TName>, HandlerError>;
|
|
292
445
|
/**
|
|
293
446
|
* Handler entry for a regular consumer — function or `[handler, options]`.
|
|
294
447
|
*/
|
|
@@ -306,19 +459,15 @@ type WorkerInferRpcHandlerEntry<TContract extends ContractDefinition, TName exte
|
|
|
306
459
|
* ```typescript
|
|
307
460
|
* const handlers: WorkerInferHandlers<typeof contract> = {
|
|
308
461
|
* processOrder: ({ payload }) =>
|
|
309
|
-
*
|
|
462
|
+
* fromPromise(
|
|
310
463
|
* processPayment(payload),
|
|
311
464
|
* (error) => new RetryableError('Payment failed', error),
|
|
312
465
|
* ).map(() => undefined),
|
|
313
|
-
* calculate: ({ payload }) =>
|
|
466
|
+
* calculate: ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
|
|
314
467
|
* };
|
|
315
468
|
* ```
|
|
316
469
|
*/
|
|
317
470
|
type WorkerInferHandlers<TContract extends ContractDefinition> = ([InferConsumerNames<TContract>] extends [never] ? {} : { [K in InferConsumerNames<TContract>]: WorkerInferConsumerHandlerEntry<TContract, K> }) & ([InferRpcNames<TContract>] extends [never] ? {} : { [K in InferRpcNames<TContract>]: WorkerInferRpcHandlerEntry<TContract, K> });
|
|
318
|
-
/**
|
|
319
|
-
* @deprecated Use `WorkerInferHandlers` — handlers now span consumers ∪ rpcs.
|
|
320
|
-
*/
|
|
321
|
-
type WorkerInferConsumerHandlers<TContract extends ContractDefinition> = WorkerInferHandlers<TContract>;
|
|
322
471
|
//#endregion
|
|
323
472
|
//#region src/worker.d.ts
|
|
324
473
|
type ConsumerOptions = ConsumerOptions$1;
|
|
@@ -335,13 +484,13 @@ type ConsumerOptions = ConsumerOptions$1;
|
|
|
335
484
|
* // Simple handler
|
|
336
485
|
* processOrder: ({ payload }) => {
|
|
337
486
|
* console.log('Processing order:', payload.orderId);
|
|
338
|
-
* return
|
|
487
|
+
* return ok(undefined).toAsync();
|
|
339
488
|
* },
|
|
340
489
|
* // Handler with prefetch configuration
|
|
341
490
|
* processPayment: [
|
|
342
491
|
* ({ payload }) => {
|
|
343
492
|
* console.log('Processing payment:', payload.paymentId);
|
|
344
|
-
* return
|
|
493
|
+
* return ok(undefined).toAsync();
|
|
345
494
|
* },
|
|
346
495
|
* { prefetch: 10 }
|
|
347
496
|
* ]
|
|
@@ -365,8 +514,8 @@ type CreateWorkerOptions<TContract extends ContractDefinition> = {
|
|
|
365
514
|
/**
|
|
366
515
|
* Handlers for each `consumers` and `rpcs` entry in the contract.
|
|
367
516
|
*
|
|
368
|
-
* - Regular consumers return `
|
|
369
|
-
* - RPC handlers return `
|
|
517
|
+
* - Regular consumers return `AsyncResult<void, HandlerError>`.
|
|
518
|
+
* - RPC handlers return `AsyncResult<TResponse, HandlerError>` where
|
|
370
519
|
* `TResponse` is inferred from the RPC's response message schema.
|
|
371
520
|
*
|
|
372
521
|
* Use `defineHandler` / `defineHandlers` to create handlers with full type
|
|
@@ -407,7 +556,7 @@ type CreateWorkerOptions<TContract extends ContractDefinition> = {
|
|
|
407
556
|
* ```typescript
|
|
408
557
|
* import { TypedAmqpWorker } from '@amqp-contract/worker';
|
|
409
558
|
* import { defineQueue, defineMessage, defineContract, defineConsumer } from '@amqp-contract/contract';
|
|
410
|
-
* import {
|
|
559
|
+
* import { ok } from 'unthrown';
|
|
411
560
|
* import { z } from 'zod';
|
|
412
561
|
*
|
|
413
562
|
* const orderQueue = defineQueue('order-processing');
|
|
@@ -427,14 +576,13 @@ type CreateWorkerOptions<TContract extends ContractDefinition> = {
|
|
|
427
576
|
* handlers: {
|
|
428
577
|
* processOrder: ({ payload }) => {
|
|
429
578
|
* console.log('Processing order', payload.orderId);
|
|
430
|
-
* return
|
|
579
|
+
* return ok(undefined).toAsync();
|
|
431
580
|
* },
|
|
432
581
|
* },
|
|
433
582
|
* urls: ['amqp://localhost'],
|
|
434
583
|
* });
|
|
435
584
|
*
|
|
436
|
-
*
|
|
437
|
-
* const worker = result.value;
|
|
585
|
+
* const worker = result.unwrap();
|
|
438
586
|
*
|
|
439
587
|
* // Close when done
|
|
440
588
|
* await worker.close();
|
|
@@ -475,14 +623,14 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
|
|
|
475
623
|
* Connections are automatically shared across clients and workers with the same
|
|
476
624
|
* URLs and connection options, following RabbitMQ best practices.
|
|
477
625
|
*
|
|
478
|
-
* @returns A
|
|
626
|
+
* @returns A AsyncResult that resolves to the worker or a TechnicalError.
|
|
479
627
|
*
|
|
480
628
|
* @example
|
|
481
629
|
* ```typescript
|
|
482
630
|
* const result = await TypedAmqpWorker.create({
|
|
483
631
|
* contract: myContract,
|
|
484
632
|
* handlers: {
|
|
485
|
-
* processOrder: ({ payload }) =>
|
|
633
|
+
* processOrder: ({ payload }) => ok(undefined).toAsync(),
|
|
486
634
|
* },
|
|
487
635
|
* urls: ['amqp://localhost'],
|
|
488
636
|
* });
|
|
@@ -497,7 +645,7 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
|
|
|
497
645
|
logger,
|
|
498
646
|
telemetry,
|
|
499
647
|
connectTimeoutMs
|
|
500
|
-
}: CreateWorkerOptions<TContract>):
|
|
648
|
+
}: CreateWorkerOptions<TContract>): AsyncResult<TypedAmqpWorker<TContract>, TechnicalError>;
|
|
501
649
|
/**
|
|
502
650
|
* Close the AMQP channel and connection.
|
|
503
651
|
*
|
|
@@ -512,7 +660,7 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
|
|
|
512
660
|
* }
|
|
513
661
|
* ```
|
|
514
662
|
*/
|
|
515
|
-
close():
|
|
663
|
+
close(): AsyncResult<void, TechnicalError>;
|
|
516
664
|
/**
|
|
517
665
|
* Start consuming for every entry in `contract.consumers` and `contract.rpcs`.
|
|
518
666
|
*/
|
|
@@ -556,9 +704,42 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
|
|
|
556
704
|
* inbox.
|
|
557
705
|
*/
|
|
558
706
|
private publishRpcResponse;
|
|
707
|
+
/**
|
|
708
|
+
* Parse and validate the message; on failure, nack(requeue=false) so the
|
|
709
|
+
* queue's DLX (if configured) receives the poison message and bypass the
|
|
710
|
+
* retry pipeline — a malformed payload is deterministic and retrying it
|
|
711
|
+
* would burn the queue's retry budget on a guaranteed failure.
|
|
712
|
+
*/
|
|
713
|
+
private parseAndValidateOrNack;
|
|
714
|
+
/**
|
|
715
|
+
* Invoke the handler and ack the message on success. Returns the handler's
|
|
716
|
+
* response (RPC) or `undefined` (regular consumer). Errors propagate as
|
|
717
|
+
* `HandlerError` for downstream RPC reply publishing or routing via
|
|
718
|
+
* {@link handleError}.
|
|
719
|
+
*/
|
|
720
|
+
private runHandler;
|
|
721
|
+
/**
|
|
722
|
+
* For RPC handlers, validate and publish the reply on the caller's
|
|
723
|
+
* `replyTo` / `correlationId`. For non-RPC consumers, this is a no-op that
|
|
724
|
+
* resolves to `ok(undefined).toAsync()`.
|
|
725
|
+
*/
|
|
726
|
+
private publishReplyIfRpc;
|
|
559
727
|
/**
|
|
560
728
|
* Process a single consumed message: validate, invoke handler, optionally
|
|
561
|
-
* publish the RPC response, record telemetry, and
|
|
729
|
+
* publish the RPC response, record telemetry, and route errors.
|
|
730
|
+
*
|
|
731
|
+
* The caller-supplied `state` is mutated as the message is ack'd/nack'd so
|
|
732
|
+
* the consume callback's catch-all guard can tell whether a defensive nack
|
|
733
|
+
* is still needed (see {@link consumeSingle}).
|
|
734
|
+
*
|
|
735
|
+
* Success-vs-failure telemetry is data-driven: the chain resolves to
|
|
736
|
+
* `ok(undefined)` only on handler success (and reply-publish success for
|
|
737
|
+
* RPC). Handler failures — even when {@link handleError} routes them
|
|
738
|
+
* successfully to retry/DLQ — are classified as failures for metrics by
|
|
739
|
+
* re-failing the chain with a `TechnicalError` whose `cause` is the
|
|
740
|
+
* original `HandlerError`. The terminal `orTee` unwraps the cause before
|
|
741
|
+
* recording the span exception so traces keep the original
|
|
742
|
+
* `RetryableError` / `NonRetryableError` class as the exception type.
|
|
562
743
|
*/
|
|
563
744
|
private processMessage;
|
|
564
745
|
/**
|
|
@@ -569,88 +750,88 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
|
|
|
569
750
|
//#endregion
|
|
570
751
|
//#region src/handlers.d.ts
|
|
571
752
|
/**
|
|
572
|
-
* Define a type-safe handler for a specific consumer in a contract.
|
|
753
|
+
* Define a type-safe handler for a specific consumer or RPC in a contract.
|
|
573
754
|
*
|
|
574
|
-
* **Recommended:** This function creates handlers that return
|
|
575
|
-
*
|
|
755
|
+
* **Recommended:** This function creates handlers that return
|
|
756
|
+
* `AsyncResult<void, HandlerError>` (consumers) or
|
|
757
|
+
* `AsyncResult<TResponse, HandlerError>` (RPCs), providing explicit error
|
|
758
|
+
* handling and better control over retry behavior.
|
|
576
759
|
*
|
|
577
760
|
* Supports two patterns:
|
|
578
761
|
* 1. Simple handler: just the function
|
|
579
|
-
* 2. Handler with options: [handler, { prefetch: 10 }]
|
|
762
|
+
* 2. Handler with options: `[handler, { prefetch: 10 }]`
|
|
580
763
|
*
|
|
581
764
|
* @template TContract - The contract definition type
|
|
582
|
-
* @template TName - The consumer name from the contract
|
|
583
|
-
* @param contract - The contract definition containing the consumer
|
|
584
|
-
* @param
|
|
585
|
-
* @param handler - The handler function
|
|
765
|
+
* @template TName - The consumer or RPC name from the contract
|
|
766
|
+
* @param contract - The contract definition containing the consumer or RPC
|
|
767
|
+
* @param name - The name of the consumer or RPC from the contract
|
|
768
|
+
* @param handler - The handler function — for consumers, returns
|
|
769
|
+
* `AsyncResult<void, HandlerError>`; for RPCs, returns
|
|
770
|
+
* `AsyncResult<TResponse, HandlerError>`.
|
|
586
771
|
* @param options - Optional consumer options (prefetch)
|
|
587
772
|
* @returns A type-safe handler that can be used with TypedAmqpWorker
|
|
588
773
|
*
|
|
589
|
-
* @example
|
|
774
|
+
* @example Consumer handler
|
|
590
775
|
* ```typescript
|
|
591
776
|
* import { defineHandler, RetryableError, NonRetryableError } from '@amqp-contract/worker';
|
|
592
|
-
* import {
|
|
593
|
-
* import { orderContract } from './contract';
|
|
777
|
+
* import { fromPromise, ok } from 'unthrown';
|
|
594
778
|
*
|
|
595
|
-
* // Simple handler with explicit error handling
|
|
596
779
|
* const processOrderHandler = defineHandler(
|
|
597
780
|
* orderContract,
|
|
598
781
|
* 'processOrder',
|
|
599
782
|
* ({ payload }) =>
|
|
600
|
-
*
|
|
783
|
+
* fromPromise(
|
|
601
784
|
* processPayment(payload),
|
|
602
785
|
* (error) => new RetryableError('Payment failed', error),
|
|
603
786
|
* ).map(() => undefined),
|
|
604
787
|
* );
|
|
788
|
+
* ```
|
|
605
789
|
*
|
|
606
|
-
*
|
|
607
|
-
*
|
|
608
|
-
*
|
|
609
|
-
*
|
|
610
|
-
*
|
|
611
|
-
*
|
|
612
|
-
* // Won't be retried - goes directly to DLQ
|
|
613
|
-
* return errAsync(new NonRetryableError('Invalid order amount'));
|
|
614
|
-
* }
|
|
615
|
-
* return okAsync(undefined);
|
|
616
|
-
* },
|
|
790
|
+
* @example RPC handler
|
|
791
|
+
* ```typescript
|
|
792
|
+
* const calculateHandler = defineHandler(
|
|
793
|
+
* rpcContract,
|
|
794
|
+
* 'calculate',
|
|
795
|
+
* ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
|
|
617
796
|
* );
|
|
618
797
|
* ```
|
|
619
798
|
*/
|
|
620
|
-
declare function defineHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>>(contract: TContract,
|
|
621
|
-
declare function defineHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>>(contract: TContract,
|
|
799
|
+
declare function defineHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>>(contract: TContract, name: TName, handler: WorkerInferConsumerHandler<TContract, TName>): WorkerInferConsumerHandlerEntry<TContract, TName>;
|
|
800
|
+
declare function defineHandler<TContract extends ContractDefinition, TName extends InferConsumerNames<TContract>>(contract: TContract, name: TName, handler: WorkerInferConsumerHandler<TContract, TName>, options: ConsumerOptions): WorkerInferConsumerHandlerEntry<TContract, TName>;
|
|
801
|
+
declare function defineHandler<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>>(contract: TContract, name: TName, handler: WorkerInferRpcHandler<TContract, TName>): WorkerInferRpcHandlerEntry<TContract, TName>;
|
|
802
|
+
declare function defineHandler<TContract extends ContractDefinition, TName extends InferRpcNames<TContract>>(contract: TContract, name: TName, handler: WorkerInferRpcHandler<TContract, TName>, options: ConsumerOptions): WorkerInferRpcHandlerEntry<TContract, TName>;
|
|
622
803
|
/**
|
|
623
|
-
* Define multiple type-safe handlers for consumers in a contract.
|
|
804
|
+
* Define multiple type-safe handlers for consumers and RPCs in a contract.
|
|
805
|
+
*
|
|
806
|
+
* **Recommended:** This function creates handlers that return
|
|
807
|
+
* `AsyncResult<void, HandlerError>` (consumers) or
|
|
808
|
+
* `AsyncResult<TResponse, HandlerError>` (RPCs), providing explicit error
|
|
809
|
+
* handling and better control over retry behavior.
|
|
624
810
|
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
811
|
+
* The handlers object must contain exactly one entry per `consumers` and
|
|
812
|
+
* `rpcs` key in the contract — see {@link WorkerInferHandlers}.
|
|
627
813
|
*
|
|
628
814
|
* @template TContract - The contract definition type
|
|
629
|
-
* @param contract - The contract definition containing the consumers
|
|
630
|
-
* @param handlers - An object with handler functions for each consumer
|
|
815
|
+
* @param contract - The contract definition containing the consumers and RPCs
|
|
816
|
+
* @param handlers - An object with handler functions for each consumer and RPC
|
|
631
817
|
* @returns A type-safe handlers object that can be used with TypedAmqpWorker
|
|
632
818
|
*
|
|
633
819
|
* @example
|
|
634
820
|
* ```typescript
|
|
635
821
|
* import { defineHandlers, RetryableError } from '@amqp-contract/worker';
|
|
636
|
-
* import {
|
|
637
|
-
* import { orderContract } from './contract';
|
|
822
|
+
* import { fromPromise, ok } from 'unthrown';
|
|
638
823
|
*
|
|
639
824
|
* const handlers = defineHandlers(orderContract, {
|
|
640
825
|
* processOrder: ({ payload }) =>
|
|
641
|
-
*
|
|
826
|
+
* fromPromise(
|
|
642
827
|
* processPayment(payload),
|
|
643
828
|
* (error) => new RetryableError('Payment failed', error),
|
|
644
829
|
* ).map(() => undefined),
|
|
645
|
-
*
|
|
646
|
-
* ResultAsync.fromPromise(
|
|
647
|
-
* sendNotification(payload),
|
|
648
|
-
* (error) => new RetryableError('Notification failed', error),
|
|
649
|
-
* ).map(() => undefined),
|
|
830
|
+
* calculate: ({ payload }) => ok({ sum: payload.a + payload.b }).toAsync(),
|
|
650
831
|
* });
|
|
651
832
|
* ```
|
|
652
833
|
*/
|
|
653
|
-
declare function defineHandlers<TContract extends ContractDefinition>(contract: TContract, handlers:
|
|
834
|
+
declare function defineHandlers<TContract extends ContractDefinition>(contract: TContract, handlers: WorkerInferHandlers<TContract>): WorkerInferHandlers<TContract>;
|
|
654
835
|
//#endregion
|
|
655
|
-
export { type ConsumerOptions, type CreateWorkerOptions, type HandlerError, MessageValidationError, NonRetryableError, RetryableError, TypedAmqpWorker, type WorkerConsumedMessage, type WorkerInferConsumedMessage, type WorkerInferConsumerHandler, type WorkerInferConsumerHandlerEntry, type
|
|
836
|
+
export { type ConsumerOptions, type CreateWorkerOptions, type HandlerError, MessageValidationError, NonRetryableError, RetryableError, TypedAmqpWorker, type WorkerConsumedMessage, type WorkerInferConsumedMessage, type WorkerInferConsumerHandler, type WorkerInferConsumerHandlerEntry, type WorkerInferConsumerHeaders, type WorkerInferHandlers, type WorkerInferRpcConsumedMessage, type WorkerInferRpcHandler, type WorkerInferRpcHandlerEntry, type WorkerInferRpcHeaders, type WorkerInferRpcRequest, type WorkerInferRpcResponse, defineHandler, defineHandlers, isHandlerError, isNonRetryableError, isRetryableError, nonRetryable, retryable };
|
|
656
837
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":["amqp","EventEmitter","TcpSocketConnectOpts","ConnectionOptions","ChannelWrapper","CreateChannelOpts","ConnectionUrl","Options","Connect","AmqpConnectionOptions","url","connectionOptions","ConnectListener","Connection","connection","arg","ConnectFailedListener","Error","err","Buffer","noDelay","timeout","keepAlive","keepAliveDelay","clientProperties","credentials","mechanism","username","password","response","AmqpConnectionManagerOptions","Promise","heartbeatIntervalInSeconds","reconnectTimeInSeconds","findServers","urls","callback","IAmqpConnectionManager","Function","ChannelModel","addListener","event","args","listener","reason","listeners","eventName","on","once","prependListener","prependOnceListener","removeListener","connect","options","reconnect","createChannel","close","isConnected","channelCount","AmqpConnectionManager","_channels","_currentUrl","_closed","_cancelRetriesHandler","_connectPromise","_currentConnection","_findServers","_urls","constructor","_connect","default"],"sources":["../../../node_modules/.pnpm/amqp-connection-manager@5.0.0_amqplib@0.10.9/node_modules/amqp-connection-manager/dist/types/AmqpConnectionManager.d.ts","../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;KAKYM,aAAAA,YAAyBN,IAAAA,CAAKO,OAAAA,CAAQC,OAAAA;EAC9CE,GAAAA;EACAC,iBAAAA,GAAoBF,qBAAAA;AAAAA;AAAAA,KAcZA,qBAAAA,IAAyBN,iBAAAA,GAAoBD,oBAAAA;EACrDkB,OAAAA;EACAC,OAAAA;EACAC,SAAAA;EACAC,cAAAA;EACAC,gBAAAA;EACAC,WAAAA;IACIC,SAAAA;IACAC,QAAAA;IACAC,QAAAA;IACAC,QAAAA,QAAgBV,MAAAA;EAAAA;IAEhBO,SAAAA;IACAG,QAAAA,QAAgBV,MAAAA;EAAAA;AAAAA;AAAAA,UAGPW,4BAAAA;EAVbL;EAYAO,0BAAAA;EAVIL;;;;EAeJM,sBAAAA;EAVIJ;;;;AAGR;;;EAeIK,WAAAA,KAAgBE,QAAAA,GAAWD,IAAAA,EAAM7B,aAAAA,GAAgBA,aAAAA,+BAA4CyB,OAAAA,CAAQzB,aAAAA,GAAgBA,aAAAA;EAApEA;EAEjDK,iBAAAA,GAAoBF,qBAAAA;AAAAA;;;;;;;;;;cC7CX,cAAA,SAAuB,KAAA;EAAA,SAGP,KAAA;cADzB,OAAA,UACyB,KAAA;AAAA;;;;;;;;cAqBhB,iBAAA,SAA0B,KAAA;EAAA,SAGV,KAAA;cADzB,OAAA,UACyB,KAAA;AAAA;;;;;KAkBjB,YAAA,GAAe,cAAA,GAAiB,iBAAA;;;;;;;;;;;;;;;;;;;;;;ADjB5C;;iBC8CgB,gBAAA,CAAiB,KAAA,YAAiB,KAAA,IAAS,cAAA;;;;;;;;;;;;;;;;;;;;;;iBAyB3C,mBAAA,CAAoB,KAAA,YAAiB,KAAA,IAAS,iBAAA;;;;AAnG9D;;;;;;;;;;;AAwBA;;;;iBAiGgB,cAAA,CAAe,KAAA,YAAiB,KAAA,IAAS,YAAA;;;;;;;AA5EzD;;;;;AA6BA;;;;;;;;;AAyBA;;;;;iBAuDgB,SAAA,CAAU,OAAA,UAAiB,KAAA,aAAkB,cAAA;;;;AAjC7D;;;;;;;;;AAiCA;;;;;;;;;AA8BA;;;;;iBAAgB,YAAA,CAAa,OAAA,UAAiB,KAAA,aAAkB,iBAAA;;;;;;KC/K3D,iBAAA,iBAAkC,gBAAA,IACrC,OAAA,SAAgB,gBAAA,iCAAiD,OAAA;AFdnE;;;;AAAA,KEoBK,yBAAA,WAAoC,aAAA,IAAiB,CAAA,SAAU,kBAAA,GAChE,CAAA,GACA,CAAA;EAAY,QAAA,EAAU,kBAAA;AAAA,IACpB,CAAA;;;;;KAOD,0BAAA,mBAA6C,aAAA,IAChD,yBAAA,CAA0B,SAAA,UAAmB,kBAAA,GACzC,iBAAA,CAAkB,yBAAA,CAA0B,SAAA;AFhBlD;;;;AAAA,KEuBK,0BAAA,mBAA6C,aAAA,IAChD,yBAAA,CAA0B,SAAA,UAAmB,kBAAA,GACzC,yBAAA,CAA0B,SAAA,qBAA8B,iBAAA,oCAItD,QAAA,SAAiB,gBAAA,CAAiB,MAAA,qBAChC,iBAAA,CAAkB,QAAA;AAAA,KASvB,cAAA,mBAAiC,kBAAA,IAAsB,WAAA,CAAY,SAAA;AAAA,KACnE,aAAA,mBACe,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,KAC/B,cAAA,CAAe,SAAA,EAAW,KAAA;AAAA,KAEzB,SAAA,mBAA4B,kBAAA,IAAsB,WAAA,CAAY,SAAA;AAAA,KAC9D,QAAA,mBACe,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAC1B,SAAA,CAAU,SAAA,EAAW,KAAA;;;;KAKpB,0BAAA,mBACe,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,KAC/B,0BAAA,CAA2B,aAAA,CAAc,SAAA,EAAW,KAAA;;;;;KAM5C,0BAAA,mBACQ,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,KAC/B,0BAAA,CAA2B,aAAA,CAAc,SAAA,EAAW,KAAA;;;;KAK5C,qBAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAE5B,QAAA,CAAS,SAAA,EAAW,KAAA,UAAe,aAAA,iBAA8B,iBAAA,IAC7D,QAAA,SAAiB,iBAAA,GACf,iBAAA,CAAkB,QAAA;;;;;KAQd,qBAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAE5B,QAAA,CAAS,SAAA,EAAW,KAAA,UAAe,aAAA,iBAA8B,iBAAA,IAC7D,QAAA,SAAiB,iBAAA,oCACf,QAAA,SAAiB,gBAAA,CAAiB,MAAA,qBAChC,iBAAA,CAAkB,QAAA;AF5E5B;;;;AAAA,KEqFY,sBAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAE5B,QAAA,CAAS,SAAA,EAAW,KAAA,UAAe,aAAA,CAAc,iBAAA,qBAC7C,SAAA,SAAkB,iBAAA,GAChB,iBAAA,CAAkB,SAAA;;;;;;;;;;;;;;;;;;;;KA2Bd,qBAAA;sCAEV,OAAA,EAAS,QAAA;EAET,OAAA,EAAS,QAAA,iCAAyC,QAAA;AAAA;;;;KAMxC,0BAAA,mBACQ,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,KAC/B,qBAAA,CACF,0BAAA,CAA2B,SAAA,EAAW,KAAA,GACtC,0BAAA,CAA2B,SAAA,EAAW,KAAA;;;;;KAO5B,6BAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAC1B,qBAAA,CACF,qBAAA,CAAsB,SAAA,EAAW,KAAA,GACjC,qBAAA,CAAsB,SAAA,EAAW,KAAA;ADrJnC;;;;AAAA,KCmKY,0BAAA,mBACQ,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,MAEjC,OAAA,EAAS,0BAAA,CAA2B,SAAA,EAAW,KAAA,GAC/C,UAAA,EAAY,cAAA,KACT,WAAA,OAAkB,YAAA;;;;;;;ADpJvB;KC6JY,qBAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,MAE5B,OAAA,EAAS,6BAAA,CAA8B,SAAA,EAAW,KAAA,GAClD,UAAA,EAAY,cAAA,KACT,WAAA,CAAY,sBAAA,CAAuB,SAAA,EAAW,KAAA,GAAQ,YAAA;;;;KAK/C,+BAAA,mBACQ,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,KAE/B,0BAAA,CAA2B,SAAA,EAAW,KAAA,cAC5B,0BAAA,CAA2B,SAAA,EAAW,KAAA,GAAQ,eAAA;;;;KAKhD,0BAAA,mBACQ,kBAAA,gBACJ,aAAA,CAAc,SAAA,KAE1B,qBAAA,CAAsB,SAAA,EAAW,KAAA,cACvB,qBAAA,CAAsB,SAAA,EAAW,KAAA,GAAQ,eAAA;;;;;ADjIvD;;;;;;;;;AAsBA;;;;KC8HY,mBAAA,mBAAsC,kBAAA,MAChD,kBAAA,CAAmB,SAAA,kCAGT,kBAAA,CAAmB,SAAA,IAAa,+BAAA,CAAgC,SAAA,EAAW,CAAA,SACnF,aAAA,CAAc,SAAA,kCAEJ,aAAA,CAAc,SAAA,IAAa,0BAAA,CAA2B,SAAA,EAAW,CAAA;;;;KAKnE,2BAAA,mBAA8C,kBAAA,IACxD,mBAAA,CAAoB,SAAA;;;KC7NV,eAAA,GAAkB,iBAAA;;;;;AH3C9B;;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;;;KG0EY,mBAAA,mBAAsC,kBAAA;EH7D1CoB,kFG+DN,QAAA,EAAU,SAAA;EH/DkB;;AAG9B;;;;;;;;EGuEE,QAAA,EAAU,mBAAA,CAAoB,SAAA,GHtDa;EGwD3C,IAAA,EAAM,aAAA,IHvEJG;EGyEF,iBAAA,GAAoB,4BAAA,cH5DlBE;EG8DF,MAAA,GAAS,MAAA;EH9D0C5B;;;;;EGoEnD,SAAA,GAAY,iBAAA;EHlEVK;;;;EGuEF,sBAAA,GAAyB,eAAA;;;AFpH3B;;;;EE2HE,gBAAA;AAAA;;;;;;AFnGF;;;;;;;;;;;AAqBA;;;;;AA6BA;;;;;;;;;AAyBA;;;;;;;;;AAsBA;;;;;;cEkDa,eAAA,mBAAkC,kBAAA;EAAA,iBAa1B,QAAA;EAAA,iBACA,UAAA;EAAA,iBAEA,sBAAA;EAAA,iBACA,MAAA;;;;;;;mBAVF,cAAA;EAAA,iBACA,eAAA;EAAA,iBACA,YAAA;EAAA,iBACA,SAAA;EAAA,QAEV,WAAA,CAAA;EFCoB;;;;;;;EAAA,QEuCnB,mBAAA;EDtNL;;;;;;;;;;;;;;;;;AACqE;;;;;;;EADrE,OCqQI,MAAA,mBAAyB,kBAAA,CAAA,CAAA;IAC9B,QAAA;IACA,QAAA;IACA,IAAA;IACA,iBAAA;IACA,sBAAA;IACA,MAAA;IACA,SAAA;IACA;EAAA,GACC,mBAAA,CAAoB,SAAA,IAAa,WAAA,CAAY,eAAA,CAAgB,SAAA,GAAY,cAAA;EDrQpD;;;;;;;;;;;;;;ECyTxB,KAAA,CAAA,GAAS,WAAA,OAAkB,cAAA;EDjTxB;;;EAAA,QCsUK,UAAA;EAAA,QAUA,sBAAA;ED/UR;;;;EAAA,QCuVQ,OAAA;EDtVa;;;;EAAA,QCqWb,cAAA;EDtWkB;;;;;;;EAAA,QCsYlB,uBAAA;ED9XqB;;;;;;;;;;;;;;;;;;;EAAA,QCubrB,kBAAA;EDrbJ;;;;EAAA,QCghBI,cAAA;ED5gBF;;;EAAA,QC8mBE,aAAA;AAAA;;;;;;;;;;AH3pBV;;;;;;;;;;;;AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA;;;iBImEgB,aAAA,mBACI,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,EAAA,CAEjC,QAAA,EAAU,SAAA,EACV,YAAA,EAAc,KAAA,EACd,OAAA,EAAS,0BAAA,CAA2B,SAAA,EAAW,KAAA,IAC9C,+BAAA,CAAgC,SAAA,EAAW,KAAA;AAAA,iBAC9B,aAAA,mBACI,kBAAA,gBACJ,kBAAA,CAAmB,SAAA,EAAA,CAEjC,QAAA,EAAU,SAAA,EACV,YAAA,EAAc,KAAA,EACd,OAAA,EAAS,0BAAA,CAA2B,SAAA,EAAW,KAAA,GAC/C,OAAA,EAAS,eAAA,GACR,+BAAA,CAAgC,SAAA,EAAW,KAAA;;;;;;;;;;;;;;;;;;;;;;;;AH/G9C;;;;;;;;iBGgKgB,cAAA,mBAAiC,kBAAA,CAAA,CAC/C,QAAA,EAAU,SAAA,EACV,QAAA,EAAU,2BAAA,CAA4B,SAAA,IACrC,2BAAA,CAA4B,SAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":["Empty","AssertQueue","queue","messageCount","consumerCount","PurgeQueue","DeleteQueue","AssertExchange","exchange","Consume","consumerTag","Connect","protocol","hostname","port","username","password","locale","frameMax","heartbeat","vhost","channelMax","credentials","mechanism","response","Buffer","exclusive","durable","autoDelete","arguments","messageTtl","expires","deadLetterExchange","deadLetterRoutingKey","maxLength","maxPriority","overflow","queueMode","ifUnused","ifEmpty","internal","alternateExchange","DeleteExchange","Publish","expiration","userId","CC","mandatory","persistent","deliveryMode","BCC","contentType","contentEncoding","headers","priority","correlationId","replyTo","messageId","timestamp","type","appId","noLocal","noAck","Get","tls","ConnectionOptions","noDelay","timeout","keepAlive","keepAliveDelay","clientProperties","Record","highWaterMark","content","fields","MessageFields","properties","MessageProperties","Message","GetMessageFields","ConsumeMessageFields","deliveryTag","redelivered","routingKey","CommonMessageFields","MessagePropertyHeaders","clusterId","XDeath","key","count","reason","time","value","host","product","version","platform","copyright","information","amqp","Options","Connect","url","connectionOptions","AmqpConnectionOptions","connection","Connection","arg","err","Error","ConnectionOptions","TcpSocketConnectOpts","noDelay","timeout","keepAlive","keepAliveDelay","clientProperties","credentials","mechanism","username","password","response","Buffer","heartbeatIntervalInSeconds","reconnectTimeInSeconds","findServers","ConnectionUrl","urls","callback","Promise","EventEmitter","addListener","event","args","listener","ConnectListener","ConnectFailedListener","reason","listeners","eventName","Function","on","once","prependListener","prependOnceListener","removeListener","connect","options","reconnect","createChannel","CreateChannelOpts","ChannelWrapper","close","isConnected","ChannelModel","channelCount","IAmqpConnectionManager","_channels","_currentUrl","_closed","_cancelRetriesHandler","_connectPromise","_currentConnection","_findServers","_urls","constructor","AmqpConnectionManagerOptions","_connect"],"sources":["../../../node_modules/.pnpm/amqplib@2.0.1/node_modules/amqplib/lib/properties.d.ts","../../../node_modules/.pnpm/amqp-connection-manager@5.0.0_amqplib@2.0.1/node_modules/amqp-connection-manager/dist/types/AmqpConnectionManager.d.ts","../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"x_google_ignoreList":[0,1],"mappings":"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"}
|