@xyo-network/node 2.37.6 → 2.38.0-rc.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.
@@ -9,7 +9,7 @@ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule
9
9
  registered(): string[];
10
10
  attachedModules(): TModule[];
11
11
  registeredModules(): TModule[];
12
- resolve(address: string): TModule | null;
12
+ resolve(addresses: string[]): (TModule | null)[];
13
13
  register(module: TModule): void;
14
14
  attach(address: string): void;
15
15
  detach(address: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IACvI,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA6B;IAEtC,OAAO,IAAI,MAAM,EAAE;IAI1B,QAAQ;IAMR,UAAU;IAMV,eAAe;IAMf,iBAAiB;IAMjB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASxC,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,MAAM,CAAC,OAAO,EAAE,MAAM;CAGhC"}
1
+ {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IACvI,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA6B;IAEtC,OAAO,IAAI,MAAM,EAAE;IAI1B,QAAQ;IAMR,UAAU;IAMV,eAAe;IAMf,iBAAiB;IAMjB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAWhD,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,MAAM,CAAC,OAAO,EAAE,MAAM;CAGhC"}
@@ -28,13 +28,15 @@ export class MemoryNode extends XyoNode {
28
28
  return value;
29
29
  });
30
30
  }
31
- resolve(address) {
32
- console.log(`Resolving in MemoryNode: ${address}`);
33
- if (address === 'archivist') {
34
- console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`);
35
- return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
36
- }
37
- return this.attachedModuleMap?.get(address) ?? null;
31
+ resolve(addresses) {
32
+ return addresses.map((address) => {
33
+ console.log(`Resolving in MemoryNode: ${address}`);
34
+ if (address === 'archivist') {
35
+ console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`);
36
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
37
+ }
38
+ return this.attachedModuleMap?.get(address) ?? null;
39
+ });
38
40
  }
39
41
  register(module) {
40
42
  this.registeredModuleMap.set(module.address, module);
@@ -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,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAInE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,UAA2F,SAAQ,OAAyB;IAC/H,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAChD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEtC,OAAO;QACrB,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACjF,CAAC;IAEQ,QAAQ;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,UAAU;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,eAAe;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,OAAO,CAAC,OAAe;QAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAA;QAClD,IAAI,OAAO,KAAK,WAAW,EAAE;YAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;YAClF,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAA;SACrG;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;IACrD,CAAC;IAEQ,QAAQ,CAAC,MAAe;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAA;QACjG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AAInE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,UAA2F,SAAQ,OAAyB;IAC/H,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAChD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEtC,OAAO;QACrB,OAAO,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACjF,CAAC;IAEQ,QAAQ;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,UAAU;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,eAAe;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/D,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,iBAAiB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjE,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,OAAO,CAAC,SAAmB;QAClC,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAA;YAClD,IAAI,OAAO,KAAK,WAAW,EAAE;gBAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBAClF,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAA;aACrG;YACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;QACrD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,QAAQ,CAAC,MAAe;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,iCAAiC,CAAC,CAAA;QACjG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEQ,MAAM,CAAC,OAAe;QAC7B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { Node } from './Node';
4
4
  export interface NodeModule<TModule extends Module = Module> extends Node, Module {
5
5
  registeredModules(): PromisableArray<TModule>;
6
6
  attachedModules(): PromisableArray<TModule>;
7
- resolve(address: string): Promisable<TModule | null>;
7
+ resolve(address: string[]): Promisable<(TModule | null)[]>;
8
8
  register(module: TModule): Promisable<void>;
9
9
  }
10
10
  //# sourceMappingURL=NodeModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeModule.d.ts","sourceRoot":"","sources":["../../src/NodeModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,IAAI,EAAE,MAAM;IAC/E,iBAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CAC5C"}
1
+ {"version":3,"file":"NodeModule.d.ts","sourceRoot":"","sources":["../../src/NodeModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,IAAI,EAAE,MAAM;IAC/E,iBAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;IAC7C,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;IAC3C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1D,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;CAC5C"}
@@ -1,30 +1,22 @@
1
- import { XyoAccount } from '@xyo-network/account';
2
- import { ModuleQueryResult, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module';
1
+ import { Module, ModuleQueryResult, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module';
3
2
  import { XyoPayload } from '@xyo-network/payload';
4
3
  import { NodeConfig } from './Config';
5
4
  import { NodeModule } from './NodeModule';
6
5
  export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig> implements NodeModule {
7
- constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc);
8
6
  private storeInstanceData;
9
7
  /** Query Functions - Start */
10
8
  abstract attach(_address: string): void;
11
9
  abstract detach(_address: string): void;
12
- abstract resolve(_address: string): TModule | null;
10
+ abstract resolve(_address: string[]): (TModule | null)[];
13
11
  private _archivist?;
14
- get archivist(): XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
15
- security?: {
16
- allowed?: Record<string, string[][]> | undefined;
17
- disallowed?: Record<string, string[]> | undefined;
18
- } | undefined;
19
- } & {
20
- schema: string;
21
- }>;
12
+ get archivist(): Module;
22
13
  registered(): string[];
23
14
  attached(): string[];
24
15
  registeredModules(): TModule[];
25
16
  attachedModules(): TModule[];
26
17
  /** Query Functions - End */
27
18
  query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
19
+ start(): Promise<this>;
28
20
  register(_module: TModule): void;
29
21
  }
30
22
  //# sourceMappingURL=XyoNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAEzI,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;gBAET,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;YAKtE,iBAAiB;IAM/B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAElD,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,IAAW,SAAS;;;;;;;OAKnB;IAED,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BpI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
1
+ {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAA4B,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1H,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;YAEP,iBAAiB;IAM/B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAExD,OAAO,CAAC,UAAU,CAAC,CAAQ;IAC3B,IAAW,SAAS,IAAI,MAAM,CAQ7B;IAED,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEb,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B3H,KAAK;IAMpB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
@@ -1,24 +1,22 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
- import { forget } from '@xylabs/forget';
3
2
  import { XyoAccount } from '@xyo-network/account';
4
3
  import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist';
5
4
  import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
6
5
  import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
7
6
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
8
7
  export class XyoNode extends XyoModule {
9
- constructor(config, account, resolver) {
10
- super(config, account, resolver);
11
- forget(this.storeInstanceData());
12
- }
13
8
  async storeInstanceData() {
14
9
  const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema };
15
10
  const [bw] = await this.bindResult([payload]);
16
- await new XyoArchivistWrapper(this.archivist).insert([bw, payload]);
11
+ await new XyoArchivistWrapper({ module: this.archivist }).insert([bw, payload]);
17
12
  }
18
13
  _archivist;
19
14
  get archivist() {
20
15
  if (!this._archivist) {
21
- this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist();
16
+ this._archivist =
17
+ this._archivist ??
18
+ (this.config?.archivist ? this.resolver?.fromAddress([this.config?.archivist]).shift() : undefined) ??
19
+ new XyoMemoryArchivist();
22
20
  }
23
21
  return this._archivist;
24
22
  }
@@ -35,7 +33,7 @@ export class XyoNode extends XyoModule {
35
33
  throw new Error('Method not implemented.');
36
34
  }
37
35
  /** Query Functions - End */
38
- query(query, payloads) {
36
+ async query(query, payloads) {
39
37
  const wrapper = QueryBoundWitnessWrapper.parseQuery(query);
40
38
  const typedQuery = wrapper.query.payload;
41
39
  assertEx(this.queryable(typedQuery.schema, wrapper.addresses));
@@ -59,10 +57,15 @@ export class XyoNode extends XyoModule {
59
57
  break;
60
58
  }
61
59
  default:
62
- return super.query(query, payloads);
60
+ return await super.query(query, payloads);
63
61
  }
64
62
  return this.bindResult(resultPayloads, queryAccount);
65
63
  }
64
+ async start() {
65
+ await super.start();
66
+ await this.storeInstanceData();
67
+ return this;
68
+ }
66
69
  register(_module) {
67
70
  throw new Error('Method not implemented.');
68
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAA6B,wBAAwB,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAA;AAC1H,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAKrF,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AACtJ,MAAM,OAAgB,OACpB,SAAQ,SAAkB;IAGlB,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAA;QACjG,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7C,MAAM,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACjF,CAAC;IAOO,UAAU,CAAS;IAC3B,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU;gBACb,IAAI,CAAC,UAAU;oBACf,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnG,IAAI,kBAAkB,EAAE,CAAA;SAC3B;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAEnB,KAAK,CAAC,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QAC3G,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,4BAA4B,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;YACD;gBACE,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SAC5C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACnB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { XyoArchivistWrapper } from '@xyo-network/archivist';
2
2
  import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module';
3
+ import { Promisable } from '@xyo-network/promise';
3
4
  import { NodeModule } from './NodeModule';
4
5
  export declare class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
5
6
  private _archivist?;
@@ -11,6 +12,6 @@ export declare class XyoNodeWrapper extends XyoModuleWrapper implements NodeModu
11
12
  detach(address: string): Promise<void>;
12
13
  registeredModules(): Promise<XyoModule[]>;
13
14
  attachedModules(): Promise<XyoModule[]>;
14
- resolve(_address: string): XyoModule | null;
15
+ resolve(_address: string[]): Promisable<(XyoModule | null)[]>;
15
16
  }
16
17
  //# sourceMappingURL=XyoNodeWrapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,IAAW,SAAS,wBAGnB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
1
+ {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,IAAW,SAAS,wBAGnB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;CAG9D"}
@@ -6,7 +6,7 @@ import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuer
6
6
  export class XyoNodeWrapper extends XyoModuleWrapper {
7
7
  _archivist;
8
8
  get archivist() {
9
- this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module);
9
+ this._archivist = this._archivist ?? new XyoArchivistWrapper({ module: this.module });
10
10
  return this._archivist;
11
11
  }
12
12
  register(_module) {
@@ -36,11 +36,11 @@ export class XyoNodeWrapper extends XyoModuleWrapper {
36
36
  }
37
37
  async registeredModules() {
38
38
  const addresses = await this.registered();
39
- return compact(await Promise.all(addresses.map((address) => this.resolve(address))));
39
+ return compact(await this.resolve(addresses));
40
40
  }
41
41
  async attachedModules() {
42
42
  const addresses = await this.attached();
43
- return compact(await Promise.all(addresses.map((address) => this.resolve(address))));
43
+ return compact(await this.resolve(addresses));
44
44
  }
45
45
  resolve(_address) {
46
46
  throw Error('Not implemented');
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAC1C,UAAU,CAAsB;IACxC,IAAW,SAAS;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,UAAU;QACd,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAyB,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAA;QAC3G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;QACvG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACzC,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,KAAK,CAAC,eAAe;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvC,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,13 +11,12 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
- "@xylabs/forget": "^2.6.9",
15
- "@xyo-network/account": "^2.37.6",
16
- "@xyo-network/archivist": "^2.37.6",
17
- "@xyo-network/module": "^2.37.6",
18
- "@xyo-network/module-instance-payload-plugin": "^2.37.6",
19
- "@xyo-network/payload": "^2.37.6",
20
- "@xyo-network/promise": "^2.37.6",
14
+ "@xyo-network/account": "^2.38.0-rc.2",
15
+ "@xyo-network/archivist": "^2.38.0-rc.2",
16
+ "@xyo-network/module": "^2.38.0-rc.2",
17
+ "@xyo-network/module-instance-payload-plugin": "^2.38.0-rc.2",
18
+ "@xyo-network/payload": "^2.38.0-rc.2",
19
+ "@xyo-network/promise": "^2.38.0-rc.2",
21
20
  "lodash": "^4.17.21",
22
21
  "tslib": "^2.4.0"
23
22
  },
@@ -58,5 +57,6 @@
58
57
  },
59
58
  "sideEffects": false,
60
59
  "types": "dist/esm/index.d.ts",
61
- "version": "2.37.6"
60
+ "version": "2.38.0-rc.2",
61
+ "stableVersion": "2.37.6"
62
62
  }
@@ -1,7 +1,14 @@
1
1
  /* eslint-disable max-statements */
2
2
  import { XyoArchivistWrapper } from '@xyo-network/archivist'
3
- import { DivinerModule, XyoArchivistPayloadDiviner, XyoDivinerWrapper, XyoHuriPayload, XyoHuriSchema } from '@xyo-network/diviner'
4
- import { XyoModule } from '@xyo-network/module'
3
+ import {
4
+ DivinerModule,
5
+ XyoArchivistPayloadDiviner,
6
+ XyoArchivistPayloadDivinerConfigSchema,
7
+ XyoDivinerWrapper,
8
+ XyoHuriPayload,
9
+ XyoHuriSchema,
10
+ } from '@xyo-network/diviner'
11
+ import { XyoModule, XyoModuleResolver } from '@xyo-network/module'
5
12
  import { PayloadWrapper, XyoPayload, XyoPayloadBuilder, XyoPayloadSchema } from '@xyo-network/sdk'
6
13
 
7
14
  import { MemoryNode } from './MemoryNode'
@@ -11,21 +18,26 @@ test('Create Node', async () => {
11
18
  const XyoMemoryArchivist = (await import('@xyo-network/archivist')).XyoMemoryArchivist
12
19
  const node: NodeModule = new MemoryNode()
13
20
  const archivist = new XyoMemoryArchivist()
14
- const diviner: XyoModule = new XyoArchivistPayloadDiviner({}, archivist)
21
+ await archivist.start()
22
+ const diviner: XyoModule = new XyoArchivistPayloadDiviner({
23
+ config: { archivist: archivist.address, schema: XyoArchivistPayloadDivinerConfigSchema },
24
+ resolver: new XyoModuleResolver().add(archivist),
25
+ })
26
+ await diviner.start()
15
27
  await node.register(archivist)
16
28
  node.attach(archivist.address)
17
29
  await node.register(diviner)
18
30
  node.attach(diviner.address)
19
31
  expect((await node.registered()).length).toBe(2)
20
32
  expect((await node.attached()).length).toBe(2)
21
- const foundArchivist = await node.resolve(archivist.address)
33
+ const foundArchivist = (await node.resolve([archivist.address])).shift()
22
34
  expect(foundArchivist).toBeDefined()
23
35
  expect(foundArchivist?.address).toBe(archivist.address)
24
36
  const testPayload = new XyoPayloadBuilder<XyoPayload<{ schema: XyoPayloadSchema; test: boolean }>>({ schema: XyoPayloadSchema })
25
37
  .fields({ test: true })
26
38
  .build()
27
39
 
28
- const foundArchivistWrapper = foundArchivist ? new XyoArchivistWrapper(foundArchivist) : undefined
40
+ const foundArchivistWrapper = foundArchivist ? new XyoArchivistWrapper({ module: foundArchivist }) : undefined
29
41
  await foundArchivistWrapper?.insert([testPayload])
30
42
 
31
43
  /*const subscribeQuery: XyoModuleSubscribeQuery = { payloads: [testPayload], schema: XyoModuleSubscribeQuerySchema }
@@ -37,11 +49,11 @@ test('Create Node', async () => {
37
49
  if (payloads && payloads[0]) {
38
50
  const huri = new PayloadWrapper(payloads[0]).hash
39
51
  const huriPayload: XyoHuriPayload = { huri: [huri], schema: XyoHuriSchema }
40
- const divinerModule = node.resolve(diviner.address) as DivinerModule
41
- const foundDiviner = divinerModule ? new XyoDivinerWrapper(divinerModule) : null
52
+ const module = (await node.resolve([diviner.address])).shift() as DivinerModule
53
+ const foundDiviner = module ? new XyoDivinerWrapper({ module }) : null
42
54
  expect(foundDiviner).toBeDefined()
43
55
  if (foundDiviner) {
44
- const foundDivinerWrapper = new XyoDivinerWrapper(foundDiviner)
56
+ const foundDivinerWrapper = new XyoDivinerWrapper({ module: foundDiviner })
45
57
  const payloads = await foundDivinerWrapper.divine([huriPayload])
46
58
  console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`)
47
59
  expect(payloads?.length).toBe(1)
package/src/MemoryNode.ts CHANGED
@@ -38,13 +38,15 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
38
38
  })
39
39
  }
40
40
 
41
- override resolve(address: string): TModule | null {
42
- console.log(`Resolving in MemoryNode: ${address}`)
43
- if (address === 'archivist') {
44
- console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`)
45
- return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
46
- }
47
- return this.attachedModuleMap?.get(address) ?? null
41
+ override resolve(addresses: string[]): (TModule | null)[] {
42
+ return addresses.map((address) => {
43
+ console.log(`Resolving in MemoryNode: ${address}`)
44
+ if (address === 'archivist') {
45
+ console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`)
46
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
47
+ }
48
+ return this.attachedModuleMap?.get(address) ?? null
49
+ })
48
50
  }
49
51
 
50
52
  override register(module: TModule) {
package/src/NodeModule.ts CHANGED
@@ -6,6 +6,6 @@ import { Node } from './Node'
6
6
  export interface NodeModule<TModule extends Module = Module> extends Node, Module {
7
7
  registeredModules(): PromisableArray<TModule>
8
8
  attachedModules(): PromisableArray<TModule>
9
- resolve(address: string): Promisable<TModule | null>
9
+ resolve(address: string[]): Promisable<(TModule | null)[]>
10
10
  register(module: TModule): Promisable<void>
11
11
  }
package/src/XyoNode.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
- import { forget } from '@xylabs/forget'
3
2
  import { XyoAccount } from '@xyo-network/account'
4
3
  import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist'
5
- import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module'
4
+ import { Module, ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoQueryBoundWitness } from '@xyo-network/module'
6
5
  import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
7
6
  import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
8
7
 
@@ -13,26 +12,24 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
13
12
  extends XyoModule<TConfig>
14
13
  implements NodeModule
15
14
  {
16
- constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc) {
17
- super(config, account, resolver)
18
- forget(this.storeInstanceData())
19
- }
20
-
21
15
  private async storeInstanceData() {
22
16
  const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema }
23
17
  const [bw] = await this.bindResult([payload])
24
- await new XyoArchivistWrapper(this.archivist).insert([bw, payload])
18
+ await new XyoArchivistWrapper({ module: this.archivist }).insert([bw, payload])
25
19
  }
26
20
 
27
21
  /** Query Functions - Start */
28
22
  abstract attach(_address: string): void
29
23
  abstract detach(_address: string): void
30
- abstract resolve(_address: string): TModule | null
24
+ abstract resolve(_address: string[]): (TModule | null)[]
31
25
 
32
- private _archivist?: XyoModule
33
- public get archivist() {
26
+ private _archivist?: Module
27
+ public get archivist(): Module {
34
28
  if (!this._archivist) {
35
- this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist()
29
+ this._archivist =
30
+ this._archivist ??
31
+ (this.config?.archivist ? this.resolver?.fromAddress([this.config?.archivist]).shift() : undefined) ??
32
+ new XyoMemoryArchivist()
36
33
  }
37
34
  return this._archivist
38
35
  }
@@ -52,7 +49,7 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
52
49
  }
53
50
  /** Query Functions - End */
54
51
 
55
- override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
52
+ override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
56
53
  const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoNodeQuery>(query)
57
54
  const typedQuery = wrapper.query.payload
58
55
  assertEx(this.queryable(typedQuery.schema, wrapper.addresses))
@@ -77,11 +74,17 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
77
74
  break
78
75
  }
79
76
  default:
80
- return super.query(query, payloads)
77
+ return await super.query(query, payloads)
81
78
  }
82
79
  return this.bindResult(resultPayloads, queryAccount)
83
80
  }
84
81
 
82
+ override async start() {
83
+ await super.start()
84
+ await this.storeInstanceData()
85
+ return this
86
+ }
87
+
85
88
  register(_module: TModule): void {
86
89
  throw new Error('Method not implemented.')
87
90
  }
@@ -1,6 +1,7 @@
1
1
  import { XyoArchivistWrapper } from '@xyo-network/archivist'
2
2
  import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module'
3
3
  import { PayloadWrapper } from '@xyo-network/payload'
4
+ import { Promisable } from '@xyo-network/promise'
4
5
  import compact from 'lodash/compact'
5
6
 
6
7
  import { NodeModule } from './NodeModule'
@@ -18,7 +19,7 @@ import {
18
19
  export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
19
20
  private _archivist?: XyoArchivistWrapper
20
21
  public get archivist() {
21
- this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module)
22
+ this._archivist = this._archivist ?? new XyoArchivistWrapper({ module: this.module })
22
23
  return this._archivist
23
24
  }
24
25
 
@@ -50,14 +51,14 @@ export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
50
51
 
51
52
  async registeredModules(): Promise<XyoModule[]> {
52
53
  const addresses = await this.registered()
53
- return compact(await Promise.all(addresses.map((address) => this.resolve(address))))
54
+ return compact(await this.resolve(addresses))
54
55
  }
55
56
  async attachedModules(): Promise<XyoModule[]> {
56
57
  const addresses = await this.attached()
57
- return compact(await Promise.all(addresses.map((address) => this.resolve(address))))
58
+ return compact(await this.resolve(addresses))
58
59
  }
59
60
 
60
- resolve(_address: string): XyoModule | null {
61
+ resolve(_address: string[]): Promisable<(XyoModule | null)[]> {
61
62
  throw Error('Not implemented')
62
63
  }
63
64
  }