@matter/nodejs-shell 0.16.0-alpha.0-20251112-dba1973d5 → 0.16.0-alpha.0-20251125-16883ca92

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.
@@ -0,0 +1,198 @@
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_dcl_exports = {};
20
+ __export(cmd_dcl_exports, {
21
+ default: () => commands
22
+ });
23
+ module.exports = __toCommonJS(cmd_dcl_exports);
24
+ var import_general = require("#general");
25
+ var import_protocol = require("@matter/protocol");
26
+ /**
27
+ * @license
28
+ * Copyright 2022-2025 Matter.js Authors
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ function parseVidPid(value, fieldName) {
32
+ const num = value.startsWith("0x") ? parseInt(value, 16) : parseInt(value, 10);
33
+ if (isNaN(num) || num < 0 || num > 65535) {
34
+ throw new Error(`${fieldName} must be a valid 16-bit number`);
35
+ }
36
+ return num;
37
+ }
38
+ function getDclEnv(isTest) {
39
+ return isTest ? "test" : "production";
40
+ }
41
+ function vidPositional() {
42
+ return {
43
+ describe: "Vendor ID (decimal or hex with 0x prefix)",
44
+ type: "string",
45
+ demandOption: true,
46
+ coerce: (value) => parseVidPid(value, "VID")
47
+ };
48
+ }
49
+ function pidPositional() {
50
+ return {
51
+ describe: "Product ID (decimal or hex with 0x prefix)",
52
+ type: "string",
53
+ demandOption: true,
54
+ coerce: (value) => parseVidPid(value, "PID")
55
+ };
56
+ }
57
+ function commands() {
58
+ return {
59
+ command: "dcl",
60
+ describe: "Query the CSA Distributed Compliance Ledger (DCL) for Matter compliance information",
61
+ builder: (yargs) => yargs.option("test", {
62
+ alias: "t",
63
+ describe: "Use test DCL network instead of production",
64
+ type: "boolean",
65
+ default: false,
66
+ global: true
67
+ }).command(
68
+ "fetch-root-certificates",
69
+ "Fetch list of all approved Product Attestation Authority (PAA) root certificates",
70
+ (yargs2) => yargs2,
71
+ async (argv) => {
72
+ const { test } = argv;
73
+ const client = new import_protocol.DclClient(!test);
74
+ try {
75
+ console.log(`Fetching root certificate list from ${getDclEnv(test)} DCL...`);
76
+ const certificates = await client.fetchRootCertificateList();
77
+ console.log(`Found ${certificates.length} root certificates:`);
78
+ console.log(JSON.stringify(certificates, null, 2));
79
+ } catch (error) {
80
+ console.error("Error fetching root certificates:", error);
81
+ }
82
+ }
83
+ ).command(
84
+ "fetch-root-certificate <subject> <subjectKeyId>",
85
+ "Fetch detailed information for a specific root certificate",
86
+ (yargs2) => {
87
+ return yargs2.positional("subject", {
88
+ describe: "Certificate subject (DN)",
89
+ type: "string",
90
+ demandOption: true
91
+ }).positional("subjectKeyId", {
92
+ describe: "Subject key identifier",
93
+ type: "string",
94
+ demandOption: true
95
+ });
96
+ },
97
+ async (argv) => {
98
+ const { subject, subjectKeyId, test } = argv;
99
+ const client = new import_protocol.DclClient(!test);
100
+ try {
101
+ console.log(`Fetching certificate details from ${getDclEnv(test)} DCL...`);
102
+ console.log(`Subject: ${subject}`);
103
+ console.log(`Subject Key ID: ${subjectKeyId}`);
104
+ const certificate = await client.fetchRootCertificateBySubject({
105
+ subject,
106
+ subjectKeyId
107
+ });
108
+ console.log("Certificate details:");
109
+ console.log(JSON.stringify(certificate, null, 2));
110
+ } catch (error) {
111
+ console.error("Error fetching certificate:", error);
112
+ }
113
+ }
114
+ ).command(
115
+ "fetch-model <vid> <pid>",
116
+ "Fetch device model information by Vendor ID and Product ID",
117
+ (yargs2) => {
118
+ return yargs2.positional("vid", vidPositional()).positional("pid", pidPositional());
119
+ },
120
+ async (argv) => {
121
+ const { vid, pid, test } = argv;
122
+ if (vid === void 0 || pid === void 0) {
123
+ throw new Error("VID and PID are required");
124
+ }
125
+ const client = new import_protocol.DclClient(!test);
126
+ try {
127
+ console.log(`Fetching model information from ${getDclEnv(test)} DCL...`);
128
+ console.log(`VID: ${import_general.Diagnostic.hex(vid, 4)}`);
129
+ console.log(`PID: ${import_general.Diagnostic.hex(pid, 4)}`);
130
+ const model = await client.fetchModelByVidPid(vid, pid);
131
+ console.log("Device model information:");
132
+ console.log(JSON.stringify(model, null, 2));
133
+ } catch (error) {
134
+ console.error("Error fetching model:", error);
135
+ }
136
+ }
137
+ ).command(
138
+ "fetch-model-versions <vid> <pid>",
139
+ "Fetch available software versions for a device model",
140
+ (yargs2) => {
141
+ return yargs2.positional("vid", vidPositional()).positional("pid", pidPositional());
142
+ },
143
+ async (argv) => {
144
+ const { vid, pid, test } = argv;
145
+ if (vid === void 0 || pid === void 0) {
146
+ throw new Error("VID and PID are required");
147
+ }
148
+ const client = new import_protocol.DclClient(!test);
149
+ try {
150
+ console.log(`Fetching available versions from ${getDclEnv(test)} DCL...`);
151
+ console.log(`VID: ${import_general.Diagnostic.hex(vid, 4)}`);
152
+ console.log(`PID: ${import_general.Diagnostic.hex(pid, 4)}`);
153
+ const versions = await client.fetchModelVersionsByVidPid(vid, pid);
154
+ console.log(`Found ${versions.length} software version(s):`);
155
+ console.log(JSON.stringify(versions, null, 2));
156
+ } catch (error) {
157
+ console.error("Error fetching versions:", error);
158
+ }
159
+ }
160
+ ).command(
161
+ "fetch-model-version <vid> <pid> <softwareVersion>",
162
+ "Fetch detailed information for a specific software version",
163
+ (yargs2) => {
164
+ return yargs2.positional("vid", vidPositional()).positional("pid", pidPositional()).positional("softwareVersion", {
165
+ describe: "Software version number",
166
+ type: "number",
167
+ demandOption: true
168
+ });
169
+ },
170
+ async (argv) => {
171
+ const { vid, pid, softwareVersion, test } = argv;
172
+ if (vid === void 0 || pid === void 0 || softwareVersion === void 0) {
173
+ throw new Error("VID, PID, and software version are required");
174
+ }
175
+ const client = new import_protocol.DclClient(!test);
176
+ try {
177
+ console.log(`Fetching version details from ${getDclEnv(test)} DCL...`);
178
+ console.log(`VID: ${import_general.Diagnostic.hex(vid, 4)}`);
179
+ console.log(`PID: ${import_general.Diagnostic.hex(pid, 4)}`);
180
+ console.log(`Software Version: ${softwareVersion}`);
181
+ const versionInfo = await client.fetchModelVersionByVidPidSoftwareVersion(
182
+ vid,
183
+ pid,
184
+ softwareVersion
185
+ );
186
+ console.log("Software version information:");
187
+ console.log(JSON.stringify(versionInfo, null, 2));
188
+ } catch (error) {
189
+ console.error("Error fetching version details:", error);
190
+ }
191
+ }
192
+ ).demandCommand(1, "You must specify a DCL query command"),
193
+ handler: async (argv) => {
194
+ argv.unhandled = true;
195
+ }
196
+ };
197
+ }
198
+ //# sourceMappingURL=cmd_dcl.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/cmd_dcl.ts"],
4
+ "mappings": "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",
5
+ "names": ["yargs"]
6
+ }
@@ -234,6 +234,166 @@ function commands(theNode) {
234
234
  }
235
235
  }
236
236
  }
237
+ ).command(
238
+ "ota",
239
+ "OTA update operations for nodes",
240
+ (yargs2) => yargs2.command(
241
+ "check <node-id>",
242
+ "Check for OTA updates for a commissioned node",
243
+ (yargs3) => {
244
+ return yargs3.positional("node-id", {
245
+ describe: "Node ID to check for updates",
246
+ type: "string",
247
+ demandOption: true
248
+ }).option("mode", {
249
+ describe: "DCL mode (prod or test)",
250
+ type: "string",
251
+ choices: ["prod", "test"],
252
+ default: "prod"
253
+ });
254
+ },
255
+ async (argv) => {
256
+ const { nodeId: nodeIdStr, mode } = argv;
257
+ const isProduction = mode === "prod";
258
+ await theNode.start();
259
+ if (theNode.commissioningController === void 0) {
260
+ throw new Error("CommissioningController not initialized");
261
+ }
262
+ const nodeId = (0, import_types.NodeId)(BigInt(nodeIdStr));
263
+ const nodeDetails = theNode.commissioningController.getCommissionedNodesDetails().find((nd) => nd.nodeId === nodeId);
264
+ const basicInfo = nodeDetails?.deviceData?.basicInformation;
265
+ if (!basicInfo) {
266
+ throw new Error(`Node ${nodeIdStr} has no basic information available`);
267
+ }
268
+ if (basicInfo.vendorId === void 0 || basicInfo.productId === void 0 || basicInfo.softwareVersion === void 0) {
269
+ throw new Error(
270
+ `Node ${nodeIdStr} is missing required basic information for OTA check`
271
+ );
272
+ }
273
+ console.log(`Checking for OTA updates for node ${nodeIdStr}...`);
274
+ console.log(
275
+ ` Vendor ID: ${import_general.Diagnostic.hex(basicInfo.vendorId, 4).toUpperCase()}`
276
+ );
277
+ console.log(
278
+ ` Product ID: ${import_general.Diagnostic.hex(basicInfo.productId, 4).toUpperCase()}`
279
+ );
280
+ console.log(
281
+ ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`
282
+ );
283
+ console.log(` DCL Mode: ${isProduction ? "production" : "test"}
284
+ `);
285
+ const updateInfo = await theNode.otaService.checkForUpdate(
286
+ basicInfo.vendorId,
287
+ basicInfo.productId,
288
+ basicInfo.softwareVersion,
289
+ isProduction
290
+ );
291
+ if (updateInfo) {
292
+ console.log("\u2713 Update available!");
293
+ console.log(
294
+ ` New Version: ${updateInfo.softwareVersion} (${updateInfo.softwareVersionString})`
295
+ );
296
+ console.log(` OTA URL: ${updateInfo.otaUrl}`);
297
+ if (updateInfo.otaFileSize) {
298
+ const sizeKB = Number(updateInfo.otaFileSize) / 1024;
299
+ console.log(` File Size: ${sizeKB.toFixed(2)} KB`);
300
+ }
301
+ if (updateInfo.releaseNotesUrl) {
302
+ console.log(` Release Notes: ${updateInfo.releaseNotesUrl}`);
303
+ }
304
+ console.log(
305
+ `
306
+ Run "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to download this update.`
307
+ );
308
+ } else {
309
+ console.log("\u2713 No updates available. Device is up to date.");
310
+ }
311
+ }
312
+ ).command(
313
+ "download <node-id>",
314
+ "Download OTA update for a commissioned node",
315
+ (yargs3) => {
316
+ return yargs3.positional("node-id", {
317
+ describe: "Node ID to download update for",
318
+ type: "string",
319
+ demandOption: true
320
+ }).option("mode", {
321
+ describe: "DCL mode (prod or test)",
322
+ type: "string",
323
+ choices: ["prod", "test"],
324
+ default: "prod"
325
+ }).option("force", {
326
+ describe: "Force download even if update is already stored locally",
327
+ type: "boolean",
328
+ default: false
329
+ });
330
+ },
331
+ async (argv) => {
332
+ const { nodeId: nodeIdStr, mode, force } = argv;
333
+ const isProduction = mode === "prod";
334
+ const forceDownload = force === true;
335
+ await theNode.start();
336
+ if (theNode.commissioningController === void 0) {
337
+ throw new Error("CommissioningController not initialized");
338
+ }
339
+ const nodeId = (0, import_types.NodeId)(BigInt(nodeIdStr));
340
+ const nodeDetails = theNode.commissioningController.getCommissionedNodesDetails().find((nd) => nd.nodeId === nodeId);
341
+ const basicInfo = nodeDetails?.deviceData?.basicInformation;
342
+ if (!basicInfo) {
343
+ throw new Error(`Node ${nodeIdStr} has no basic information available`);
344
+ }
345
+ if (basicInfo.vendorId === void 0 || basicInfo.productId === void 0 || basicInfo.softwareVersion === void 0) {
346
+ throw new Error(
347
+ `Node ${nodeIdStr} is missing required basic information for OTA check`
348
+ );
349
+ }
350
+ console.log(`Checking for OTA updates for node ${nodeIdStr}...`);
351
+ console.log(
352
+ ` Vendor ID: ${import_general.Diagnostic.hex(basicInfo.vendorId, 4).toUpperCase()}`
353
+ );
354
+ console.log(
355
+ ` Product ID: ${import_general.Diagnostic.hex(basicInfo.productId, 4).toUpperCase()}`
356
+ );
357
+ console.log(
358
+ ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`
359
+ );
360
+ console.log(` DCL Mode: ${isProduction ? "production" : "test"}
361
+ `);
362
+ const updateInfo = await theNode.otaService.checkForUpdate(
363
+ basicInfo.vendorId,
364
+ basicInfo.productId,
365
+ basicInfo.softwareVersion,
366
+ isProduction
367
+ );
368
+ if (!updateInfo) {
369
+ console.log("No updates available. Device is up to date.");
370
+ return;
371
+ }
372
+ console.log("Update found:");
373
+ console.log(
374
+ ` New Version: ${updateInfo.softwareVersion} (${updateInfo.softwareVersionString})`
375
+ );
376
+ console.log(` OTA URL: ${updateInfo.otaUrl}`);
377
+ if (updateInfo.otaFileSize) {
378
+ const sizeKB = Number(updateInfo.otaFileSize) / 1024;
379
+ console.log(` File Size: ${sizeKB.toFixed(2)} KB`);
380
+ }
381
+ console.log("\nDownloading update...");
382
+ const fd = await theNode.otaService.downloadUpdate(
383
+ updateInfo,
384
+ isProduction,
385
+ forceDownload
386
+ );
387
+ console.log(`\u2713 Update downloaded and stored successfully: ${fd.text}`);
388
+ console.log(
389
+ `
390
+ You can now apply this update to the device using your device's OTA mechanism.`
391
+ );
392
+ }
393
+ ).demandCommand(1, "Please specify an OTA subcommand"),
394
+ async (argv) => {
395
+ argv.unhandled = true;
396
+ }
237
397
  ),
238
398
  handler: async (argv) => {
239
399
  argv.unhandled = true;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_nodes.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["yargs"]
6
6
  }