@devbro/pashmak 0.1.20 → 0.1.22

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.
@@ -11,7 +11,7 @@ export default class {{className}} extends Migration {
11
11
  table.datetimeTz('last_tried_at').nullable(true);
12
12
  table.text('process_message').default('');
13
13
  table.string('status').default('pending');
14
- table.number('retried_count').default(0);
14
+ table.integer('retried_count').default(0);
15
15
  });
16
16
  }
17
17
 
@@ -455,7 +455,7 @@ var Router = class {
455
455
 
456
456
  // src/facades.mts
457
457
  var import_neko_scheduler = require("@devbro/neko-scheduler");
458
- var import_neko_helper = require("@devbro/neko-helper");
458
+ var import_neko_helper2 = require("@devbro/neko-helper");
459
459
  var import_neko_context2 = require("@devbro/neko-context");
460
460
  var import_neko_storage2 = require("@devbro/neko-storage");
461
461
  var import_neko_mailer2 = require("@devbro/neko-mailer");
@@ -481,11 +481,11 @@ __export(queue_exports, {
481
481
  DatabaseTransport: () => DatabaseTransport
482
482
  });
483
483
  __reExport(queue_exports, require("@devbro/neko-queue"));
484
+ var import_neko_helper = require("@devbro/neko-helper");
484
485
  var DatabaseTransport = class {
485
486
  static {
486
487
  __name(this, "DatabaseTransport");
487
488
  }
488
- activeIntervals = /* @__PURE__ */ new Set();
489
489
  config = {
490
490
  queue_table: "queue_messages",
491
491
  db_connection: "default",
@@ -494,14 +494,48 @@ var DatabaseTransport = class {
494
494
  message_limit: 10
495
495
  // messages per each fetch
496
496
  };
497
- constructor(config2) {
497
+ channels = /* @__PURE__ */ new Map();
498
+ messageQueues = [];
499
+ repeater;
500
+ processMessage = /* @__PURE__ */ __name(async () => {
501
+ const conn = db(this.config.db_connection);
502
+ try {
503
+ await conn.connect();
504
+ let q = conn.getQuery();
505
+ let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
506
+ for (let msg of messages) {
507
+ try {
508
+ let callback = this.channels.get(msg.channel);
509
+ await callback(msg.message);
510
+ await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
511
+ status: "processed",
512
+ updated_at: /* @__PURE__ */ new Date(),
513
+ last_tried_at: /* @__PURE__ */ new Date(),
514
+ retried_count: (msg.retried_count || 0) + 1
515
+ });
516
+ } catch (error) {
517
+ await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
518
+ status: "failed",
519
+ last_tried_at: /* @__PURE__ */ new Date(),
520
+ retried_count: (msg.retried_count || 0) + 1,
521
+ process_message: error.message || "Error processing message"
522
+ });
523
+ }
524
+ }
525
+ } catch (error) {
526
+ logger().error("Error in DatabaseTransport listen interval:", {
527
+ error
528
+ });
529
+ } finally {
530
+ await conn.disconnect();
531
+ }
532
+ }, "processMessage");
533
+ constructor(config2 = {}) {
498
534
  this.config = { ...this.config, ...config2 };
499
- }
500
- setListenInterval(interval) {
501
- this.config.listen_interval = interval;
502
- }
503
- setMessageLimit(limit) {
504
- this.config.message_limit = limit;
535
+ this.repeater = (0, import_neko_helper.createRepeater)(
536
+ this.processMessage,
537
+ this.config.listen_interval * 1e3
538
+ );
505
539
  }
506
540
  async dispatch(channel, message) {
507
541
  const conn = db(this.config.db_connection);
@@ -519,50 +553,22 @@ var DatabaseTransport = class {
519
553
  created_at: /* @__PURE__ */ new Date(),
520
554
  updated_at: /* @__PURE__ */ new Date(),
521
555
  last_tried_at: null,
522
- process_message: ""
556
+ process_message: "",
557
+ retried_count: 0,
558
+ status: "pending"
523
559
  });
524
560
  } finally {
525
561
  await conn.disconnect();
526
562
  }
527
563
  }
528
- async listen(channel, callback) {
529
- return new Promise(async (resolve, reject) => {
530
- const intervalId = setInterval(async () => {
531
- const conn = db(this.config.db_connection);
532
- try {
533
- await conn.connect();
534
- let q = conn.getQuery();
535
- let messages = await q.table(this.config.queue_table).whereOp("channel", "=", channel).whereOp("processed", "=", false).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
536
- for (let msg of messages) {
537
- try {
538
- await callback(msg.message);
539
- await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
540
- processed: true,
541
- updated_at: /* @__PURE__ */ new Date()
542
- });
543
- } catch (error) {
544
- await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
545
- processed: false,
546
- last_tried_at: /* @__PURE__ */ new Date(),
547
- process_message: error.message || "Error processing message"
548
- });
549
- }
550
- }
551
- } catch (error) {
552
- this.activeIntervals.delete(intervalId);
553
- logger().error("Error in DatabaseTransport listen interval:", { error });
554
- } finally {
555
- await conn.disconnect();
556
- }
557
- }, this.config.listen_interval * 1e3);
558
- this.activeIntervals.add(intervalId);
559
- });
564
+ async registerListener(channel, callback) {
565
+ this.channels.set(channel, callback);
566
+ }
567
+ async startListening() {
568
+ this.repeater.start();
560
569
  }
561
570
  async stopListening() {
562
- for (const intervalId of this.activeIntervals) {
563
- clearInterval(intervalId);
564
- }
565
- this.activeIntervals.clear();
571
+ this.repeater.stop();
566
572
  }
567
573
  };
568
574
 
@@ -585,19 +591,7 @@ var FlexibleFactory = class {
585
591
  return ctor(...args);
586
592
  }
587
593
  };
588
- var MailerFactory = class _MailerFactory {
589
- static {
590
- __name(this, "MailerFactory");
591
- }
592
- static instance = new FlexibleFactory();
593
- static register(key, factory) {
594
- _MailerFactory.instance.register(key, factory);
595
- }
596
- static create(key, ...args) {
597
- return _MailerFactory.instance.create(key, ...args);
598
- }
599
- };
600
- MailerFactory.register("logger", (opt) => {
594
+ import_neko_mailer.MailerProviderFactory.register("logger", (opt) => {
601
595
  return new import_neko_mailer.FunctionProvider((mail) => {
602
596
  logger().info({
603
597
  msg: "Sending email",
@@ -605,32 +599,20 @@ MailerFactory.register("logger", (opt) => {
605
599
  });
606
600
  });
607
601
  });
608
- MailerFactory.register("ses", (opt) => {
602
+ import_neko_mailer.MailerProviderFactory.register("ses", (opt) => {
609
603
  return new import_neko_mailer.SESProvider(opt);
610
604
  });
611
- MailerFactory.register("smtp", (opt) => {
605
+ import_neko_mailer.MailerProviderFactory.register("smtp", (opt) => {
612
606
  return new import_neko_mailer.SMTPProvider(opt);
613
607
  });
614
- MailerFactory.register("memory", (opt) => {
608
+ import_neko_mailer.MailerProviderFactory.register("memory", (opt) => {
615
609
  return new import_neko_mailer.MemoryProvider();
616
610
  });
617
- var QueueTransportFactory = class _QueueTransportFactory {
618
- static {
619
- __name(this, "QueueTransportFactory");
620
- }
621
- static instance = new FlexibleFactory();
622
- static register(key, factory) {
623
- _QueueTransportFactory.instance.register(key, factory);
624
- }
625
- static create(key, ...args) {
626
- return _QueueTransportFactory.instance.create(key, ...args);
627
- }
628
- };
629
- QueueTransportFactory.register("database", (opt) => {
611
+ import_neko_queue2.QueueTransportFactory.register("database", (opt) => {
630
612
  let transport = new DatabaseTransport(opt);
631
613
  return new import_neko_queue.QueueConnection(transport);
632
614
  });
633
- QueueTransportFactory.register("memory", (opt) => {
615
+ import_neko_queue2.QueueTransportFactory.register("memory", (opt) => {
634
616
  let transport = new import_neko_queue2.MemoryTransport(opt);
635
617
  return new import_neko_queue.QueueConnection(transport);
636
618
  });
@@ -668,8 +650,8 @@ import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
668
650
  // src/facades.mts
669
651
  var import_neko_cache2 = require("@devbro/neko-cache");
670
652
  var import_neko_queue3 = require("@devbro/neko-queue");
671
- var router = (0, import_neko_helper.createSingleton)(() => new Router());
672
- var scheduler = (0, import_neko_helper.createSingleton)(() => {
653
+ var router = (0, import_neko_helper2.createSingleton)(() => new Router());
654
+ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
673
655
  const rc = new import_neko_scheduler.Scheduler();
674
656
  rc.setErrorHandler((err, job) => {
675
657
  logger().error({
@@ -681,12 +663,15 @@ var scheduler = (0, import_neko_helper.createSingleton)(() => {
681
663
  return rc;
682
664
  });
683
665
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context2.ctx)().getOrThrow(["database", label]), "db");
684
- var storage = (0, import_neko_helper.createSingleton)((label = "default") => {
666
+ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
685
667
  let storage_config = import_neko_config.config.get(["storages", label].join("."));
686
- const provider = import_neko_storage2.StorageProviderFactory.create(storage_config.provider, storage_config.config);
668
+ const provider = import_neko_storage2.StorageProviderFactory.create(
669
+ storage_config.provider,
670
+ storage_config.config
671
+ );
687
672
  return new import_neko_storage2.Storage(provider);
688
673
  });
689
- var cli = (0, import_neko_helper.createSingleton)(() => {
674
+ var cli = (0, import_neko_helper2.createSingleton)(() => {
690
675
  const [node, app, ...args] = process.argv;
691
676
  return new import_clipanion.Cli({
692
677
  binaryLabel: `My Application`,
@@ -694,7 +679,7 @@ var cli = (0, import_neko_helper.createSingleton)(() => {
694
679
  binaryVersion: `1.0.0`
695
680
  });
696
681
  });
697
- var httpServer = (0, import_neko_helper.createSingleton)(() => {
682
+ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
698
683
  const server = new http_exports.HttpServer();
699
684
  server.setErrorHandler(async (err, req, res) => {
700
685
  if (err instanceof http_exports.HttpError) {
@@ -729,7 +714,7 @@ var httpServer = (0, import_neko_helper.createSingleton)(() => {
729
714
  server.setRouter(router());
730
715
  return server;
731
716
  });
732
- var logger = (0, import_neko_helper.createSingleton)((label) => {
717
+ var logger = (0, import_neko_helper2.createSingleton)((label) => {
733
718
  const logger_config = import_neko_config.config.get(["loggers", label].join("."));
734
719
  const rc = new import_neko_logger.Logger(logger_config);
735
720
  rc.setExtrasFunction((message) => {
@@ -738,25 +723,28 @@ var logger = (0, import_neko_helper.createSingleton)((label) => {
738
723
  });
739
724
  return rc;
740
725
  });
741
- var mailer = (0, import_neko_helper.createSingleton)((label) => {
726
+ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
742
727
  const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
743
- const provider = MailerFactory.create(
728
+ const provider = import_neko_mailer2.MailerProviderFactory.create(
744
729
  mailer_config.provider,
745
730
  mailer_config.config
746
731
  );
747
732
  const rc = new import_neko_mailer2.Mailer(provider);
748
733
  return rc;
749
734
  });
750
- var queue = (0, import_neko_helper.createSingleton)((label) => {
735
+ var queue = (0, import_neko_helper2.createSingleton)((label) => {
751
736
  const queue_config = import_neko_config.config.get(["queues", label].join("."));
752
737
  if (!queue_config) {
753
738
  throw new Error(`Queue configuration for '${label}' not found`);
754
739
  }
755
- const provider = QueueTransportFactory.create(queue_config.provider, queue_config.config);
740
+ const provider = import_neko_queue3.QueueTransportFactory.create(
741
+ queue_config.provider,
742
+ queue_config.config
743
+ );
756
744
  const rc = new import_neko_queue3.QueueConnection(provider);
757
745
  return rc;
758
746
  });
759
- var cache = (0, import_neko_helper.createSingleton)((label) => {
747
+ var cache = (0, import_neko_helper2.createSingleton)((label) => {
760
748
  const cache_config = import_neko_config.config.get(["caches", label].join("."));
761
749
  if (!cache_config) {
762
750
  throw new Error(`Cache configuration for '${label}' not found`);
@@ -458,7 +458,7 @@ var Router = class {
458
458
 
459
459
  // src/facades.mts
460
460
  var import_neko_scheduler = require("@devbro/neko-scheduler");
461
- var import_neko_helper = require("@devbro/neko-helper");
461
+ var import_neko_helper2 = require("@devbro/neko-helper");
462
462
  var import_neko_context2 = require("@devbro/neko-context");
463
463
  var import_neko_storage2 = require("@devbro/neko-storage");
464
464
  var import_neko_mailer2 = require("@devbro/neko-mailer");
@@ -484,11 +484,11 @@ __export(queue_exports, {
484
484
  DatabaseTransport: () => DatabaseTransport
485
485
  });
486
486
  __reExport(queue_exports, require("@devbro/neko-queue"));
487
+ var import_neko_helper = require("@devbro/neko-helper");
487
488
  var DatabaseTransport = class {
488
489
  static {
489
490
  __name(this, "DatabaseTransport");
490
491
  }
491
- activeIntervals = /* @__PURE__ */ new Set();
492
492
  config = {
493
493
  queue_table: "queue_messages",
494
494
  db_connection: "default",
@@ -497,14 +497,48 @@ var DatabaseTransport = class {
497
497
  message_limit: 10
498
498
  // messages per each fetch
499
499
  };
500
- constructor(config2) {
500
+ channels = /* @__PURE__ */ new Map();
501
+ messageQueues = [];
502
+ repeater;
503
+ processMessage = /* @__PURE__ */ __name(async () => {
504
+ const conn = db(this.config.db_connection);
505
+ try {
506
+ await conn.connect();
507
+ let q = conn.getQuery();
508
+ let messages = await q.table(this.config.queue_table).whereOp("channel", "in", Array.from(this.channels.keys())).whereOp("status", "in", ["pending", "failed"]).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
509
+ for (let msg of messages) {
510
+ try {
511
+ let callback = this.channels.get(msg.channel);
512
+ await callback(msg.message);
513
+ await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
514
+ status: "processed",
515
+ updated_at: /* @__PURE__ */ new Date(),
516
+ last_tried_at: /* @__PURE__ */ new Date(),
517
+ retried_count: (msg.retried_count || 0) + 1
518
+ });
519
+ } catch (error) {
520
+ await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
521
+ status: "failed",
522
+ last_tried_at: /* @__PURE__ */ new Date(),
523
+ retried_count: (msg.retried_count || 0) + 1,
524
+ process_message: error.message || "Error processing message"
525
+ });
526
+ }
527
+ }
528
+ } catch (error) {
529
+ logger().error("Error in DatabaseTransport listen interval:", {
530
+ error
531
+ });
532
+ } finally {
533
+ await conn.disconnect();
534
+ }
535
+ }, "processMessage");
536
+ constructor(config2 = {}) {
501
537
  this.config = { ...this.config, ...config2 };
502
- }
503
- setListenInterval(interval) {
504
- this.config.listen_interval = interval;
505
- }
506
- setMessageLimit(limit) {
507
- this.config.message_limit = limit;
538
+ this.repeater = (0, import_neko_helper.createRepeater)(
539
+ this.processMessage,
540
+ this.config.listen_interval * 1e3
541
+ );
508
542
  }
509
543
  async dispatch(channel, message) {
510
544
  const conn = db(this.config.db_connection);
@@ -522,50 +556,22 @@ var DatabaseTransport = class {
522
556
  created_at: /* @__PURE__ */ new Date(),
523
557
  updated_at: /* @__PURE__ */ new Date(),
524
558
  last_tried_at: null,
525
- process_message: ""
559
+ process_message: "",
560
+ retried_count: 0,
561
+ status: "pending"
526
562
  });
527
563
  } finally {
528
564
  await conn.disconnect();
529
565
  }
530
566
  }
531
- async listen(channel, callback) {
532
- return new Promise(async (resolve, reject) => {
533
- const intervalId = setInterval(async () => {
534
- const conn = db(this.config.db_connection);
535
- try {
536
- await conn.connect();
537
- let q = conn.getQuery();
538
- let messages = await q.table(this.config.queue_table).whereOp("channel", "=", channel).whereOp("processed", "=", false).limit(this.config.message_limit).orderBy("last_tried_at", "asc").get();
539
- for (let msg of messages) {
540
- try {
541
- await callback(msg.message);
542
- await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
543
- processed: true,
544
- updated_at: /* @__PURE__ */ new Date()
545
- });
546
- } catch (error) {
547
- await q.table(this.config.queue_table).whereOp("id", "=", msg.id).update({
548
- processed: false,
549
- last_tried_at: /* @__PURE__ */ new Date(),
550
- process_message: error.message || "Error processing message"
551
- });
552
- }
553
- }
554
- } catch (error) {
555
- this.activeIntervals.delete(intervalId);
556
- logger().error("Error in DatabaseTransport listen interval:", { error });
557
- } finally {
558
- await conn.disconnect();
559
- }
560
- }, this.config.listen_interval * 1e3);
561
- this.activeIntervals.add(intervalId);
562
- });
567
+ async registerListener(channel, callback) {
568
+ this.channels.set(channel, callback);
569
+ }
570
+ async startListening() {
571
+ this.repeater.start();
563
572
  }
564
573
  async stopListening() {
565
- for (const intervalId of this.activeIntervals) {
566
- clearInterval(intervalId);
567
- }
568
- this.activeIntervals.clear();
574
+ this.repeater.stop();
569
575
  }
570
576
  };
571
577
 
@@ -588,19 +594,7 @@ var FlexibleFactory = class {
588
594
  return ctor(...args);
589
595
  }
590
596
  };
591
- var MailerFactory = class _MailerFactory {
592
- static {
593
- __name(this, "MailerFactory");
594
- }
595
- static instance = new FlexibleFactory();
596
- static register(key, factory) {
597
- _MailerFactory.instance.register(key, factory);
598
- }
599
- static create(key, ...args) {
600
- return _MailerFactory.instance.create(key, ...args);
601
- }
602
- };
603
- MailerFactory.register("logger", (opt) => {
597
+ import_neko_mailer.MailerProviderFactory.register("logger", (opt) => {
604
598
  return new import_neko_mailer.FunctionProvider((mail) => {
605
599
  logger().info({
606
600
  msg: "Sending email",
@@ -608,32 +602,20 @@ MailerFactory.register("logger", (opt) => {
608
602
  });
609
603
  });
610
604
  });
611
- MailerFactory.register("ses", (opt) => {
605
+ import_neko_mailer.MailerProviderFactory.register("ses", (opt) => {
612
606
  return new import_neko_mailer.SESProvider(opt);
613
607
  });
614
- MailerFactory.register("smtp", (opt) => {
608
+ import_neko_mailer.MailerProviderFactory.register("smtp", (opt) => {
615
609
  return new import_neko_mailer.SMTPProvider(opt);
616
610
  });
617
- MailerFactory.register("memory", (opt) => {
611
+ import_neko_mailer.MailerProviderFactory.register("memory", (opt) => {
618
612
  return new import_neko_mailer.MemoryProvider();
619
613
  });
620
- var QueueTransportFactory = class _QueueTransportFactory {
621
- static {
622
- __name(this, "QueueTransportFactory");
623
- }
624
- static instance = new FlexibleFactory();
625
- static register(key, factory) {
626
- _QueueTransportFactory.instance.register(key, factory);
627
- }
628
- static create(key, ...args) {
629
- return _QueueTransportFactory.instance.create(key, ...args);
630
- }
631
- };
632
- QueueTransportFactory.register("database", (opt) => {
614
+ import_neko_queue2.QueueTransportFactory.register("database", (opt) => {
633
615
  let transport = new DatabaseTransport(opt);
634
616
  return new import_neko_queue.QueueConnection(transport);
635
617
  });
636
- QueueTransportFactory.register("memory", (opt) => {
618
+ import_neko_queue2.QueueTransportFactory.register("memory", (opt) => {
637
619
  let transport = new import_neko_queue2.MemoryTransport(opt);
638
620
  return new import_neko_queue.QueueConnection(transport);
639
621
  });
@@ -671,8 +653,8 @@ import_neko_storage.StorageProviderFactory.register("s3", (opt) => {
671
653
  // src/facades.mts
672
654
  var import_neko_cache2 = require("@devbro/neko-cache");
673
655
  var import_neko_queue3 = require("@devbro/neko-queue");
674
- var router = (0, import_neko_helper.createSingleton)(() => new Router());
675
- var scheduler = (0, import_neko_helper.createSingleton)(() => {
656
+ var router = (0, import_neko_helper2.createSingleton)(() => new Router());
657
+ var scheduler = (0, import_neko_helper2.createSingleton)(() => {
676
658
  const rc = new import_neko_scheduler.Scheduler();
677
659
  rc.setErrorHandler((err, job) => {
678
660
  logger().error({
@@ -684,12 +666,15 @@ var scheduler = (0, import_neko_helper.createSingleton)(() => {
684
666
  return rc;
685
667
  });
686
668
  var db = /* @__PURE__ */ __name((label = "default") => (0, import_neko_context2.ctx)().getOrThrow(["database", label]), "db");
687
- var storage = (0, import_neko_helper.createSingleton)((label = "default") => {
669
+ var storage = (0, import_neko_helper2.createSingleton)((label = "default") => {
688
670
  let storage_config = import_neko_config.config.get(["storages", label].join("."));
689
- const provider = import_neko_storage2.StorageProviderFactory.create(storage_config.provider, storage_config.config);
671
+ const provider = import_neko_storage2.StorageProviderFactory.create(
672
+ storage_config.provider,
673
+ storage_config.config
674
+ );
690
675
  return new import_neko_storage2.Storage(provider);
691
676
  });
692
- var cli = (0, import_neko_helper.createSingleton)(() => {
677
+ var cli = (0, import_neko_helper2.createSingleton)(() => {
693
678
  const [node, app, ...args] = process.argv;
694
679
  return new import_clipanion.Cli({
695
680
  binaryLabel: `My Application`,
@@ -697,7 +682,7 @@ var cli = (0, import_neko_helper.createSingleton)(() => {
697
682
  binaryVersion: `1.0.0`
698
683
  });
699
684
  });
700
- var httpServer = (0, import_neko_helper.createSingleton)(() => {
685
+ var httpServer = (0, import_neko_helper2.createSingleton)(() => {
701
686
  const server = new http_exports.HttpServer();
702
687
  server.setErrorHandler(async (err, req, res) => {
703
688
  if (err instanceof http_exports.HttpError) {
@@ -732,7 +717,7 @@ var httpServer = (0, import_neko_helper.createSingleton)(() => {
732
717
  server.setRouter(router());
733
718
  return server;
734
719
  });
735
- var logger = (0, import_neko_helper.createSingleton)((label) => {
720
+ var logger = (0, import_neko_helper2.createSingleton)((label) => {
736
721
  const logger_config = import_neko_config.config.get(["loggers", label].join("."));
737
722
  const rc = new import_neko_logger.Logger(logger_config);
738
723
  rc.setExtrasFunction((message) => {
@@ -741,25 +726,28 @@ var logger = (0, import_neko_helper.createSingleton)((label) => {
741
726
  });
742
727
  return rc;
743
728
  });
744
- var mailer = (0, import_neko_helper.createSingleton)((label) => {
729
+ var mailer = (0, import_neko_helper2.createSingleton)((label) => {
745
730
  const mailer_config = import_neko_config.config.get(["mailer", label].join("."));
746
- const provider = MailerFactory.create(
731
+ const provider = import_neko_mailer2.MailerProviderFactory.create(
747
732
  mailer_config.provider,
748
733
  mailer_config.config
749
734
  );
750
735
  const rc = new import_neko_mailer2.Mailer(provider);
751
736
  return rc;
752
737
  });
753
- var queue = (0, import_neko_helper.createSingleton)((label) => {
738
+ var queue = (0, import_neko_helper2.createSingleton)((label) => {
754
739
  const queue_config = import_neko_config.config.get(["queues", label].join("."));
755
740
  if (!queue_config) {
756
741
  throw new Error(`Queue configuration for '${label}' not found`);
757
742
  }
758
- const provider = QueueTransportFactory.create(queue_config.provider, queue_config.config);
743
+ const provider = import_neko_queue3.QueueTransportFactory.create(
744
+ queue_config.provider,
745
+ queue_config.config
746
+ );
759
747
  const rc = new import_neko_queue3.QueueConnection(provider);
760
748
  return rc;
761
749
  });
762
- var cache = (0, import_neko_helper.createSingleton)((label) => {
750
+ var cache = (0, import_neko_helper2.createSingleton)((label) => {
763
751
  const cache_config = import_neko_config.config.get(["caches", label].join("."));
764
752
  if (!cache_config) {
765
753
  throw new Error(`Cache configuration for '${label}' not found`);