@xyo-network/bridge-worker 2.111.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.d.ts +97 -5
- package/dist/neutral/index.d.ts +97 -5
- package/dist/node/index.d.ts +97 -5
- package/dist/node/index.mjs +17 -22
- package/dist/node/index.mjs.map +1 -1
- package/package.json +22 -24
- package/xy.config.ts +12 -0
- package/dist/browser/WorkerBridge.d.cts +0 -64
- package/dist/browser/WorkerBridge.d.cts.map +0 -1
- package/dist/browser/WorkerBridge.d.mts +0 -64
- package/dist/browser/WorkerBridge.d.mts.map +0 -1
- package/dist/browser/WorkerBridge.d.ts +0 -64
- package/dist/browser/WorkerBridge.d.ts.map +0 -1
- package/dist/browser/WorkerBridgeConfig.d.cts +0 -6
- package/dist/browser/WorkerBridgeConfig.d.cts.map +0 -1
- package/dist/browser/WorkerBridgeConfig.d.mts +0 -6
- package/dist/browser/WorkerBridgeConfig.d.mts.map +0 -1
- package/dist/browser/WorkerBridgeConfig.d.ts +0 -6
- package/dist/browser/WorkerBridgeConfig.d.ts.map +0 -1
- package/dist/browser/defaultNodeManifest.d.cts +0 -3
- package/dist/browser/defaultNodeManifest.d.cts.map +0 -1
- package/dist/browser/defaultNodeManifest.d.mts +0 -3
- package/dist/browser/defaultNodeManifest.d.mts.map +0 -1
- package/dist/browser/defaultNodeManifest.d.ts +0 -3
- package/dist/browser/defaultNodeManifest.d.ts.map +0 -1
- package/dist/browser/docsEntry.d.cts +0 -4
- package/dist/browser/docsEntry.d.cts.map +0 -1
- package/dist/browser/docsEntry.d.mts +0 -4
- package/dist/browser/docsEntry.d.mts.map +0 -1
- package/dist/browser/docsEntry.d.ts +0 -4
- package/dist/browser/docsEntry.d.ts.map +0 -1
- package/dist/browser/index.cjs +0 -257
- package/dist/browser/index.cjs.map +0 -1
- package/dist/browser/index.d.cts +0 -5
- package/dist/browser/index.d.cts.map +0 -1
- package/dist/browser/index.d.mts +0 -5
- package/dist/browser/index.d.mts.map +0 -1
- package/dist/browser/index.d.ts.map +0 -1
- package/dist/browser/worker/Worker.d.cts +0 -2
- package/dist/browser/worker/Worker.d.cts.map +0 -1
- package/dist/browser/worker/Worker.d.mts +0 -2
- package/dist/browser/worker/Worker.d.mts.map +0 -1
- package/dist/browser/worker/Worker.d.ts +0 -2
- package/dist/browser/worker/Worker.d.ts.map +0 -1
- package/dist/browser/worker/WorkerNodeHost.d.cts +0 -22
- package/dist/browser/worker/WorkerNodeHost.d.cts.map +0 -1
- package/dist/browser/worker/WorkerNodeHost.d.mts +0 -22
- package/dist/browser/worker/WorkerNodeHost.d.mts.map +0 -1
- package/dist/browser/worker/WorkerNodeHost.d.ts +0 -22
- package/dist/browser/worker/WorkerNodeHost.d.ts.map +0 -1
- package/dist/browser/worker/index.d.cts +0 -2
- package/dist/browser/worker/index.d.cts.map +0 -1
- package/dist/browser/worker/index.d.mts +0 -2
- package/dist/browser/worker/index.d.mts.map +0 -1
- package/dist/browser/worker/index.d.ts +0 -2
- package/dist/browser/worker/index.d.ts.map +0 -1
- package/dist/neutral/WorkerBridge.d.cts +0 -64
- package/dist/neutral/WorkerBridge.d.cts.map +0 -1
- package/dist/neutral/WorkerBridge.d.mts +0 -64
- package/dist/neutral/WorkerBridge.d.mts.map +0 -1
- package/dist/neutral/WorkerBridge.d.ts +0 -64
- package/dist/neutral/WorkerBridge.d.ts.map +0 -1
- package/dist/neutral/WorkerBridgeConfig.d.cts +0 -6
- package/dist/neutral/WorkerBridgeConfig.d.cts.map +0 -1
- package/dist/neutral/WorkerBridgeConfig.d.mts +0 -6
- package/dist/neutral/WorkerBridgeConfig.d.mts.map +0 -1
- package/dist/neutral/WorkerBridgeConfig.d.ts +0 -6
- package/dist/neutral/WorkerBridgeConfig.d.ts.map +0 -1
- package/dist/neutral/defaultNodeManifest.d.cts +0 -3
- package/dist/neutral/defaultNodeManifest.d.cts.map +0 -1
- package/dist/neutral/defaultNodeManifest.d.mts +0 -3
- package/dist/neutral/defaultNodeManifest.d.mts.map +0 -1
- package/dist/neutral/defaultNodeManifest.d.ts +0 -3
- package/dist/neutral/defaultNodeManifest.d.ts.map +0 -1
- package/dist/neutral/docsEntry.d.cts +0 -4
- package/dist/neutral/docsEntry.d.cts.map +0 -1
- package/dist/neutral/docsEntry.d.mts +0 -4
- package/dist/neutral/docsEntry.d.mts.map +0 -1
- package/dist/neutral/docsEntry.d.ts +0 -4
- package/dist/neutral/docsEntry.d.ts.map +0 -1
- package/dist/neutral/index.cjs +0 -257
- package/dist/neutral/index.cjs.map +0 -1
- package/dist/neutral/index.d.cts +0 -5
- package/dist/neutral/index.d.cts.map +0 -1
- package/dist/neutral/index.d.mts +0 -5
- package/dist/neutral/index.d.mts.map +0 -1
- package/dist/neutral/index.d.ts.map +0 -1
- package/dist/neutral/worker/Worker.d.cts +0 -2
- package/dist/neutral/worker/Worker.d.cts.map +0 -1
- package/dist/neutral/worker/Worker.d.mts +0 -2
- package/dist/neutral/worker/Worker.d.mts.map +0 -1
- package/dist/neutral/worker/Worker.d.ts +0 -2
- package/dist/neutral/worker/Worker.d.ts.map +0 -1
- package/dist/neutral/worker/WorkerNodeHost.d.cts +0 -22
- package/dist/neutral/worker/WorkerNodeHost.d.cts.map +0 -1
- package/dist/neutral/worker/WorkerNodeHost.d.mts +0 -22
- package/dist/neutral/worker/WorkerNodeHost.d.mts.map +0 -1
- package/dist/neutral/worker/WorkerNodeHost.d.ts +0 -22
- package/dist/neutral/worker/WorkerNodeHost.d.ts.map +0 -1
- package/dist/neutral/worker/index.d.cts +0 -2
- package/dist/neutral/worker/index.d.cts.map +0 -1
- package/dist/neutral/worker/index.d.mts +0 -2
- package/dist/neutral/worker/index.d.mts.map +0 -1
- package/dist/neutral/worker/index.d.ts +0 -2
- package/dist/neutral/worker/index.d.ts.map +0 -1
- package/dist/node/WorkerBridge.d.cts +0 -64
- package/dist/node/WorkerBridge.d.cts.map +0 -1
- package/dist/node/WorkerBridge.d.mts +0 -64
- package/dist/node/WorkerBridge.d.mts.map +0 -1
- package/dist/node/WorkerBridge.d.ts +0 -64
- package/dist/node/WorkerBridge.d.ts.map +0 -1
- package/dist/node/WorkerBridgeConfig.d.cts +0 -6
- package/dist/node/WorkerBridgeConfig.d.cts.map +0 -1
- package/dist/node/WorkerBridgeConfig.d.mts +0 -6
- package/dist/node/WorkerBridgeConfig.d.mts.map +0 -1
- package/dist/node/WorkerBridgeConfig.d.ts +0 -6
- package/dist/node/WorkerBridgeConfig.d.ts.map +0 -1
- package/dist/node/defaultNodeManifest.d.cts +0 -3
- package/dist/node/defaultNodeManifest.d.cts.map +0 -1
- package/dist/node/defaultNodeManifest.d.mts +0 -3
- package/dist/node/defaultNodeManifest.d.mts.map +0 -1
- package/dist/node/defaultNodeManifest.d.ts +0 -3
- package/dist/node/defaultNodeManifest.d.ts.map +0 -1
- package/dist/node/docsEntry.d.cts +0 -4
- package/dist/node/docsEntry.d.cts.map +0 -1
- package/dist/node/docsEntry.d.mts +0 -4
- package/dist/node/docsEntry.d.mts.map +0 -1
- package/dist/node/docsEntry.d.ts +0 -4
- package/dist/node/docsEntry.d.ts.map +0 -1
- package/dist/node/index.cjs +0 -268
- package/dist/node/index.cjs.map +0 -1
- package/dist/node/index.d.cts +0 -5
- package/dist/node/index.d.cts.map +0 -1
- package/dist/node/index.d.mts +0 -5
- package/dist/node/index.d.mts.map +0 -1
- package/dist/node/index.d.ts.map +0 -1
- package/dist/node/worker/Worker.d.cts +0 -2
- package/dist/node/worker/Worker.d.cts.map +0 -1
- package/dist/node/worker/Worker.d.mts +0 -2
- package/dist/node/worker/Worker.d.mts.map +0 -1
- package/dist/node/worker/Worker.d.ts +0 -2
- package/dist/node/worker/Worker.d.ts.map +0 -1
- package/dist/node/worker/WorkerNodeHost.d.cts +0 -22
- package/dist/node/worker/WorkerNodeHost.d.cts.map +0 -1
- package/dist/node/worker/WorkerNodeHost.d.mts +0 -22
- package/dist/node/worker/WorkerNodeHost.d.mts.map +0 -1
- package/dist/node/worker/WorkerNodeHost.d.ts +0 -22
- package/dist/node/worker/WorkerNodeHost.d.ts.map +0 -1
- package/dist/node/worker/index.d.cts +0 -2
- package/dist/node/worker/index.d.cts.map +0 -1
- package/dist/node/worker/index.d.mts +0 -2
- package/dist/node/worker/index.d.mts.map +0 -1
- package/dist/node/worker/index.d.ts +0 -2
- package/dist/node/worker/index.d.ts.map +0 -1
package/dist/browser/index.d.ts
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { PackageManifestPayload } from '@xyo-network/manifest-model';
|
|
2
|
+
import { Address } from '@xylabs/hex';
|
|
3
|
+
import { Logger } from '@xylabs/logger';
|
|
4
|
+
import { PackageManifestPayload as PackageManifestPayload$1 } from '@xyo-network/manifest';
|
|
5
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
6
|
+
import * as _xyo_network_bridge_model from '@xyo-network/bridge-model';
|
|
7
|
+
import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
|
|
8
|
+
import * as _xyo_network_module_model from '@xyo-network/module-model';
|
|
9
|
+
import { AnyConfigSchema, ModuleParams, ModuleQueryResult, ModuleInstance } from '@xyo-network/module-model';
|
|
10
|
+
import * as _xyo_network_account from '@xyo-network/account';
|
|
11
|
+
import * as _xylabs_object from '@xylabs/object';
|
|
12
|
+
import { EmptyObject } from '@xylabs/object';
|
|
13
|
+
import * as _xyo_network_payload_model from '@xyo-network/payload-model';
|
|
14
|
+
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
15
|
+
import { Promisable } from '@xylabs/promise';
|
|
16
|
+
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
17
|
+
import { AbstractBridge } from '@xyo-network/bridge-abstract';
|
|
18
|
+
import { LRUCache } from 'lru-cache';
|
|
19
|
+
|
|
20
|
+
declare const defaultPackageManifest: PackageManifestPayload;
|
|
21
|
+
|
|
22
|
+
type WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config';
|
|
23
|
+
declare const WorkerBridgeConfigSchema: WorkerBridgeConfigSchema;
|
|
24
|
+
type WorkerBridgeConfig<TConfig extends EmptyObject = EmptyObject> = BridgeConfig<TConfig, WorkerBridgeConfigSchema>;
|
|
25
|
+
|
|
26
|
+
type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<TConfig, {
|
|
27
|
+
worker?: Worker;
|
|
28
|
+
}>;
|
|
29
|
+
interface Message<T extends string = string> {
|
|
30
|
+
type: T;
|
|
31
|
+
}
|
|
32
|
+
interface QueryMessage extends Message<'xyoQuery'> {
|
|
33
|
+
address: Address;
|
|
34
|
+
msgId?: string;
|
|
35
|
+
payloads?: Payload[];
|
|
36
|
+
query: QueryBoundWitness;
|
|
37
|
+
}
|
|
38
|
+
interface QueryResultMessage {
|
|
39
|
+
address: Address;
|
|
40
|
+
msgId?: string;
|
|
41
|
+
result: ModuleQueryResult;
|
|
42
|
+
}
|
|
43
|
+
declare class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
|
|
44
|
+
static readonly configSchemas: Schema[];
|
|
45
|
+
static readonly defaultConfigSchema: Schema;
|
|
46
|
+
private _discoverCache?;
|
|
47
|
+
private _targetConfigs;
|
|
48
|
+
private _targetQueries;
|
|
49
|
+
get discoverCache(): LRUCache<string, ({
|
|
50
|
+
schema: string;
|
|
51
|
+
} & _xyo_network_payload_model.PayloadFields)[], unknown>;
|
|
52
|
+
get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown>;
|
|
53
|
+
get worker(): Worker;
|
|
54
|
+
static createWorkerNode(manifest?: PackageManifestPayload): Promise<WorkerBridge<_xylabs_object.BaseParamsFields & {
|
|
55
|
+
account?: _xyo_network_account.AccountInstance | "random";
|
|
56
|
+
addToResolvers?: boolean;
|
|
57
|
+
additionalSigners?: _xyo_network_account.AccountInstance[];
|
|
58
|
+
allowNameResolution?: boolean;
|
|
59
|
+
config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
|
|
60
|
+
client?: _xyo_network_bridge_model.BridgeClientConfig | undefined;
|
|
61
|
+
discoverRoots?: "start" | "lazy";
|
|
62
|
+
host?: _xyo_network_bridge_model.BridgeHostConfig | undefined;
|
|
63
|
+
schema: "network.xyo.bridge.config";
|
|
64
|
+
} & object, "schema"> & {
|
|
65
|
+
schema: "network.xyo.bridge.worker.config";
|
|
66
|
+
}, "schema"> & {
|
|
67
|
+
schema: string;
|
|
68
|
+
};
|
|
69
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
70
|
+
moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
|
|
71
|
+
} & {
|
|
72
|
+
worker?: Worker;
|
|
73
|
+
}>>;
|
|
74
|
+
exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
75
|
+
exposedHandler(): Promisable<Address[]>;
|
|
76
|
+
getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]>;
|
|
77
|
+
unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type QueryEvent = MessageEvent<QueryMessage>;
|
|
81
|
+
interface CreateNodeMessage extends Message<'createNode'> {
|
|
82
|
+
manifest: PackageManifestPayload$1;
|
|
83
|
+
}
|
|
84
|
+
type CreateNodeEvent = MessageEvent<CreateNodeMessage>;
|
|
85
|
+
interface NodeCreatedMessage extends Message<'nodeCreated'> {
|
|
86
|
+
address: Address;
|
|
87
|
+
}
|
|
88
|
+
declare class WorkerNodeHost {
|
|
89
|
+
protected node: NodeInstance;
|
|
90
|
+
protected logger?: Logger | undefined;
|
|
91
|
+
constructor(node: NodeInstance, logger?: Logger | undefined);
|
|
92
|
+
static create(config: PackageManifestPayload$1): Promise<WorkerNodeHost>;
|
|
93
|
+
static start(logger?: Logger): void;
|
|
94
|
+
private attachNode;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { type CreateNodeEvent, type CreateNodeMessage, type Message, type NodeCreatedMessage, type QueryEvent, type QueryMessage, type QueryResultMessage, WorkerBridge, type WorkerBridgeConfig, WorkerBridgeConfigSchema, type WorkerBridgeParams, WorkerNodeHost, defaultPackageManifest };
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { PackageManifestPayload } from '@xyo-network/manifest-model';
|
|
2
|
+
import { Address } from '@xylabs/hex';
|
|
3
|
+
import { Logger } from '@xylabs/logger';
|
|
4
|
+
import { PackageManifestPayload as PackageManifestPayload$1 } from '@xyo-network/manifest';
|
|
5
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
6
|
+
import * as _xyo_network_bridge_model from '@xyo-network/bridge-model';
|
|
7
|
+
import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
|
|
8
|
+
import * as _xyo_network_module_model from '@xyo-network/module-model';
|
|
9
|
+
import { AnyConfigSchema, ModuleParams, ModuleQueryResult, ModuleInstance } from '@xyo-network/module-model';
|
|
10
|
+
import * as _xyo_network_account from '@xyo-network/account';
|
|
11
|
+
import * as _xylabs_object from '@xylabs/object';
|
|
12
|
+
import { EmptyObject } from '@xylabs/object';
|
|
13
|
+
import * as _xyo_network_payload_model from '@xyo-network/payload-model';
|
|
14
|
+
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
15
|
+
import { Promisable } from '@xylabs/promise';
|
|
16
|
+
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
17
|
+
import { AbstractBridge } from '@xyo-network/bridge-abstract';
|
|
18
|
+
import { LRUCache } from 'lru-cache';
|
|
19
|
+
|
|
20
|
+
declare const defaultPackageManifest: PackageManifestPayload;
|
|
21
|
+
|
|
22
|
+
type WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config';
|
|
23
|
+
declare const WorkerBridgeConfigSchema: WorkerBridgeConfigSchema;
|
|
24
|
+
type WorkerBridgeConfig<TConfig extends EmptyObject = EmptyObject> = BridgeConfig<TConfig, WorkerBridgeConfigSchema>;
|
|
25
|
+
|
|
26
|
+
type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<TConfig, {
|
|
27
|
+
worker?: Worker;
|
|
28
|
+
}>;
|
|
29
|
+
interface Message<T extends string = string> {
|
|
30
|
+
type: T;
|
|
31
|
+
}
|
|
32
|
+
interface QueryMessage extends Message<'xyoQuery'> {
|
|
33
|
+
address: Address;
|
|
34
|
+
msgId?: string;
|
|
35
|
+
payloads?: Payload[];
|
|
36
|
+
query: QueryBoundWitness;
|
|
37
|
+
}
|
|
38
|
+
interface QueryResultMessage {
|
|
39
|
+
address: Address;
|
|
40
|
+
msgId?: string;
|
|
41
|
+
result: ModuleQueryResult;
|
|
42
|
+
}
|
|
43
|
+
declare class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
|
|
44
|
+
static readonly configSchemas: Schema[];
|
|
45
|
+
static readonly defaultConfigSchema: Schema;
|
|
46
|
+
private _discoverCache?;
|
|
47
|
+
private _targetConfigs;
|
|
48
|
+
private _targetQueries;
|
|
49
|
+
get discoverCache(): LRUCache<string, ({
|
|
50
|
+
schema: string;
|
|
51
|
+
} & _xyo_network_payload_model.PayloadFields)[], unknown>;
|
|
52
|
+
get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown>;
|
|
53
|
+
get worker(): Worker;
|
|
54
|
+
static createWorkerNode(manifest?: PackageManifestPayload): Promise<WorkerBridge<_xylabs_object.BaseParamsFields & {
|
|
55
|
+
account?: _xyo_network_account.AccountInstance | "random";
|
|
56
|
+
addToResolvers?: boolean;
|
|
57
|
+
additionalSigners?: _xyo_network_account.AccountInstance[];
|
|
58
|
+
allowNameResolution?: boolean;
|
|
59
|
+
config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
|
|
60
|
+
client?: _xyo_network_bridge_model.BridgeClientConfig | undefined;
|
|
61
|
+
discoverRoots?: "start" | "lazy";
|
|
62
|
+
host?: _xyo_network_bridge_model.BridgeHostConfig | undefined;
|
|
63
|
+
schema: "network.xyo.bridge.config";
|
|
64
|
+
} & object, "schema"> & {
|
|
65
|
+
schema: "network.xyo.bridge.worker.config";
|
|
66
|
+
}, "schema"> & {
|
|
67
|
+
schema: string;
|
|
68
|
+
};
|
|
69
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
70
|
+
moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
|
|
71
|
+
} & {
|
|
72
|
+
worker?: Worker;
|
|
73
|
+
}>>;
|
|
74
|
+
exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
75
|
+
exposedHandler(): Promisable<Address[]>;
|
|
76
|
+
getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]>;
|
|
77
|
+
unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type QueryEvent = MessageEvent<QueryMessage>;
|
|
81
|
+
interface CreateNodeMessage extends Message<'createNode'> {
|
|
82
|
+
manifest: PackageManifestPayload$1;
|
|
83
|
+
}
|
|
84
|
+
type CreateNodeEvent = MessageEvent<CreateNodeMessage>;
|
|
85
|
+
interface NodeCreatedMessage extends Message<'nodeCreated'> {
|
|
86
|
+
address: Address;
|
|
87
|
+
}
|
|
88
|
+
declare class WorkerNodeHost {
|
|
89
|
+
protected node: NodeInstance;
|
|
90
|
+
protected logger?: Logger | undefined;
|
|
91
|
+
constructor(node: NodeInstance, logger?: Logger | undefined);
|
|
92
|
+
static create(config: PackageManifestPayload$1): Promise<WorkerNodeHost>;
|
|
93
|
+
static start(logger?: Logger): void;
|
|
94
|
+
private attachNode;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { type CreateNodeEvent, type CreateNodeMessage, type Message, type NodeCreatedMessage, type QueryEvent, type QueryMessage, type QueryResultMessage, WorkerBridge, type WorkerBridgeConfig, WorkerBridgeConfigSchema, type WorkerBridgeParams, WorkerNodeHost, defaultPackageManifest };
|
package/dist/node/index.d.ts
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { PackageManifestPayload } from '@xyo-network/manifest-model';
|
|
2
|
+
import { Address } from '@xylabs/hex';
|
|
3
|
+
import { Logger } from '@xylabs/logger';
|
|
4
|
+
import { PackageManifestPayload as PackageManifestPayload$1 } from '@xyo-network/manifest';
|
|
5
|
+
import { NodeInstance } from '@xyo-network/node-model';
|
|
6
|
+
import * as _xyo_network_bridge_model from '@xyo-network/bridge-model';
|
|
7
|
+
import { BridgeConfig, BridgeModule, BridgeExposeOptions, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
|
|
8
|
+
import * as _xyo_network_module_model from '@xyo-network/module-model';
|
|
9
|
+
import { AnyConfigSchema, ModuleParams, ModuleQueryResult, ModuleInstance } from '@xyo-network/module-model';
|
|
10
|
+
import * as _xyo_network_account from '@xyo-network/account';
|
|
11
|
+
import * as _xylabs_object from '@xylabs/object';
|
|
12
|
+
import { EmptyObject } from '@xylabs/object';
|
|
13
|
+
import * as _xyo_network_payload_model from '@xyo-network/payload-model';
|
|
14
|
+
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
15
|
+
import { Promisable } from '@xylabs/promise';
|
|
16
|
+
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
17
|
+
import { AbstractBridge } from '@xyo-network/bridge-abstract';
|
|
18
|
+
import { LRUCache } from 'lru-cache';
|
|
19
|
+
|
|
20
|
+
declare const defaultPackageManifest: PackageManifestPayload;
|
|
21
|
+
|
|
22
|
+
type WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config';
|
|
23
|
+
declare const WorkerBridgeConfigSchema: WorkerBridgeConfigSchema;
|
|
24
|
+
type WorkerBridgeConfig<TConfig extends EmptyObject = EmptyObject> = BridgeConfig<TConfig, WorkerBridgeConfigSchema>;
|
|
25
|
+
|
|
26
|
+
type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<TConfig, {
|
|
27
|
+
worker?: Worker;
|
|
28
|
+
}>;
|
|
29
|
+
interface Message<T extends string = string> {
|
|
30
|
+
type: T;
|
|
31
|
+
}
|
|
32
|
+
interface QueryMessage extends Message<'xyoQuery'> {
|
|
33
|
+
address: Address;
|
|
34
|
+
msgId?: string;
|
|
35
|
+
payloads?: Payload[];
|
|
36
|
+
query: QueryBoundWitness;
|
|
37
|
+
}
|
|
38
|
+
interface QueryResultMessage {
|
|
39
|
+
address: Address;
|
|
40
|
+
msgId?: string;
|
|
41
|
+
result: ModuleQueryResult;
|
|
42
|
+
}
|
|
43
|
+
declare class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
|
|
44
|
+
static readonly configSchemas: Schema[];
|
|
45
|
+
static readonly defaultConfigSchema: Schema;
|
|
46
|
+
private _discoverCache?;
|
|
47
|
+
private _targetConfigs;
|
|
48
|
+
private _targetQueries;
|
|
49
|
+
get discoverCache(): LRUCache<string, ({
|
|
50
|
+
schema: string;
|
|
51
|
+
} & _xyo_network_payload_model.PayloadFields)[], unknown>;
|
|
52
|
+
get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown>;
|
|
53
|
+
get worker(): Worker;
|
|
54
|
+
static createWorkerNode(manifest?: PackageManifestPayload): Promise<WorkerBridge<_xylabs_object.BaseParamsFields & {
|
|
55
|
+
account?: _xyo_network_account.AccountInstance | "random";
|
|
56
|
+
addToResolvers?: boolean;
|
|
57
|
+
additionalSigners?: _xyo_network_account.AccountInstance[];
|
|
58
|
+
allowNameResolution?: boolean;
|
|
59
|
+
config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
|
|
60
|
+
client?: _xyo_network_bridge_model.BridgeClientConfig | undefined;
|
|
61
|
+
discoverRoots?: "start" | "lazy";
|
|
62
|
+
host?: _xyo_network_bridge_model.BridgeHostConfig | undefined;
|
|
63
|
+
schema: "network.xyo.bridge.config";
|
|
64
|
+
} & object, "schema"> & {
|
|
65
|
+
schema: "network.xyo.bridge.worker.config";
|
|
66
|
+
}, "schema"> & {
|
|
67
|
+
schema: string;
|
|
68
|
+
};
|
|
69
|
+
ephemeralQueryAccountEnabled?: boolean;
|
|
70
|
+
moduleIdentifierTransformers?: _xyo_network_module_model.ModuleIdentifierTransformer[];
|
|
71
|
+
} & {
|
|
72
|
+
worker?: Worker;
|
|
73
|
+
}>>;
|
|
74
|
+
exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
75
|
+
exposedHandler(): Promisable<Address[]>;
|
|
76
|
+
getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]>;
|
|
77
|
+
unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type QueryEvent = MessageEvent<QueryMessage>;
|
|
81
|
+
interface CreateNodeMessage extends Message<'createNode'> {
|
|
82
|
+
manifest: PackageManifestPayload$1;
|
|
83
|
+
}
|
|
84
|
+
type CreateNodeEvent = MessageEvent<CreateNodeMessage>;
|
|
85
|
+
interface NodeCreatedMessage extends Message<'nodeCreated'> {
|
|
86
|
+
address: Address;
|
|
87
|
+
}
|
|
88
|
+
declare class WorkerNodeHost {
|
|
89
|
+
protected node: NodeInstance;
|
|
90
|
+
protected logger?: Logger | undefined;
|
|
91
|
+
constructor(node: NodeInstance, logger?: Logger | undefined);
|
|
92
|
+
static create(config: PackageManifestPayload$1): Promise<WorkerNodeHost>;
|
|
93
|
+
static start(logger?: Logger): void;
|
|
94
|
+
private attachNode;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { type CreateNodeEvent, type CreateNodeMessage, type Message, type NodeCreatedMessage, type QueryEvent, type QueryMessage, type QueryResultMessage, WorkerBridge, type WorkerBridgeConfig, WorkerBridgeConfigSchema, type WorkerBridgeParams, WorkerNodeHost, defaultPackageManifest };
|
package/dist/node/index.mjs
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
3
|
-
var __reflectGet = Reflect.get;
|
|
4
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
7
|
-
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
8
3
|
|
|
9
4
|
// src/defaultNodeManifest.ts
|
|
10
5
|
import { ArchivistConfigSchema } from "@xyo-network/archivist-model";
|
|
@@ -53,7 +48,10 @@ import { wordlist } from "@scure/bip39/wordlists/english";
|
|
|
53
48
|
import { forget } from "@xylabs/forget";
|
|
54
49
|
import { HDWallet } from "@xyo-network/account";
|
|
55
50
|
import { ManifestWrapper } from "@xyo-network/manifest";
|
|
56
|
-
var
|
|
51
|
+
var WorkerNodeHost = class {
|
|
52
|
+
static {
|
|
53
|
+
__name(this, "WorkerNodeHost");
|
|
54
|
+
}
|
|
57
55
|
node;
|
|
58
56
|
logger;
|
|
59
57
|
constructor(node, logger) {
|
|
@@ -74,7 +72,7 @@ var _WorkerNodeHost = class _WorkerNodeHost {
|
|
|
74
72
|
case "createNode": {
|
|
75
73
|
const message = event.data;
|
|
76
74
|
const worker = await this.create(message.manifest);
|
|
77
|
-
logger
|
|
75
|
+
logger?.log(`createNode: ${worker.node.address}`);
|
|
78
76
|
const response = {
|
|
79
77
|
address: worker.node.address,
|
|
80
78
|
type: "nodeCreated"
|
|
@@ -84,7 +82,7 @@ var _WorkerNodeHost = class _WorkerNodeHost {
|
|
|
84
82
|
}
|
|
85
83
|
default: {
|
|
86
84
|
const message = event.data;
|
|
87
|
-
logger
|
|
85
|
+
logger?.debug(`Unknown Event (Static) [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`);
|
|
88
86
|
break;
|
|
89
87
|
}
|
|
90
88
|
}
|
|
@@ -95,7 +93,6 @@ var _WorkerNodeHost = class _WorkerNodeHost {
|
|
|
95
93
|
}
|
|
96
94
|
attachNode(node) {
|
|
97
95
|
const listener = /* @__PURE__ */ __name(async (event) => {
|
|
98
|
-
var _a;
|
|
99
96
|
const message = event.data;
|
|
100
97
|
switch (message.type) {
|
|
101
98
|
case "xyoQuery": {
|
|
@@ -116,7 +113,7 @@ var _WorkerNodeHost = class _WorkerNodeHost {
|
|
|
116
113
|
}
|
|
117
114
|
default: {
|
|
118
115
|
const message2 = event.data;
|
|
119
|
-
|
|
116
|
+
this.logger?.debug(`Unknown Event [${JSON.stringify(event)}]: ${JSON.stringify(message2, null, 2)}`);
|
|
120
117
|
break;
|
|
121
118
|
}
|
|
122
119
|
}
|
|
@@ -126,8 +123,6 @@ var _WorkerNodeHost = class _WorkerNodeHost {
|
|
|
126
123
|
});
|
|
127
124
|
}
|
|
128
125
|
};
|
|
129
|
-
__name(_WorkerNodeHost, "WorkerNodeHost");
|
|
130
|
-
var WorkerNodeHost = _WorkerNodeHost;
|
|
131
126
|
|
|
132
127
|
// src/WorkerBridge.ts
|
|
133
128
|
import { assertEx } from "@xylabs/assert";
|
|
@@ -146,7 +141,15 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
146
141
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
147
142
|
}
|
|
148
143
|
__name(_ts_decorate, "_ts_decorate");
|
|
149
|
-
var
|
|
144
|
+
var WorkerBridge = class _WorkerBridge extends AbstractBridge {
|
|
145
|
+
static {
|
|
146
|
+
__name(this, "WorkerBridge");
|
|
147
|
+
}
|
|
148
|
+
static configSchemas = [
|
|
149
|
+
...super.configSchemas,
|
|
150
|
+
WorkerBridgeConfigSchema
|
|
151
|
+
];
|
|
152
|
+
static defaultConfigSchema = WorkerBridgeConfigSchema;
|
|
150
153
|
_discoverCache;
|
|
151
154
|
_targetConfigs = {};
|
|
152
155
|
_targetQueries = {};
|
|
@@ -170,8 +173,7 @@ var _WorkerBridge = class _WorkerBridge extends AbstractBridge {
|
|
|
170
173
|
return assertEx(this.params.worker);
|
|
171
174
|
}
|
|
172
175
|
static async createWorkerNode(manifest = defaultPackageManifest) {
|
|
173
|
-
|
|
174
|
-
const worker = new Worker(new URL("worker/Worker.ts", ((_a = import.meta) == null ? void 0 : _a.url) ?? __filename));
|
|
176
|
+
const worker = new Worker(new URL("worker/Worker.ts", import.meta?.url ?? __filename));
|
|
175
177
|
worker.postMessage({
|
|
176
178
|
manifest,
|
|
177
179
|
type: "createNode"
|
|
@@ -221,13 +223,6 @@ var _WorkerBridge = class _WorkerBridge extends AbstractBridge {
|
|
|
221
223
|
return [];
|
|
222
224
|
}
|
|
223
225
|
};
|
|
224
|
-
__name(_WorkerBridge, "WorkerBridge");
|
|
225
|
-
__publicField(_WorkerBridge, "configSchemas", [
|
|
226
|
-
...__superGet(_WorkerBridge, _WorkerBridge, "configSchemas"),
|
|
227
|
-
WorkerBridgeConfigSchema
|
|
228
|
-
]);
|
|
229
|
-
__publicField(_WorkerBridge, "defaultConfigSchema", WorkerBridgeConfigSchema);
|
|
230
|
-
var WorkerBridge = _WorkerBridge;
|
|
231
226
|
WorkerBridge = _ts_decorate([
|
|
232
227
|
creatableModule()
|
|
233
228
|
], WorkerBridge);
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/defaultNodeManifest.ts","../../src/worker/WorkerNodeHost.ts","../../src/WorkerBridge.ts","../../src/WorkerBridgeConfig.ts"],"sourcesContent":["import { ArchivistConfigSchema } from '@xyo-network/archivist-model'\nimport { PackageManifestPayload, PackageManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { SentinelConfigSchema } from '@xyo-network/sentinel-model'\n\nexport const defaultPackageManifest: PackageManifestPayload = {\n nodes: [\n {\n config: {\n name: 'SimpleMemoryDapp',\n schema: NodeConfigSchema,\n },\n modules: {\n private: [\n {\n config: {\n name: 'ScratchArchivist',\n schema: ArchivistConfigSchema,\n },\n },\n ],\n public: [\n {\n config: {\n name: 'SimpleArchivist',\n schema: ArchivistConfigSchema,\n },\n },\n {\n config: {\n name: 'SimpleSentinel',\n schema: SentinelConfigSchema,\n },\n },\n ],\n },\n },\n ],\n schema: PackageManifestPayloadSchema,\n}\n","import { generateMnemonic } from '@scure/bip39'\n// eslint-disable-next-line import/no-internal-modules\nimport { wordlist } from '@scure/bip39/wordlists/english'\nimport { forget } from '@xylabs/forget'\nimport { Address } from '@xylabs/hex'\nimport { Logger } from '@xylabs/logger'\nimport { HDWallet } from '@xyo-network/account'\nimport { ManifestWrapper, PackageManifestPayload } from '@xyo-network/manifest'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { Message, QueryMessage, QueryResultMessage } from '../WorkerBridge.ts'\n\nexport type QueryEvent = MessageEvent<QueryMessage>\n\nexport interface CreateNodeMessage extends Message<'createNode'> {\n manifest: PackageManifestPayload\n}\n\nexport type CreateNodeEvent = MessageEvent<CreateNodeMessage>\n\nexport interface NodeCreatedMessage extends Message<'nodeCreated'> {\n address: Address\n}\n\nexport class WorkerNodeHost {\n constructor(\n protected node: NodeInstance,\n protected logger?: Logger,\n ) {}\n\n static async create(config: PackageManifestPayload) {\n const mnemonic = generateMnemonic(wordlist, 256)\n const manifest = new ManifestWrapper(config, await HDWallet.fromPhrase(mnemonic))\n const [node] = await manifest.loadNodes()\n const worker = new this(node)\n worker.attachNode(node)\n return worker\n }\n\n static start(logger?: Logger) {\n const listener = async (event: MessageEvent) => {\n switch (event.data.type) {\n case 'createNode': {\n const message: CreateNodeMessage = event.data\n const worker = await this.create(message.manifest)\n logger?.log(`createNode: ${worker.node.address}`)\n const response: NodeCreatedMessage = { address: worker.node.address, type: 'nodeCreated' }\n postMessage(response)\n break\n }\n default: {\n const message: Message = event.data\n logger?.debug(`Unknown Event (Static) [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n\n self.addEventListener('message', (event: MessageEvent) => {\n forget(listener(event))\n })\n }\n\n private attachNode(node: NodeInstance) {\n const listener = async (event: MessageEvent) => {\n const message = event.data as Message\n switch (message.type) {\n case 'xyoQuery': {\n const message: QueryMessage = event.data\n const { address, msgId, query, payloads } = message\n const mod = address ? await node.resolve(address, { direction: 'down' }) : node\n if (mod) {\n const result: QueryResultMessage = { address, msgId, result: await mod.query(query, payloads) }\n self.postMessage(result)\n }\n break\n }\n default: {\n const message: Message = event.data\n this.logger?.debug(`Unknown Event [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n\n self.addEventListener('message', (event: MessageEvent) => {\n forget(listener(event))\n })\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { Promisable } from '@xylabs/promise'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { AbstractBridge } from '@xyo-network/bridge-abstract'\nimport { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model'\nimport { PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n AnyConfigSchema,\n CacheConfig,\n creatableModule,\n ModuleConfig,\n ModuleInstance,\n ModuleParams,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { LRUCache } from 'lru-cache'\n\nimport { defaultPackageManifest } from './defaultNodeManifest.ts'\nimport { WorkerBridgeConfig, WorkerBridgeConfigSchema } from './WorkerBridgeConfig.ts'\n\nexport type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<\n TConfig,\n {\n worker?: Worker\n }\n>\n\nexport interface Message<T extends string = string> {\n type: T\n}\n\nexport interface QueryMessage extends Message<'xyoQuery'> {\n address: Address\n msgId?: string\n payloads?: Payload[]\n query: QueryBoundWitness\n}\n\nexport interface QueryResultMessage {\n address: Address\n msgId?: string\n result: ModuleQueryResult\n}\n\n@creatableModule()\nexport class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, WorkerBridgeConfigSchema]\n static override readonly defaultConfigSchema: Schema = WorkerBridgeConfigSchema\n\n private _discoverCache?: LRUCache<string, Payload[]>\n private _targetConfigs: Record<string, ModuleConfig> = {}\n private _targetQueries: Record<string, string[]> = {}\n\n get discoverCache() {\n const config = this.discoverCacheConfig\n this._discoverCache = this._discoverCache ?? new LRUCache<string, Payload[]>({ ttlAutopurge: true, ...config })\n return this._discoverCache\n }\n\n get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown> {\n const discoverCacheConfig: CacheConfig | undefined = {}\n return { max: 100, ttl: 1000 * 60 * 5, ...discoverCacheConfig }\n }\n\n get worker(): Worker {\n return assertEx(this.params.worker)\n }\n\n static async createWorkerNode(manifest: PackageManifestPayload = defaultPackageManifest as PackageManifestPayload) {\n const worker = new Worker(new URL('worker/Worker.ts', import.meta?.url ?? __filename))\n worker.postMessage({ manifest, type: 'createNode' })\n\n await new Promise((resolve, reject) => {\n const eventFunc = (event: MessageEvent) => {\n const timeout = setTimeout(() => {\n console.log('Node creation timeout')\n worker.removeEventListener('message', eventFunc)\n reject('Timeout')\n }, 1000)\n switch (event.data.type) {\n case 'nodeCreated': {\n clearTimeout(timeout)\n worker.removeEventListener('message', eventFunc)\n resolve(true)\n break\n }\n default: {\n const message: Message = event.data\n console.log(`Unknown Event (nodeCreated listener) [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n worker.addEventListener('message', eventFunc)\n })\n\n const bridge = await WorkerBridge.create({ config: { schema: WorkerBridgeConfigSchema }, worker })\n await bridge.start()\n return bridge\n }\n\n override exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]> {\n return []\n }\n\n override exposedHandler(): Promisable<Address[]> {\n return []\n }\n\n override getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]> {\n return Promise.resolve([])\n }\n\n override unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]> {\n return []\n }\n}\n","import { EmptyObject } from '@xylabs/object'\nimport { BridgeConfig } from '@xyo-network/bridge-model'\n\nexport type WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config'\nexport const WorkerBridgeConfigSchema: WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config'\n\nexport type WorkerBridgeConfig<TConfig extends EmptyObject = EmptyObject> = BridgeConfig<TConfig, WorkerBridgeConfigSchema>\n"],"mappings":"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","names":["ArchivistConfigSchema","PackageManifestPayloadSchema","NodeConfigSchema","SentinelConfigSchema","defaultPackageManifest","nodes","config","name","schema","modules","private","public","generateMnemonic","wordlist","forget","HDWallet","ManifestWrapper","WorkerNodeHost","constructor","node","logger","create","config","mnemonic","generateMnemonic","wordlist","manifest","ManifestWrapper","HDWallet","fromPhrase","loadNodes","worker","attachNode","start","listener","event","data","type","message","log","address","response","postMessage","debug","JSON","stringify","self","addEventListener","forget","msgId","query","payloads","mod","resolve","direction","result","assertEx","AbstractBridge","creatableModule","LRUCache","WorkerBridgeConfigSchema","WorkerBridge","AbstractBridge","_discoverCache","_targetConfigs","_targetQueries","discoverCache","config","discoverCacheConfig","LRUCache","ttlAutopurge","max","ttl","worker","assertEx","params","createWorkerNode","manifest","defaultPackageManifest","Worker","URL","url","__filename","postMessage","type","Promise","resolve","reject","eventFunc","event","timeout","setTimeout","console","log","removeEventListener","data","clearTimeout","message","JSON","stringify","addEventListener","bridge","create","schema","WorkerBridgeConfigSchema","start","exposeHandler","_id","_options","exposedHandler","getRoots","_force","unexposeHandler","configSchemas","defaultConfigSchema"]}
|
|
1
|
+
{"version":3,"sources":["../../src/defaultNodeManifest.ts","../../src/worker/WorkerNodeHost.ts","../../src/WorkerBridge.ts","../../src/WorkerBridgeConfig.ts"],"sourcesContent":["import { ArchivistConfigSchema } from '@xyo-network/archivist-model'\nimport { PackageManifestPayload, PackageManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { NodeConfigSchema } from '@xyo-network/node-model'\nimport { SentinelConfigSchema } from '@xyo-network/sentinel-model'\n\nexport const defaultPackageManifest: PackageManifestPayload = {\n nodes: [\n {\n config: {\n name: 'SimpleMemoryDapp',\n schema: NodeConfigSchema,\n },\n modules: {\n private: [\n {\n config: {\n name: 'ScratchArchivist',\n schema: ArchivistConfigSchema,\n },\n },\n ],\n public: [\n {\n config: {\n name: 'SimpleArchivist',\n schema: ArchivistConfigSchema,\n },\n },\n {\n config: {\n name: 'SimpleSentinel',\n schema: SentinelConfigSchema,\n },\n },\n ],\n },\n },\n ],\n schema: PackageManifestPayloadSchema,\n}\n","import { generateMnemonic } from '@scure/bip39'\n// eslint-disable-next-line import/no-internal-modules\nimport { wordlist } from '@scure/bip39/wordlists/english'\nimport { forget } from '@xylabs/forget'\nimport { Address } from '@xylabs/hex'\nimport { Logger } from '@xylabs/logger'\nimport { HDWallet } from '@xyo-network/account'\nimport { ManifestWrapper, PackageManifestPayload } from '@xyo-network/manifest'\nimport { NodeInstance } from '@xyo-network/node-model'\n\nimport { Message, QueryMessage, QueryResultMessage } from '../WorkerBridge.ts'\n\nexport type QueryEvent = MessageEvent<QueryMessage>\n\nexport interface CreateNodeMessage extends Message<'createNode'> {\n manifest: PackageManifestPayload\n}\n\nexport type CreateNodeEvent = MessageEvent<CreateNodeMessage>\n\nexport interface NodeCreatedMessage extends Message<'nodeCreated'> {\n address: Address\n}\n\nexport class WorkerNodeHost {\n constructor(\n protected node: NodeInstance,\n protected logger?: Logger,\n ) {}\n\n static async create(config: PackageManifestPayload) {\n const mnemonic = generateMnemonic(wordlist, 256)\n const manifest = new ManifestWrapper(config, await HDWallet.fromPhrase(mnemonic))\n const [node] = await manifest.loadNodes()\n const worker = new this(node)\n worker.attachNode(node)\n return worker\n }\n\n static start(logger?: Logger) {\n const listener = async (event: MessageEvent) => {\n switch (event.data.type) {\n case 'createNode': {\n const message: CreateNodeMessage = event.data\n const worker = await this.create(message.manifest)\n logger?.log(`createNode: ${worker.node.address}`)\n const response: NodeCreatedMessage = { address: worker.node.address, type: 'nodeCreated' }\n postMessage(response)\n break\n }\n default: {\n const message: Message = event.data\n logger?.debug(`Unknown Event (Static) [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n\n self.addEventListener('message', (event: MessageEvent) => {\n forget(listener(event))\n })\n }\n\n private attachNode(node: NodeInstance) {\n const listener = async (event: MessageEvent) => {\n const message = event.data as Message\n switch (message.type) {\n case 'xyoQuery': {\n const message: QueryMessage = event.data\n const { address, msgId, query, payloads } = message\n const mod = address ? await node.resolve(address, { direction: 'down' }) : node\n if (mod) {\n const result: QueryResultMessage = { address, msgId, result: await mod.query(query, payloads) }\n self.postMessage(result)\n }\n break\n }\n default: {\n const message: Message = event.data\n this.logger?.debug(`Unknown Event [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n\n self.addEventListener('message', (event: MessageEvent) => {\n forget(listener(event))\n })\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { Promisable } from '@xylabs/promise'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { AbstractBridge } from '@xyo-network/bridge-abstract'\nimport { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model'\nimport { PackageManifestPayload } from '@xyo-network/manifest-model'\nimport {\n AnyConfigSchema,\n CacheConfig,\n creatableModule,\n ModuleConfig,\n ModuleInstance,\n ModuleParams,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { LRUCache } from 'lru-cache'\n\nimport { defaultPackageManifest } from './defaultNodeManifest.ts'\nimport { WorkerBridgeConfig, WorkerBridgeConfigSchema } from './WorkerBridgeConfig.ts'\n\nexport type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<\n TConfig,\n {\n worker?: Worker\n }\n>\n\nexport interface Message<T extends string = string> {\n type: T\n}\n\nexport interface QueryMessage extends Message<'xyoQuery'> {\n address: Address\n msgId?: string\n payloads?: Payload[]\n query: QueryBoundWitness\n}\n\nexport interface QueryResultMessage {\n address: Address\n msgId?: string\n result: ModuleQueryResult\n}\n\n@creatableModule()\nexport class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, WorkerBridgeConfigSchema]\n static override readonly defaultConfigSchema: Schema = WorkerBridgeConfigSchema\n\n private _discoverCache?: LRUCache<string, Payload[]>\n private _targetConfigs: Record<string, ModuleConfig> = {}\n private _targetQueries: Record<string, string[]> = {}\n\n get discoverCache() {\n const config = this.discoverCacheConfig\n this._discoverCache = this._discoverCache ?? new LRUCache<string, Payload[]>({ ttlAutopurge: true, ...config })\n return this._discoverCache\n }\n\n get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown> {\n const discoverCacheConfig: CacheConfig | undefined = {}\n return { max: 100, ttl: 1000 * 60 * 5, ...discoverCacheConfig }\n }\n\n get worker(): Worker {\n return assertEx(this.params.worker)\n }\n\n static async createWorkerNode(manifest: PackageManifestPayload = defaultPackageManifest as PackageManifestPayload) {\n const worker = new Worker(new URL('worker/Worker.ts', import.meta?.url ?? __filename))\n worker.postMessage({ manifest, type: 'createNode' })\n\n await new Promise((resolve, reject) => {\n const eventFunc = (event: MessageEvent) => {\n const timeout = setTimeout(() => {\n console.log('Node creation timeout')\n worker.removeEventListener('message', eventFunc)\n reject('Timeout')\n }, 1000)\n switch (event.data.type) {\n case 'nodeCreated': {\n clearTimeout(timeout)\n worker.removeEventListener('message', eventFunc)\n resolve(true)\n break\n }\n default: {\n const message: Message = event.data\n console.log(`Unknown Event (nodeCreated listener) [${JSON.stringify(event)}]: ${JSON.stringify(message, null, 2)}`)\n break\n }\n }\n }\n worker.addEventListener('message', eventFunc)\n })\n\n const bridge = await WorkerBridge.create({ config: { schema: WorkerBridgeConfigSchema }, worker })\n await bridge.start()\n return bridge\n }\n\n override exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]> {\n return []\n }\n\n override exposedHandler(): Promisable<Address[]> {\n return []\n }\n\n override getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]> {\n return Promise.resolve([])\n }\n\n override unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]> {\n return []\n }\n}\n","import { EmptyObject } from '@xylabs/object'\nimport { BridgeConfig } from '@xyo-network/bridge-model'\n\nexport type WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config'\nexport const WorkerBridgeConfigSchema: WorkerBridgeConfigSchema = 'network.xyo.bridge.worker.config'\n\nexport type WorkerBridgeConfig<TConfig extends EmptyObject = EmptyObject> = BridgeConfig<TConfig, WorkerBridgeConfigSchema>\n"],"mappings":"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","names":["ArchivistConfigSchema","PackageManifestPayloadSchema","NodeConfigSchema","SentinelConfigSchema","defaultPackageManifest","nodes","config","name","schema","modules","private","public","generateMnemonic","wordlist","forget","HDWallet","ManifestWrapper","WorkerNodeHost","constructor","node","logger","create","config","mnemonic","generateMnemonic","wordlist","manifest","ManifestWrapper","HDWallet","fromPhrase","loadNodes","worker","attachNode","start","listener","event","data","type","message","log","address","response","postMessage","debug","JSON","stringify","self","addEventListener","forget","msgId","query","payloads","mod","resolve","direction","result","assertEx","AbstractBridge","creatableModule","LRUCache","WorkerBridgeConfigSchema","WorkerBridge","AbstractBridge","configSchemas","WorkerBridgeConfigSchema","defaultConfigSchema","_discoverCache","_targetConfigs","_targetQueries","discoverCache","config","discoverCacheConfig","LRUCache","ttlAutopurge","max","ttl","worker","assertEx","params","createWorkerNode","manifest","defaultPackageManifest","Worker","URL","url","__filename","postMessage","type","Promise","resolve","reject","eventFunc","event","timeout","setTimeout","console","log","removeEventListener","data","clearTimeout","message","JSON","stringify","addEventListener","bridge","create","schema","start","exposeHandler","_id","_options","exposedHandler","getRoots","_force","unexposeHandler"]}
|
package/package.json
CHANGED
|
@@ -11,29 +11,28 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@scure/bip39": "^1.3.0",
|
|
14
|
-
"@xylabs/assert": "^3.6.
|
|
15
|
-
"@xylabs/forget": "^3.6.
|
|
16
|
-
"@xylabs/hex": "^3.6.
|
|
17
|
-
"@xylabs/logger": "^3.6.
|
|
18
|
-
"@xylabs/object": "^3.6.
|
|
19
|
-
"@xylabs/promise": "^3.6.
|
|
20
|
-
"@xyo-network/account": "^
|
|
21
|
-
"@xyo-network/archivist-model": "^
|
|
22
|
-
"@xyo-network/boundwitness-model": "^
|
|
23
|
-
"@xyo-network/bridge-abstract": "^
|
|
24
|
-
"@xyo-network/bridge-model": "^
|
|
25
|
-
"@xyo-network/manifest": "^
|
|
26
|
-
"@xyo-network/manifest-model": "^
|
|
27
|
-
"@xyo-network/module-model": "^
|
|
28
|
-
"@xyo-network/node-model": "^
|
|
29
|
-
"@xyo-network/payload-model": "^
|
|
30
|
-
"@xyo-network/sentinel-model": "^
|
|
14
|
+
"@xylabs/assert": "^3.6.12",
|
|
15
|
+
"@xylabs/forget": "^3.6.12",
|
|
16
|
+
"@xylabs/hex": "^3.6.12",
|
|
17
|
+
"@xylabs/logger": "^3.6.12",
|
|
18
|
+
"@xylabs/object": "^3.6.12",
|
|
19
|
+
"@xylabs/promise": "^3.6.12",
|
|
20
|
+
"@xyo-network/account": "^3.0.0",
|
|
21
|
+
"@xyo-network/archivist-model": "^3.0.0",
|
|
22
|
+
"@xyo-network/boundwitness-model": "^3.0.0",
|
|
23
|
+
"@xyo-network/bridge-abstract": "^3.0.0",
|
|
24
|
+
"@xyo-network/bridge-model": "^3.0.0",
|
|
25
|
+
"@xyo-network/manifest": "^3.0.0",
|
|
26
|
+
"@xyo-network/manifest-model": "^3.0.0",
|
|
27
|
+
"@xyo-network/module-model": "^3.0.0",
|
|
28
|
+
"@xyo-network/node-model": "^3.0.0",
|
|
29
|
+
"@xyo-network/payload-model": "^3.0.0",
|
|
30
|
+
"@xyo-network/sentinel-model": "^3.0.0",
|
|
31
31
|
"lru-cache": "^11.0.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@xylabs/ts-scripts-yarn3": "
|
|
35
|
-
"@xylabs/tsconfig": "
|
|
36
|
-
"tslib": "^2.6.3",
|
|
34
|
+
"@xylabs/ts-scripts-yarn3": "next",
|
|
35
|
+
"@xylabs/tsconfig": "next",
|
|
37
36
|
"typescript": "^5.5.4"
|
|
38
37
|
},
|
|
39
38
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -50,9 +49,8 @@
|
|
|
50
49
|
},
|
|
51
50
|
"./package.json": "./package.json"
|
|
52
51
|
},
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"types": "dist/node/index.d.ts",
|
|
52
|
+
"module": "dist/neutral/index.mjs",
|
|
53
|
+
"types": "dist/neutral/index.d.ts",
|
|
56
54
|
"homepage": "https://xyo.network",
|
|
57
55
|
"license": "LGPL-3.0-only",
|
|
58
56
|
"publishConfig": {
|
|
@@ -66,6 +64,6 @@
|
|
|
66
64
|
"test": "node --experimental-vm-modules ../../../../../../node_modules/.bin/jest ."
|
|
67
65
|
},
|
|
68
66
|
"sideEffects": false,
|
|
69
|
-
"version": "
|
|
67
|
+
"version": "3.0.0",
|
|
70
68
|
"type": "module"
|
|
71
69
|
}
|
package/xy.config.ts
ADDED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Address } from '@xylabs/hex';
|
|
2
|
-
import { Promisable } from '@xylabs/promise';
|
|
3
|
-
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
|
-
import { AbstractBridge } from '@xyo-network/bridge-abstract';
|
|
5
|
-
import { BridgeExposeOptions, BridgeModule, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
|
|
6
|
-
import { PackageManifestPayload } from '@xyo-network/manifest-model';
|
|
7
|
-
import { AnyConfigSchema, ModuleInstance, ModuleParams, ModuleQueryResult } from '@xyo-network/module-model';
|
|
8
|
-
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
9
|
-
import { LRUCache } from 'lru-cache';
|
|
10
|
-
import { WorkerBridgeConfig } from './WorkerBridgeConfig.ts';
|
|
11
|
-
export type WorkerBridgeParams<TConfig extends AnyConfigSchema<WorkerBridgeConfig> = AnyConfigSchema<WorkerBridgeConfig>> = ModuleParams<TConfig, {
|
|
12
|
-
worker?: Worker;
|
|
13
|
-
}>;
|
|
14
|
-
export interface Message<T extends string = string> {
|
|
15
|
-
type: T;
|
|
16
|
-
}
|
|
17
|
-
export interface QueryMessage extends Message<'xyoQuery'> {
|
|
18
|
-
address: Address;
|
|
19
|
-
msgId?: string;
|
|
20
|
-
payloads?: Payload[];
|
|
21
|
-
query: QueryBoundWitness;
|
|
22
|
-
}
|
|
23
|
-
export interface QueryResultMessage {
|
|
24
|
-
address: Address;
|
|
25
|
-
msgId?: string;
|
|
26
|
-
result: ModuleQueryResult;
|
|
27
|
-
}
|
|
28
|
-
export declare class WorkerBridge<TParams extends WorkerBridgeParams = WorkerBridgeParams> extends AbstractBridge<TParams> implements BridgeModule<TParams> {
|
|
29
|
-
static readonly configSchemas: Schema[];
|
|
30
|
-
static readonly defaultConfigSchema: Schema;
|
|
31
|
-
private _discoverCache?;
|
|
32
|
-
private _targetConfigs;
|
|
33
|
-
private _targetQueries;
|
|
34
|
-
get discoverCache(): LRUCache<string, ({
|
|
35
|
-
schema: string;
|
|
36
|
-
} & import("@xyo-network/payload-model").PayloadFields)[], unknown>;
|
|
37
|
-
get discoverCacheConfig(): LRUCache.Options<string, Payload[], unknown>;
|
|
38
|
-
get worker(): Worker;
|
|
39
|
-
static createWorkerNode(manifest?: PackageManifestPayload): Promise<WorkerBridge<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/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & {
|
|
45
|
-
client?: import("@xyo-network/bridge-model").BridgeClientConfig | undefined;
|
|
46
|
-
discoverRoots?: "start" | "lazy";
|
|
47
|
-
host?: import("@xyo-network/bridge-model").BridgeHostConfig | undefined;
|
|
48
|
-
schema: "network.xyo.bridge.config";
|
|
49
|
-
} & object, "schema"> & {
|
|
50
|
-
schema: "network.xyo.bridge.worker.config";
|
|
51
|
-
}, "schema"> & {
|
|
52
|
-
schema: string;
|
|
53
|
-
};
|
|
54
|
-
ephemeralQueryAccountEnabled?: boolean;
|
|
55
|
-
moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
|
|
56
|
-
} & {
|
|
57
|
-
worker?: Worker;
|
|
58
|
-
}>>;
|
|
59
|
-
exposeHandler(_id: string, _options?: BridgeExposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
60
|
-
exposedHandler(): Promisable<Address[]>;
|
|
61
|
-
getRoots(_force?: boolean | undefined): Promise<ModuleInstance[]>;
|
|
62
|
-
unexposeHandler(_id: string, _options?: BridgeUnexposeOptions | undefined): Promisable<ModuleInstance[]>;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=WorkerBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerBridge.d.ts","sourceRoot":"","sources":["../../src/WorkerBridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EACL,eAAe,EAIf,cAAc,EACd,YAAY,EACZ,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAGpC,OAAO,EAAE,kBAAkB,EAA4B,MAAM,yBAAyB,CAAA;AAEtF,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,eAAe,CAAC,kBAAkB,CAAC,GAAG,eAAe,CAAC,kBAAkB,CAAC,IAAI,YAAY,CACtI,OAAO,EACP;IACE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CACF,CAAA;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAChD,IAAI,EAAE,CAAC,CAAA;CACR;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO,CAAC,UAAU,CAAC;IACvD,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,KAAK,EAAE,iBAAiB,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,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,OAAO,CAAC,cAAc,CAAC,CAA6B;IACpD,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,cAAc,CAA+B;IAErD,IAAI,aAAa;;wEAIhB;IAED,IAAI,mBAAmB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAGtE;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;WAEY,gBAAgB,CAAC,QAAQ,GAAE,sBAAyE;;;;;;;;;;;;;;;;;;iBA7CtG,MAAM;;IA8ER,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAIpG,cAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAIvC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIjE,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;CAGlH"}
|