@xyo-network/module-abstract 2.93.0-rc.1 → 2.93.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.
Files changed (48) hide show
  1. package/dist/browser/AbstractModule.d.cts +4 -11
  2. package/dist/browser/AbstractModule.d.cts.map +1 -1
  3. package/dist/browser/AbstractModule.d.mts +4 -11
  4. package/dist/browser/AbstractModule.d.mts.map +1 -1
  5. package/dist/browser/AbstractModule.d.ts +4 -11
  6. package/dist/browser/AbstractModule.d.ts.map +1 -1
  7. package/dist/browser/AbstractModuleInstance.d.cts +13 -3
  8. package/dist/browser/AbstractModuleInstance.d.cts.map +1 -1
  9. package/dist/browser/AbstractModuleInstance.d.mts +13 -3
  10. package/dist/browser/AbstractModuleInstance.d.mts.map +1 -1
  11. package/dist/browser/AbstractModuleInstance.d.ts +13 -3
  12. package/dist/browser/AbstractModuleInstance.d.ts.map +1 -1
  13. package/dist/browser/ResolveHelper.d.cts +6 -1
  14. package/dist/browser/ResolveHelper.d.cts.map +1 -1
  15. package/dist/browser/ResolveHelper.d.mts +6 -1
  16. package/dist/browser/ResolveHelper.d.mts.map +1 -1
  17. package/dist/browser/ResolveHelper.d.ts +6 -1
  18. package/dist/browser/ResolveHelper.d.ts.map +1 -1
  19. package/dist/browser/index.cjs +174 -146
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.js +141 -113
  22. package/dist/browser/index.js.map +1 -1
  23. package/dist/node/AbstractModule.d.cts +4 -11
  24. package/dist/node/AbstractModule.d.cts.map +1 -1
  25. package/dist/node/AbstractModule.d.mts +4 -11
  26. package/dist/node/AbstractModule.d.mts.map +1 -1
  27. package/dist/node/AbstractModule.d.ts +4 -11
  28. package/dist/node/AbstractModule.d.ts.map +1 -1
  29. package/dist/node/AbstractModuleInstance.d.cts +13 -3
  30. package/dist/node/AbstractModuleInstance.d.cts.map +1 -1
  31. package/dist/node/AbstractModuleInstance.d.mts +13 -3
  32. package/dist/node/AbstractModuleInstance.d.mts.map +1 -1
  33. package/dist/node/AbstractModuleInstance.d.ts +13 -3
  34. package/dist/node/AbstractModuleInstance.d.ts.map +1 -1
  35. package/dist/node/ResolveHelper.d.cts +6 -1
  36. package/dist/node/ResolveHelper.d.cts.map +1 -1
  37. package/dist/node/ResolveHelper.d.mts +6 -1
  38. package/dist/node/ResolveHelper.d.mts.map +1 -1
  39. package/dist/node/ResolveHelper.d.ts +6 -1
  40. package/dist/node/ResolveHelper.d.ts.map +1 -1
  41. package/dist/node/index.cjs +175 -147
  42. package/dist/node/index.cjs.map +1 -1
  43. package/dist/node/index.js +142 -114
  44. package/dist/node/index.js.map +1 -1
  45. package/package.json +18 -19
  46. package/src/AbstractModule.ts +11 -50
  47. package/src/AbstractModuleInstance.ts +69 -4
  48. package/src/ResolveHelper.ts +37 -12
@@ -47,7 +47,7 @@ var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
47
47
  var import_boundwitness_wrapper3 = require("@xyo-network/boundwitness-wrapper");
48
48
  var import_config_payload_plugin = require("@xyo-network/config-payload-plugin");
49
49
  var import_manifest_model = require("@xyo-network/manifest-model");
50
- var import_module_model2 = require("@xyo-network/module-model");
50
+ var import_module_model = require("@xyo-network/module-model");
51
51
  var import_module_resolver = require("@xyo-network/module-resolver");
52
52
  var import_payload_builder2 = require("@xyo-network/payload-builder");
53
53
  var import_query_payload_plugin = require("@xyo-network/query-payload-plugin");
@@ -244,75 +244,6 @@ var SupportedQueryValidator = class {
244
244
  queryable;
245
245
  };
246
246
 
247
- // src/ResolveHelper.ts
248
- var import_module_model = require("@xyo-network/module-model");
249
- var ResolveHelper = class {
250
- static {
251
- __name(this, "ResolveHelper");
252
- }
253
- static async resolve(config, idOrFilter = "*", { required = "log", ...options } = {}) {
254
- const { dead = false, upResolver, downResolver } = config;
255
- const childOptions = {
256
- ...options,
257
- required: false
258
- };
259
- const direction = options?.direction ?? "all";
260
- const up = direction === "up" || direction === "all";
261
- const down = direction === "down" || direction === "all";
262
- let result;
263
- if (idOrFilter === "*") {
264
- if (dead) {
265
- return [];
266
- }
267
- return [
268
- ...down ? await downResolver.resolve("*", childOptions) : [],
269
- ...up ? await upResolver.resolve("*", childOptions) : []
270
- ].filter(import_module_model.duplicateModules);
271
- } else {
272
- switch (typeof idOrFilter) {
273
- case "string": {
274
- if (dead) {
275
- return void 0;
276
- }
277
- result = (down ? await downResolver.resolve(idOrFilter, childOptions) : void 0) ?? (up ? await upResolver.resolve(idOrFilter, childOptions) : void 0);
278
- break;
279
- }
280
- default: {
281
- if (dead) {
282
- return [];
283
- }
284
- const filter = idOrFilter;
285
- result = [
286
- ...down ? await downResolver.resolve(filter, childOptions) : [],
287
- ...up ? await upResolver.resolve(filter, childOptions) : []
288
- ].filter(import_module_model.duplicateModules);
289
- break;
290
- }
291
- }
292
- }
293
- this.validateRequiredResolve(required, result, idOrFilter);
294
- return result;
295
- }
296
- static validateRequiredResolve(required, result, idOrFilter, logger) {
297
- if (required && (result === void 0 || Array.isArray(result) && result.length > 0)) {
298
- switch (required) {
299
- case "warn": {
300
- logger?.warn("resolve failed", idOrFilter);
301
- break;
302
- }
303
- case "log": {
304
- logger?.log("resolve failed", idOrFilter);
305
- break;
306
- }
307
- default: {
308
- logger?.error("resolve failed", idOrFilter);
309
- break;
310
- }
311
- }
312
- }
313
- }
314
- };
315
-
316
247
  // src/AbstractModule.ts
317
248
  var AbstractModule = class _AbstractModule extends BaseEmitter {
318
249
  static {
@@ -320,28 +251,28 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
320
251
  }
321
252
  static allowRandomAccount = true;
322
253
  static configSchemas;
323
- static defaultLogger = new import_logger.ConsoleLogger(import_logger.LogLevel.log);
254
+ static defaultLogger = new import_logger.ConsoleLogger(import_logger.LogLevel.warn);
324
255
  static enableLazyLoad = false;
325
256
  static privateConstructorKey = Date.now().toString();
326
257
  downResolver = new import_module_resolver.CompositeModuleResolver();
327
258
  upResolver = new import_module_resolver.CompositeModuleResolver();
328
259
  _account = void 0;
329
260
  _baseModuleQueryAccountPaths = {
330
- [import_module_model2.ModuleAddressQuerySchema]: "1",
331
- [import_module_model2.ModuleDescribeQuerySchema]: "4",
332
- [import_module_model2.ModuleDiscoverQuerySchema]: "2",
333
- [import_module_model2.ModuleManifestQuerySchema]: "5",
334
- [import_module_model2.ModuleStateQuerySchema]: "6",
335
- [import_module_model2.ModuleSubscribeQuerySchema]: "3"
261
+ [import_module_model.ModuleAddressQuerySchema]: "1",
262
+ [import_module_model.ModuleDescribeQuerySchema]: "4",
263
+ [import_module_model.ModuleDiscoverQuerySchema]: "2",
264
+ [import_module_model.ModuleManifestQuerySchema]: "5",
265
+ [import_module_model.ModuleStateQuerySchema]: "6",
266
+ [import_module_model.ModuleSubscribeQuerySchema]: "3"
336
267
  };
337
268
  _lastError;
338
269
  _queryAccounts = {
339
- [import_module_model2.ModuleAddressQuerySchema]: void 0,
340
- [import_module_model2.ModuleDescribeQuerySchema]: void 0,
341
- [import_module_model2.ModuleDiscoverQuerySchema]: void 0,
342
- [import_module_model2.ModuleManifestQuerySchema]: void 0,
343
- [import_module_model2.ModuleStateQuerySchema]: void 0,
344
- [import_module_model2.ModuleSubscribeQuerySchema]: void 0
270
+ [import_module_model.ModuleAddressQuerySchema]: void 0,
271
+ [import_module_model.ModuleDescribeQuerySchema]: void 0,
272
+ [import_module_model.ModuleDiscoverQuerySchema]: void 0,
273
+ [import_module_model.ModuleManifestQuerySchema]: void 0,
274
+ [import_module_model.ModuleStateQuerySchema]: void 0,
275
+ [import_module_model.ModuleSubscribeQuerySchema]: void 0
345
276
  };
346
277
  _startPromise = void 0;
347
278
  _started = void 0;
@@ -371,6 +302,9 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
371
302
  get allowAnonymous() {
372
303
  return !!this.config.security?.allowAnonymous;
373
304
  }
305
+ get archiving() {
306
+ return this.config.archiving;
307
+ }
374
308
  get config() {
375
309
  return this.params.config;
376
310
  }
@@ -385,12 +319,12 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
385
319
  }
386
320
  get queries() {
387
321
  return [
388
- import_module_model2.ModuleDiscoverQuerySchema,
389
- import_module_model2.ModuleAddressQuerySchema,
390
- import_module_model2.ModuleSubscribeQuerySchema,
391
- import_module_model2.ModuleDescribeQuerySchema,
392
- import_module_model2.ModuleManifestQuerySchema,
393
- import_module_model2.ModuleStateQuerySchema
322
+ import_module_model.ModuleDiscoverQuerySchema,
323
+ import_module_model.ModuleAddressQuerySchema,
324
+ import_module_model.ModuleSubscribeQuerySchema,
325
+ import_module_model.ModuleDescribeQuerySchema,
326
+ import_module_model.ModuleManifestQuerySchema,
327
+ import_module_model.ModuleStateQuerySchema
394
328
  ];
395
329
  }
396
330
  get queryAccountPaths() {
@@ -436,7 +370,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
436
370
  if (!this.configSchemas || this.configSchemas.length === 0) {
437
371
  throw new Error(`Missing configSchema [${params?.config?.schema}][${this.name}]`);
438
372
  }
439
- (0, import_assert2.assertEx)(params?.config?.name === void 0 || (0, import_module_model2.isModuleName)(params.config.name), () => `Invalid module name: ${params?.config?.name}`);
373
+ (0, import_assert2.assertEx)(params?.config?.name === void 0 || (0, import_module_model.isModuleName)(params.config.name), () => `Invalid module name: ${params?.config?.name}`);
440
374
  const { account } = params ?? {};
441
375
  const schema = params?.config?.schema ?? this.configSchema;
442
376
  const allowedSchemas = this.configSchemas;
@@ -466,7 +400,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
466
400
  return await determineAccount(params, this.allowRandomAccount);
467
401
  }
468
402
  static factory(params) {
469
- return import_module_model2.ModuleFactory.withParams(this, params);
403
+ return import_module_model.ModuleFactory.withParams(this, params);
470
404
  }
471
405
  _getRootFunction(funcName) {
472
406
  let anyThis = this;
@@ -565,31 +499,6 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
565
499
  ];
566
500
  return validators.every((validator) => validator(query, payloads));
567
501
  }
568
- async resolve(idOrFilter = "*", options = {}) {
569
- switch (typeof idOrFilter) {
570
- case "string": {
571
- return await ResolveHelper.resolve({
572
- dead: this.dead,
573
- downResolver: this.downResolver,
574
- upResolver: this.upResolver
575
- }, idOrFilter, options);
576
- }
577
- case "object": {
578
- return await ResolveHelper.resolve({
579
- dead: this.dead,
580
- downResolver: this.downResolver,
581
- upResolver: this.upResolver
582
- }, idOrFilter, options);
583
- }
584
- default: {
585
- return await ResolveHelper.resolve({
586
- dead: this.dead,
587
- downResolver: this.downResolver,
588
- upResolver: this.upResolver
589
- }, idOrFilter, options);
590
- }
591
- }
592
- }
593
502
  start(_timeout) {
594
503
  this._startPromise = this._startPromise ?? this.startHandler();
595
504
  const result = this._startPromise;
@@ -653,7 +562,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
653
562
  }
654
563
  _checkDead() {
655
564
  if (this.dead) {
656
- throw new import_module_model2.DeadModuleError(this.id, this._lastError);
565
+ throw new import_module_model.DeadModuleError(this.id, this._lastError);
657
566
  }
658
567
  }
659
568
  _noOverride(functionName) {
@@ -702,7 +611,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
702
611
  await Promise.all(payloads.map((payload) => import_payload_builder2.PayloadBuilder.build(payload))),
703
612
  await Promise.all((errors ?? [])?.map((error) => import_payload_builder2.PayloadBuilder.build(error)))
704
613
  ];
705
- if (this.config.archiving) {
614
+ if (this.archiving) {
706
615
  await this.storeToArchivists(result.flat());
707
616
  }
708
617
  return result;
@@ -711,7 +620,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
711
620
  const description = {
712
621
  address: this.address,
713
622
  queries: this.queries,
714
- schema: import_module_model2.ModuleDescriptionSchema
623
+ schema: import_module_model.ModuleDescriptionSchema
715
624
  };
716
625
  if (this.config?.name) {
717
626
  description.name = this.config.name;
@@ -772,11 +681,11 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
772
681
  }
773
682
  }
774
683
  }
775
- async manifestHandler(_depth, _ignoreAddresses) {
684
+ async manifestHandler(maxDepth = 1, _ignoreAddresses = []) {
776
685
  const name = this.config.name ?? "Anonymous";
777
686
  const children = await this.downResolver.resolve("*", {
778
687
  direction: "down",
779
- maxDepth: 1
688
+ maxDepth
780
689
  });
781
690
  const childAddressToName = {};
782
691
  for (const child of children) {
@@ -811,7 +720,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
811
720
  {
812
721
  address: address2,
813
722
  previousHash: previousHash2,
814
- schema: import_module_model2.AddressPreviousHashSchema
723
+ schema: import_module_model.AddressPreviousHashSchema
815
724
  }
816
725
  ];
817
726
  });
@@ -829,10 +738,10 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
829
738
  const moduleAccountPreviousHash = previousHash ? {
830
739
  address,
831
740
  previousHash,
832
- schema: import_module_model2.AddressPreviousHashSchema
741
+ schema: import_module_model.AddressPreviousHashSchema
833
742
  } : {
834
743
  address,
835
- schema: import_module_model2.AddressPreviousHashSchema
744
+ schema: import_module_model.AddressPreviousHashSchema
836
745
  };
837
746
  return [
838
747
  moduleAccount,
@@ -847,28 +756,28 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
847
756
  (0, import_assert2.assertEx)(await this.queryable(query, payloads, queryConfig));
848
757
  const resultPayloads = [];
849
758
  switch (queryPayload.schema) {
850
- case import_module_model2.ModuleManifestQuerySchema: {
759
+ case import_module_model.ModuleManifestQuerySchema: {
851
760
  resultPayloads.push(await this.manifestHandler(queryPayload.maxDepth));
852
761
  break;
853
762
  }
854
- case import_module_model2.ModuleDiscoverQuerySchema: {
763
+ case import_module_model.ModuleDiscoverQuerySchema: {
855
764
  const { maxDepth } = queryPayload;
856
765
  resultPayloads.push(...await this.discoverHandler(maxDepth));
857
766
  break;
858
767
  }
859
- case import_module_model2.ModuleDescribeQuerySchema: {
768
+ case import_module_model.ModuleDescribeQuerySchema: {
860
769
  resultPayloads.push(await this.describeHandler());
861
770
  break;
862
771
  }
863
- case import_module_model2.ModuleAddressQuerySchema: {
772
+ case import_module_model.ModuleAddressQuerySchema: {
864
773
  resultPayloads.push(...await this.moduleAddressHandler());
865
774
  break;
866
775
  }
867
- case import_module_model2.ModuleStateQuerySchema: {
776
+ case import_module_model.ModuleStateQuerySchema: {
868
777
  resultPayloads.push(...await this.stateHandler());
869
778
  break;
870
779
  }
871
- case import_module_model2.ModuleSubscribeQuerySchema: {
780
+ case import_module_model.ModuleSubscribeQuerySchema: {
872
781
  this.subscribeHandler();
873
782
  break;
874
783
  }
@@ -878,13 +787,6 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
878
787
  }
879
788
  return resultPayloads;
880
789
  }
881
- async resolveArchivingArchivists() {
882
- const archivists = this.config.archiving?.archivists;
883
- if (!archivists)
884
- return [];
885
- const resolved = await Promise.all(archivists.map((archivist) => this.resolve(archivist)));
886
- return (0, import_lodash.compact)(resolved.map((mod) => (0, import_archivist_model.asArchivistInstance)(mod)));
887
- }
888
790
  async startHandler() {
889
791
  this.validateConfig();
890
792
  await this.initializeQueryAccounts();
@@ -902,12 +804,6 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
902
804
  this._started = void 0;
903
805
  return true;
904
806
  }
905
- async storeToArchivists(payloads) {
906
- const archivists = await this.resolveArchivingArchivists();
907
- return (await Promise.all(archivists.map((archivist) => {
908
- return archivist.insert?.(payloads);
909
- }))).map(([bw]) => bw);
910
- }
911
807
  subscribeHandler() {
912
808
  return;
913
809
  }
@@ -930,7 +826,7 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
930
826
  }, true) && valid
931
827
  );
932
828
  }
933
- if (!(0, import_module_model2.serializableField)(value)) {
829
+ if (!(0, import_module_model.serializableField)(value)) {
934
830
  this.logger?.warn(`Fields that are not serializable to JSON are not allowed in config [${parents?.join(".")}.${key}]`);
935
831
  return false;
936
832
  }
@@ -949,6 +845,101 @@ var AbstractModule = class _AbstractModule extends BaseEmitter {
949
845
 
950
846
  // src/AbstractModuleInstance.ts
951
847
  var import_assert3 = require("@xylabs/assert");
848
+ var import_lodash2 = require("@xylabs/lodash");
849
+ var import_archivist_model2 = require("@xyo-network/archivist-model");
850
+
851
+ // src/ResolveHelper.ts
852
+ var import_logger2 = require("@xylabs/logger");
853
+ var import_object3 = require("@xylabs/object");
854
+ var import_module_model2 = require("@xyo-network/module-model");
855
+ var ResolveHelper = class {
856
+ static {
857
+ __name(this, "ResolveHelper");
858
+ }
859
+ static defaultLogger;
860
+ static async resolve(config, idOrFilter = "*", { visibility, maxDepth = 5, required = "log", ...options } = {}) {
861
+ const { module: module2, logger = this.defaultLogger, dead = false, upResolver, downResolver } = config;
862
+ const log = logger ? new import_logger2.IdLogger(logger, () => `ResolveHelper [${module2.id}][${idOrFilter}][${visibility}]`) : void 0;
863
+ const childOptions = {
864
+ ...options,
865
+ direction: "down",
866
+ maxDepth: maxDepth - 1,
867
+ required: false,
868
+ visibility
869
+ };
870
+ const direction = options?.direction ?? "all";
871
+ const up = direction === "up" || direction === "all";
872
+ const down = direction === "down" || direction === "all";
873
+ let result;
874
+ log?.debug("start", idOrFilter, maxDepth);
875
+ if (idOrFilter === "*") {
876
+ if (dead) {
877
+ log?.warn("failed [dead]", idOrFilter);
878
+ return [];
879
+ }
880
+ const modules = [
881
+ ...down ? await downResolver.resolve("*", childOptions) : [],
882
+ ...up ? await upResolver.resolve("*", childOptions) : []
883
+ ].filter(import_module_model2.duplicateModules).filter((module3) => module3.address !== config.address);
884
+ if (modules.length > 0) {
885
+ log?.log("modules [count]", modules.length);
886
+ log?.debug("modules", (0, import_object3.toJsonString)(modules, 4));
887
+ }
888
+ if (maxDepth === 0) {
889
+ return modules;
890
+ }
891
+ const childModules = (await Promise.all(modules.map(async (module3) => await module3.resolve("*", childOptions)))).flat().filter(import_module_model2.duplicateModules);
892
+ return [
893
+ module2,
894
+ ...modules,
895
+ ...childModules
896
+ ].filter(import_module_model2.duplicateModules);
897
+ } else {
898
+ switch (typeof idOrFilter) {
899
+ case "string": {
900
+ if (dead) {
901
+ return void 0;
902
+ }
903
+ result = (down ? await downResolver.resolve(idOrFilter, childOptions) : void 0) ?? (up ? await upResolver.resolve(idOrFilter, childOptions) : void 0);
904
+ break;
905
+ }
906
+ default: {
907
+ if (dead) {
908
+ return [];
909
+ }
910
+ const filter = idOrFilter;
911
+ result = [
912
+ ...down ? await downResolver.resolve(filter, childOptions) : [],
913
+ ...up ? await upResolver.resolve(filter, childOptions) : []
914
+ ].filter(import_module_model2.duplicateModules);
915
+ break;
916
+ }
917
+ }
918
+ }
919
+ this.validateRequiredResolve(required, result, idOrFilter, logger);
920
+ return result;
921
+ }
922
+ static validateRequiredResolve(required, result, idOrFilter, logger = this.defaultLogger) {
923
+ const log = logger ? new import_logger2.IdLogger(logger, () => `validateRequiredResolve [${idOrFilter}][${result}]`) : void 0;
924
+ if (required && (result === void 0 || Array.isArray(result) && result.length > 0)) {
925
+ switch (required) {
926
+ case "warn": {
927
+ log?.warn("resolve failed", idOrFilter);
928
+ break;
929
+ }
930
+ case "log": {
931
+ log?.log("resolve failed", idOrFilter);
932
+ break;
933
+ }
934
+ default: {
935
+ throw new Error(`resolve failed [${idOrFilter}]`);
936
+ }
937
+ }
938
+ }
939
+ }
940
+ };
941
+
942
+ // src/AbstractModuleInstance.ts
952
943
  var AbstractModuleInstance = class extends AbstractModule {
953
944
  static {
954
945
  __name(this, "AbstractModuleInstance");
@@ -968,10 +959,10 @@ var AbstractModuleInstance = class extends AbstractModule {
968
959
  return await this.describeHandler();
969
960
  });
970
961
  }
971
- discover() {
962
+ discover(maxDepth = 5) {
972
963
  this._checkDead();
973
964
  return this.busy(async () => {
974
- return await this.discoverHandler();
965
+ return await this.discoverHandler(maxDepth);
975
966
  });
976
967
  }
977
968
  manifest(maxDepth, ignoreAddresses) {
@@ -986,6 +977,30 @@ var AbstractModuleInstance = class extends AbstractModule {
986
977
  return await this.moduleAddressHandler();
987
978
  });
988
979
  }
980
+ async resolve(idOrFilter = "*", options = {}) {
981
+ const config = {
982
+ address: this.address,
983
+ dead: this.dead,
984
+ downResolver: this.downResolver,
985
+ logger: this.logger,
986
+ module: this,
987
+ upResolver: this.upResolver
988
+ };
989
+ if (idOrFilter === "*") {
990
+ return await ResolveHelper.resolve(config, idOrFilter, options);
991
+ }
992
+ switch (typeof idOrFilter) {
993
+ case "string": {
994
+ return await ResolveHelper.resolve(config, idOrFilter, options);
995
+ }
996
+ case "object": {
997
+ return await ResolveHelper.resolve(config, idOrFilter, options);
998
+ }
999
+ default: {
1000
+ return await ResolveHelper.resolve(config, idOrFilter, options);
1001
+ }
1002
+ }
1003
+ }
989
1004
  state() {
990
1005
  this._checkDead();
991
1006
  return this.busy(async () => {
@@ -996,5 +1011,18 @@ var AbstractModuleInstance = class extends AbstractModule {
996
1011
  this._checkDead();
997
1012
  return this.subscribeHandler();
998
1013
  }
1014
+ async resolveArchivingArchivists() {
1015
+ const archivists = this.config.archiving?.archivists;
1016
+ if (!archivists)
1017
+ return [];
1018
+ const resolved = await Promise.all(archivists.map((archivist) => this.resolve(archivist)));
1019
+ return (0, import_lodash2.compact)(resolved.map((mod) => (0, import_archivist_model2.asArchivistInstance)(mod)));
1020
+ }
1021
+ async storeToArchivists(payloads) {
1022
+ const archivists = await this.resolveArchivingArchivists();
1023
+ return (await Promise.all(archivists.map((archivist) => {
1024
+ return archivist.insert?.(payloads);
1025
+ }))).map(([bw]) => bw);
1026
+ }
999
1027
  };
1000
1028
  //# sourceMappingURL=index.cjs.map