@xyo-network/bridge 2.46.4 → 2.47.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 (41) hide show
  1. package/dist/cjs/AbstractBridge.js +1 -7
  2. package/dist/cjs/AbstractBridge.js.map +1 -1
  3. package/dist/cjs/BridgeWrapper.js +32 -0
  4. package/dist/cjs/BridgeWrapper.js.map +1 -1
  5. package/dist/cjs/HttpBridge.js +53 -34
  6. package/dist/cjs/HttpBridge.js.map +1 -1
  7. package/dist/cjs/HttpProxyModule.js +39 -0
  8. package/dist/cjs/HttpProxyModule.js.map +1 -0
  9. package/dist/cjs/RemoteModuleResolver.js +15 -38
  10. package/dist/cjs/RemoteModuleResolver.js.map +1 -1
  11. package/dist/docs.json +15257 -9644
  12. package/dist/esm/AbstractBridge.js +2 -7
  13. package/dist/esm/AbstractBridge.js.map +1 -1
  14. package/dist/esm/BridgeWrapper.js +23 -1
  15. package/dist/esm/BridgeWrapper.js.map +1 -1
  16. package/dist/esm/HttpBridge.js +46 -30
  17. package/dist/esm/HttpBridge.js.map +1 -1
  18. package/dist/esm/HttpProxyModule.js +32 -0
  19. package/dist/esm/HttpProxyModule.js.map +1 -0
  20. package/dist/esm/RemoteModuleResolver.js +10 -29
  21. package/dist/esm/RemoteModuleResolver.js.map +1 -1
  22. package/dist/types/AbstractBridge.d.ts +6 -2
  23. package/dist/types/AbstractBridge.d.ts.map +1 -1
  24. package/dist/types/Bridge.d.ts +8 -2
  25. package/dist/types/Bridge.d.ts.map +1 -1
  26. package/dist/types/BridgeWrapper.d.ts +29 -3
  27. package/dist/types/BridgeWrapper.d.ts.map +1 -1
  28. package/dist/types/HttpBridge.d.ts +30 -10
  29. package/dist/types/HttpBridge.d.ts.map +1 -1
  30. package/dist/types/HttpProxyModule.d.ts +25 -0
  31. package/dist/types/HttpProxyModule.d.ts.map +1 -0
  32. package/dist/types/RemoteModuleResolver.d.ts +3 -3
  33. package/dist/types/RemoteModuleResolver.d.ts.map +1 -1
  34. package/package.json +11 -11
  35. package/src/AbstractBridge.ts +22 -7
  36. package/src/Bridge.ts +10 -2
  37. package/src/BridgeWrapper.ts +49 -3
  38. package/src/HttpBridge.ts +54 -30
  39. package/src/HttpProxyModule.ts +37 -0
  40. package/src/RemoteModuleResolver.ts +13 -41
  41. package/src/spec/HttpBridge.spec.ts +6 -2
@@ -1,5 +1,5 @@
1
1
  import { Account } from '@xyo-network/account';
2
- import { AbstractModule, QueryBoundWitnessWrapper, XyoErrorBuilder } from '@xyo-network/module';
2
+ import { AbstractModule, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
3
3
  import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
4
4
  export class AbstractBridge extends AbstractModule {
5
5
  get queries() {
@@ -20,12 +20,7 @@ export class AbstractBridge extends AbstractModule {
20
20
  break;
21
21
  }
22
22
  default:
23
- if (super.queries.includes(typedQuery.schema)) {
24
- return super.query(query, payloads);
25
- }
26
- else {
27
- return this.forward(typedQuery);
28
- }
23
+ return super.query(query, payloads);
29
24
  }
30
25
  }
31
26
  catch (ex) {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractBridge.js","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAqB,wBAAwB,EAAE,eAAe,EAAkC,MAAM,qBAAqB,CAAA;AAMlJ,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAgB,cAA4D,SAAQ,cAAuB;IAC/G,IAAa,OAAO;QAClB,OAAO,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACxF,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAC3G,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAiB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,IAAI;YACF,QAAQ,UAAU,CAAC,MAAM,EAAE;gBACzB,KAAK,2BAA2B,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;oBACpB,MAAK;iBACN;gBACD,KAAK,8BAA8B,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;oBACvB,MAAK;iBACN;gBACD;oBACE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;wBAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;qBACpC;yBAAM;wBACL,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;qBAChC;aACJ;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;SACnG;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;CAMF"}
1
+ {"version":3,"file":"AbstractBridge.js","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EACL,cAAc,EAMd,wBAAwB,EACxB,eAAe,GAGhB,MAAM,qBAAqB,CAAA;AAM5B,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAgB,cAA4D,SAAQ,cAAuB;IAG/G,IAAa,OAAO;QAClB,OAAO,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACxF,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAC3G,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAiB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,IAAI;YACF,QAAQ,UAAU,CAAC,MAAM,EAAE;gBACzB,KAAK,2BAA2B,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;oBACpB,MAAK;iBACN;gBACD,KAAK,8BAA8B,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;oBACvB,MAAK;iBACN;gBACD;oBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aACtC;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;SACnG;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;CAYF"}
@@ -1,7 +1,10 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
1
+ import { ModuleDiscoverQuerySchema, ModuleWrapper, } from '@xyo-network/module';
2
2
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
3
3
  import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
4
4
  export class BridgeWrapper extends ModuleWrapper {
5
+ get targetResolver() {
6
+ return this.module.targetResolver;
7
+ }
5
8
  async connect(uri) {
6
9
  const queryPayload = PayloadWrapper.parse({ schema: XyoBridgeConnectQuerySchema, uri });
7
10
  await this.sendQuery(queryPayload);
@@ -12,5 +15,24 @@ export class BridgeWrapper extends ModuleWrapper {
12
15
  await this.sendQuery(queryPayload);
13
16
  return true;
14
17
  }
18
+ async targetDiscover(address) {
19
+ const queryPayload = PayloadWrapper.parse({ schema: ModuleDiscoverQuerySchema });
20
+ return await this.sendTargetQuery(address, queryPayload);
21
+ }
22
+ async targetQuery(address, query, payloads) {
23
+ return await this.module.targetQuery(address, query, payloads);
24
+ }
25
+ async targetQueryable(address, query, payloads, queryConfig) {
26
+ return await this.module.targetQueryable(address, query, payloads, queryConfig);
27
+ }
28
+ async targetResolve(address, filter) {
29
+ return await this.module.targetResolve(address, filter);
30
+ }
31
+ async sendTargetQuery(address, queryPayload, payloads) {
32
+ const query = await this.bindQuery(queryPayload, payloads);
33
+ const result = await this.module.targetQuery(address, query[0], query[1]);
34
+ this.throwErrors(query, result);
35
+ return result[1];
36
+ }
15
37
  }
16
38
  //# sourceMappingURL=BridgeWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeWrapper.js","sourceRoot":"","sources":["../../src/BridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAiB,EAAE,MAAM,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAA;QACvG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAiB,EAAE,MAAM,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1G,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"BridgeWrapper.js","sourceRoot":"","sources":["../../src/BridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,yBAAyB,EAGzB,aAAa,GAGd,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AAEvG,MAAM,OAAO,aAAc,SAAQ,aAA2B;IAC5D,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAY;QACxB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAiB,EAAE,MAAM,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAA;QACvG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAY;QAC3B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAiB,EAAE,MAAM,EAAE,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1G,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACrG,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,OAAe,EACf,KAAQ,EACR,QAAuB;QAEvB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAA2B,EAAE,QAAuB,EAAE,WAA0B;QACrH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACjF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,MAAqB;QACxD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzD,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,OAAe,EACf,YAAe,EACf,QAAsB;QAEtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;CACF"}
@@ -1,41 +1,38 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { Account } from '@xyo-network/account';
3
+ import { AddressSchema } from '@xyo-network/address-payload-plugin';
3
4
  import { AxiosJson } from '@xyo-network/axios';
4
- import { AbstractModule, ModuleDiscoverQuerySchema, ModuleWrapper, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
5
+ import { AbstractModule, ModuleDiscoverQuerySchema, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
5
6
  import { PayloadWrapper } from '@xyo-network/payload-wrapper';
6
7
  import { QuerySchema } from '@xyo-network/query-payload-plugin';
7
8
  import compact from 'lodash/compact';
8
9
  import { XyoBridgeConnectQuerySchema, XyoBridgeDisconnectQuerySchema } from './Queries';
9
10
  import { RemoteModuleResolver } from './RemoteModuleResolver';
10
11
  export class HttpBridge extends AbstractModule {
12
+ _targetQueries = {};
13
+ _targetResolver;
11
14
  axios;
12
- remoteQueries = [];
13
- remoteResolver;
14
15
  constructor(params) {
15
16
  super(params);
16
17
  this.axios = params.axios ?? new AxiosJson();
17
- this.remoteResolver = new RemoteModuleResolver(this);
18
+ this._targetResolver = new RemoteModuleResolver(this);
18
19
  }
19
20
  get nodeUri() {
20
21
  return assertEx(this.config?.nodeUri, 'Missing nodeUri');
21
22
  }
22
- get queries() {
23
- return [...super.queries, ...this.remoteQueries];
24
- }
25
23
  get targetAddress() {
26
- return this.config?.targetAddress;
24
+ return assertEx(this.config?.targetAddress, 'targetAddress not set');
25
+ }
26
+ get targetResolver() {
27
+ return this._targetResolver;
27
28
  }
28
29
  static async create(params) {
29
30
  const result = (await super.create(params));
30
- const moduleWrapper = ModuleWrapper.wrap(result);
31
- const discover = await moduleWrapper.discover();
32
- result.remoteQueries = compact(discover.map((payload) => {
33
- if (payload.schema === QuerySchema) {
34
- const schemaPayload = payload;
35
- return schemaPayload.query;
36
- }
37
- else {
38
- return null;
31
+ const discover = await result.targetDiscover(params.config.targetAddress ?? '');
32
+ await Promise.all(discover.map((payload) => {
33
+ const addressPayload = payload;
34
+ if (addressPayload.schema === AddressSchema) {
35
+ return result.targetDiscover(addressPayload.address);
39
36
  }
40
37
  }));
41
38
  return result;
@@ -46,10 +43,6 @@ export class HttpBridge extends AbstractModule {
46
43
  disconnect() {
47
44
  return true;
48
45
  }
49
- async discover() {
50
- const queryPayload = PayloadWrapper.parse({ schema: ModuleDiscoverQuerySchema });
51
- return (await this.forward(queryPayload))[1];
52
- }
53
46
  async query(query, payloads) {
54
47
  const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
55
48
  const typedQuery = wrapper.query.payload;
@@ -66,12 +59,7 @@ export class HttpBridge extends AbstractModule {
66
59
  break;
67
60
  }
68
61
  default:
69
- if (super.queries.find((schema) => schema === typedQuery.schema)) {
70
- return await super.query(query, payloads);
71
- }
72
- else {
73
- return await this.forward(query, payloads);
74
- }
62
+ return await super.query(query, payloads);
75
63
  }
76
64
  }
77
65
  catch (ex) {
@@ -81,12 +69,34 @@ export class HttpBridge extends AbstractModule {
81
69
  return await this.bindResult(resultPayloads, queryAccount);
82
70
  }
83
71
  async resolve(filter) {
84
- return [...(await super.resolve(filter)), ...(await this.remoteResolver.resolve(filter))];
72
+ return [...(await super.resolve(filter)), ...(await this.targetResolver.resolve(filter))];
85
73
  }
86
- async forward(query, payloads = []) {
74
+ async targetDiscover(address) {
75
+ const queryPayload = PayloadWrapper.parse({ schema: ModuleDiscoverQuerySchema });
76
+ const discover = assertEx(await this.targetQuery(address, queryPayload), `Unable to resolve [${address}]`)[1];
77
+ this._targetQueries[address] = compact(discover?.map((payload) => {
78
+ if (payload.schema === QuerySchema) {
79
+ const schemaPayload = payload;
80
+ return schemaPayload.query;
81
+ }
82
+ else {
83
+ return null;
84
+ }
85
+ }) ?? []);
86
+ return discover;
87
+ }
88
+ targetQueries(address) {
89
+ return assertEx(this._targetQueries[address], `targetConfig not set [${address}]`);
90
+ }
91
+ async targetQuery(address, query, payloads = []) {
87
92
  try {
88
93
  const boundQuery = await this.bindQuery(query, payloads);
89
- const result = await this.axios.post(`${this.nodeUri}/address/${this.targetAddress}`, boundQuery);
94
+ const path = `${this.nodeUri}/${address}`;
95
+ const result = await this.axios.post(path, boundQuery);
96
+ if (result.status >= 400) {
97
+ this.logger?.error(`targetQuery failed [${path}]`);
98
+ throw `targetQuery failed [${path}] [${result.status}]`;
99
+ }
90
100
  return result.data.data;
91
101
  }
92
102
  catch (ex) {
@@ -96,5 +106,11 @@ export class HttpBridge extends AbstractModule {
96
106
  throw error;
97
107
  }
98
108
  }
109
+ targetQueryable(_address, _query, _payloads, _queryConfig) {
110
+ throw 'targetQueryable not available';
111
+ }
112
+ async targetResolve(address, filter) {
113
+ return await this.targetResolver.resolve(filter);
114
+ }
99
115
  }
100
116
  //# sourceMappingURL=HttpBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBridge.js","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpBridge.js","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnF,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACL,cAAc,EAGd,yBAAyB,EAKzB,wBAAwB,EACxB,eAAe,GAGhB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAgB,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAIpC,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAkB,MAAM,WAAW,CAAA;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAM7D,MAAM,OAAO,UAAgE,SAAQ,cAAuB;IAClG,cAAc,GAA6B,EAAE,CAAA;IAC7C,eAAe,CAAgB;IAC/B,KAAK,CAAW;IAExB,YAAsB,MAAoC;QACxD,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,SAAS,EAAE,CAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,uBAAuB,CAAC,CAAA;IACtE,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtD,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAe,CAAA;QACzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;QAC/E,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvB,MAAM,cAAc,GAAG,OAAyB,CAAA;YAChD,IAAI,cAAc,CAAC,MAAM,KAAK,aAAa,EAAE;gBAC3C,OAAO,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;aACrD;QACH,CAAC,CAAC,CACH,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAA;IACb,CAAC;IAEQ,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAC3G,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAiB,KAAK,EAAE,QAAQ,CAAC,CAAA;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,MAAM,cAAc,GAAiB,EAAE,CAAA;QACvC,IAAI;YACF,QAAQ,UAAU,CAAC,MAAM,EAAE;gBACzB,KAAK,2BAA2B,CAAC,CAAC;oBAChC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;oBACpB,MAAK;iBACN;gBACD,KAAK,8BAA8B,CAAC,CAAC;oBACnC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;oBACvB,MAAK;iBACN;gBACD;oBACE,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aAC5C;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,cAAc,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;SAChF;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,MAAqB;QAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAe;QAClC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACrG,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,sBAAsB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7G,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CACpC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACxB,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;gBAClC,MAAM,aAAa,GAAG,OAAuB,CAAA;gBAC7C,OAAO,aAAa,CAAC,KAAK,CAAA;aAC3B;iBAAM;gBACL,OAAO,IAAI,CAAA;aACZ;QACH,CAAC,CAAC,IAAI,EAAE,CACT,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,aAAa,CAAC,OAAe;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,yBAAyB,OAAO,GAAG,CAAC,CAAA;IACpF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,KAAe,EAAE,WAAyB,EAAE;QAC7E,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAA;YACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoC,IAAI,EAAE,UAAU,CAAC,CAAA;YACzF,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE;gBACxB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAA;gBAClD,MAAM,uBAAuB,IAAI,MAAM,MAAM,CAAC,MAAM,GAAG,CAAA;aACxD;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;SACxB;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAgB,CAAA;YAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YACnD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAC1E,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,eAAe,CAAC,QAAgB,EAAE,MAA4B,EAAE,SAAwB,EAAE,YAA2B;QACnH,MAAM,+BAA+B,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,MAAqB;QACxD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { ModuleConfigSchema } from '@xyo-network/module';
2
+ export class HttpProxyModule {
3
+ bridge;
4
+ _address;
5
+ constructor(bridge, _address) {
6
+ this.bridge = bridge;
7
+ this._address = _address;
8
+ }
9
+ get address() {
10
+ return this._address;
11
+ }
12
+ get config() {
13
+ return { schema: ModuleConfigSchema };
14
+ }
15
+ get queries() {
16
+ return this.bridge.targetQueries(this.address);
17
+ }
18
+ get resolver() {
19
+ return this.bridge.targetResolver;
20
+ }
21
+ async query(query, payloads) {
22
+ return await this.bridge.targetQuery(this.address, query, payloads);
23
+ }
24
+ queryable(query, payloads, queryConfig) {
25
+ return this.bridge.targetQueryable(this.address, query, payloads, queryConfig);
26
+ }
27
+ /* Resolves a filter from the perspective of the module, including through the parent/gateway module */
28
+ async resolve(filter) {
29
+ return await this.bridge.targetResolve(this.address, filter);
30
+ }
31
+ }
32
+ //# sourceMappingURL=HttpProxyModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpProxyModule.js","sourceRoot":"","sources":["../../src/HttpProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,kBAAkB,EAAyD,MAAM,qBAAqB,CAAA;AAKrI,MAAM,OAAO,eAAe;IACK;IAAuC;IAAtE,YAA+B,MAAkB,EAAqB,QAAgB;QAAvD,WAAM,GAAN,MAAM,CAAY;QAAqB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAE1F,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;IACvC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAClG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACrE,CAAC;IAED,SAAS,CAAC,KAA2B,EAAE,QAAuB,EAAE,WAA0B;QACxF,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAChF,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,10 +1,8 @@
1
- import { assertEx } from '@xylabs/assert';
2
1
  import { AddressSchema } from '@xyo-network/address-payload-plugin';
3
- import { CompositeModuleResolver, ModuleWrapper } from '@xyo-network/module';
2
+ import { CompositeModuleResolver } from '@xyo-network/module';
4
3
  import compact from 'lodash/compact';
5
4
  import flatten from 'lodash/flatten';
6
- import { HttpBridge } from './HttpBridge';
7
- import { HttpBridgeConfigSchema } from './HttpBridgeConfig';
5
+ import { HttpProxyModule } from './HttpProxyModule';
8
6
  export class RemoteModuleResolver extends CompositeModuleResolver {
9
7
  bridge;
10
8
  resolvedModules = {};
@@ -24,20 +22,10 @@ export class RemoteModuleResolver extends CompositeModuleResolver {
24
22
  throw new Error('Method not implemented.');
25
23
  }
26
24
  async resolve(filter) {
27
- const mods = await Promise.all(flatten(await this.resolveRemoteModules(filter)));
28
- return this.filterLocalModules(mods, filter);
29
- }
30
- filterLocalModules(mods, filter) {
31
- // TODO: Handle filter?.query
32
- if (filter?.query)
33
- throw new Error('Filtering by query not yet implemented by this resolver');
34
- const config = filter?.config;
35
- const filtered = config?.length ? mods.filter((mod) => config.includes(mod.config.schema)) : mods;
36
- return filtered;
25
+ return await Promise.all(flatten(await this.resolveRemoteModules(filter)));
37
26
  }
38
27
  async getRemoteAddresses() {
39
- const nodeWrapper = assertEx(ModuleWrapper.wrap(this.bridge), 'nodeUri can not be wrapped');
40
- const discover = await nodeWrapper.discover();
28
+ const discover = await this.bridge.targetDiscover('');
41
29
  return compact(discover.map((payload) => {
42
30
  if (payload.schema === AddressSchema) {
43
31
  const schemaPayload = payload;
@@ -48,32 +36,25 @@ export class RemoteModuleResolver extends CompositeModuleResolver {
48
36
  }
49
37
  }));
50
38
  }
51
- async resolveByAddress(targetAddress) {
39
+ resolveByAddress(targetAddress) {
52
40
  const cached = this.resolvedModules[targetAddress];
53
41
  if (cached)
54
42
  return cached;
55
- const mod = await HttpBridge.create({
56
- config: { nodeUri: this.bridge.nodeUri, schema: HttpBridgeConfigSchema, targetAddress },
57
- });
43
+ const mod = new HttpProxyModule(this.bridge, targetAddress);
58
44
  this.resolvedModules[targetAddress] = mod;
59
45
  return mod;
60
46
  }
61
- async resolveByName(name) {
47
+ resolveByName(name) {
62
48
  const cached = this.resolvedModules[name];
63
49
  if (cached)
64
50
  return cached;
65
- const mod = await HttpBridge.create({
66
- config: { name, nodeUri: this.bridge.nodeUri, schema: HttpBridgeConfigSchema },
67
- });
68
- this.resolvedModules[name] = mod;
69
- this.resolvedModules[mod.address] = mod;
70
- return mod;
51
+ return undefined;
71
52
  }
72
53
  async resolveRemoteModules(filter) {
73
54
  const addresses = filter ? filter?.address : await this.getRemoteAddresses();
74
55
  const names = filter?.name;
75
- const byAddress = await Promise.all(addresses?.map((address) => this.resolveByAddress(address)) ?? []);
76
- const byName = await Promise.all(names?.map((name) => this.resolveByName(name)) ?? []);
56
+ const byAddress = compact(await Promise.all(addresses?.map((address) => this.resolveByAddress(address)) ?? []));
57
+ const byName = compact(await Promise.all(names?.map((name) => this.resolveByName(name)) ?? []));
77
58
  return [...byAddress, ...byName];
78
59
  }
79
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModuleResolver.js","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteModuleResolver.js","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
- import { AbstractModule, ModuleQueryResult, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
1
+ import { AbstractModule, Module, ModuleConfig, ModuleFilter, ModuleQueryResult, ModuleResolver, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload-model';
3
3
  import { Promisable } from '@xyo-network/promise';
4
4
  import { BridgeModule } from './Bridge';
5
5
  import { BridgeConfig } from './Config';
6
6
  export declare abstract class AbstractBridge<TConfig extends BridgeConfig = BridgeConfig> extends AbstractModule<TConfig> implements BridgeModule {
7
+ abstract targetResolver: ModuleResolver;
7
8
  get queries(): string[];
8
9
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
9
10
  abstract connect(): Promisable<boolean>;
10
11
  abstract disconnect(): Promisable<boolean>;
11
- abstract forward(query: XyoQuery): Promise<ModuleQueryResult>;
12
+ abstract targetConfig(address: string): Promisable<ModuleConfig>;
13
+ abstract targetQuery(address: string, query: XyoQuery, payloads?: XyoPayload[]): Promisable<ModuleQueryResult>;
14
+ abstract targetQueryable(address: string, query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): boolean;
15
+ abstract targetResolve(address: string, filter?: ModuleFilter): Promisable<Module[]>;
12
16
  }
13
17
  //# sourceMappingURL=AbstractBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractBridge.d.ts","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAA6C,QAAQ,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAClJ,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvC,8BAAsB,cAAc,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY;IACvI,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAEc,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B1I,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAE1C,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAC9D"}
1
+ {"version":3,"file":"AbstractBridge.d.ts","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EAGd,QAAQ,EACR,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvC,8BAAsB,cAAc,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY;IACvI,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IAEvC,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAEc,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwB1I,QAAQ,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAE1C,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC;IAEhE,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC;IAE9G,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO;IAEpI,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CACrF"}
@@ -1,9 +1,15 @@
1
- import { Module } from '@xyo-network/module-model';
1
+ import { Module, ModuleConfig, ModuleFilter, ModuleQueryResult, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module-model';
2
+ import { XyoPayload } from '@xyo-network/payload-model';
2
3
  import { Promisable } from '@xyo-network/promise';
4
+ import { BridgeConfig } from './Config';
3
5
  export interface Bridge {
4
6
  connect: () => Promisable<boolean>;
5
7
  disconnect: () => Promisable<boolean>;
6
8
  }
7
- export interface BridgeModule extends Bridge, Module {
9
+ export interface BridgeModule<TConfig extends BridgeConfig = BridgeConfig> extends Bridge, Module<TConfig> {
10
+ targetResolver: Module['resolver'];
11
+ targetQuery(address: string, query: XyoQuery, payloads?: XyoPayload[]): Promisable<ModuleQueryResult>;
12
+ targetQueryable(address: string, query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): Promisable<boolean>;
13
+ targetResolve(address: string, filter?: ModuleFilter): Promisable<Module[]>;
8
14
  }
9
15
  //# sourceMappingURL=Bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM,EAAE,MAAM;CAAG"}
1
+ {"version":3,"file":"Bridge.d.ts","sourceRoot":"","sources":["../../src/Bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;IACxG,cAAc,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAClC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IACrG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACvI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CAC5E"}
@@ -1,7 +1,33 @@
1
- import { ModuleWrapper } from '@xyo-network/module';
2
- import { Bridge } from './Bridge';
3
- export declare class BridgeWrapper extends ModuleWrapper implements Bridge {
1
+ import { ModuleConfig, ModuleFilter, ModuleQueryResult, ModuleWrapper, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
2
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload-model';
3
+ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
4
+ import { BridgeModule } from './Bridge';
5
+ export declare class BridgeWrapper extends ModuleWrapper<BridgeModule> implements BridgeModule {
6
+ get targetResolver(): import("@xyo-network/module").ModuleResolver<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
7
+ name?: string | undefined;
8
+ security?: {
9
+ allowAnonymous?: boolean | undefined;
10
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
11
+ disallowed?: Record<string, string[]> | undefined;
12
+ } | undefined;
13
+ } & {
14
+ schema: string;
15
+ }>> | undefined;
4
16
  connect(uri?: string): Promise<boolean>;
5
17
  disconnect(uri?: string): Promise<boolean>;
18
+ targetDiscover(address: string): Promise<XyoPayload[]>;
19
+ targetQuery<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(address: string, query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
20
+ targetQueryable(address: string, query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): Promise<boolean>;
21
+ targetResolve(address: string, filter?: ModuleFilter): Promise<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
22
+ name?: string | undefined;
23
+ security?: {
24
+ allowAnonymous?: boolean | undefined;
25
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
26
+ disallowed?: Record<string, string[]> | undefined;
27
+ } | undefined;
28
+ } & {
29
+ schema: string;
30
+ }>[]>;
31
+ protected sendTargetQuery<T extends XyoQuery | PayloadWrapper<XyoQuery>>(address: string, queryPayload: T, payloads?: XyoPayloads): Promise<XyoPayload[]>;
6
32
  }
7
33
  //# sourceMappingURL=BridgeWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeWrapper.d.ts","sourceRoot":"","sources":["../../src/BridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,qBAAa,aAAc,SAAQ,aAAc,YAAW,MAAM;IAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAKjD"}
1
+ {"version":3,"file":"BridgeWrapper.d.ts","sourceRoot":"","sources":["../../src/BridgeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvC,qBAAa,aAAc,SAAQ,aAAa,CAAC,YAAY,CAAE,YAAW,YAAY;IACpF,IAAW,cAAc;;;;;;;;;oBAExB;IAEK,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAKtD,WAAW,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EACrE,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,GACtB,OAAO,CAAC,iBAAiB,CAAC;IAIvB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpI,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY;;;;;;;;;;cAI1C,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,EAC3E,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,CAAC,EACf,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,UAAU,EAAE,CAAC;CAMzB"}
@@ -1,5 +1,5 @@
1
1
  import { AxiosJson } from '@xyo-network/axios';
2
- import { AbstractModule, ModuleFilter, ModuleParams, ModuleQueryResult, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
2
+ import { AbstractModule, ModuleConfig, ModuleFilter, ModuleParams, ModuleQueryResult, ModuleResolver, XyoQuery, XyoQueryBoundWitness } from '@xyo-network/module';
3
3
  import { XyoPayload } from '@xyo-network/payload-model';
4
4
  import { Promisable } from '@xyo-network/promise';
5
5
  import { BridgeModule } from './Bridge';
@@ -7,30 +7,50 @@ import { HttpBridgeConfig } from './HttpBridgeConfig';
7
7
  export interface XyoHttpBridgeParams<TConfig extends HttpBridgeConfig = HttpBridgeConfig> extends ModuleParams<TConfig> {
8
8
  axios?: AxiosJson;
9
9
  }
10
- export declare class HttpBridge<TConfig extends HttpBridgeConfig = HttpBridgeConfig> extends AbstractModule<TConfig> implements BridgeModule {
10
+ export declare class HttpBridge<TConfig extends HttpBridgeConfig = HttpBridgeConfig> extends AbstractModule<TConfig> implements BridgeModule<TConfig> {
11
+ private _targetQueries;
12
+ private _targetResolver;
11
13
  private axios;
12
- private remoteQueries;
13
- private remoteResolver;
14
14
  protected constructor(params: XyoHttpBridgeParams<TConfig>);
15
15
  get nodeUri(): string;
16
- get queries(): string[];
17
- get targetAddress(): string | undefined;
16
+ get targetAddress(): string;
17
+ get targetResolver(): ModuleResolver<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
18
+ name?: string | undefined;
19
+ security?: {
20
+ allowAnonymous?: boolean | undefined;
21
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
22
+ disallowed?: Record<string, string[]> | undefined;
23
+ } | undefined;
24
+ } & {
25
+ schema: string;
26
+ }>>;
18
27
  static create(params: XyoHttpBridgeParams): Promise<HttpBridge>;
19
28
  connect(): Promisable<boolean>;
20
29
  disconnect(): Promisable<boolean>;
21
- discover(): Promise<(import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
22
- schema: string;
23
- })[]>;
24
30
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
25
31
  resolve(filter?: ModuleFilter): Promise<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
26
32
  name?: string | undefined;
27
33
  security?: {
34
+ allowAnonymous?: boolean | undefined;
35
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
36
+ disallowed?: Record<string, string[]> | undefined;
37
+ } | undefined;
38
+ } & {
39
+ schema: string;
40
+ }>[]>;
41
+ targetDiscover(address: string): Promise<XyoPayload[]>;
42
+ targetQueries(address: string): string[];
43
+ targetQuery(address: string, query: XyoQuery, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
44
+ targetQueryable(_address: string, _query: XyoQueryBoundWitness, _payloads?: XyoPayload[], _queryConfig?: ModuleConfig): boolean;
45
+ targetResolve(address: string, filter?: ModuleFilter): Promise<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
46
+ name?: string | undefined;
47
+ security?: {
48
+ allowAnonymous?: boolean | undefined;
28
49
  allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
29
50
  disallowed?: Record<string, string[]> | undefined;
30
51
  } | undefined;
31
52
  } & {
32
53
  schema: string;
33
54
  }>[]>;
34
- protected forward(query: XyoQuery, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
35
55
  }
36
56
  //# sourceMappingURL=HttpBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpBridge.d.ts","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACL,cAAc,EAGd,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAKjB,QAAQ,EACR,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;IACrH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY;IAClI,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAgB;IAEtC,SAAS,aAAa,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IAM1D,IAAW,OAAO,WAEjB;IAED,IAAoB,OAAO,aAE1B;IAED,IAAW,aAAa,uBAEvB;WAEqB,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB9E,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAI9B,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAIlB,QAAQ;;;IAKR,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6B3H,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;;;;;cAI5B,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAYlG"}
1
+ {"version":3,"file":"HttpBridge.d.ts","sourceRoot":"","sources":["../../src/HttpBridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EACL,cAAc,EACd,YAAY,EAGZ,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,cAAc,EAGd,QAAQ,EACR,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD,MAAM,WAAW,mBAAmB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;IACrH,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY,CAAC,OAAO,CAAC;IAC3I,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,KAAK,CAAW;IAExB,SAAS,aAAa,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IAM1D,IAAW,OAAO,WAEjB;IAED,IAAW,aAAa,WAEvB;IAED,IAAW,cAAc;;;;;;;;;QAExB;WAEqB,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAc9E,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;IAI9B,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC;IAIlB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyB3H,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;;;;;;IAItC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAkBrD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAIzC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkB5G,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO;IAIzH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY;;;;;;;;;;CAG3D"}
@@ -0,0 +1,25 @@
1
+ import { Module, ModuleConfig, ModuleFilter, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module';
2
+ import { XyoPayload } from '@xyo-network/payload-model';
3
+ import { HttpBridge } from './HttpBridge';
4
+ export declare class HttpProxyModule implements Module {
5
+ protected readonly bridge: HttpBridge;
6
+ protected readonly _address: string;
7
+ constructor(bridge: HttpBridge, _address: string);
8
+ get address(): string;
9
+ get config(): ModuleConfig;
10
+ get queries(): string[];
11
+ get resolver(): import("@xyo-network/module").ModuleResolver<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
12
+ name?: string | undefined;
13
+ security?: {
14
+ allowAnonymous?: boolean | undefined;
15
+ allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
16
+ disallowed?: Record<string, string[]> | undefined;
17
+ } | undefined;
18
+ } & {
19
+ schema: string;
20
+ }>>;
21
+ query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
22
+ queryable(query: XyoQueryBoundWitness, payloads?: XyoPayload[], queryConfig?: ModuleConfig): boolean;
23
+ resolve(filter?: ModuleFilter): Promise<Module[]>;
24
+ }
25
+ //# sourceMappingURL=HttpProxyModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpProxyModule.d.ts","sourceRoot":"","sources":["../../src/HttpProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAsB,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACrI,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAa,eAAgB,YAAW,MAAM;IAChC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAvD,MAAM,EAAE,UAAU,EAAqB,QAAQ,EAAE,MAAM;IAEtF,IAAI,OAAO,WAEV;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,OAAO,aAEV;IAED,IAAI,QAAQ;;;;;;;;;QAEX;IAEK,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIjI,SAAS,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO;IAK9F,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
@@ -1,6 +1,7 @@
1
- import { AbstractModule, CompositeModuleResolver } from '@xyo-network/module';
1
+ import { CompositeModuleResolver } from '@xyo-network/module';
2
2
  import { Module, ModuleFilter } from '@xyo-network/module-model';
3
3
  import { HttpBridge } from './HttpBridge';
4
+ import { HttpProxyModule } from './HttpProxyModule';
4
5
  export declare class RemoteModuleResolver extends CompositeModuleResolver {
5
6
  protected readonly bridge: HttpBridge;
6
7
  private resolvedModules;
@@ -11,8 +12,7 @@ export declare class RemoteModuleResolver extends CompositeModuleResolver {
11
12
  add(module: Module | Module[], name?: string | string[] | undefined): this;
12
13
  remove(name: string | string[]): this;
13
14
  remove(address: string | string[]): this;
14
- resolve(filter?: ModuleFilter): Promise<AbstractModule[]>;
15
- private filterLocalModules;
15
+ resolve(filter?: ModuleFilter): Promise<HttpProxyModule[]>;
16
16
  private getRemoteAddresses;
17
17
  private resolveByAddress;
18
18
  private resolveByName;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteModuleResolver.d.ts","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAazC,qBAAa,oBAAqB,SAAQ,uBAAuB;IAKnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAJjD,OAAO,CAAC,eAAe,CAAiC;gBAIzB,MAAM,EAAE,UAAU;IAIjD,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IACpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IACxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAK1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IACrC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKlC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK/D,OAAO,CAAC,kBAAkB;YAQZ,kBAAkB;YAelB,gBAAgB;YAUhB,aAAa;YAWb,oBAAoB;CAOnC"}
1
+ {"version":3,"file":"RemoteModuleResolver.d.ts","sourceRoot":"","sources":["../../src/RemoteModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,qBAAa,oBAAqB,SAAQ,uBAAuB;IAKnD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;IAJjD,OAAO,CAAC,eAAe,CAAsC;gBAI9B,MAAM,EAAE,UAAU;IAIjD,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IACpD,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IACxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,IAAI;IAK1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IACrC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKlC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;YAIlD,kBAAkB;IAchC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,aAAa;YAMP,oBAAoB;CAOnC"}