@xyo-network/node 2.47.0 → 2.47.2
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/cjs/AbstractNode.js.map +1 -1
- package/dist/cjs/MemoryNode.js +9 -30
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/NodeWrapper.js +3 -18
- package/dist/cjs/NodeWrapper.js.map +1 -1
- package/dist/docs.json +1088 -1898
- package/dist/esm/AbstractNode.js.map +1 -1
- package/dist/esm/MemoryNode.js +5 -26
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/NodeWrapper.js +3 -9
- package/dist/esm/NodeWrapper.js.map +1 -1
- package/dist/types/AbstractNode.d.ts +2 -2
- package/dist/types/AbstractNode.d.ts.map +1 -1
- package/dist/types/MemoryNode.d.ts +3 -3
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/dist/types/Node.d.ts +2 -2
- package/dist/types/Node.d.ts.map +1 -1
- package/dist/types/NodeWrapper.d.ts +13 -5
- package/dist/types/NodeWrapper.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/AbstractNode.ts +2 -4
- package/src/MemoryNode.ts +8 -31
- package/src/Node.ts +2 -2
- package/src/NodeWrapper.ts +7 -16
- package/src/spec/MemoryNode.spec.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EACL,cAAc,EACd,uBAAuB,EAQvB,wBAAwB,EACxB,eAAe,GAEhB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAIhE,OAAO,EAAc,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -11,28 +11,7 @@ export class MemoryNode extends AbstractNode {
|
|
|
11
11
|
registeredModuleMap = new Map();
|
|
12
12
|
resolverChangedEventListeners = [];
|
|
13
13
|
static async create(params) {
|
|
14
|
-
|
|
15
|
-
//Arie: Why would we want to auto register modules?
|
|
16
|
-
/*if (params?.autoAttachExternallyResolved) {
|
|
17
|
-
const resolver = mixinResolverEventEmitter(instance.resolver)
|
|
18
|
-
resolver.on('moduleResolved', (args) => {
|
|
19
|
-
const { module, filter } = args
|
|
20
|
-
try {
|
|
21
|
-
instance.register(module)
|
|
22
|
-
if (filter?.name?.length) {
|
|
23
|
-
filter.name.map((name) => {
|
|
24
|
-
instance.attach(module.address, name)
|
|
25
|
-
})
|
|
26
|
-
} else {
|
|
27
|
-
instance.attach(module.address)
|
|
28
|
-
}
|
|
29
|
-
} catch (err) {
|
|
30
|
-
params.logger?.error(`Error attaching externally resolved module: 0x${module.address}`)
|
|
31
|
-
}
|
|
32
|
-
})
|
|
33
|
-
instance.resolver = resolver
|
|
34
|
-
}*/
|
|
35
|
-
return instance;
|
|
14
|
+
return (await super.create(params));
|
|
36
15
|
}
|
|
37
16
|
async attach(address, external) {
|
|
38
17
|
const existingModule = (await this.resolve({ address: [address] })).pop();
|
|
@@ -40,10 +19,10 @@ export class MemoryNode extends AbstractNode {
|
|
|
40
19
|
const module = assertEx(this.registeredModuleMap.get(address), 'No module registered at that address');
|
|
41
20
|
this.internalResolver.addResolver(module.resolver);
|
|
42
21
|
//give it inside access
|
|
43
|
-
module.parentResolver
|
|
22
|
+
module.parentResolver?.addResolver?.(this.internalResolver);
|
|
44
23
|
//give it outside access
|
|
45
24
|
if (this.parentResolver) {
|
|
46
|
-
module.parentResolver
|
|
25
|
+
module.parentResolver?.addResolver?.(this.parentResolver);
|
|
47
26
|
}
|
|
48
27
|
if (external) {
|
|
49
28
|
//expose it externally
|
|
@@ -56,9 +35,9 @@ export class MemoryNode extends AbstractNode {
|
|
|
56
35
|
const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
|
|
57
36
|
this.internalResolver.removeResolver(module.resolver);
|
|
58
37
|
//remove outside access
|
|
59
|
-
module.parentResolver
|
|
38
|
+
module.parentResolver?.removeResolver?.(this.parentResolver);
|
|
60
39
|
//remove inside access
|
|
61
|
-
module.parentResolver
|
|
40
|
+
module.parentResolver?.removeResolver?.(this.internalResolver);
|
|
62
41
|
//remove external exposure
|
|
63
42
|
this.resolver.removeResolver(module.resolver);
|
|
64
43
|
const args = { module, name: module.config.name };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/NodeWrapper.js
CHANGED
|
@@ -7,12 +7,14 @@ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
|
7
7
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
|
|
8
8
|
export class NodeWrapper extends ModuleWrapper {
|
|
9
9
|
static requiredQueries = [XyoNodeAttachQuerySchema, ...ModuleWrapper.requiredQueries];
|
|
10
|
-
isModuleResolver = true;
|
|
11
10
|
_archivist;
|
|
12
11
|
get archivist() {
|
|
13
12
|
this._archivist = this._archivist ?? new ArchivistWrapper(this.module);
|
|
14
13
|
return this._archivist;
|
|
15
14
|
}
|
|
15
|
+
get parentResolver() {
|
|
16
|
+
return this.module.parentResolver;
|
|
17
|
+
}
|
|
16
18
|
static tryWrap(module) {
|
|
17
19
|
const missingRequiredQueries = this.missingRequiredQueries(module);
|
|
18
20
|
if (missingRequiredQueries.length > 0) {
|
|
@@ -34,14 +36,6 @@ export class NodeWrapper extends ModuleWrapper {
|
|
|
34
36
|
const payloads = (await this.sendQuery(queryPayload)).filter(isXyoPayloadOfSchemaType(AddressSchema));
|
|
35
37
|
return payloads.map((p) => p.address);
|
|
36
38
|
}
|
|
37
|
-
async describe() {
|
|
38
|
-
const childModules = (await this.module?.resolve())?.filter((childModule) => childModule.address !== this.address) ?? [];
|
|
39
|
-
const children = await Promise.all(childModules?.map((child) => {
|
|
40
|
-
const wrapper = ModuleWrapper.wrap(child);
|
|
41
|
-
return wrapper.describe();
|
|
42
|
-
}));
|
|
43
|
-
return { ...(await super.describe()), children };
|
|
44
|
-
}
|
|
45
39
|
async detach(address) {
|
|
46
40
|
const queryPayload = PayloadWrapper.parse({ address, schema: XyoNodeDetachQuerySchema });
|
|
47
41
|
await this.sendQuery(queryPayload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAwB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAI7D,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,WAAqD,SAAQ,aAAsB;IAC9F,MAAM,CAAC,eAAe,GAAG,CAAC,wBAAwB,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAE7E,UAAU,CAAmB;IAErC,IAAW,SAAS;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACnC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAc;QAC3B,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAClE,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;SACpF;aAAM;YACL,OAAO,IAAI,WAAW,CAAC,MAAoB,CAAC,CAAA;SAC7C;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,QAAkB;QAC9C,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QACtH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;QACvG,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAiB,aAAa,CAAC,CAAC,CAAA;QACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAyB,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAA;QAC3G,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAiB,aAAa,CAAC,CAAC,CAAA;QACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAEQ,OAAO,CAAC,MAAqB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { NodeModule } from './Node';
|
|
|
6
6
|
export interface AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> extends ModuleParams<TConfig> {
|
|
7
7
|
internalResolver?: CompositeModuleResolver;
|
|
8
8
|
}
|
|
9
|
-
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule
|
|
9
|
+
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule {
|
|
10
10
|
static readonly configSchema: "network.xyo.node.config";
|
|
11
11
|
protected internalResolver: CompositeModuleResolver<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
12
|
name?: string | undefined;
|
|
@@ -28,7 +28,7 @@ export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConf
|
|
|
28
28
|
attachedModules(): Promise<Module[]>;
|
|
29
29
|
discover(): Promise<XyoPayload[]>;
|
|
30
30
|
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
31
|
-
register(_module:
|
|
31
|
+
register(_module: Module): Promisable<this>;
|
|
32
32
|
registered(): Promisable<string[]>;
|
|
33
33
|
registeredModules(): Promisable<Module[]>;
|
|
34
34
|
resolve(filter?: ModuleFilter): Promise<Module[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAGb,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,aAAa,EAGb,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;IACxG,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;CAC3C;AAED,8BAAsB,YAAY,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,cAAc,CAAC,OAAO,CAAE,YAAW,UAAU;IAC/H,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAmB;IAE/C,SAAS,CAAC,gBAAgB;;;;;;;;;QAAgC;IAE1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,SAAS,aAAa,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC;IAIzD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAoB,OAAO,IAAI,MAAM,EAAE,CAEtC;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IASjC,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EACrH,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IA0C7B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAI1B,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhE;;;;;;;;;;OAUG;IACG,cAAc,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EAC1E,OAAO,EAAE,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,EACvC,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;IAIA,KAAK;IAKpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI7C,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;CACnD;AAED,2CAA2C;AAC3C,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,YAAY,CAAC,OAAO,CAAC;CAAG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Module, ModuleFilter } from '@xyo-network/module';
|
|
2
2
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode';
|
|
3
3
|
import { NodeConfig } from './Config';
|
|
4
4
|
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleResolverChangedEventArgs, ResolverChangedEventEmitter } from './Events';
|
|
@@ -14,9 +14,9 @@ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig> extends
|
|
|
14
14
|
detach(address: string): void;
|
|
15
15
|
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this;
|
|
16
16
|
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this;
|
|
17
|
-
register(module:
|
|
17
|
+
register(module: Module): this;
|
|
18
18
|
registered(): string[];
|
|
19
|
-
registeredModules():
|
|
19
|
+
registeredModules(): Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
20
20
|
name?: string | undefined;
|
|
21
21
|
security?: {
|
|
22
22
|
allowAnonymous?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmC,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAE1B,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,UAAU,CAAA;AAOjB,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAA;AAEnG,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAC7D,SAAQ,YAAY,CAAC,OAAO,CAC5B,YAAW,0BAA0B,EAAE,2BAA2B;IAElE,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+C;IAC5F,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+C;IAC5F,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAsD;WAE9E,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAwBhD,MAAM,CAAC,OAAO,EAAE,MAAM;IAkB/B,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IACpF,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAazF,QAAQ,CAAC,MAAM,EAAE,MAAM;IAMvB,UAAU;IAMV,iBAAiB;;;;;;;;;;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAavD,UAAU,CAAC,MAAM,EAAE,MAAM;CAKnC"}
|
package/dist/types/Node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Module
|
|
1
|
+
import { Module } from '@xyo-network/module-model';
|
|
2
2
|
import { Promisable } from '@xyo-network/promise';
|
|
3
3
|
export interface Node {
|
|
4
4
|
attach(address: string, external?: boolean): Promisable<void>;
|
|
@@ -6,5 +6,5 @@ export interface Node {
|
|
|
6
6
|
detach(address: string): Promisable<void>;
|
|
7
7
|
registered(): Promisable<string[]>;
|
|
8
8
|
}
|
|
9
|
-
export type NodeModule
|
|
9
|
+
export type NodeModule = Node & Module;
|
|
10
10
|
//# sourceMappingURL=Node.d.ts.map
|
package/dist/types/Node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7D,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACzC,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,CAAA"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
2
|
-
import { Module,
|
|
2
|
+
import { Module, ModuleFilter, ModuleWrapper } from '@xyo-network/module';
|
|
3
3
|
import { Promisable } from '@xyo-network/promise';
|
|
4
|
-
import {
|
|
5
|
-
export declare class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements
|
|
4
|
+
import { NodeModule } from './Node';
|
|
5
|
+
export declare class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements NodeModule {
|
|
6
6
|
static requiredQueries: string[];
|
|
7
|
-
isModuleResolver: boolean;
|
|
8
7
|
private _archivist?;
|
|
9
8
|
get archivist(): ArchivistWrapper;
|
|
9
|
+
get parentResolver(): import("@xyo-network/module").ModuleResolver<Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
10
|
+
name?: string | undefined;
|
|
11
|
+
security?: {
|
|
12
|
+
allowAnonymous?: boolean | undefined;
|
|
13
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
14
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
15
|
+
} | undefined;
|
|
16
|
+
} & {
|
|
17
|
+
schema: string;
|
|
18
|
+
}>> | undefined;
|
|
10
19
|
static tryWrap(module: Module): NodeWrapper | undefined;
|
|
11
20
|
static wrap(module: Module): NodeWrapper;
|
|
12
21
|
attach(address: string, external?: boolean): Promise<void>;
|
|
13
22
|
attached(): Promise<string[]>;
|
|
14
|
-
describe(): Promise<ModuleDescription>;
|
|
15
23
|
detach(address: string): Promise<void>;
|
|
16
24
|
registered(): Promise<string[]>;
|
|
17
25
|
resolve(filter?: ModuleFilter): Promisable<Module[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAYnC,qBAAa,WAAW,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAE,YAAW,UAAU;IACpH,MAAM,CAAC,eAAe,WAA+D;IAErF,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,IAAW,SAAS,qBAGnB;IAED,IAAW,cAAc;;;;;;;;;oBAExB;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IASvD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAIlC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM5B,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CAG9D"}
|
package/package.json
CHANGED
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
"@xylabs/assert": "^2.7.1",
|
|
14
14
|
"@xylabs/exists": "^2.7.1",
|
|
15
15
|
"@xylabs/promise": "^2.7.1",
|
|
16
|
-
"@xyo-network/account": "^2.47.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.47.
|
|
18
|
-
"@xyo-network/archivist-wrapper": "^2.47.
|
|
19
|
-
"@xyo-network/module": "^2.47.
|
|
20
|
-
"@xyo-network/module-model": "^2.47.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.47.
|
|
22
|
-
"@xyo-network/payload-model": "^2.47.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.47.
|
|
24
|
-
"@xyo-network/promise": "^2.47.
|
|
16
|
+
"@xyo-network/account": "^2.47.2",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.47.2",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.47.2",
|
|
19
|
+
"@xyo-network/module": "^2.47.2",
|
|
20
|
+
"@xyo-network/module-model": "^2.47.2",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.47.2",
|
|
22
|
+
"@xyo-network/payload-model": "^2.47.2",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.47.2",
|
|
24
|
+
"@xyo-network/promise": "^2.47.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@xylabs/ts-scripts-yarn3": "^2.14.15",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
},
|
|
62
62
|
"sideEffects": false,
|
|
63
63
|
"types": "dist/types/index.d.ts",
|
|
64
|
-
"version": "2.47.
|
|
64
|
+
"version": "2.47.2"
|
|
65
65
|
}
|
package/src/AbstractNode.ts
CHANGED
|
@@ -23,13 +23,11 @@ import { NodeConfig, NodeConfigSchema } from './Config'
|
|
|
23
23
|
import { NodeModule } from './Node'
|
|
24
24
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeQuery, XyoNodeRegisteredQuerySchema } from './Queries'
|
|
25
25
|
|
|
26
|
-
//const childModuleDiscoverQueryPayload = PayloadWrapper.parse<AbstractModuleDiscoverQuery>({ schema: AbstractModuleDiscoverQuerySchema })
|
|
27
|
-
|
|
28
26
|
export interface AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> extends ModuleParams<TConfig> {
|
|
29
27
|
internalResolver?: CompositeModuleResolver
|
|
30
28
|
}
|
|
31
29
|
|
|
32
|
-
export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule
|
|
30
|
+
export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule {
|
|
33
31
|
static readonly configSchema = NodeConfigSchema
|
|
34
32
|
|
|
35
33
|
protected internalResolver = new CompositeModuleResolver()
|
|
@@ -119,7 +117,7 @@ export abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> exte
|
|
|
119
117
|
return this.bindResult(resultPayloads, queryAccount)
|
|
120
118
|
}
|
|
121
119
|
|
|
122
|
-
register(_module:
|
|
120
|
+
register(_module: Module): Promisable<this> {
|
|
123
121
|
throw new Error('Method not implemented.')
|
|
124
122
|
}
|
|
125
123
|
|
package/src/MemoryNode.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { exists } from '@xylabs/exists'
|
|
3
3
|
import { fulfilled } from '@xylabs/promise'
|
|
4
|
-
import {
|
|
4
|
+
import { duplicateModules, EventListener, Module, ModuleFilter } from '@xyo-network/module'
|
|
5
5
|
|
|
6
6
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode'
|
|
7
7
|
import { NodeConfig, NodeConfigSchema } from './Config'
|
|
@@ -27,34 +27,11 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
27
27
|
static configSchema = NodeConfigSchema
|
|
28
28
|
private readonly moduleAttachedEventListeners: EventListener<ModuleAttachedEventArgs>[] = []
|
|
29
29
|
private readonly moduleDetachedEventListeners: EventListener<ModuleDetachedEventArgs>[] = []
|
|
30
|
-
private registeredModuleMap = new Map<string,
|
|
30
|
+
private registeredModuleMap = new Map<string, Module>()
|
|
31
31
|
private readonly resolverChangedEventListeners: EventListener<ModuleResolverChangedEventArgs>[] = []
|
|
32
32
|
|
|
33
33
|
static override async create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode> {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//Arie: Why would we want to auto register modules?
|
|
37
|
-
|
|
38
|
-
/*if (params?.autoAttachExternallyResolved) {
|
|
39
|
-
const resolver = mixinResolverEventEmitter(instance.resolver)
|
|
40
|
-
resolver.on('moduleResolved', (args) => {
|
|
41
|
-
const { module, filter } = args
|
|
42
|
-
try {
|
|
43
|
-
instance.register(module)
|
|
44
|
-
if (filter?.name?.length) {
|
|
45
|
-
filter.name.map((name) => {
|
|
46
|
-
instance.attach(module.address, name)
|
|
47
|
-
})
|
|
48
|
-
} else {
|
|
49
|
-
instance.attach(module.address)
|
|
50
|
-
}
|
|
51
|
-
} catch (err) {
|
|
52
|
-
params.logger?.error(`Error attaching externally resolved module: 0x${module.address}`)
|
|
53
|
-
}
|
|
54
|
-
})
|
|
55
|
-
instance.resolver = resolver
|
|
56
|
-
}*/
|
|
57
|
-
return instance
|
|
34
|
+
return (await super.create(params)) as MemoryNode
|
|
58
35
|
}
|
|
59
36
|
|
|
60
37
|
override async attach(address: string, external?: boolean) {
|
|
@@ -65,11 +42,11 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
65
42
|
this.internalResolver.addResolver(module.resolver)
|
|
66
43
|
|
|
67
44
|
//give it inside access
|
|
68
|
-
module.parentResolver
|
|
45
|
+
module.parentResolver?.addResolver?.(this.internalResolver)
|
|
69
46
|
|
|
70
47
|
//give it outside access
|
|
71
48
|
if (this.parentResolver) {
|
|
72
|
-
module.parentResolver
|
|
49
|
+
module.parentResolver?.addResolver?.(this.parentResolver)
|
|
73
50
|
}
|
|
74
51
|
|
|
75
52
|
if (external) {
|
|
@@ -87,10 +64,10 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
87
64
|
this.internalResolver.removeResolver(module.resolver)
|
|
88
65
|
|
|
89
66
|
//remove outside access
|
|
90
|
-
module.parentResolver
|
|
67
|
+
module.parentResolver?.removeResolver?.(this.parentResolver)
|
|
91
68
|
|
|
92
69
|
//remove inside access
|
|
93
|
-
module.parentResolver
|
|
70
|
+
module.parentResolver?.removeResolver?.(this.internalResolver)
|
|
94
71
|
|
|
95
72
|
//remove external exposure
|
|
96
73
|
this.resolver.removeResolver(module.resolver)
|
|
@@ -113,7 +90,7 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig>
|
|
|
113
90
|
return this
|
|
114
91
|
}
|
|
115
92
|
|
|
116
|
-
override register(module:
|
|
93
|
+
override register(module: Module) {
|
|
117
94
|
assertEx(!this.registeredModuleMap.get(module.address), `Module already registered at that address[${module.address}]`)
|
|
118
95
|
this.registeredModuleMap.set(module.address, module)
|
|
119
96
|
return this
|
package/src/Node.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Module
|
|
1
|
+
import { Module } from '@xyo-network/module-model'
|
|
2
2
|
import { Promisable } from '@xyo-network/promise'
|
|
3
3
|
|
|
4
4
|
export interface Node {
|
|
@@ -8,4 +8,4 @@ export interface Node {
|
|
|
8
8
|
registered(): Promisable<string[]>
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export type NodeModule
|
|
11
|
+
export type NodeModule = Node & Module
|
package/src/NodeWrapper.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
3
3
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
4
|
-
import { Module,
|
|
4
|
+
import { Module, ModuleFilter, ModuleWrapper } from '@xyo-network/module'
|
|
5
5
|
import { isXyoPayloadOfSchemaType } from '@xyo-network/payload-model'
|
|
6
6
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
7
7
|
import { Promisable } from '@xyo-network/promise'
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { NodeModule } from './Node'
|
|
10
10
|
import {
|
|
11
11
|
XyoNodeAttachedQuery,
|
|
12
12
|
XyoNodeAttachedQuerySchema,
|
|
@@ -18,11 +18,9 @@ import {
|
|
|
18
18
|
XyoNodeRegisteredQuerySchema,
|
|
19
19
|
} from './Queries'
|
|
20
20
|
|
|
21
|
-
export class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements
|
|
21
|
+
export class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements NodeModule {
|
|
22
22
|
static requiredQueries = [XyoNodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]
|
|
23
23
|
|
|
24
|
-
public isModuleResolver = true
|
|
25
|
-
|
|
26
24
|
private _archivist?: ArchivistWrapper
|
|
27
25
|
|
|
28
26
|
public get archivist() {
|
|
@@ -30,6 +28,10 @@ export class NodeWrapper<TModule extends NodeModule = NodeModule> extends Module
|
|
|
30
28
|
return this._archivist
|
|
31
29
|
}
|
|
32
30
|
|
|
31
|
+
public get parentResolver() {
|
|
32
|
+
return this.module.parentResolver
|
|
33
|
+
}
|
|
34
|
+
|
|
33
35
|
static tryWrap(module: Module): NodeWrapper | undefined {
|
|
34
36
|
const missingRequiredQueries = this.missingRequiredQueries(module)
|
|
35
37
|
if (missingRequiredQueries.length > 0) {
|
|
@@ -54,17 +56,6 @@ export class NodeWrapper<TModule extends NodeModule = NodeModule> extends Module
|
|
|
54
56
|
return payloads.map((p) => p.address)
|
|
55
57
|
}
|
|
56
58
|
|
|
57
|
-
override async describe(): Promise<ModuleDescription> {
|
|
58
|
-
const childModules = (await this.module?.resolve())?.filter((childModule) => childModule.address !== this.address) ?? []
|
|
59
|
-
const children: ModuleDescription[] = await Promise.all(
|
|
60
|
-
childModules?.map((child) => {
|
|
61
|
-
const wrapper = ModuleWrapper.wrap(child)
|
|
62
|
-
return wrapper.describe()
|
|
63
|
-
}),
|
|
64
|
-
)
|
|
65
|
-
return { ...(await super.describe()), children }
|
|
66
|
-
}
|
|
67
|
-
|
|
68
59
|
async detach(address: string): Promise<void> {
|
|
69
60
|
const queryPayload = PayloadWrapper.parse<XyoNodeDetachQuery>({ address, schema: XyoNodeDetachQuerySchema })
|
|
70
61
|
await this.sendQuery(queryPayload)
|
|
@@ -275,7 +275,7 @@ describe('MemoryNode', () => {
|
|
|
275
275
|
const description = await wrapper.describe()
|
|
276
276
|
validateModuleDescription(description)
|
|
277
277
|
expect(description.children).toBeArrayOfSize(2)
|
|
278
|
-
description.children?.map(validateModuleDescription)
|
|
278
|
+
//description.children?.map(validateModuleDescription)
|
|
279
279
|
})
|
|
280
280
|
it('serializes to JSON consistently', async () => {
|
|
281
281
|
const wrapper = NodeWrapper.wrap(node)
|
|
@@ -308,7 +308,7 @@ describe('MemoryNode', () => {
|
|
|
308
308
|
const description = await wrapper.describe()
|
|
309
309
|
validateModuleDescription(description)
|
|
310
310
|
expect(description.children).toBeArrayOfSize(2)
|
|
311
|
-
description.children?.map(validateModuleDescription)
|
|
311
|
+
//description.children?.map(validateModuleDescription)
|
|
312
312
|
})
|
|
313
313
|
it('serializes to JSON consistently', async () => {
|
|
314
314
|
const wrapper = NodeWrapper.wrap(node)
|