@xyo-network/node-system-info-payload-plugin 2.27.0-rc.5
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/LICENSE +165 -0
- package/README.md +81 -0
- package/dist/cjs/Config.d.ts +10 -0
- package/dist/cjs/Config.d.ts.map +1 -0
- package/dist/cjs/Config.js +5 -0
- package/dist/cjs/Config.js.map +1 -0
- package/dist/cjs/Payload.d.ts +7 -0
- package/dist/cjs/Payload.d.ts.map +1 -0
- package/dist/cjs/Payload.js +3 -0
- package/dist/cjs/Payload.js.map +1 -0
- package/dist/cjs/Plugin.d.ts +6 -0
- package/dist/cjs/Plugin.d.ts.map +1 -0
- package/dist/cjs/Plugin.js +16 -0
- package/dist/cjs/Plugin.js.map +1 -0
- package/dist/cjs/Schema.d.ts +3 -0
- package/dist/cjs/Schema.d.ts.map +1 -0
- package/dist/cjs/Schema.js +5 -0
- package/dist/cjs/Schema.js.map +1 -0
- package/dist/cjs/Template.d.ts +19 -0
- package/dist/cjs/Template.d.ts.map +1 -0
- package/dist/cjs/Template.js +27 -0
- package/dist/cjs/Template.js.map +1 -0
- package/dist/cjs/Witness.d.ts +7 -0
- package/dist/cjs/Witness.d.ts.map +1 -0
- package/dist/cjs/Witness.js +21 -0
- package/dist/cjs/Witness.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/docs.json +1910 -0
- package/dist/esm/Config.d.ts +10 -0
- package/dist/esm/Config.d.ts.map +1 -0
- package/dist/esm/Config.js +2 -0
- package/dist/esm/Config.js.map +1 -0
- package/dist/esm/Payload.d.ts +7 -0
- package/dist/esm/Payload.d.ts.map +1 -0
- package/dist/esm/Payload.js +2 -0
- package/dist/esm/Payload.js.map +1 -0
- package/dist/esm/Plugin.d.ts +6 -0
- package/dist/esm/Plugin.d.ts.map +1 -0
- package/dist/esm/Plugin.js +12 -0
- package/dist/esm/Plugin.js.map +1 -0
- package/dist/esm/Schema.d.ts +3 -0
- package/dist/esm/Schema.d.ts.map +1 -0
- package/dist/esm/Schema.js +2 -0
- package/dist/esm/Schema.js.map +1 -0
- package/dist/esm/Template.d.ts +19 -0
- package/dist/esm/Template.d.ts.map +1 -0
- package/dist/esm/Template.js +23 -0
- package/dist/esm/Template.js.map +1 -0
- package/dist/esm/Witness.d.ts +7 -0
- package/dist/esm/Witness.d.ts.map +1 -0
- package/dist/esm/Witness.js +10 -0
- package/dist/esm/Witness.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/package.json +59 -0
- package/src/Config.ts +15 -0
- package/src/Payload.ts +8 -0
- package/src/Plugin.spec.ts +11 -0
- package/src/Plugin.ts +20 -0
- package/src/Schema.ts +2 -0
- package/src/Template.ts +26 -0
- package/src/Witness.spec.ts +17 -0
- package/src/Witness.ts +16 -0
- package/src/index.ts +11 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoWitnessConfig } from '@xyo-network/witness';
|
|
2
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema';
|
|
3
|
+
export declare type XyoNodeSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.node.config';
|
|
4
|
+
export declare const XyoNodeSystemInfoWitnessConfigSchema: XyoNodeSystemInfoWitnessConfigSchema;
|
|
5
|
+
export declare type XyoNodeSystemInfoWitnessConfig = XyoWitnessConfig<XyoNodeSystemInfoPayloadSchema, {
|
|
6
|
+
schema: XyoNodeSystemInfoWitnessConfigSchema;
|
|
7
|
+
nodeValues?: Record<string, string>;
|
|
8
|
+
targetSchema: XyoNodeSystemInfoPayloadSchema;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,oBAAY,oCAAoC,GAAG,6CAA6C,CAAA;AAChG,eAAO,MAAM,oCAAoC,EAAE,oCAAoF,CAAA;AAEvI,oBAAY,8BAA8B,GAAG,gBAAgB,CAC3D,8BAA8B,EAC9B;IACE,MAAM,EAAE,oCAAoC,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,YAAY,EAAE,8BAA8B,CAAA;CAC7C,CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,oCAAoC,GAAyC,6CAA6C,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
2
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema';
|
|
3
|
+
export declare type XyoNodeSystemInfoPayload = XyoPayload<{
|
|
4
|
+
schema: XyoNodeSystemInfoPayloadSchema;
|
|
5
|
+
systeminfo?: Record<string, unknown>;
|
|
6
|
+
}>;
|
|
7
|
+
//# sourceMappingURL=Payload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,oBAAY,wBAAwB,GAAG,UAAU,CAAC;IAChD,MAAM,EAAE,8BAA8B,CAAA;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACrC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Payload.js","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { XyoPayloadPluginFunc } from '@xyo-network/payload-plugin';
|
|
2
|
+
import { XyoNodeSystemInfoWitnessConfigSchema } from './Config';
|
|
3
|
+
import { XyoNodeSystemInfoPayload } from './Payload';
|
|
4
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema';
|
|
5
|
+
export declare const XyoNodeSystemInfoPayloadPlugin: XyoPayloadPluginFunc<XyoNodeSystemInfoPayloadSchema, XyoNodeSystemInfoPayload, XyoNodeSystemInfoWitnessConfigSchema>;
|
|
6
|
+
//# sourceMappingURL=Plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAE1F,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAGzD,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,CAC/D,8BAA8B,EAC9B,wBAAwB,EACxB,oCAAoC,CAQlC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin';
|
|
3
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema';
|
|
4
|
+
import { XyoNodeSystemInfoWitness } from './Witness';
|
|
5
|
+
export const XyoNodeSystemInfoPayloadPlugin = (config) => createXyoPayloadPlugin({
|
|
6
|
+
auto: true,
|
|
7
|
+
schema: XyoNodeSystemInfoPayloadSchema,
|
|
8
|
+
witness: () => {
|
|
9
|
+
return new XyoNodeSystemInfoWitness(assertEx(config?.witness, 'Missing config'));
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=Plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,6BAA6B,CAAA;AAI1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAEpD,MAAM,CAAC,MAAM,8BAA8B,GAIvC,CAAC,MAAO,EAAE,EAAE,CACd,sBAAsB,CAAC;IACrB,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,8BAA8B;IACtC,OAAO,EAAE,GAA6B,EAAE;QACtC,OAAO,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAClF,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,oBAAY,8BAA8B,GAAG,8BAA8B,CAAA;AAC3E,eAAO,MAAM,8BAA8B,EAAE,8BAA+D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,8BAA8B,GAAmC,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayload } from './Payload';
|
|
2
|
+
declare const defaultSystemInfoConfig: () => {
|
|
3
|
+
audio: string;
|
|
4
|
+
battery: string;
|
|
5
|
+
bluetooth: string;
|
|
6
|
+
cpu: string;
|
|
7
|
+
diskLayout: string;
|
|
8
|
+
graphics: string;
|
|
9
|
+
mem: string;
|
|
10
|
+
networkInterfaces: string;
|
|
11
|
+
osInfo: string;
|
|
12
|
+
printer: string;
|
|
13
|
+
system: string;
|
|
14
|
+
usb: string;
|
|
15
|
+
wifiInterfaces: string;
|
|
16
|
+
};
|
|
17
|
+
declare const systemInfoNodeWitnessTemplate: () => XyoNodeSystemInfoPayload;
|
|
18
|
+
export { defaultSystemInfoConfig, systemInfoNodeWitnessTemplate };
|
|
19
|
+
//# sourceMappingURL=Template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAGpD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;CAgB5B,CAAA;AAED,QAAA,MAAM,6BAA6B,QAAO,wBAExC,CAAA;AAEF,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema';
|
|
2
|
+
const defaultSystemInfoConfig = () => {
|
|
3
|
+
return {
|
|
4
|
+
audio: '*',
|
|
5
|
+
battery: '*',
|
|
6
|
+
bluetooth: '*',
|
|
7
|
+
cpu: '*',
|
|
8
|
+
diskLayout: '*',
|
|
9
|
+
graphics: '*',
|
|
10
|
+
mem: '*',
|
|
11
|
+
networkInterfaces: '*',
|
|
12
|
+
osInfo: '*',
|
|
13
|
+
printer: '*',
|
|
14
|
+
system: '*',
|
|
15
|
+
usb: '*',
|
|
16
|
+
wifiInterfaces: '*',
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
const systemInfoNodeWitnessTemplate = () => ({
|
|
20
|
+
schema: XyoNodeSystemInfoPayloadSchema,
|
|
21
|
+
});
|
|
22
|
+
export { defaultSystemInfoConfig, systemInfoNodeWitnessTemplate };
|
|
23
|
+
//# sourceMappingURL=Template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IACnC,OAAO;QACL,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,GAAG,EAAE,GAAG;QACR,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,GAAG;QACb,GAAG,EAAE,GAAG;QACR,iBAAiB,EAAE,GAAG;QACtB,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,GAAG;QACZ,MAAM,EAAE,GAAG;QACX,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,GAAG;KACpB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,GAA6B,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,8BAA8B;CACvC,CAAC,CAAA;AAEF,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { XyoWitness } from '@xyo-network/witness';
|
|
2
|
+
import { XyoNodeSystemInfoWitnessConfig } from './Config';
|
|
3
|
+
import { XyoNodeSystemInfoPayload } from './Payload';
|
|
4
|
+
export declare class XyoNodeSystemInfoWitness<TPayload extends XyoNodeSystemInfoPayload = XyoNodeSystemInfoPayload, TConfig extends XyoNodeSystemInfoWitnessConfig = XyoNodeSystemInfoWitnessConfig> extends XyoWitness<TPayload, TConfig> {
|
|
5
|
+
observe(fields?: Partial<TPayload>): Promise<TPayload>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=Witness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAGpD,qBAAa,wBAAwB,CACnC,QAAQ,SAAS,wBAAwB,GAAG,wBAAwB,EACpE,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CAC/E,SAAQ,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;CAIlD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoWitness } from '@xyo-network/witness';
|
|
2
|
+
import { get } from 'systeminformation';
|
|
3
|
+
import { defaultSystemInfoConfig } from './Template';
|
|
4
|
+
export class XyoNodeSystemInfoWitness extends XyoWitness {
|
|
5
|
+
async observe(fields) {
|
|
6
|
+
const node = await get(this.config?.nodeValues ?? defaultSystemInfoConfig());
|
|
7
|
+
return await super.observe({ ...node, ...fields });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Witness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAIvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,OAAO,wBAGX,SAAQ,UAA6B;IAC5B,KAAK,CAAC,OAAO,CAAC,MAA0B;QAC/C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,uBAAuB,EAAE,CAAC,CAAA;QAC5E,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayloadPlugin } from './Plugin';
|
|
2
|
+
export * from './Payload';
|
|
3
|
+
export * from './Schema';
|
|
4
|
+
export * from './Template';
|
|
5
|
+
export * from './Witness';
|
|
6
|
+
export { XyoNodeSystemInfoPayloadPlugin };
|
|
7
|
+
export default XyoNodeSystemInfoPayloadPlugin;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,CAAA;AAGzC,eAAe,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayloadPlugin } from './Plugin';
|
|
2
|
+
export * from './Payload';
|
|
3
|
+
export * from './Schema';
|
|
4
|
+
export * from './Template';
|
|
5
|
+
export * from './Witness';
|
|
6
|
+
export { XyoNodeSystemInfoPayloadPlugin };
|
|
7
|
+
// eslint-disable-next-line import/no-default-export
|
|
8
|
+
export default XyoNodeSystemInfoPayloadPlugin;
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAEzD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,8BAA8B,EAAE,CAAA;AAEzC,oDAAoD;AACpD,eAAe,8BAA8B,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@xyo-network/node-system-info-payload-plugin",
|
|
3
|
+
"author": {
|
|
4
|
+
"email": "support@xyo.network",
|
|
5
|
+
"name": "XYO Development Team",
|
|
6
|
+
"url": "https://xyo.network"
|
|
7
|
+
},
|
|
8
|
+
"bugs": {
|
|
9
|
+
"email": "support@xyo.network",
|
|
10
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@xylabs/assert": "^2.6.7",
|
|
14
|
+
"@xyo-network/account": "^2.27.0-rc.5",
|
|
15
|
+
"@xyo-network/payload": "^2.27.0-rc.5",
|
|
16
|
+
"@xyo-network/payload-plugin": "^2.27.0-rc.5",
|
|
17
|
+
"@xyo-network/witness": "^2.27.0-rc.5",
|
|
18
|
+
"systeminformation": "^5.12.6",
|
|
19
|
+
"tslib": "^2.4.0"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@xylabs/tsconfig": "^2.5.123"
|
|
23
|
+
},
|
|
24
|
+
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
25
|
+
"browser": "dist/esm/index.js",
|
|
26
|
+
"docs": "dist/docs.json",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"node": {
|
|
30
|
+
"import": "./dist/esm/index.js",
|
|
31
|
+
"require": "./dist/cjs/index.js"
|
|
32
|
+
},
|
|
33
|
+
"browser": {
|
|
34
|
+
"import": "./dist/esm/index.js",
|
|
35
|
+
"require": "./dist/cjs/index.js"
|
|
36
|
+
},
|
|
37
|
+
"default": "./dist/esm/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./dist/docs.json": {
|
|
40
|
+
"default": "./dist/docs.json"
|
|
41
|
+
},
|
|
42
|
+
"./package.json": "./package.json"
|
|
43
|
+
},
|
|
44
|
+
"main": "dist/cjs/index.js",
|
|
45
|
+
"module": "dist/esm/index.js",
|
|
46
|
+
"homepage": "https://xyo.network",
|
|
47
|
+
"license": "LGPL-3.0-only",
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
54
|
+
},
|
|
55
|
+
"sideEffects": false,
|
|
56
|
+
"types": "dist/esm/index.d.ts",
|
|
57
|
+
"version": "2.27.0-rc.5",
|
|
58
|
+
"stableVersion": "2.26.19"
|
|
59
|
+
}
|
package/src/Config.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { XyoWitnessConfig } from '@xyo-network/witness'
|
|
2
|
+
|
|
3
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema'
|
|
4
|
+
|
|
5
|
+
export type XyoNodeSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.node.config'
|
|
6
|
+
export const XyoNodeSystemInfoWitnessConfigSchema: XyoNodeSystemInfoWitnessConfigSchema = 'network.xyo.system.info.witness.node.config'
|
|
7
|
+
|
|
8
|
+
export type XyoNodeSystemInfoWitnessConfig = XyoWitnessConfig<
|
|
9
|
+
XyoNodeSystemInfoPayloadSchema,
|
|
10
|
+
{
|
|
11
|
+
schema: XyoNodeSystemInfoWitnessConfigSchema
|
|
12
|
+
nodeValues?: Record<string, string>
|
|
13
|
+
targetSchema: XyoNodeSystemInfoPayloadSchema
|
|
14
|
+
}
|
|
15
|
+
>
|
package/src/Payload.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoPayloadPluginResolver } from '@xyo-network/payload-plugin'
|
|
2
|
+
|
|
3
|
+
import { XyoNodeSystemInfoPayloadPlugin } from './Plugin'
|
|
4
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema'
|
|
5
|
+
|
|
6
|
+
describe('XyoBowserSystemInfoPayloadPlugin', () => {
|
|
7
|
+
test('Add to Resolver', () => {
|
|
8
|
+
const resolver = new XyoPayloadPluginResolver().register(XyoNodeSystemInfoPayloadPlugin())
|
|
9
|
+
expect(resolver.resolve({ schema: XyoNodeSystemInfoPayloadSchema })).toBeDefined()
|
|
10
|
+
})
|
|
11
|
+
})
|
package/src/Plugin.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
import { createXyoPayloadPlugin, XyoPayloadPluginFunc } from '@xyo-network/payload-plugin'
|
|
3
|
+
|
|
4
|
+
import { XyoNodeSystemInfoWitnessConfigSchema } from './Config'
|
|
5
|
+
import { XyoNodeSystemInfoPayload } from './Payload'
|
|
6
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema'
|
|
7
|
+
import { XyoNodeSystemInfoWitness } from './Witness'
|
|
8
|
+
|
|
9
|
+
export const XyoNodeSystemInfoPayloadPlugin: XyoPayloadPluginFunc<
|
|
10
|
+
XyoNodeSystemInfoPayloadSchema,
|
|
11
|
+
XyoNodeSystemInfoPayload,
|
|
12
|
+
XyoNodeSystemInfoWitnessConfigSchema
|
|
13
|
+
> = (config?) =>
|
|
14
|
+
createXyoPayloadPlugin({
|
|
15
|
+
auto: true,
|
|
16
|
+
schema: XyoNodeSystemInfoPayloadSchema,
|
|
17
|
+
witness: (): XyoNodeSystemInfoWitness => {
|
|
18
|
+
return new XyoNodeSystemInfoWitness(assertEx(config?.witness, 'Missing config'))
|
|
19
|
+
},
|
|
20
|
+
})
|
package/src/Schema.ts
ADDED
package/src/Template.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayload } from './Payload'
|
|
2
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema'
|
|
3
|
+
|
|
4
|
+
const defaultSystemInfoConfig = () => {
|
|
5
|
+
return {
|
|
6
|
+
audio: '*',
|
|
7
|
+
battery: '*',
|
|
8
|
+
bluetooth: '*',
|
|
9
|
+
cpu: '*',
|
|
10
|
+
diskLayout: '*',
|
|
11
|
+
graphics: '*',
|
|
12
|
+
mem: '*',
|
|
13
|
+
networkInterfaces: '*',
|
|
14
|
+
osInfo: '*',
|
|
15
|
+
printer: '*',
|
|
16
|
+
system: '*',
|
|
17
|
+
usb: '*',
|
|
18
|
+
wifiInterfaces: '*',
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const systemInfoNodeWitnessTemplate = (): XyoNodeSystemInfoPayload => ({
|
|
23
|
+
schema: XyoNodeSystemInfoPayloadSchema,
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
export { defaultSystemInfoConfig, systemInfoNodeWitnessTemplate }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
+
|
|
3
|
+
import { XyoNodeSystemInfoWitnessConfigSchema } from './Config'
|
|
4
|
+
import { XyoNodeSystemInfoPayloadSchema } from './Schema'
|
|
5
|
+
import { XyoNodeSystemInfoWitness } from './Witness'
|
|
6
|
+
|
|
7
|
+
describe('XyoSystemInfoWitness', () => {
|
|
8
|
+
test('observe', async () => {
|
|
9
|
+
const witness = new XyoNodeSystemInfoWitness({
|
|
10
|
+
account: new XyoAccount(),
|
|
11
|
+
schema: XyoNodeSystemInfoWitnessConfigSchema,
|
|
12
|
+
targetSchema: XyoNodeSystemInfoPayloadSchema,
|
|
13
|
+
})
|
|
14
|
+
const observation = await witness.observe()
|
|
15
|
+
expect(observation.schema).toBe('network.xyo.system.info.node')
|
|
16
|
+
}, 60000)
|
|
17
|
+
})
|
package/src/Witness.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { XyoWitness } from '@xyo-network/witness'
|
|
2
|
+
import { get } from 'systeminformation'
|
|
3
|
+
|
|
4
|
+
import { XyoNodeSystemInfoWitnessConfig } from './Config'
|
|
5
|
+
import { XyoNodeSystemInfoPayload } from './Payload'
|
|
6
|
+
import { defaultSystemInfoConfig } from './Template'
|
|
7
|
+
|
|
8
|
+
export class XyoNodeSystemInfoWitness<
|
|
9
|
+
TPayload extends XyoNodeSystemInfoPayload = XyoNodeSystemInfoPayload,
|
|
10
|
+
TConfig extends XyoNodeSystemInfoWitnessConfig = XyoNodeSystemInfoWitnessConfig,
|
|
11
|
+
> extends XyoWitness<TPayload, TConfig> {
|
|
12
|
+
override async observe(fields?: Partial<TPayload>) {
|
|
13
|
+
const node = await get(this.config?.nodeValues ?? defaultSystemInfoConfig())
|
|
14
|
+
return await super.observe({ ...node, ...fields })
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoNodeSystemInfoPayloadPlugin } from './Plugin'
|
|
2
|
+
|
|
3
|
+
export * from './Payload'
|
|
4
|
+
export * from './Schema'
|
|
5
|
+
export * from './Template'
|
|
6
|
+
export * from './Witness'
|
|
7
|
+
|
|
8
|
+
export { XyoNodeSystemInfoPayloadPlugin }
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line import/no-default-export
|
|
11
|
+
export default XyoNodeSystemInfoPayloadPlugin
|