@xyo-network/node 2.40.0-rc.2 → 2.40.1

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.
@@ -1,7 +1,7 @@
1
- import { XyoModule, XyoModuleParams } from '@xyo-network/module';
1
+ import { Module, XyoModuleParams } from '@xyo-network/module';
2
2
  import { NodeConfig } from './Config';
3
3
  import { XyoNode } from './XyoNode';
4
- export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoNode<TConfig, TModule> {
4
+ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends XyoNode<TConfig, TModule> {
5
5
  private attachedModuleMap;
6
6
  private registeredModuleMap;
7
7
  static create(params?: XyoModuleParams<NodeConfig>): Promise<MemoryNode>;
@@ -9,6 +9,7 @@ export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule
9
9
  attached(): string[];
10
10
  attachedModules(): TModule[];
11
11
  detach(address: string): void;
12
+ find(schema: string[]): (TModule | null)[];
12
13
  queries(): string[];
13
14
  register(module: TModule): void;
14
15
  registered(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,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,iBAAiB,CAA6B;IACtD,OAAO,CAAC,mBAAmB,CAA6B;WAElC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAO9E,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,QAAQ;IAMR,eAAe;IAMf,MAAM,CAAC,OAAO,EAAE,MAAM;IAIf,OAAO,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMjB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;CAU1D"}
1
+ {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE7D,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,MAAM,GAAG,MAAM,CAAE,SAAQ,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IACjI,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,mBAAmB,CAA6B;WAElC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAI9E,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,QAAQ;IAMR,eAAe;IAMf,MAAM,CAAC,OAAO,EAAE,MAAM;IAItB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IAWnC,OAAO,IAAI,MAAM,EAAE;IAI1B,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,UAAU;IAMV,iBAAiB;IAMjB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;CAM1D"}
@@ -6,10 +6,7 @@ export class MemoryNode extends XyoNode {
6
6
  attachedModuleMap = new Map();
7
7
  registeredModuleMap = new Map();
8
8
  static async create(params) {
9
- params?.logger?.debug(`config: ${JSON.stringify(params.config, null, 2)}`);
10
- const module = new MemoryNode(params);
11
- await module.start();
12
- return module;
9
+ return (await super.create(params));
13
10
  }
14
11
  attach(address) {
15
12
  const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
@@ -28,6 +25,16 @@ export class MemoryNode extends XyoNode {
28
25
  detach(address) {
29
26
  this.attachedModuleMap.delete(address);
30
27
  }
28
+ find(schema) {
29
+ return schema.map((schema) => {
30
+ this.logger?.log(`Finding in MemoryNode: ${schema}`);
31
+ if (schema === 'network.xyo.archivist') {
32
+ this.logger?.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`);
33
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
34
+ }
35
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
36
+ });
37
+ }
31
38
  queries() {
32
39
  return [XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, ...super.queries()];
33
40
  }
@@ -46,11 +53,7 @@ export class MemoryNode extends XyoNode {
46
53
  }
47
54
  resolve(addresses) {
48
55
  return addresses.map((address) => {
49
- console.log(`Resolving in MemoryNode: ${address}`);
50
- if (address === 'archivist') {
51
- console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`);
52
- return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
53
- }
56
+ this.logger?.log(`Resolving in MemoryNode: ${address}`);
54
57
  return this.attachedModuleMap?.get(address) ?? null;
55
58
  });
56
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
1
  import { Promisable } from '@xyo-network/promise';
2
+ export interface ModuleIdentifier {
3
+ address?: string;
4
+ schema?: string;
5
+ }
2
6
  export interface Node {
3
7
  attach(address: string): void;
4
8
  attached(): Promisable<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC"}
@@ -2,7 +2,7 @@ import { Module, ModuleQueryResult, XyoModule, XyoQueryBoundWitness } from '@xyo
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
3
  import { NodeConfig } from './Config';
4
4
  import { NodeModule } from './NodeModule';
5
- export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig> implements NodeModule {
5
+ export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends XyoModule<TConfig> implements NodeModule {
6
6
  private _archivist?;
7
7
  attached(): string[];
8
8
  attachedModules(): TModule[];
@@ -15,6 +15,7 @@ export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, T
15
15
  private storeInstanceData;
16
16
  abstract attach(_address: string): void;
17
17
  abstract detach(_address: string): void;
18
+ abstract find(_schema: string[]): (TModule | null)[];
18
19
  abstract resolve(_address: string[]): (TModule | null)[];
19
20
  }
20
21
  //# sourceMappingURL=XyoNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAA6C,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE3I,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,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;IAErB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAE3B,QAAQ,IAAI,MAAM,EAAE;IAIpB,eAAe,IAAI,OAAO,EAAE;IAIf,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC1I,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,UAAU,IAAI,MAAM,EAAE;IAItB,iBAAiB,IAAI,OAAO,EAAE;IAIf,KAAK;YAMN,iBAAiB;IAM/B,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;CACzD"}
1
+ {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAA6C,SAAS,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE3I,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,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,MAAM,GAAG,MAAM,CACpG,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;IAErB,OAAO,CAAC,UAAU,CAAC,CAAQ;IAE3B,QAAQ,IAAI,MAAM,EAAE;IAIpB,eAAe,IAAI,OAAO,EAAE;IAIf,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC1I,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,UAAU,IAAI,MAAM,EAAE;IAItB,iBAAiB,IAAI,OAAO,EAAE;IAIf,KAAK;YAMN,iBAAiB;IAM/B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;IACpD,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE;CACzD"}
@@ -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":"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"}
package/package.json CHANGED
@@ -11,18 +11,18 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
- "@xyo-network/account": "^2.40.0-rc.2",
15
- "@xyo-network/archivist": "^2.40.0-rc.2",
16
- "@xyo-network/module": "^2.40.0-rc.2",
17
- "@xyo-network/module-instance-payload-plugin": "^2.40.0-rc.2",
18
- "@xyo-network/payload": "^2.40.0-rc.2",
19
- "@xyo-network/promise": "^2.40.0-rc.2",
14
+ "@xyo-network/account": "^2.40.1",
15
+ "@xyo-network/archivist": "^2.40.1",
16
+ "@xyo-network/module": "^2.40.1",
17
+ "@xyo-network/module-instance-payload-plugin": "^2.40.1",
18
+ "@xyo-network/payload": "^2.40.1",
19
+ "@xyo-network/promise": "^2.40.1",
20
20
  "lodash": "^4.17.21",
21
21
  "tslib": "^2.4.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "axios": "^1.1.3",
25
- "pako": "^2.0.4"
25
+ "pako": "^2.1.0"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "axios": "^1.1.3",
@@ -61,6 +61,5 @@
61
61
  },
62
62
  "sideEffects": false,
63
63
  "types": "dist/esm/index.d.ts",
64
- "version": "2.40.0-rc.2",
65
- "stableVersion": "2.39.6"
64
+ "version": "2.40.1"
66
65
  }
package/src/MemoryNode.ts CHANGED
@@ -1,20 +1,17 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { XyoArchivistGetQuerySchema } from '@xyo-network/archivist'
3
- import { XyoModule, XyoModuleParams } from '@xyo-network/module'
3
+ import { Module, XyoModuleParams } from '@xyo-network/module'
4
4
 
5
5
  import { NodeConfig } from './Config'
6
6
  import { XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema } from './Queries'
7
7
  import { XyoNode } from './XyoNode'
8
8
 
9
- export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoNode<TConfig, TModule> {
9
+ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends XyoNode<TConfig, TModule> {
10
10
  private attachedModuleMap = new Map<string, TModule>()
11
11
  private registeredModuleMap = new Map<string, TModule>()
12
12
 
13
13
  static override async create(params?: XyoModuleParams<NodeConfig>): Promise<MemoryNode> {
14
- params?.logger?.debug(`config: ${JSON.stringify(params.config, null, 2)}`)
15
- const module = new MemoryNode(params)
16
- await module.start()
17
- return module
14
+ return (await super.create(params)) as MemoryNode
18
15
  }
19
16
 
20
17
  override attach(address: string) {
@@ -38,6 +35,17 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
38
35
  this.attachedModuleMap.delete(address)
39
36
  }
40
37
 
38
+ override find(schema: string[]): (TModule | null)[] {
39
+ return schema.map((schema) => {
40
+ this.logger?.log(`Finding in MemoryNode: ${schema}`)
41
+ if (schema === 'network.xyo.archivist') {
42
+ this.logger?.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`)
43
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
44
+ }
45
+ return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
46
+ })
47
+ }
48
+
41
49
  public override queries(): string[] {
42
50
  return [XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, ...super.queries()]
43
51
  }
@@ -60,11 +68,7 @@ export class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends
60
68
 
61
69
  override resolve(addresses: string[]): (TModule | null)[] {
62
70
  return addresses.map((address) => {
63
- console.log(`Resolving in MemoryNode: ${address}`)
64
- if (address === 'archivist') {
65
- console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`)
66
- return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
67
- }
71
+ this.logger?.log(`Resolving in MemoryNode: ${address}`)
68
72
  return this.attachedModuleMap?.get(address) ?? null
69
73
  })
70
74
  }
package/src/Node.ts CHANGED
@@ -1,5 +1,10 @@
1
1
  import { Promisable } from '@xyo-network/promise'
2
2
 
3
+ export interface ModuleIdentifier {
4
+ address?: string
5
+ schema?: string
6
+ }
7
+
3
8
  export interface Node {
4
9
  attach(address: string): void
5
10
  attached(): Promisable<string[]>
package/src/XyoNode.ts CHANGED
@@ -8,7 +8,7 @@ import { XyoPayload } from '@xyo-network/payload'
8
8
  import { NodeConfig } from './Config'
9
9
  import { NodeModule } from './NodeModule'
10
10
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeQuery, XyoNodeRegisteredQuerySchema } from './Queries'
11
- export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule>
11
+ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module>
12
12
  extends XyoModule<TConfig>
13
13
  implements NodeModule
14
14
  {
@@ -93,5 +93,6 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
93
93
 
94
94
  abstract attach(_address: string): void
95
95
  abstract detach(_address: string): void
96
+ abstract find(_schema: string[]): (TModule | null)[]
96
97
  abstract resolve(_address: string[]): (TModule | null)[]
97
98
  }