@amqp-contract/worker 0.8.0 → 0.10.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
@@ -141,10 +141,12 @@ var TypedAmqpWorker = class TypedAmqpWorker {
141
141
  batchTimers = /* @__PURE__ */ new Map();
142
142
  consumerTags = /* @__PURE__ */ new Set();
143
143
  retryConfig;
144
- constructor(contract, amqpClient, handlers, logger, retryOptions) {
144
+ telemetry;
145
+ constructor(contract, amqpClient, handlers, logger, retryOptions, telemetry) {
145
146
  this.contract = contract;
146
147
  this.amqpClient = amqpClient;
147
148
  this.logger = logger;
149
+ this.telemetry = telemetry ?? _amqp_contract_core.defaultTelemetryProvider;
148
150
  this.actualHandlers = {};
149
151
  this.consumerOptions = {};
150
152
  const handlersRecord = handlers;
@@ -190,11 +192,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
190
192
  * }).resultToPromise();
191
193
  * ```
192
194
  */
193
- static create({ contract, handlers, urls, connectionOptions, logger, retry }) {
195
+ static create({ contract, handlers, urls, connectionOptions, logger, retry, telemetry }) {
194
196
  const worker = new TypedAmqpWorker(contract, new _amqp_contract_core.AmqpClient(contract, {
195
197
  urls,
196
198
  connectionOptions
197
- }), handlers, logger, retry);
199
+ }), handlers, logger, retry, telemetry);
198
200
  return worker.waitForConnectionReady().flatMapOk(() => worker.setupWaitQueues()).flatMapOk(() => worker.consumeAll()).mapOk(() => worker);
199
201
  }
200
202
  /**
@@ -250,6 +252,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
250
252
  deadLetterRoutingKey: queueName
251
253
  });
252
254
  await channel.bindQueue(waitQueueName, dlxName, `${queueName}-wait`);
255
+ await channel.bindQueue(queueName, dlxName, queueName);
253
256
  this.logger?.info("Wait queue created and bound", {
254
257
  consumerName: String(consumerName),
255
258
  queueName,
@@ -361,30 +364,43 @@ var TypedAmqpWorker = class TypedAmqpWorker {
361
364
  * Consume messages one at a time
362
365
  */
363
366
  consumeSingle(consumerName, consumer, handler) {
364
- return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
367
+ const queueName = consumer.queue.name;
368
+ return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
365
369
  if (msg === null) {
366
370
  this.logger?.warn("Consumer cancelled by server", {
367
371
  consumerName: String(consumerName),
368
- queueName: consumer.queue.name
372
+ queueName
369
373
  });
370
374
  return;
371
375
  }
376
+ const startTime = Date.now();
377
+ const span = (0, _amqp_contract_core.startConsumeSpan)(this.telemetry, queueName, String(consumerName), { "messaging.rabbitmq.message.delivery_tag": msg.fields.deliveryTag });
372
378
  await this.parseAndValidateMessage(msg, consumer, consumerName).flatMapOk((validatedMessage) => handler(validatedMessage).flatMapOk(() => {
373
379
  this.logger?.info("Message consumed successfully", {
374
380
  consumerName: String(consumerName),
375
- queueName: consumer.queue.name
381
+ queueName
376
382
  });
377
383
  this.amqpClient.channel.ack(msg);
384
+ const durationMs = Date.now() - startTime;
385
+ (0, _amqp_contract_core.endSpanSuccess)(span);
386
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), true, durationMs);
378
387
  return _swan_io_boxed.Future.value(_swan_io_boxed.Result.Ok(void 0));
379
388
  }).flatMapError((handlerError) => {
380
389
  this.logger?.error("Error processing message", {
381
390
  consumerName: String(consumerName),
382
- queueName: consumer.queue.name,
391
+ queueName,
383
392
  errorType: handlerError.name,
384
393
  error: handlerError.message
385
394
  });
395
+ const durationMs = Date.now() - startTime;
396
+ (0, _amqp_contract_core.endSpanError)(span, handlerError);
397
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
386
398
  return this.handleError(handlerError, msg, String(consumerName), consumer);
387
- })).toPromise();
399
+ })).tapError(() => {
400
+ const durationMs = Date.now() - startTime;
401
+ (0, _amqp_contract_core.endSpanError)(span, /* @__PURE__ */ new Error("Message validation failed"));
402
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
403
+ }).toPromise();
388
404
  })).tapOk((reply) => {
389
405
  this.consumerTags.add(reply.consumerTag);
390
406
  }).mapError((error) => new TechnicalError(`Failed to start consuming for "${String(consumerName)}"`, error)).mapOk(() => void 0);
@@ -402,6 +418,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
402
418
  const batchSize = options.batchSize;
403
419
  const batchTimeout = options.batchTimeout ?? 1e3;
404
420
  const timerKey = String(consumerName);
421
+ const queueName = consumer.queue.name;
405
422
  let batch = [];
406
423
  let isProcessing = false;
407
424
  const processBatch = () => {
@@ -415,27 +432,36 @@ var TypedAmqpWorker = class TypedAmqpWorker {
415
432
  this.batchTimers.delete(timerKey);
416
433
  }
417
434
  const messages = currentBatch.map((item) => item.message);
435
+ const batchCount = currentBatch.length;
436
+ const startTime = Date.now();
437
+ const span = (0, _amqp_contract_core.startConsumeSpan)(this.telemetry, queueName, String(consumerName), { "amqp.batch.size": batchCount });
418
438
  this.logger?.info("Processing batch", {
419
439
  consumerName: String(consumerName),
420
- queueName: consumer.queue.name,
421
- batchSize: currentBatch.length
440
+ queueName,
441
+ batchSize: batchCount
422
442
  });
423
443
  return handler(messages).flatMapOk(() => {
424
444
  for (const item of currentBatch) this.amqpClient.channel.ack(item.amqpMessage);
425
445
  this.logger?.info("Batch processed successfully", {
426
446
  consumerName: String(consumerName),
427
- queueName: consumer.queue.name,
428
- batchSize: currentBatch.length
447
+ queueName,
448
+ batchSize: batchCount
429
449
  });
450
+ const durationMs = Date.now() - startTime;
451
+ (0, _amqp_contract_core.endSpanSuccess)(span);
452
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), true, durationMs);
430
453
  return _swan_io_boxed.Future.value(_swan_io_boxed.Result.Ok(void 0));
431
454
  }).flatMapError((handlerError) => {
432
455
  this.logger?.error("Error processing batch", {
433
456
  consumerName: String(consumerName),
434
- queueName: consumer.queue.name,
435
- batchSize: currentBatch.length,
457
+ queueName,
458
+ batchSize: batchCount,
436
459
  errorType: handlerError.name,
437
460
  error: handlerError.message
438
461
  });
462
+ const durationMs = Date.now() - startTime;
463
+ (0, _amqp_contract_core.endSpanError)(span, handlerError);
464
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
439
465
  return this.handleBatchError(handlerError, currentBatch, String(consumerName), consumer);
440
466
  }).tap(() => {
441
467
  isProcessing = false;
@@ -450,11 +476,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
450
476
  }, batchTimeout);
451
477
  this.batchTimers.set(timerKey, timer);
452
478
  };
453
- return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
479
+ return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
454
480
  if (msg === null) {
455
481
  this.logger?.warn("Consumer cancelled by server", {
456
482
  consumerName: String(consumerName),
457
- queueName: consumer.queue.name
483
+ queueName
458
484
  });
459
485
  await processBatch().toPromise();
460
486
  return;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { Logger } from "@amqp-contract/core";
1
+ import { Logger, TelemetryProvider } from "@amqp-contract/core";
2
2
  import { AmqpConnectionManagerOptions, ConnectionUrl } from "amqp-connection-manager";
3
3
  import { ConsumerDefinition, ContractDefinition, InferConsumerNames } from "@amqp-contract/contract";
4
4
  import { Future, Result } from "@swan-io/boxed";
@@ -262,6 +262,12 @@ type CreateWorkerOptions<TContract extends ContractDefinition> = {
262
262
  logger?: Logger | undefined;
263
263
  /** Retry configuration - when undefined, uses legacy behavior (immediate requeue) */
264
264
  retry?: RetryOptions | undefined;
265
+ /**
266
+ * Optional telemetry provider for tracing and metrics.
267
+ * If not provided, uses the default provider which attempts to load OpenTelemetry.
268
+ * OpenTelemetry instrumentation is automatically enabled if @opentelemetry/api is installed.
269
+ */
270
+ telemetry?: TelemetryProvider | undefined;
265
271
  };
266
272
  /**
267
273
  * Type-safe AMQP worker for consuming messages from RabbitMQ.
@@ -316,6 +322,7 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
316
322
  private readonly batchTimers;
317
323
  private readonly consumerTags;
318
324
  private readonly retryConfig;
325
+ private readonly telemetry;
319
326
  private constructor();
320
327
  /**
321
328
  * Create a type-safe AMQP worker from a contract.
@@ -348,7 +355,8 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
348
355
  urls,
349
356
  connectionOptions,
350
357
  logger,
351
- retry
358
+ retry,
359
+ telemetry
352
360
  }: CreateWorkerOptions<TContract>): Future<Result<TypedAmqpWorker<TContract>, TechnicalError>>;
353
361
  /**
354
362
  * Close the AMQP channel and connection.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"sourcesContent":[],"mappings":"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AAA,OAAA,EEyFlD,mCFzFkD,CEyFd,SFzFc,EEyFH,KFzFG,CAAA,EAAA,OAAA,EAAA;EAAM,QAAA,CAAA,EAAA,MAAA;EAYvD,SAAA,EAAA,MAAA;EACQ,YAAA,CAAA,EAAA,MAAA;CACe,CAAA,EE6EhC,mCF7EgC,CE6EI,SF7EJ,EE6Ee,KF7Ef,CAAA;;;;;;;;;;AAanC;;;;;;;;;;;;;;AAkBA;;;;;;AACwC,iBE8FxB,cF9FwB,CAAA,kBE8FS,kBF9FT,CAAA,CAAA,QAAA,EE+F5B,SF/F4B,EAAA,QAAA,EEgG5B,+BFhG4B,CEgGI,SFhGJ,CAAA,CAAA,EEiGrC,+BFjGqC,CEiGL,SFjGK,CAAA;;AAqBxC;;KEwFK,aFtF8B,CAAA,kBEuFf,kBFvFe,EAAA,cEwFnB,kBFxFmB,CEwFA,SFxFA,CAAA,CAAA,GAAA,CAAA,OAAA,EEyFrB,wBFzFqB,CEyFI,SFzFJ,EEyFe,KFzFf,CAAA,EAAA,GEyF0B,OFzF1B,CAAA,IAAA,CAAA;;;;KE8F9B,kBF7FS,CAAA,kBE8FM,kBF9FN,EAAA,cE+FE,kBF/FF,CE+FqB,SF/FrB,CAAA,CAAA,GAAA,CAAA,QAAA,EEgGC,KFhGD,CEgGO,wBFhGP,CEgGgC,SFhGhC,EEgG2C,KFhG3C,CAAA,CAAA,EAAA,GEgGuD,OFhGvD,CAAA,IAAA,CAAA;;;AASd;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;;;;;;;;AAWA;;AAEmC,iBEmFnB,mBFnFmB,CAAA,kBEoFf,kBFpFe,EAAA,cEqFnB,kBFrFmB,CEqFA,SFrFA,CAAA,CAAA,CAAA,QAAA,EEuFvB,SFvFuB,EAAA,YAAA,EEwFnB,KFxFmB,EAAA,OAAA,EEyFxB,aFzFwB,CEyFV,SFzFU,EEyFC,KFzFD,CAAA,CAAA,EE0FhC,mCF1FgC,CE0FI,SF1FJ,EE0Fe,KF1Ff,CAAA;AAAnB,iBE2FA,mBF3FA,CAAA,kBE4FI,kBF5FJ,EAAA,cE6FA,kBF7FA,CE6FmB,SF7FnB,CAAA,CAAA,CAAA,QAAA,EE+FJ,SF/FI,EAAA,YAAA,EEgGA,KFhGA,EAAA,OAAA,EEiGL,aFjGK,CEiGS,SFjGT,EEiGoB,KFjGpB,CAAA,EAAA,OAAA,EAAA;EACqB,QAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,KAAA;EAA5C,YAAA,CAAA,EAAA,KAAA;CAAgC,CAAA,EEkGjC,mCFlGiC,CEkGG,SFlGH,EEkGc,KFlGd,CAAA;AAKxB,iBE8FI,mBF9F2B,CAAA,kBE+FvB,kBF/FuB,EAAA,cEgG3B,kBFhG2B,CEgGR,SFhGQ,CAAA,CAAA,CAAA,QAAA,EEkG/B,SFlG+B,EAAA,YAAA,EEmG3B,KFnG2B,EAAA,OAAA,EEoGhC,kBFpGgC,CEoGb,SFpGa,EEoGF,KFpGE,CAAA,EAAA,OAAA,EAAA;EACvB,QAAA,CAAA,EAAA,MAAA;EACe,SAAA,EAAA,MAAA;EAAnB,YAAA,CAAA,EAAA,MAAA;CAC0B,CAAA,EEmGvC,mCFnGuC,CEmGH,SFnGG,EEmGQ,KFnGR,CAAA;;;;AAK1C,KEsHK,kBFtHO,CAAA,kBEuHQ,kBFvHuB,EAAA,cEwH3B,kBFxH2B,CEwHR,SFxHQ,CAAA,CAAA,GE0HvC,aF1HuC,CE0HzB,SF1HyB,EE0Hd,KF1Hc,CAAA,GAAA,SAAA,CE4HrC,aF3Hc,CE2HA,SF3HA,EE2HW,KF3HX,CAAA,EACe;EAAnB,QAAA,CAAA,EAAA,MAAA;EAC0B,SAAA,CAAA,EAAA,KAAA;EAAW,YAAA,CAAA,EAAA,KAAA;AAAjD,CAAA,CAAqC,GAAA,SAAA,CE6HnC,kBFxHM,CEwHa,SFxHb,EEwHwB,KFxHG,CAAA,EAAmB;EACtB,QAAA,CAAA,EAAA,MAAA;EAAlC,SAAA,EAAA,MAAA;EAAiC,YAAA,CAAA,EAAA,MAAA;;;ACrKnC;AAoEA;KC+NK,cD/N6C,CAAA,kBC+NZ,kBD/NY,CAAA,GAAA,QCgO1C,kBD9NI,CC8Ne,SD9Nf,CAAA,GC8N4B,kBD9N5B,CC8N+C,SD9N/C,EC8N0D,CD9N1D,CAAA,EAOgC;;;;;;;AAmD5C;;;;;;;;;;;;;;;;;;;;;;;ACzCA;;AAEmC,iBA6OnB,oBA7OmB,CAAA,kBA6OoB,kBA7OpB,CAAA,CAAA,QAAA,EA8OvB,SA9OuB,EAAA,QAAA,EA+OvB,cA/OuB,CA+OR,SA/OQ,CAAA,CAAA,EAgPhC,+BAhPgC,CAgPA,SAhPA,CAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"sourcesContent":[],"mappings":"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1B,SFrF0B,CAAA,CAAA,CAAA,QAAA,EEuFjD,SFvFiD,EAAA,YAAA,EEwF7C,KFxF6C,EAAA,OAAA,EEyFlD,mCFzFkD,CEyFd,SFzFc,EEyFH,KFzFG,CAAA,EAAA,OAAA,EAAA;EAAM,QAAA,CAAA,EAAA,MAAA;EAYvD,SAAA,EAAA,MAAA;EACQ,YAAA,CAAA,EAAA,MAAA;CACe,CAAA,EE6EhC,mCF7EgC,CE6EI,SF7EJ,EE6Ee,KF7Ef,CAAA;;;;;;;;;;AAanC;;;;;;;;;;;;;;AAkBA;;;;;;AACwC,iBE8FxB,cF9FwB,CAAA,kBE8FS,kBF9FT,CAAA,CAAA,QAAA,EE+F5B,SF/F4B,EAAA,QAAA,EEgG5B,+BFhG4B,CEgGI,SFhGJ,CAAA,CAAA,EEiGrC,+BFjGqC,CEiGL,SFjGK,CAAA;;AAqBxC;;KEwFK,aFtF8B,CAAA,kBEuFf,kBFvFe,EAAA,cEwFnB,kBFxFmB,CEwFA,SFxFA,CAAA,CAAA,GAAA,CAAA,OAAA,EEyFrB,wBFzFqB,CEyFI,SFzFJ,EEyFe,KFzFf,CAAA,EAAA,GEyF0B,OFzF1B,CAAA,IAAA,CAAA;;;;KE8F9B,kBF7FS,CAAA,kBE8FM,kBF9FN,EAAA,cE+FE,kBF/FF,CE+FqB,SF/FrB,CAAA,CAAA,GAAA,CAAA,QAAA,EEgGC,KFhGD,CEgGO,wBFhGP,CEgGgC,SFhGhC,EEgG2C,KFhG3C,CAAA,CAAA,EAAA,GEgGuD,OFhGvD,CAAA,IAAA,CAAA;;;AASd;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;;;;;;;;AAWA;;AAEmC,iBEmFnB,mBFnFmB,CAAA,kBEoFf,kBFpFe,EAAA,cEqFnB,kBFrFmB,CEqFA,SFrFA,CAAA,CAAA,CAAA,QAAA,EEuFvB,SFvFuB,EAAA,YAAA,EEwFnB,KFxFmB,EAAA,OAAA,EEyFxB,aFzFwB,CEyFV,SFzFU,EEyFC,KFzFD,CAAA,CAAA,EE0FhC,mCF1FgC,CE0FI,SF1FJ,EE0Fe,KF1Ff,CAAA;AAAnB,iBE2FA,mBF3FA,CAAA,kBE4FI,kBF5FJ,EAAA,cE6FA,kBF7FA,CE6FmB,SF7FnB,CAAA,CAAA,CAAA,QAAA,EE+FJ,SF/FI,EAAA,YAAA,EEgGA,KFhGA,EAAA,OAAA,EEiGL,aFjGK,CEiGS,SFjGT,EEiGoB,KFjGpB,CAAA,EAAA,OAAA,EAAA;EACqB,QAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,KAAA;EAA5C,YAAA,CAAA,EAAA,KAAA;CAAgC,CAAA,EEkGjC,mCFlGiC,CEkGG,SFlGH,EEkGc,KFlGd,CAAA;AAKxB,iBE8FI,mBF9F2B,CAAA,kBE+FvB,kBF/FuB,EAAA,cEgG3B,kBFhG2B,CEgGR,SFhGQ,CAAA,CAAA,CAAA,QAAA,EEkG/B,SFlG+B,EAAA,YAAA,EEmG3B,KFnG2B,EAAA,OAAA,EEoGhC,kBFpGgC,CEoGb,SFpGa,EEoGF,KFpGE,CAAA,EAAA,OAAA,EAAA;EACvB,QAAA,CAAA,EAAA,MAAA;EACe,SAAA,EAAA,MAAA;EAAnB,YAAA,CAAA,EAAA,MAAA;CAC0B,CAAA,EEmGvC,mCFnGuC,CEmGH,SFnGG,EEmGQ,KFnGR,CAAA;;;;AAK1C,KEsHK,kBFtHO,CAAA,kBEuHQ,kBFvHuB,EAAA,cEwH3B,kBFxH2B,CEwHR,SFxHQ,CAAA,CAAA,GE0HvC,aF1HuC,CE0HzB,SF1HyB,EE0Hd,KF1Hc,CAAA,GAAA,SAAA,CE4HrC,aF3Hc,CE2HA,SF3HA,EE2HW,KF3HX,CAAA,EACe;EAAnB,QAAA,CAAA,EAAA,MAAA;EAC0B,SAAA,CAAA,EAAA,KAAA;EAAW,YAAA,CAAA,EAAA,KAAA;AAAjD,CAAA,CAAqC,GAAA,SAAA,CE6HnC,kBFxHM,CEwHa,SFxHb,EEwHwB,KFxHG,CAAA,EAAmB;EACtB,QAAA,CAAA,EAAA,MAAA;EAAlC,SAAA,EAAA,MAAA;EAAiC,YAAA,CAAA,EAAA,MAAA;;;AC5JnC;AAoEA;KCsNK,cDtN6C,CAAA,kBCsNZ,kBDtNY,CAAA,GAAA,QCuN1C,kBDrNI,CCqNe,SDrNf,CAAA,GCqN4B,kBDrN5B,CCqN+C,SDrN/C,ECqN0D,CDrN1D,CAAA,EAOgC;;;;;;;;AAyD5C;;;;;;;;;;;;;;;;;;;;;;;;ACxDgB,iBA+OA,oBA/Oa,CAAA,kBA+O0B,kBA/O1B,CAAA,CAAA,QAAA,EAgPjB,SAhPiB,EAAA,QAAA,EAiPjB,cAjPiB,CAiPF,SAjPE,CAAA,CAAA,EAkP1B,+BAlP0B,CAkPM,SAlPN,CAAA"}
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Logger } from "@amqp-contract/core";
1
+ import { Logger, TelemetryProvider } from "@amqp-contract/core";
2
2
  import { Future, Result } from "@swan-io/boxed";
3
3
  import { AmqpConnectionManagerOptions, ConnectionUrl } from "amqp-connection-manager";
4
4
  import { ConsumerDefinition, ContractDefinition, InferConsumerNames } from "@amqp-contract/contract";
@@ -262,6 +262,12 @@ type CreateWorkerOptions<TContract extends ContractDefinition> = {
262
262
  logger?: Logger | undefined;
263
263
  /** Retry configuration - when undefined, uses legacy behavior (immediate requeue) */
264
264
  retry?: RetryOptions | undefined;
265
+ /**
266
+ * Optional telemetry provider for tracing and metrics.
267
+ * If not provided, uses the default provider which attempts to load OpenTelemetry.
268
+ * OpenTelemetry instrumentation is automatically enabled if @opentelemetry/api is installed.
269
+ */
270
+ telemetry?: TelemetryProvider | undefined;
265
271
  };
266
272
  /**
267
273
  * Type-safe AMQP worker for consuming messages from RabbitMQ.
@@ -316,6 +322,7 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
316
322
  private readonly batchTimers;
317
323
  private readonly consumerTags;
318
324
  private readonly retryConfig;
325
+ private readonly telemetry;
319
326
  private constructor();
320
327
  /**
321
328
  * Create a type-safe AMQP worker from a contract.
@@ -348,7 +355,8 @@ declare class TypedAmqpWorker<TContract extends ContractDefinition> {
348
355
  urls,
349
356
  connectionOptions,
350
357
  logger,
351
- retry
358
+ retry,
359
+ telemetry
352
360
  }: CreateWorkerOptions<TContract>): Future<Result<TypedAmqpWorker<TContract>, TechnicalError>>;
353
361
  /**
354
362
  * Close the AMQP channel and connection.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"sourcesContent":[],"mappings":"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AAA,OAAA,EEyFlD,mCFzFkD,CEyFd,SFzFc,EEyFH,KFzFG,CAAA,EAAA,OAAA,EAAA;EAAM,QAAA,CAAA,EAAA,MAAA;EAYvD,SAAA,EAAA,MAAA;EACQ,YAAA,CAAA,EAAA,MAAA;CACe,CAAA,EE6EhC,mCF7EgC,CE6EI,SF7EJ,EE6Ee,KF7Ef,CAAA;;;;;;;;;;AAanC;;;;;;;;;;;;;;AAkBA;;;;;;AACwC,iBE8FxB,cF9FwB,CAAA,kBE8FS,kBF9FT,CAAA,CAAA,QAAA,EE+F5B,SF/F4B,EAAA,QAAA,EEgG5B,+BFhG4B,CEgGI,SFhGJ,CAAA,CAAA,EEiGrC,+BFjGqC,CEiGL,SFjGK,CAAA;;AAqBxC;;KEwFK,aFtF8B,CAAA,kBEuFf,kBFvFe,EAAA,cEwFnB,kBFxFmB,CEwFA,SFxFA,CAAA,CAAA,GAAA,CAAA,OAAA,EEyFrB,wBFzFqB,CEyFI,SFzFJ,EEyFe,KFzFf,CAAA,EAAA,GEyF0B,OFzF1B,CAAA,IAAA,CAAA;;;;KE8F9B,kBF7FS,CAAA,kBE8FM,kBF9FN,EAAA,cE+FE,kBF/FF,CE+FqB,SF/FrB,CAAA,CAAA,GAAA,CAAA,QAAA,EEgGC,KFhGD,CEgGO,wBFhGP,CEgGgC,SFhGhC,EEgG2C,KFhG3C,CAAA,CAAA,EAAA,GEgGuD,OFhGvD,CAAA,IAAA,CAAA;;;AASd;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;;;;;;;;AAWA;;AAEmC,iBEmFnB,mBFnFmB,CAAA,kBEoFf,kBFpFe,EAAA,cEqFnB,kBFrFmB,CEqFA,SFrFA,CAAA,CAAA,CAAA,QAAA,EEuFvB,SFvFuB,EAAA,YAAA,EEwFnB,KFxFmB,EAAA,OAAA,EEyFxB,aFzFwB,CEyFV,SFzFU,EEyFC,KFzFD,CAAA,CAAA,EE0FhC,mCF1FgC,CE0FI,SF1FJ,EE0Fe,KF1Ff,CAAA;AAAnB,iBE2FA,mBF3FA,CAAA,kBE4FI,kBF5FJ,EAAA,cE6FA,kBF7FA,CE6FmB,SF7FnB,CAAA,CAAA,CAAA,QAAA,EE+FJ,SF/FI,EAAA,YAAA,EEgGA,KFhGA,EAAA,OAAA,EEiGL,aFjGK,CEiGS,SFjGT,EEiGoB,KFjGpB,CAAA,EAAA,OAAA,EAAA;EACqB,QAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,KAAA;EAA5C,YAAA,CAAA,EAAA,KAAA;CAAgC,CAAA,EEkGjC,mCFlGiC,CEkGG,SFlGH,EEkGc,KFlGd,CAAA;AAKxB,iBE8FI,mBF9F2B,CAAA,kBE+FvB,kBF/FuB,EAAA,cEgG3B,kBFhG2B,CEgGR,SFhGQ,CAAA,CAAA,CAAA,QAAA,EEkG/B,SFlG+B,EAAA,YAAA,EEmG3B,KFnG2B,EAAA,OAAA,EEoGhC,kBFpGgC,CEoGb,SFpGa,EEoGF,KFpGE,CAAA,EAAA,OAAA,EAAA;EACvB,QAAA,CAAA,EAAA,MAAA;EACe,SAAA,EAAA,MAAA;EAAnB,YAAA,CAAA,EAAA,MAAA;CAC0B,CAAA,EEmGvC,mCFnGuC,CEmGH,SFnGG,EEmGQ,KFnGR,CAAA;;;;AAK1C,KEsHK,kBFtHO,CAAA,kBEuHQ,kBFvHuB,EAAA,cEwH3B,kBFxH2B,CEwHR,SFxHQ,CAAA,CAAA,GE0HvC,aF1HuC,CE0HzB,SF1HyB,EE0Hd,KF1Hc,CAAA,GAAA,SAAA,CE4HrC,aF3Hc,CE2HA,SF3HA,EE2HW,KF3HX,CAAA,EACe;EAAnB,QAAA,CAAA,EAAA,MAAA;EAC0B,SAAA,CAAA,EAAA,KAAA;EAAW,YAAA,CAAA,EAAA,KAAA;AAAjD,CAAA,CAAqC,GAAA,SAAA,CE6HnC,kBFxHM,CEwHa,SFxHb,EEwHwB,KFxHG,CAAA,EAAmB;EACtB,QAAA,CAAA,EAAA,MAAA;EAAlC,SAAA,EAAA,MAAA;EAAiC,YAAA,CAAA,EAAA,MAAA;;;ACrKnC;AAoEA;KC+NK,cD/N6C,CAAA,kBC+NZ,kBD/NY,CAAA,GAAA,QCgO1C,kBD9NI,CC8Ne,SD9Nf,CAAA,GC8N4B,kBD9N5B,CC8N+C,SD9N/C,EC8N0D,CD9N1D,CAAA,EAOgC;;;;;;;AAmD5C;;;;;;;;;;;;;;;;;;;;;;;ACzCA;;AAEmC,iBA6OnB,oBA7OmB,CAAA,kBA6OoB,kBA7OpB,CAAA,CAAA,QAAA,EA8OvB,SA9OuB,EAAA,QAAA,EA+OvB,cA/OuB,CA+OR,SA/OQ,CAAA,CAAA,EAgPhC,+BAhPgC,CAgPA,SAhPA,CAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/worker.ts","../src/handlers.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;uBAGe,WAAA,SAAoB,KAAA;;;;;AAkBnC;AAaA;AAiBa,cA9BA,cAAA,SAAuB,WAAA,CA8BW;EAiBlC,SAAA,KAAA,CAAA,EAAA,OAAkB,GAAA,SAAQ;EAc3B,WAAA,CAAA,OAAY,EAAA,MAAG,EAAA,KAAiB,CAAjB,EAAA,OAAiB,GAAA,SAAA;;;;AC3EkB;AAKxB,cDsBzB,sBAAA,SAA+B,WAAA,CCtBN;EACpC,SAAA,YAAA,EAAA,MAAA;EAAgB,SAAA,MAAA,EAAA,OAAA;EAAgB,WAAA,CAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA;AAAA;;;;;AAK8C;;;AAOpB,cD0B/C,cAAA,SAAuB,WAAA,CC1BwB;EAAW,SAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;EAKlE,WAAA,CAAA,OAAa,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;;;AAQlB;AACoB,cD6BP,iBAAA,SAA0B,WAAA,CC7BnB;EACe,SAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;EAAnB,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,OAAA,GAAA,SAAA;;;;;;AAwBJ,KDkBA,YAAA,GAAe,cClBe,GDkBE,iBClBF;;;;;;KApDrC,gBDTsB,CAAA,gBCSW,gBDTE,CAAA,GCUtC,ODVsC,SCUtB,gBDVsB,CAAA,KAAA,OAAA,CAAA,GAAA,MAAA,GAAA,KAAA;AAkBxC;AAaA;AAiBA;AAiBA,KClDK,kBDkDQ,CAAkB,kBClDW,kBDkDQ,CAAA,GClDc,gBDkDd,CCjDhD,SDiDgD,CAAA,SAAA,CAAA,CAAA,SAAA,CAAA,CAAA;AAclD;;;KCzDK,iCAAiC,sBAAsB,YAAY;AAlBV;;;KAuBzD,aAjBa,CAAA,kBAkBE,kBAlBF,EAAA,cAmBF,kBAnBE,CAmBiB,SAnBjB,CAAA,CAAA,GAoBd,cApBc,CAoBC,SApBD,CAAA,CAoBY,KApBZ,CAAA;;AAAgB;;AAMhC,KAmBU,wBAnBV,CAAA,kBAoBkB,kBApBlB,EAAA,cAqBc,kBArBd,CAqBiC,SArBjC,CAAA,CAAA,GAsBE,kBAtBF,CAsBqB,aAtBrB,CAsBmC,SAtBnC,EAsB8C,KAtB9C,CAAA,CAAA;;;AAD8E;;;;;AAOT;;;;;;;AAQpC,KA+BvB,8BA/BuB,CAAA,kBAgCf,kBAhCe,EAAA,cAiCnB,kBAjCmB,CAiCA,SAjCA,CAAA,CAAA,GAAA,CAAA,OAAA,EAkCrB,wBAlCqB,CAkCI,SAlCJ,EAkCe,KAlCf,CAAA,EAAA,GAkC0B,MAlC1B,CAkCiC,MAlCjC,CAAA,IAAA,EAkC8C,YAlC9C,CAAA,CAAA;AAKnC;;;;;;;;;AA0BA;AACoB,KAcR,mCAdQ,CAAA,kBAeA,kBAfA,EAAA,cAgBJ,kBAhBI,CAgBe,SAhBf,CAAA,CAAA,GAAA,CAAA,QAAA,EAkBR,KAlBQ,CAkBF,wBAlBE,CAkBuB,SAlBvB,EAkBkC,KAlBlC,CAAA,CAAA,EAAA,GAmBf,MAnBe,CAmBR,MAnBQ,CAAA,IAAA,EAmBK,YAnBL,CAAA,CAAA;;;;;;;;;AAE+C,KA2BvD,mCA3BuD,CAAA,kBA4B/C,kBA5B+C,EAAA,cA6BnD,kBA7BmD,CA6BhC,SA7BgC,CAAA,CAAA,GA+B/D,8BA/B+D,CA+BhC,SA/BgC,EA+BrB,KA/BqB,CAAA,GAAA,SAAA,CAiC7D,8BArBM,CAqByB,SArBU,EAqBC,KArBD,CAAA,EAC3B;EACe,QAAA,CAAA,EAAA,MAAA;EAAnB,SAAA,CAAA,EAAA,KAAA;EAE2B,YAAA,CAAA,EAAA,KAAA;AAAW,CAAA,CAApC,GAAA,SAAA,CAqBZ,mCArBM,CAqB8B,SArB9B,EAqByC,KArBzC,CAAA,EACa;EAAb,QAAA,CAAA,EAAA,MAAA;EAAP,SAAA,EAAA,MAAA;EAAM,YAAA,CAAA,EAAA,MAAA;AAUC,CAAA,CACQ;;;;;AAGhB,KAcQ,+BAdR,CAAA,kBAc0D,kBAd1D,CAAA,GAAA,QAeI,kBAb6B,CAaV,SAbU,CAAA,GAaG,mCAbH,CAauC,SAbvC,EAakD,CAblD,CAAA,EAAW;;;;;;AAYhD;;;;;;AACwC,KAqB5B,gCArB4B,CAAA,kBAsBpB,kBAtBoB,EAAA,cAuBxB,kBAvBwB,CAuBL,SAvBK,CAAA,CAAA,GAAA,CAAA,OAAA,EAwB1B,wBAxB0B,CAwBD,SAxBC,EAwBU,KAxBV,CAAA,EAAA,GAwBqB,OAxBrB,CAAA,IAAA,CAAA;;AAqBxC;;;;;;AAGc,KASF,qCATE,CAAA,kBAUM,kBAVN,EAAA,cAWE,kBAXF,CAWqB,SAXrB,CAAA,CAAA,GAAA,CAAA,QAAA,EAYC,KAZD,CAYO,wBAZP,CAYgC,SAZhC,EAY2C,KAZ3C,CAAA,CAAA,EAAA,GAYuD,OAZvD,CAAA,IAAA,CAAA;;;AASd;;;AAEgB,KAQJ,qCARI,CAAA,kBASI,kBATJ,EAAA,cAUA,kBAVA,CAUmB,SAVnB,CAAA,CAAA,GAYZ,gCAZY,CAYqB,SAZrB,EAYgC,KAZhC,CAAA,GAAA,SAAA,CAcV,gCAbwC,CAaP,SAbO,EAaI,KAbJ,CAAA,EAAW;EAApC,QAAA,CAAA,EAAA,MAAA;EAAN,SAAA,CAAA,EAAA,KAAA;EAAsD,YAAA,CAAA,EAAA,KAAA;AAAO,CAAA,CAO5E,GAAY,SAAA,CAUN,qCATc,CASwB,SATxB,EASmC,KATnC,CAAA,EACe;EAAnB,QAAA,CAAA,EAAA,MAAA;EAEqB,SAAA,EAAA,MAAA;EAAW,YAAA,CAAA,EAAA,MAAA;AAA5C,CAAA,CAEmC;;;;;;AAII,KAS/B,iCAT+B,CAAA,kBASqB,kBATrB,CAAA,GAAA,QAUnC,kBADI,CACe,SADf,CAAA,GAC4B,qCADK,CACiC,SADjC,EAC4C,CAD5C,CAAA,EAAmB;;;;AACyB,KAU7E,0BAV6E,CAAA,kBAWrE,kBAXqE,EAAA,cAYzE,kBAZyE,CAYtD,SAZsD,CAAA,CAAA,GAarF,gCAbqF,CAapD,SAboD,EAazC,KAbyC,CAAA;;;AAUzF;AACoB,KAOR,+BAPQ,CAAA,kBAQA,kBARA,EAAA,cASJ,kBATI,CASe,SATf,CAAA,CAAA,GAUhB,qCAVgB,CAUsB,SAVtB,EAUiC,KAVjC,CAAA;;;;AAE4B,KAapC,+BAboC,CAAA,kBAc5B,kBAd4B,EAAA,cAehC,kBAfgC,CAeb,SAfa,CAAA,CAAA,GAgB5C,qCAhB4C,CAgBN,SAhBM,EAgBK,KAhBL,CAAA;;;AAKhD;AACoB,KAeR,2BAfQ,CAAA,kBAesC,kBAftC,CAAA,GAgBlB,iCAhBkB,CAgBgB,SAhBhB,CAAA;;;;;AD9KpB;AAaA;AAiBA;AAiBA;AAcY,KE3BA,YAAA,GF2BY;;;;ECtEnB,cAAA,CAAA,EAAA,MAAgB;EAAiB;EACpC,UAAA,CAAA,EAAA,MAAA;EAAgB;EAAgB,iBAAA,CAAA,EAAA,MAAA;EAK7B;EAAqC,MAAA,CAAA,EAAA,OAAA;CACxC;;;AAD8E;;;;;AAOT;;;;;;;;AAavE;;;;;;;;;AA0BA;;;;;;;;;;;AAeA;;;;;;;;;AAKY,KCuCA,mBDvCA,CAAA,kBCuCsC,kBDvCtC,CAAA,GAAA;EAAP;EAAM,QAAA,ECyCC,SDzCD;EAUC;;;;;;EAIR,QAAA,ECkCQ,+BDlCR,CCkCwC,SDlCxC,CAAA;EAEiC;EAAW,IAAA,ECkCxC,aDlCwC,EAAA;EAA1C;EAIoC,iBAAA,CAAA,ECgCpB,4BDhCoB,GAAA,SAAA;EAAW;EAA/C,MAAA,CAAA,ECkCK,MDlCL,GAAA,SAAA;EAAmC;EAQ7B,KAAA,CAAA,EC4BF,YD5BE,GAAA,SAAA;EAAkD;;;;;EACtB,SAAA,CAAA,ECiC1B,iBDjC0B,GAAA,SAAA;CAAmC;AAqB3E;;;;;;;;;AAYA;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;;;;;;;AAC6E,cCahE,eDbgE,CAAA,kBCa9B,kBDb8B,CAAA,CAAA;EAUjE,iBAAA,QAAA;EACQ,iBAAA,UAAA;EACe,iBAAA,MAAA;EAAnB;;;;EACoB,iBAAA,cAAA;EAKxB,iBAAA,eAAA;EACQ,iBAAA,WAAA;EACe,iBAAA,YAAA;EAAnB,iBAAA,WAAA;EAC0B,iBAAA,SAAA;EAAW,QAAA,WAAA,CAAA;EAAjD;;AAKJ;;;;;;;;AAQA;;;;;;;;AC3JA;AAoEA;;;;;;EAasB,OAAA,MAAA,CAAA,kBAkJY,kBAlJZ,CAAA,CAAA;IAAA,QAAA;IAAA,QAAA;IAAA,IAAA;IAAA,iBAAA;IAAA,MAAA;IAAA,KAAA;IAAA;EAAA,CAAA,EA0JjB,mBA1JiB,CA0JG,SA1JH,CAAA,CAAA,EA0JgB,MA1JhB,CA0JuB,MA1JvB,CA0J8B,eA1J9B,CA0J8C,SA1J9C,CAAA,EA0J0D,cA1J1D,CAAA,CAAA;EAEX;;;;AAmDX;;;;;;;;;;;;EAqGoE,KAAA,CAAA,CAAA,EAoCzD,MApCyD,CAoClD,MApCkD,CAAA,IAAA,EAoCrC,cApCqC,CAAA,CAAA;EAAhB;;;;EAoCrB,QAAA,eAAA;EAAb;;;;;;ACjMlB;;EAEmC,QAAA,OAAA;EAAnB;;;;EAIqC,QAAA,uBAAA;EAA1C;;;EACR,QAAA,aAAA;EAAmC;AACtC;;EAEmC,QAAA,gBAAA;EAAnB;;;EAI0B,QAAA,YAAA;EAAW;;;;;;AAGrD;;;EAEgB,QAAA,WAAA;EAEJ;;;EAE8C,QAAA,mBAAA;EAA/C;;;;EAE2B,QAAA,2BAAA;EAiDtB;;;;;;;;AAMf;;;;;;;;;AAYmE;;;;;;;;EAQC,QAAA,eAAA;EAAO;AAsC5E;;;EAEgB,QAAA,SAAA;;;;;;;;;;AH5PhB;AAaA;AAiBA;AAiBA;AAcA;;;;AC3E8D;;;;;AAM5B;;;;;AAK8C;;;;;AAOT;;;;;;;;AAavE;;;;;;;;;AA0BA;;;AAEgB,iBEmEA,aFnEA,CAAA,kBEoEI,kBFpEJ,EAAA,cEqEA,kBFrEA,CEqEmB,SFrEnB,CAAA,CAAA,CAAA,QAAA,EEuEJ,SFvEI,EAAA,YAAA,EEwEA,KFxEA,EAAA,OAAA,EEyEL,8BFzEK,CEyE0B,SFzE1B,EEyEqC,KFzErC,CAAA,CAAA,EE0Eb,mCF1Ea,CE0EuB,SF1EvB,EE0EkC,KF1ElC,CAAA;AACuB,iBE0EvB,aF1EuB,CAAA,kBE2EnB,kBF3EmB,EAAA,cE4EvB,kBF5EuB,CE4EJ,SF5EI,CAAA,CAAA,CAAA,QAAA,EE8E3B,SF9E2B,EAAA,YAAA,EE+EvB,KF/EuB,EAAA,OAAA,EEgF5B,8BFhF4B,CEgFG,SFhFH,EEgFc,KFhFd,CAAA,EAAA,OAAA,EAAA;EAAW,QAAA,CAAA,EAAA,MAAA;EAApC,SAAA,CAAA,EAAA,KAAA;EAAmE,YAAA,CAAA,EAAA,KAAA;CAAb,CAAA,EEkFjE,mCFlFiE,CEkF7B,SFlF6B,EEkFlB,KFlFkB,CAAA;AAAP,iBEmF7C,aFnF6C,CAAA,kBEoFzC,kBFpFyC,EAAA,cEqF7C,kBFrF6C,CEqF1B,SFrF0B,CAAA,CAAA,CAAA,QAAA,EEuFjD,SFvFiD,EAAA,YAAA,EEwF7C,KFxF6C,EAAA,OAAA,EEyFlD,mCFzFkD,CEyFd,SFzFc,EEyFH,KFzFG,CAAA,EAAA,OAAA,EAAA;EAAM,QAAA,CAAA,EAAA,MAAA;EAYvD,SAAA,EAAA,MAAA;EACQ,YAAA,CAAA,EAAA,MAAA;CACe,CAAA,EE6EhC,mCF7EgC,CE6EI,SF7EJ,EE6Ee,KF7Ef,CAAA;;;;;;;;;;AAanC;;;;;;;;;;;;;;AAkBA;;;;;;AACwC,iBE8FxB,cF9FwB,CAAA,kBE8FS,kBF9FT,CAAA,CAAA,QAAA,EE+F5B,SF/F4B,EAAA,QAAA,EEgG5B,+BFhG4B,CEgGI,SFhGJ,CAAA,CAAA,EEiGrC,+BFjGqC,CEiGL,SFjGK,CAAA;;AAqBxC;;KEwFK,aFtF8B,CAAA,kBEuFf,kBFvFe,EAAA,cEwFnB,kBFxFmB,CEwFA,SFxFA,CAAA,CAAA,GAAA,CAAA,OAAA,EEyFrB,wBFzFqB,CEyFI,SFzFJ,EEyFe,KFzFf,CAAA,EAAA,GEyF0B,OFzF1B,CAAA,IAAA,CAAA;;;;KE8F9B,kBF7FS,CAAA,kBE8FM,kBF9FN,EAAA,cE+FE,kBF/FF,CE+FqB,SF/FrB,CAAA,CAAA,GAAA,CAAA,QAAA,EEgGC,KFhGD,CEgGO,wBFhGP,CEgGgC,SFhGhC,EEgG2C,KFhG3C,CAAA,CAAA,EAAA,GEgGuD,OFhGvD,CAAA,IAAA,CAAA;;;AASd;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;;;;;;;;AAWA;;AAEmC,iBEmFnB,mBFnFmB,CAAA,kBEoFf,kBFpFe,EAAA,cEqFnB,kBFrFmB,CEqFA,SFrFA,CAAA,CAAA,CAAA,QAAA,EEuFvB,SFvFuB,EAAA,YAAA,EEwFnB,KFxFmB,EAAA,OAAA,EEyFxB,aFzFwB,CEyFV,SFzFU,EEyFC,KFzFD,CAAA,CAAA,EE0FhC,mCF1FgC,CE0FI,SF1FJ,EE0Fe,KF1Ff,CAAA;AAAnB,iBE2FA,mBF3FA,CAAA,kBE4FI,kBF5FJ,EAAA,cE6FA,kBF7FA,CE6FmB,SF7FnB,CAAA,CAAA,CAAA,QAAA,EE+FJ,SF/FI,EAAA,YAAA,EEgGA,KFhGA,EAAA,OAAA,EEiGL,aFjGK,CEiGS,SFjGT,EEiGoB,KFjGpB,CAAA,EAAA,OAAA,EAAA;EACqB,QAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,KAAA;EAA5C,YAAA,CAAA,EAAA,KAAA;CAAgC,CAAA,EEkGjC,mCFlGiC,CEkGG,SFlGH,EEkGc,KFlGd,CAAA;AAKxB,iBE8FI,mBF9F2B,CAAA,kBE+FvB,kBF/FuB,EAAA,cEgG3B,kBFhG2B,CEgGR,SFhGQ,CAAA,CAAA,CAAA,QAAA,EEkG/B,SFlG+B,EAAA,YAAA,EEmG3B,KFnG2B,EAAA,OAAA,EEoGhC,kBFpGgC,CEoGb,SFpGa,EEoGF,KFpGE,CAAA,EAAA,OAAA,EAAA;EACvB,QAAA,CAAA,EAAA,MAAA;EACe,SAAA,EAAA,MAAA;EAAnB,YAAA,CAAA,EAAA,MAAA;CAC0B,CAAA,EEmGvC,mCFnGuC,CEmGH,SFnGG,EEmGQ,KFnGR,CAAA;;;;AAK1C,KEsHK,kBFtHO,CAAA,kBEuHQ,kBFvHuB,EAAA,cEwH3B,kBFxH2B,CEwHR,SFxHQ,CAAA,CAAA,GE0HvC,aF1HuC,CE0HzB,SF1HyB,EE0Hd,KF1Hc,CAAA,GAAA,SAAA,CE4HrC,aF3Hc,CE2HA,SF3HA,EE2HW,KF3HX,CAAA,EACe;EAAnB,QAAA,CAAA,EAAA,MAAA;EAC0B,SAAA,CAAA,EAAA,KAAA;EAAW,YAAA,CAAA,EAAA,KAAA;AAAjD,CAAA,CAAqC,GAAA,SAAA,CE6HnC,kBFxHM,CEwHa,SFxHb,EEwHwB,KFxHG,CAAA,EAAmB;EACtB,QAAA,CAAA,EAAA,MAAA;EAAlC,SAAA,EAAA,MAAA;EAAiC,YAAA,CAAA,EAAA,MAAA;;;AC5JnC;AAoEA;KCsNK,cDtN6C,CAAA,kBCsNZ,kBDtNY,CAAA,GAAA,QCuN1C,kBDrNI,CCqNe,SDrNf,CAAA,GCqN4B,kBDrN5B,CCqN+C,SDrN/C,ECqN0D,CDrN1D,CAAA,EAOgC;;;;;;;;AAyD5C;;;;;;;;;;;;;;;;;;;;;;;;ACxDgB,iBA+OA,oBA/Oa,CAAA,kBA+O0B,kBA/O1B,CAAA,CAAA,QAAA,EAgPjB,SAhPiB,EAAA,QAAA,EAiPjB,cAjPiB,CAiPF,SAjPE,CAAA,CAAA,EAkP1B,+BAlP0B,CAkPM,SAlPN,CAAA"}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { AmqpClient } from "@amqp-contract/core";
1
+ import { AmqpClient, defaultTelemetryProvider, endSpanError, endSpanSuccess, recordConsumeMetric, startConsumeSpan } from "@amqp-contract/core";
2
2
  import { Future, Result } from "@swan-io/boxed";
3
3
  import { gunzip, inflate } from "node:zlib";
4
4
  import { promisify } from "node:util";
@@ -141,10 +141,12 @@ var TypedAmqpWorker = class TypedAmqpWorker {
141
141
  batchTimers = /* @__PURE__ */ new Map();
142
142
  consumerTags = /* @__PURE__ */ new Set();
143
143
  retryConfig;
144
- constructor(contract, amqpClient, handlers, logger, retryOptions) {
144
+ telemetry;
145
+ constructor(contract, amqpClient, handlers, logger, retryOptions, telemetry) {
145
146
  this.contract = contract;
146
147
  this.amqpClient = amqpClient;
147
148
  this.logger = logger;
149
+ this.telemetry = telemetry ?? defaultTelemetryProvider;
148
150
  this.actualHandlers = {};
149
151
  this.consumerOptions = {};
150
152
  const handlersRecord = handlers;
@@ -190,11 +192,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
190
192
  * }).resultToPromise();
191
193
  * ```
192
194
  */
193
- static create({ contract, handlers, urls, connectionOptions, logger, retry }) {
195
+ static create({ contract, handlers, urls, connectionOptions, logger, retry, telemetry }) {
194
196
  const worker = new TypedAmqpWorker(contract, new AmqpClient(contract, {
195
197
  urls,
196
198
  connectionOptions
197
- }), handlers, logger, retry);
199
+ }), handlers, logger, retry, telemetry);
198
200
  return worker.waitForConnectionReady().flatMapOk(() => worker.setupWaitQueues()).flatMapOk(() => worker.consumeAll()).mapOk(() => worker);
199
201
  }
200
202
  /**
@@ -250,6 +252,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
250
252
  deadLetterRoutingKey: queueName
251
253
  });
252
254
  await channel.bindQueue(waitQueueName, dlxName, `${queueName}-wait`);
255
+ await channel.bindQueue(queueName, dlxName, queueName);
253
256
  this.logger?.info("Wait queue created and bound", {
254
257
  consumerName: String(consumerName),
255
258
  queueName,
@@ -361,30 +364,43 @@ var TypedAmqpWorker = class TypedAmqpWorker {
361
364
  * Consume messages one at a time
362
365
  */
363
366
  consumeSingle(consumerName, consumer, handler) {
364
- return Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
367
+ const queueName = consumer.queue.name;
368
+ return Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
365
369
  if (msg === null) {
366
370
  this.logger?.warn("Consumer cancelled by server", {
367
371
  consumerName: String(consumerName),
368
- queueName: consumer.queue.name
372
+ queueName
369
373
  });
370
374
  return;
371
375
  }
376
+ const startTime = Date.now();
377
+ const span = startConsumeSpan(this.telemetry, queueName, String(consumerName), { "messaging.rabbitmq.message.delivery_tag": msg.fields.deliveryTag });
372
378
  await this.parseAndValidateMessage(msg, consumer, consumerName).flatMapOk((validatedMessage) => handler(validatedMessage).flatMapOk(() => {
373
379
  this.logger?.info("Message consumed successfully", {
374
380
  consumerName: String(consumerName),
375
- queueName: consumer.queue.name
381
+ queueName
376
382
  });
377
383
  this.amqpClient.channel.ack(msg);
384
+ const durationMs = Date.now() - startTime;
385
+ endSpanSuccess(span);
386
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), true, durationMs);
378
387
  return Future.value(Result.Ok(void 0));
379
388
  }).flatMapError((handlerError) => {
380
389
  this.logger?.error("Error processing message", {
381
390
  consumerName: String(consumerName),
382
- queueName: consumer.queue.name,
391
+ queueName,
383
392
  errorType: handlerError.name,
384
393
  error: handlerError.message
385
394
  });
395
+ const durationMs = Date.now() - startTime;
396
+ endSpanError(span, handlerError);
397
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
386
398
  return this.handleError(handlerError, msg, String(consumerName), consumer);
387
- })).toPromise();
399
+ })).tapError(() => {
400
+ const durationMs = Date.now() - startTime;
401
+ endSpanError(span, /* @__PURE__ */ new Error("Message validation failed"));
402
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
403
+ }).toPromise();
388
404
  })).tapOk((reply) => {
389
405
  this.consumerTags.add(reply.consumerTag);
390
406
  }).mapError((error) => new TechnicalError(`Failed to start consuming for "${String(consumerName)}"`, error)).mapOk(() => void 0);
@@ -402,6 +418,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
402
418
  const batchSize = options.batchSize;
403
419
  const batchTimeout = options.batchTimeout ?? 1e3;
404
420
  const timerKey = String(consumerName);
421
+ const queueName = consumer.queue.name;
405
422
  let batch = [];
406
423
  let isProcessing = false;
407
424
  const processBatch = () => {
@@ -415,27 +432,36 @@ var TypedAmqpWorker = class TypedAmqpWorker {
415
432
  this.batchTimers.delete(timerKey);
416
433
  }
417
434
  const messages = currentBatch.map((item) => item.message);
435
+ const batchCount = currentBatch.length;
436
+ const startTime = Date.now();
437
+ const span = startConsumeSpan(this.telemetry, queueName, String(consumerName), { "amqp.batch.size": batchCount });
418
438
  this.logger?.info("Processing batch", {
419
439
  consumerName: String(consumerName),
420
- queueName: consumer.queue.name,
421
- batchSize: currentBatch.length
440
+ queueName,
441
+ batchSize: batchCount
422
442
  });
423
443
  return handler(messages).flatMapOk(() => {
424
444
  for (const item of currentBatch) this.amqpClient.channel.ack(item.amqpMessage);
425
445
  this.logger?.info("Batch processed successfully", {
426
446
  consumerName: String(consumerName),
427
- queueName: consumer.queue.name,
428
- batchSize: currentBatch.length
447
+ queueName,
448
+ batchSize: batchCount
429
449
  });
450
+ const durationMs = Date.now() - startTime;
451
+ endSpanSuccess(span);
452
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), true, durationMs);
430
453
  return Future.value(Result.Ok(void 0));
431
454
  }).flatMapError((handlerError) => {
432
455
  this.logger?.error("Error processing batch", {
433
456
  consumerName: String(consumerName),
434
- queueName: consumer.queue.name,
435
- batchSize: currentBatch.length,
457
+ queueName,
458
+ batchSize: batchCount,
436
459
  errorType: handlerError.name,
437
460
  error: handlerError.message
438
461
  });
462
+ const durationMs = Date.now() - startTime;
463
+ endSpanError(span, handlerError);
464
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
439
465
  return this.handleBatchError(handlerError, currentBatch, String(consumerName), consumer);
440
466
  }).tap(() => {
441
467
  isProcessing = false;
@@ -450,11 +476,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
450
476
  }, batchTimeout);
451
477
  this.batchTimers.set(timerKey, timer);
452
478
  };
453
- return Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
479
+ return Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
454
480
  if (msg === null) {
455
481
  this.logger?.warn("Consumer cancelled by server", {
456
482
  consumerName: String(consumerName),
457
- queueName: consumer.queue.name
483
+ queueName
458
484
  });
459
485
  await processBatch().toPromise();
460
486
  return;