@matter/nodejs-shell 0.11.0-alpha.0-20241007-547af42a8

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.
Files changed (56) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +192 -0
  3. package/dist/cjs/MatterNode.js +115 -0
  4. package/dist/cjs/MatterNode.js.map +6 -0
  5. package/dist/cjs/app.js +162 -0
  6. package/dist/cjs/app.js.map +6 -0
  7. package/dist/cjs/package.json +7 -0
  8. package/dist/cjs/shell/Shell.js +195 -0
  9. package/dist/cjs/shell/Shell.js.map +6 -0
  10. package/dist/cjs/shell/cmd_cluster-attributes.js +310 -0
  11. package/dist/cjs/shell/cmd_cluster-attributes.js.map +6 -0
  12. package/dist/cjs/shell/cmd_cluster-commands.js +158 -0
  13. package/dist/cjs/shell/cmd_cluster-commands.js.map +6 -0
  14. package/dist/cjs/shell/cmd_cluster-events.js +104 -0
  15. package/dist/cjs/shell/cmd_cluster-events.js.map +6 -0
  16. package/dist/cjs/shell/cmd_commission.js +237 -0
  17. package/dist/cjs/shell/cmd_commission.js.map +6 -0
  18. package/dist/cjs/shell/cmd_config.js +315 -0
  19. package/dist/cjs/shell/cmd_config.js.map +6 -0
  20. package/dist/cjs/shell/cmd_discover.js +123 -0
  21. package/dist/cjs/shell/cmd_discover.js.map +6 -0
  22. package/dist/cjs/shell/cmd_identify.js +66 -0
  23. package/dist/cjs/shell/cmd_identify.js.map +6 -0
  24. package/dist/cjs/shell/cmd_nodes.js +244 -0
  25. package/dist/cjs/shell/cmd_nodes.js.map +6 -0
  26. package/dist/cjs/shell/cmd_session.js +43 -0
  27. package/dist/cjs/shell/cmd_session.js.map +6 -0
  28. package/dist/cjs/shell/cmd_subscribe.js +59 -0
  29. package/dist/cjs/shell/cmd_subscribe.js.map +6 -0
  30. package/dist/cjs/shell/cmd_tlv.js +175 -0
  31. package/dist/cjs/shell/cmd_tlv.js.map +6 -0
  32. package/dist/cjs/util/CommandlineParser.js +106 -0
  33. package/dist/cjs/util/CommandlineParser.js.map +6 -0
  34. package/dist/cjs/util/Json.js +66 -0
  35. package/dist/cjs/util/Json.js.map +6 -0
  36. package/dist/cjs/util/String.js +32 -0
  37. package/dist/cjs/util/String.js.map +6 -0
  38. package/package.json +58 -0
  39. package/src/MatterNode.ts +141 -0
  40. package/src/app.ts +158 -0
  41. package/src/shell/Shell.ts +184 -0
  42. package/src/shell/cmd_cluster-attributes.ts +340 -0
  43. package/src/shell/cmd_cluster-commands.ts +174 -0
  44. package/src/shell/cmd_cluster-events.ts +99 -0
  45. package/src/shell/cmd_commission.ts +273 -0
  46. package/src/shell/cmd_config.ts +366 -0
  47. package/src/shell/cmd_discover.ts +127 -0
  48. package/src/shell/cmd_identify.ts +51 -0
  49. package/src/shell/cmd_nodes.ts +249 -0
  50. package/src/shell/cmd_session.ts +23 -0
  51. package/src/shell/cmd_subscribe.ts +43 -0
  52. package/src/shell/cmd_tlv.ts +169 -0
  53. package/src/tsconfig.json +22 -0
  54. package/src/util/CommandlineParser.ts +123 -0
  55. package/src/util/Json.ts +50 -0
  56. package/src/util/String.ts +9 -0
@@ -0,0 +1,162 @@
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("@matter/general");
37
+ var import_nodejs = require("@matter/nodejs");
38
+ var import_nodejs_ble = require("@matter/nodejs-ble");
39
+ var import_protocol = require("@matter/protocol");
40
+ var import_yargs = __toESM(require("yargs/yargs"));
41
+ var import_MatterNode = require("./MatterNode.js");
42
+ var import_Shell = require("./shell/Shell");
43
+ /**
44
+ * @license
45
+ * Copyright 2022-2024 Matter.js Authors
46
+ * SPDX-License-Identifier: Apache-2.0
47
+ */
48
+ const PROMPT = "matter> ";
49
+ const logger = import_general.Logger.get("Shell");
50
+ if (process.stdin?.isTTY) import_general.Logger.format = import_general.LogFormat.ANSI;
51
+ let theNode;
52
+ function setLogLevel(identifier, level) {
53
+ let logLevel = import_general.LogLevel.INFO;
54
+ switch (level) {
55
+ case "fatal":
56
+ logLevel = import_general.LogLevel.FATAL;
57
+ break;
58
+ case "error":
59
+ logLevel = import_general.LogLevel.ERROR;
60
+ break;
61
+ case "warn":
62
+ logLevel = import_general.LogLevel.WARN;
63
+ break;
64
+ case "debug":
65
+ logLevel = import_general.LogLevel.DEBUG;
66
+ break;
67
+ }
68
+ import_general.Logger.setDefaultLoglevelForLogger(identifier, logLevel);
69
+ }
70
+ async function main() {
71
+ const yargsInstance = (0, import_yargs.default)(process.argv.slice(2)).command(
72
+ "* [node-num] [node-type]",
73
+ "Matter Node Shell",
74
+ (yargs2) => {
75
+ return yargs2.positional("node-num", {
76
+ describe: "Node number for storage",
77
+ default: 0,
78
+ type: "number"
79
+ }).positional("node-type", {
80
+ describe: "Type of the node",
81
+ choices: ["controller"],
82
+ default: "controller",
83
+ type: "string"
84
+ }).options({
85
+ ble: {
86
+ description: "Enable BLE support.",
87
+ type: "boolean"
88
+ },
89
+ bleHciId: {
90
+ description: "HCI ID of the BLE adapter to use. The provided value will be persisted for future runs.",
91
+ type: "number",
92
+ default: 0
93
+ },
94
+ factoryReset: {
95
+ description: "Factory-Reset storage of this node.",
96
+ default: false,
97
+ type: "boolean"
98
+ },
99
+ netInterface: {
100
+ description: "Network interface to use for MDNS announcements and scanning.",
101
+ type: "string",
102
+ default: void 0
103
+ },
104
+ logfile: {
105
+ description: "Logfile to use to log to. By Default debug loglevel is logged to the file. The provided value will be persisted for future runs.",
106
+ type: "string",
107
+ default: void 0
108
+ }
109
+ });
110
+ },
111
+ async (argv) => {
112
+ if (argv.help) return;
113
+ const { nodeNum, ble, bleHciId, nodeType, factoryReset, netInterface, logfile } = argv;
114
+ theNode = new import_MatterNode.MatterNode(nodeNum, netInterface);
115
+ await theNode.initialize(factoryReset);
116
+ if (logfile !== void 0) {
117
+ await theNode.Store.set("LogFile", logfile);
118
+ }
119
+ if (theNode.Store.has("LogFile")) {
120
+ const storedLogFileName = await theNode.Store.get("LogFile");
121
+ if (storedLogFileName !== void 0) {
122
+ import_general.Logger.addLogger("file", await (0, import_nodejs.createFileLogger)(storedLogFileName), {
123
+ defaultLogLevel: await theNode.Store.get("LoglevelFile", import_general.LogLevel.DEBUG),
124
+ logFormat: import_general.LogFormat.PLAIN
125
+ });
126
+ }
127
+ }
128
+ setLogLevel("default", await theNode.Store.get("LogLevel", "info"));
129
+ const theShell = new import_Shell.Shell(theNode, nodeNum, PROMPT);
130
+ if (bleHciId !== void 0) {
131
+ await theNode.Store.set("BleHciId", bleHciId);
132
+ }
133
+ if (ble) {
134
+ const hciId = await theNode.Store.get("BleHciId", 0);
135
+ import_protocol.Ble.get = (0, import_general.singleton)(
136
+ () => new import_nodejs_ble.NodeJsBle({
137
+ hciId
138
+ })
139
+ );
140
+ }
141
+ console.log(`Started Node #${nodeNum} (Type: ${nodeType}) ${ble ? "with" : "without"} BLE`);
142
+ theShell.start();
143
+ }
144
+ ).version(false).scriptName("shell");
145
+ await yargsInstance.wrap(yargsInstance.terminalWidth()).parseAsync();
146
+ }
147
+ process.on("message", function(message) {
148
+ console.log(`Message to shell.ts: ${message}`);
149
+ switch (message) {
150
+ case "exit":
151
+ exit().catch((error) => logger.error(error));
152
+ }
153
+ });
154
+ async function exit(code = 0) {
155
+ await theNode?.close();
156
+ process.exit(code);
157
+ }
158
+ process.on("SIGINT", () => {
159
+ exit().catch((error) => logger.error(error));
160
+ });
161
+ main().catch((error) => logger.error(error));
162
+ //# 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,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "imports": {
4
+ "#general": "@matter/general",
5
+ "#types": "@matter/types"
6
+ }
7
+ }
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var Shell_exports = {};
30
+ __export(Shell_exports, {
31
+ Shell: () => Shell
32
+ });
33
+ module.exports = __toCommonJS(Shell_exports);
34
+ var import_general = require("@matter/general");
35
+ var import_fs = require("fs");
36
+ var import_node_readline = __toESM(require("node:readline"));
37
+ var import_yargs = __toESM(require("yargs/yargs"));
38
+ var import_app = require("../app");
39
+ var import_CommandlineParser = require("../util/CommandlineParser.js");
40
+ var import_cmd_cluster_attributes = __toESM(require("./cmd_cluster-attributes"));
41
+ var import_cmd_cluster_commands = __toESM(require("./cmd_cluster-commands"));
42
+ var import_cmd_cluster_events = __toESM(require("./cmd_cluster-events"));
43
+ var import_cmd_commission = __toESM(require("./cmd_commission.js"));
44
+ var import_cmd_config = __toESM(require("./cmd_config.js"));
45
+ var import_cmd_discover = __toESM(require("./cmd_discover.js"));
46
+ var import_cmd_identify = __toESM(require("./cmd_identify.js"));
47
+ var import_cmd_nodes = __toESM(require("./cmd_nodes.js"));
48
+ var import_cmd_session = __toESM(require("./cmd_session.js"));
49
+ var import_cmd_subscribe = __toESM(require("./cmd_subscribe.js"));
50
+ var import_cmd_tlv = __toESM(require("./cmd_tlv"));
51
+ /**
52
+ * @license
53
+ * Copyright 2022-2024 Matter.js Authors
54
+ * SPDX-License-Identifier: Apache-2.0
55
+ */
56
+ const MAX_HISTORY_SIZE = 1e3;
57
+ function exitCommand() {
58
+ return {
59
+ command: "exit",
60
+ describe: "Exit",
61
+ builder: {},
62
+ handler: async () => {
63
+ console.log("Goodbye.");
64
+ await (0, import_app.exit)();
65
+ }
66
+ };
67
+ }
68
+ class Shell {
69
+ /**
70
+ * Construct a new Shell object.
71
+ */
72
+ constructor(theNode, nodeNum, prompt) {
73
+ this.theNode = theNode;
74
+ this.nodeNum = nodeNum;
75
+ this.prompt = prompt;
76
+ }
77
+ readline;
78
+ writeStream;
79
+ start() {
80
+ const history = new Array();
81
+ const fileName = `.matter-shell-${this.nodeNum}.history`;
82
+ try {
83
+ const historyData = (0, import_fs.readFileSync)(fileName, "utf8");
84
+ history.push(
85
+ ...historyData.split("\n").map((line) => line.trim()).filter((line) => line.length)
86
+ );
87
+ history.splice(0, -MAX_HISTORY_SIZE);
88
+ console.log(`Loaded ${history.length} history entries from ${fileName}`);
89
+ } catch (e) {
90
+ if (e instanceof Error && "code" in e && e.code !== "ENOENT") {
91
+ process.stderr.write(`Error happened during history file read: ${e}
92
+ `);
93
+ }
94
+ }
95
+ try {
96
+ this.writeStream = (0, import_fs.createWriteStream)(fileName, { flags: "w" });
97
+ this.writeStream.write(`${history.join("\n")}
98
+ `);
99
+ } catch (e) {
100
+ process.stderr.write(`Error happened during history file write: ${e}
101
+ `);
102
+ }
103
+ this.readline = import_node_readline.default.createInterface({
104
+ input: process.stdin,
105
+ output: process.stdout,
106
+ terminal: true,
107
+ prompt: this.prompt,
108
+ history: history.reverse(),
109
+ historySize: MAX_HISTORY_SIZE
110
+ });
111
+ this.readline.on("line", (cmd) => {
112
+ cmd = cmd.trim();
113
+ this.onReadLine(cmd).then((result) => result && cmd.length && this.writeStream?.write(`${cmd}
114
+ `)).catch((e) => {
115
+ process.stderr.write(`Read error: ${e}
116
+ `);
117
+ process.exit(1);
118
+ });
119
+ }).on("close", () => {
120
+ try {
121
+ this.writeStream?.end();
122
+ } catch (e) {
123
+ process.stderr.write(`Error happened during history file write: ${e}
124
+ `);
125
+ }
126
+ (0, import_app.exit)().then(() => process.exit(0)).catch((e) => {
127
+ process.stderr.write(`Close error: ${e}
128
+ `);
129
+ process.exit(1);
130
+ });
131
+ });
132
+ this.readline.prompt();
133
+ }
134
+ /**
135
+ * Method to process a line of raw cli text input.
136
+ *
137
+ * @param {string} line
138
+ */
139
+ async onReadLine(line) {
140
+ let result = true;
141
+ if (line) {
142
+ let args;
143
+ try {
144
+ args = (0, import_CommandlineParser.commandlineParser)(line);
145
+ } catch (error) {
146
+ process.stderr.write(`Error happened during command parsing: ${error}
147
+ `);
148
+ return false;
149
+ }
150
+ const yargsInstance = (0, import_yargs.default)(args).command([
151
+ (0, import_cmd_commission.default)(this.theNode),
152
+ (0, import_cmd_config.default)(this.theNode),
153
+ (0, import_cmd_session.default)(this.theNode),
154
+ (0, import_cmd_nodes.default)(this.theNode),
155
+ (0, import_cmd_subscribe.default)(this.theNode),
156
+ (0, import_cmd_identify.default)(this.theNode),
157
+ (0, import_cmd_discover.default)(this.theNode),
158
+ (0, import_cmd_cluster_attributes.default)(this.theNode),
159
+ (0, import_cmd_cluster_events.default)(this.theNode),
160
+ (0, import_cmd_cluster_commands.default)(this.theNode),
161
+ (0, import_cmd_tlv.default)(),
162
+ exitCommand()
163
+ ]).command({
164
+ command: "*",
165
+ handler: (argv) => {
166
+ argv.unhandled = true;
167
+ }
168
+ }).exitProcess(false).version(false).help("help").scriptName("").strictCommands(false).strictOptions(false).fail(false).strict(false);
169
+ try {
170
+ const argv = await yargsInstance.wrap(yargsInstance.terminalWidth()).parseAsync();
171
+ if (argv.unhandled) {
172
+ process.stderr.write(`Unknown command: ${line}
173
+ `);
174
+ yargsInstance.showHelp();
175
+ } else {
176
+ console.log("Done.");
177
+ }
178
+ } catch (error) {
179
+ process.stderr.write(`Error happened during command: ${error}
180
+ `);
181
+ if (error instanceof Error && error.stack) {
182
+ process.stderr.write(error.stack.toString());
183
+ process.stderr.write("\n");
184
+ }
185
+ if (!(error instanceof import_general.MatterError)) {
186
+ yargsInstance.showHelp();
187
+ result = false;
188
+ }
189
+ }
190
+ }
191
+ this.readline?.prompt();
192
+ return result;
193
+ }
194
+ }
195
+ //# 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": ["readline", "yargs", "cmdCommission", "cmdConfig", "cmdSession", "cmdNodes", "cmdSubscribe", "cmdIdentify", "cmdDiscover", "cmdAttributes", "cmdEvents", "cmdCommands", "cmdTlv"]
6
+ }