@xyo-network/bridge-pub-sub 2.91.3 → 2.92.0-rc.10

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 (107) hide show
  1. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.cts +3 -0
  2. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.cts.map +1 -1
  3. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.mts +3 -0
  4. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.mts.map +1 -1
  5. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.ts +3 -0
  6. package/dist/browser/AsyncQueryBus/AsyncQueryBusBase.d.ts.map +1 -1
  7. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.cts +1 -1
  8. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.mts +1 -1
  9. package/dist/browser/AsyncQueryBus/AsyncQueryBusHost.d.ts +1 -1
  10. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.cts +1 -1
  11. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.cts.map +1 -1
  12. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.mts +1 -1
  13. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.mts.map +1 -1
  14. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.ts +1 -1
  15. package/dist/browser/AsyncQueryBus/ModuleHost/ModuleHost.d.ts.map +1 -1
  16. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.cts +1 -1
  17. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.cts.map +1 -1
  18. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.mts +1 -1
  19. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.mts.map +1 -1
  20. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts +1 -1
  21. package/dist/browser/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts.map +1 -1
  22. package/dist/browser/PubSubBridge.d.cts +8 -18
  23. package/dist/browser/PubSubBridge.d.cts.map +1 -1
  24. package/dist/browser/PubSubBridge.d.mts +8 -18
  25. package/dist/browser/PubSubBridge.d.mts.map +1 -1
  26. package/dist/browser/PubSubBridge.d.ts +8 -18
  27. package/dist/browser/PubSubBridge.d.ts.map +1 -1
  28. package/dist/browser/index.cjs +81 -255
  29. package/dist/browser/index.cjs.map +1 -1
  30. package/dist/browser/index.d.cts +1 -1
  31. package/dist/browser/index.d.cts.map +1 -1
  32. package/dist/browser/index.d.mts +1 -1
  33. package/dist/browser/index.d.mts.map +1 -1
  34. package/dist/browser/index.d.ts +1 -1
  35. package/dist/browser/index.d.ts.map +1 -1
  36. package/dist/browser/index.js +76 -250
  37. package/dist/browser/index.js.map +1 -1
  38. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.cts +3 -0
  39. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.cts.map +1 -1
  40. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.mts +3 -0
  41. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.mts.map +1 -1
  42. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.ts +3 -0
  43. package/dist/node/AsyncQueryBus/AsyncQueryBusBase.d.ts.map +1 -1
  44. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.cts +1 -1
  45. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.mts +1 -1
  46. package/dist/node/AsyncQueryBus/AsyncQueryBusHost.d.ts +1 -1
  47. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.cts +1 -1
  48. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.cts.map +1 -1
  49. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.mts +1 -1
  50. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.mts.map +1 -1
  51. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.ts +1 -1
  52. package/dist/node/AsyncQueryBus/ModuleHost/ModuleHost.d.ts.map +1 -1
  53. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.cts +1 -1
  54. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.cts.map +1 -1
  55. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.mts +1 -1
  56. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.mts.map +1 -1
  57. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts +1 -1
  58. package/dist/node/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts.map +1 -1
  59. package/dist/node/PubSubBridge.d.cts +8 -18
  60. package/dist/node/PubSubBridge.d.cts.map +1 -1
  61. package/dist/node/PubSubBridge.d.mts +8 -18
  62. package/dist/node/PubSubBridge.d.mts.map +1 -1
  63. package/dist/node/PubSubBridge.d.ts +8 -18
  64. package/dist/node/PubSubBridge.d.ts.map +1 -1
  65. package/dist/node/index.cjs +83 -256
  66. package/dist/node/index.cjs.map +1 -1
  67. package/dist/node/index.d.cts +1 -1
  68. package/dist/node/index.d.cts.map +1 -1
  69. package/dist/node/index.d.mts +1 -1
  70. package/dist/node/index.d.mts.map +1 -1
  71. package/dist/node/index.d.ts +1 -1
  72. package/dist/node/index.d.ts.map +1 -1
  73. package/dist/node/index.js +77 -250
  74. package/dist/node/index.js.map +1 -1
  75. package/package.json +26 -31
  76. package/src/AsyncQueryBus/AsyncQueryBusBase.ts +11 -0
  77. package/src/AsyncQueryBus/AsyncQueryBusHost.ts +19 -19
  78. package/src/AsyncQueryBus/ModuleHost/ModuleHost.ts +1 -1
  79. package/src/AsyncQueryBus/ModuleProxy/ModuleProxy.ts +1 -1
  80. package/src/PubSubBridge.ts +32 -89
  81. package/src/index.ts +1 -1
  82. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.cts +0 -90
  83. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.cts.map +0 -1
  84. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.mts +0 -90
  85. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.mts.map +0 -1
  86. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.ts +0 -90
  87. package/dist/browser/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +0 -1
  88. package/dist/browser/AbstractModuleProxy/index.d.cts +0 -2
  89. package/dist/browser/AbstractModuleProxy/index.d.cts.map +0 -1
  90. package/dist/browser/AbstractModuleProxy/index.d.mts +0 -2
  91. package/dist/browser/AbstractModuleProxy/index.d.mts.map +0 -1
  92. package/dist/browser/AbstractModuleProxy/index.d.ts +0 -2
  93. package/dist/browser/AbstractModuleProxy/index.d.ts.map +0 -1
  94. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.cts +0 -90
  95. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.cts.map +0 -1
  96. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.mts +0 -90
  97. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.mts.map +0 -1
  98. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.ts +0 -90
  99. package/dist/node/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +0 -1
  100. package/dist/node/AbstractModuleProxy/index.d.cts +0 -2
  101. package/dist/node/AbstractModuleProxy/index.d.cts.map +0 -1
  102. package/dist/node/AbstractModuleProxy/index.d.mts +0 -2
  103. package/dist/node/AbstractModuleProxy/index.d.mts.map +0 -1
  104. package/dist/node/AbstractModuleProxy/index.d.ts +0 -2
  105. package/dist/node/AbstractModuleProxy/index.d.ts.map +0 -1
  106. package/src/AbstractModuleProxy/AbstractModuleProxy.ts +0 -239
  107. package/src/AbstractModuleProxy/index.ts +0 -1
@@ -1,35 +1,25 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
3
  import { AbstractBridge } from '@xyo-network/abstract-bridge';
4
- import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
- import { BridgeModule } from '@xyo-network/bridge-model';
6
- import { ModuleManifestPayload } from '@xyo-network/manifest-model';
7
- import { ModuleConfig, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
8
- import { Payload } from '@xyo-network/payload-model';
4
+ import { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
5
+ import { ModuleEventData, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
9
6
  import { LRUCache } from 'lru-cache';
10
- import { AsyncQueryBusClient, AsyncQueryBusClientParams, AsyncQueryBusHost } from './AsyncQueryBus';
7
+ import { AsyncQueryBusClient, AsyncQueryBusHost } from './AsyncQueryBus';
11
8
  import { PubSubBridgeParams } from './Params';
12
9
  export declare class PubSubBridge<TParams extends PubSubBridgeParams = PubSubBridgeParams, TEventData extends ModuleEventData = ModuleEventData> extends AbstractBridge<TParams, TEventData> implements BridgeModule<TParams, TEventData> {
13
10
  static configSchemas: string[];
14
11
  protected _configRootAddress: Address;
15
12
  protected _configStateStoreArchivist: string;
16
13
  protected _configStateStoreBoundWitnessDiviner: string;
14
+ protected _exposedAddresses: Address[];
17
15
  protected _lastState?: LRUCache<string, number>;
18
16
  private _busClient?;
19
17
  private _busHost?;
20
18
  protected get moduleName(): string;
21
- protected get rootAddress(): Lowercase<string>;
22
- connect(): boolean;
23
- disconnect(): Promise<boolean>;
24
- getRootAddress(): Address;
25
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
27
- targetConfig(_address: Address): ModuleConfig;
28
- targetManifest(_address: Address, _maxDepth?: number | undefined): Promisable<ModuleManifestPayload>;
29
- targetQueries(_address: Address): string[];
30
- targetQuery(address: Address, query: QueryBoundWitness, payloads?: Payload[] | undefined): Promise<ModuleQueryResult>;
31
- targetQueryable(_address: Address, _query: QueryBoundWitness, _payloads?: Payload[], _queryConfig?: ModuleConfig): boolean;
32
- protected busClient(): AsyncQueryBusClient<AsyncQueryBusClientParams> | undefined;
19
+ exposeHandler(id: ModuleIdentifier, options?: BridgeExposeOptions | undefined): Promise<Lowercase<string>[]>;
20
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, _options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
21
+ unexposeHandler(id: ModuleIdentifier, options?: BridgeUnexposeOptions | undefined): Promise<Lowercase<string>[]>;
22
+ protected busClient(): AsyncQueryBusClient<import("./AsyncQueryBus").AsyncQueryBusClientParams> | undefined;
33
23
  protected busHost(): AsyncQueryBusHost<import("./AsyncQueryBus").AsyncQueryBusHostParams> | undefined;
34
24
  protected startHandler(): Promise<boolean>;
35
25
  protected stopHandler(_timeout?: number | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubBridge.d.ts","sourceRoot":"","sources":["../../src/PubSubBridge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAEL,YAAY,EAEZ,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,UAAU,SAAS,eAAe,GAAG,eAAe,CACrI,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC;IAE5C,OAAgB,aAAa,WAA6B;IAE1D,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAK;IAC1C,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAK;IACjD,SAAS,CAAC,oCAAoC,EAAE,MAAM,CAAK;IAC3D,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC,SAAS,KAAK,UAAU,WAEvB;IAED,SAAS,KAAK,WAAW,sBAExB;IAED,OAAO;IAKD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAM3B,cAAc,IAAI,OAAO;IAInB,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5H,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAyBxI,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY;IAI7C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAIpG,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE;IAIpC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO3H,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO;IAInI,SAAS,CAAC,SAAS;IAWnB,SAAS,CAAC,OAAO;cAWQ,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAMtC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAI7D"}
1
+ {"version":3,"file":"PubSubBridge.d.ts","sourceRoot":"","sources":["../../src/PubSubBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAmB,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACnI,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAA4D,MAAM,iBAAiB,CAAA;AAElI,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,UAAU,SAAS,eAAe,GAAG,eAAe,CACrI,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC;IAE5C,OAAgB,aAAa,WAA6B;IAE1D,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAK;IAC1C,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAK;IACjD,SAAS,CAAC,oCAAoC,EAAE,MAAM,CAAK;IAC3D,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAK;IAC3C,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC,SAAS,KAAK,UAAU,WAEvB;IAEK,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAWlH,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IAWvI,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAWtH,SAAS,CAAC,SAAS;IAWnB,SAAS,CAAC,OAAO;cAWE,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAKhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAI7D"}
@@ -1,35 +1,25 @@
1
1
  import { Address } from '@xylabs/hex';
2
2
  import { Promisable } from '@xylabs/promise';
3
3
  import { AbstractBridge } from '@xyo-network/abstract-bridge';
4
- import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
- import { BridgeModule } from '@xyo-network/bridge-model';
6
- import { ModuleManifestPayload } from '@xyo-network/manifest-model';
7
- import { ModuleConfig, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleQueryResult } from '@xyo-network/module-model';
8
- import { Payload } from '@xyo-network/payload-model';
4
+ import { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
5
+ import { ModuleEventData, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
9
6
  import { LRUCache } from 'lru-cache';
10
- import { AsyncQueryBusClient, AsyncQueryBusClientParams, AsyncQueryBusHost } from './AsyncQueryBus';
7
+ import { AsyncQueryBusClient, AsyncQueryBusHost } from './AsyncQueryBus';
11
8
  import { PubSubBridgeParams } from './Params';
12
9
  export declare class PubSubBridge<TParams extends PubSubBridgeParams = PubSubBridgeParams, TEventData extends ModuleEventData = ModuleEventData> extends AbstractBridge<TParams, TEventData> implements BridgeModule<TParams, TEventData> {
13
10
  static configSchemas: string[];
14
11
  protected _configRootAddress: Address;
15
12
  protected _configStateStoreArchivist: string;
16
13
  protected _configStateStoreBoundWitnessDiviner: string;
14
+ protected _exposedAddresses: Address[];
17
15
  protected _lastState?: LRUCache<string, number>;
18
16
  private _busClient?;
19
17
  private _busHost?;
20
18
  protected get moduleName(): string;
21
- protected get rootAddress(): Lowercase<string>;
22
- connect(): boolean;
23
- disconnect(): Promise<boolean>;
24
- getRootAddress(): Address;
25
- resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter<T>, options?: ModuleFilterOptions<T>): Promise<T[]>;
26
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
27
- targetConfig(_address: Address): ModuleConfig;
28
- targetManifest(_address: Address, _maxDepth?: number | undefined): Promisable<ModuleManifestPayload>;
29
- targetQueries(_address: Address): string[];
30
- targetQuery(address: Address, query: QueryBoundWitness, payloads?: Payload[] | undefined): Promise<ModuleQueryResult>;
31
- targetQueryable(_address: Address, _query: QueryBoundWitness, _payloads?: Payload[], _queryConfig?: ModuleConfig): boolean;
32
- protected busClient(): AsyncQueryBusClient<AsyncQueryBusClientParams> | undefined;
19
+ exposeHandler(id: ModuleIdentifier, options?: BridgeExposeOptions | undefined): Promise<Lowercase<string>[]>;
20
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, _options?: ModuleFilterOptions<T>): Promisable<T | undefined>;
21
+ unexposeHandler(id: ModuleIdentifier, options?: BridgeUnexposeOptions | undefined): Promise<Lowercase<string>[]>;
22
+ protected busClient(): AsyncQueryBusClient<import("./AsyncQueryBus").AsyncQueryBusClientParams> | undefined;
33
23
  protected busHost(): AsyncQueryBusHost<import("./AsyncQueryBus").AsyncQueryBusHostParams> | undefined;
34
24
  protected startHandler(): Promise<boolean>;
35
25
  protected stopHandler(_timeout?: number | undefined): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubBridge.d.ts","sourceRoot":"","sources":["../../src/PubSubBridge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAA+B,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAEL,YAAY,EAEZ,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,UAAU,SAAS,eAAe,GAAG,eAAe,CACrI,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC;IAE5C,OAAgB,aAAa,WAA6B;IAE1D,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAK;IAC1C,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAK;IACjD,SAAS,CAAC,oCAAoC,EAAE,MAAM,CAAK;IAC3D,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC,SAAS,KAAK,UAAU,WAEvB;IAED,SAAS,KAAK,WAAW,sBAExB;IAED,OAAO;IAKD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAM3B,cAAc,IAAI,OAAO;IAInB,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5H,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAyBxI,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY;IAI7C,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,qBAAqB,CAAC;IAIpG,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE;IAIpC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAO3H,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO;IAInI,SAAS,CAAC,SAAS;IAWnB,SAAS,CAAC,OAAO;cAWQ,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAMtC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAI7D"}
1
+ {"version":3,"file":"PubSubBridge.d.ts","sourceRoot":"","sources":["../../src/PubSubBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAmB,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACnI,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAA4D,MAAM,iBAAiB,CAAA;AAElI,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAI7C,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAAE,UAAU,SAAS,eAAe,GAAG,eAAe,CACrI,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC;IAE5C,OAAgB,aAAa,WAA6B;IAE1D,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAK;IAC1C,SAAS,CAAC,0BAA0B,EAAE,MAAM,CAAK;IACjD,SAAS,CAAC,oCAAoC,EAAE,MAAM,CAAK;IAC3D,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAK;IAC3C,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE/C,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAmB;IAEpC,SAAS,KAAK,UAAU,WAEvB;IAEK,aAAa,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAWlH,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC;IAWvI,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAWtH,SAAS,CAAC,SAAS;IAWnB,SAAS,CAAC,OAAO;cAWE,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;cAKhC,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAI7D"}
@@ -26,7 +26,7 @@ var __publicField = (obj, key, value) => {
26
26
  // src/index.ts
27
27
  var src_exports = {};
28
28
  __export(src_exports, {
29
- AbstractModuleProxy: () => AbstractModuleProxy,
29
+ AbstractModuleHost: () => AbstractModuleHost,
30
30
  AsyncQueryBusClient: () => AsyncQueryBusClient,
31
31
  AsyncQueryBusHost: () => AsyncQueryBusHost,
32
32
  AsyncQueryBusModuleHost: () => AsyncQueryBusModuleHost,
@@ -38,163 +38,12 @@ __export(src_exports, {
38
38
  });
39
39
  module.exports = __toCommonJS(src_exports);
40
40
 
41
- // src/AbstractModuleProxy/AbstractModuleProxy.ts
42
- var import_assert = require("@xylabs/assert");
43
- var import_lodash = require("@xylabs/lodash");
41
+ // src/AbstractModuleHost/AbstractModuleHost.ts
44
42
  var import_object = require("@xylabs/object");
45
- var import_promise = require("@xylabs/promise");
46
- var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
47
- var import_boundwitness_wrapper = require("@xyo-network/boundwitness-wrapper");
48
- var import_module_model = require("@xyo-network/module-model");
49
- var import_payload_model = require("@xyo-network/payload-model");
50
- var _AbstractModuleProxy = class _AbstractModuleProxy extends import_object.Base {
51
- eventData = {};
52
- proxyParams;
53
- constructor(params) {
54
- super({
55
- config: {
56
- schema: import_module_model.ModuleConfigSchema
57
- }
58
- });
59
- this.proxyParams = params;
60
- }
61
- get account() {
62
- return this.proxyParams.account;
63
- }
64
- get address() {
65
- return this.proxyParams.moduleAddress;
66
- }
67
- get config() {
68
- return this.params.config;
69
- }
70
- get downResolver() {
71
- throw new Error("Unsupported");
72
- }
73
- get id() {
74
- return this.proxyParams.moduleAddress;
75
- }
76
- get queries() {
77
- return this.proxyParams.queries;
78
- }
79
- get upResolver() {
80
- throw new Error("Unsupported");
81
- }
82
- static hasRequiredQueries(module2) {
83
- return this.missingRequiredQueries(module2).length === 0;
84
- }
85
- static missingRequiredQueries(module2) {
86
- const moduleQueries = module2.queries;
87
- return (0, import_lodash.compact)(this.requiredQueries.map((query) => {
88
- return moduleQueries.includes(query) ? null : query;
89
- }));
90
- }
91
- async addressPreviousHash() {
92
- const queryPayload = {
93
- schema: import_module_model.ModuleAddressQuerySchema
94
- };
95
- return (0, import_assert.assertEx)((await this.sendQuery(queryPayload)).find((payload) => payload.schema === import_module_model.AddressPreviousHashSchema), "Result did not include correct payload");
96
- }
97
- clearListeners(_eventNames) {
98
- throw new Error("Unsupported");
99
- }
100
- //TODO: Make ModuleDescription into real payload
101
- async describe() {
102
- const queryPayload = {
103
- schema: import_module_model.ModuleDescribeQuerySchema
104
- };
105
- return (await this.sendQuery(queryPayload))[0];
106
- }
107
- async discover() {
108
- const queryPayload = {
109
- schema: import_module_model.ModuleDiscoverQuerySchema
110
- };
111
- return await this.sendQuery(queryPayload);
112
- }
113
- emit(_eventName, _eventArgs) {
114
- throw new Error("Unsupported");
115
- }
116
- emitSerial(_eventName, _eventArgs) {
117
- throw new Error("Unsupported");
118
- }
119
- listenerCount(_eventNames) {
120
- throw new Error("Unsupported");
121
- }
122
- async manifest(maxDepth) {
123
- const queryPayload = {
124
- schema: import_module_model.ModuleManifestQuerySchema,
125
- ...maxDepth === void 0 ? {} : {
126
- maxDepth
127
- }
128
- };
129
- return (await this.sendQuery(queryPayload))[0];
130
- }
131
- async moduleAddress() {
132
- const queryPayload = {
133
- schema: import_module_model.ModuleAddressQuerySchema
134
- };
135
- return await this.sendQuery(queryPayload);
136
- }
137
- off(_eventNames, _listener) {
138
- throw new Error("Unsupported");
139
- }
140
- offAny(_listener) {
141
- throw new Error("Unsupported");
142
- }
143
- on(_eventNames, _listener) {
144
- throw new Error("Unsupported");
145
- }
146
- onAny(_listener) {
147
- throw new Error("Unsupported");
148
- }
149
- once(_eventName, _listener) {
150
- throw new Error("Unsupported");
151
- }
152
- async previousHash() {
153
- const queryPayload = {
154
- schema: import_module_model.ModuleAddressQuerySchema
155
- };
156
- return (await this.sendQuery(queryPayload)).pop().previousHash;
157
- }
158
- queryable(_query, _payloads) {
159
- return true;
160
- }
161
- resolve(nameOrAddressOrFilter, _options) {
162
- return typeof nameOrAddressOrFilter === "string" ? void 0 : [];
163
- }
164
- state() {
165
- return [];
166
- }
167
- bindQuery(query, payloads, account = this.account) {
168
- const promise = new import_promise.PromiseEx(async (resolve) => {
169
- const result = await this.bindQueryInternal(query, payloads, account);
170
- resolve == null ? void 0 : resolve(result);
171
- return result;
172
- }, account);
173
- return promise;
174
- }
175
- async bindQueryInternal(query, payloads, account = this.account) {
176
- const builder = await new import_boundwitness_builder.QueryBoundWitnessBuilder().payloads(payloads).query(query);
177
- const result = await (account ? builder.witness(account) : builder).build();
178
- return result;
179
- }
180
- async filterErrors(result) {
181
- const wrapper = await import_boundwitness_wrapper.BoundWitnessWrapper.wrap(result[0], result[1]);
182
- return wrapper.payloadsBySchema(import_payload_model.ModuleErrorSchema);
183
- }
184
- async sendQuery(queryPayload, payloads) {
185
- const query = await this.bindQuery(queryPayload, payloads);
186
- const [, resultPayloads, errors] = await this.query(query[0], query[1]);
187
- if (errors && errors.length > 0) {
188
- throw errors[0];
189
- }
190
- return resultPayloads;
191
- }
43
+ var _AbstractModuleHost = class _AbstractModuleHost extends import_object.Base {
192
44
  };
193
- __name(_AbstractModuleProxy, "AbstractModuleProxy");
194
- __publicField(_AbstractModuleProxy, "requiredQueries", [
195
- import_module_model.ModuleDiscoverQuerySchema
196
- ]);
197
- var AbstractModuleProxy = _AbstractModuleProxy;
45
+ __name(_AbstractModuleHost, "AbstractModuleHost");
46
+ var AbstractModuleHost = _AbstractModuleHost;
198
47
 
199
48
  // src/AsyncQueryBus/AsyncQueryBusClient.ts
200
49
  var import_delay = require("@xylabs/delay");
@@ -206,12 +55,13 @@ var import_payload_builder = require("@xyo-network/payload-builder");
206
55
  var import_lru_cache2 = require("lru-cache");
207
56
 
208
57
  // src/AsyncQueryBus/AsyncQueryBusBase.ts
209
- var import_assert2 = require("@xylabs/assert");
58
+ var import_assert = require("@xylabs/assert");
210
59
  var import_object2 = require("@xylabs/object");
211
60
  var import_archivist_model = require("@xyo-network/archivist-model");
212
61
  var import_diviner_model = require("@xyo-network/diviner-model");
213
62
  var import_lru_cache = require("lru-cache");
214
63
  var _AsyncQueryBusBase = class _AsyncQueryBusBase extends import_object2.Base {
64
+ _exposedAddresses = /* @__PURE__ */ new Set();
215
65
  _lastState;
216
66
  _targetConfigs = {};
217
67
  _targetQueries = {};
@@ -239,34 +89,42 @@ var _AsyncQueryBusBase = class _AsyncQueryBusBase extends import_object2.Base {
239
89
  this._lastState = this._lastState ?? new import_lru_cache.LRUCache(requiredConfig);
240
90
  return this._lastState;
241
91
  }
92
+ expose(address, validate = true) {
93
+ (0, import_assert.assertEx)(!validate || !this._exposedAddresses.has(address), () => `Address already exposed [${address}]`);
94
+ this._exposedAddresses.add(address);
95
+ }
242
96
  async queriesArchivist() {
243
97
  var _a, _b, _c;
244
- return (0, import_assert2.assertEx)((0, import_archivist_model.asArchivistInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.queries) == null ? void 0 : _c.archivist)), () => {
98
+ return (0, import_assert.assertEx)((0, import_archivist_model.asArchivistInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.queries) == null ? void 0 : _c.archivist)), () => {
245
99
  var _a2, _b2, _c2;
246
100
  return `Unable to resolve queriesArchivist [${(_c2 = (_b2 = (_a2 = this.config) == null ? void 0 : _a2.intersect) == null ? void 0 : _b2.queries) == null ? void 0 : _c2.archivist}]`;
247
101
  });
248
102
  }
249
103
  async queriesDiviner() {
250
104
  var _a, _b, _c;
251
- return (0, import_assert2.assertEx)((0, import_diviner_model.asDivinerInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.queries) == null ? void 0 : _c.boundWitnessDiviner)), () => {
105
+ return (0, import_assert.assertEx)((0, import_diviner_model.asDivinerInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.queries) == null ? void 0 : _c.boundWitnessDiviner)), () => {
252
106
  var _a2, _b2, _c2;
253
107
  return `Unable to resolve queriesDiviner [${(_c2 = (_b2 = (_a2 = this.config) == null ? void 0 : _a2.intersect) == null ? void 0 : _b2.queries) == null ? void 0 : _c2.boundWitnessDiviner}]`;
254
108
  });
255
109
  }
256
110
  async responsesArchivist() {
257
111
  var _a, _b, _c;
258
- return (0, import_assert2.assertEx)((0, import_archivist_model.asArchivistInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.responses) == null ? void 0 : _c.archivist)), () => {
112
+ return (0, import_assert.assertEx)((0, import_archivist_model.asArchivistInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.responses) == null ? void 0 : _c.archivist)), () => {
259
113
  var _a2, _b2, _c2;
260
114
  return `Unable to resolve responsesArchivist [${(_c2 = (_b2 = (_a2 = this.config) == null ? void 0 : _a2.intersect) == null ? void 0 : _b2.responses) == null ? void 0 : _c2.archivist}]`;
261
115
  });
262
116
  }
263
117
  async responsesDiviner() {
264
118
  var _a, _b, _c;
265
- return (0, import_assert2.assertEx)((0, import_diviner_model.asDivinerInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.responses) == null ? void 0 : _c.boundWitnessDiviner)), () => {
119
+ return (0, import_assert.assertEx)((0, import_diviner_model.asDivinerInstance)(await this.resolver.resolve((_c = (_b = (_a = this.config) == null ? void 0 : _a.intersect) == null ? void 0 : _b.responses) == null ? void 0 : _c.boundWitnessDiviner)), () => {
266
120
  var _a2, _b2, _c2;
267
121
  return `Unable to resolve responsesDiviner [${(_c2 = (_b2 = (_a2 = this.config) == null ? void 0 : _a2.intersect) == null ? void 0 : _b2.responses) == null ? void 0 : _c2.boundWitnessDiviner}]`;
268
122
  });
269
123
  }
124
+ unexpose(address, validate = true) {
125
+ (0, import_assert.assertEx)(!validate || this._exposedAddresses.has(address), () => `Address not exposed [${address}]`);
126
+ this._exposedAddresses.delete(address);
127
+ }
270
128
  /**
271
129
  * Commit the internal state of the process. This is similar
272
130
  * to a transaction completion in a database and should only be called
@@ -492,11 +350,11 @@ var AsyncQueryBusClient = _AsyncQueryBusClient;
492
350
 
493
351
  // src/AsyncQueryBus/AsyncQueryBusHost.ts
494
352
  var import_array = require("@xylabs/array");
495
- var import_assert3 = require("@xylabs/assert");
353
+ var import_assert2 = require("@xylabs/assert");
496
354
  var import_timer2 = require("@xylabs/timer");
497
355
  var import_boundwitness_model2 = require("@xyo-network/boundwitness-model");
498
356
  var import_diviner_boundwitness_model2 = require("@xyo-network/diviner-boundwitness-model");
499
- var import_module_model2 = require("@xyo-network/module-model");
357
+ var import_module_model = require("@xyo-network/module-model");
500
358
  var import_payload_builder2 = require("@xyo-network/payload-builder");
501
359
  var _AsyncQueryBusHost = class _AsyncQueryBusHost extends AsyncQueryBusBase {
502
360
  _pollId;
@@ -512,7 +370,7 @@ var _AsyncQueryBusHost = class _AsyncQueryBusHost extends AsyncQueryBusBase {
512
370
  }
513
371
  async listeningModules() {
514
372
  var _a;
515
- const mods = ((_a = this.config) == null ? void 0 : _a.listeningModules) ? await Promise.all(this.config.listeningModules.map(async (listeningModule) => (0, import_assert3.assertEx)((0, import_module_model2.asModuleInstance)(await this.resolver.resolve(listeningModule)), () => `Unable to resolve listeningModule [${listeningModule}]`))) : await this.resolver.resolve(void 0, {
373
+ const mods = ((_a = this.config) == null ? void 0 : _a.listeningModules) ? await Promise.all(this.config.listeningModules.map(async (listeningModule) => (0, import_assert2.assertEx)((0, import_module_model.asModuleInstance)(await this.resolver.resolve(listeningModule)), () => `Unable to resolve listeningModule [${listeningModule}]`))) : await this.resolver.resolve(void 0, {
516
374
  direction: "down"
517
375
  });
518
376
  return mods;
@@ -536,38 +394,39 @@ var _AsyncQueryBusHost = class _AsyncQueryBusHost extends AsyncQueryBusBase {
536
394
  const localModuleName = localModule.config.name ?? localModule.address;
537
395
  const queryArchivist = await this.queriesArchivist();
538
396
  const responseArchivist = await this.responsesArchivist();
539
- const commandDestination = (_a = query.$meta) == null ? void 0 : _a.destination;
540
- if (commandDestination && (commandDestination == null ? void 0 : commandDestination.includes(localModule.address))) {
397
+ const queryDestination = (_a = query.$meta) == null ? void 0 : _a.destination;
398
+ if (queryDestination && (queryDestination == null ? void 0 : queryDestination.includes(localModule.address))) {
541
399
  const queryIndex = query.payload_hashes.indexOf(query.query);
542
400
  if (queryIndex !== -1) {
543
401
  const querySchema = query.payload_schemas[queryIndex];
544
402
  if (localModule.queries.includes(querySchema)) {
545
- const commandPayloads = await queryArchivist.get(query.payload_hashes);
546
- const commandPayloadsDict = await import_payload_builder2.PayloadBuilder.toAllHashMap(commandPayloads);
547
- const commandHash = (await import_payload_builder2.PayloadBuilder.build(query)).$hash;
548
- if (!(0, import_array.containsAll)(Object.keys(commandPayloadsDict), query.payload_hashes)) {
549
- (_b = this.logger) == null ? void 0 : _b.error(`Error processing command ${commandHash} for module ${localModuleName}, missing payloads`);
403
+ const queryPayloads = await queryArchivist.get(query.payload_hashes);
404
+ const queryPayloadsDict = await import_payload_builder2.PayloadBuilder.toAllHashMap(queryPayloads);
405
+ const queryHash = (await import_payload_builder2.PayloadBuilder.build(query)).$hash;
406
+ if (!(0, import_array.containsAll)(Object.keys(queryPayloadsDict), query.payload_hashes)) {
407
+ (_b = this.logger) == null ? void 0 : _b.error(`Error processing command ${queryHash} for module ${localModuleName}, missing payloads`);
550
408
  return;
551
409
  }
552
410
  try {
553
- const commandSchema = commandPayloadsDict[query.query].schema;
554
- (_c = this.logger) == null ? void 0 : _c.debug(`Issuing command ${commandSchema} (${commandHash}) addressed to module: ${localModuleName}`);
555
- const response = await localModule.query(query, commandPayloads);
411
+ const querySchema2 = queryPayloadsDict[query.query].schema;
412
+ (_c = this.logger) == null ? void 0 : _c.debug(`Issuing query ${querySchema2} (${queryHash}) addressed to module: ${localModuleName}`);
413
+ const response = await localModule.query(query, queryPayloads);
556
414
  const [bw, payloads, errors] = response;
557
- (_d = this.logger) == null ? void 0 : _d.debug(`Replying to command ${commandHash} addressed to module: ${localModuleName}`);
415
+ (_d = this.logger) == null ? void 0 : _d.debug(`Replying to query ${queryHash} addressed to module: ${localModuleName}`);
558
416
  const insertResult = await responseArchivist.insert([
559
417
  bw,
560
418
  ...payloads,
561
419
  ...errors
562
420
  ]);
563
421
  if (insertResult.length === 0) {
564
- (_e = this.logger) == null ? void 0 : _e.error(`Error replying to command ${commandHash} addressed to module: ${localModuleName}`);
422
+ (_e = this.logger) == null ? void 0 : _e.error(`Error replying to query ${queryHash} addressed to module: ${localModuleName}`);
565
423
  }
566
424
  if (query == null ? void 0 : query.timestamp) {
567
425
  await this.commitState(localModule.address, query.timestamp);
568
426
  }
569
427
  } catch (error) {
570
- (_f = this.logger) == null ? void 0 : _f.error(`Error processing command ${commandHash} for module ${localModuleName}: ${error}`);
428
+ (_f = this.logger) == null ? void 0 : _f.error(`Error processing query ${queryHash} for module ${localModuleName}: ${error}`);
429
+ console.error(`Error processing query ${queryHash} for module ${localModuleName}: ${error}`);
571
430
  }
572
431
  }
573
432
  }
@@ -619,26 +478,26 @@ var _AsyncQueryBusHost = class _AsyncQueryBusHost extends AsyncQueryBusBase {
619
478
  }, this.pollFrequencyConfig);
620
479
  }
621
480
  /**
622
- * Background process for checking for inbound commands
481
+ * Background process for checking for inbound queries
623
482
  */
624
483
  processIncomingQueries = async () => {
625
484
  var _a;
626
- (_a = this.logger) == null ? void 0 : _a.debug("Checking for inbound commands");
485
+ (_a = this.logger) == null ? void 0 : _a.debug("Checking for inbound queries");
627
486
  const localModules = await this.listeningModules();
628
487
  await Promise.allSettled(localModules.map(async (localModule) => {
629
488
  var _a2, _b, _c;
630
489
  try {
631
490
  const localModuleName = localModule.config.name ?? localModule.address;
632
- (_a2 = this.logger) == null ? void 0 : _a2.debug(`Checking for inbound commands to ${localModuleName}`);
491
+ (_a2 = this.logger) == null ? void 0 : _a2.debug(`Checking for inbound queries to ${localModuleName}`);
633
492
  const queries = await this.findQueriesToAddress(localModule.address);
634
493
  if (queries.length === 0)
635
494
  return;
636
- (_b = this.logger) == null ? void 0 : _b.debug(`Found commands addressed to local module: ${localModuleName}`);
495
+ (_b = this.logger) == null ? void 0 : _b.debug(`Found queries addressed to local module: ${localModuleName}`);
637
496
  for (const query of queries) {
638
497
  await this.callLocalModule(localModule, query);
639
498
  }
640
499
  } catch (error) {
641
- (_c = this.logger) == null ? void 0 : _c.error(`Error processing commands for address ${localModule.address}: ${error}`);
500
+ (_c = this.logger) == null ? void 0 : _c.error(`Error processing queries for address ${localModule.address}: ${error}`);
642
501
  }
643
502
  }));
644
503
  };
@@ -646,13 +505,6 @@ var _AsyncQueryBusHost = class _AsyncQueryBusHost extends AsyncQueryBusBase {
646
505
  __name(_AsyncQueryBusHost, "AsyncQueryBusHost");
647
506
  var AsyncQueryBusHost = _AsyncQueryBusHost;
648
507
 
649
- // src/AbstractModuleHost/AbstractModuleHost.ts
650
- var import_object3 = require("@xylabs/object");
651
- var _AbstractModuleHost = class _AbstractModuleHost extends import_object3.Base {
652
- };
653
- __name(_AbstractModuleHost, "AbstractModuleHost");
654
- var AbstractModuleHost = _AbstractModuleHost;
655
-
656
508
  // src/AsyncQueryBus/ModuleHost/ModuleHost.ts
657
509
  var _AsyncQueryBusModuleHost = class _AsyncQueryBusModuleHost extends AbstractModuleHost {
658
510
  _busHost;
@@ -683,7 +535,8 @@ __name(_AsyncQueryBusModuleHost, "AsyncQueryBusModuleHost");
683
535
  var AsyncQueryBusModuleHost = _AsyncQueryBusModuleHost;
684
536
 
685
537
  // src/AsyncQueryBus/ModuleProxy/ModuleProxy.ts
686
- var _AsyncQueryBusModuleProxy = class _AsyncQueryBusModuleProxy extends AbstractModuleProxy {
538
+ var import_abstract_bridge = require("@xyo-network/abstract-bridge");
539
+ var _AsyncQueryBusModuleProxy = class _AsyncQueryBusModuleProxy extends import_abstract_bridge.AbstractModuleProxy {
687
540
  async query(query, payloads) {
688
541
  return await this.proxyParams.busClient.send(this.address, query, payloads);
689
542
  }
@@ -698,12 +551,10 @@ var PubSubBridgeSchema = "network.xyo.bridge.pubsub";
698
551
  var PubSubBridgeConfigSchema = `${PubSubBridgeSchema}.config`;
699
552
 
700
553
  // src/PubSubBridge.ts
701
- var import_assert4 = require("@xylabs/assert");
702
- var import_hex = require("@xylabs/hex");
703
- var import_abstract_bridge = require("@xyo-network/abstract-bridge");
554
+ var import_assert3 = require("@xylabs/assert");
555
+ var import_abstract_bridge2 = require("@xyo-network/abstract-bridge");
704
556
  var import_account = require("@xyo-network/account");
705
- var import_manifest_model = require("@xyo-network/manifest-model");
706
- var import_module_model3 = require("@xyo-network/module-model");
557
+ var import_module_model2 = require("@xyo-network/module-model");
707
558
  function _ts_decorate(decorators, target, key, desc) {
708
559
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
709
560
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -716,78 +567,55 @@ function _ts_decorate(decorators, target, key, desc) {
716
567
  }
717
568
  __name(_ts_decorate, "_ts_decorate");
718
569
  var moduleName = "PubSubBridge";
719
- var _PubSubBridge = class _PubSubBridge extends import_abstract_bridge.AbstractBridge {
570
+ var _PubSubBridge = class _PubSubBridge extends import_abstract_bridge2.AbstractBridge {
720
571
  _configRootAddress = "";
721
572
  _configStateStoreArchivist = "";
722
573
  _configStateStoreBoundWitnessDiviner = "";
574
+ _exposedAddresses = [];
723
575
  _lastState;
724
576
  _busClient;
725
577
  _busHost;
726
578
  get moduleName() {
727
579
  return `${this.config.name ?? moduleName}`;
728
580
  }
729
- get rootAddress() {
730
- return this._configRootAddress;
731
- }
732
- connect() {
733
- this.connected = true;
734
- return this.connected;
735
- }
736
- async disconnect() {
737
- await Promise.resolve();
738
- this.connected = false;
739
- return true;
740
- }
741
- getRootAddress() {
742
- return this.rootAddress;
743
- }
744
- async resolve(idOrFilter, _options) {
745
- if (idOrFilter === void 0) {
746
- return [];
747
- }
748
- if (typeof idOrFilter === "string") {
749
- const upResolve = await this.upResolver.resolve(idOrFilter);
750
- if (upResolve)
751
- return upResolve;
752
- (0, import_assert4.assertEx)(!(0, import_hex.isAddress)(idOrFilter), "Name resolutions not supported");
753
- const params = {
754
- account: import_account.Account.randomSync(),
755
- busClient: (0, import_assert4.assertEx)(this.busClient(), "Bus client not initialized"),
756
- moduleAddress: idOrFilter,
757
- queries: []
758
- };
759
- return await Promise.resolve(new AsyncQueryBusModuleProxy(params));
760
- } else {
761
- throw new TypeError("Filter not Supported");
581
+ async exposeHandler(id, options) {
582
+ const filterOptions = {
583
+ direction: options == null ? void 0 : options.direction
584
+ };
585
+ const module2 = await super.resolve(id, filterOptions);
586
+ if (module2) {
587
+ const host = (0, import_assert3.assertEx)(this.busHost(), "Not configured as a host");
588
+ host.expose(module2.address);
589
+ return [
590
+ module2.address
591
+ ];
762
592
  }
593
+ return [];
763
594
  }
764
- targetConfig(_address) {
765
- return {
766
- schema: import_module_model3.ModuleConfigSchema
595
+ resolveHandler(id, _options) {
596
+ const account = import_account.Account.randomSync();
597
+ const params = {
598
+ account,
599
+ bridge: this,
600
+ busClient: (0, import_assert3.assertEx)(this.busClient(), "Bus client not initialized"),
601
+ moduleAddress: id
767
602
  };
603
+ return new AsyncQueryBusModuleProxy(params);
768
604
  }
769
- targetManifest(_address, _maxDepth) {
770
- return {
771
- config: {
772
- name: "",
773
- schema: import_module_model3.ModuleConfigSchema
774
- },
775
- schema: import_manifest_model.ModuleManifestPayloadSchema
605
+ async unexposeHandler(id, options) {
606
+ const filterOptions = {
607
+ direction: options == null ? void 0 : options.direction
776
608
  };
777
- }
778
- targetQueries(_address) {
609
+ const module2 = await super.resolve(id, filterOptions);
610
+ if (module2) {
611
+ const host = (0, import_assert3.assertEx)(this.busHost(), "Not configured as a host");
612
+ host.unexpose(module2.address);
613
+ return [
614
+ module2.address
615
+ ];
616
+ }
779
617
  return [];
780
618
  }
781
- async targetQuery(address, query, payloads) {
782
- if (!this.connected)
783
- throw new Error("Not connected");
784
- await this.started("throw");
785
- const bus = (0, import_assert4.assertEx)(this.busClient(), "Client not configured");
786
- return bus == null ? void 0 : bus.send(address, query, payloads);
787
- }
788
- targetQueryable(_address, _query, _payloads, _queryConfig) {
789
- return true;
790
- }
791
619
  busClient() {
792
620
  if (!this._busClient && this.config.client) {
793
621
  this._busClient = new AsyncQueryBusClient({
@@ -808,11 +636,10 @@ var _PubSubBridge = class _PubSubBridge extends import_abstract_bridge.AbstractB
808
636
  }
809
637
  return this._busHost;
810
638
  }
811
- async startHandler() {
639
+ startHandler() {
812
640
  var _a;
813
- await Promise.resolve(this.connect());
814
641
  (_a = this.busHost()) == null ? void 0 : _a.start();
815
- return true;
642
+ return Promise.resolve(true);
816
643
  }
817
644
  stopHandler(_timeout) {
818
645
  var _a;
@@ -826,11 +653,11 @@ __publicField(_PubSubBridge, "configSchemas", [
826
653
  ]);
827
654
  var PubSubBridge = _PubSubBridge;
828
655
  PubSubBridge = _ts_decorate([
829
- (0, import_module_model3.creatableModule)()
656
+ (0, import_module_model2.creatableModule)()
830
657
  ], PubSubBridge);
831
658
  // Annotate the CommonJS export names for ESM import in node:
832
659
  0 && (module.exports = {
833
- AbstractModuleProxy,
660
+ AbstractModuleHost,
834
661
  AsyncQueryBusClient,
835
662
  AsyncQueryBusHost,
836
663
  AsyncQueryBusModuleHost,