@matter/nodejs-shell 0.16.0-alpha.0-20251212-4dde71be3 → 0.16.0-alpha.0-20251213-e83db3732
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 → esm}/MatterNode.js +24 -44
- package/dist/esm/MatterNode.js.map +6 -0
- package/dist/{cjs → esm}/app.js +44 -69
- package/dist/esm/app.js.map +6 -0
- package/dist/{cjs → esm}/package.json +1 -1
- package/dist/esm/shell/Shell.js +183 -0
- package/dist/esm/shell/Shell.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cert.js +5 -25
- package/dist/esm/shell/cmd_cert.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-attributes.js +29 -50
- package/dist/esm/shell/cmd_cluster-attributes.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-commands.js +16 -37
- package/dist/esm/shell/cmd_cluster-commands.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_cluster-events.js +10 -31
- package/dist/esm/shell/cmd_cluster-events.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_commission.js +20 -40
- package/dist/esm/shell/cmd_commission.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_config.js +14 -34
- package/dist/esm/shell/cmd_config.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_dcl.js +16 -36
- package/dist/esm/shell/cmd_dcl.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_discover.js +10 -30
- package/dist/esm/shell/cmd_discover.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_identify.js +5 -25
- package/dist/esm/shell/cmd_identify.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_nodes.js +25 -45
- package/dist/esm/shell/cmd_nodes.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_ota.js +37 -57
- package/dist/esm/shell/cmd_ota.js.map +6 -0
- package/dist/esm/shell/cmd_session.js +23 -0
- package/dist/esm/shell/cmd_session.js.map +6 -0
- package/dist/esm/shell/cmd_subscribe.js +39 -0
- package/dist/esm/shell/cmd_subscribe.js.map +6 -0
- package/dist/esm/shell/cmd_tlv.js +163 -0
- package/dist/esm/shell/cmd_tlv.js.map +6 -0
- package/dist/{cjs → esm}/shell/cmd_vendor.js +5 -25
- package/dist/esm/shell/cmd_vendor.js.map +6 -0
- package/dist/{cjs → esm}/util/CommandlineParser.js +3 -23
- package/dist/esm/util/CommandlineParser.js.map +6 -0
- package/dist/esm/util/Json.js +45 -0
- package/dist/esm/util/Json.js.map +6 -0
- package/dist/esm/util/String.js +12 -0
- package/dist/esm/util/String.js.map +6 -0
- package/dist/esm/web_plumbing.js +140 -0
- package/dist/esm/web_plumbing.js.map +6 -0
- package/package.json +11 -10
- package/src/app.ts +17 -12
- package/src/shell/Shell.ts +9 -6
- package/src/shell/cmd_cluster-attributes.ts +3 -4
- package/src/shell/cmd_cluster-commands.ts +3 -4
- package/src/shell/cmd_cluster-events.ts +2 -3
- package/src/shell/cmd_commission.ts +2 -2
- package/src/shell/cmd_config.ts +2 -2
- package/src/shell/cmd_discover.ts +1 -1
- package/src/shell/cmd_nodes.ts +1 -1
- package/src/shell/cmd_session.ts +1 -1
- package/src/util/Json.ts +1 -2
- package/src/web_plumbing.ts +1 -1
- package/dist/cjs/MatterNode.js.map +0 -6
- package/dist/cjs/app.js.map +0 -6
- package/dist/cjs/shell/Shell.js +0 -211
- package/dist/cjs/shell/Shell.js.map +0 -6
- package/dist/cjs/shell/cmd_cert.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-attributes.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-commands.js.map +0 -6
- package/dist/cjs/shell/cmd_cluster-events.js.map +0 -6
- package/dist/cjs/shell/cmd_commission.js.map +0 -6
- package/dist/cjs/shell/cmd_config.js.map +0 -6
- package/dist/cjs/shell/cmd_dcl.js.map +0 -6
- package/dist/cjs/shell/cmd_discover.js.map +0 -6
- package/dist/cjs/shell/cmd_identify.js.map +0 -6
- package/dist/cjs/shell/cmd_nodes.js.map +0 -6
- package/dist/cjs/shell/cmd_ota.js.map +0 -6
- package/dist/cjs/shell/cmd_session.js +0 -43
- package/dist/cjs/shell/cmd_session.js.map +0 -6
- package/dist/cjs/shell/cmd_subscribe.js +0 -59
- package/dist/cjs/shell/cmd_subscribe.js.map +0 -6
- package/dist/cjs/shell/cmd_tlv.js +0 -183
- package/dist/cjs/shell/cmd_tlv.js.map +0 -6
- package/dist/cjs/shell/cmd_vendor.js.map +0 -6
- package/dist/cjs/util/CommandlineParser.js.map +0 -6
- package/dist/cjs/util/Json.js +0 -66
- package/dist/cjs/util/Json.js.map +0 -6
- package/dist/cjs/util/String.js +0 -32
- package/dist/cjs/util/String.js.map +0 -6
- package/dist/cjs/web_plumbing.js +0 -170
- package/dist/cjs/web_plumbing.js.map +0 -6
|
@@ -1,37 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var MatterNode_exports = {};
|
|
20
|
-
__export(MatterNode_exports, {
|
|
21
|
-
MatterNode: () => MatterNode
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(MatterNode_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
|
-
var import_protocol = require("#protocol");
|
|
26
|
-
var import_types = require("#types");
|
|
27
|
-
var import_matter = require("@project-chip/matter.js");
|
|
28
|
-
var import_node_path = require("node:path");
|
|
29
1
|
/**
|
|
30
2
|
* @license
|
|
31
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
32
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
5
|
*/
|
|
34
|
-
|
|
6
|
+
import { Environment, Logger, StorageService } from "#general";
|
|
7
|
+
import { DclCertificateService, DclOtaUpdateService, DclVendorInfoService } from "#protocol";
|
|
8
|
+
import { NodeId } from "#types";
|
|
9
|
+
import { CommissioningController, ControllerStore } from "@project-chip/matter.js";
|
|
10
|
+
import { join } from "node:path";
|
|
11
|
+
const logger = Logger.get("Node");
|
|
35
12
|
class MatterNode {
|
|
36
13
|
#storageLocation;
|
|
37
14
|
#storageContext;
|
|
@@ -43,7 +20,7 @@ class MatterNode {
|
|
|
43
20
|
#dclFetchTestCertificates = false;
|
|
44
21
|
#services;
|
|
45
22
|
constructor(nodeNum, netInterface) {
|
|
46
|
-
this.#environment =
|
|
23
|
+
this.#environment = Environment.default;
|
|
47
24
|
this.#environment.runtime.add(this);
|
|
48
25
|
this.#nodeNum = nodeNum;
|
|
49
26
|
this.#netInterface = netInterface;
|
|
@@ -61,22 +38,22 @@ class MatterNode {
|
|
|
61
38
|
return this.#services;
|
|
62
39
|
}
|
|
63
40
|
get otaService() {
|
|
64
|
-
if (!this.environment.has(
|
|
65
|
-
new
|
|
41
|
+
if (!this.environment.has(DclOtaUpdateService)) {
|
|
42
|
+
new DclOtaUpdateService(this.environment);
|
|
66
43
|
}
|
|
67
|
-
return this.services.get(
|
|
44
|
+
return this.services.get(DclOtaUpdateService);
|
|
68
45
|
}
|
|
69
46
|
get certificateService() {
|
|
70
|
-
if (!this.environment.has(
|
|
71
|
-
new
|
|
47
|
+
if (!this.environment.has(DclCertificateService)) {
|
|
48
|
+
new DclCertificateService(this.environment, { fetchTestCertificates: this.#dclFetchTestCertificates });
|
|
72
49
|
}
|
|
73
|
-
return this.services.get(
|
|
50
|
+
return this.services.get(DclCertificateService);
|
|
74
51
|
}
|
|
75
52
|
get vendorInfoService() {
|
|
76
|
-
if (!this.environment.has(
|
|
77
|
-
new
|
|
53
|
+
if (!this.environment.has(DclVendorInfoService)) {
|
|
54
|
+
new DclVendorInfoService(this.environment);
|
|
78
55
|
}
|
|
79
|
-
return this.services.get(
|
|
56
|
+
return this.services.get(DclVendorInfoService);
|
|
80
57
|
}
|
|
81
58
|
async initialize(resetStorage) {
|
|
82
59
|
if (this.#environment) {
|
|
@@ -84,7 +61,7 @@ class MatterNode {
|
|
|
84
61
|
this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
|
|
85
62
|
}
|
|
86
63
|
const id = `shell-${this.#nodeNum.toString()}`;
|
|
87
|
-
this.commissioningController = new
|
|
64
|
+
this.commissioningController = new CommissioningController({
|
|
88
65
|
environment: {
|
|
89
66
|
environment: this.#environment,
|
|
90
67
|
id
|
|
@@ -93,16 +70,16 @@ class MatterNode {
|
|
|
93
70
|
adminFabricLabel: "matter.js Shell"
|
|
94
71
|
});
|
|
95
72
|
await this.commissioningController.initializeControllerStore();
|
|
96
|
-
const controllerStore = this.commissioningController.env.get(
|
|
73
|
+
const controllerStore = this.commissioningController.env.get(ControllerStore);
|
|
97
74
|
if (resetStorage) {
|
|
98
75
|
await controllerStore.erase();
|
|
99
76
|
}
|
|
100
77
|
this.#storageContext = controllerStore.storage.createContext("Node");
|
|
101
78
|
this.#dclFetchTestCertificates = await this.#storageContext.get("DclFetchTestCertificates", false);
|
|
102
|
-
const storageService = this.commissioningController.env.get(
|
|
79
|
+
const storageService = this.commissioningController.env.get(StorageService);
|
|
103
80
|
const baseLocation = storageService.location;
|
|
104
81
|
if (baseLocation !== void 0) {
|
|
105
|
-
this.#storageLocation =
|
|
82
|
+
this.#storageLocation = join(baseLocation, id);
|
|
106
83
|
}
|
|
107
84
|
} else {
|
|
108
85
|
console.log(
|
|
@@ -140,7 +117,7 @@ class MatterNode {
|
|
|
140
117
|
}
|
|
141
118
|
async connectAndGetNodes(nodeIdStr, connectOptions) {
|
|
142
119
|
await this.start();
|
|
143
|
-
const nodeId = nodeIdStr !== void 0 ?
|
|
120
|
+
const nodeId = nodeIdStr !== void 0 ? NodeId(BigInt(nodeIdStr)) : void 0;
|
|
144
121
|
if (this.commissioningController === void 0) {
|
|
145
122
|
throw new Error("CommissioningController not initialized");
|
|
146
123
|
}
|
|
@@ -174,4 +151,7 @@ class MatterNode {
|
|
|
174
151
|
return this.commissioningController?.updateFabricLabel(label);
|
|
175
152
|
}
|
|
176
153
|
}
|
|
154
|
+
export {
|
|
155
|
+
MatterNode
|
|
156
|
+
};
|
|
177
157
|
//# sourceMappingURL=MatterNode.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/MatterNode.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/{cjs → esm}/app.js
RENAMED
|
@@ -1,76 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __create = Object.create;
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
var app_exports = {};
|
|
31
|
-
__export(app_exports, {
|
|
32
|
-
exit: () => exit,
|
|
33
|
-
setLogLevel: () => setLogLevel
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(app_exports);
|
|
36
|
-
var import_general = require("#general");
|
|
37
|
-
var import_nodejs = require("#nodejs");
|
|
38
|
-
var import_nodejs_ble = require("@matter/nodejs-ble");
|
|
39
|
-
var import_yargs = __toESM(require("yargs/yargs"));
|
|
40
|
-
var import_MatterNode = require("./MatterNode.js");
|
|
41
|
-
var import_Shell = require("./shell/Shell");
|
|
42
|
-
var import_web_plumbing = require("./web_plumbing.js");
|
|
43
2
|
/**
|
|
44
3
|
* @license
|
|
45
4
|
* Copyright 2022-2025 Matter.js Authors
|
|
46
5
|
* SPDX-License-Identifier: Apache-2.0
|
|
47
6
|
*/
|
|
7
|
+
import { Environment, LogDestination, LogFormat, Logger, LogLevel } from "#general";
|
|
8
|
+
import { createFileLogger } from "#nodejs";
|
|
9
|
+
import "@matter/nodejs-ble";
|
|
10
|
+
import yargs from "yargs";
|
|
11
|
+
import { hideBin } from "yargs/helpers";
|
|
12
|
+
import { MatterNode } from "./MatterNode.js";
|
|
13
|
+
import { Shell } from "./shell/Shell.js";
|
|
14
|
+
import { initializeWebPlumbing } from "./web_plumbing.js";
|
|
48
15
|
const PROMPT = "matter> ";
|
|
49
16
|
const DEFAULT_WEBSOCKET_PORT = 3e3;
|
|
50
|
-
const logger =
|
|
17
|
+
const logger = Logger.get("Shell");
|
|
51
18
|
let theShell;
|
|
52
|
-
if (process.stdin?.isTTY)
|
|
19
|
+
if (process.stdin?.isTTY) Logger.format = LogFormat.ANSI;
|
|
53
20
|
let theNode;
|
|
54
21
|
function setLogLevel(identifier, level) {
|
|
55
|
-
let logLevel =
|
|
22
|
+
let logLevel = LogLevel.INFO;
|
|
56
23
|
switch (level) {
|
|
57
24
|
case "fatal":
|
|
58
|
-
logLevel =
|
|
25
|
+
logLevel = LogLevel.FATAL;
|
|
59
26
|
break;
|
|
60
27
|
case "error":
|
|
61
|
-
logLevel =
|
|
28
|
+
logLevel = LogLevel.ERROR;
|
|
62
29
|
break;
|
|
63
30
|
case "warn":
|
|
64
|
-
logLevel =
|
|
31
|
+
logLevel = LogLevel.WARN;
|
|
65
32
|
break;
|
|
66
33
|
case "debug":
|
|
67
|
-
logLevel =
|
|
34
|
+
logLevel = LogLevel.DEBUG;
|
|
68
35
|
break;
|
|
69
36
|
}
|
|
70
|
-
|
|
37
|
+
Logger.setDefaultLoglevelForLogger(identifier, logLevel);
|
|
71
38
|
}
|
|
72
39
|
async function main() {
|
|
73
|
-
const yargsInstance = (
|
|
40
|
+
const yargsInstance = yargs().command(
|
|
74
41
|
"* [node-num] [node-type]",
|
|
75
42
|
"Matter Node Shell",
|
|
76
43
|
(yargs2) => {
|
|
@@ -84,9 +51,11 @@ async function main() {
|
|
|
84
51
|
default: "controller",
|
|
85
52
|
type: "string"
|
|
86
53
|
}).options({
|
|
87
|
-
ble: {
|
|
54
|
+
"ble-enable": {
|
|
88
55
|
description: "Enable BLE support.",
|
|
89
|
-
type: "boolean"
|
|
56
|
+
type: "boolean",
|
|
57
|
+
default: false,
|
|
58
|
+
alias: "b"
|
|
90
59
|
},
|
|
91
60
|
bleHciId: {
|
|
92
61
|
description: "HCI ID of the BLE adapter to use. The provided value will be persisted for future runs.",
|
|
@@ -126,10 +95,12 @@ async function main() {
|
|
|
126
95
|
});
|
|
127
96
|
},
|
|
128
97
|
async (argv) => {
|
|
129
|
-
if (argv.help)
|
|
98
|
+
if (argv.help) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
130
101
|
const {
|
|
131
102
|
nodeNum,
|
|
132
|
-
|
|
103
|
+
bleEnable,
|
|
133
104
|
bleHciId,
|
|
134
105
|
nodeType,
|
|
135
106
|
factoryReset,
|
|
@@ -139,7 +110,7 @@ async function main() {
|
|
|
139
110
|
webSocketPort,
|
|
140
111
|
webServer
|
|
141
112
|
} = argv;
|
|
142
|
-
theNode = new
|
|
113
|
+
theNode = new MatterNode(nodeNum, netInterface);
|
|
143
114
|
await theNode.initialize(factoryReset);
|
|
144
115
|
if (logfile !== void 0) {
|
|
145
116
|
await theNode.Store.set("LogFile", logfile);
|
|
@@ -147,33 +118,33 @@ async function main() {
|
|
|
147
118
|
if (await theNode.Store.has("LogFile")) {
|
|
148
119
|
const storedLogFileName = await theNode.Store.get("LogFile");
|
|
149
120
|
if (storedLogFileName !== void 0) {
|
|
150
|
-
|
|
151
|
-
write: await
|
|
152
|
-
level:
|
|
153
|
-
format:
|
|
121
|
+
Logger.destinations.file = LogDestination({
|
|
122
|
+
write: await createFileLogger(storedLogFileName),
|
|
123
|
+
level: LogLevel(await theNode.Store.get("LoglevelFile", LogLevel.DEBUG)),
|
|
124
|
+
format: LogFormat("plain")
|
|
154
125
|
});
|
|
155
126
|
}
|
|
156
127
|
}
|
|
157
128
|
setLogLevel("default", await theNode.Store.get("LogLevel", "info"));
|
|
158
129
|
if (webSocketInterface) {
|
|
159
|
-
|
|
160
|
-
|
|
130
|
+
Logger.format = LogFormat.PLAIN;
|
|
131
|
+
initializeWebPlumbing(theNode, nodeNum, webSocketPort, webServer);
|
|
161
132
|
} else {
|
|
162
|
-
theShell = new
|
|
133
|
+
theShell = new Shell(theNode, nodeNum, PROMPT, process.stdin, process.stdout);
|
|
163
134
|
}
|
|
164
|
-
if (
|
|
165
|
-
|
|
135
|
+
if (bleEnable) {
|
|
136
|
+
Environment.default.vars.set("ble.enable", true);
|
|
166
137
|
}
|
|
167
|
-
if (
|
|
168
|
-
|
|
138
|
+
if (bleHciId !== void 0) {
|
|
139
|
+
Environment.default.vars.set("ble.hci.id", bleHciId);
|
|
169
140
|
}
|
|
170
|
-
console.log(`Started Node #${nodeNum} (Type: ${nodeType}) ${
|
|
141
|
+
console.log(`Started Node #${nodeNum} (Type: ${nodeType}) ${bleEnable ? "with" : "without"} BLE`);
|
|
171
142
|
if (!webSocketInterface) {
|
|
172
143
|
theShell.start(theNode.storageLocation);
|
|
173
144
|
}
|
|
174
145
|
}
|
|
175
146
|
).version(false).scriptName("shell").strict();
|
|
176
|
-
await yargsInstance.wrap(yargsInstance.terminalWidth()).
|
|
147
|
+
await yargsInstance.wrap(yargsInstance.terminalWidth()).parse(hideBin(process.argv));
|
|
177
148
|
}
|
|
178
149
|
process.on("message", function(message) {
|
|
179
150
|
console.log(`Message to shell.ts: ${message}`);
|
|
@@ -191,5 +162,9 @@ const sigIntHandler = () => {
|
|
|
191
162
|
exit().catch((error) => logger.error(error));
|
|
192
163
|
};
|
|
193
164
|
process.on("SIGINT", sigIntHandler);
|
|
194
|
-
|
|
165
|
+
Environment.default.runtime.add(main());
|
|
166
|
+
export {
|
|
167
|
+
exit,
|
|
168
|
+
setLogLevel
|
|
169
|
+
};
|
|
195
170
|
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/app.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["yargs"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Logger, MatterError } from "#general";
|
|
7
|
+
import { createWriteStream, readFileSync } from "node:fs";
|
|
8
|
+
import readline from "node:readline";
|
|
9
|
+
import { inspect } from "node:util";
|
|
10
|
+
import yargs from "yargs/yargs";
|
|
11
|
+
import { exit } from "../app.js";
|
|
12
|
+
import { commandlineParser } from "../util/CommandlineParser.js";
|
|
13
|
+
import cmdCert from "./cmd_cert.js";
|
|
14
|
+
import cmdAttributes from "./cmd_cluster-attributes.js";
|
|
15
|
+
import cmdCommands from "./cmd_cluster-commands.js";
|
|
16
|
+
import cmdEvents from "./cmd_cluster-events.js";
|
|
17
|
+
import cmdCommission from "./cmd_commission.js";
|
|
18
|
+
import cmdConfig from "./cmd_config.js";
|
|
19
|
+
import cmdDcl from "./cmd_dcl.js";
|
|
20
|
+
import cmdDiscover from "./cmd_discover.js";
|
|
21
|
+
import cmdIdentify from "./cmd_identify.js";
|
|
22
|
+
import cmdNodes from "./cmd_nodes.js";
|
|
23
|
+
import cmdOta from "./cmd_ota.js";
|
|
24
|
+
import cmdSession from "./cmd_session.js";
|
|
25
|
+
import cmdSubscribe from "./cmd_subscribe.js";
|
|
26
|
+
import cmdTlv from "./cmd_tlv.js";
|
|
27
|
+
import cmdVendor from "./cmd_vendor.js";
|
|
28
|
+
const logger = Logger.get("Shell");
|
|
29
|
+
const MAX_HISTORY_SIZE = 1e3;
|
|
30
|
+
function exitCommand() {
|
|
31
|
+
return {
|
|
32
|
+
command: "exit",
|
|
33
|
+
describe: "Exit",
|
|
34
|
+
builder: {},
|
|
35
|
+
handler: async () => {
|
|
36
|
+
console.log("Goodbye.");
|
|
37
|
+
await exit();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
class Shell {
|
|
42
|
+
/**
|
|
43
|
+
* Construct a new Shell object.
|
|
44
|
+
*/
|
|
45
|
+
constructor(theNode, nodeNum, prompt, input, output) {
|
|
46
|
+
this.theNode = theNode;
|
|
47
|
+
this.nodeNum = nodeNum;
|
|
48
|
+
this.prompt = prompt;
|
|
49
|
+
this.input = input;
|
|
50
|
+
this.output = output;
|
|
51
|
+
}
|
|
52
|
+
readline;
|
|
53
|
+
writeStream;
|
|
54
|
+
start(storageBase) {
|
|
55
|
+
const history = new Array();
|
|
56
|
+
if (storageBase !== void 0) {
|
|
57
|
+
const fileName = `${storageBase}.history`;
|
|
58
|
+
try {
|
|
59
|
+
const historyData = readFileSync(fileName, "utf8");
|
|
60
|
+
history.push(
|
|
61
|
+
...historyData.split("\n").map((line) => line.trim()).filter((line) => line.length)
|
|
62
|
+
);
|
|
63
|
+
history.splice(0, -MAX_HISTORY_SIZE);
|
|
64
|
+
console.log(`Loaded ${history.length} history entries from ${fileName}`);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
if (e instanceof Error && "code" in e && e.code !== "ENOENT") {
|
|
67
|
+
process.stderr.write(`Error happened during history file read: ${e}
|
|
68
|
+
`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
this.writeStream = createWriteStream(fileName, { flags: "w" });
|
|
73
|
+
this.writeStream.write(`${history.join("\n")}
|
|
74
|
+
`);
|
|
75
|
+
} catch (e) {
|
|
76
|
+
process.stderr.write(`Error happened during history file write: ${e}
|
|
77
|
+
`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
this.readline = readline.createInterface({
|
|
81
|
+
input: this.input,
|
|
82
|
+
output: this.output,
|
|
83
|
+
terminal: this.input === process.stdin && this.output === process.stdout,
|
|
84
|
+
prompt: this.prompt,
|
|
85
|
+
history: history.reverse(),
|
|
86
|
+
historySize: MAX_HISTORY_SIZE
|
|
87
|
+
});
|
|
88
|
+
this.readline.on("line", (cmd) => {
|
|
89
|
+
cmd = cmd.trim();
|
|
90
|
+
this.onReadLine(cmd).then((result) => result && cmd.length && this.writeStream?.write(`${cmd}
|
|
91
|
+
`)).catch((e) => {
|
|
92
|
+
process.stderr.write(`Read error: ${e}
|
|
93
|
+
`);
|
|
94
|
+
process.exit(1);
|
|
95
|
+
});
|
|
96
|
+
}).on("close", () => {
|
|
97
|
+
try {
|
|
98
|
+
this.writeStream?.end();
|
|
99
|
+
} catch (e) {
|
|
100
|
+
process.stderr.write(`Error happened during history file write: ${e}
|
|
101
|
+
`);
|
|
102
|
+
}
|
|
103
|
+
if (this.input === process.stdin && this.output === process.stdout) {
|
|
104
|
+
exit().then(() => process.exit(0)).catch((e) => {
|
|
105
|
+
process.stderr.write(`Close error: ${e}
|
|
106
|
+
`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
this.readline.prompt();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Method to process a line of raw cli text input.
|
|
115
|
+
*
|
|
116
|
+
* @param {string} line
|
|
117
|
+
*/
|
|
118
|
+
async onReadLine(line) {
|
|
119
|
+
let result = true;
|
|
120
|
+
if (line) {
|
|
121
|
+
let args;
|
|
122
|
+
try {
|
|
123
|
+
args = commandlineParser(line);
|
|
124
|
+
} catch (error) {
|
|
125
|
+
process.stderr.write(`Error happened during command parsing: ${error}
|
|
126
|
+
`);
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
const yargsInstance = yargs(args).command([
|
|
130
|
+
cmdCommission(this.theNode),
|
|
131
|
+
cmdConfig(this.theNode),
|
|
132
|
+
cmdSession(this.theNode),
|
|
133
|
+
cmdNodes(this.theNode),
|
|
134
|
+
cmdSubscribe(this.theNode),
|
|
135
|
+
cmdIdentify(this.theNode),
|
|
136
|
+
cmdDiscover(this.theNode),
|
|
137
|
+
cmdAttributes(this.theNode),
|
|
138
|
+
cmdEvents(this.theNode),
|
|
139
|
+
cmdCommands(this.theNode),
|
|
140
|
+
cmdOta(this.theNode),
|
|
141
|
+
cmdCert(this.theNode),
|
|
142
|
+
cmdVendor(this.theNode),
|
|
143
|
+
cmdTlv(),
|
|
144
|
+
cmdDcl(),
|
|
145
|
+
exitCommand()
|
|
146
|
+
]).command({
|
|
147
|
+
command: "*",
|
|
148
|
+
handler: (argv) => {
|
|
149
|
+
argv.unhandled = true;
|
|
150
|
+
}
|
|
151
|
+
}).exitProcess(false).version(false).help("help").scriptName("").strictCommands(false).strictOptions(false).fail(false).strict(false);
|
|
152
|
+
try {
|
|
153
|
+
const argv = await yargsInstance.wrap(yargsInstance.terminalWidth()).parseAsync();
|
|
154
|
+
if (argv.unhandled) {
|
|
155
|
+
process.stderr.write(`Unknown command: ${line}
|
|
156
|
+
`);
|
|
157
|
+
yargsInstance.showHelp();
|
|
158
|
+
} else {
|
|
159
|
+
console.log("Done.");
|
|
160
|
+
}
|
|
161
|
+
} catch (error) {
|
|
162
|
+
logger.error(`Error during command execution:`, error);
|
|
163
|
+
process.stderr.write(`Error happened during command: ${error}
|
|
164
|
+
`);
|
|
165
|
+
if (error instanceof Error && error.stack) {
|
|
166
|
+
const errorText = inspect(error, { depth: 10 });
|
|
167
|
+
process.stderr.write(errorText);
|
|
168
|
+
process.stderr.write("\n");
|
|
169
|
+
}
|
|
170
|
+
if (!(error instanceof MatterError)) {
|
|
171
|
+
yargsInstance.showHelp();
|
|
172
|
+
result = false;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
this.readline?.prompt();
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
export {
|
|
181
|
+
Shell
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=Shell.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/Shell.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -1,32 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var cmd_cert_exports = {};
|
|
20
|
-
__export(cmd_cert_exports, {
|
|
21
|
-
default: () => commands
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(cmd_cert_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
1
|
/**
|
|
26
2
|
* @license
|
|
27
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
28
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
29
5
|
*/
|
|
6
|
+
import { Diagnostic } from "#general";
|
|
30
7
|
function commands(theNode) {
|
|
31
8
|
return {
|
|
32
9
|
command: "cert",
|
|
@@ -92,7 +69,7 @@ Found ${certificates.length} certificate(s):
|
|
|
92
69
|
return;
|
|
93
70
|
}
|
|
94
71
|
console.log("\nCertificate Details:");
|
|
95
|
-
console.log(
|
|
72
|
+
console.log(Diagnostic.json(cert));
|
|
96
73
|
}
|
|
97
74
|
).command(
|
|
98
75
|
"as-pem <subject-key-id>",
|
|
@@ -151,4 +128,7 @@ Found ${certificates.length} certificate(s):
|
|
|
151
128
|
}
|
|
152
129
|
};
|
|
153
130
|
}
|
|
131
|
+
export {
|
|
132
|
+
commands as default
|
|
133
|
+
};
|
|
154
134
|
//# sourceMappingURL=cmd_cert.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/shell/cmd_cert.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAIZ,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MACK;AAAA,MACG,CAAC,KAAK,kBAAkB;AAAA,MACxB;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,aAAa;AAAA,UACjC,UAAU;AAAA,UACV,MAAM;AAAA,QACV,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,UAAU,YAAY,IAAI;AAElC,cAAM,QAAQ,MAAM;AACpB,YAAI,eAAe,QAAQ,mBAAmB;AAG9C,YAAI,aAAa;AACb,cAAI;AACJ,cAAI,YAAY,WAAW,IAAI,GAAG;AAC9B,kBAAM,SAAS,YAAY,QAAQ,QAAQ,EAAE;AAC7C,uBAAW,SAAS,QAAQ,EAAE;AAAA,UAClC,OAAO;AACH,uBAAW,SAAS,aAAa,EAAE;AAAA,UACvC;AAEA,cAAI,CAAC,SAAS,QAAQ,GAAG;AACrB,oBAAQ,MAAM,6BAA6B,WAAW,GAAG;AACzD;AAAA,UACJ;AACA,yBAAe,aAAa,OAAO,UAAQ,KAAK,QAAQ,QAAQ;AAAA,QACpE;AAEA,YAAI,aAAa,WAAW,GAAG;AAC3B,kBAAQ;AAAA,YACJ,cACM,uCAAuC,WAAW,MAClD;AAAA,UACV;AACA;AAAA,QACJ;AAEA,gBAAQ,IAAI;AAAA,QAAW,aAAa,MAAM;AAAA,CAAoB;AAE9D,qBAAa,QAAQ,UAAQ;AACzB,kBAAQ,IAAI,mBAAmB,KAAK,YAAY,EAAE;AAClD,kBAAQ,IAAI,cAAc,KAAK,iBAAiB,KAAK,WAAW,KAAK,EAAE;AACvE,kBAAQ,IAAI,EAAE;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,kBAAkB;AAAA,UACtC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,aAAa,IAAI;AAEzB,cAAM,QAAQ,MAAM;AACpB,cAAM,OAAO,QAAQ,mBAAmB,eAAe,YAAY;AACnE,YAAI,CAAC,MAAM;AACP,kBAAQ,MAAM,mCAAmC,YAAY,YAAY;AACzE;AAAA,QACJ;AAEA,gBAAQ,IAAI,wBAAwB;AACpC,gBAAQ,IAAI,WAAW,KAAK,IAAI,CAAC;AAAA,MACrC;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,kBAAkB;AAAA,UACtC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,aAAa,IAAI;AAEzB,cAAM,eAAe,aAAa,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEhE,cAAM,QAAQ,MAAM;AACpB,cAAM,UAAU,MAAM,QAAQ,mBAAmB,oBAAoB,YAAY;AACjF,gBAAQ,IAAI,OAAO;AAAA,MACvB;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,kBAAkB;AAAA,UACtC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,aAAa,IAAI;AAEzB,cAAM,eAAe,aAAa,QAAQ,MAAM,EAAE,EAAE,YAAY;AAEhE,cAAM,QAAQ,MAAM;AACpB,cAAM,QAAQ,mBAAmB,kBAAkB,YAAY;AAC/D,gBAAQ,IAAI,eAAe,YAAY,uBAAuB;AAAA,MAClE;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WACIA,OAAM,OAAO,SAAS;AAAA,QAClB,UAAU;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,MACb,CAAC;AAAA,MACL,OAAM,SAAQ;AACV,cAAM,EAAE,MAAM,IAAI;AAClB,cAAM,QAAQ,MAAM;AAEpB,gBAAQ,IAAI,iCAAiC,QAAQ,kBAAkB,EAAE,KAAK;AAC9E,cAAM,QAAQ,mBAAmB,OAAO,KAAK;AAC7C,gBAAQ,IAAI,2CAA2C;AAEvD,cAAM,QAAQ,QAAQ,mBAAmB,aAAa;AACtD,gBAAQ,IAAI,kCAAkC,KAAK,EAAE;AAAA,MACzD;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": ["yargs"]
|
|
6
|
+
}
|