@xyo-network/node 2.33.4 → 2.33.6
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 +4 -4
- package/dist/cjs/MemoryNode.d.ts.map +1 -1
- package/dist/cjs/MemoryNode.js +1 -4
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/Node.d.ts +0 -4
- package/dist/cjs/Node.d.ts.map +1 -1
- package/dist/cjs/NodeModule.d.ts +12 -0
- package/dist/cjs/NodeModule.d.ts.map +1 -0
- package/dist/cjs/NodeModule.js +3 -0
- package/dist/cjs/NodeModule.js.map +1 -0
- package/dist/cjs/Queries/Registered.d.ts +7 -0
- package/dist/cjs/Queries/Registered.d.ts.map +1 -0
- package/dist/cjs/Queries/Registered.js +5 -0
- package/dist/cjs/Queries/Registered.js.map +1 -0
- package/dist/cjs/Queries/index.d.ts +5 -5
- package/dist/cjs/Queries/index.d.ts.map +1 -1
- package/dist/cjs/Queries/index.js +1 -1
- package/dist/cjs/Queries/index.js.map +1 -1
- package/dist/cjs/XyoNode.d.ts +7 -8
- package/dist/cjs/XyoNode.d.ts.map +1 -1
- package/dist/cjs/XyoNode.js +2 -2
- package/dist/cjs/XyoNode.js.map +1 -1
- package/dist/cjs/XyoNodeWrapper.d.ts +7 -3
- package/dist/cjs/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoNodeWrapper.js +19 -1
- package/dist/cjs/XyoNodeWrapper.js.map +1 -1
- package/dist/cjs/cli/index.js +18 -7
- package/dist/cjs/cli/index.js.map +1 -1
- package/dist/cjs/cli/terminal.d.ts +2 -1
- package/dist/cjs/cli/terminal.d.ts.map +1 -1
- package/dist/cjs/cli/terminal.js +12 -4
- package/dist/cjs/cli/terminal.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +9684 -7440
- package/dist/esm/MemoryNode.d.ts +4 -4
- package/dist/esm/MemoryNode.d.ts.map +1 -1
- package/dist/esm/MemoryNode.js +1 -4
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/Node.d.ts +0 -4
- package/dist/esm/Node.d.ts.map +1 -1
- package/dist/esm/NodeModule.d.ts +12 -0
- package/dist/esm/NodeModule.d.ts.map +1 -0
- package/dist/esm/NodeModule.js +2 -0
- package/dist/esm/NodeModule.js.map +1 -0
- package/dist/esm/Queries/Registered.d.ts +7 -0
- package/dist/esm/Queries/Registered.d.ts.map +1 -0
- package/dist/esm/Queries/Registered.js +2 -0
- package/dist/esm/Queries/Registered.js.map +1 -0
- package/dist/esm/Queries/index.d.ts +5 -5
- package/dist/esm/Queries/index.d.ts.map +1 -1
- package/dist/esm/Queries/index.js +1 -1
- package/dist/esm/Queries/index.js.map +1 -1
- package/dist/esm/XyoNode.d.ts +7 -8
- package/dist/esm/XyoNode.d.ts.map +1 -1
- package/dist/esm/XyoNode.js +3 -3
- package/dist/esm/XyoNode.js.map +1 -1
- package/dist/esm/XyoNodeWrapper.d.ts +7 -3
- package/dist/esm/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/esm/XyoNodeWrapper.js +16 -2
- package/dist/esm/XyoNodeWrapper.js.map +1 -1
- package/dist/esm/cli/index.js +17 -6
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/terminal.d.ts +2 -1
- package/dist/esm/cli/terminal.d.ts.map +1 -1
- package/dist/esm/cli/terminal.js +12 -4
- package/dist/esm/cli/terminal.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/package.json +6 -6
- package/src/MemoryNode.spec.ts +4 -3
- package/src/MemoryNode.ts +4 -7
- package/src/Node.ts +0 -6
- package/src/NodeModule.ts +15 -0
- package/src/Queries/Registered.ts +8 -0
- package/src/Queries/index.ts +7 -5
- package/src/XyoNode.ts +15 -11
- package/src/XyoNodeWrapper.ts +22 -6
- package/src/cli/index.ts +18 -6
- package/src/cli/terminal.ts +15 -4
- package/src/index.ts +1 -0
- package/dist/cjs/Queries/Available.d.ts +0 -7
- package/dist/cjs/Queries/Available.d.ts.map +0 -1
- package/dist/cjs/Queries/Available.js +0 -5
- package/dist/cjs/Queries/Available.js.map +0 -1
- package/dist/esm/Queries/Available.d.ts +0 -7
- package/dist/esm/Queries/Available.d.ts.map +0 -1
- package/dist/esm/Queries/Available.js +0 -2
- package/dist/esm/Queries/Available.js.map +0 -1
- package/src/Queries/Available.ts +0 -8
package/src/Queries/index.ts
CHANGED
|
@@ -2,23 +2,25 @@ import { XyoModuleQuery, XyoModuleQuerySchema, XyoQuery } from '@xyo-network/mod
|
|
|
2
2
|
|
|
3
3
|
import { XyoNodeAttachQuery, XyoNodeAttachQuerySchema } from './Attach'
|
|
4
4
|
import { XyoNodeAttachedQuery, XyoNodeAttachedQuerySchema } from './Attached'
|
|
5
|
-
import { XyoNodeAvailableQuery, XyoNodeAvailableQuerySchema } from './Available'
|
|
6
5
|
import { XyoNodeDetatchQuery, XyoNodeDetatchQuerySchema } from './Detatch'
|
|
6
|
+
import { XyoNodeRegisteredQuery, XyoNodeRegisteredQuerySchema } from './Registered'
|
|
7
7
|
|
|
8
8
|
export * from './Attach'
|
|
9
9
|
export * from './Attached'
|
|
10
|
-
export * from './Available'
|
|
11
10
|
export * from './Detatch'
|
|
11
|
+
export * from './Registered'
|
|
12
12
|
|
|
13
13
|
type XyoNodeQuerySchemaBase =
|
|
14
14
|
| XyoNodeAttachQuerySchema
|
|
15
15
|
| XyoNodeDetatchQuerySchema
|
|
16
16
|
| XyoNodeAttachedQuerySchema
|
|
17
|
-
|
|
|
17
|
+
| XyoNodeRegisteredQuerySchema
|
|
18
18
|
| XyoModuleQuerySchema
|
|
19
19
|
|
|
20
20
|
export type XyoNodeQuerySchema<T extends string | void = void> = T extends string ? XyoNodeQuerySchemaBase | T : XyoNodeQuerySchemaBase
|
|
21
21
|
|
|
22
|
-
type XyoNodeQueryBase
|
|
22
|
+
type XyoNodeQueryBase<T extends XyoQuery | void = void> = T extends XyoQuery
|
|
23
|
+
? XyoModuleQuery<XyoNodeAttachQuery | XyoNodeDetatchQuery | XyoNodeAttachedQuery | XyoNodeRegisteredQuery | T>
|
|
24
|
+
: XyoModuleQuery<XyoNodeAttachQuery | XyoNodeDetatchQuery | XyoNodeAttachedQuery | XyoNodeRegisteredQuery>
|
|
23
25
|
|
|
24
|
-
export type XyoNodeQuery<T extends XyoQuery | void = void> = T extends XyoQuery ? XyoNodeQueryBase
|
|
26
|
+
export type XyoNodeQuery<T extends XyoQuery | void = void> = T extends XyoQuery ? XyoNodeQueryBase<T> : XyoNodeQueryBase
|
package/src/XyoNode.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
-
import { XyoModule, XyoModuleResolverFunc } from '@xyo-network/module'
|
|
2
|
+
import { XyoModule, XyoModuleQueryResult, XyoModuleResolverFunc } from '@xyo-network/module'
|
|
3
3
|
import { XyoPayload } from '@xyo-network/payload'
|
|
4
4
|
|
|
5
5
|
import { NodeConfig } from './Config'
|
|
6
|
-
import { NodeModule } from './
|
|
7
|
-
import {
|
|
6
|
+
import { NodeModule } from './NodeModule'
|
|
7
|
+
import {
|
|
8
|
+
XyoNodeAttachedQuerySchema,
|
|
9
|
+
XyoNodeAttachQuerySchema,
|
|
10
|
+
XyoNodeDetatchQuerySchema,
|
|
11
|
+
XyoNodeQuery,
|
|
12
|
+
XyoNodeRegisteredQuerySchema,
|
|
13
|
+
} from './Queries'
|
|
8
14
|
export abstract class XyoNode<
|
|
9
15
|
TConfig extends NodeConfig = NodeConfig,
|
|
10
16
|
TQuery extends XyoNodeQuery = XyoNodeQuery,
|
|
@@ -12,7 +18,7 @@ export abstract class XyoNode<
|
|
|
12
18
|
TModule extends XyoModule = XyoModule,
|
|
13
19
|
>
|
|
14
20
|
extends XyoModule<TQuery, TQueryResult, TConfig>
|
|
15
|
-
implements NodeModule<TQuery, TQueryResult>
|
|
21
|
+
implements NodeModule<TQuery, TQueryResult, TModule>
|
|
16
22
|
{
|
|
17
23
|
constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc) {
|
|
18
24
|
super(config, account, resolver)
|
|
@@ -21,7 +27,7 @@ export abstract class XyoNode<
|
|
|
21
27
|
/** Query Functions - Start */
|
|
22
28
|
abstract attach(_address: string): void
|
|
23
29
|
abstract detatch(_address: string): void
|
|
24
|
-
abstract resolve(_address: string):
|
|
30
|
+
abstract resolve(_address: string): TModule | null
|
|
25
31
|
|
|
26
32
|
registered(): string[] {
|
|
27
33
|
throw new Error('Method not implemented.')
|
|
@@ -30,15 +36,15 @@ export abstract class XyoNode<
|
|
|
30
36
|
throw new Error('Method not implemented.')
|
|
31
37
|
}
|
|
32
38
|
|
|
33
|
-
|
|
39
|
+
registeredModules(): TModule[] {
|
|
34
40
|
throw new Error('Method not implemented.')
|
|
35
41
|
}
|
|
36
|
-
attachedModules():
|
|
42
|
+
attachedModules(): TModule[] {
|
|
37
43
|
throw new Error('Method not implemented.')
|
|
38
44
|
}
|
|
39
45
|
/** Query Functions - End */
|
|
40
46
|
|
|
41
|
-
query(query: TQuery) {
|
|
47
|
+
override query(query: TQuery): Promise<XyoModuleQueryResult<TQueryResult>> {
|
|
42
48
|
const queryAccount = new XyoAccount()
|
|
43
49
|
const payloads: (TQueryResult | null)[] = []
|
|
44
50
|
switch (query.schema) {
|
|
@@ -54,7 +60,7 @@ export abstract class XyoNode<
|
|
|
54
60
|
this.attached()
|
|
55
61
|
break
|
|
56
62
|
}
|
|
57
|
-
case
|
|
63
|
+
case XyoNodeRegisteredQuerySchema: {
|
|
58
64
|
this.registered()
|
|
59
65
|
break
|
|
60
66
|
}
|
|
@@ -67,6 +73,4 @@ export abstract class XyoNode<
|
|
|
67
73
|
register(_module: TModule): void {
|
|
68
74
|
throw new Error('Method not implemented.')
|
|
69
75
|
}
|
|
70
|
-
|
|
71
|
-
abstract get(_address: string): TModule | undefined
|
|
72
76
|
}
|
package/src/XyoNodeWrapper.ts
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import { XyoModuleWrapper } from '@xyo-network/module'
|
|
1
|
+
import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module'
|
|
2
2
|
import compact from 'lodash/compact'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { NodeModule } from './NodeModule'
|
|
5
5
|
import {
|
|
6
6
|
XyoNodeAttachedQuery,
|
|
7
7
|
XyoNodeAttachedQuerySchema,
|
|
8
8
|
XyoNodeAttachQuery,
|
|
9
9
|
XyoNodeAttachQuerySchema,
|
|
10
|
-
XyoNodeAvailableQuery,
|
|
11
|
-
XyoNodeAvailableQuerySchema,
|
|
12
10
|
XyoNodeDetatchQuery,
|
|
13
11
|
XyoNodeDetatchQuerySchema,
|
|
12
|
+
XyoNodeRegisteredQuery,
|
|
13
|
+
XyoNodeRegisteredQuerySchema,
|
|
14
14
|
} from './Queries'
|
|
15
15
|
|
|
16
|
-
export class XyoNodeWrapper extends XyoModuleWrapper implements
|
|
16
|
+
export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
|
|
17
|
+
register(_module: Module): void {
|
|
18
|
+
throw Error('Not implemented')
|
|
19
|
+
}
|
|
17
20
|
async registered(): Promise<string[]> {
|
|
18
|
-
const query:
|
|
21
|
+
const query: XyoNodeRegisteredQuery = { schema: XyoNodeRegisteredQuerySchema }
|
|
19
22
|
return compact((await this.module.query(query))[1].map((payload) => payload?.schema))
|
|
20
23
|
}
|
|
21
24
|
async attached(): Promise<string[]> {
|
|
@@ -32,4 +35,17 @@ export class XyoNodeWrapper extends XyoModuleWrapper implements Node {
|
|
|
32
35
|
await this.module.query(query)
|
|
33
36
|
return
|
|
34
37
|
}
|
|
38
|
+
|
|
39
|
+
async registeredModules(): Promise<XyoModule[]> {
|
|
40
|
+
const addresses = await this.registered()
|
|
41
|
+
return compact(await Promise.all(addresses.map((address) => this.resolve(address))))
|
|
42
|
+
}
|
|
43
|
+
async attachedModules(): Promise<XyoModule[]> {
|
|
44
|
+
const addresses = await this.attached()
|
|
45
|
+
return compact(await Promise.all(addresses.map((address) => this.resolve(address))))
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
resolve(_address: string): XyoModule | null {
|
|
49
|
+
throw Error('Not implemented')
|
|
50
|
+
}
|
|
35
51
|
}
|
package/src/cli/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoMemoryArchivist } from '@xyo-network/archivist'
|
|
2
2
|
import { XyoModule, XyoModuleResolverFunc } from '@xyo-network/module'
|
|
3
3
|
import yargs from 'yargs'
|
|
4
4
|
// eslint-disable-next-line import/no-internal-modules
|
|
@@ -30,8 +30,10 @@ const loadModule = async (pkg: string, name?: string, resolver?: XyoModuleResolv
|
|
|
30
30
|
return new ModuleConstructor(undefined, undefined, resolver)
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
const xyo = () => {
|
|
34
|
-
|
|
33
|
+
const xyo = async () => {
|
|
34
|
+
const node = new MemoryNode()
|
|
35
|
+
node.register(new XyoMemoryArchivist())
|
|
36
|
+
await parseOptions().command(
|
|
35
37
|
'node',
|
|
36
38
|
'Start an XYO Node',
|
|
37
39
|
(yargs) => {
|
|
@@ -43,7 +45,7 @@ const xyo = () => {
|
|
|
43
45
|
const modules = Array.isArray(module) ? module : [module]
|
|
44
46
|
if (verbose) console.info('Starting Node')
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
node.register(new XyoMemoryArchivist())
|
|
47
49
|
|
|
48
50
|
const resolver: XyoModuleResolverFunc = (address: string) => {
|
|
49
51
|
console.log(`Resolving: ${address}`)
|
|
@@ -63,7 +65,17 @@ const xyo = () => {
|
|
|
63
65
|
)
|
|
64
66
|
},
|
|
65
67
|
).argv
|
|
68
|
+
return node
|
|
66
69
|
}
|
|
67
70
|
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
const start = async () => {
|
|
72
|
+
await startTerminal(await xyo())
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
start()
|
|
76
|
+
.then(() => {
|
|
77
|
+
console.log('Finishing,...')
|
|
78
|
+
})
|
|
79
|
+
.catch(() => {
|
|
80
|
+
console.log('Excepting,...')
|
|
81
|
+
})
|
package/src/cli/terminal.ts
CHANGED
|
@@ -3,6 +3,9 @@ import { readFileSync } from 'fs'
|
|
|
3
3
|
import path from 'path'
|
|
4
4
|
import { terminal } from 'terminal-kit'
|
|
5
5
|
|
|
6
|
+
import { MemoryNode } from '../MemoryNode'
|
|
7
|
+
import { Node } from '../Node'
|
|
8
|
+
|
|
6
9
|
function terminate() {
|
|
7
10
|
terminal.grabInput(false)
|
|
8
11
|
terminal.clear()
|
|
@@ -40,7 +43,7 @@ const readFileDeep = (names: string[]) => {
|
|
|
40
43
|
return [result, resolvedPath]
|
|
41
44
|
}
|
|
42
45
|
|
|
43
|
-
const getCommand = (): Promise<boolean> => {
|
|
46
|
+
const getCommand = (node: Node): Promise<boolean> => {
|
|
44
47
|
return new Promise((resolve) => {
|
|
45
48
|
terminal.once('key', (name: string) => {
|
|
46
49
|
if (name === 'ESCAPE') {
|
|
@@ -78,8 +81,16 @@ const getCommand = (): Promise<boolean> => {
|
|
|
78
81
|
case 'exit':
|
|
79
82
|
resolve(false)
|
|
80
83
|
break
|
|
84
|
+
case 'list-registered-plugins': {
|
|
85
|
+
terminal.yellow('\nList Registered Plugins\n')
|
|
86
|
+
const registered = await node?.registered()
|
|
87
|
+
registered.forEach((module) => {
|
|
88
|
+
terminal(`0x${module}`)
|
|
89
|
+
})
|
|
90
|
+
break
|
|
91
|
+
}
|
|
81
92
|
case 'register-plugin':
|
|
82
|
-
terminal.yellow('
|
|
93
|
+
terminal.yellow('\nRegister Plugin\n')
|
|
83
94
|
break
|
|
84
95
|
case 'show-config': {
|
|
85
96
|
const [config, path] = readFileDeep(['xyo-config.json', 'xyo-config.js'])
|
|
@@ -102,10 +113,10 @@ const getCommand = (): Promise<boolean> => {
|
|
|
102
113
|
})
|
|
103
114
|
}
|
|
104
115
|
|
|
105
|
-
export const startTerminal = async () => {
|
|
116
|
+
export const startTerminal = async (node: MemoryNode) => {
|
|
106
117
|
let running = true
|
|
107
118
|
while (running) {
|
|
108
|
-
running = await getCommand()
|
|
119
|
+
running = await getCommand(node)
|
|
109
120
|
}
|
|
110
121
|
|
|
111
122
|
terminate()
|
package/src/index.ts
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
-
export declare type XyoNodeAvailableQuerySchema = 'network.xyo.query.node.available';
|
|
3
|
-
export declare const XyoNodeAvailableQuerySchema: XyoNodeAvailableQuerySchema;
|
|
4
|
-
export declare type XyoNodeAvailableQuery = XyoQuery<{
|
|
5
|
-
schema: XyoNodeAvailableQuerySchema;
|
|
6
|
-
}>;
|
|
7
|
-
//# sourceMappingURL=Available.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Available.d.ts","sourceRoot":"","sources":["../../../src/Queries/Available.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Available.js","sourceRoot":"","sources":["../../../src/Queries/Available.ts"],"names":[],"mappings":";;;AAGa,QAAA,2BAA2B,GAAgC,kCAAkC,CAAA"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module';
|
|
2
|
-
export declare type XyoNodeAvailableQuerySchema = 'network.xyo.query.node.available';
|
|
3
|
-
export declare const XyoNodeAvailableQuerySchema: XyoNodeAvailableQuerySchema;
|
|
4
|
-
export declare type XyoNodeAvailableQuery = XyoQuery<{
|
|
5
|
-
schema: XyoNodeAvailableQuerySchema;
|
|
6
|
-
}>;
|
|
7
|
-
//# sourceMappingURL=Available.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Available.d.ts","sourceRoot":"","sources":["../../../src/Queries/Available.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,oBAAY,2BAA2B,GAAG,kCAAkC,CAAA;AAC5E,eAAO,MAAM,2BAA2B,EAAE,2BAAgE,CAAA;AAE1G,oBAAY,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,MAAM,EAAE,2BAA2B,CAAA;CACpC,CAAC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Available.js","sourceRoot":"","sources":["../../../src/Queries/Available.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,2BAA2B,GAAgC,kCAAkC,CAAA"}
|
package/src/Queries/Available.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { XyoQuery } from '@xyo-network/module'
|
|
2
|
-
|
|
3
|
-
export type XyoNodeAvailableQuerySchema = 'network.xyo.query.node.available'
|
|
4
|
-
export const XyoNodeAvailableQuerySchema: XyoNodeAvailableQuerySchema = 'network.xyo.query.node.available'
|
|
5
|
-
|
|
6
|
-
export type XyoNodeAvailableQuery = XyoQuery<{
|
|
7
|
-
schema: XyoNodeAvailableQuerySchema
|
|
8
|
-
}>
|