@amqp-contract/worker 0.8.0 → 0.9.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
  /**
@@ -361,30 +363,43 @@ var TypedAmqpWorker = class TypedAmqpWorker {
361
363
  * Consume messages one at a time
362
364
  */
363
365
  consumeSingle(consumerName, consumer, handler) {
364
- return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
366
+ const queueName = consumer.queue.name;
367
+ return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
365
368
  if (msg === null) {
366
369
  this.logger?.warn("Consumer cancelled by server", {
367
370
  consumerName: String(consumerName),
368
- queueName: consumer.queue.name
371
+ queueName
369
372
  });
370
373
  return;
371
374
  }
375
+ const startTime = Date.now();
376
+ const span = (0, _amqp_contract_core.startConsumeSpan)(this.telemetry, queueName, String(consumerName), { "messaging.rabbitmq.message.delivery_tag": msg.fields.deliveryTag });
372
377
  await this.parseAndValidateMessage(msg, consumer, consumerName).flatMapOk((validatedMessage) => handler(validatedMessage).flatMapOk(() => {
373
378
  this.logger?.info("Message consumed successfully", {
374
379
  consumerName: String(consumerName),
375
- queueName: consumer.queue.name
380
+ queueName
376
381
  });
377
382
  this.amqpClient.channel.ack(msg);
383
+ const durationMs = Date.now() - startTime;
384
+ (0, _amqp_contract_core.endSpanSuccess)(span);
385
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), true, durationMs);
378
386
  return _swan_io_boxed.Future.value(_swan_io_boxed.Result.Ok(void 0));
379
387
  }).flatMapError((handlerError) => {
380
388
  this.logger?.error("Error processing message", {
381
389
  consumerName: String(consumerName),
382
- queueName: consumer.queue.name,
390
+ queueName,
383
391
  errorType: handlerError.name,
384
392
  error: handlerError.message
385
393
  });
394
+ const durationMs = Date.now() - startTime;
395
+ (0, _amqp_contract_core.endSpanError)(span, handlerError);
396
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
386
397
  return this.handleError(handlerError, msg, String(consumerName), consumer);
387
- })).toPromise();
398
+ })).tapError(() => {
399
+ const durationMs = Date.now() - startTime;
400
+ (0, _amqp_contract_core.endSpanError)(span, /* @__PURE__ */ new Error("Message validation failed"));
401
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
402
+ }).toPromise();
388
403
  })).tapOk((reply) => {
389
404
  this.consumerTags.add(reply.consumerTag);
390
405
  }).mapError((error) => new TechnicalError(`Failed to start consuming for "${String(consumerName)}"`, error)).mapOk(() => void 0);
@@ -402,6 +417,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
402
417
  const batchSize = options.batchSize;
403
418
  const batchTimeout = options.batchTimeout ?? 1e3;
404
419
  const timerKey = String(consumerName);
420
+ const queueName = consumer.queue.name;
405
421
  let batch = [];
406
422
  let isProcessing = false;
407
423
  const processBatch = () => {
@@ -415,27 +431,36 @@ var TypedAmqpWorker = class TypedAmqpWorker {
415
431
  this.batchTimers.delete(timerKey);
416
432
  }
417
433
  const messages = currentBatch.map((item) => item.message);
434
+ const batchCount = currentBatch.length;
435
+ const startTime = Date.now();
436
+ const span = (0, _amqp_contract_core.startConsumeSpan)(this.telemetry, queueName, String(consumerName), { "amqp.batch.size": batchCount });
418
437
  this.logger?.info("Processing batch", {
419
438
  consumerName: String(consumerName),
420
- queueName: consumer.queue.name,
421
- batchSize: currentBatch.length
439
+ queueName,
440
+ batchSize: batchCount
422
441
  });
423
442
  return handler(messages).flatMapOk(() => {
424
443
  for (const item of currentBatch) this.amqpClient.channel.ack(item.amqpMessage);
425
444
  this.logger?.info("Batch processed successfully", {
426
445
  consumerName: String(consumerName),
427
- queueName: consumer.queue.name,
428
- batchSize: currentBatch.length
446
+ queueName,
447
+ batchSize: batchCount
429
448
  });
449
+ const durationMs = Date.now() - startTime;
450
+ (0, _amqp_contract_core.endSpanSuccess)(span);
451
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), true, durationMs);
430
452
  return _swan_io_boxed.Future.value(_swan_io_boxed.Result.Ok(void 0));
431
453
  }).flatMapError((handlerError) => {
432
454
  this.logger?.error("Error processing batch", {
433
455
  consumerName: String(consumerName),
434
- queueName: consumer.queue.name,
435
- batchSize: currentBatch.length,
456
+ queueName,
457
+ batchSize: batchCount,
436
458
  errorType: handlerError.name,
437
459
  error: handlerError.message
438
460
  });
461
+ const durationMs = Date.now() - startTime;
462
+ (0, _amqp_contract_core.endSpanError)(span, handlerError);
463
+ (0, _amqp_contract_core.recordConsumeMetric)(this.telemetry, queueName, String(consumerName), false, durationMs);
439
464
  return this.handleBatchError(handlerError, currentBatch, String(consumerName), consumer);
440
465
  }).tap(() => {
441
466
  isProcessing = false;
@@ -450,11 +475,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
450
475
  }, batchTimeout);
451
476
  this.batchTimers.set(timerKey, timer);
452
477
  };
453
- return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
478
+ return _swan_io_boxed.Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
454
479
  if (msg === null) {
455
480
  this.logger?.warn("Consumer cancelled by server", {
456
481
  consumerName: String(consumerName),
457
- queueName: consumer.queue.name
482
+ queueName
458
483
  });
459
484
  await processBatch().toPromise();
460
485
  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":";;;;;;;;;;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,KEpCA,YAAA,GFoCY;;;;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,KC8BA,mBD9BA,CAAA,kBC8BsC,kBD9BtC,CAAA,GAAA;EAAP;EAAM,QAAA,ECgCC,SDhCD;EAUC;;;;;;EAIR,QAAA,ECyBQ,+BDzBR,CCyBwC,SDzBxC,CAAA;EAEiC;EAAW,IAAA,ECyBxC,aDzBwC,EAAA;EAA1C;EAIoC,iBAAA,CAAA,ECuBpB,4BDvBoB,GAAA,SAAA;EAAW;EAA/C,MAAA,CAAA,ECyBK,MDzBL,GAAA,SAAA;EAAmC;EAQ7B,KAAA,CAAA,ECmBF,YDnBE,GAAA,SAAA;CAAkD;;;;;;;AAsB9D;;;;;;;;;AAYA;;;;;;;;;;AAUA;;;;;;;;;;;;;;AAmBA;AAAgE,cCDnD,eDCmD,CAAA,kBCDjB,kBDCiB,CAAA,CAAA;EACrC,iBAAA,QAAA;EAAnB,iBAAA,UAAA;EAAsE,iBAAA,MAAA;EAAW;;;AAUzF;EACoB,iBAAA,cAAA;EACe,iBAAA,eAAA;EAAnB,iBAAA,WAAA;EACqB,iBAAA,YAAA;EAAW,iBAAA,WAAA;EAA5C,QAAA,WAAA,CAAA;EAAgC;AAKpC;;;;;;;;AAQA;;;;;;;;AAQA;;;;;;;;ECpKY,OAAA,MAAA,CAAA,kBAyNsB,kBAzNV,CAAA,CAAA;IAAA,QAAA;IAAA,QAAA;IAAA,IAAA;IAAA,iBAAA;IAAA,MAAA;IAAA;EAAA,CAAA,EAgOnB,mBAhOmB,CAgOC,SAhOD,CAAA,CAAA,EAgOc,MAhOd,CAgOqB,MAhOrB,CAgO4B,eAhO5B,CAgO4C,SAhO5C,CAAA,EAgOwD,cAhOxD,CAAA,CAAA;EAoEZ;;;;;;;;;;AA4DZ;;;;;;EA6FI,KAAA,CAAA,CAAA,EAsCO,MAtCP,CAsCc,MAtCd,CAAA,IAAA,EAsC2B,cAtC3B,CAAA,CAAA;EACA;;;;EAEgE,QAAA,eAAA;EAAhB;;;EAAd,QAAA,UAAA;EAmCP,QAAA,sBAAA;EAAb;;;;;;AC5KlB;;EAEmC,QAAA,uBAAA;EAAnB;;;EAI0B,QAAA,aAAA;EAAW;;;EACH,QAAA,gBAAA;EAA/C;;AACH;EACoB,QAAA,YAAA;EACe;;;;;;;;;EAMhC,QAAA,WAAA;EAAmC;AACtC;;EAEmC,QAAA,mBAAA;EAAnB;;;;EAI0C,QAAA,2BAAA;EAA/C;;;;;AAmDX;;;;;;;;AAMC;;;;;;;;;AAYmE;;;EAOpD,QAAA,eAAA;EAC8B;;;;EAAuB,QAAA,SAAA;;;;;;;;;;AHpNrE;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;;;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":"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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.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
  /**
@@ -361,30 +363,43 @@ var TypedAmqpWorker = class TypedAmqpWorker {
361
363
  * Consume messages one at a time
362
364
  */
363
365
  consumeSingle(consumerName, consumer, handler) {
364
- return Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
366
+ const queueName = consumer.queue.name;
367
+ return Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
365
368
  if (msg === null) {
366
369
  this.logger?.warn("Consumer cancelled by server", {
367
370
  consumerName: String(consumerName),
368
- queueName: consumer.queue.name
371
+ queueName
369
372
  });
370
373
  return;
371
374
  }
375
+ const startTime = Date.now();
376
+ const span = startConsumeSpan(this.telemetry, queueName, String(consumerName), { "messaging.rabbitmq.message.delivery_tag": msg.fields.deliveryTag });
372
377
  await this.parseAndValidateMessage(msg, consumer, consumerName).flatMapOk((validatedMessage) => handler(validatedMessage).flatMapOk(() => {
373
378
  this.logger?.info("Message consumed successfully", {
374
379
  consumerName: String(consumerName),
375
- queueName: consumer.queue.name
380
+ queueName
376
381
  });
377
382
  this.amqpClient.channel.ack(msg);
383
+ const durationMs = Date.now() - startTime;
384
+ endSpanSuccess(span);
385
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), true, durationMs);
378
386
  return Future.value(Result.Ok(void 0));
379
387
  }).flatMapError((handlerError) => {
380
388
  this.logger?.error("Error processing message", {
381
389
  consumerName: String(consumerName),
382
- queueName: consumer.queue.name,
390
+ queueName,
383
391
  errorType: handlerError.name,
384
392
  error: handlerError.message
385
393
  });
394
+ const durationMs = Date.now() - startTime;
395
+ endSpanError(span, handlerError);
396
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
386
397
  return this.handleError(handlerError, msg, String(consumerName), consumer);
387
- })).toPromise();
398
+ })).tapError(() => {
399
+ const durationMs = Date.now() - startTime;
400
+ endSpanError(span, /* @__PURE__ */ new Error("Message validation failed"));
401
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
402
+ }).toPromise();
388
403
  })).tapOk((reply) => {
389
404
  this.consumerTags.add(reply.consumerTag);
390
405
  }).mapError((error) => new TechnicalError(`Failed to start consuming for "${String(consumerName)}"`, error)).mapOk(() => void 0);
@@ -402,6 +417,7 @@ var TypedAmqpWorker = class TypedAmqpWorker {
402
417
  const batchSize = options.batchSize;
403
418
  const batchTimeout = options.batchTimeout ?? 1e3;
404
419
  const timerKey = String(consumerName);
420
+ const queueName = consumer.queue.name;
405
421
  let batch = [];
406
422
  let isProcessing = false;
407
423
  const processBatch = () => {
@@ -415,27 +431,36 @@ var TypedAmqpWorker = class TypedAmqpWorker {
415
431
  this.batchTimers.delete(timerKey);
416
432
  }
417
433
  const messages = currentBatch.map((item) => item.message);
434
+ const batchCount = currentBatch.length;
435
+ const startTime = Date.now();
436
+ const span = startConsumeSpan(this.telemetry, queueName, String(consumerName), { "amqp.batch.size": batchCount });
418
437
  this.logger?.info("Processing batch", {
419
438
  consumerName: String(consumerName),
420
- queueName: consumer.queue.name,
421
- batchSize: currentBatch.length
439
+ queueName,
440
+ batchSize: batchCount
422
441
  });
423
442
  return handler(messages).flatMapOk(() => {
424
443
  for (const item of currentBatch) this.amqpClient.channel.ack(item.amqpMessage);
425
444
  this.logger?.info("Batch processed successfully", {
426
445
  consumerName: String(consumerName),
427
- queueName: consumer.queue.name,
428
- batchSize: currentBatch.length
446
+ queueName,
447
+ batchSize: batchCount
429
448
  });
449
+ const durationMs = Date.now() - startTime;
450
+ endSpanSuccess(span);
451
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), true, durationMs);
430
452
  return Future.value(Result.Ok(void 0));
431
453
  }).flatMapError((handlerError) => {
432
454
  this.logger?.error("Error processing batch", {
433
455
  consumerName: String(consumerName),
434
- queueName: consumer.queue.name,
435
- batchSize: currentBatch.length,
456
+ queueName,
457
+ batchSize: batchCount,
436
458
  errorType: handlerError.name,
437
459
  error: handlerError.message
438
460
  });
461
+ const durationMs = Date.now() - startTime;
462
+ endSpanError(span, handlerError);
463
+ recordConsumeMetric(this.telemetry, queueName, String(consumerName), false, durationMs);
439
464
  return this.handleBatchError(handlerError, currentBatch, String(consumerName), consumer);
440
465
  }).tap(() => {
441
466
  isProcessing = false;
@@ -450,11 +475,11 @@ var TypedAmqpWorker = class TypedAmqpWorker {
450
475
  }, batchTimeout);
451
476
  this.batchTimers.set(timerKey, timer);
452
477
  };
453
- return Future.fromPromise(this.amqpClient.channel.consume(consumer.queue.name, async (msg) => {
478
+ return Future.fromPromise(this.amqpClient.channel.consume(queueName, async (msg) => {
454
479
  if (msg === null) {
455
480
  this.logger?.warn("Consumer cancelled by server", {
456
481
  consumerName: String(consumerName),
457
- queueName: consumer.queue.name
482
+ queueName
458
483
  });
459
484
  await processBatch().toPromise();
460
485
  return;