@xyo-network/bridge-pub-sub 4.1.1 → 4.1.3

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.
@@ -21,15 +21,15 @@ export declare class AsyncQueryBusBase<TParams extends AsyncQueryBusParams = Asy
21
21
  constructor(params: TParams);
22
22
  get config(): TParams['config'];
23
23
  get pollFrequency(): number;
24
- get rootModule(): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>;
24
+ get rootModule(): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>;
25
25
  /**
26
26
  * A cache of the last offset of the Diviner process per address
27
27
  */
28
28
  protected get lastState(): LRUCache<Address, Hex>;
29
- queriesArchivist(): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig<void, void>>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
30
- queriesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, import("@xyo-network/boundwitness-model").UnsignedQueryBoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData<ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>, import("@xyo-network/payload-model").Payload, import("@xyo-network/payload-model").Payload>>>;
31
- responsesArchivist(): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig<void, void>>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
32
- responsesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData<ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>, import("@xyo-network/payload-model").Payload, import("@xyo-network/payload-model").Payload>>>;
29
+ queriesArchivist(): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
30
+ queriesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, import("@xyo-network/boundwitness-model").UnsignedQueryBoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData>>;
31
+ responsesArchivist(): Promise<ArchivistInstance<import("@xyo-network/archivist-model").ArchivistParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>>, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
32
+ responsesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData>>;
33
33
  /**
34
34
  * Commit the internal state of the process. This is similar
35
35
  * to a transaction completion in a database and should only be called
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncQueryBusBase.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/AsyncQueryBusBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,iCAAiC,CAAA;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAA;AACzH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EACV,YAAY,EAAoB,cAAc,EAC/C,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAM3D,qBAAa,iBAAiB,CAAC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,IAAI,CAAC,OAAO,CAAC;IAC7G,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7C,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAK;IAC5D,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAK;IAExD,OAAO,CAAC,mBAAmB,CAAuC;IAClE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAgG;IACxH,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAA2F;gBAEzG,MAAM,EAAE,OAAO;IAI3B,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAE9B;IAED,IAAI,aAAa,IAAI,MAAM,CAM1B;IAED,IAAI,UAAU,mNAEb;IAED;;OAEG;IACH,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAIhD;IAEK,gBAAgB;IAYhB,cAAc;IAYd,kBAAkB;IAYlB,gBAAgB;IAYtB;;;;;;;OAOG;cACa,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;IAQ5D;;;OAGG;cACa,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YAY/C,OAAO;CAiBtB"}
1
+ {"version":3,"file":"AsyncQueryBusBase.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/AsyncQueryBusBase.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,iCAAiC,CAAA;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAA;AACzH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EACV,YAAY,EAAoB,cAAc,EAC/C,MAAM,2BAA2B,CAAA;AAIlC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAM3D,qBAAa,iBAAiB,CAAC,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,IAAI,CAAC,OAAO,CAAC;IAC7G,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC7C,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAK;IAC5D,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAK;IAExD,OAAO,CAAC,mBAAmB,CAAuC;IAClE,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAgG;IACxH,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,mBAAmB,CAAC,CAAmB;IAC/C,OAAO,CAAC,iBAAiB,CAAC,CAA2F;gBAEzG,MAAM,EAAE,OAAO;IAI3B,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,CAE9B;IAED,IAAI,aAAa,IAAI,MAAM,CAM1B;IAED,IAAI,UAAU,qMAEb;IAED;;OAEG;IACH,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAIhD;IAEK,gBAAgB;IAYhB,cAAc;IAYd,kBAAkB;IAYlB,gBAAgB;IAYtB;;;;;;;OAOG;cACa,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;IAQ5D;;;OAGG;cACa,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YAY/C,OAAO;CAiBtB"}
@@ -20,7 +20,7 @@ export declare class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams =
20
20
  get idleThreshold(): number;
21
21
  get perAddressBatchQueryLimit(): number;
22
22
  get started(): boolean;
23
- expose(mod: ModuleInstance, options?: ExposeOptions): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>> | undefined;
23
+ expose(mod: ModuleInstance, options?: ExposeOptions): ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>> | undefined;
24
24
  listeningModules(): Promise<ModuleInstance[]>;
25
25
  start(): void;
26
26
  stop(): void;
@@ -12,7 +12,7 @@ export interface AsyncQueryBusModuleProxyParams extends ModuleProxyParams {
12
12
  export declare class AsyncQueryBusModuleProxy<TWrappedModule extends ModuleInstance = ModuleInstance> extends AbstractModuleProxy<TWrappedModule, AsyncQueryBusModuleProxyParams & TWrappedModule['params']> {
13
13
  get id(): ModuleIdentifier;
14
14
  get modName(): ModuleName | undefined;
15
- static createHandler<T extends CreatableInstance>(inInstance: T): Promise<T & AbstractModule<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>>;
15
+ static createHandler<T extends CreatableInstance>(inInstance: T): Promise<T & AbstractModule<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>>;
16
16
  proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
17
17
  publicChildren(): Promise<ModuleInstance[]>;
18
18
  /** @deprecated do not pass undefined. If trying to get all, pass '*' */
@@ -8,7 +8,7 @@ export interface PubSubBridgeModuleResolverParams extends BridgeModuleResolverPa
8
8
  busClient: AsyncQueryBusClient;
9
9
  }
10
10
  export declare class PubSubBridgeModuleResolver extends AbstractBridgeModuleResolver<PubSubBridgeModuleResolverParams> {
11
- protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig<object, void>>>, import("@xyo-network/module-model").ModuleEventData<object>>, unknown>;
11
+ protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<import("@xyo-network/module-model").ModuleParams<import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>, unknown>;
12
12
  protected _resolvedCacheMutex: Mutex;
13
13
  resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubBridgeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/PubSubBridgeModuleResolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAE,4BAA4B,EAAsB,MAAM,8BAA8B,CAAA;AAG/F,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAMlC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAkC,MAAM,0BAA0B,CAAA;AAGnG,MAAM,WAAW,gCAAiC,SAAQ,0BAA0B;IAClF,SAAS,EAAE,mBAAmB,CAAA;CAC/B;AAED,qBAAa,0BAA2B,SAAQ,4BAA4B,CAAC,gCAAgC,CAAC;IAC5G,SAAS,CAAC,cAAc,uPAAuD;IAC/E,SAAS,CAAC,mBAAmB,QAAc;IAE5B,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CA6C/I"}
1
+ {"version":3,"file":"PubSubBridgeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/PubSubBridgeModuleResolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAE,4BAA4B,EAAsB,MAAM,8BAA8B,CAAA;AAG/F,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAMlC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAkC,MAAM,0BAA0B,CAAA;AAGnG,MAAM,WAAW,gCAAiC,SAAQ,0BAA0B;IAClF,SAAS,EAAE,mBAAmB,CAAA;CAC/B;AAED,qBAAa,0BAA2B,SAAQ,4BAA4B,CAAC,gCAAgC,CAAC;IAC5G,SAAS,CAAC,cAAc,yOAAuD;IAC/E,SAAS,CAAC,mBAAmB,QAAc;IAE5B,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CA6C/I"}
@@ -1,284 +1,8 @@
1
- import { BaseParams, Base } from '@xylabs/base';
2
- import { Promisable } from '@xylabs/promise';
3
- import * as _xyo_network_module_model from '@xyo-network/module-model';
4
- import { ModuleInstance, CacheConfig, ModuleConfig, ModuleQueryResult, ModuleIdentifier, ModuleName, ModuleFilterOptions, AnyConfigSchema } from '@xyo-network/module-model';
5
- import { Address, Hex } from '@xylabs/hex';
6
- import * as _xyo_network_boundwitness_model from '@xyo-network/boundwitness-model';
7
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
8
- import * as _xyo_network_payload_model from '@xyo-network/payload-model';
9
- import { Payload, Schema, WithStorageMeta } from '@xyo-network/payload-model';
10
- import { LRUCache } from 'lru-cache';
11
- import * as _xyo_network_diviner_model from '@xyo-network/diviner-model';
12
- import { SearchableStorage, DivinerInstance } from '@xyo-network/diviner-model';
13
- import * as _xyo_network_archivist_model from '@xyo-network/archivist-model';
14
- import { ArchivistInstance } from '@xyo-network/archivist-model';
15
- import { BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model';
16
- import { BridgeClientConfig, QueryFulfillFinishedEventArgs, QueryFulfillStartedEventArgs, BridgeConfig, BridgeParams, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
17
- import { CreatableInstance } from '@xylabs/creatable';
18
- import { ModuleProxyParams, AbstractModuleProxy, AbstractBridgeModuleResolver, BridgeModuleResolverParams, AbstractBridge } from '@xyo-network/bridge-abstract';
19
- import { AbstractModule } from '@xyo-network/module-abstract';
20
- import { EmptyObject } from '@xylabs/object';
21
- import { Mutex } from 'async-mutex';
22
-
23
- type ModuleHostParams<THostedInstance extends ModuleInstance = ModuleInstance> = BaseParams<{
24
- mod: THostedInstance;
25
- }>;
26
- declare abstract class AbstractModuleHost<TParams extends ModuleHostParams = ModuleHostParams> extends Base<TParams> {
27
- abstract start(): Promisable<void>;
28
- abstract stop(): Promisable<void>;
29
- }
30
-
31
- interface AsyncQueryBusIntersectConfig {
32
- /**
33
- * Configuration for intermediary query storage
34
- */
35
- queries?: SearchableStorage;
36
- /**
37
- * Configuration for intermediary response storage
38
- */
39
- responses?: SearchableStorage;
40
- }
41
-
42
- interface AsyncQueryBusBaseConfig {
43
- intersect?: AsyncQueryBusIntersectConfig;
44
- /**
45
- * How often to poll for new queries/responses
46
- */
47
- pollFrequency?: number;
48
- /**
49
- * Where the archivist should persist its internal state
50
- */
51
- stateStore?: SearchableStorage;
52
- }
53
-
54
- interface AsyncQueryBusClientConfig extends AsyncQueryBusBaseConfig, BridgeClientConfig {
55
- /**
56
- * Configuration for intermediary response storage
57
- */
58
- queryCache?: CacheConfig | true;
59
- }
60
-
61
- interface AsyncQueryBusHostConfig extends AsyncQueryBusBaseConfig {
62
- /**
63
- * The frequency at which the host should poll for new queries when no new queries have been received for a while
64
- */
65
- idlePollFrequency?: number;
66
- /**
67
- * The threshold at which the host should consider itself idle and switch to the idle poll frequency
68
- */
69
- idleThreshold?: number;
70
- /**
71
- * Modules that should be exposed via this host
72
- */
73
- listeningModules?: Address[];
74
- /**
75
- * How many queries to process at once when retrieving queries
76
- * for an address
77
- */
78
- perAddressBatchQueryLimit?: number;
79
- }
80
-
81
- type AsyncQueryBusParams<TConfig extends AsyncQueryBusBaseConfig = AsyncQueryBusBaseConfig> = BaseParams<{
82
- config?: TConfig;
83
- rootModule: ModuleInstance;
84
- }>;
85
- type AsyncQueryBusClientParams = AsyncQueryBusParams<AsyncQueryBusClientConfig>;
86
- type AsyncQueryBusHostParams = AsyncQueryBusParams<AsyncQueryBusHostConfig> & {
87
- onQueryFulfillFinished?: (args: Omit<QueryFulfillFinishedEventArgs, 'mod'>) => void;
88
- onQueryFulfillStarted?: (args: Omit<QueryFulfillStartedEventArgs, 'mod'>) => void;
89
- };
90
-
91
- declare const Pending: "pending";
92
- type Pending = typeof Pending;
93
-
94
- declare class AsyncQueryBusBase<TParams extends AsyncQueryBusParams = AsyncQueryBusParams> extends Base<TParams> {
95
- protected _lastState?: LRUCache<Address, Hex>;
96
- protected _targetConfigs: Record<Address, ModuleConfig>;
97
- protected _targetQueries: Record<Address, string[]>;
98
- private _lastResolveFailure;
99
- private _queriesArchivist?;
100
- private _queriesDiviner?;
101
- private _reResolveDelay;
102
- private _resolveMutex;
103
- private _responsesArchivist?;
104
- private _responsesDiviner?;
105
- constructor(params: TParams);
106
- get config(): TParams['config'];
107
- get pollFrequency(): number;
108
- get rootModule(): ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>;
109
- /**
110
- * A cache of the last offset of the Diviner process per address
111
- */
112
- protected get lastState(): LRUCache<Address, Hex>;
113
- queriesArchivist(): Promise<ArchivistInstance<_xyo_network_archivist_model.ArchivistParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_archivist_model.ArchivistConfig<void, void>>>, _xyo_network_archivist_model.ArchivistModuleEventData, _xyo_network_payload_model.Payload> | undefined>;
114
- queriesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, _xyo_network_boundwitness_model.UnsignedQueryBoundWitness, _xyo_network_diviner_model.DivinerModuleEventData<ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>, _xyo_network_payload_model.Payload, _xyo_network_payload_model.Payload>>>;
115
- responsesArchivist(): Promise<ArchivistInstance<_xyo_network_archivist_model.ArchivistParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_archivist_model.ArchivistConfig<void, void>>>, _xyo_network_archivist_model.ArchivistModuleEventData, _xyo_network_payload_model.Payload> | undefined>;
116
- responsesDiviner(): Promise<DivinerInstance<BoundWitnessDivinerParams, BoundWitnessDivinerQueryPayload, BoundWitness, _xyo_network_diviner_model.DivinerModuleEventData<ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>, _xyo_network_payload_model.Payload, _xyo_network_payload_model.Payload>>>;
117
- /**
118
- * Commit the internal state of the process. This is similar
119
- * to a transaction completion in a database and should only be called
120
- * when results have been successfully persisted to the appropriate
121
- * external stores.
122
- * @param address The module address to commit the state for
123
- * @param nextState The state to commit
124
- */
125
- protected commitState(address: Address, nextState: Hex): Promise<void>;
126
- /**
127
- * Retrieves the last state of the process. Used to recover state after
128
- * preemptions, reboots, etc.
129
- */
130
- protected retrieveState(address: Address): Promise<Hex>;
131
- private resolve;
132
- }
133
-
134
- declare class AsyncQueryBusClient<TParams extends AsyncQueryBusClientParams = AsyncQueryBusClientParams> extends AsyncQueryBusBase<TParams> {
135
- protected _queryCache?: LRUCache<Address, Pending | ModuleQueryResult>;
136
- private _pollCount;
137
- private _pollId?;
138
- constructor(params: TParams);
139
- get queryCacheConfig(): LRUCache.Options<Address, Pending | ModuleQueryResult, unknown>;
140
- get started(): boolean;
141
- /**
142
- * A cache of queries that have been issued
143
- */
144
- protected get queryCache(): LRUCache<Address, Pending | ModuleQueryResult>;
145
- listeningAddresses(): Generator<Lowercase<string>, void, unknown> | undefined;
146
- send(address: Address, query: QueryBoundWitness, payloads?: Payload[] | undefined): Promise<ModuleQueryResult>;
147
- /**
148
- * Runs the background divine process on a loop with a delay
149
- * specified by the `config.pollFrequency`
150
- */
151
- private poll;
152
- /**
153
- * Background process for processing incoming responses to previously issued queries
154
- */
155
- private processIncomingResponses;
156
- private start;
157
- private stop;
158
- }
159
-
160
- interface ExposeOptions {
161
- allowedQueries?: Schema[];
162
- failOnAlreadyExposed?: boolean;
163
- }
164
- declare class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams = AsyncQueryBusHostParams> extends AsyncQueryBusBase<TParams> {
165
- protected _exposedAddresses: Set<Lowercase<string>>;
166
- private _exposeOptions;
167
- private _idle;
168
- private _lastQueryTime?;
169
- private _pollId?;
170
- constructor(params: TParams);
171
- get exposedAddresses(): Set<Lowercase<string>>;
172
- get idlePollFrequency(): number;
173
- get idleThreshold(): number;
174
- get perAddressBatchQueryLimit(): number;
175
- get started(): boolean;
176
- expose(mod: ModuleInstance, options?: ExposeOptions): ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>> | undefined;
177
- listeningModules(): Promise<ModuleInstance[]>;
178
- start(): void;
179
- stop(): void;
180
- unexpose(id: ModuleIdentifier, validate?: boolean): Promise<ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>> | undefined>;
181
- protected callLocalModule: (localModule: ModuleInstance, query: WithStorageMeta<QueryBoundWitness>) => Promise<void>;
182
- /**
183
- * Finds unprocessed commands addressed to the supplied address
184
- * @param address The address to find commands for
185
- */
186
- protected findQueriesToAddress: (address: Address) => Promise<WithStorageMeta<_xyo_network_boundwitness_model.UnsignedQueryBoundWitness>[] | undefined>;
187
- /**
188
- * Runs the background divine process on a loop with a delay
189
- * specified by the `config.pollFrequency`
190
- */
191
- private poll;
192
- /**
193
- * Background process for checking for inbound queries
194
- */
195
- private processIncomingQueries;
196
- }
197
-
198
- type AsyncQueryBusModuleHostParams = ModuleHostParams & {
199
- config: AsyncQueryBusHostConfig;
200
- };
201
- declare class AsyncQueryBusModuleHost extends AbstractModuleHost<AsyncQueryBusModuleHostParams> {
202
- private _busHost?;
203
- constructor(params: AsyncQueryBusModuleHostParams);
204
- start(): Promise<void>;
205
- stop(): void;
206
- }
207
-
208
- interface AsyncQueryBusModuleProxyParams extends ModuleProxyParams {
209
- busClient: AsyncQueryBusClient;
210
- }
211
- declare class AsyncQueryBusModuleProxy<TWrappedModule extends ModuleInstance = ModuleInstance> extends AbstractModuleProxy<TWrappedModule, AsyncQueryBusModuleProxyParams & TWrappedModule['params']> {
212
- get id(): ModuleIdentifier;
213
- get modName(): ModuleName | undefined;
214
- static createHandler<T extends CreatableInstance>(inInstance: T): Promise<T & AbstractModule<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>>;
215
- proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
216
- publicChildren(): Promise<ModuleInstance[]>;
217
- /** @deprecated do not pass undefined. If trying to get all, pass '*' */
218
- resolve(): Promise<ModuleInstance[]>;
219
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
220
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
221
- }
222
-
223
- declare const PubSubBridgeConfigSchema: "network.xyo.bridge.pubsub.config";
224
- type PubSubBridgeConfigSchema = typeof PubSubBridgeConfigSchema;
225
- /**
226
- * Configuration for the PubSubBridge
227
- */
228
- type PubSubBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
229
- client?: AsyncQueryBusClientConfig;
230
- host?: AsyncQueryBusHostConfig;
231
- roots?: Address[];
232
- } & TConfig, TSchema extends string ? TSchema : PubSubBridgeConfigSchema>;
233
-
234
- /**
235
- * The parameters for the PubSubBridge
236
- */
237
- type PubSubBridgeParams<TConfig extends AnyConfigSchema<PubSubBridgeConfig> = AnyConfigSchema<PubSubBridgeConfig>> = BridgeParams<TConfig>;
238
-
239
- interface PubSubBridgeModuleResolverParams extends BridgeModuleResolverParams {
240
- busClient: AsyncQueryBusClient;
241
- }
242
- declare class PubSubBridgeModuleResolver extends AbstractBridgeModuleResolver<PubSubBridgeModuleResolverParams> {
243
- protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<_xyo_network_module_model.ModuleParams<_xyo_network_module_model.AnyConfigSchema<ModuleConfig<object, void>>>, _xyo_network_module_model.ModuleEventData<object>>, unknown>;
244
- protected _resolvedCacheMutex: Mutex;
245
- resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]>;
246
- }
247
-
248
- declare class PubSubBridge<TParams extends PubSubBridgeParams = PubSubBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
249
- static readonly configSchemas: Schema[];
250
- static readonly defaultConfigSchema: Schema;
251
- protected _configRootAddress: Address;
252
- protected _configStateStoreArchivist: string;
253
- protected _configStateStoreBoundWitnessDiviner: string;
254
- protected _exposedAddresses: Address[];
255
- protected _lastState?: LRUCache<string, number>;
256
- private _busClient?;
257
- private _busHost?;
258
- private _discoverRootsMutex;
259
- private _resolver?;
260
- get resolver(): PubSubBridgeModuleResolver;
261
- protected get moduleName(): string;
262
- connect(id: ModuleIdentifier, maxDepth?: number): Promise<Address | undefined>;
263
- disconnect(id: ModuleIdentifier): Promise<Address | undefined>;
264
- exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
265
- exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
266
- exposedHandler(): Address[];
267
- getRoots(force?: boolean): Promise<ModuleInstance[]>;
268
- /** @deprecated do not pass undefined. If trying to get all, pass '*' */
269
- resolve(): Promise<ModuleInstance[]>;
270
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
271
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
272
- startHandler(): Promise<void>;
273
- unexposeHandler(id: ModuleIdentifier, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
274
- protected busClient(): AsyncQueryBusClient<AsyncQueryBusClientParams> | undefined;
275
- protected busHost(): AsyncQueryBusHost<AsyncQueryBusHostParams> | undefined;
276
- protected connectInstance(instance?: ModuleInstance, maxDepth?: number): Promise<Address | undefined>;
277
- protected stopHandler(): Promise<void>;
278
- }
279
-
280
- declare const PubSubBridgeSchema: "network.xyo.bridge.pubsub";
281
- type PubSubBridgeSchema = typeof PubSubBridgeSchema;
282
-
283
- export { AbstractModuleHost, AsyncQueryBusClient, AsyncQueryBusHost, AsyncQueryBusModuleHost, AsyncQueryBusModuleProxy, Pending, PubSubBridge, PubSubBridgeConfigSchema, PubSubBridgeModuleResolver, PubSubBridgeSchema };
284
- export type { AsyncQueryBusBaseConfig, AsyncQueryBusClientConfig, AsyncQueryBusClientParams, AsyncQueryBusHostConfig, AsyncQueryBusHostParams, AsyncQueryBusIntersectConfig, AsyncQueryBusModuleHostParams, AsyncQueryBusModuleProxyParams, AsyncQueryBusParams, ExposeOptions, ModuleHostParams, PubSubBridgeConfig, PubSubBridgeModuleResolverParams, PubSubBridgeParams };
1
+ export * from './AbstractModuleHost/index.ts';
2
+ export * from './AsyncQueryBus/index.ts';
3
+ export * from './Config.ts';
4
+ export * from './Params.ts';
5
+ export * from './PubSubBridge.ts';
6
+ export * from './PubSubBridgeModuleResolver.ts';
7
+ export * from './Schema.ts';
8
+ //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/bridge-pub-sub",
3
- "version": "4.1.1",
3
+ "version": "4.1.3",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -29,44 +29,44 @@
29
29
  "module": "dist/neutral/index.mjs",
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/array": "^4.13.15",
33
- "@xylabs/assert": "^4.13.15",
34
- "@xylabs/base": "^4.13.15",
35
- "@xylabs/creatable": "^4.13.15",
36
- "@xylabs/delay": "^4.13.15",
37
- "@xylabs/exists": "^4.13.15",
38
- "@xylabs/forget": "^4.13.15",
39
- "@xylabs/hex": "^4.13.15",
40
- "@xylabs/object": "^4.13.15",
41
- "@xylabs/promise": "^4.13.15",
42
- "@xylabs/timer": "^4.13.15",
43
- "@xylabs/typeof": "^4.13.15",
44
- "@xyo-network/account": "^4.1.1",
45
- "@xyo-network/archivist-model": "^4.1.1",
46
- "@xyo-network/boundwitness-model": "^4.1.1",
47
- "@xyo-network/bridge-abstract": "^4.1.1",
48
- "@xyo-network/bridge-model": "^4.1.1",
49
- "@xyo-network/config-payload-plugin": "^4.1.1",
50
- "@xyo-network/diviner-boundwitness-model": "^4.1.1",
51
- "@xyo-network/diviner-model": "^4.1.1",
52
- "@xyo-network/module-model": "^4.1.1",
53
- "@xyo-network/node-model": "^4.1.1",
54
- "@xyo-network/payload-builder": "^4.1.1",
55
- "@xyo-network/payload-model": "^4.1.1",
32
+ "@xylabs/array": "^4.13.16",
33
+ "@xylabs/assert": "^4.13.16",
34
+ "@xylabs/base": "^4.13.16",
35
+ "@xylabs/creatable": "^4.13.16",
36
+ "@xylabs/delay": "^4.13.16",
37
+ "@xylabs/exists": "^4.13.16",
38
+ "@xylabs/forget": "^4.13.16",
39
+ "@xylabs/hex": "^4.13.16",
40
+ "@xylabs/object": "^4.13.16",
41
+ "@xylabs/promise": "^4.13.16",
42
+ "@xylabs/timer": "^4.13.16",
43
+ "@xylabs/typeof": "^4.13.16",
44
+ "@xyo-network/account": "^4.1.3",
45
+ "@xyo-network/archivist-model": "^4.1.3",
46
+ "@xyo-network/boundwitness-model": "^4.1.3",
47
+ "@xyo-network/bridge-abstract": "^4.1.3",
48
+ "@xyo-network/bridge-model": "^4.1.3",
49
+ "@xyo-network/config-payload-plugin": "^4.1.3",
50
+ "@xyo-network/diviner-boundwitness-model": "^4.1.3",
51
+ "@xyo-network/diviner-model": "^4.1.3",
52
+ "@xyo-network/module-model": "^4.1.3",
53
+ "@xyo-network/node-model": "^4.1.3",
54
+ "@xyo-network/payload-builder": "^4.1.3",
55
+ "@xyo-network/payload-model": "^4.1.3",
56
56
  "async-mutex": "^0.5.0",
57
57
  "lru-cache": "^11.1.0"
58
58
  },
59
59
  "devDependencies": {
60
- "@xylabs/logger": "^4.13.15",
61
- "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.23",
62
- "@xylabs/tsconfig": "^7.0.0-rc.23",
63
- "@xylabs/vitest-extended": "^4.13.15",
64
- "@xyo-network/archivist-memory": "^4.1.1",
65
- "@xyo-network/diviner-boundwitness-memory": "^4.1.1",
66
- "@xyo-network/module-abstract": "^4.1.1",
67
- "@xyo-network/node-memory": "^4.1.1",
68
- "@xyo-network/node-model": "^4.1.1",
69
- "@xyo-network/payload-wrapper": "^4.1.1",
60
+ "@xylabs/logger": "^4.13.16",
61
+ "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.27",
62
+ "@xylabs/tsconfig": "^7.0.0-rc.27",
63
+ "@xylabs/vitest-extended": "^4.13.16",
64
+ "@xyo-network/archivist-memory": "^4.1.3",
65
+ "@xyo-network/diviner-boundwitness-memory": "^4.1.3",
66
+ "@xyo-network/module-abstract": "^4.1.3",
67
+ "@xyo-network/node-memory": "^4.1.3",
68
+ "@xyo-network/node-model": "^4.1.3",
69
+ "@xyo-network/payload-wrapper": "^4.1.3",
70
70
  "typescript": "^5.8.3",
71
71
  "vitest": "^3.2.4"
72
72
  },