@xyo-network/node 2.32.1 → 2.33.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.
Files changed (64) hide show
  1. package/dist/cjs/MemoryNode.d.ts +1 -1
  2. package/dist/cjs/MemoryNode.d.ts.map +1 -1
  3. package/dist/cjs/MemoryNode.js +5 -5
  4. package/dist/cjs/MemoryNode.js.map +1 -1
  5. package/dist/cjs/Node.d.ts +2 -2
  6. package/dist/cjs/Node.d.ts.map +1 -1
  7. package/dist/cjs/XyoNode.d.ts +4 -4
  8. package/dist/cjs/XyoNode.d.ts.map +1 -1
  9. package/dist/cjs/XyoNode.js +5 -3
  10. package/dist/cjs/XyoNode.js.map +1 -1
  11. package/dist/cjs/XyoNodeWrapper.d.ts +1 -1
  12. package/dist/cjs/XyoNodeWrapper.d.ts.map +1 -1
  13. package/dist/cjs/XyoNodeWrapper.js +1 -1
  14. package/dist/cjs/XyoNodeWrapper.js.map +1 -1
  15. package/dist/cjs/cli/index.d.ts +2 -0
  16. package/dist/cjs/cli/index.d.ts.map +1 -0
  17. package/dist/cjs/{cli.js → cli/index.js} +7 -6
  18. package/dist/cjs/cli/index.js.map +1 -0
  19. package/dist/cjs/cli/terminal.d.ts +2 -0
  20. package/dist/cjs/cli/terminal.d.ts.map +1 -0
  21. package/dist/cjs/cli/terminal.js +37 -0
  22. package/dist/cjs/cli/terminal.js.map +1 -0
  23. package/dist/cjs/cli/xyo_logo_black.png +0 -0
  24. package/dist/docs.json +463 -498
  25. package/dist/esm/MemoryNode.d.ts +1 -1
  26. package/dist/esm/MemoryNode.d.ts.map +1 -1
  27. package/dist/esm/MemoryNode.js +5 -5
  28. package/dist/esm/MemoryNode.js.map +1 -1
  29. package/dist/esm/Node.d.ts +2 -2
  30. package/dist/esm/Node.d.ts.map +1 -1
  31. package/dist/esm/XyoNode.d.ts +4 -4
  32. package/dist/esm/XyoNode.d.ts.map +1 -1
  33. package/dist/esm/XyoNode.js +5 -3
  34. package/dist/esm/XyoNode.js.map +1 -1
  35. package/dist/esm/XyoNodeWrapper.d.ts +1 -1
  36. package/dist/esm/XyoNodeWrapper.d.ts.map +1 -1
  37. package/dist/esm/XyoNodeWrapper.js +1 -1
  38. package/dist/esm/XyoNodeWrapper.js.map +1 -1
  39. package/dist/esm/cli/index.d.ts +2 -0
  40. package/dist/esm/cli/index.d.ts.map +1 -0
  41. package/dist/esm/{cli.js → cli/index.js} +7 -6
  42. package/dist/esm/cli/index.js.map +1 -0
  43. package/dist/esm/cli/terminal.d.ts +2 -0
  44. package/dist/esm/cli/terminal.d.ts.map +1 -0
  45. package/dist/esm/cli/terminal.js +32 -0
  46. package/dist/esm/cli/terminal.js.map +1 -0
  47. package/dist/esm/cli/xyo_logo_black.png +0 -0
  48. package/package.json +15 -8
  49. package/src/MemoryNode.spec.ts +1 -1
  50. package/src/MemoryNode.ts +5 -5
  51. package/src/Node.ts +2 -2
  52. package/src/XyoNode.ts +7 -6
  53. package/src/XyoNodeWrapper.ts +1 -1
  54. package/src/cli/index.ts +69 -0
  55. package/src/cli/terminal.ts +36 -0
  56. package/src/cli/types/images.d.ts +5 -0
  57. package/src/cli/xyo_logo_black.png +0 -0
  58. package/dist/cjs/cli.d.ts +0 -2
  59. package/dist/cjs/cli.d.ts.map +0 -1
  60. package/dist/cjs/cli.js.map +0 -1
  61. package/dist/esm/cli.d.ts +0 -2
  62. package/dist/esm/cli.d.ts.map +0 -1
  63. package/dist/esm/cli.js.map +0 -1
  64. package/src/cli.ts +0 -68
@@ -7,7 +7,7 @@ export declare class XyoMemoryNode<TConfig extends XyoModuleConfig = XyoModuleCo
7
7
  private attachedModuleMap;
8
8
  queries(): TQuery['schema'][];
9
9
  attached(): string[];
10
- available(): string[];
10
+ registered(): string[];
11
11
  attachedModules(): TModule[];
12
12
  availableModules(): TModule[];
13
13
  resolve(address: string): TModule | null;
@@ -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;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAA4B,YAAY,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,aAAa,CACxB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,OAAO,SAAS,SAAS,GAAG,SAAS,CACrC,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IACvD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA6B;IAEtC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;IAIpC,QAAQ;IAMR,SAAS;IAMT,eAAe;IAMf,gBAAgB;IAMhB,OAAO,CAAC,OAAO,EAAE,MAAM;IASvB,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,GAAG,CAAC,OAAO,EAAE,MAAM;CAG7B"}
1
+ {"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAA4B,YAAY,EAAE,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,aAAa,CACxB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,OAAO,SAAS,SAAS,GAAG,SAAS,CACrC,SAAQ,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC;IACvD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA6B;IAEtC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;IAIpC,QAAQ;IAMR,UAAU;IAMV,eAAe;IAMf,gBAAgB;IAMhB,OAAO,CAAC,OAAO,EAAE,MAAM;IASvB,QAAQ,CAAC,MAAM,EAAE,OAAO;IAIxB,MAAM,CAAC,OAAO,EAAE,MAAM;IAKtB,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,GAAG,CAAC,OAAO,EAAE,MAAM;CAG7B"}
@@ -13,7 +13,7 @@ export class XyoMemoryNode extends XyoNode {
13
13
  return key;
14
14
  });
15
15
  }
16
- available() {
16
+ registered() {
17
17
  return Array.from(this.registeredModuleMap.keys()).map((key) => {
18
18
  return key;
19
19
  });
@@ -34,20 +34,20 @@ export class XyoMemoryNode extends XyoNode {
34
34
  console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`);
35
35
  return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null;
36
36
  }
37
- return this.registeredModuleMap?.get(address) ?? null;
37
+ return this.attachedModuleMap?.get(address) ?? null;
38
38
  }
39
39
  register(module) {
40
40
  this.registeredModuleMap.set(module.address, module);
41
41
  }
42
42
  attach(address) {
43
43
  const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
44
- this.registeredModuleMap.set(address, module);
44
+ this.attachedModuleMap.set(address, module);
45
45
  }
46
46
  detatch(address) {
47
- this.registeredModuleMap.delete(address);
47
+ this.attachedModuleMap.delete(address);
48
48
  }
49
49
  get(address) {
50
- return this.registeredModuleMap.get(address);
50
+ return this.attachedModuleMap.get(address);
51
51
  }
52
52
  }
53
53
  //# sourceMappingURL=MemoryNode.js.map
@@ -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,EAAgB,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,aAKX,SAAQ,OAA+C;IAC/C,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAChD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEtC,OAAO;QACrB,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACnC,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,SAAS;QAChB,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,gBAAgB;QACvB,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,mBAAmB,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;IACvD,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,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC/C,CAAC;IAEQ,OAAO,CAAC,OAAe;QAC9B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEQ,GAAG,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC9C,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,EAAgB,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,OAAO,aAKX,SAAQ,OAA+C;IAC/C,mBAAmB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAChD,iBAAiB,GAAG,IAAI,GAAG,EAAmB,CAAA;IAEtC,OAAO;QACrB,OAAO,CAAC,wBAAwB,CAAC,CAAA;IACnC,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,gBAAgB;QACvB,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,OAAO,CAAC,OAAe;QAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAEQ,GAAG,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;CACF"}
@@ -1,10 +1,10 @@
1
1
  import { Module, XyoQuery } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
- import { Promisable } from '@xyo-network/promisable';
3
+ import { Promisable } from '@xyo-network/promise';
4
4
  export interface Node {
5
5
  attach(address: string): void;
6
6
  detatch(address: string): void;
7
- available(): Promisable<string[]>;
7
+ registered(): Promisable<string[]>;
8
8
  attached(): Promisable<string[]>;
9
9
  }
10
10
  export interface NodeModule<TQuery extends XyoQuery = XyoQuery, TQueryResult extends XyoPayload = XyoPayload> extends Node, Module<TQuery, TQueryResult> {
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IACjC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,UAAU,CAAC,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAAE,YAAY,SAAS,UAAU,GAAG,UAAU,CAC1G,SAAQ,IAAI,EACV,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;CAAG"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,UAAU,CAAC,MAAM,SAAS,QAAQ,GAAG,QAAQ,EAAE,YAAY,SAAS,UAAU,GAAG,UAAU,CAC1G,SAAQ,IAAI,EACV,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;CAAG"}
@@ -1,6 +1,6 @@
1
- import { XyoModule, XyoModuleConfig, XyoModuleQueryResult } from '@xyo-network/module';
1
+ import { XyoAccount } from '@xyo-network/account';
2
+ import { XyoModule, XyoModuleConfig } from '@xyo-network/module';
2
3
  import { XyoPayload } from '@xyo-network/payload';
3
- import { Promisable } from '@xyo-network/promisable';
4
4
  import { NodeModule } from './Node';
5
5
  import { XyoNodeQuery } from './Queries';
6
6
  export declare abstract class XyoNode<TConfig extends XyoModuleConfig = XyoModuleConfig, TQuery extends XyoNodeQuery = XyoNodeQuery, TQueryResult extends XyoPayload = XyoPayload, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig, TQuery, TQueryResult> implements NodeModule<TQuery, TQueryResult> {
@@ -8,12 +8,12 @@ export declare abstract class XyoNode<TConfig extends XyoModuleConfig = XyoModul
8
8
  abstract attach(_address: string): void;
9
9
  abstract detatch(_address: string): void;
10
10
  abstract resolve(_address: string): XyoModule | null;
11
- available(): string[];
11
+ registered(): string[];
12
12
  attached(): string[];
13
13
  availableModules(): XyoModule[];
14
14
  attachedModules(): XyoModule[];
15
15
  /** Query Functions - End */
16
- query(query: TQuery): Promisable<XyoModuleQueryResult<TQueryResult>>;
16
+ query(query: TQuery): import("@xyo-network/promise").PromiseEx<import("@xyo-network/module").XyoModuleQueryResult<TQueryResult>, XyoAccount>;
17
17
  register(_module: TModule): void;
18
18
  abstract get(_address: string): TModule | undefined;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAgH,YAAY,EAAE,MAAM,WAAW,CAAA;AAEtJ,8BAAsB,OAAO,CACzB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,OAAO,SAAS,SAAS,GAAG,SAAS,CAEvC,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAC/C,YAAW,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;IAE3C,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACxC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpD,SAAS,IAAI,MAAM,EAAE;IAGrB,QAAQ,IAAI,MAAM,EAAE;IAIpB,gBAAgB,IAAI,SAAS,EAAE;IAG/B,eAAe,IAAI,SAAS,EAAE;IAG9B,4BAA4B;IAE5B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAuBpE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CACpD"}
1
+ {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAgH,YAAY,EAAE,MAAM,WAAW,CAAA;AAEtJ,8BAAsB,OAAO,CACzB,OAAO,SAAS,eAAe,GAAG,eAAe,EACjD,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,YAAY,SAAS,UAAU,GAAG,UAAU,EAC5C,OAAO,SAAS,SAAS,GAAG,SAAS,CAEvC,SAAQ,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAC/C,YAAW,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC;IAE3C,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACxC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAEpD,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,gBAAgB,IAAI,SAAS,EAAE;IAG/B,eAAe,IAAI,SAAS,EAAE;IAG9B,4BAA4B;IAE5B,KAAK,CAAC,KAAK,EAAE,MAAM;IAwBnB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CACpD"}
@@ -1,7 +1,8 @@
1
+ import { XyoAccount } from '@xyo-network/account';
1
2
  import { XyoModule } from '@xyo-network/module';
2
3
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeAvailableQuerySchema, XyoNodeDetatchQuerySchema } from './Queries';
3
4
  export class XyoNode extends XyoModule {
4
- available() {
5
+ registered() {
5
6
  throw new Error('Method not implemented.');
6
7
  }
7
8
  attached() {
@@ -15,6 +16,7 @@ export class XyoNode extends XyoModule {
15
16
  }
16
17
  /** Query Functions - End */
17
18
  query(query) {
19
+ const queryAccount = new XyoAccount();
18
20
  const payloads = [];
19
21
  switch (query.schema) {
20
22
  case XyoNodeAttachQuerySchema: {
@@ -30,11 +32,11 @@ export class XyoNode extends XyoModule {
30
32
  break;
31
33
  }
32
34
  case XyoNodeAvailableQuerySchema: {
33
- this.available();
35
+ this.registered();
34
36
  break;
35
37
  }
36
38
  }
37
- return [this.bindPayloads(payloads), payloads];
39
+ return this.bindPayloads(payloads, queryAccount);
38
40
  }
39
41
  register(_module) {
40
42
  throw new Error('Method not implemented.');
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyC,MAAM,qBAAqB,CAAA;AAKtF,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,yBAAyB,EAAgB,MAAM,WAAW,CAAA;AAEtJ,MAAM,OAAgB,OAMpB,SAAQ,SAAwC;IAQhD,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAE5B,KAAK,CAAC,KAAa;QACjB,MAAM,QAAQ,GAA4B,EAAE,CAAA;QAC5C,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC1B,MAAK;aACN;YACD,KAAK,yBAAyB,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,2BAA2B,CAAC,CAAC;gBAChC,IAAI,CAAC,SAAS,EAAE,CAAA;gBAChB,MAAK;aACN;SACF;QACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CAGF"}
1
+ {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAA;AAIhE,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,yBAAyB,EAAgB,MAAM,WAAW,CAAA;AAEtJ,MAAM,OAAgB,OAMpB,SAAQ,SAAwC;IAQhD,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAE5B,KAAK,CAAC,KAAa;QACjB,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,QAAQ,GAA4B,EAAE,CAAA;QAC5C,QAAQ,KAAK,CAAC,MAAM,EAAE;YACpB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC1B,MAAK;aACN;YACD,KAAK,yBAAyB,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC3B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,2BAA2B,CAAC,CAAC;gBAChC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;SACF;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CAGF"}
@@ -1,7 +1,7 @@
1
1
  import { XyoModuleWrapper } from '@xyo-network/module';
2
2
  import { Node } from './Node';
3
3
  export declare class XyoNodeWrapper extends XyoModuleWrapper implements Node {
4
- available(): Promise<string[]>;
4
+ registered(): Promise<string[]>;
5
5
  attached(): Promise<string[]>;
6
6
  attach(address: string): Promise<void>;
7
7
  detatch(address: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAY7B,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,IAAI;IAC5D,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK9C"}
1
+ {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAY7B,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,IAAI;IAC5D,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK9C"}
@@ -2,7 +2,7 @@ import { XyoModuleWrapper } from '@xyo-network/module';
2
2
  import compact from 'lodash/compact';
3
3
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeAvailableQuerySchema, XyoNodeDetatchQuerySchema, } from './Queries';
4
4
  export class XyoNodeWrapper extends XyoModuleWrapper {
5
- async available() {
5
+ async registered() {
6
6
  const query = { schema: XyoNodeAvailableQuerySchema };
7
7
  return compact((await this.module.query(query))[1].map((payload) => payload?.schema));
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,2BAA2B,EAE3B,yBAAyB,GAC1B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAClD,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAA0B,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QAC5E,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAyB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;QAC1E,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAA;QAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;QACjF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;CACF"}
1
+ {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,2BAA2B,EAE3B,yBAAyB,GAC1B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAClD,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,GAA0B,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAA;QAC5E,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAyB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAA;QAC1E,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,KAAK,GAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAA;QAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,OAAe;QAC3B,MAAM,KAAK,GAAwB,EAAE,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAA;QACjF,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":""}
@@ -1,7 +1,9 @@
1
+ import { forget } from '@xylabs/forget';
1
2
  import yargs from 'yargs';
2
3
  // eslint-disable-next-line import/no-internal-modules
3
4
  import { hideBin } from 'yargs/helpers';
4
- import { XyoMemoryNode } from './MemoryNode';
5
+ import { XyoMemoryNode } from '../MemoryNode';
6
+ import { startTerminal } from './terminal';
5
7
  const parseOptions = () => {
6
8
  return yargs(hideBin(process.argv))
7
9
  .option('verbose', {
@@ -23,8 +25,7 @@ const loadModule = async (pkg, name, resolver) => {
23
25
  return new ModuleConstructor(undefined, undefined, resolver);
24
26
  };
25
27
  const xyo = () => {
26
- return parseOptions()
27
- .command('node', 'Start an XYO Node', (yargs) => {
28
+ return parseOptions().command('node', 'Start an XYO Node', (yargs) => {
28
29
  return yargs;
29
30
  }, async (yargs) => {
30
31
  console.log(`yargs: ${JSON.stringify(yargs, null, 2)}`);
@@ -45,8 +46,8 @@ const xyo = () => {
45
46
  node.attach(instance.address);
46
47
  console.log(`Module Loaded: ${instance.address}`);
47
48
  }));
48
- })
49
- .help().argv;
49
+ }).argv;
50
50
  };
51
51
  void xyo();
52
- //# sourceMappingURL=cli.js.map
52
+ forget(startTerminal());
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,sDAAsD;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QAEV,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,IAAa,EAAE,QAAgC,EAAsB,EAAE;IAC5G,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAA;IACnC,8DAA8D;IAC9D,MAAM,iBAAiB,GAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,YAAY,EAAE,CAAC,OAAO,CAC3B,MAAM,EACN,mBAAmB,EACnB,CAAC,KAAK,EAAE,EAAE;QACR,OAAO,KAAK,CAAA;IACd,CAAC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAA;QAEhC,MAAM,QAAQ,GAA0B,CAAC,OAAe,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAE7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CACF,CAAC,IAAI,CAAA;AACR,CAAC,CAAA;AAED,KAAK,GAAG,EAAE,CAAA;AACV,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const startTerminal: () => Promise<never>;
2
+ //# sourceMappingURL=terminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/cli/terminal.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,aAAa,sBAezB,CAAA"}
@@ -0,0 +1,32 @@
1
+ import path from 'path';
2
+ import { terminal } from 'terminal-kit';
3
+ import xyo_logo_black from './xyo_logo_black.png';
4
+ const commands = ['exit', 'plugin'];
5
+ const getCommand = () => {
6
+ return new Promise((resolve, reject) => {
7
+ terminal.inputField({ autoComplete: commands, autoCompleteMenu: true }, (error, input) => {
8
+ terminal('\n');
9
+ if (error) {
10
+ reject(error);
11
+ }
12
+ else {
13
+ resolve(input);
14
+ }
15
+ });
16
+ });
17
+ };
18
+ export const startTerminal = async () => {
19
+ const imagePath = path.resolve(__dirname, xyo_logo_black);
20
+ await terminal.drawImage(imagePath);
21
+ terminal.green('XYO Node Started\n\n');
22
+ terminal.green("Type 'exit' to exit\n\n");
23
+ let running = true;
24
+ while (running) {
25
+ const command = await getCommand();
26
+ if (command === 'exit') {
27
+ running = false;
28
+ }
29
+ }
30
+ process.exit(0);
31
+ };
32
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/cli/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,cAAc,MAAM,sBAAsB,CAAA;AAEjD,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAEnC,MAAM,UAAU,GAAG,GAAgC,EAAE;IACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvF,QAAQ,CAAC,IAAI,CAAC,CAAA;YACd,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,KAAK,CAAC,CAAA;aACd;iBAAM;gBACL,OAAO,CAAC,KAAK,CAAC,CAAA;aACf;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACzD,MAAM,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAEzC,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,OAAO,OAAO,EAAE;QACd,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;QAClC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO,GAAG,KAAK,CAAA;SAChB;KACF;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAA"}
Binary file
package/package.json CHANGED
@@ -11,19 +11,25 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.7",
14
- "@xyo-network/archivist": "^2.32.1",
15
- "@xyo-network/module": "^2.32.1",
16
- "@xyo-network/payload": "^2.32.1",
17
- "@xyo-network/promisable": "^2.32.1",
14
+ "@xylabs/forget": "^2.6.7",
15
+ "@xyo-network/account": "^2.33.0-rc.2",
16
+ "@xyo-network/archivist": "^2.33.0-rc.2",
17
+ "@xyo-network/module": "^2.33.0-rc.2",
18
+ "@xyo-network/payload": "^2.33.0-rc.2",
19
+ "@xyo-network/promise": "^2.33.0-rc.2",
18
20
  "lodash": "^4.17.21",
21
+ "terminal-kit": "^2.11.4",
19
22
  "tslib": "^2.4.0",
20
23
  "yargs": "^17.5.1"
21
24
  },
22
25
  "bin": {
23
- "xyo": "dist/cjs/cli.js"
26
+ "xyo": "dist/cjs/cli/index.js"
24
27
  },
25
28
  "devDependencies": {
26
- "ts-node": "^10.9.1"
29
+ "@types/node": "^18.7.17",
30
+ "@types/terminal-kit": "^2.5.0",
31
+ "ts-node": "^10.9.1",
32
+ "typescript": "^4.8.3"
27
33
  },
28
34
  "description": "Primary SDK for using XYO Protocol 2.0",
29
35
  "browser": "dist/esm/index.js",
@@ -58,8 +64,9 @@
58
64
  },
59
65
  "sideEffects": false,
60
66
  "scripts": {
61
- "xyo-ts": "ts-node src/cli.ts"
67
+ "xyo-ts": "ts-node src/cli/index.ts"
62
68
  },
63
69
  "types": "dist/esm/index.d.ts",
64
- "version": "2.32.1"
70
+ "version": "2.33.0-rc.2",
71
+ "stableVersion": "2.32.1"
65
72
  }
@@ -14,7 +14,7 @@ test('Create Node', async () => {
14
14
  node.attach(archivist.address)
15
15
  node.register(diviner)
16
16
  node.attach(diviner.address)
17
- expect(node.available().length).toBe(2)
17
+ expect(node.registered().length).toBe(2)
18
18
  expect(node.attached().length).toBe(2)
19
19
  const foundArchivist = node.get(archivist.address)
20
20
  expect(foundArchivist).toBeDefined()
package/src/MemoryNode.ts CHANGED
@@ -25,7 +25,7 @@ export class XyoMemoryNode<
25
25
  })
26
26
  }
27
27
 
28
- override available() {
28
+ override registered() {
29
29
  return Array.from(this.registeredModuleMap.keys()).map((key) => {
30
30
  return key
31
31
  })
@@ -49,7 +49,7 @@ export class XyoMemoryNode<
49
49
  console.log(`attachedModules: ${JSON.stringify(this.attachedModules(), null, 2)}`)
50
50
  return this.attachedModules().find((module) => module.queryable(XyoArchivistGetQuerySchema)) ?? null
51
51
  }
52
- return this.registeredModuleMap?.get(address) ?? null
52
+ return this.attachedModuleMap?.get(address) ?? null
53
53
  }
54
54
 
55
55
  override register(module: TModule) {
@@ -58,14 +58,14 @@ export class XyoMemoryNode<
58
58
 
59
59
  override attach(address: string) {
60
60
  const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address')
61
- this.registeredModuleMap.set(address, module)
61
+ this.attachedModuleMap.set(address, module)
62
62
  }
63
63
 
64
64
  override detatch(address: string) {
65
- this.registeredModuleMap.delete(address)
65
+ this.attachedModuleMap.delete(address)
66
66
  }
67
67
 
68
68
  override get(address: string) {
69
- return this.registeredModuleMap.get(address)
69
+ return this.attachedModuleMap.get(address)
70
70
  }
71
71
  }
package/src/Node.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { Module, XyoQuery } from '@xyo-network/module'
2
2
  import { XyoPayload } from '@xyo-network/payload'
3
- import { Promisable } from '@xyo-network/promisable'
3
+ import { Promisable } from '@xyo-network/promise'
4
4
 
5
5
  export interface Node {
6
6
  attach(address: string): void
7
7
  detatch(address: string): void
8
- available(): Promisable<string[]>
8
+ registered(): Promisable<string[]>
9
9
  attached(): Promisable<string[]>
10
10
  }
11
11
 
package/src/XyoNode.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { XyoModule, XyoModuleConfig, XyoModuleQueryResult } from '@xyo-network/module'
1
+ import { XyoAccount } from '@xyo-network/account'
2
+ import { XyoModule, XyoModuleConfig } from '@xyo-network/module'
2
3
  import { XyoPayload } from '@xyo-network/payload'
3
- import { Promisable } from '@xyo-network/promisable'
4
4
 
5
5
  import { NodeModule } from './Node'
6
6
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeAvailableQuerySchema, XyoNodeDetatchQuerySchema, XyoNodeQuery } from './Queries'
@@ -19,7 +19,7 @@ export abstract class XyoNode<
19
19
  abstract detatch(_address: string): void
20
20
  abstract resolve(_address: string): XyoModule | null
21
21
 
22
- available(): string[] {
22
+ registered(): string[] {
23
23
  throw new Error('Method not implemented.')
24
24
  }
25
25
  attached(): string[] {
@@ -34,7 +34,8 @@ export abstract class XyoNode<
34
34
  }
35
35
  /** Query Functions - End */
36
36
 
37
- query(query: TQuery): Promisable<XyoModuleQueryResult<TQueryResult>> {
37
+ query(query: TQuery) {
38
+ const queryAccount = new XyoAccount()
38
39
  const payloads: (TQueryResult | null)[] = []
39
40
  switch (query.schema) {
40
41
  case XyoNodeAttachQuerySchema: {
@@ -50,11 +51,11 @@ export abstract class XyoNode<
50
51
  break
51
52
  }
52
53
  case XyoNodeAvailableQuerySchema: {
53
- this.available()
54
+ this.registered()
54
55
  break
55
56
  }
56
57
  }
57
- return [this.bindPayloads(payloads), payloads]
58
+ return this.bindPayloads(payloads, queryAccount)
58
59
  }
59
60
 
60
61
  register(_module: TModule): void {
@@ -14,7 +14,7 @@ import {
14
14
  } from './Queries'
15
15
 
16
16
  export class XyoNodeWrapper extends XyoModuleWrapper implements Node {
17
- async available(): Promise<string[]> {
17
+ async registered(): Promise<string[]> {
18
18
  const query: XyoNodeAvailableQuery = { schema: XyoNodeAvailableQuerySchema }
19
19
  return compact((await this.module.query(query))[1].map((payload) => payload?.schema))
20
20
  }
@@ -0,0 +1,69 @@
1
+ import { forget } from '@xylabs/forget'
2
+ import { XyoModule, XyoModuleResolverFunc } from '@xyo-network/module'
3
+ import yargs from 'yargs'
4
+ // eslint-disable-next-line import/no-internal-modules
5
+ import { hideBin } from 'yargs/helpers'
6
+
7
+ import { XyoMemoryNode } from '../MemoryNode'
8
+ import { startTerminal } from './terminal'
9
+
10
+ const parseOptions = () => {
11
+ return yargs(hideBin(process.argv))
12
+ .option('verbose', {
13
+ alias: 'v',
14
+ default: false,
15
+ description: 'Run with verbose logging',
16
+ type: 'boolean',
17
+ })
18
+ .option('module', {
19
+ alias: 'm',
20
+
21
+ description: 'Modules to load',
22
+ type: 'string',
23
+ })
24
+ }
25
+
26
+ const loadModule = async (pkg: string, name?: string, resolver?: XyoModuleResolverFunc): Promise<XyoModule> => {
27
+ const loadedPkg = await import(pkg)
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ const ModuleConstructor: any = name ? loadedPkg[name] : loadedPkg
30
+ return new ModuleConstructor(undefined, undefined, resolver)
31
+ }
32
+
33
+ const xyo = () => {
34
+ return parseOptions().command(
35
+ 'node',
36
+ 'Start an XYO Node',
37
+ (yargs) => {
38
+ return yargs
39
+ },
40
+ async (yargs) => {
41
+ console.log(`yargs: ${JSON.stringify(yargs, null, 2)}`)
42
+ const { verbose, module } = yargs
43
+ const modules = Array.isArray(module) ? module : [module]
44
+ if (verbose) console.info('Starting Node')
45
+
46
+ const node = new XyoMemoryNode()
47
+
48
+ const resolver: XyoModuleResolverFunc = (address: string) => {
49
+ console.log(`Resolving: ${address}`)
50
+ return node.resolve(address)
51
+ }
52
+
53
+ await Promise.all(
54
+ modules.map(async (module) => {
55
+ const [pkg, name] = module.split('.')
56
+ const instance = await loadModule(pkg, name, resolver)
57
+ console.log(`Arg: ${instance.address}`)
58
+ node.register(instance)
59
+ node.attach(instance.address)
60
+
61
+ console.log(`Module Loaded: ${instance.address}`)
62
+ }),
63
+ )
64
+ },
65
+ ).argv
66
+ }
67
+
68
+ void xyo()
69
+ forget(startTerminal())
@@ -0,0 +1,36 @@
1
+ import path from 'path'
2
+ import { terminal } from 'terminal-kit'
3
+
4
+ import xyo_logo_black from './xyo_logo_black.png'
5
+
6
+ const commands = ['exit', 'plugin']
7
+
8
+ const getCommand = (): Promise<string | undefined> => {
9
+ return new Promise((resolve, reject) => {
10
+ terminal.inputField({ autoComplete: commands, autoCompleteMenu: true }, (error, input) => {
11
+ terminal('\n')
12
+ if (error) {
13
+ reject(error)
14
+ } else {
15
+ resolve(input)
16
+ }
17
+ })
18
+ })
19
+ }
20
+
21
+ export const startTerminal = async () => {
22
+ const imagePath = path.resolve(__dirname, xyo_logo_black)
23
+ await terminal.drawImage(imagePath)
24
+ terminal.green('XYO Node Started\n\n')
25
+ terminal.green("Type 'exit' to exit\n\n")
26
+
27
+ let running = true
28
+
29
+ while (running) {
30
+ const command = await getCommand()
31
+ if (command === 'exit') {
32
+ running = false
33
+ }
34
+ }
35
+ process.exit(0)
36
+ }
@@ -0,0 +1,5 @@
1
+ declare module '*.png'
2
+ declare module '*.jpg'
3
+ declare module '*.svg'
4
+ declare module '*.gif'
5
+ declare module '*.webp'
Binary file
package/dist/cjs/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;AACA,0DAAyB;AACzB,sDAAsD;AACtD,2CAAuC;AAEvC,6CAA4C;AAE5C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,OAAO,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QAEV,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAO,GAAW,EAAE,IAAa,EAAE,QAAgC,EAAsB,EAAE;IAC5G,MAAM,SAAS,GAAG,gEAAa,GAAG,GAAC,CAAA;IACnC,8DAA8D;IAC9D,MAAM,iBAAiB,GAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC,CAAA,CAAA;AAED,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,YAAY,EAAE;SAClB,OAAO,CACN,MAAM,EACN,mBAAmB,EACnB,CAAC,KAAK,EAAE,EAAE;QACR,OAAO,KAAK,CAAA;IACd,CAAC,EACD,CAAO,KAAK,EAAE,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAG,IAAI,0BAAa,EAAE,CAAA;QAEhC,MAAM,QAAQ,GAA0B,CAAC,OAAe,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAO,MAAM,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAE7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC,CAAA,CAAC,CACH,CAAA;IACH,CAAC,CAAA,CACF;SACA,IAAI,EAAE,CAAC,IAAI,CAAA;AAChB,CAAC,CAAA;AAED,KAAK,GAAG,EAAE,CAAA"}
package/dist/esm/cli.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,sDAAsD;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC,MAAM,CAAC,SAAS,EAAE;QACjB,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,KAAK,EAAE,GAAG;QAEV,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,EAAE,GAAW,EAAE,IAAa,EAAE,QAAgC,EAAsB,EAAE;IAC5G,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAA;IACnC,8DAA8D;IAC9D,MAAM,iBAAiB,GAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,OAAO,IAAI,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,YAAY,EAAE;SAClB,OAAO,CACN,MAAM,EACN,mBAAmB,EACnB,CAAC,KAAK,EAAE,EAAE;QACR,OAAO,KAAK,CAAA;IACd,CAAC,EACD,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAA;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAA;QAEhC,MAAM,QAAQ,GAA0B,CAAC,OAAe,EAAE,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAE7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QACnD,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CACF;SACA,IAAI,EAAE,CAAC,IAAI,CAAA;AAChB,CAAC,CAAA;AAED,KAAK,GAAG,EAAE,CAAA"}