@xyo-network/bridge-pub-sub 3.9.18 → 3.9.20

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 (47) hide show
  1. package/dist/neutral/AbstractModuleHost/AbstractModuleHost.d.ts +12 -0
  2. package/dist/neutral/AbstractModuleHost/AbstractModuleHost.d.ts.map +1 -0
  3. package/dist/neutral/AbstractModuleHost/index.d.ts +2 -0
  4. package/dist/neutral/AbstractModuleHost/index.d.ts.map +1 -0
  5. package/dist/neutral/AsyncQueryBus/AsyncQueryBusBase.d.ts +99 -0
  6. package/dist/neutral/AsyncQueryBus/AsyncQueryBusBase.d.ts.map +1 -0
  7. package/dist/neutral/AsyncQueryBus/AsyncQueryBusClient.d.ts +34 -0
  8. package/dist/neutral/AsyncQueryBus/AsyncQueryBusClient.d.ts.map +1 -0
  9. package/dist/neutral/AsyncQueryBus/AsyncQueryBusHost.d.ts +84 -0
  10. package/dist/neutral/AsyncQueryBus/AsyncQueryBusHost.d.ts.map +1 -0
  11. package/dist/neutral/AsyncQueryBus/ModuleHost/ModuleHost.d.ts +13 -0
  12. package/dist/neutral/AsyncQueryBus/ModuleHost/ModuleHost.d.ts.map +1 -0
  13. package/dist/neutral/AsyncQueryBus/ModuleHost/index.d.ts +2 -0
  14. package/dist/neutral/AsyncQueryBus/ModuleHost/index.d.ts.map +1 -0
  15. package/dist/neutral/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts +27 -0
  16. package/dist/neutral/AsyncQueryBus/ModuleProxy/ModuleProxy.d.ts.map +1 -0
  17. package/dist/neutral/AsyncQueryBus/ModuleProxy/index.d.ts +2 -0
  18. package/dist/neutral/AsyncQueryBus/ModuleProxy/index.d.ts.map +1 -0
  19. package/dist/neutral/AsyncQueryBus/index.d.ts +6 -0
  20. package/dist/neutral/AsyncQueryBus/index.d.ts.map +1 -0
  21. package/dist/neutral/AsyncQueryBus/model/BaseConfig.d.ts +14 -0
  22. package/dist/neutral/AsyncQueryBus/model/BaseConfig.d.ts.map +1 -0
  23. package/dist/neutral/AsyncQueryBus/model/ClientConfig.d.ts +10 -0
  24. package/dist/neutral/AsyncQueryBus/model/ClientConfig.d.ts.map +1 -0
  25. package/dist/neutral/AsyncQueryBus/model/HostConfig.d.ts +22 -0
  26. package/dist/neutral/AsyncQueryBus/model/HostConfig.d.ts.map +1 -0
  27. package/dist/neutral/AsyncQueryBus/model/IntersectConfig.d.ts +12 -0
  28. package/dist/neutral/AsyncQueryBus/model/IntersectConfig.d.ts.map +1 -0
  29. package/dist/neutral/AsyncQueryBus/model/Params.d.ts +16 -0
  30. package/dist/neutral/AsyncQueryBus/model/Params.d.ts.map +1 -0
  31. package/dist/neutral/AsyncQueryBus/model/QueryStatus.d.ts +3 -0
  32. package/dist/neutral/AsyncQueryBus/model/QueryStatus.d.ts.map +1 -0
  33. package/dist/neutral/AsyncQueryBus/model/index.d.ts +7 -0
  34. package/dist/neutral/AsyncQueryBus/model/index.d.ts.map +1 -0
  35. package/dist/neutral/Config.d.ts +15 -0
  36. package/dist/neutral/Config.d.ts.map +1 -0
  37. package/dist/neutral/Params.d.ts +8 -0
  38. package/dist/neutral/Params.d.ts.map +1 -0
  39. package/dist/neutral/PubSubBridge.d.ts +41 -0
  40. package/dist/neutral/PubSubBridge.d.ts.map +1 -0
  41. package/dist/neutral/PubSubBridgeModuleResolver.d.ts +25 -0
  42. package/dist/neutral/PubSubBridgeModuleResolver.d.ts.map +1 -0
  43. package/dist/neutral/Schema.d.ts +3 -0
  44. package/dist/neutral/Schema.d.ts.map +1 -0
  45. package/dist/neutral/index.d.ts +8 -317
  46. package/dist/neutral/index.d.ts.map +1 -0
  47. package/package.json +22 -22
@@ -0,0 +1,12 @@
1
+ import type { BaseParams } from '@xylabs/object';
2
+ import { Base } from '@xylabs/object';
3
+ import type { Promisable } from '@xylabs/promise';
4
+ import type { ModuleInstance } from '@xyo-network/module-model';
5
+ export type ModuleHostParams<THostedInstance extends ModuleInstance = ModuleInstance> = BaseParams<{
6
+ mod: THostedInstance;
7
+ }>;
8
+ export declare abstract class AbstractModuleHost<TParams extends ModuleHostParams = ModuleHostParams> extends Base<TParams> {
9
+ abstract start(): Promisable<void>;
10
+ abstract stop(): Promisable<void>;
11
+ }
12
+ //# sourceMappingURL=AbstractModuleHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractModuleHost.d.ts","sourceRoot":"","sources":["../../../src/AbstractModuleHost/AbstractModuleHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,MAAM,MAAM,gBAAgB,CAAC,eAAe,SAAS,cAAc,GAAG,cAAc,IAAI,UAAU,CAAC;IACjG,GAAG,EAAE,eAAe,CAAA;CACrB,CAAC,CAAA;AAEF,8BAAsB,kBAAkB,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,IAAI,CAAC,OAAO,CAAC;IACjH,QAAQ,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC;IAClC,QAAQ,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export * from './AbstractModuleHost.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AbstractModuleHost/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,99 @@
1
+ import type { Address, Hex } from '@xylabs/hex';
2
+ import { Base } from '@xylabs/object';
3
+ import type { ArchivistInstance } from '@xyo-network/archivist-model';
4
+ import type { BoundWitness } from '@xyo-network/boundwitness-model';
5
+ import type { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model';
6
+ import type { DivinerInstance } from '@xyo-network/diviner-model';
7
+ import type { ModuleConfig, ModuleInstance } from '@xyo-network/module-model';
8
+ import { LRUCache } from 'lru-cache';
9
+ import type { AsyncQueryBusParams } from './model/index.ts';
10
+ export declare class AsyncQueryBusBase<TParams extends AsyncQueryBusParams = AsyncQueryBusParams> extends Base<TParams> {
11
+ protected _lastState?: LRUCache<Address, Hex>;
12
+ protected _targetConfigs: Record<Address, ModuleConfig>;
13
+ protected _targetQueries: Record<Address, string[]>;
14
+ private _lastResolveFailure;
15
+ private _queriesArchivist?;
16
+ private _queriesDiviner?;
17
+ private _reResolveDelay;
18
+ private _resolveMutex;
19
+ private _responsesArchivist?;
20
+ private _responsesDiviner?;
21
+ constructor(params: TParams);
22
+ get config(): TParams['config'];
23
+ get pollFrequency(): number;
24
+ get rootModule(): ModuleInstance<import("@xylabs/object").BaseParamsFields & {
25
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
26
+ addToResolvers?: boolean;
27
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
28
+ allowNameResolution?: boolean;
29
+ config: import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig>;
30
+ ephemeralQueryAccountEnabled?: boolean;
31
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
32
+ privateChildren?: ModuleInstance[];
33
+ publicChildren?: ModuleInstance[];
34
+ }, import("@xyo-network/module-model").ModuleEventData<object>>;
35
+ /**
36
+ * A cache of the last offset of the Diviner process per address
37
+ */
38
+ protected get lastState(): LRUCache<Address, Hex>;
39
+ queriesArchivist(): Promise<ArchivistInstance<import("@xylabs/object").BaseParamsFields & {
40
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
41
+ addToResolvers?: boolean;
42
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
43
+ allowNameResolution?: boolean;
44
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
45
+ ephemeralQueryAccountEnabled?: boolean;
46
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
47
+ privateChildren?: ModuleInstance[];
48
+ publicChildren?: ModuleInstance[];
49
+ } & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
50
+ queriesDiviner(): Promise<DivinerInstance<import("@xylabs/object").BaseParamsFields & {
51
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
52
+ addToResolvers?: boolean;
53
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
54
+ allowNameResolution?: boolean;
55
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerConfig>;
56
+ ephemeralQueryAccountEnabled?: boolean;
57
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
58
+ privateChildren?: ModuleInstance[];
59
+ publicChildren?: ModuleInstance[];
60
+ }, BoundWitnessDivinerQueryPayload, import("@xyo-network/boundwitness-model").UnsignedQueryBoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData>>;
61
+ responsesArchivist(): Promise<ArchivistInstance<import("@xylabs/object").BaseParamsFields & {
62
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
63
+ addToResolvers?: boolean;
64
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
65
+ allowNameResolution?: boolean;
66
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/archivist-model").ArchivistConfig>;
67
+ ephemeralQueryAccountEnabled?: boolean;
68
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
69
+ privateChildren?: ModuleInstance[];
70
+ publicChildren?: ModuleInstance[];
71
+ } & import("@xyo-network/archivist-model").ArchivistParamFields & object, import("@xyo-network/archivist-model").ArchivistModuleEventData, import("@xyo-network/payload-model").Payload> | undefined>;
72
+ responsesDiviner(): Promise<DivinerInstance<import("@xylabs/object").BaseParamsFields & {
73
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
74
+ addToResolvers?: boolean;
75
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
76
+ allowNameResolution?: boolean;
77
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/diviner-boundwitness-model").BoundWitnessDivinerConfig>;
78
+ ephemeralQueryAccountEnabled?: boolean;
79
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
80
+ privateChildren?: ModuleInstance[];
81
+ publicChildren?: ModuleInstance[];
82
+ }, BoundWitnessDivinerQueryPayload, BoundWitness, import("@xyo-network/diviner-model").DivinerModuleEventData>>;
83
+ /**
84
+ * Commit the internal state of the process. This is similar
85
+ * to a transaction completion in a database and should only be called
86
+ * when results have been successfully persisted to the appropriate
87
+ * external stores.
88
+ * @param address The module address to commit the state for
89
+ * @param nextState The state to commit
90
+ */
91
+ protected commitState(address: Address, nextState: Hex): Promise<void>;
92
+ /**
93
+ * Retrieves the last state of the process. Used to recover state after
94
+ * preemptions, reboots, etc.
95
+ */
96
+ protected retrieveState(address: Address): Promise<Hex>;
97
+ private resolve;
98
+ }
99
+ //# sourceMappingURL=AsyncQueryBusBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncQueryBusBase.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/AsyncQueryBusBase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,iCAAiC,CAAA;AACtF,OAAO,KAAK,EAA6B,+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;;;;;;;;;;oEAEb;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"}
@@ -0,0 +1,34 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
3
+ import type { ModuleQueryResult } from '@xyo-network/module-model';
4
+ import type { Payload } from '@xyo-network/payload-model';
5
+ import { LRUCache } from 'lru-cache';
6
+ import { AsyncQueryBusBase } from './AsyncQueryBusBase.ts';
7
+ import type { AsyncQueryBusClientParams } from './model/index.ts';
8
+ import { Pending } from './model/index.ts';
9
+ export declare class AsyncQueryBusClient<TParams extends AsyncQueryBusClientParams = AsyncQueryBusClientParams> extends AsyncQueryBusBase<TParams> {
10
+ protected _queryCache?: LRUCache<Address, Pending | ModuleQueryResult>;
11
+ private _pollCount;
12
+ private _pollId?;
13
+ constructor(params: TParams);
14
+ get queryCacheConfig(): LRUCache.Options<Address, Pending | ModuleQueryResult, unknown>;
15
+ get started(): boolean;
16
+ /**
17
+ * A cache of queries that have been issued
18
+ */
19
+ protected get queryCache(): LRUCache<Address, Pending | ModuleQueryResult>;
20
+ listeningAddresses(): Generator<Lowercase<string>, void, unknown> | undefined;
21
+ send(address: Address, query: QueryBoundWitness, payloads?: Payload[] | undefined): Promise<ModuleQueryResult>;
22
+ /**
23
+ * Runs the background divine process on a loop with a delay
24
+ * specified by the `config.pollFrequency`
25
+ */
26
+ private poll;
27
+ /**
28
+ * Background process for processing incoming responses to previously issued queries
29
+ */
30
+ private processIncomingResponses;
31
+ private start;
32
+ private stop;
33
+ }
34
+ //# sourceMappingURL=AsyncQueryBusClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncQueryBusClient.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/AsyncQueryBusClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAIxE,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE/E,OAAO,KAAK,EACG,OAAO,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,qBAAa,mBAAmB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IACxI,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAAA;IACtE,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,OAAO,CAAC,CAAQ;gBAEZ,MAAM,EAAE,OAAO;IAI3B,IAAI,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,CAAC,CAKtF;IAED,IAAI,OAAO,YAEV;IAED;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAAC,CAKzE;IAED,kBAAkB;IAIZ,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqEpH;;;OAGG;IACH,OAAO,CAAC,IAAI;IAcZ;;OAEG;IACH,OAAO,CAAC,wBAAwB,CA4B/B;IAED,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,IAAI;CAQb"}
@@ -0,0 +1,84 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
3
+ import type { ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
4
+ import type { Schema, WithStorageMeta } from '@xyo-network/payload-model';
5
+ import { AsyncQueryBusBase } from './AsyncQueryBusBase.ts';
6
+ import type { AsyncQueryBusHostParams } from './model/index.ts';
7
+ export interface ExposeOptions {
8
+ allowedQueries?: Schema[];
9
+ failOnAlreadyExposed?: boolean;
10
+ }
11
+ export declare class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams = AsyncQueryBusHostParams> extends AsyncQueryBusBase<TParams> {
12
+ protected _exposedAddresses: Set<Lowercase<string>>;
13
+ private _exposeOptions;
14
+ private _idle;
15
+ private _lastQueryTime?;
16
+ private _pollId?;
17
+ constructor(params: TParams);
18
+ get exposedAddresses(): Set<Lowercase<string>>;
19
+ get idlePollFrequency(): number;
20
+ get idleThreshold(): number;
21
+ get perAddressBatchQueryLimit(): number;
22
+ get started(): boolean;
23
+ expose(mod: ModuleInstance, options?: ExposeOptions): ModuleInstance<import("@xylabs/object").BaseParamsFields & {
24
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
25
+ addToResolvers?: boolean;
26
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
27
+ allowNameResolution?: boolean;
28
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>;
29
+ ephemeralQueryAccountEnabled?: boolean;
30
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
31
+ privateChildren?: ModuleInstance[];
32
+ publicChildren?: ModuleInstance[];
33
+ }, import("@xyo-network/module-model").ModuleEventData<object>> | undefined;
34
+ listeningModules(): Promise<ModuleInstance[]>;
35
+ start(): void;
36
+ stop(): void;
37
+ unexpose(id: ModuleIdentifier, validate?: boolean): Promise<ModuleInstance<import("@xylabs/object").BaseParamsFields & {
38
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
39
+ addToResolvers?: boolean;
40
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
41
+ allowNameResolution?: boolean;
42
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>;
43
+ ephemeralQueryAccountEnabled?: boolean;
44
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
45
+ privateChildren?: ModuleInstance<import("@xylabs/object").BaseParamsFields & {
46
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
47
+ addToResolvers?: boolean;
48
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
49
+ allowNameResolution?: boolean;
50
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>;
51
+ ephemeralQueryAccountEnabled?: boolean;
52
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
53
+ privateChildren?: ModuleInstance[];
54
+ publicChildren?: ModuleInstance[];
55
+ }, import("@xyo-network/module-model").ModuleEventData<object>>[];
56
+ publicChildren?: ModuleInstance<import("@xylabs/object").BaseParamsFields & {
57
+ account?: import("@xyo-network/account-model").AccountInstance | "random";
58
+ addToResolvers?: boolean;
59
+ additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
60
+ allowNameResolution?: boolean;
61
+ config: import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>;
62
+ ephemeralQueryAccountEnabled?: boolean;
63
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
64
+ privateChildren?: ModuleInstance[];
65
+ publicChildren?: ModuleInstance[];
66
+ }, import("@xyo-network/module-model").ModuleEventData<object>>[];
67
+ }, import("@xyo-network/module-model").ModuleEventData<object>> | undefined>;
68
+ protected callLocalModule: (localModule: ModuleInstance, query: WithStorageMeta<QueryBoundWitness>) => Promise<void>;
69
+ /**
70
+ * Finds unprocessed commands addressed to the supplied address
71
+ * @param address The address to find commands for
72
+ */
73
+ protected findQueriesToAddress: (address: Address) => Promise<WithStorageMeta<import("@xyo-network/boundwitness-model").UnsignedQueryBoundWitness>[] | undefined>;
74
+ /**
75
+ * Runs the background divine process on a loop with a delay
76
+ * specified by the `config.pollFrequency`
77
+ */
78
+ private poll;
79
+ /**
80
+ * Background process for checking for inbound queries
81
+ */
82
+ private processIncomingQueries;
83
+ }
84
+ //# sourceMappingURL=AsyncQueryBusHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncQueryBusHost.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/AsyncQueryBusHost.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAKxE,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAQlC,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAUD,qBAAa,iBAAiB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,CAAE,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IAClI,SAAS,CAAC,iBAAiB,yBAAqB;IAChD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,cAAc,CAAC,CAAQ;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAQ;gBAEZ,MAAM,EAAE,OAAO;IAI3B,IAAI,gBAAgB,2BAEnB;IAED,IAAI,iBAAiB,WASpB;IAED,IAAI,aAAa,WAShB;IAED,IAAI,yBAAyB,IAAI,MAAM,CAEtC;IAED,IAAI,OAAO,YAEV;IAED,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa;;;;;;;;;;;IAa7C,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWnD,KAAK;IAOL,IAAI;IAQE,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,UAAO;yBAxHb,4BACjC;;mCAC0B,4BAA4B;;uBAE9D,2BAAY,yBAAyB,2BAAa;;8CACgB,2BACtD;;;;;;;;;;;;;;;;;;;;;;;;IA8HV,SAAS,CAAC,eAAe,GAAU,aAAa,cAAc,EAAE,OAAO,eAAe,CAAC,iBAAiB,CAAC,mBAiExG;IAED;;;OAGG;IACH,SAAS,CAAC,oBAAoB,GAAU,SAAS,OAAO,iHAgCvD;IAED;;;OAGG;IACH,OAAO,CAAC,IAAI;IAqBZ;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAsB7B;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { ModuleHostParams } from '../../AbstractModuleHost/index.ts';
2
+ import { AbstractModuleHost } from '../../AbstractModuleHost/index.ts';
3
+ import type { AsyncQueryBusHostConfig } from '../model/index.ts';
4
+ export type AsyncQueryBusModuleHostParams = ModuleHostParams & {
5
+ config: AsyncQueryBusHostConfig;
6
+ };
7
+ export declare class AsyncQueryBusModuleHost extends AbstractModuleHost<AsyncQueryBusModuleHostParams> {
8
+ private _busHost?;
9
+ constructor(params: AsyncQueryBusModuleHostParams);
10
+ start(): Promise<void>;
11
+ stop(): void;
12
+ }
13
+ //# sourceMappingURL=ModuleHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleHost.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/ModuleHost/ModuleHost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,MAAM,6BAA6B,GAAG,gBAAgB,GAAG;IAC7D,MAAM,EAAE,uBAAuB,CAAA;CAChC,CAAA;AAED,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,6BAA6B,CAAC;IAC5F,OAAO,CAAC,QAAQ,CAAC,CAAmB;gBAExB,MAAM,EAAE,6BAA6B;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,IAAI;CAGd"}
@@ -0,0 +1,2 @@
1
+ export * from './ModuleHost.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/ModuleHost/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -0,0 +1,27 @@
1
+ import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
2
+ import type { ModuleProxyParams } from '@xyo-network/bridge-abstract';
3
+ import { AbstractModuleProxy } from '@xyo-network/bridge-abstract';
4
+ import type { ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleName, ModuleQueryResult } from '@xyo-network/module-model';
5
+ import type { Payload } from '@xyo-network/payload-model';
6
+ import type { AsyncQueryBusClient } from '../AsyncQueryBusClient.ts';
7
+ export type AsyncQueryBusModuleProxyParams = ModuleProxyParams & {
8
+ busClient: AsyncQueryBusClient;
9
+ };
10
+ export declare class AsyncQueryBusModuleProxy<TWrappedModule extends ModuleInstance = ModuleInstance, TParams extends Omit<AsyncQueryBusModuleProxyParams, 'config'> & {
11
+ config: TWrappedModule['config'];
12
+ } = Omit<AsyncQueryBusModuleProxyParams, 'config'> & {
13
+ config: TWrappedModule['config'];
14
+ }> extends AbstractModuleProxy<TWrappedModule, TParams> implements ModuleInstance<TParams, TWrappedModule['eventData']> {
15
+ protected static createCount: number;
16
+ constructor(params: TParams);
17
+ get id(): ModuleIdentifier;
18
+ get modName(): ModuleName | undefined;
19
+ proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
20
+ publicChildren(): Promise<ModuleInstance[]>;
21
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
22
+ resolve(): Promise<ModuleInstance[]>;
23
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
24
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
25
+ startHandler(): Promise<boolean>;
26
+ }
27
+ //# sourceMappingURL=ModuleProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModuleProxy.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/ModuleProxy/ModuleProxy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,iBAAiB,EAElB,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,SAAS,EAAE,mBAAmB,CAAA;CAC/B,CAAA;AAED,qBAAa,wBAAwB,CACnC,cAAc,SAAS,cAAc,GAAG,cAAc,EACtD,OAAO,SAAS,IAAI,CAAC,8BAA8B,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CAAE,GAAG,IAAI,CAC1G,8BAA8B,EAC9B,QAAQ,CACT,GAAG;IACF,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACjC,CAED,SAAQ,mBAAmB,CAAC,cAAc,EAAE,OAAO,CACnD,YAAW,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/D,SAAS,CAAC,MAAM,CAAC,WAAW,SAAI;gBAEpB,MAAM,EAAE,OAAO;IAQ3B,IAAa,EAAE,IAAI,gBAAgB,CAElC;IAED,IAAa,OAAO,IAAI,UAAU,GAAG,SAAS,CAE7C;IAEK,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAWrH,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAU1D,yEAAyE;IAC1D,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,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;IAiClI,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CAGhD"}
@@ -0,0 +1,2 @@
1
+ export * from './ModuleProxy.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/ModuleProxy/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './AsyncQueryBusClient.ts';
2
+ export * from './AsyncQueryBusHost.ts';
3
+ export * from './model/index.ts';
4
+ export * from './ModuleHost/index.ts';
5
+ export * from './ModuleProxy/index.ts';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AsyncQueryBus/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { SearchableStorage } from '@xyo-network/diviner-model';
2
+ import type { AsyncQueryBusIntersectConfig } from './IntersectConfig.ts';
3
+ export interface AsyncQueryBusBaseConfig {
4
+ intersect?: AsyncQueryBusIntersectConfig;
5
+ /**
6
+ * How often to poll for new queries/responses
7
+ */
8
+ pollFrequency?: number;
9
+ /**
10
+ * Where the archivist should persist its internal state
11
+ */
12
+ stateStore?: SearchableStorage;
13
+ }
14
+ //# sourceMappingURL=BaseConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseConfig.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/BaseConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAExE,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,4BAA4B,CAAA;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B"}
@@ -0,0 +1,10 @@
1
+ import type { BridgeClientConfig } from '@xyo-network/bridge-model';
2
+ import type { CacheConfig } from '@xyo-network/module-model';
3
+ import type { AsyncQueryBusBaseConfig } from './BaseConfig.ts';
4
+ export interface AsyncQueryBusClientConfig extends AsyncQueryBusBaseConfig, BridgeClientConfig {
5
+ /**
6
+ * Configuration for intermediary response storage
7
+ */
8
+ queryCache?: CacheConfig | true;
9
+ }
10
+ //# sourceMappingURL=ClientConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientConfig.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/ClientConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE9D,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB,EAAE,kBAAkB;IAC5F;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAChC"}
@@ -0,0 +1,22 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { AsyncQueryBusBaseConfig } from './BaseConfig.ts';
3
+ export interface AsyncQueryBusHostConfig extends AsyncQueryBusBaseConfig {
4
+ /**
5
+ * The frequency at which the host should poll for new queries when no new queries have been received for a while
6
+ */
7
+ idlePollFrequency?: number;
8
+ /**
9
+ * The threshold at which the host should consider itself idle and switch to the idle poll frequency
10
+ */
11
+ idleThreshold?: number;
12
+ /**
13
+ * Modules that should be exposed via this host
14
+ */
15
+ listeningModules?: Address[];
16
+ /**
17
+ * How many queries to process at once when retrieving queries
18
+ * for an address
19
+ */
20
+ perAddressBatchQueryLimit?: number;
21
+ }
22
+ //# sourceMappingURL=HostConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HostConfig.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/HostConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE9D,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE;;OAEG;IAEH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;OAEG;IAEH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;OAEG;IAEH,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAA;IAE5B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC"}
@@ -0,0 +1,12 @@
1
+ import type { SearchableStorage } from '@xyo-network/diviner-model';
2
+ export interface AsyncQueryBusIntersectConfig {
3
+ /**
4
+ * Configuration for intermediary query storage
5
+ */
6
+ queries?: SearchableStorage;
7
+ /**
8
+ * Configuration for intermediary response storage
9
+ */
10
+ responses?: SearchableStorage;
11
+ }
12
+ //# sourceMappingURL=IntersectConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntersectConfig.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/IntersectConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B"}
@@ -0,0 +1,16 @@
1
+ import type { BaseParams } from '@xylabs/object';
2
+ import type { QueryFulfillFinishedEventArgs, QueryFulfillStartedEventArgs } from '@xyo-network/bridge-model';
3
+ import type { ModuleInstance } from '@xyo-network/module-model';
4
+ import type { AsyncQueryBusBaseConfig } from './BaseConfig.ts';
5
+ import type { AsyncQueryBusClientConfig } from './ClientConfig.ts';
6
+ import type { AsyncQueryBusHostConfig } from './HostConfig.ts';
7
+ export type AsyncQueryBusParams<TConfig extends AsyncQueryBusBaseConfig = AsyncQueryBusBaseConfig> = BaseParams<{
8
+ config?: TConfig;
9
+ rootModule: ModuleInstance;
10
+ }>;
11
+ export type AsyncQueryBusClientParams = AsyncQueryBusParams<AsyncQueryBusClientConfig>;
12
+ export type AsyncQueryBusHostParams = AsyncQueryBusParams<AsyncQueryBusHostConfig> & {
13
+ onQueryFulfillFinished?: (args: Omit<QueryFulfillFinishedEventArgs, 'mod'>) => void;
14
+ onQueryFulfillStarted?: (args: Omit<QueryFulfillStartedEventArgs, 'mod'>) => void;
15
+ };
16
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAC5G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE9D,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,uBAAuB,GAAG,uBAAuB,IAAI,UAAU,CAAC;IAC9G,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,cAAc,CAAA;CAC3B,CAAC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;AACtF,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,uBAAuB,CAAC,GAAG;IACnF,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;IACnF,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;CAClF,CAAA"}
@@ -0,0 +1,3 @@
1
+ export declare const Pending: "pending";
2
+ export type Pending = typeof Pending;
3
+ //# sourceMappingURL=QueryStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryStatus.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/QueryStatus.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAG,SAAkB,CAAA;AACzC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from './BaseConfig.ts';
2
+ export * from './ClientConfig.ts';
3
+ export * from './HostConfig.ts';
4
+ export * from './IntersectConfig.ts';
5
+ export * from './Params.ts';
6
+ export * from './QueryStatus.ts';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/AsyncQueryBus/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { EmptyObject } from '@xylabs/object';
3
+ import type { BridgeConfig } from '@xyo-network/bridge-model';
4
+ import type { AsyncQueryBusClientConfig, AsyncQueryBusHostConfig } from './AsyncQueryBus/index.ts';
5
+ export declare const PubSubBridgeConfigSchema: "network.xyo.bridge.pubsub.config";
6
+ export type PubSubBridgeConfigSchema = typeof PubSubBridgeConfigSchema;
7
+ /**
8
+ * Configuration for the PubSubBridge
9
+ */
10
+ export type PubSubBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
11
+ client?: AsyncQueryBusClientConfig;
12
+ host?: AsyncQueryBusHostConfig;
13
+ roots?: Address[];
14
+ } & TConfig, TSchema extends string ? TSchema : PubSubBridgeConfigSchema>;
15
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAGlG,eAAO,MAAM,wBAAwB,oCAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAC5H;IACE,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,IAAI,CAAC,EAAE,uBAAuB,CAAA;IAC9B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;CAClB,GAAG,OAAO,EACX,OAAO,SAAS,MAAM,GAAG,OAAO,GAAG,wBAAwB,CAC5D,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { BridgeParams } from '@xyo-network/bridge-model';
2
+ import type { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import type { PubSubBridgeConfig } from './Config.ts';
4
+ /**
5
+ * The parameters for the PubSubBridge
6
+ */
7
+ export type PubSubBridgeParams<TConfig extends AnyConfigSchema<PubSubBridgeConfig> = AnyConfigSchema<PubSubBridgeConfig>> = BridgeParams<TConfig>;
8
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAErD;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,eAAe,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,CAAA"}
@@ -0,0 +1,41 @@
1
+ import { Address } from '@xylabs/hex';
2
+ import { AbstractBridge } from '@xyo-network/bridge-abstract';
3
+ import { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
4
+ import { ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
5
+ import { Schema } from '@xyo-network/payload-model';
6
+ import { LRUCache } from 'lru-cache';
7
+ import { AsyncQueryBusClient, AsyncQueryBusHost } from './AsyncQueryBus/index.ts';
8
+ import { PubSubBridgeParams } from './Params.ts';
9
+ import { PubSubBridgeModuleResolver } from './PubSubBridgeModuleResolver.ts';
10
+ export declare class PubSubBridge<TParams extends PubSubBridgeParams = PubSubBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
11
+ static readonly configSchemas: Schema[];
12
+ static readonly defaultConfigSchema: Schema;
13
+ protected _configRootAddress: Address;
14
+ protected _configStateStoreArchivist: string;
15
+ protected _configStateStoreBoundWitnessDiviner: string;
16
+ protected _exposedAddresses: Address[];
17
+ protected _lastState?: LRUCache<string, number>;
18
+ private _busClient?;
19
+ private _busHost?;
20
+ private _discoverRootsMutex;
21
+ private _resolver?;
22
+ get resolver(): PubSubBridgeModuleResolver;
23
+ protected get moduleName(): string;
24
+ connect(id: ModuleIdentifier, maxDepth?: number): Promise<Address | undefined>;
25
+ disconnect(id: ModuleIdentifier): Promise<Address | undefined>;
26
+ exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
27
+ exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
28
+ exposedHandler(): Address[];
29
+ getRoots(force?: boolean): Promise<ModuleInstance[]>;
30
+ /** @deprecated do not pass undefined. If trying to get all, pass '*' */
31
+ resolve(): Promise<ModuleInstance[]>;
32
+ resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
33
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
34
+ startHandler(): Promise<boolean>;
35
+ unexposeHandler(id: ModuleIdentifier, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
36
+ protected busClient(): AsyncQueryBusClient<import("./AsyncQueryBus/index.ts").AsyncQueryBusClientParams> | undefined;
37
+ protected busHost(): AsyncQueryBusHost<import("./AsyncQueryBus/index.ts").AsyncQueryBusHostParams> | undefined;
38
+ protected connectInstance(instance?: ModuleInstance, maxDepth?: number): Promise<Address | undefined>;
39
+ protected stopHandler(_timeout?: number | undefined): boolean;
40
+ }
41
+ //# sourceMappingURL=PubSubBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PubSubBridge.d.ts","sourceRoot":"","sources":["../../src/PubSubBridge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAa,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EAKtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAIL,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAIf,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAyB,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAI5E,qBACa,YAAY,CAAC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,YAAY,CAAC,OAAO,CAAC;IACjJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAqD;IACrG,gBAAyB,mBAAmB,EAAE,MAAM,CAA2B;IAE/E,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;IACpC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,IAAa,QAAQ,IAAI,0BAA0B,CAkBlD;IAED,SAAS,KAAK,UAAU,WAEvB;IAEK,OAAO,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAazE,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAS9D,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiBtG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa3G,cAAc,IAAI,OAAO,EAAE;IAKrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsC1D,yEAAyE;IAC1D,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,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;IAgClI,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC,eAAe,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAgBnH,SAAS,CAAC,SAAS;IAWnB,SAAS,CAAC,OAAO;cAuBD,eAAe,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAkBnF,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAI7D"}
@@ -0,0 +1,25 @@
1
+ import type { BridgeModuleResolverParams } from '@xyo-network/bridge-abstract';
2
+ import { AbstractBridgeModuleResolver } from '@xyo-network/bridge-abstract';
3
+ import type { ModuleConfig, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
4
+ import { Mutex } from 'async-mutex';
5
+ import { LRUCache } from 'lru-cache';
6
+ import type { AsyncQueryBusClient } from './AsyncQueryBus/index.ts';
7
+ export interface PubSubBridgeModuleResolverParams extends BridgeModuleResolverParams {
8
+ busClient: AsyncQueryBusClient;
9
+ }
10
+ export declare class PubSubBridgeModuleResolver extends AbstractBridgeModuleResolver<PubSubBridgeModuleResolverParams> {
11
+ protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<import("@xylabs/object").BaseParamsFields & {
12
+ account?: import("@xyo-network/account").AccountInstance | "random";
13
+ addToResolvers?: boolean;
14
+ additionalSigners?: import("@xyo-network/account").AccountInstance[];
15
+ allowNameResolution?: boolean;
16
+ config: import("@xyo-network/module-model").AnyConfigSchema<ModuleConfig>;
17
+ ephemeralQueryAccountEnabled?: boolean;
18
+ moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
19
+ privateChildren?: ModuleInstance[];
20
+ publicChildren?: ModuleInstance[];
21
+ }, import("@xyo-network/module-model").ModuleEventData<object>>, unknown>;
22
+ protected _resolvedCacheMutex: Mutex;
23
+ resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]>;
24
+ }
25
+ //# sourceMappingURL=PubSubBridgeModuleResolver.d.ts.map
@@ -0,0 +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;;;;;;;;;;8EAAuD;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;CA8C/I"}
@@ -0,0 +1,3 @@
1
+ export declare const PubSubBridgeSchema: "network.xyo.bridge.pubsub";
2
+ export type PubSubBridgeSchema = typeof PubSubBridgeSchema;
3
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,EAAG,2BAAoC,CAAA;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA"}
@@ -1,317 +1,8 @@
1
- import * as _xylabs_object from '@xylabs/object';
2
- import { BaseParams, Base, EmptyObject } from '@xylabs/object';
3
- import { Promisable } from '@xylabs/promise';
4
- import * as _xyo_network_module_model from '@xyo-network/module-model';
5
- import { ModuleInstance, CacheConfig, ModuleConfig, ModuleQueryResult, ModuleIdentifier, ModuleName, ModuleFilterOptions, AnyConfigSchema } from '@xyo-network/module-model';
6
- import { Address, Hex } from '@xylabs/hex';
7
- import * as _xyo_network_boundwitness_model from '@xyo-network/boundwitness-model';
8
- import { BoundWitness, QueryBoundWitness } from '@xyo-network/boundwitness-model';
9
- import * as _xyo_network_payload_model from '@xyo-network/payload-model';
10
- import { Payload, Schema, WithStorageMeta } from '@xyo-network/payload-model';
11
- import { LRUCache } from 'lru-cache';
12
- import * as _xyo_network_diviner_model from '@xyo-network/diviner-model';
13
- import { SearchableStorage, DivinerInstance } from '@xyo-network/diviner-model';
14
- import * as _xyo_network_diviner_boundwitness_model from '@xyo-network/diviner-boundwitness-model';
15
- import { BoundWitnessDivinerQueryPayload } from '@xyo-network/diviner-boundwitness-model';
16
- import * as _xyo_network_archivist_model from '@xyo-network/archivist-model';
17
- import { ArchivistInstance } from '@xyo-network/archivist-model';
18
- import * as _xyo_network_account from '@xyo-network/account';
19
- import { BridgeClientConfig, QueryFulfillFinishedEventArgs, QueryFulfillStartedEventArgs, BridgeConfig, BridgeParams, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
20
- import { ModuleProxyParams, AbstractModuleProxy, AbstractBridgeModuleResolver, BridgeModuleResolverParams, AbstractBridge } from '@xyo-network/bridge-abstract';
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
- queries?: SearchableStorage;
33
- responses?: SearchableStorage;
34
- }
35
-
36
- interface AsyncQueryBusBaseConfig {
37
- intersect?: AsyncQueryBusIntersectConfig;
38
- pollFrequency?: number;
39
- stateStore?: SearchableStorage;
40
- }
41
-
42
- interface AsyncQueryBusClientConfig extends AsyncQueryBusBaseConfig, BridgeClientConfig {
43
- queryCache?: CacheConfig | true;
44
- }
45
-
46
- interface AsyncQueryBusHostConfig extends AsyncQueryBusBaseConfig {
47
- idlePollFrequency?: number;
48
- idleThreshold?: number;
49
- listeningModules?: Address[];
50
- perAddressBatchQueryLimit?: number;
51
- }
52
-
53
- type AsyncQueryBusParams<TConfig extends AsyncQueryBusBaseConfig = AsyncQueryBusBaseConfig> = BaseParams<{
54
- config?: TConfig;
55
- rootModule: ModuleInstance;
56
- }>;
57
- type AsyncQueryBusClientParams = AsyncQueryBusParams<AsyncQueryBusClientConfig>;
58
- type AsyncQueryBusHostParams = AsyncQueryBusParams<AsyncQueryBusHostConfig> & {
59
- onQueryFulfillFinished?: (args: Omit<QueryFulfillFinishedEventArgs, 'mod'>) => void;
60
- onQueryFulfillStarted?: (args: Omit<QueryFulfillStartedEventArgs, 'mod'>) => void;
61
- };
62
-
63
- declare const Pending: "pending";
64
- type Pending = typeof Pending;
65
-
66
- declare class AsyncQueryBusBase<TParams extends AsyncQueryBusParams = AsyncQueryBusParams> extends Base<TParams> {
67
- protected _lastState?: LRUCache<Address, Hex>;
68
- protected _targetConfigs: Record<Address, ModuleConfig>;
69
- protected _targetQueries: Record<Address, string[]>;
70
- private _lastResolveFailure;
71
- private _queriesArchivist?;
72
- private _queriesDiviner?;
73
- private _reResolveDelay;
74
- private _resolveMutex;
75
- private _responsesArchivist?;
76
- private _responsesDiviner?;
77
- constructor(params: TParams);
78
- get config(): TParams['config'];
79
- get pollFrequency(): number;
80
- get rootModule(): ModuleInstance<_xylabs_object.BaseParamsFields & {
81
- account?: _xyo_network_account.AccountInstance | "random";
82
- addToResolvers?: boolean;
83
- additionalSigners?: _xyo_network_account.AccountInstance[];
84
- allowNameResolution?: boolean;
85
- config: _xyo_network_module_model.AnyConfigSchema<ModuleConfig<void, void>>;
86
- ephemeralQueryAccountEnabled?: boolean;
87
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
88
- privateChildren?: ModuleInstance[];
89
- publicChildren?: ModuleInstance[];
90
- }, _xyo_network_module_model.ModuleEventData<object>>;
91
- protected get lastState(): LRUCache<Address, Hex>;
92
- queriesArchivist(): Promise<ArchivistInstance<_xylabs_object.BaseParamsFields & {
93
- account?: _xyo_network_account.AccountInstance | "random";
94
- addToResolvers?: boolean;
95
- additionalSigners?: _xyo_network_account.AccountInstance[];
96
- allowNameResolution?: boolean;
97
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_archivist_model.ArchivistConfig<void, void>>;
98
- ephemeralQueryAccountEnabled?: boolean;
99
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
100
- privateChildren?: ModuleInstance[];
101
- publicChildren?: ModuleInstance[];
102
- } & _xyo_network_archivist_model.ArchivistParamFields & object, _xyo_network_archivist_model.ArchivistModuleEventData, _xyo_network_payload_model.Payload> | undefined>;
103
- queriesDiviner(): Promise<DivinerInstance<_xylabs_object.BaseParamsFields & {
104
- account?: _xyo_network_account.AccountInstance | "random";
105
- addToResolvers?: boolean;
106
- additionalSigners?: _xyo_network_account.AccountInstance[];
107
- allowNameResolution?: boolean;
108
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_diviner_boundwitness_model.BoundWitnessDivinerConfig<_xyo_network_payload_model.Payload>>;
109
- ephemeralQueryAccountEnabled?: boolean;
110
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
111
- privateChildren?: ModuleInstance[];
112
- publicChildren?: ModuleInstance[];
113
- }, BoundWitnessDivinerQueryPayload, _xyo_network_boundwitness_model.UnsignedQueryBoundWitness, _xyo_network_diviner_model.DivinerModuleEventData<ModuleInstance<_xylabs_object.BaseParamsFields & {
114
- account?: _xyo_network_account.AccountInstance | "random";
115
- addToResolvers?: boolean;
116
- additionalSigners?: _xyo_network_account.AccountInstance[];
117
- allowNameResolution?: boolean;
118
- config: _xyo_network_module_model.AnyConfigSchema<ModuleConfig<void, void>>;
119
- ephemeralQueryAccountEnabled?: boolean;
120
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
121
- privateChildren?: ModuleInstance[];
122
- publicChildren?: ModuleInstance[];
123
- }, _xyo_network_module_model.ModuleEventData<object>>, _xyo_network_payload_model.Payload, _xyo_network_payload_model.Payload>>>;
124
- responsesArchivist(): Promise<ArchivistInstance<_xylabs_object.BaseParamsFields & {
125
- account?: _xyo_network_account.AccountInstance | "random";
126
- addToResolvers?: boolean;
127
- additionalSigners?: _xyo_network_account.AccountInstance[];
128
- allowNameResolution?: boolean;
129
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_archivist_model.ArchivistConfig<void, void>>;
130
- ephemeralQueryAccountEnabled?: boolean;
131
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
132
- privateChildren?: ModuleInstance[];
133
- publicChildren?: ModuleInstance[];
134
- } & _xyo_network_archivist_model.ArchivistParamFields & object, _xyo_network_archivist_model.ArchivistModuleEventData, _xyo_network_payload_model.Payload> | undefined>;
135
- responsesDiviner(): Promise<DivinerInstance<_xylabs_object.BaseParamsFields & {
136
- account?: _xyo_network_account.AccountInstance | "random";
137
- addToResolvers?: boolean;
138
- additionalSigners?: _xyo_network_account.AccountInstance[];
139
- allowNameResolution?: boolean;
140
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_diviner_boundwitness_model.BoundWitnessDivinerConfig<_xyo_network_payload_model.Payload>>;
141
- ephemeralQueryAccountEnabled?: boolean;
142
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
143
- privateChildren?: ModuleInstance[];
144
- publicChildren?: ModuleInstance[];
145
- }, BoundWitnessDivinerQueryPayload, BoundWitness, _xyo_network_diviner_model.DivinerModuleEventData<ModuleInstance<_xylabs_object.BaseParamsFields & {
146
- account?: _xyo_network_account.AccountInstance | "random";
147
- addToResolvers?: boolean;
148
- additionalSigners?: _xyo_network_account.AccountInstance[];
149
- allowNameResolution?: boolean;
150
- config: _xyo_network_module_model.AnyConfigSchema<ModuleConfig<void, void>>;
151
- ephemeralQueryAccountEnabled?: boolean;
152
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
153
- privateChildren?: ModuleInstance[];
154
- publicChildren?: ModuleInstance[];
155
- }, _xyo_network_module_model.ModuleEventData<object>>, _xyo_network_payload_model.Payload, _xyo_network_payload_model.Payload>>>;
156
- protected commitState(address: Address, nextState: Hex): Promise<void>;
157
- protected retrieveState(address: Address): Promise<Hex>;
158
- private resolve;
159
- }
160
-
161
- declare class AsyncQueryBusClient<TParams extends AsyncQueryBusClientParams = AsyncQueryBusClientParams> extends AsyncQueryBusBase<TParams> {
162
- protected _queryCache?: LRUCache<Address, Pending | ModuleQueryResult>;
163
- private _pollCount;
164
- private _pollId?;
165
- constructor(params: TParams);
166
- get queryCacheConfig(): LRUCache.Options<Address, Pending | ModuleQueryResult, unknown>;
167
- get started(): boolean;
168
- protected get queryCache(): LRUCache<Address, Pending | ModuleQueryResult>;
169
- listeningAddresses(): Generator<Lowercase<string>, void, unknown> | undefined;
170
- send(address: Address, query: QueryBoundWitness, payloads?: Payload[] | undefined): Promise<ModuleQueryResult>;
171
- private poll;
172
- private processIncomingResponses;
173
- private start;
174
- private stop;
175
- }
176
-
177
- interface ExposeOptions {
178
- allowedQueries?: Schema[];
179
- failOnAlreadyExposed?: boolean;
180
- }
181
- declare class AsyncQueryBusHost<TParams extends AsyncQueryBusHostParams = AsyncQueryBusHostParams> extends AsyncQueryBusBase<TParams> {
182
- protected _exposedAddresses: Set<Lowercase<string>>;
183
- private _exposeOptions;
184
- private _idle;
185
- private _lastQueryTime?;
186
- private _pollId?;
187
- constructor(params: TParams);
188
- get exposedAddresses(): Set<Lowercase<string>>;
189
- get idlePollFrequency(): number;
190
- get idleThreshold(): number;
191
- get perAddressBatchQueryLimit(): number;
192
- get started(): boolean;
193
- expose(mod: ModuleInstance, options?: ExposeOptions): ModuleInstance<_xylabs_object.BaseParamsFields & {
194
- account?: _xyo_network_account.AccountInstance | "random";
195
- addToResolvers?: boolean;
196
- additionalSigners?: _xyo_network_account.AccountInstance[];
197
- allowNameResolution?: boolean;
198
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig<void, void>>;
199
- ephemeralQueryAccountEnabled?: boolean;
200
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
201
- privateChildren?: ModuleInstance[];
202
- publicChildren?: ModuleInstance[];
203
- }, _xyo_network_module_model.ModuleEventData<object>> | undefined;
204
- listeningModules(): Promise<ModuleInstance[]>;
205
- start(): void;
206
- stop(): void;
207
- unexpose(id: ModuleIdentifier, validate?: boolean): Promise<ModuleInstance<_xylabs_object.BaseParamsFields & {
208
- account?: _xyo_network_account.AccountInstance | "random";
209
- addToResolvers?: boolean;
210
- additionalSigners?: _xyo_network_account.AccountInstance[];
211
- allowNameResolution?: boolean;
212
- config: _xyo_network_module_model.AnyConfigSchema<_xyo_network_module_model.ModuleConfig>;
213
- ephemeralQueryAccountEnabled?: boolean;
214
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
215
- privateChildren?: ModuleInstance[];
216
- publicChildren?: ModuleInstance[];
217
- }, _xyo_network_module_model.ModuleEventData<object>> | undefined>;
218
- protected callLocalModule: (localModule: ModuleInstance, query: WithStorageMeta<QueryBoundWitness>) => Promise<void>;
219
- protected findQueriesToAddress: (address: Address) => Promise<WithStorageMeta<_xyo_network_boundwitness_model.UnsignedQueryBoundWitness>[] | undefined>;
220
- private poll;
221
- private processIncomingQueries;
222
- }
223
-
224
- type AsyncQueryBusModuleHostParams = ModuleHostParams & {
225
- config: AsyncQueryBusHostConfig;
226
- };
227
- declare class AsyncQueryBusModuleHost extends AbstractModuleHost<AsyncQueryBusModuleHostParams> {
228
- private _busHost?;
229
- constructor(params: AsyncQueryBusModuleHostParams);
230
- start(): Promise<void>;
231
- stop(): void;
232
- }
233
-
234
- type AsyncQueryBusModuleProxyParams = ModuleProxyParams & {
235
- busClient: AsyncQueryBusClient;
236
- };
237
- declare class AsyncQueryBusModuleProxy<TWrappedModule extends ModuleInstance = ModuleInstance, TParams extends Omit<AsyncQueryBusModuleProxyParams, 'config'> & {
238
- config: TWrappedModule['config'];
239
- } = Omit<AsyncQueryBusModuleProxyParams, 'config'> & {
240
- config: TWrappedModule['config'];
241
- }> extends AbstractModuleProxy<TWrappedModule, TParams> implements ModuleInstance<TParams, TWrappedModule['eventData']> {
242
- protected static createCount: number;
243
- constructor(params: TParams);
244
- get id(): ModuleIdentifier;
245
- get modName(): ModuleName | undefined;
246
- proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
247
- publicChildren(): Promise<ModuleInstance[]>;
248
- resolve(): Promise<ModuleInstance[]>;
249
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
250
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
251
- startHandler(): Promise<boolean>;
252
- }
253
-
254
- declare const PubSubBridgeConfigSchema: "network.xyo.bridge.pubsub.config";
255
- type PubSubBridgeConfigSchema = typeof PubSubBridgeConfigSchema;
256
- type PubSubBridgeConfig<TConfig extends EmptyObject = EmptyObject, TSchema extends string | void = void> = BridgeConfig<{
257
- client?: AsyncQueryBusClientConfig;
258
- host?: AsyncQueryBusHostConfig;
259
- roots?: Address[];
260
- } & TConfig, TSchema extends string ? TSchema : PubSubBridgeConfigSchema>;
261
-
262
- type PubSubBridgeParams<TConfig extends AnyConfigSchema<PubSubBridgeConfig> = AnyConfigSchema<PubSubBridgeConfig>> = BridgeParams<TConfig>;
263
-
264
- interface PubSubBridgeModuleResolverParams extends BridgeModuleResolverParams {
265
- busClient: AsyncQueryBusClient;
266
- }
267
- declare class PubSubBridgeModuleResolver extends AbstractBridgeModuleResolver<PubSubBridgeModuleResolverParams> {
268
- protected _resolvedCache: LRUCache<Lowercase<string>, ModuleInstance<_xylabs_object.BaseParamsFields & {
269
- account?: _xyo_network_account.AccountInstance | "random";
270
- addToResolvers?: boolean;
271
- additionalSigners?: _xyo_network_account.AccountInstance[];
272
- allowNameResolution?: boolean;
273
- config: _xyo_network_module_model.AnyConfigSchema<ModuleConfig<void, void>>;
274
- ephemeralQueryAccountEnabled?: boolean;
275
- moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
276
- privateChildren?: ModuleInstance[];
277
- publicChildren?: ModuleInstance[];
278
- }, _xyo_network_module_model.ModuleEventData<object>>, unknown>;
279
- protected _resolvedCacheMutex: Mutex;
280
- resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T[]>;
281
- }
282
-
283
- declare class PubSubBridge<TParams extends PubSubBridgeParams = PubSubBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
284
- static readonly configSchemas: Schema[];
285
- static readonly defaultConfigSchema: Schema;
286
- protected _configRootAddress: Address;
287
- protected _configStateStoreArchivist: string;
288
- protected _configStateStoreBoundWitnessDiviner: string;
289
- protected _exposedAddresses: Address[];
290
- protected _lastState?: LRUCache<string, number>;
291
- private _busClient?;
292
- private _busHost?;
293
- private _discoverRootsMutex;
294
- private _resolver?;
295
- get resolver(): PubSubBridgeModuleResolver;
296
- protected get moduleName(): string;
297
- connect(id: ModuleIdentifier, maxDepth?: number): Promise<Address | undefined>;
298
- disconnect(id: ModuleIdentifier): Promise<Address | undefined>;
299
- exposeChild(mod: ModuleInstance, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
300
- exposeHandler(address: Address, options?: BridgeExposeOptions | undefined): Promise<ModuleInstance[]>;
301
- exposedHandler(): Address[];
302
- getRoots(force?: boolean): Promise<ModuleInstance[]>;
303
- resolve(): Promise<ModuleInstance[]>;
304
- resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
305
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
306
- startHandler(): Promise<boolean>;
307
- unexposeHandler(id: ModuleIdentifier, options?: BridgeUnexposeOptions | undefined): Promise<ModuleInstance[]>;
308
- protected busClient(): AsyncQueryBusClient<AsyncQueryBusClientParams> | undefined;
309
- protected busHost(): AsyncQueryBusHost<AsyncQueryBusHostParams> | undefined;
310
- protected connectInstance(instance?: ModuleInstance, maxDepth?: number): Promise<Address | undefined>;
311
- protected stopHandler(_timeout?: number | undefined): boolean;
312
- }
313
-
314
- declare const PubSubBridgeSchema: "network.xyo.bridge.pubsub";
315
- type PubSubBridgeSchema = typeof PubSubBridgeSchema;
316
-
317
- export { AbstractModuleHost, type AsyncQueryBusBaseConfig, AsyncQueryBusClient, type AsyncQueryBusClientConfig, type AsyncQueryBusClientParams, AsyncQueryBusHost, type AsyncQueryBusHostConfig, type AsyncQueryBusHostParams, type AsyncQueryBusIntersectConfig, AsyncQueryBusModuleHost, type AsyncQueryBusModuleHostParams, AsyncQueryBusModuleProxy, type AsyncQueryBusModuleProxyParams, type AsyncQueryBusParams, type ExposeOptions, type ModuleHostParams, Pending, PubSubBridge, type PubSubBridgeConfig, PubSubBridgeConfigSchema, PubSubBridgeModuleResolver, type PubSubBridgeModuleResolverParams, type PubSubBridgeParams, PubSubBridgeSchema };
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/bridge-pub-sub",
3
- "version": "3.9.18",
3
+ "version": "3.9.20",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -38,33 +38,33 @@
38
38
  "@xylabs/object": "^4.5.1",
39
39
  "@xylabs/promise": "^4.5.1",
40
40
  "@xylabs/timer": "^4.5.1",
41
- "@xyo-network/account": "^3.9.18",
42
- "@xyo-network/archivist-model": "^3.9.18",
43
- "@xyo-network/boundwitness-model": "^3.9.18",
44
- "@xyo-network/bridge-abstract": "^3.9.18",
45
- "@xyo-network/bridge-model": "^3.9.18",
46
- "@xyo-network/config-payload-plugin": "^3.9.18",
47
- "@xyo-network/diviner-boundwitness-model": "^3.9.18",
48
- "@xyo-network/diviner-model": "^3.9.18",
49
- "@xyo-network/module-model": "^3.9.18",
50
- "@xyo-network/node-model": "^3.9.18",
51
- "@xyo-network/payload-builder": "^3.9.18",
52
- "@xyo-network/payload-model": "^3.9.18",
41
+ "@xyo-network/account": "^3.9.20",
42
+ "@xyo-network/archivist-model": "^3.9.20",
43
+ "@xyo-network/boundwitness-model": "^3.9.20",
44
+ "@xyo-network/bridge-abstract": "^3.9.20",
45
+ "@xyo-network/bridge-model": "^3.9.20",
46
+ "@xyo-network/config-payload-plugin": "^3.9.20",
47
+ "@xyo-network/diviner-boundwitness-model": "^3.9.20",
48
+ "@xyo-network/diviner-model": "^3.9.20",
49
+ "@xyo-network/module-model": "^3.9.20",
50
+ "@xyo-network/node-model": "^3.9.20",
51
+ "@xyo-network/payload-builder": "^3.9.20",
52
+ "@xyo-network/payload-model": "^3.9.20",
53
53
  "async-mutex": "^0.5.0",
54
54
  "lru-cache": "^11.0.2"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@xylabs/logger": "^4.5.1",
58
- "@xylabs/ts-scripts-yarn3": "^5.0.25",
59
- "@xylabs/tsconfig": "^5.0.25",
58
+ "@xylabs/ts-scripts-yarn3": "^5.0.39",
59
+ "@xylabs/tsconfig": "^5.0.39",
60
60
  "@xylabs/vitest-extended": "^4.5.1",
61
- "@xyo-network/archivist-memory": "^3.9.18",
62
- "@xyo-network/diviner-boundwitness-memory": "^3.9.18",
63
- "@xyo-network/module-abstract": "^3.9.18",
64
- "@xyo-network/node-memory": "^3.9.18",
65
- "@xyo-network/node-model": "^3.9.18",
66
- "@xyo-network/payload-wrapper": "^3.9.18",
67
- "typescript": "^5.7.3",
61
+ "@xyo-network/archivist-memory": "^3.9.20",
62
+ "@xyo-network/diviner-boundwitness-memory": "^3.9.20",
63
+ "@xyo-network/module-abstract": "^3.9.20",
64
+ "@xyo-network/node-memory": "^3.9.20",
65
+ "@xyo-network/node-model": "^3.9.20",
66
+ "@xyo-network/payload-wrapper": "^3.9.20",
67
+ "typescript": "^5.8.2",
68
68
  "vitest": "^3.0.7"
69
69
  },
70
70
  "publishConfig": {