@xyo-network/bridge-module-resolver 2.64.2 → 2.64.4

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.
@@ -1,5 +1,16 @@
1
+ import { assertEx } from '@xylabs/assert';
1
2
  import { AddressSchema } from '@xyo-network/address-payload-plugin';
3
+ import { ArchivistGetQuerySchema } from '@xyo-network/archivist-model';
4
+ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
5
+ import { DivinerDivineQuerySchema } from '@xyo-network/diviner-model';
6
+ import { DivinerWrapper } from '@xyo-network/diviner-wrapper';
7
+ import { handleError } from '@xyo-network/error';
2
8
  import { CompositeModuleResolver } from '@xyo-network/module';
9
+ import { NodeAttachQuerySchema } from '@xyo-network/node-model';
10
+ import { NodeWrapper } from '@xyo-network/node-wrapper';
11
+ import { SentinelReportQuerySchema, SentinelWrapper } from '@xyo-network/sentinel';
12
+ import { WitnessObserveQuerySchema } from '@xyo-network/witness-model';
13
+ import { WitnessWrapper } from '@xyo-network/witness-wrapper';
3
14
  import compact from 'lodash/compact';
4
15
  import { ProxyModule, ProxyModuleConfigSchema } from './ProxyModule';
5
16
  export class BridgeModuleResolver extends CompositeModuleResolver {
@@ -65,10 +76,28 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
65
76
  try {
66
77
  //discover it to set the config in the bridge
67
78
  await this.bridge.targetDiscover(address);
79
+ const account = assertEx(this.bridge.account, 'Missing bridge account');
80
+ if (mod.queries.includes(ArchivistGetQuerySchema)) {
81
+ return ArchivistWrapper.wrap(mod, account);
82
+ }
83
+ if (mod.queries.includes(DivinerDivineQuerySchema)) {
84
+ return DivinerWrapper.wrap(mod, account);
85
+ }
86
+ if (mod.queries.includes(WitnessObserveQuerySchema)) {
87
+ return WitnessWrapper.wrap(mod, account);
88
+ }
89
+ if (mod.queries.includes(NodeAttachQuerySchema)) {
90
+ return NodeWrapper.wrap(mod, account);
91
+ }
92
+ if (mod.queries.includes(SentinelReportQuerySchema)) {
93
+ return SentinelWrapper.wrap(mod, account);
94
+ }
68
95
  return mod;
69
96
  }
70
97
  catch (ex) {
71
- return undefined;
98
+ handleError(ex, (error) => {
99
+ console.error(`BridgeModuleResolver.resolveByAddress: ${error.message} [${targetAddress}]`);
100
+ });
72
101
  }
73
102
  })(targetAddress);
74
103
  return (await this.resolvedModules[targetAddress]);
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ export class ProxyModule extends BaseEmitter {
21
21
  get queries() {
22
22
  return this.bridge.targetQueries(this.address);
23
23
  }
24
+ manifest() {
25
+ const name = assertEx(this.config.name, 'Calling manifest on un-named module is not supported');
26
+ return { config: { name, ...this.config } };
27
+ }
24
28
  async query(query, payloads) {
25
29
  const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed');
26
30
  await this.emit('moduleQueried', { module: this, payloads, query, result });
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EACL,WAAW,EACX,uBAAuB,GAQxB,MAAM,qBAAqB,CAAA;AAI5B,MAAM,CAAC,MAAM,uBAAuB,GAA4B,iCAAiC,CAAA;AAYjG,MAAM,OAAO,WAAY,SAAQ,WAA+C;IACrE,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAEnD,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,CAAkD,KAAQ,EAAE,QAAoB;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAC5G,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAwB,EAAE,QAAoB,EAAE,WAA0B;QACxF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtF,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EACL,WAAW,EACX,uBAAuB,GAQxB,MAAM,qBAAqB,CAAA;AAK5B,MAAM,CAAC,MAAM,uBAAuB,GAA4B,iCAAiC,CAAA;AAYjG,MAAM,OAAO,WAAY,SAAQ,WAA+C;IACrE,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAEnD,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,sDAAsD,CAAC,CAAA;QAC/F,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAkD,KAAQ,EAAE,QAAoB;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAC5G,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAwB,EAAE,QAAoB,EAAE,WAA0B;QACxF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtF,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAuB,MAAM,EAAE,YAAY,EAAE,cAAc,EAAuC,MAAM,2BAA2B,CAAA;AAK1I,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAM7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IALnD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAAsC;gBAI9B,MAAM,EAAE,YAAY;IAInD,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/E,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YAIxE,gBAAgB;YA8BhB,aAAa;YAIb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
1
+ {"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAuB,MAAM,EAAE,YAAY,EAAE,cAAc,EAAuC,MAAM,2BAA2B,CAAA;AAU1I,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAM7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IALnD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAAsC;gBAI9B,MAAM,EAAE,YAAY;IAInD,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/E,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YAIxE,gBAAgB;YAsDhB,aAAa;YAIb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
@@ -1,6 +1,8 @@
1
1
  import { BridgeModule } from '@xyo-network/bridge-model';
2
+ import { ModuleManifest } from '@xyo-network/manifest-model';
2
3
  import { BaseEmitter, CompositeModuleResolver, Module, ModuleConfig, ModuleEventData, ModuleFilter, ModuleParams, ModuleQueryResult, QueryBoundWitness } from '@xyo-network/module';
3
4
  import { Payload } from '@xyo-network/payload-model';
5
+ import { Promisable } from '@xyo-network/promise';
4
6
  export type ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
5
7
  export declare const ProxyModuleConfigSchema: ProxyModuleConfigSchema;
6
8
  export type TProxyModuleConfig = ModuleConfig<{
@@ -49,6 +51,7 @@ export declare class ProxyModule extends BaseEmitter<ProxyModuleParams, ModuleEv
49
51
  get config(): ModuleConfig;
50
52
  get downResolver(): import("@xyo-network/module").ModuleResolver;
51
53
  get queries(): string[];
54
+ manifest(): Promisable<ModuleManifest>;
52
55
  query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
53
56
  queryable(query: QueryBoundWitness, payloads?: Payload[], queryConfig?: ModuleConfig): Promise<boolean>;
54
57
  resolve(filter?: ModuleFilter): Promise<Module[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAC1C,kBAAkB,EAClB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAE,YAAW,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/H,QAAQ,CAAC,UAAU,0BAAgC;gBAEvC,MAAM,EAAE,iBAAiB;IAIrC,IAAI,OAAO,WAEV;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAET;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAEK,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
1
+ {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAC1C,kBAAkB,EAClB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAE,YAAW,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/H,QAAQ,CAAC,UAAU,0BAAgC;gBAEvC,MAAM,EAAE,iBAAiB;IAIrC,IAAI,OAAO,WAEV;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAET;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAED,QAAQ,IAAI,UAAU,CAAC,cAAc,CAAC;IAKhC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
package/package.json CHANGED
@@ -11,11 +11,23 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.9.3",
14
- "@xyo-network/address-payload-plugin": "^2.64.2",
15
- "@xyo-network/bridge-model": "^2.64.2",
16
- "@xyo-network/module": "^2.64.2",
17
- "@xyo-network/module-model": "^2.64.2",
18
- "@xyo-network/payload-model": "^2.64.2",
14
+ "@xyo-network/address-payload-plugin": "^2.64.4",
15
+ "@xyo-network/archivist-model": "^2.64.4",
16
+ "@xyo-network/archivist-wrapper": "^2.64.4",
17
+ "@xyo-network/bridge-model": "^2.64.4",
18
+ "@xyo-network/diviner-model": "^2.64.4",
19
+ "@xyo-network/diviner-wrapper": "^2.64.4",
20
+ "@xyo-network/error": "^2.64.4",
21
+ "@xyo-network/manifest-model": "^2.64.4",
22
+ "@xyo-network/module": "^2.64.4",
23
+ "@xyo-network/module-model": "^2.64.4",
24
+ "@xyo-network/node-model": "^2.64.4",
25
+ "@xyo-network/node-wrapper": "^2.64.4",
26
+ "@xyo-network/payload-model": "^2.64.4",
27
+ "@xyo-network/promise": "^2.64.4",
28
+ "@xyo-network/sentinel": "^2.64.4",
29
+ "@xyo-network/witness-model": "^2.64.4",
30
+ "@xyo-network/witness-wrapper": "^2.64.4",
19
31
  "lodash": "^4.17.21"
20
32
  },
21
33
  "devDependencies": {
@@ -56,5 +68,5 @@
56
68
  },
57
69
  "sideEffects": false,
58
70
  "types": "dist/types/index.d.ts",
59
- "version": "2.64.2"
71
+ "version": "2.64.4"
60
72
  }
@@ -1,7 +1,18 @@
1
+ import { assertEx } from '@xylabs/assert'
1
2
  import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
3
+ import { ArchivistGetQuerySchema } from '@xyo-network/archivist-model'
4
+ import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
2
5
  import { BridgeModule } from '@xyo-network/bridge-model'
6
+ import { DivinerDivineQuerySchema } from '@xyo-network/diviner-model'
7
+ import { DivinerWrapper } from '@xyo-network/diviner-wrapper'
8
+ import { handleError } from '@xyo-network/error'
3
9
  import { CompositeModuleResolver } from '@xyo-network/module'
4
10
  import { AddressModuleFilter, Module, ModuleFilter, ModuleResolver, NameModuleFilter, QueryModuleFilter } from '@xyo-network/module-model'
11
+ import { NodeAttachQuerySchema } from '@xyo-network/node-model'
12
+ import { NodeWrapper } from '@xyo-network/node-wrapper'
13
+ import { SentinelReportQuerySchema, SentinelWrapper } from '@xyo-network/sentinel'
14
+ import { WitnessObserveQuerySchema } from '@xyo-network/witness-model'
15
+ import { WitnessWrapper } from '@xyo-network/witness-wrapper'
5
16
  import compact from 'lodash/compact'
6
17
 
7
18
  import { ProxyModule, ProxyModuleConfigSchema, ProxyModuleParams } from './ProxyModule'
@@ -79,15 +90,39 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
79
90
  this.resolvedModules[targetAddress] =
80
91
  this.resolvedModules[targetAddress] ??
81
92
  (async (address: string) => {
82
- const mod = new ProxyModule({ address, bridge: this.bridge, config: { schema: ProxyModuleConfigSchema } } as ProxyModuleParams)
93
+ const mod: Module = new ProxyModule({ address, bridge: this.bridge, config: { schema: ProxyModuleConfigSchema } } as ProxyModuleParams)
83
94
 
84
95
  try {
85
96
  //discover it to set the config in the bridge
86
97
  await this.bridge.targetDiscover(address)
87
98
 
99
+ const account = assertEx(this.bridge.account, 'Missing bridge account')
100
+
101
+ if (mod.queries.includes(ArchivistGetQuerySchema)) {
102
+ return ArchivistWrapper.wrap(mod, account)
103
+ }
104
+
105
+ if (mod.queries.includes(DivinerDivineQuerySchema)) {
106
+ return DivinerWrapper.wrap(mod, account)
107
+ }
108
+
109
+ if (mod.queries.includes(WitnessObserveQuerySchema)) {
110
+ return WitnessWrapper.wrap(mod, account)
111
+ }
112
+
113
+ if (mod.queries.includes(NodeAttachQuerySchema)) {
114
+ return NodeWrapper.wrap(mod, account)
115
+ }
116
+
117
+ if (mod.queries.includes(SentinelReportQuerySchema)) {
118
+ return SentinelWrapper.wrap(mod, account)
119
+ }
120
+
88
121
  return mod
89
122
  } catch (ex) {
90
- return undefined
123
+ handleError(ex, (error) => {
124
+ console.error(`BridgeModuleResolver.resolveByAddress: ${error.message} [${targetAddress}]`)
125
+ })
91
126
  }
92
127
  })(targetAddress)
93
128
 
@@ -1,5 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { BridgeModule } from '@xyo-network/bridge-model'
3
+ import { ModuleManifest } from '@xyo-network/manifest-model'
3
4
  import {
4
5
  BaseEmitter,
5
6
  CompositeModuleResolver,
@@ -12,6 +13,7 @@ import {
12
13
  QueryBoundWitness,
13
14
  } from '@xyo-network/module'
14
15
  import { Payload } from '@xyo-network/payload-model'
16
+ import { Promisable } from '@xyo-network/promise'
15
17
 
16
18
  export type ProxyModuleConfigSchema = 'network.xyo.module.proxy.config'
17
19
  export const ProxyModuleConfigSchema: ProxyModuleConfigSchema = 'network.xyo.module.proxy.config'
@@ -53,6 +55,11 @@ export class ProxyModule extends BaseEmitter<ProxyModuleParams, ModuleEventData>
53
55
  return this.bridge.targetQueries(this.address)
54
56
  }
55
57
 
58
+ manifest(): Promisable<ModuleManifest> {
59
+ const name = assertEx(this.config.name, 'Calling manifest on un-named module is not supported')
60
+ return { config: { name, ...this.config } }
61
+ }
62
+
56
63
  async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {
57
64
  const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed')
58
65
  await this.emit('moduleQueried', { module: this, payloads, query, result })