@matter/nodejs-shell 0.16.0-alpha.0-20251211-0f80042cf → 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.
Files changed (87) hide show
  1. package/dist/{cjs → esm}/MatterNode.js +24 -44
  2. package/dist/esm/MatterNode.js.map +6 -0
  3. package/dist/{cjs → esm}/app.js +44 -69
  4. package/dist/esm/app.js.map +6 -0
  5. package/dist/{cjs → esm}/package.json +1 -1
  6. package/dist/esm/shell/Shell.js +183 -0
  7. package/dist/esm/shell/Shell.js.map +6 -0
  8. package/dist/{cjs → esm}/shell/cmd_cert.js +5 -25
  9. package/dist/esm/shell/cmd_cert.js.map +6 -0
  10. package/dist/{cjs → esm}/shell/cmd_cluster-attributes.js +29 -50
  11. package/dist/esm/shell/cmd_cluster-attributes.js.map +6 -0
  12. package/dist/{cjs → esm}/shell/cmd_cluster-commands.js +16 -37
  13. package/dist/esm/shell/cmd_cluster-commands.js.map +6 -0
  14. package/dist/{cjs → esm}/shell/cmd_cluster-events.js +10 -31
  15. package/dist/esm/shell/cmd_cluster-events.js.map +6 -0
  16. package/dist/{cjs → esm}/shell/cmd_commission.js +20 -40
  17. package/dist/esm/shell/cmd_commission.js.map +6 -0
  18. package/dist/{cjs → esm}/shell/cmd_config.js +14 -34
  19. package/dist/esm/shell/cmd_config.js.map +6 -0
  20. package/dist/{cjs → esm}/shell/cmd_dcl.js +16 -36
  21. package/dist/esm/shell/cmd_dcl.js.map +6 -0
  22. package/dist/{cjs → esm}/shell/cmd_discover.js +10 -30
  23. package/dist/esm/shell/cmd_discover.js.map +6 -0
  24. package/dist/{cjs → esm}/shell/cmd_identify.js +5 -25
  25. package/dist/esm/shell/cmd_identify.js.map +6 -0
  26. package/dist/{cjs → esm}/shell/cmd_nodes.js +25 -45
  27. package/dist/esm/shell/cmd_nodes.js.map +6 -0
  28. package/dist/{cjs → esm}/shell/cmd_ota.js +37 -57
  29. package/dist/esm/shell/cmd_ota.js.map +6 -0
  30. package/dist/esm/shell/cmd_session.js +23 -0
  31. package/dist/esm/shell/cmd_session.js.map +6 -0
  32. package/dist/esm/shell/cmd_subscribe.js +39 -0
  33. package/dist/esm/shell/cmd_subscribe.js.map +6 -0
  34. package/dist/esm/shell/cmd_tlv.js +163 -0
  35. package/dist/esm/shell/cmd_tlv.js.map +6 -0
  36. package/dist/{cjs → esm}/shell/cmd_vendor.js +5 -25
  37. package/dist/esm/shell/cmd_vendor.js.map +6 -0
  38. package/dist/{cjs → esm}/util/CommandlineParser.js +3 -23
  39. package/dist/esm/util/CommandlineParser.js.map +6 -0
  40. package/dist/esm/util/Json.js +45 -0
  41. package/dist/esm/util/Json.js.map +6 -0
  42. package/dist/esm/util/String.js +12 -0
  43. package/dist/esm/util/String.js.map +6 -0
  44. package/dist/esm/web_plumbing.js +140 -0
  45. package/dist/esm/web_plumbing.js.map +6 -0
  46. package/package.json +11 -10
  47. package/src/app.ts +17 -12
  48. package/src/shell/Shell.ts +9 -6
  49. package/src/shell/cmd_cluster-attributes.ts +3 -4
  50. package/src/shell/cmd_cluster-commands.ts +3 -4
  51. package/src/shell/cmd_cluster-events.ts +2 -3
  52. package/src/shell/cmd_commission.ts +2 -2
  53. package/src/shell/cmd_config.ts +2 -2
  54. package/src/shell/cmd_discover.ts +1 -1
  55. package/src/shell/cmd_nodes.ts +1 -1
  56. package/src/shell/cmd_session.ts +1 -1
  57. package/src/util/Json.ts +1 -2
  58. package/src/web_plumbing.ts +1 -1
  59. package/dist/cjs/MatterNode.js.map +0 -6
  60. package/dist/cjs/app.js.map +0 -6
  61. package/dist/cjs/shell/Shell.js +0 -211
  62. package/dist/cjs/shell/Shell.js.map +0 -6
  63. package/dist/cjs/shell/cmd_cert.js.map +0 -6
  64. package/dist/cjs/shell/cmd_cluster-attributes.js.map +0 -6
  65. package/dist/cjs/shell/cmd_cluster-commands.js.map +0 -6
  66. package/dist/cjs/shell/cmd_cluster-events.js.map +0 -6
  67. package/dist/cjs/shell/cmd_commission.js.map +0 -6
  68. package/dist/cjs/shell/cmd_config.js.map +0 -6
  69. package/dist/cjs/shell/cmd_dcl.js.map +0 -6
  70. package/dist/cjs/shell/cmd_discover.js.map +0 -6
  71. package/dist/cjs/shell/cmd_identify.js.map +0 -6
  72. package/dist/cjs/shell/cmd_nodes.js.map +0 -6
  73. package/dist/cjs/shell/cmd_ota.js.map +0 -6
  74. package/dist/cjs/shell/cmd_session.js +0 -43
  75. package/dist/cjs/shell/cmd_session.js.map +0 -6
  76. package/dist/cjs/shell/cmd_subscribe.js +0 -59
  77. package/dist/cjs/shell/cmd_subscribe.js.map +0 -6
  78. package/dist/cjs/shell/cmd_tlv.js +0 -183
  79. package/dist/cjs/shell/cmd_tlv.js.map +0 -6
  80. package/dist/cjs/shell/cmd_vendor.js.map +0 -6
  81. package/dist/cjs/util/CommandlineParser.js.map +0 -6
  82. package/dist/cjs/util/Json.js +0 -66
  83. package/dist/cjs/util/Json.js.map +0 -6
  84. package/dist/cjs/util/String.js +0 -32
  85. package/dist/cjs/util/String.js.map +0 -6
  86. package/dist/cjs/web_plumbing.js +0 -170
  87. package/dist/cjs/web_plumbing.js.map +0 -6
@@ -1,36 +1,13 @@
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_ota_exports = {};
20
- __export(cmd_ota_exports, {
21
- default: () => commands
22
- });
23
- module.exports = __toCommonJS(cmd_ota_exports);
24
- var import_general = require("#general");
25
- var import_protocol = require("#protocol");
26
- var import_node_fs = require("node:fs");
27
- var import_node_path = require("node:path");
28
- var import_node_stream = require("node:stream");
29
1
  /**
30
2
  * @license
31
3
  * Copyright 2022-2025 Matter.js Authors
32
4
  * SPDX-License-Identifier: Apache-2.0
33
5
  */
6
+ import { Crypto, Diagnostic, Environment } from "#general";
7
+ import { OtaImageReader } from "#protocol";
8
+ import { createReadStream, createWriteStream, statSync } from "node:fs";
9
+ import { basename, dirname, extname, join } from "node:path";
10
+ import { Readable } from "node:stream";
34
11
  function parseHexId(value, type) {
35
12
  const hexStr = value.replace(/^0x/i, "");
36
13
  const parsed = parseInt(hexStr, 16);
@@ -80,14 +57,14 @@ function commands(theNode) {
80
57
  let updateInfo;
81
58
  if (fileArg.startsWith("file://")) {
82
59
  const filePath = fileArg.slice(7);
83
- const nodeStream = (0, import_node_fs.createReadStream)(filePath);
84
- const webStream = import_node_stream.Readable.toWeb(nodeStream);
60
+ const nodeStream = createReadStream(filePath);
61
+ const webStream = Readable.toWeb(nodeStream);
85
62
  updateInfo = await theNode.otaService.updateInfoFromStream(webStream, fileArg);
86
63
  } else {
87
64
  const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(fileArg);
88
65
  const blob = await fileDesignator.openBlob();
89
66
  const reader = blob.stream().getReader();
90
- const header = await import_protocol.OtaImageReader.header(reader);
67
+ const header = await OtaImageReader.header(reader);
91
68
  updateInfo = {
92
69
  vid: header.vendorId,
93
70
  pid: header.productId,
@@ -102,7 +79,7 @@ function commands(theNode) {
102
79
  storageKey: fileArg
103
80
  };
104
81
  }
105
- console.log(import_general.Diagnostic.json(updateInfo));
82
+ console.log(Diagnostic.json(updateInfo));
106
83
  }
107
84
  ).command(
108
85
  "extract <file>",
@@ -116,11 +93,11 @@ function commands(theNode) {
116
93
  },
117
94
  async (argv) => {
118
95
  const { file } = argv;
119
- const crypto = import_general.Environment.default.get(import_general.Crypto);
120
- const dir = (0, import_node_path.dirname)(file);
121
- const ext = (0, import_node_path.extname)(file);
122
- const base = (0, import_node_path.basename)(file, ext);
123
- const outputFile = (0, import_node_path.join)(dir, `${base}-payload${ext}`);
96
+ const crypto = Environment.default.get(Crypto);
97
+ const dir = dirname(file);
98
+ const ext = extname(file);
99
+ const base = basename(file, ext);
100
+ const outputFile = join(dir, `${base}-payload${ext}`);
124
101
  console.log(`Reading OTA image from: ${file}`);
125
102
  console.log(`Extracting payload to: ${outputFile}`);
126
103
  const response = await fetch(`file://${file}`, { method: "GET" });
@@ -130,15 +107,15 @@ function commands(theNode) {
130
107
  if (!response.body) {
131
108
  throw new Error("No response body received");
132
109
  }
133
- const writeStream = (0, import_node_fs.createWriteStream)(outputFile);
110
+ const writeStream = createWriteStream(outputFile);
134
111
  const writableStream = createWritableStream(writeStream);
135
112
  const payloadWriter = writableStream.getWriter();
136
113
  const reader = response.body.getReader();
137
- const header = await import_protocol.OtaImageReader.extractPayload(reader, payloadWriter, crypto);
114
+ const header = await OtaImageReader.extractPayload(reader, payloadWriter, crypto);
138
115
  console.log(`
139
116
  Payload extracted successfully!`);
140
- console.log(`Vendor ID: ${import_general.Diagnostic.hex(header.vendorId, 4)}`);
141
- console.log(`Product ID: 0x${import_general.Diagnostic.hex(header.productId, 4)}`);
117
+ console.log(`Vendor ID: ${Diagnostic.hex(header.vendorId, 4)}`);
118
+ console.log(`Product ID: 0x${Diagnostic.hex(header.productId, 4)}`);
142
119
  console.log(`Software Version: ${header.softwareVersion}`);
143
120
  console.log(`Software Version String: ${header.softwareVersionString}`);
144
121
  console.log(`Payload Size: ${header.payloadSize} bytes`);
@@ -157,7 +134,7 @@ Payload extracted successfully!`);
157
134
  async (argv) => {
158
135
  const { file } = argv;
159
136
  const fileArg = file;
160
- const crypto = import_general.Environment.default.get(import_general.Crypto);
137
+ const crypto = Environment.default.get(Crypto);
161
138
  console.log(`Verifying OTA image: ${fileArg}
162
139
  `);
163
140
  let header;
@@ -165,22 +142,22 @@ Payload extracted successfully!`);
165
142
  if (fileArg.startsWith("file://")) {
166
143
  const filePath = fileArg.slice(7);
167
144
  source = filePath;
168
- const nodeStream = (0, import_node_fs.createReadStream)(filePath);
169
- const webStream = import_node_stream.Readable.toWeb(nodeStream);
145
+ const nodeStream = createReadStream(filePath);
146
+ const webStream = Readable.toWeb(nodeStream);
170
147
  const reader = webStream.getReader();
171
- header = await import_protocol.OtaImageReader.file(reader, crypto);
148
+ header = await OtaImageReader.file(reader, crypto);
172
149
  } else {
173
150
  source = `storage:${fileArg}`;
174
151
  const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(fileArg);
175
152
  const blob = await fileDesignator.openBlob();
176
153
  const reader = blob.stream().getReader();
177
- header = await import_protocol.OtaImageReader.file(reader, crypto);
154
+ header = await OtaImageReader.file(reader, crypto);
178
155
  }
179
156
  console.log(`\u2713 OTA image is valid!
180
157
  `);
181
158
  console.log(`File: ${source}`);
182
- console.log(`Vendor ID: ${import_general.Diagnostic.hex(header.vendorId, 4)}`);
183
- console.log(`Product ID: ${import_general.Diagnostic.hex(header.productId, 4)}`);
159
+ console.log(`Vendor ID: ${Diagnostic.hex(header.vendorId, 4)}`);
160
+ console.log(`Product ID: ${Diagnostic.hex(header.productId, 4)}`);
184
161
  console.log(`Software Version: ${header.softwareVersion}`);
185
162
  console.log(`Software Version String: ${header.softwareVersionString}`);
186
163
  console.log(`Payload Size: ${header.payloadSize} bytes`);
@@ -280,8 +257,8 @@ Payload extracted successfully!`);
280
257
  if (filePath.toLowerCase().startsWith("https://")) {
281
258
  updateInfo = await theNode.otaService.createUpdateInfoFromFile(filePath);
282
259
  } else {
283
- const nodeStream = (0, import_node_fs.createReadStream)(filePath);
284
- const webStream = import_node_stream.Readable.toWeb(nodeStream);
260
+ const nodeStream = createReadStream(filePath);
261
+ const webStream = Readable.toWeb(nodeStream);
285
262
  const fileUrl = `file://${filePath}`;
286
263
  localFile = true;
287
264
  updateInfo = await theNode.otaService.updateInfoFromStream(webStream, fileUrl);
@@ -294,8 +271,8 @@ Payload extracted successfully!`);
294
271
  console.log(` Mode: ${isProduction ? "production" : "test"}`);
295
272
  let fd;
296
273
  if (localFile) {
297
- const nodeStream = (0, import_node_fs.createReadStream)(filePath);
298
- const webStream = import_node_stream.Readable.toWeb(nodeStream);
274
+ const nodeStream = createReadStream(filePath);
275
+ const webStream = Readable.toWeb(nodeStream);
299
276
  fd = await theNode.otaService.store(webStream, updateInfo, isProduction);
300
277
  } else {
301
278
  fd = await theNode.otaService.downloadUpdate(updateInfo, isProduction);
@@ -406,14 +383,14 @@ OTA image added to storage successfully: ${fd.text}`);
406
383
  const fileDesignator = await theNode.otaService.fileDesignatorForUpdate(keyname);
407
384
  let targetPath = targetArg;
408
385
  try {
409
- const stats = (0, import_node_fs.statSync)(targetArg);
386
+ const stats = statSync(targetArg);
410
387
  if (stats.isDirectory()) {
411
- targetPath = (0, import_node_path.join)(targetArg, keyname);
388
+ targetPath = join(targetArg, keyname);
412
389
  }
413
390
  } catch {
414
- const parentDir = (0, import_node_path.dirname)(targetArg);
391
+ const parentDir = dirname(targetArg);
415
392
  try {
416
- const parentStats = (0, import_node_fs.statSync)(parentDir);
393
+ const parentStats = statSync(parentDir);
417
394
  if (parentStats.isDirectory()) {
418
395
  targetPath = targetArg;
419
396
  } else {
@@ -429,7 +406,7 @@ OTA image added to storage successfully: ${fd.text}`);
429
406
  console.log(`Target path: ${targetPath}`);
430
407
  const blob = await fileDesignator.openBlob();
431
408
  const reader = blob.stream().getReader();
432
- const writeStream = (0, import_node_fs.createWriteStream)(targetPath);
409
+ const writeStream = createWriteStream(targetPath);
433
410
  const writableStream = createWritableStream(writeStream);
434
411
  const writer = writableStream.getWriter();
435
412
  while (true) {
@@ -446,4 +423,7 @@ OTA image added to storage successfully: ${fd.text}`);
446
423
  }
447
424
  };
448
425
  }
426
+ export {
427
+ commands as default
428
+ };
449
429
  //# sourceMappingURL=cmd_ota.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_ota.ts"],
4
+ "mappings": "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",
5
+ "names": ["yargs"]
6
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ function commands(theNode) {
7
+ return {
8
+ command: "session",
9
+ describe: "Manage session",
10
+ builder: {},
11
+ handler: async () => {
12
+ if (!theNode.commissioningController) {
13
+ throw new Error("CommissioningController not initialized");
14
+ }
15
+ const sessions = theNode.commissioningController?.getActiveSessionInformation();
16
+ console.log(sessions);
17
+ }
18
+ };
19
+ }
20
+ export {
21
+ commands as default
22
+ };
23
+ //# sourceMappingURL=cmd_session.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_session.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQe,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC;AAAA,IACV,SAAS,YAAY;AACjB,UAAI,CAAC,QAAQ,yBAAyB;AAClC,cAAM,IAAI,MAAM,yCAAyC;AAAA,MAC7D;AAEA,YAAM,WAAW,QAAQ,yBAAyB,4BAA4B;AAC9E,cAAQ,IAAI,QAAQ;AAAA,IACxB;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Diagnostic } from "#general";
7
+ function commands(theNode) {
8
+ return {
9
+ command: "subscribe [node-id]",
10
+ describe: "Subscribe to all events and attributes of a node",
11
+ builder: (yargs) => {
12
+ return yargs.positional("node-id", {
13
+ describe: "node id",
14
+ default: void 0,
15
+ type: "string"
16
+ });
17
+ },
18
+ handler: async (argv) => {
19
+ const { nodeId: subscribeNodeId } = argv;
20
+ const node = (await theNode.connectAndGetNodes(subscribeNodeId))[0];
21
+ await node.subscribeAllAttributesAndEvents({
22
+ attributeChangedCallback: ({ path: { nodeId, clusterId, endpointId, attributeName }, value }) => console.log(
23
+ `${subscribeNodeId}: Attribute ${nodeId}/${endpointId}/${clusterId}/${attributeName} changed to ${Diagnostic.json(
24
+ value
25
+ )}`
26
+ ),
27
+ eventTriggeredCallback: ({ path: { nodeId, clusterId, endpointId, eventName }, events }) => console.log(
28
+ `${subscribeNodeId} Event ${nodeId}/${endpointId}/${clusterId}/${eventName} triggered with ${Diagnostic.json(
29
+ events
30
+ )}`
31
+ )
32
+ });
33
+ }
34
+ };
35
+ }
36
+ export {
37
+ commands as default
38
+ };
39
+ //# sourceMappingURL=cmd_subscribe.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_subscribe.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,UAAgB;AACtB,aAAO,MAAM,WAAW,WAAW;AAAA,QAC/B,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,MACV,CAAC;AAAA,IACL;AAAA,IAEA,SAAS,OAAO,SAAc;AAC1B,YAAM,EAAE,QAAQ,gBAAgB,IAAI;AACpC,YAAM,QAAQ,MAAM,QAAQ,mBAAmB,eAAe,GAAG,CAAC;AAElE,YAAM,KAAK,gCAAgC;AAAA,QACvC,0BAA0B,CAAC,EAAE,MAAM,EAAE,QAAQ,WAAW,YAAY,cAAc,GAAG,MAAM,MACvF,QAAQ;AAAA,UACJ,GAAG,eAAe,eAAe,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,aAAa,eAAe,WAAW;AAAA,YACzG;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,QACJ,wBAAwB,CAAC,EAAE,MAAM,EAAE,QAAQ,WAAW,YAAY,UAAU,GAAG,OAAO,MAClF,QAAQ;AAAA,UACJ,GAAG,eAAe,UAAU,MAAM,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,mBAAmB,WAAW;AAAA,YACpG;AAAA,UACJ,CAAC;AAAA,QACL;AAAA,MACR,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,163 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes, Diagnostic, Logger, serialize, UnexpectedDataError } from "#general";
7
+ import { TlvAny, TlvArrayReader, TlvType } from "#types";
8
+ const logger = Logger.get("tlv");
9
+ const TlvTypeNames = {
10
+ [TlvType.Null]: "Null(",
11
+ [TlvType.Boolean]: "Boolean(",
12
+ [TlvType.UnsignedInt]: "UnsignedInt(",
13
+ [TlvType.SignedInt]: "SignedInt(",
14
+ [TlvType.Float]: "Float(",
15
+ [TlvType.Utf8String]: "Utf8String(",
16
+ [TlvType.ByteString]: "ByteString(",
17
+ [TlvType.Array]: "Array {",
18
+ [TlvType.List]: "List {",
19
+ [TlvType.Structure]: "Structure {",
20
+ [TlvType.EndOfContainer]: "}"
21
+ };
22
+ function logAnyTlvStream(encoded) {
23
+ if (encoded.length === 0) {
24
+ return void 0;
25
+ }
26
+ const reader = new TlvArrayReader(encoded);
27
+ logGenericElement(reader);
28
+ const nextElement = reader.readTagType();
29
+ if (nextElement !== void 0) {
30
+ throw new UnexpectedDataError(`Unexpected data left after parsing all data: ${Diagnostic.json(nextElement)}`);
31
+ }
32
+ }
33
+ function logGenericElement(reader, preReadElement, allowTag = false) {
34
+ const element = preReadElement ?? reader.readTagType();
35
+ const {
36
+ tag,
37
+ typeLength: { type }
38
+ } = element;
39
+ switch (type) {
40
+ case TlvType.Null:
41
+ case TlvType.Boolean:
42
+ case TlvType.UnsignedInt:
43
+ case TlvType.SignedInt:
44
+ case TlvType.Float:
45
+ case TlvType.Utf8String:
46
+ case TlvType.ByteString:
47
+ if (tag !== void 0 && !allowTag) {
48
+ throw new UnexpectedDataError(`Tag detected for a native type: ${Diagnostic.json(element)}`);
49
+ }
50
+ const value = reader.readPrimitive(element.typeLength);
51
+ const logValue = Bytes.isBytes(value) ? Bytes.toHex(value) : value;
52
+ const logNumberHex = typeof value === "number" || typeof value === "bigint" ? value.toString(16) : void 0;
53
+ logger.info(
54
+ tag?.id !== void 0 ? `${tag.id}/0x${tag?.id?.toString(16)} => ` : "",
55
+ TlvTypeNames[type],
56
+ `${logValue}${logNumberHex !== void 0 ? `/0x${logNumberHex}` : ""}`,
57
+ ")"
58
+ );
59
+ break;
60
+ case TlvType.Array:
61
+ case TlvType.List:
62
+ if (tag?.id !== void 0) {
63
+ logger.info(`${tag.id}/0x${tag.id.toString(16)} => `, TlvTypeNames[type]);
64
+ } else {
65
+ logger.info(TlvTypeNames[type]);
66
+ }
67
+ Logger.nest(() => logGenericArrayOrList(reader, type === TlvType.List));
68
+ logger.info(TlvTypeNames[TlvType.EndOfContainer]);
69
+ break;
70
+ case TlvType.Structure:
71
+ if (tag?.id !== void 0) {
72
+ logger.info(`${tag.id}/0x${tag.id.toString(16)} => `, TlvTypeNames[type]);
73
+ } else {
74
+ logger.info(TlvTypeNames[type]);
75
+ }
76
+ Logger.nest(() => logGenericStructure(reader));
77
+ logger.info(TlvTypeNames[TlvType.EndOfContainer]);
78
+ break;
79
+ default:
80
+ throw new UnexpectedDataError(`Unknown type: ${type}`);
81
+ }
82
+ }
83
+ function logGenericArrayOrList(reader, allowTag = false) {
84
+ const result = new Array();
85
+ while (true) {
86
+ const element = reader.readTagType();
87
+ const {
88
+ tag,
89
+ typeLength: { type }
90
+ } = element;
91
+ if (type === TlvType.EndOfContainer) break;
92
+ if (tag !== void 0 && !allowTag) {
93
+ throw new UnexpectedDataError(`Tag detected : ${Diagnostic.json(element)}`);
94
+ }
95
+ logGenericElement(reader, element, allowTag);
96
+ }
97
+ return result;
98
+ }
99
+ function logGenericStructure(reader) {
100
+ const result = {};
101
+ while (true) {
102
+ const element = reader.readTagType();
103
+ const {
104
+ tag,
105
+ typeLength: { type }
106
+ } = element;
107
+ if (type === TlvType.EndOfContainer) break;
108
+ if (tag === void 0 || tag.id === void 0) {
109
+ throw new UnexpectedDataError(`Tag missing for a structure: ${Diagnostic.json(element)}`);
110
+ }
111
+ logGenericElement(reader, element, true);
112
+ }
113
+ return result;
114
+ }
115
+ function commands() {
116
+ return {
117
+ command: "tlv",
118
+ describe: "TLV decoding tools",
119
+ builder: (yargs) => {
120
+ return yargs.command(
121
+ "decode [value]",
122
+ "Decodes a TLV string (hex) into matter.js JavaScript object",
123
+ (yargs2) => {
124
+ return yargs2.positional("value", {
125
+ describe: "The TLV value as hex string",
126
+ type: "string",
127
+ demandOption: true
128
+ });
129
+ },
130
+ async (argv) => {
131
+ const { value } = argv;
132
+ const bytes = Bytes.fromHex(value);
133
+ const tlvEncoded = TlvAny.decode(bytes);
134
+ const decoded = TlvAny.decodeAnyTlvStream(tlvEncoded);
135
+ console.log("Decoded:", serialize(decoded));
136
+ }
137
+ ).command(
138
+ "log [value]",
139
+ "Decodes a TLV string (hex string) and logs it's structure",
140
+ (yargs2) => {
141
+ return yargs2.positional("value", {
142
+ describe: "The TLV value as hex string",
143
+ type: "string",
144
+ demandOption: true
145
+ });
146
+ },
147
+ async (argv) => {
148
+ const { value } = argv;
149
+ const bytes = Bytes.fromHex(value);
150
+ const tlvEncoded = TlvAny.decode(bytes);
151
+ logAnyTlvStream(tlvEncoded);
152
+ }
153
+ );
154
+ },
155
+ handler: async (argv) => {
156
+ argv.unhandled = true;
157
+ }
158
+ };
159
+ }
160
+ export {
161
+ commands as default
162
+ };
163
+ //# sourceMappingURL=cmd_tlv.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_tlv.ts"],
4
+ "mappings": "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",
5
+ "names": ["yargs"]
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_vendor_exports = {};
20
- __export(cmd_vendor_exports, {
21
- default: () => commands
22
- });
23
- module.exports = __toCommonJS(cmd_vendor_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: "vendor",
@@ -88,7 +65,7 @@ Found ${vendors.length} vendor(s):
88
65
  return;
89
66
  }
90
67
  console.log("\nVendor Details:");
91
- console.log(import_general.Diagnostic.json(vendor));
68
+ console.log(Diagnostic.json(vendor));
92
69
  }
93
70
  ).command(
94
71
  "update",
@@ -115,4 +92,7 @@ Found ${vendors.length} vendor(s):
115
92
  }
116
93
  };
117
94
  }
95
+ export {
96
+ commands as default
97
+ };
118
98
  //# sourceMappingURL=cmd_vendor.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_vendor.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,MAAM;AAAA,MACZ;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,cAAM,UAAU,CAAC,GAAG,QAAQ,kBAAkB,QAAQ,OAAO,CAAC;AAE9D,YAAI,QAAQ,WAAW,GAAG;AACtB,kBAAQ,IAAI,yCAAyC;AACrD;AAAA,QACJ;AAEA,gBAAQ,IAAI;AAAA,QAAW,QAAQ,MAAM;AAAA,CAAe;AAGpD,gBAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ;AAE9C,gBAAQ,QAAQ,YAAU;AACtB,kBAAQ;AAAA,YACJ,cAAc,OAAO,QAAQ,OAAO,OAAO,SAAS,SAAS,EAAE,EAAE,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,UACnG;AACA,kBAAQ,IAAI,WAAW,OAAO,UAAU,EAAE;AAC1C,kBAAQ,IAAI,iBAAiB,OAAO,gBAAgB,EAAE;AACtD,kBAAQ,IAAI,qBAAqB,OAAO,oBAAoB,EAAE;AAC9D,kBAAQ,IAAI,mBAAmB,OAAO,oBAAoB,EAAE;AAC5D,kBAAQ,IAAI,EAAE;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,aAAa;AAAA,UACjC,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,UAAU,YAAY,IAAI;AAElC,YAAI;AACJ,YAAI,YAAY,WAAW,IAAI,GAAG;AAC9B,gBAAM,SAAS,YAAY,QAAQ,QAAQ,EAAE;AAC7C,qBAAW,SAAS,QAAQ,EAAE;AAAA,QAClC,OAAO;AACH,qBAAW,SAAS,aAAa,EAAE;AAAA,QACvC;AAEA,YAAI,CAAC,SAAS,QAAQ,GAAG;AACrB,kBAAQ,MAAM,6BAA6B,WAAW,GAAG;AACzD;AAAA,QACJ;AAEA,cAAM,QAAQ,MAAM;AACpB,cAAM,SAAS,QAAQ,kBAAkB,QAAQ,QAAQ;AACzD,YAAI,CAAC,QAAQ;AACT,kBAAQ,MAAM,kBAAkB,WAAW,YAAY;AACvD;AAAA,QACJ;AAEA,gBAAQ,IAAI,mBAAmB;AAC/B,gBAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;AAAA,MACvC;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,MAAM;AAAA,MAAC;AAAA,MACP,YAAY;AACR,cAAM,QAAQ,MAAM;AACpB,gBAAQ,IAAI,yCAAyC;AAErD,YAAI;AACA,gBAAM,QAAQ,kBAAkB,OAAO;AACvC,kBAAQ;AAAA,YACJ,yBAAyB,QAAQ,kBAAkB,QAAQ,IAAI;AAAA,UACnE;AAAA,QACJ,SAAS,OAAO;AACZ,kBAAQ;AAAA,YACJ,wCAAwC,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,UAC1F;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
5
+ "names": ["yargs"]
6
+ }
@@ -1,26 +1,3 @@
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 CommandlineParser_exports = {};
20
- __export(CommandlineParser_exports, {
21
- commandlineParser: () => commandlineParser
22
- });
23
- module.exports = __toCommonJS(CommandlineParser_exports);
24
1
  /**
25
2
  * Quote aware Command line parser
26
3
  *
@@ -103,4 +80,7 @@ function commandlineParser(line) {
103
80
  }
104
81
  return args;
105
82
  }
83
+ export {
84
+ commandlineParser
85
+ };
106
86
  //# sourceMappingURL=CommandlineParser.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/CommandlineParser.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BA,MAAM,aAAa;AAAA,EAIf,YAA6B,KAAa;AAAb;AACzB,SAAK,MAAM;AAAA,EACf;AAAA,EALQ;AAAA,EACD;AAAA,EAMP,OAAO;AACH,QAAI,KAAK,MAAM,KAAK,IAAI,QAAQ;AAC5B,WAAK,UAAU,KAAK,IAAI,EAAE,KAAK,GAAG;AAAA,IACtC;AAEA,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,SAAS,aAAa,GAAW;AAC7B,SAAO,MAAM;AACjB;AAEA,SAAS,kBAAkB,GAAiB;AACxC,SAAO,EAAE,YAAY,UAAa,aAAa,EAAE,OAAO,GAAG;AACvD,MAAE,KAAK;AAAA,EACX;AACJ;AAEA,SAAS,QAAQ,GAAiB;AAC9B,QAAM,IAAI,EAAE,KAAK;AACjB,MAAI,MAAM,QAAW;AACjB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAClD;AAEA,SAAO;AACX;AAEA,SAAS,OAAO,GAAiB;AAC7B,MAAI,IAAI;AAER,QAAM,IAAI,EAAE;AACZ,QAAM,IAAI,MAAM;AAEhB,WAAS,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,EAAE,KAAK,GAAG;AAC1C,QAAI,MAAM,QAAW;AACjB,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC9C;AAEA,QAAI,KAAK,MAAM,MAAM;AACjB,WAAK,QAAQ,CAAC;AAAA,IAClB,OAAO;AACH,WAAK;AAAA,IACT;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,SAAS,kBAAkB,MAAc;AAC5C,QAAM,OAAO,CAAC;AACd,MAAI,IAAI;AAER,QAAM,IAAI,IAAI,aAAa,IAAI;AAC/B,IAAE,KAAK;AACP,oBAAkB,CAAC;AAKnB,MAAI,WAAW;AAEf,SAAO,EAAE,YAAY,QAAW;AAC5B,QAAI,aAAa,EAAE,OAAO,GAAG;AACzB,WAAK,KAAK,CAAC;AACX,iBAAW;AACX,UAAI;AAEJ,wBAAkB,CAAC;AAAA,IACvB,WAAW,EAAE,YAAY,MAAM;AAC3B,WAAK,QAAQ,CAAC;AACd,QAAE,KAAK;AAAA,IACX,WAAW,EAAE,YAAY,OAAO,EAAE,YAAY,KAAK;AAC/C,WAAK,OAAO,CAAC;AACb,iBAAW;AACX,QAAE,KAAK;AAAA,IACX,OAAO;AACH,WAAK,EAAE;AACP,QAAE,KAAK;AAAA,IACX;AAAA,EACJ;AAEA,MAAI,YAAY,EAAE,QAAQ;AACtB,SAAK,KAAK,CAAC;AAAA,EACf;AAEA,SAAO;AACX;",
5
+ "names": []
6
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes, camelize } from "#general";
7
+ import { ValidationDatatypeMismatchError } from "#types";
8
+ function convertJsonDataWithModel(model, data) {
9
+ const definingModel = model.definingModel ?? model;
10
+ switch (definingModel.effectiveMetatype) {
11
+ case "array":
12
+ if (!Array.isArray(data)) {
13
+ throw new ValidationDatatypeMismatchError(`Expected array, got ${typeof data}`);
14
+ }
15
+ return data.map((item) => convertJsonDataWithModel(definingModel.children[0], item));
16
+ case "object":
17
+ if (typeof data !== "object") {
18
+ throw new ValidationDatatypeMismatchError(`Expected object, got ${typeof data}`);
19
+ }
20
+ for (const child of definingModel.children) {
21
+ const childKeyName = camelize(child.name);
22
+ data[childKeyName] = convertJsonDataWithModel(child, data[childKeyName]);
23
+ }
24
+ return data;
25
+ case "integer":
26
+ if (typeof data === "string") {
27
+ if (definingModel.metabase?.byteSize !== void 0 && definingModel.metabase.byteSize > 6) {
28
+ return BigInt(data);
29
+ } else if (data.startsWith("0x")) {
30
+ return parseInt(data.substring(2), 16);
31
+ }
32
+ }
33
+ break;
34
+ case "bytes":
35
+ if (typeof data === "string") {
36
+ return Bytes.fromHex(data);
37
+ }
38
+ break;
39
+ }
40
+ return data;
41
+ }
42
+ export {
43
+ convertJsonDataWithModel
44
+ };
45
+ //# sourceMappingURL=Json.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/Json.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,gBAAgB;AAEhC,SAAS,uCAAuC;AAEzC,SAAS,yBAAyB,OAAmB,MAAgB;AACxE,QAAM,gBAAgB,MAAM,iBAAiB;AAC7C,UAAQ,cAAc,mBAAmB;AAAA,IACrC,KAAK;AACD,UAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACtB,cAAM,IAAI,gCAAgC,uBAAuB,OAAO,IAAI,EAAE;AAAA,MAClF;AACA,aAAO,KAAK,IAAI,UAAQ,yBAAyB,cAAc,SAAS,CAAC,GAAG,IAAI,CAAC;AAAA,IACrF,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAC1B,cAAM,IAAI,gCAAgC,wBAAwB,OAAO,IAAI,EAAE;AAAA,MACnF;AACA,iBAAW,SAAS,cAAc,UAAU;AACxC,cAAM,eAAe,SAAS,MAAM,IAAI;AACxC,aAAK,YAAY,IAAI,yBAAyB,OAAO,KAAK,YAAY,CAAC;AAAA,MAC3E;AACA,aAAO;AAAA,IACX,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAC1B,YAAI,cAAc,UAAU,aAAa,UAAa,cAAc,SAAS,WAAW,GAAG;AAGvF,iBAAO,OAAO,IAAI;AAAA,QACtB,WAAW,KAAK,WAAW,IAAI,GAAG;AAE9B,iBAAO,SAAS,KAAK,UAAU,CAAC,GAAG,EAAE;AAAA,QACzC;AAAA,MACJ;AACA;AAAA,IACJ,KAAK;AACD,UAAI,OAAO,SAAS,UAAU;AAE1B,eAAO,MAAM,QAAQ,IAAI;AAAA,MAC7B;AACA;AAAA,EACR;AAEA,SAAO;AACX;",
5
+ "names": []
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ function camelize(str) {
7
+ return str.charAt(0).toLowerCase() + str.slice(1);
8
+ }
9
+ export {
10
+ camelize
11
+ };
12
+ //# sourceMappingURL=String.js.map