@altronix/cli 0.5.0 → 0.6.0
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/bin/atx +2 -2
- package/build/about.d.ts +3 -1
- package/build/about.js +37 -16
- package/build/about.js.map +1 -1
- package/build/cloud.d.ts +2 -2
- package/build/cloud.js +41 -19
- package/build/cloud.js.map +1 -1
- package/build/common.d.ts +5 -5
- package/build/common.js +48 -48
- package/build/common.js.map +1 -1
- package/build/confirmDevice.d.ts +5 -5
- package/build/confirmDevice.js +35 -35
- package/build/dhcp.d.ts +1 -1
- package/build/dhcp.js +9 -9
- package/build/dhcp.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.js +69 -78
- package/build/index.js.map +1 -1
- package/build/ip.d.ts +2 -2
- package/build/ip.js +17 -17
- package/build/ip.js.map +1 -1
- package/build/linq.d.ts +3 -3
- package/build/linq.js +5 -5
- package/build/net.d.ts +3 -0
- package/build/net.js +47 -0
- package/build/net.js.map +1 -0
- package/build/poe.d.ts +4 -3
- package/build/poe.js +28 -23
- package/build/poe.js.map +1 -1
- package/build/reboot.d.ts +1 -0
- package/build/reboot.js +16 -0
- package/build/reboot.js.map +1 -0
- package/build/site.d.ts +2 -1
- package/build/site.js +18 -13
- package/build/site.js.map +1 -1
- package/build/stress.d.ts +1 -0
- package/build/stress.js +23 -0
- package/build/stress.js.map +1 -0
- package/build/unix.d.ts +1 -1
- package/build/unix.js +13 -13
- package/build/unix.js.map +1 -1
- package/build/update.d.ts +1 -1
- package/build/update.js +82 -82
- package/build/update.js.map +1 -1
- package/jest.config.js +6 -6
- package/package.json +3 -3
- package/src/about.ts +50 -13
- package/src/cloud.ts +55 -16
- package/src/index.ts +80 -89
- package/src/net.ts +68 -0
- package/src/reboot.ts +15 -0
- package/src/stress.ts +30 -0
- package/src/{update.ts → update.ts.bak} +98 -98
- package/tsconfig.json +29 -29
- package/tsconfig.lib.json +8 -8
- package/tsconfig.lib.tsbuildinfo +1 -1
- package/src/common.ts +0 -63
- package/src/confirmDevice.ts +0 -51
- package/src/dhcp.ts +0 -6
- package/src/ip.ts +0 -14
- package/src/linq.ts +0 -9
- package/src/poe.ts +0 -22
- package/src/site.ts +0 -10
- package/src/unix.ts +0 -10
package/build/ip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../src/ip.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ip.js","sourceRoot":"","sources":["../src/ip.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,qCAAgD;AAChD,6CAA6C;AAE7C,SAAgB,MAAM,CAAC,EAAU,EAAE,EAAU,EAAE,EAAU;IACvD,OAAO,IAAA,kBAAS,EAAC,gBAAgB,EAAE,IAAI,WAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAFD,wBAEC;AAEM,KAAK,UAAU,MAAM;IAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,WAAK,CAAC,QAAQ,CAAC,MAAM,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AALD,wBAKC"}
|
package/build/linq.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Listener } from "@altronix/device";
|
|
2
|
-
declare const _default: Listener;
|
|
3
|
-
export default _default;
|
|
1
|
+
import { Listener } from "@altronix/device";
|
|
2
|
+
declare const _default: Listener;
|
|
3
|
+
export default _default;
|
package/build/linq.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const device_1 = require("@altronix/device");
|
|
4
|
-
(0, device_1.installDebugLogger)();
|
|
5
|
-
exports.default = new device_1.Listener([new device_1.UsbTransport(), new device_1.TcpTransport(33422)]);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const device_1 = require("@altronix/device");
|
|
4
|
+
(0, device_1.installDebugLogger)();
|
|
5
|
+
exports.default = new device_1.Listener([new device_1.UsbTransport(), new device_1.TcpTransport(33422)]);
|
|
6
6
|
//# sourceMappingURL=linq.js.map
|
package/build/net.d.ts
ADDED
package/build/net.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setDhcp = exports.setNet = exports.getNet = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const device_1 = tslib_1.__importStar(require("@altronix/device"));
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
const netway_1 = require("@altronix/netway");
|
|
8
|
+
async function getNet() {
|
|
9
|
+
const linq = new device_1.default();
|
|
10
|
+
const path = "/api/v1/net/ip";
|
|
11
|
+
const obs = linq.connections().pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)(({ about }) => linq.get(about.sid, path)), (0, rxjs_1.map)((resp) => netway_1.NetIp.fromCbor(resp.body)), (0, rxjs_1.finalize)(() => linq.shutdown()));
|
|
12
|
+
return (0, rxjs_1.firstValueFrom)(obs).then((net) => {
|
|
13
|
+
device_1.log.info(`request complete`, { ...net.toJson() });
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
exports.getNet = getNet;
|
|
17
|
+
async function setNet(ip, sn, gw) {
|
|
18
|
+
const linq = new device_1.default();
|
|
19
|
+
const path = "/api/v1/net/ip";
|
|
20
|
+
const save = "/api/v1/exe/saveAndReboot";
|
|
21
|
+
const body = new netway_1.NetIp({ ip, sn, gw, dhcp: false });
|
|
22
|
+
const obs = linq.connections().pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)(({ about }) => {
|
|
23
|
+
const o0 = linq.put(about.sid, path, body);
|
|
24
|
+
const o1 = linq.get(about.sid, save);
|
|
25
|
+
return (0, rxjs_1.concat)(o0, o1);
|
|
26
|
+
}), (0, rxjs_1.finalize)(() => linq.shutdown()));
|
|
27
|
+
return (0, rxjs_1.lastValueFrom)(obs).then(({ meta }) => {
|
|
28
|
+
device_1.log.info(`request complete`, { code: meta.code, message: meta.mesg });
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports.setNet = setNet;
|
|
32
|
+
async function setDhcp() {
|
|
33
|
+
const linq = new device_1.default();
|
|
34
|
+
const path = "/api/v1/net/ip";
|
|
35
|
+
const save = "/api/v1/exe/saveAndReboot";
|
|
36
|
+
const body = new netway_1.NetIp({ dhcp: true });
|
|
37
|
+
const obs = linq.connections().pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)(({ about }) => {
|
|
38
|
+
const o0 = linq.put(about.sid, path, body);
|
|
39
|
+
const o1 = linq.get(about.sid, save);
|
|
40
|
+
return (0, rxjs_1.concat)(o0, o1);
|
|
41
|
+
}), (0, rxjs_1.finalize)(() => linq.shutdown()));
|
|
42
|
+
return (0, rxjs_1.lastValueFrom)(obs).then(({ meta }) => {
|
|
43
|
+
device_1.log.info(`request complete`, { code: meta.code, message: meta.mesg });
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
exports.setDhcp = setDhcp;
|
|
47
|
+
//# sourceMappingURL=net.js.map
|
package/build/net.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net.js","sourceRoot":"","sources":["../src/net.ts"],"names":[],"mappings":"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"}
|
package/build/poe.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare function getPorts(): Promise<void>;
|
|
2
|
-
export declare function setPortOn(port: number): Promise<void>;
|
|
3
|
-
export declare function setPortOff(port: number): Promise<void>;
|
|
1
|
+
export declare function getPorts(): Promise<void>;
|
|
2
|
+
export declare function setPortOn(port: number): Promise<void>;
|
|
3
|
+
export declare function setPortOff(port: number): Promise<void>;
|
|
4
|
+
export declare function portPulse(port: number, ms: number): Promise<void>;
|
package/build/poe.js
CHANGED
|
@@ -1,24 +1,29 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setPortOff = exports.setPortOn = exports.getPorts = void 0;
|
|
4
|
-
const netway_1 = require("@altronix/netway");
|
|
5
|
-
const common_1 = require("./common");
|
|
6
|
-
const device_1 = require("@altronix/device");
|
|
7
|
-
async function getPorts() {
|
|
8
|
-
const path = "/api/v1/netway/ports";
|
|
9
|
-
const logger = (0, device_1.getLogger)();
|
|
10
|
-
logger.debug(`GET ${path}`);
|
|
11
|
-
netway_1.PoePort.fromCborArray(await (0, common_1.cliRunGet)(path)).forEach((d, idx) => logger.info(`<- ${idx}`, { ...d.json() }));
|
|
12
|
-
}
|
|
13
|
-
exports.getPorts = getPorts;
|
|
14
|
-
function setPortOn(port) {
|
|
15
|
-
let data = new netway_1.PoePort({ enabled: true });
|
|
16
|
-
return (0, common_1.cliRunPut)(`/api/v1/netway/ports?port=${port}`, data);
|
|
17
|
-
}
|
|
18
|
-
exports.setPortOn = setPortOn;
|
|
19
|
-
function setPortOff(port) {
|
|
20
|
-
let data = new netway_1.PoePort({ enabled: false });
|
|
21
|
-
return (0, common_1.cliRunPut)(`/api/v1/netway/ports?port=${port}`, data);
|
|
22
|
-
}
|
|
23
|
-
exports.setPortOff = setPortOff;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.portPulse = exports.setPortOff = exports.setPortOn = exports.getPorts = void 0;
|
|
4
|
+
const netway_1 = require("@altronix/netway");
|
|
5
|
+
const common_1 = require("./common");
|
|
6
|
+
const device_1 = require("@altronix/device");
|
|
7
|
+
async function getPorts() {
|
|
8
|
+
const path = "/api/v1/netway/poe/ports";
|
|
9
|
+
const logger = (0, device_1.getLogger)();
|
|
10
|
+
logger.debug(`GET ${path}`);
|
|
11
|
+
netway_1.PoePort.fromCborArray(await (0, common_1.cliRunGet)(path)).forEach((d, idx) => logger.info(`<- ${idx}`, { ...d.json() }));
|
|
12
|
+
}
|
|
13
|
+
exports.getPorts = getPorts;
|
|
14
|
+
function setPortOn(port) {
|
|
15
|
+
let data = new netway_1.PoePort({ enabled: true });
|
|
16
|
+
return (0, common_1.cliRunPut)(`/api/v1/netway/poe/ports?port=${port}`, data);
|
|
17
|
+
}
|
|
18
|
+
exports.setPortOn = setPortOn;
|
|
19
|
+
function setPortOff(port) {
|
|
20
|
+
let data = new netway_1.PoePort({ enabled: false });
|
|
21
|
+
return (0, common_1.cliRunPut)(`/api/v1/netway/poe/ports?port=${port}`, data);
|
|
22
|
+
}
|
|
23
|
+
exports.setPortOff = setPortOff;
|
|
24
|
+
function portPulse(port, ms) {
|
|
25
|
+
let data = new netway_1.PoePort({ enabled: false });
|
|
26
|
+
return (0, common_1.cliRunPut)(`/api/v1/netway/poe/ports?port=${port}&action=pulse&ms=${ms}`, data);
|
|
27
|
+
}
|
|
28
|
+
exports.portPulse = portPulse;
|
|
24
29
|
//# sourceMappingURL=poe.js.map
|
package/build/poe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poe.js","sourceRoot":"","sources":["../src/poe.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,qCAAgD;AAChD,6CAA6C;AAEtC,KAAK,UAAU,QAAQ;IAC5B,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"poe.js","sourceRoot":"","sources":["../src/poe.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,qCAAgD;AAChD,6CAA6C;AAEtC,KAAK,UAAU,QAAQ;IAC5B,MAAM,IAAI,GAAG,0BAA0B,CAAC;IACxC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5B,gBAAO,CAAC,aAAa,CAAC,MAAM,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAC9D,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1C,CAAC;AACJ,CAAC;AAPD,4BAOC;AAED,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,GAAG,IAAI,gBAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAA,kBAAS,EAAC,iCAAiC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,8BAGC;AAED,SAAgB,UAAU,CAAC,IAAY;IACrC,IAAI,IAAI,GAAG,IAAI,gBAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,OAAO,IAAA,kBAAS,EAAC,iCAAiC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAHD,gCAGC;AAED,SAAgB,SAAS,CAAC,IAAY,EAAE,EAAU;IAChD,IAAI,IAAI,GAAG,IAAI,gBAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,OAAO,IAAA,kBAAS,EAAC,iCAAiC,IAAI,oBAAoB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACxF,CAAC;AAHD,8BAGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function reboot(): Promise<void>;
|
package/build/reboot.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reboot = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const device_1 = tslib_1.__importStar(require("@altronix/device"));
|
|
6
|
+
const rxjs_1 = require("rxjs");
|
|
7
|
+
async function reboot() {
|
|
8
|
+
const linq = new device_1.default();
|
|
9
|
+
const path = "/api/v1/exe/reboot";
|
|
10
|
+
const obs = linq.connections().pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchMap)(({ about }) => linq.get(about.sid, path)), (0, rxjs_1.finalize)(() => linq.shutdown()));
|
|
11
|
+
return (0, rxjs_1.firstValueFrom)(obs).then(({ meta }) => {
|
|
12
|
+
device_1.log.info(`request complete`, { code: meta.code, message: meta.mesg });
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
exports.reboot = reboot;
|
|
16
|
+
//# sourceMappingURL=reboot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reboot.js","sourceRoot":"","sources":["../src/reboot.ts"],"names":[],"mappings":";;;;AAAA,mEAA2D;AAC3D,+BAAiE;AAE1D,KAAK,UAAU,MAAM;IAC1B,MAAM,IAAI,GAAG,IAAI,gBAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,oBAAoB,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CACjC,IAAA,WAAI,EAAC,CAAC,CAAC,EACP,IAAA,gBAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAe,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EACjE,IAAA,eAAQ,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAChC,CAAC;IACF,OAAO,IAAA,qBAAc,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAC3C,YAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,wBAWC"}
|
package/build/site.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export declare function getter(): Promise<void>;
|
|
1
|
+
export declare function getter(): Promise<void>;
|
|
2
|
+
export declare function setter(site: string): Promise<void>;
|
package/build/site.js
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getter = void 0;
|
|
4
|
-
const common_1 = require("./common");
|
|
5
|
-
const
|
|
6
|
-
const device_1 = require("@altronix/device");
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
logger
|
|
11
|
-
logger.
|
|
12
|
-
}
|
|
13
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setter = exports.getter = void 0;
|
|
4
|
+
const common_1 = require("./common");
|
|
5
|
+
const zdk_1 = require("@altronix/wasm/zdk");
|
|
6
|
+
const device_1 = require("@altronix/device");
|
|
7
|
+
const common_2 = require("./common");
|
|
8
|
+
async function getter() {
|
|
9
|
+
const path = "/api/v1/about/site";
|
|
10
|
+
const logger = (0, device_1.getLogger)();
|
|
11
|
+
logger.debug(`GET ${path}`);
|
|
12
|
+
logger.info("<-", { site: (0, zdk_1.cborDecodeStr)(await (0, common_1.cliRunGet)(path)) });
|
|
13
|
+
}
|
|
14
|
+
exports.getter = getter;
|
|
15
|
+
async function setter(site) {
|
|
16
|
+
return (0, common_2.cliRunPut)("/api/v1/about/site", site);
|
|
17
|
+
}
|
|
18
|
+
exports.setter = setter;
|
|
14
19
|
//# sourceMappingURL=site.js.map
|
package/build/site.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,4CAAmD;AACnD,6CAA6C;AAC7C,qCAAqC;AAE9B,KAAK,UAAU,MAAM;IAC1B,MAAM,IAAI,GAAG,oBAAoB,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAA,mBAAa,EAAC,MAAM,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AALD,wBAKC;AAEM,KAAK,UAAU,MAAM,CAAC,IAAY;IACvC,OAAO,IAAA,kBAAS,EAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAFD,wBAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function stress(count: number): Promise<void>;
|
package/build/stress.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stress = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const zdk_1 = require("@altronix/wasm/zdk");
|
|
6
|
+
const device_1 = tslib_1.__importStar(require("@altronix/device"));
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
async function stress(count) {
|
|
9
|
+
const linq = new device_1.default();
|
|
10
|
+
const path = "/api/v1/about";
|
|
11
|
+
const obs = linq.connections().pipe((0, rxjs_1.take)(1), (0, rxjs_1.switchScan)((acc, { about }) => linq.get(about.sid, path).pipe((0, rxjs_1.map)((resp) => ({
|
|
12
|
+
...zdk_1.About.fromCbor(resp.body).toJson(),
|
|
13
|
+
count: acc.count++,
|
|
14
|
+
})), (0, rxjs_1.repeat)(count)), { count: 0 }), (0, rxjs_1.tap)({
|
|
15
|
+
next: (about) => device_1.log.info("response", { ...about }),
|
|
16
|
+
finalize: () => linq.shutdown(),
|
|
17
|
+
}));
|
|
18
|
+
return (0, rxjs_1.lastValueFrom)(obs).then(() => {
|
|
19
|
+
device_1.log.info(`stress test complete`);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.stress = stress;
|
|
23
|
+
//# sourceMappingURL=stress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stress.js","sourceRoot":"","sources":["../src/stress.ts"],"names":[],"mappings":";;;;AAAA,4CAA2C;AAC3C,mEAA6C;AAC7C,+BAAyE;AAGlE,KAAK,UAAU,MAAM,CAAC,KAAa;IACxC,MAAM,IAAI,GAAG,IAAI,gBAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,eAAe,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CACjC,IAAA,WAAI,EAAC,CAAC,CAAC,EACP,IAAA,iBAAU,EACR,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACjB,IAAI,CAAC,GAAG,CAAmB,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAC9C,IAAA,UAAG,EAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,WAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;QACrC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE;KACnB,CAAC,CAAC,EACH,IAAA,aAAM,EAAC,KAAK,CAAC,CACd,EACH,EAAE,KAAK,EAAE,CAAC,EAAE,CACb,EACD,IAAA,UAAG,EAAC;QACF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;QACnD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;KAChC,CAAC,CACH,CAAC;IACF,OAAO,IAAA,oBAAa,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAClC,YAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAxBD,wBAwBC"}
|
package/build/unix.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function getter(): Promise<void>;
|
|
1
|
+
export declare function getter(): Promise<void>;
|
package/build/unix.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getter = void 0;
|
|
4
|
-
const common_1 = require("./common");
|
|
5
|
-
const
|
|
6
|
-
const device_1 = require("@altronix/device");
|
|
7
|
-
async function getter() {
|
|
8
|
-
const path = "/api/v1/unix";
|
|
9
|
-
const logger = (0, device_1.getLogger)();
|
|
10
|
-
logger.debug(`GET ${path}`);
|
|
11
|
-
logger.info("<-", { unix: (0,
|
|
12
|
-
}
|
|
13
|
-
exports.getter = getter;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getter = void 0;
|
|
4
|
+
const common_1 = require("./common");
|
|
5
|
+
const zdk_1 = require("@altronix/wasm/zdk");
|
|
6
|
+
const device_1 = require("@altronix/device");
|
|
7
|
+
async function getter() {
|
|
8
|
+
const path = "/api/v1/unix";
|
|
9
|
+
const logger = (0, device_1.getLogger)();
|
|
10
|
+
logger.debug(`GET ${path}`);
|
|
11
|
+
logger.info("<-", { unix: (0, zdk_1.cborDecodeNum)(await (0, common_1.cliRunGet)(path)) });
|
|
12
|
+
}
|
|
13
|
+
exports.getter = getter;
|
|
14
14
|
//# sourceMappingURL=unix.js.map
|
package/build/unix.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unix.js","sourceRoot":"","sources":["../src/unix.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"unix.js","sourceRoot":"","sources":["../src/unix.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,4CAAmD;AACnD,6CAA6C;AAEtC,KAAK,UAAU,MAAM;IAC1B,MAAM,IAAI,GAAG,cAAc,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAA,mBAAa,EAAC,MAAM,IAAA,kBAAS,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AALD,wBAKC"}
|
package/build/update.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function runUpdate(file: string): Promise<void>;
|
|
1
|
+
export declare function runUpdate(file: string): Promise<void>;
|
package/build/update.js
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.runUpdate = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
/*
|
|
6
|
-
* This example will listen for the first connected device and make a get
|
|
7
|
-
* request for the about data and log the about data to the console.
|
|
8
|
-
*/
|
|
9
|
-
const device_1 = require("@altronix/device");
|
|
10
|
-
const
|
|
11
|
-
const rxjs_1 = require("rxjs");
|
|
12
|
-
const operators_1 = require("rxjs/operators");
|
|
13
|
-
const linq_1 = tslib_1.__importDefault(require("./linq"));
|
|
14
|
-
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
15
|
-
function chunks(data, size) {
|
|
16
|
-
let arr = [];
|
|
17
|
-
let remainder = data.length % size;
|
|
18
|
-
function slicer(n) {
|
|
19
|
-
for (let i = 0; i < n; i++) {
|
|
20
|
-
let idx = i * size;
|
|
21
|
-
arr.push(data.slice(idx, idx + size));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
if (remainder == 0) {
|
|
25
|
-
slicer(data.length / size);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
let n = Math.ceil(data.length / size);
|
|
29
|
-
let end = size * (n - 1);
|
|
30
|
-
slicer(n - 1);
|
|
31
|
-
let last = new Uint8Array(size);
|
|
32
|
-
last.set(data.slice(end));
|
|
33
|
-
arr.push(last);
|
|
34
|
-
}
|
|
35
|
-
return arr;
|
|
36
|
-
}
|
|
37
|
-
(0, device_1.installDebugLogger)();
|
|
38
|
-
const logger = (0, device_1.getLogger)();
|
|
39
|
-
// Reduce a blob of binary data and convert into an Update[]
|
|
40
|
-
function updateReducer(arr, data, idx) {
|
|
41
|
-
let update = new
|
|
42
|
-
// NOTE: Have to initialize the Uint8Array across binding this way
|
|
43
|
-
// https://gitlab.altronix.com/software-engineering/sdk/atx-zdk/-/issues/1
|
|
44
|
-
update.data = data;
|
|
45
|
-
return arr.concat(update);
|
|
46
|
-
}
|
|
47
|
-
function runUpdate(file) {
|
|
48
|
-
return new Promise((resolve, reject) => {
|
|
49
|
-
const sub = linq_1.default
|
|
50
|
-
.listen()
|
|
51
|
-
.pipe((0, operators_1.filter)((ev) => ev.type == device_1.CONNECTED), (0, operators_1.take)(1), (0, operators_1.switchMap)(({ device }) => linq_1.default.get(device.about.sid, "/api/v1/about")), (0, operators_1.map)(
|
|
52
|
-
logger.info("found device", { serial, version: verPrj });
|
|
53
|
-
logger.info("sending update :", { file });
|
|
54
|
-
return (0, rxjs_1.from)(fs_1.default.promises.readFile(file)).pipe((0, operators_1.switchMap)((update) => {
|
|
55
|
-
// Chunk up the update file into packets and send update to device
|
|
56
|
-
const packets = chunks(update, 512).reduce(updateReducer, []);
|
|
57
|
-
const length = packets.length;
|
|
58
|
-
const urlStart = "/api/v1/update/start";
|
|
59
|
-
const urlTransfer = "/api/v1/update/transfer";
|
|
60
|
-
const urlFinish = "/api/v1/update/finish";
|
|
61
|
-
let sent = 0;
|
|
62
|
-
const start$ = (0, rxjs_1.defer)(() => linq_1.default.get(serial, urlStart));
|
|
63
|
-
const transfer$ = (0, rxjs_1.from)(packets).pipe((0, operators_1.concatMap)((u) => linq_1.default.put(serial, urlTransfer, u.cbor())), (0, operators_1.map)((meta) => ({ code: meta.json().code, sent, length })), (0, operators_1.tap)(() => sent++));
|
|
64
|
-
const finished$ = (0, rxjs_1.defer)(() => linq_1.default.get(serial, urlFinish));
|
|
65
|
-
return (0, rxjs_1.concat)(start$, transfer$, finished$);
|
|
66
|
-
}));
|
|
67
|
-
}))
|
|
68
|
-
.subscribe({
|
|
69
|
-
next: async (mesg) => {
|
|
70
|
-
logger.info("<-", { ...mesg });
|
|
71
|
-
resolve();
|
|
72
|
-
},
|
|
73
|
-
error: async (error) => (await linq_1.default.shutdown(), reject(error)),
|
|
74
|
-
complete: async () => (await linq_1.default.shutdown(), resolve()),
|
|
75
|
-
});
|
|
76
|
-
process.on("SIGINT", async () => {
|
|
77
|
-
await linq_1.default.shutdown();
|
|
78
|
-
sub.unsubscribe();
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
exports.runUpdate = runUpdate;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runUpdate = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
/*
|
|
6
|
+
* This example will listen for the first connected device and make a get
|
|
7
|
+
* request for the about data and log the about data to the console.
|
|
8
|
+
*/
|
|
9
|
+
const device_1 = require("@altronix/device");
|
|
10
|
+
const zdk_1 = require("@altronix/wasm/zdk");
|
|
11
|
+
const rxjs_1 = require("rxjs");
|
|
12
|
+
const operators_1 = require("rxjs/operators");
|
|
13
|
+
const linq_1 = tslib_1.__importDefault(require("./linq"));
|
|
14
|
+
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
15
|
+
function chunks(data, size) {
|
|
16
|
+
let arr = [];
|
|
17
|
+
let remainder = data.length % size;
|
|
18
|
+
function slicer(n) {
|
|
19
|
+
for (let i = 0; i < n; i++) {
|
|
20
|
+
let idx = i * size;
|
|
21
|
+
arr.push(data.slice(idx, idx + size));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (remainder == 0) {
|
|
25
|
+
slicer(data.length / size);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
let n = Math.ceil(data.length / size);
|
|
29
|
+
let end = size * (n - 1);
|
|
30
|
+
slicer(n - 1);
|
|
31
|
+
let last = new Uint8Array(size);
|
|
32
|
+
last.set(data.slice(end));
|
|
33
|
+
arr.push(last);
|
|
34
|
+
}
|
|
35
|
+
return arr;
|
|
36
|
+
}
|
|
37
|
+
(0, device_1.installDebugLogger)();
|
|
38
|
+
const logger = (0, device_1.getLogger)();
|
|
39
|
+
// Reduce a blob of binary data and convert into an Update[]
|
|
40
|
+
function updateReducer(arr, data, idx) {
|
|
41
|
+
let update = new zdk_1.Update({ data, offset: idx * 512 });
|
|
42
|
+
// NOTE: Have to initialize the Uint8Array across binding this way
|
|
43
|
+
// https://gitlab.altronix.com/software-engineering/sdk/atx-zdk/-/issues/1
|
|
44
|
+
update.data = data;
|
|
45
|
+
return arr.concat(update);
|
|
46
|
+
}
|
|
47
|
+
function runUpdate(file) {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
const sub = linq_1.default
|
|
50
|
+
.listen()
|
|
51
|
+
.pipe((0, operators_1.filter)((ev) => ev.type == device_1.CONNECTED), (0, operators_1.take)(1), (0, operators_1.switchMap)(({ device }) => linq_1.default.get(device.about.sid, "/api/v1/about")), (0, operators_1.map)(zdk_1.About.fromCbor), (0, operators_1.switchMap)(({ sid: serial, verPrj }) => {
|
|
52
|
+
logger.info("found device", { serial, version: verPrj });
|
|
53
|
+
logger.info("sending update :", { file });
|
|
54
|
+
return (0, rxjs_1.from)(fs_1.default.promises.readFile(file)).pipe((0, operators_1.switchMap)((update) => {
|
|
55
|
+
// Chunk up the update file into packets and send update to device
|
|
56
|
+
const packets = chunks(update, 512).reduce(updateReducer, []);
|
|
57
|
+
const length = packets.length;
|
|
58
|
+
const urlStart = "/api/v1/update/start";
|
|
59
|
+
const urlTransfer = "/api/v1/update/transfer";
|
|
60
|
+
const urlFinish = "/api/v1/update/finish";
|
|
61
|
+
let sent = 0;
|
|
62
|
+
const start$ = (0, rxjs_1.defer)(() => linq_1.default.get(serial, urlStart));
|
|
63
|
+
const transfer$ = (0, rxjs_1.from)(packets).pipe((0, operators_1.concatMap)((u) => linq_1.default.put(serial, urlTransfer, u.cbor())), (0, operators_1.map)((meta) => ({ code: meta.json().code, sent, length })), (0, operators_1.tap)(() => sent++));
|
|
64
|
+
const finished$ = (0, rxjs_1.defer)(() => linq_1.default.get(serial, urlFinish));
|
|
65
|
+
return (0, rxjs_1.concat)(start$, transfer$, finished$);
|
|
66
|
+
}));
|
|
67
|
+
}))
|
|
68
|
+
.subscribe({
|
|
69
|
+
next: async (mesg) => {
|
|
70
|
+
logger.info("<-", { ...mesg });
|
|
71
|
+
resolve();
|
|
72
|
+
},
|
|
73
|
+
error: async (error) => (await linq_1.default.shutdown(), reject(error)),
|
|
74
|
+
complete: async () => (await linq_1.default.shutdown(), resolve()),
|
|
75
|
+
});
|
|
76
|
+
process.on("SIGINT", async () => {
|
|
77
|
+
await linq_1.default.shutdown();
|
|
78
|
+
sub.unsubscribe();
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports.runUpdate = runUpdate;
|
|
83
83
|
//# sourceMappingURL=update.js.map
|
package/build/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,6CAK0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
|
package/jest.config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
preset: "ts-jest",
|
|
3
|
-
coverageDirectory: "coverage",
|
|
4
|
-
testEnvironment: "node",
|
|
5
|
-
testMatch: ["**/?(*.)+(spec|test).[t]s?(x)"],
|
|
6
|
-
};
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: "ts-jest",
|
|
3
|
+
coverageDirectory: "coverage",
|
|
4
|
+
testEnvironment: "node",
|
|
5
|
+
testMatch: ["**/?(*.)+(spec|test).[t]s?(x)"],
|
|
6
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@altronix/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": {
|
|
6
6
|
"atx": "./bin/atx"
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"commander": "^10.0.0",
|
|
31
31
|
"rxjs": "^7.6.0",
|
|
32
32
|
"serialport": "^10.5.0",
|
|
33
|
-
"@altronix/
|
|
34
|
-
"@altronix/
|
|
33
|
+
"@altronix/device": "0.6.0",
|
|
34
|
+
"@altronix/wasm": "1.1.0"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"start": "node ./build/index.js",
|
package/src/about.ts
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
1
|
-
import { About } from "@altronix/
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
import { About } from "@altronix/wasm/zdk";
|
|
2
|
+
import Linq, { log } from "@altronix/device";
|
|
3
|
+
import { finalize, firstValueFrom, map, switchMap, take } from "rxjs";
|
|
4
|
+
import {
|
|
5
|
+
CborResponseBody,
|
|
6
|
+
CborResponseMeta,
|
|
7
|
+
} from "@altronix/device/build/cbor";
|
|
8
|
+
import { cborDecodeStr } from "@altronix/netway";
|
|
9
|
+
|
|
10
|
+
export async function getAbout(): Promise<void> {
|
|
11
|
+
const linq = new Linq();
|
|
12
|
+
const path = "/api/v1/about";
|
|
13
|
+
const obs = linq.connections().pipe(
|
|
14
|
+
take(1),
|
|
15
|
+
switchMap(({ about }) => linq.get<CborResponseBody>(about.sid, path)),
|
|
16
|
+
map((resp) => About.fromCbor(resp.body)),
|
|
17
|
+
finalize(() => linq.shutdown())
|
|
18
|
+
);
|
|
19
|
+
return firstValueFrom(obs).then((about) => {
|
|
20
|
+
log.info(`request complete`, { ...about.toJson() });
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export async function getSite(): Promise<void> {
|
|
25
|
+
const linq = new Linq();
|
|
26
|
+
const path = "/api/v1/about/site";
|
|
27
|
+
const obs = linq.connections().pipe(
|
|
28
|
+
take(1),
|
|
29
|
+
switchMap(({ about }) => linq.get<CborResponseBody>(about.sid, path)),
|
|
30
|
+
map((resp) => ({ site: cborDecodeStr(resp.body) })),
|
|
31
|
+
finalize(() => linq.shutdown())
|
|
32
|
+
);
|
|
33
|
+
return firstValueFrom(obs).then((site) => {
|
|
34
|
+
log.info(`request complete`, { ...site });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export async function setSite(site: string): Promise<void> {
|
|
39
|
+
const linq = new Linq();
|
|
40
|
+
const path = "/api/v1/about/site";
|
|
41
|
+
const obs = linq.connections().pipe(
|
|
42
|
+
take(1),
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
switchMap(({ about }) => linq.put<CborResponseMeta>(about.sid, path, site)),
|
|
45
|
+
finalize(() => linq.shutdown())
|
|
46
|
+
);
|
|
47
|
+
return firstValueFrom(obs).then(({ meta }) => {
|
|
48
|
+
log.info(`request complete`, { code: meta.code, message: meta.mesg });
|
|
49
|
+
});
|
|
50
|
+
}
|