@xyo-network/node 2.32.1 → 2.33.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/MemoryNode.d.ts +1 -1
- package/dist/cjs/MemoryNode.d.ts.map +1 -1
- package/dist/cjs/MemoryNode.js +5 -5
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/Node.d.ts +2 -2
- package/dist/cjs/Node.d.ts.map +1 -1
- package/dist/cjs/XyoNode.d.ts +4 -4
- package/dist/cjs/XyoNode.d.ts.map +1 -1
- package/dist/cjs/XyoNode.js +7 -3
- package/dist/cjs/XyoNode.js.map +1 -1
- package/dist/cjs/XyoNodeWrapper.d.ts +1 -1
- package/dist/cjs/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoNodeWrapper.js +1 -1
- package/dist/cjs/XyoNodeWrapper.js.map +1 -1
- package/dist/cjs/cli/index.d.ts +2 -0
- package/dist/cjs/cli/index.d.ts.map +1 -0
- package/dist/cjs/{cli.js → cli/index.js} +7 -6
- package/dist/cjs/cli/index.js.map +1 -0
- package/dist/cjs/cli/terminal.d.ts +2 -0
- package/dist/cjs/cli/terminal.d.ts.map +1 -0
- package/dist/cjs/cli/terminal.js +111 -0
- package/dist/cjs/cli/terminal.js.map +1 -0
- package/dist/cjs/cli/xyo_logo_full_white.png +0 -0
- package/dist/docs.json +493 -504
- package/dist/esm/MemoryNode.d.ts +1 -1
- package/dist/esm/MemoryNode.d.ts.map +1 -1
- package/dist/esm/MemoryNode.js +5 -5
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/Node.d.ts +2 -2
- package/dist/esm/Node.d.ts.map +1 -1
- package/dist/esm/XyoNode.d.ts +4 -4
- package/dist/esm/XyoNode.d.ts.map +1 -1
- package/dist/esm/XyoNode.js +7 -3
- package/dist/esm/XyoNode.js.map +1 -1
- package/dist/esm/XyoNodeWrapper.d.ts +1 -1
- package/dist/esm/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/esm/XyoNodeWrapper.js +1 -1
- package/dist/esm/XyoNodeWrapper.js.map +1 -1
- package/dist/esm/cli/index.d.ts +2 -0
- package/dist/esm/cli/index.d.ts.map +1 -0
- package/dist/esm/{cli.js → cli/index.js} +7 -6
- package/dist/esm/cli/index.js.map +1 -0
- package/dist/esm/cli/terminal.d.ts +2 -0
- package/dist/esm/cli/terminal.d.ts.map +1 -0
- package/dist/esm/cli/terminal.js +106 -0
- package/dist/esm/cli/terminal.js.map +1 -0
- package/dist/esm/cli/xyo_logo_full_white.png +0 -0
- package/package.json +15 -8
- package/src/MemoryNode.spec.ts +1 -1
- package/src/MemoryNode.ts +5 -5
- package/src/Node.ts +2 -2
- package/src/XyoNode.ts +9 -6
- package/src/XyoNodeWrapper.ts +1 -1
- package/src/cli/index.ts +69 -0
- package/src/cli/terminal.ts +112 -0
- package/src/cli/types/images.d.ts +5 -0
- package/src/cli/xyo_logo_full_white.png +0 -0
- package/xyo-config.js +4 -0
- package/dist/cjs/cli.d.ts +0 -2
- package/dist/cjs/cli.d.ts.map +0 -1
- package/dist/cjs/cli.js.map +0 -1
- package/dist/esm/cli.d.ts +0 -2
- package/dist/esm/cli.d.ts.map +0 -1
- package/dist/esm/cli.js.map +0 -1
- package/src/cli.ts +0 -68
package/dist/esm/MemoryNode.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -13,7 +13,7 @@ export class XyoMemoryNode extends XyoNode {
|
|
|
13
13
|
return key;
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
|
|
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.
|
|
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.
|
|
44
|
+
this.attachedModuleMap.set(address, module);
|
|
45
45
|
}
|
|
46
46
|
detatch(address) {
|
|
47
|
-
this.
|
|
47
|
+
this.attachedModuleMap.delete(address);
|
|
48
48
|
}
|
|
49
49
|
get(address) {
|
|
50
|
-
return this.
|
|
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,
|
|
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"}
|
package/dist/esm/Node.d.ts
CHANGED
|
@@ -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/
|
|
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
|
-
|
|
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> {
|
package/dist/esm/Node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
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"}
|
package/dist/esm/XyoNode.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
11
|
+
registered(): string[];
|
|
12
12
|
attached(): string[];
|
|
13
13
|
availableModules(): XyoModule[];
|
|
14
14
|
attachedModules(): XyoModule[];
|
|
15
15
|
/** Query Functions - End */
|
|
16
|
-
query(query: TQuery):
|
|
16
|
+
query(query: TQuery): Promise<import("@xyo-network/module").XyoModuleQueryResult<TQueryResult>> | 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,
|
|
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;IA0BnB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CACpD"}
|
package/dist/esm/XyoNode.js
CHANGED
|
@@ -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
|
-
|
|
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,13 @@ export class XyoNode extends XyoModule {
|
|
|
30
32
|
break;
|
|
31
33
|
}
|
|
32
34
|
case XyoNodeAvailableQuerySchema: {
|
|
33
|
-
this.
|
|
35
|
+
this.registered();
|
|
34
36
|
break;
|
|
35
37
|
}
|
|
38
|
+
default:
|
|
39
|
+
return super.query(query);
|
|
36
40
|
}
|
|
37
|
-
return
|
|
41
|
+
return this.bindPayloads(payloads, queryAccount);
|
|
38
42
|
}
|
|
39
43
|
register(_module) {
|
|
40
44
|
throw new Error('Method not implemented.');
|
package/dist/esm/XyoNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
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;YACD;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SAC5B;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
|
-
|
|
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,
|
|
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
|
|
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,
|
|
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 @@
|
|
|
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 '
|
|
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
|
-
|
|
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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/cli/terminal.ts"],"names":[],"mappings":"AAwGA,eAAO,MAAM,aAAa,qBAOzB,CAAA"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { terminal } from 'terminal-kit';
|
|
4
|
+
function terminate() {
|
|
5
|
+
terminal.grabInput(false);
|
|
6
|
+
terminal.clear();
|
|
7
|
+
terminal.green('\n\nXYO Node Shutdown - Bye\n\n');
|
|
8
|
+
setTimeout(function () {
|
|
9
|
+
process.exit();
|
|
10
|
+
}, 100);
|
|
11
|
+
}
|
|
12
|
+
const readFileDeep = (names) => {
|
|
13
|
+
let depth = 0;
|
|
14
|
+
let result;
|
|
15
|
+
let filename;
|
|
16
|
+
let resolvedPath;
|
|
17
|
+
while (depth < 10 && result === undefined) {
|
|
18
|
+
names.forEach((name) => {
|
|
19
|
+
if (result === undefined) {
|
|
20
|
+
filename = name;
|
|
21
|
+
for (let i = 0; i < depth; i++) {
|
|
22
|
+
filename = `../${filename}`;
|
|
23
|
+
}
|
|
24
|
+
resolvedPath = path.resolve(filename);
|
|
25
|
+
try {
|
|
26
|
+
result = readFileSync(resolvedPath, { encoding: 'utf8' });
|
|
27
|
+
}
|
|
28
|
+
catch (ex) {
|
|
29
|
+
const error = ex;
|
|
30
|
+
if (error.code !== 'ENOENT') {
|
|
31
|
+
terminal.red(`${JSON.stringify(error)}\n`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
depth++;
|
|
37
|
+
}
|
|
38
|
+
return [result, resolvedPath];
|
|
39
|
+
};
|
|
40
|
+
const getCommand = () => {
|
|
41
|
+
return new Promise((resolve) => {
|
|
42
|
+
terminal.once('key', (name) => {
|
|
43
|
+
if (name === 'ESCAPE') {
|
|
44
|
+
resolve(true);
|
|
45
|
+
}
|
|
46
|
+
if (name === 'CTRL_C') {
|
|
47
|
+
resolve(false);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const items = [
|
|
51
|
+
'Register Plugin',
|
|
52
|
+
'Unregister Plugin',
|
|
53
|
+
'List Registered Plugins',
|
|
54
|
+
'Attach Plugin',
|
|
55
|
+
'Detatch Plugin',
|
|
56
|
+
'List Attached Plugins',
|
|
57
|
+
'Show Config',
|
|
58
|
+
'Status',
|
|
59
|
+
'Exit',
|
|
60
|
+
].map((item, index) => {
|
|
61
|
+
return {
|
|
62
|
+
slug: item.toLowerCase().replaceAll(' ', '-'),
|
|
63
|
+
text: `${index + 1}. ${item}`,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
//terminal.clear()
|
|
67
|
+
terminal.green('\nXYO Node Running\n');
|
|
68
|
+
terminal.singleColumnMenu(items.map((item) => item.text), async (error, response) => {
|
|
69
|
+
if (error) {
|
|
70
|
+
terminal.red(`Error: ${error}`);
|
|
71
|
+
}
|
|
72
|
+
switch (items[response.selectedIndex].slug) {
|
|
73
|
+
case 'exit':
|
|
74
|
+
resolve(false);
|
|
75
|
+
break;
|
|
76
|
+
case 'register-plugin':
|
|
77
|
+
terminal.yellow('Register Plugin');
|
|
78
|
+
break;
|
|
79
|
+
case 'show-config': {
|
|
80
|
+
const [config, path] = readFileDeep(['xyo-config.json', 'xyo-config.js']);
|
|
81
|
+
let configObj;
|
|
82
|
+
terminal.yellow(`\nConfig found at: ${path}\n`);
|
|
83
|
+
if (config) {
|
|
84
|
+
if (path?.endsWith('.json')) {
|
|
85
|
+
configObj = JSON.parse(config);
|
|
86
|
+
}
|
|
87
|
+
else if (path?.endsWith('.cjs') || path?.endsWith('.js')) {
|
|
88
|
+
configObj = (await import(path));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
terminal(JSON.stringify(configObj ?? {}));
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
resolve(true);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
export const startTerminal = async () => {
|
|
100
|
+
let running = true;
|
|
101
|
+
while (running) {
|
|
102
|
+
running = await getCommand();
|
|
103
|
+
}
|
|
104
|
+
terminate();
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/cli/terminal.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -11,19 +11,25 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.6.7",
|
|
14
|
-
"@
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
14
|
+
"@xylabs/forget": "^2.6.7",
|
|
15
|
+
"@xyo-network/account": "^2.33.0-rc.10",
|
|
16
|
+
"@xyo-network/archivist": "^2.33.0-rc.10",
|
|
17
|
+
"@xyo-network/module": "^2.33.0-rc.10",
|
|
18
|
+
"@xyo-network/payload": "^2.33.0-rc.10",
|
|
19
|
+
"@xyo-network/promise": "^2.33.0-rc.10",
|
|
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
|
-
"
|
|
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.
|
|
70
|
+
"version": "2.33.0-rc.10",
|
|
71
|
+
"stableVersion": "2.32.1"
|
|
65
72
|
}
|
package/src/MemoryNode.spec.ts
CHANGED
|
@@ -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.
|
|
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
|
|
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.
|
|
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.
|
|
61
|
+
this.attachedModuleMap.set(address, module)
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
override detatch(address: string) {
|
|
65
|
-
this.
|
|
65
|
+
this.attachedModuleMap.delete(address)
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
override get(address: string) {
|
|
69
|
-
return this.
|
|
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/
|
|
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
|
-
|
|
8
|
+
registered(): Promisable<string[]>
|
|
9
9
|
attached(): Promisable<string[]>
|
|
10
10
|
}
|
|
11
11
|
|
package/src/XyoNode.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
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
|
-
|
|
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)
|
|
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,13 @@ export abstract class XyoNode<
|
|
|
50
51
|
break
|
|
51
52
|
}
|
|
52
53
|
case XyoNodeAvailableQuerySchema: {
|
|
53
|
-
this.
|
|
54
|
+
this.registered()
|
|
54
55
|
break
|
|
55
56
|
}
|
|
57
|
+
default:
|
|
58
|
+
return super.query(query)
|
|
56
59
|
}
|
|
57
|
-
return
|
|
60
|
+
return this.bindPayloads(payloads, queryAccount)
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
register(_module: TModule): void {
|
package/src/XyoNodeWrapper.ts
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from './Queries'
|
|
15
15
|
|
|
16
16
|
export class XyoNodeWrapper extends XyoModuleWrapper implements Node {
|
|
17
|
-
async
|
|
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
|
}
|
package/src/cli/index.ts
ADDED
|
@@ -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())
|