@matter/nodejs-shell 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e

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 (49) hide show
  1. package/package.json +9 -9
  2. package/src/MatterNode.ts +13 -12
  3. package/src/shell/cmd_cert.ts +34 -0
  4. package/src/shell/cmd_commission.ts +24 -1
  5. package/src/shell/cmd_config.ts +140 -0
  6. package/src/shell/cmd_nodes.ts +1 -3
  7. package/dist/esm/MatterNode.js +0 -189
  8. package/dist/esm/MatterNode.js.map +0 -6
  9. package/dist/esm/app.js +0 -167
  10. package/dist/esm/app.js.map +0 -6
  11. package/dist/esm/package.json +0 -3
  12. package/dist/esm/shell/Shell.js +0 -201
  13. package/dist/esm/shell/Shell.js.map +0 -6
  14. package/dist/esm/shell/cmd_cert.js +0 -134
  15. package/dist/esm/shell/cmd_cert.js.map +0 -6
  16. package/dist/esm/shell/cmd_cluster-attributes.js +0 -295
  17. package/dist/esm/shell/cmd_cluster-attributes.js.map +0 -6
  18. package/dist/esm/shell/cmd_cluster-commands.js +0 -137
  19. package/dist/esm/shell/cmd_cluster-commands.js.map +0 -6
  20. package/dist/esm/shell/cmd_cluster-events.js +0 -77
  21. package/dist/esm/shell/cmd_cluster-events.js.map +0 -6
  22. package/dist/esm/shell/cmd_commission.js +0 -269
  23. package/dist/esm/shell/cmd_commission.js.map +0 -6
  24. package/dist/esm/shell/cmd_config.js +0 -462
  25. package/dist/esm/shell/cmd_config.js.map +0 -6
  26. package/dist/esm/shell/cmd_dcl.js +0 -178
  27. package/dist/esm/shell/cmd_dcl.js.map +0 -6
  28. package/dist/esm/shell/cmd_discover.js +0 -115
  29. package/dist/esm/shell/cmd_discover.js.map +0 -6
  30. package/dist/esm/shell/cmd_identify.js +0 -46
  31. package/dist/esm/shell/cmd_identify.js.map +0 -6
  32. package/dist/esm/shell/cmd_nodes.js +0 -688
  33. package/dist/esm/shell/cmd_nodes.js.map +0 -6
  34. package/dist/esm/shell/cmd_ota.js +0 -493
  35. package/dist/esm/shell/cmd_ota.js.map +0 -6
  36. package/dist/esm/shell/cmd_session.js +0 -23
  37. package/dist/esm/shell/cmd_session.js.map +0 -6
  38. package/dist/esm/shell/cmd_subscribe.js +0 -39
  39. package/dist/esm/shell/cmd_subscribe.js.map +0 -6
  40. package/dist/esm/shell/cmd_tlv.js +0 -167
  41. package/dist/esm/shell/cmd_tlv.js.map +0 -6
  42. package/dist/esm/shell/cmd_vendor.js +0 -135
  43. package/dist/esm/shell/cmd_vendor.js.map +0 -6
  44. package/dist/esm/util/CommandlineParser.js +0 -87
  45. package/dist/esm/util/CommandlineParser.js.map +0 -6
  46. package/dist/esm/util/Json.js +0 -45
  47. package/dist/esm/util/Json.js.map +0 -6
  48. package/dist/esm/web_plumbing.js +0 -140
  49. package/dist/esm/web_plumbing.js.map +0 -6
@@ -1,462 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Logger } from "@matter/general";
7
- import { DclCertificateService } from "@matter/protocol";
8
- import { setLogLevel } from "../app.js";
9
- function commands(theNode) {
10
- return {
11
- command: "config",
12
- describe: "Manage global configuration",
13
- builder: (yargs) => yargs.command("loglevel", "Manage Console and File LogLevels", (yargs2) => {
14
- return yargs2.command(
15
- ["* [action]", "* [type] [ action]"],
16
- "get/delete console or file log level",
17
- (yargs3) => {
18
- return yargs3.positional("type", {
19
- describe: "type to set the loglevel for",
20
- choices: ["console", "file"],
21
- default: "console",
22
- type: "string"
23
- }).positional("action", {
24
- describe: "get/delete",
25
- choices: ["get", "delete"],
26
- default: "get",
27
- type: "string"
28
- });
29
- },
30
- async (argv) => doLogLevel(theNode, argv)
31
- ).command(
32
- "set <value>",
33
- "set console log level",
34
- (yargs3) => {
35
- return yargs3.positional("type", {
36
- describe: "type to set the loglevel for",
37
- choices: ["console", "file"],
38
- default: "console",
39
- type: "string"
40
- }).positional("value", {
41
- describe: "log level to set",
42
- type: "string",
43
- choices: ["fatal", "error", "warn", "info", "debug"],
44
- demandOption: true
45
- });
46
- },
47
- async (argv) => doLogLevel(theNode, { action: "set", ...argv })
48
- );
49
- }).command("logfile", "Manage Logfile path", (yargs2) => {
50
- return yargs2.command(
51
- "* [action]",
52
- "get/delete logfile path",
53
- (yargs3) => {
54
- return yargs3.positional("action", {
55
- describe: "get/delete",
56
- choices: ["get", "delete"],
57
- default: "get",
58
- type: "string"
59
- });
60
- },
61
- async (argv) => doLogfilePath(theNode, argv)
62
- ).command(
63
- "set <value>",
64
- "set logfile path",
65
- (yargs3) => {
66
- return yargs3.positional("value", {
67
- describe: "logfile path to set",
68
- type: "string",
69
- demandOption: true
70
- });
71
- },
72
- async (argv) => doLogfilePath(theNode, { action: "set", ...argv })
73
- );
74
- }).command("fabricLabel", "Manage Controller Fabric Label", (yargs2) => {
75
- return yargs2.command(
76
- "* [action]",
77
- "get Controller fabric label",
78
- (yargs3) => {
79
- return yargs3.positional("action", {
80
- describe: "get",
81
- choices: ["get"],
82
- default: "get",
83
- type: "string"
84
- });
85
- },
86
- async (argv) => doControllerFabricLabel(theNode, argv)
87
- ).command(
88
- "set <value>",
89
- "set Controller fabric label",
90
- (yargs3) => {
91
- return yargs3.positional("value", {
92
- describe: "Controller fabric label",
93
- type: "string",
94
- demandOption: true
95
- });
96
- },
97
- async (argv) => doControllerFabricLabel(theNode, { action: "set", ...argv })
98
- );
99
- }).command("ble-hci", "Manage BLE HCI ID (Linux)", (yargs2) => {
100
- return yargs2.command(
101
- "* [action]",
102
- "get/delete BLE HCI ID of the device (Linux only)",
103
- (yargs3) => {
104
- return yargs3.positional("action", {
105
- describe: "get/delete",
106
- choices: ["get", "delete"],
107
- default: "get",
108
- type: "string"
109
- });
110
- },
111
- async (argv) => doBleHci(theNode, argv)
112
- ).command(
113
- "set <value>",
114
- "set BLE HCI ID of the device (Linux only)",
115
- (yargs3) => {
116
- return yargs3.positional("value", {
117
- describe: "HCI ID to set",
118
- type: "number",
119
- demandOption: true
120
- });
121
- },
122
- async (argv) => doBleHci(theNode, { action: "set", ...argv })
123
- );
124
- }).command("wifi-credentials", "Manage Wi-Fi credentials used in commissioning process", (yargs2) => {
125
- return yargs2.command(
126
- "* [action]",
127
- "get/set Wi-Fi credentials",
128
- (yargs3) => {
129
- return yargs3.positional("action", {
130
- describe: "get/delete",
131
- choices: ["get", "delete"],
132
- default: "get",
133
- type: "string"
134
- });
135
- },
136
- async (argv) => doWifiCredentials(theNode, argv)
137
- ).command(
138
- "set <wifi-ssid> <wifi-password>",
139
- "set Wi-Fi credentials",
140
- (yargs3) => {
141
- return yargs3.positional("wifi-ssid", {
142
- describe: "SSID of the Wifi network to commission",
143
- type: "string",
144
- demandOption: true
145
- }).positional("wifi-password", {
146
- describe: "Password of the Wifi network to commission",
147
- type: "string",
148
- demandOption: true
149
- });
150
- },
151
- async (argv) => doWifiCredentials(theNode, { action: "set", ...argv })
152
- );
153
- }).command("thread-credentials", "Manage Thread credentials used in commissioning process", (yargs2) => {
154
- return yargs2.command(
155
- "* [action]",
156
- "get/set thread network credentials",
157
- (yargs3) => {
158
- return yargs3.positional("action", {
159
- describe: "get/delete",
160
- choices: ["get", "delete"],
161
- default: "get",
162
- type: "string"
163
- });
164
- },
165
- async (argv) => doThreadCredentials(theNode, argv)
166
- ).command(
167
- "set <thread-name> <thread-operational-dataset>",
168
- "set thread networkcredentials",
169
- (yargs3) => {
170
- return yargs3.positional("thread-name", {
171
- describe: "Thread network name to commission",
172
- type: "string",
173
- demandOption: true
174
- }).positional("thread-operational-dataset", {
175
- describe: "Thread network operational dataset to commission",
176
- type: "string",
177
- demandOption: true
178
- });
179
- },
180
- (argv) => doThreadCredentials(theNode, { action: "set", ...argv })
181
- );
182
- }).command(
183
- "ota-test-images",
184
- "Manage whether test OTA images (from Test DCL) are offered to nodes requesting updates",
185
- (yargs2) => {
186
- return yargs2.command(
187
- "* [action]",
188
- "get/delete OTA test images setting",
189
- (yargs3) => {
190
- return yargs3.positional("action", {
191
- describe: "get/delete",
192
- choices: ["get", "delete"],
193
- default: "get",
194
- type: "string"
195
- });
196
- },
197
- async (argv) => doOtaTestImages(theNode, argv)
198
- ).command(
199
- "set <value>",
200
- "Enable or disable offering test OTA images to nodes",
201
- (yargs3) => {
202
- return yargs3.positional("value", {
203
- describe: "Enable test OTA images (true/false)",
204
- type: "string",
205
- choices: ["true", "false"],
206
- demandOption: true
207
- });
208
- },
209
- async (argv) => doOtaTestImages(theNode, { action: "set", ...argv })
210
- );
211
- }
212
- ).command(
213
- "dcl-test-certificates",
214
- "Manage DCL test certificate fetching (production only vs. include test)",
215
- (yargs2) => {
216
- return yargs2.command(
217
- "* [action]",
218
- "get/delete DCL test certificate setting",
219
- (yargs3) => {
220
- return yargs3.positional("action", {
221
- describe: "get/delete",
222
- choices: ["get", "delete"],
223
- default: "get",
224
- type: "string"
225
- });
226
- },
227
- async (argv) => doDclTestCertificates(theNode, argv)
228
- ).command(
229
- "set <value>",
230
- "Enable or disable test certificate fetching from DCL",
231
- (yargs3) => {
232
- return yargs3.positional("value", {
233
- describe: "Enable test certificates (true/false)",
234
- type: "string",
235
- choices: ["true", "false"],
236
- demandOption: true
237
- });
238
- },
239
- async (argv) => doDclTestCertificates(theNode, { action: "set", ...argv })
240
- );
241
- }
242
- ),
243
- handler: async (argv) => {
244
- argv.unhandled = true;
245
- }
246
- };
247
- }
248
- async function doLogLevel(theNode, args) {
249
- const { action, value } = args;
250
- const storageKey = args.type === "console" ? "LogLevel" : "LogLevelFile";
251
- const logtype = args.type === "console" ? "Console" : "File";
252
- switch (action) {
253
- case "get":
254
- console.log(`Current Loglevel for ${logtype}: ${await theNode.Store.get(storageKey, "info")}`);
255
- break;
256
- case "set":
257
- if (value === void 0) {
258
- console.log(`Cannot change Loglevel for ${logtype}: New Loglevel value not provided`);
259
- return;
260
- }
261
- await theNode.Store.set(storageKey, value);
262
- console.log(`New Loglevel for ${logtype}: "${value}"`);
263
- setLogLevel(args.type === "console" ? "default" : "file", value);
264
- break;
265
- case "delete":
266
- await theNode.Store.delete(storageKey);
267
- console.log(`Loglevel for ${logtype}: Reset to "info"`);
268
- setLogLevel(args.type === "console" ? "default" : "file", "info");
269
- break;
270
- }
271
- }
272
- async function doLogfilePath(theNode, args) {
273
- const { action, value } = args;
274
- switch (action) {
275
- case "get":
276
- console.log(`Current Logfile Path: ${await theNode.Store.get("LogFile", "-")}`);
277
- break;
278
- case "set":
279
- if (value === void 0) {
280
- console.log(`Cannot change Logfile path: new path not provided`);
281
- return;
282
- }
283
- await theNode.Store.set("LogFile", value);
284
- console.log(`New LogFile path:" ${value}". Please restart the shell for the changes to take effect.`);
285
- break;
286
- case "delete":
287
- await theNode.Store.delete("LogFile");
288
- console.log(`LogFile path removed. Please restart the shell for the changes to take effect.`);
289
- break;
290
- }
291
- }
292
- async function doControllerFabricLabel(theNode, args) {
293
- const { action, value } = args;
294
- switch (action) {
295
- case "get":
296
- console.log(
297
- `Current ControllerFabricLabel: ${await theNode.Store.get("ControllerFabricLabel", "matter.js Shell")}`
298
- );
299
- break;
300
- case "set":
301
- if (value === void 0) {
302
- console.log(`Cannot change Controller Fabric Label: new value not provided`);
303
- return;
304
- }
305
- if (value.length === 0 || value.length > 32) {
306
- console.log(`Cannot change Controller Fabric Label: value must be between 1 and 32 characters`);
307
- return;
308
- }
309
- await theNode.Store.set("ControllerFabricLabel", value);
310
- console.log(`New Controller Fabric Label:" ${value}".`);
311
- await theNode.updateFabricLabel(value);
312
- break;
313
- }
314
- }
315
- async function doBleHci(theNode, args) {
316
- const { action, value } = args;
317
- switch (action) {
318
- case "get":
319
- console.log(`Current BLE HCI ID: ${await theNode.Store.get("BleHciId", 0)}`);
320
- break;
321
- case "set":
322
- if (value === void 0) {
323
- console.log(`Cannot change HCI ID: New HCI ID value not provided`);
324
- return;
325
- }
326
- await theNode.Store.set("BleHciId", value);
327
- console.log(`New HCI ID:" ${value}". Please restart the shell for the changes to take effect.`);
328
- break;
329
- case "delete":
330
- await theNode.Store.delete("BleHciId");
331
- console.log(`BLE HCI ID reset to default (0). Please restart the shell for the changes to take effect.`);
332
- break;
333
- }
334
- }
335
- async function doWifiCredentials(theNode, args) {
336
- const { action, wifiSsid, wifiPassword } = args;
337
- switch (action) {
338
- case "get":
339
- console.log(
340
- `Current Wifi-Credentials: SSID="${await theNode.Store.get(
341
- "WiFiSsid",
342
- "-"
343
- )}", Password="${Logger.maskString(await theNode.Store.get("WiFiPassword", ""))}"`
344
- );
345
- break;
346
- case "set":
347
- if (wifiSsid === void 0 || wifiPassword === void 0) {
348
- console.log(`Cannot change Wi-Fi credentials: New values not provided`);
349
- return;
350
- }
351
- await theNode.Store.set("WiFiSsid", wifiSsid);
352
- await theNode.Store.set("WiFiPassword", wifiPassword);
353
- console.log(
354
- `New Wifi-Credentials: SSID="${theNode.Store.get(
355
- "WiFiSsid",
356
- "-"
357
- )}", Password="${Logger.maskString(await theNode.Store.get("WiFiPassword"))}"`
358
- );
359
- break;
360
- case "delete":
361
- await theNode.Store.delete("WiFiSsid");
362
- await theNode.Store.delete("WiFiPassword");
363
- console.log(`Wi-Fi credentials were deleted`);
364
- break;
365
- }
366
- }
367
- async function doThreadCredentials(theNode, args) {
368
- const { action, threadName, threadOperationalDataset } = args;
369
- switch (action) {
370
- case "get":
371
- console.log(
372
- `Current Thread network credentials: name="${await theNode.Store.get(
373
- "ThreadName",
374
- "-"
375
- )}", Operational-Dataset="${Logger.maskString(
376
- await theNode.Store.get("ThreadOperationalDataset", "")
377
- )}"`
378
- );
379
- break;
380
- case "set":
381
- if (threadName === void 0 || threadOperationalDataset === void 0) {
382
- console.log(`Cannot change Thread network credentials: New values not provided`);
383
- return;
384
- }
385
- await theNode.Store.set("ThreadName", threadName);
386
- await theNode.Store.set("ThreadOperationalDataset", threadOperationalDataset);
387
- console.log(
388
- `New Thread-Credentials: name="${await theNode.Store.get(
389
- "ThreadName",
390
- "-"
391
- )}", OperationalDataset="${Logger.maskString(await theNode.Store.get("ThreadOperationalDataset"))}"`
392
- );
393
- break;
394
- case "delete":
395
- await theNode.Store.delete("ThreadName");
396
- await theNode.Store.delete("ThreadOperationalDataset");
397
- console.log(`Thread network credentials were deleted`);
398
- break;
399
- }
400
- }
401
- async function doOtaTestImages(theNode, args) {
402
- const { action, value } = args;
403
- switch (action) {
404
- case "get":
405
- const enabled = await theNode.Store.get("AllowTestOtaImages", false);
406
- console.log(
407
- `OTA test images: ${enabled ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`
408
- );
409
- break;
410
- case "set":
411
- if (value === void 0) {
412
- console.log(`Cannot change OTA test images setting: New value not provided`);
413
- return;
414
- }
415
- const newValue = value === "true";
416
- await theNode.Store.set("AllowTestOtaImages", newValue);
417
- console.log(
418
- `OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}. Please restart the shell for the changes to take effect.`
419
- );
420
- break;
421
- case "delete":
422
- await theNode.Store.delete("AllowTestOtaImages");
423
- console.log(
424
- `OTA test images setting reset to default (disabled). Please restart the shell for the changes to take effect.`
425
- );
426
- break;
427
- }
428
- }
429
- async function doDclTestCertificates(theNode, args) {
430
- const { action, value } = args;
431
- switch (action) {
432
- case "get":
433
- const enabled = await theNode.Store.get("DclFetchTestCertificates", false);
434
- console.log(
435
- `DCL test certificates: ${enabled ? "enabled (production + test + GitHub)" : "disabled (production only)"}`
436
- );
437
- break;
438
- case "set":
439
- if (value === void 0) {
440
- console.log(`Cannot change DCL test certificates setting: New value not provided`);
441
- return;
442
- }
443
- const newValue = value === "true";
444
- await theNode.Store.set("DclFetchTestCertificates", newValue);
445
- await theNode.environment.close(DclCertificateService);
446
- console.log(
447
- `DCL test certificates: ${newValue ? "enabled (production + test + GitHub)" : "disabled (production only)"}. Please restart the shell for the changes to take effect.`
448
- );
449
- break;
450
- case "delete":
451
- await theNode.Store.delete("DclFetchTestCertificates");
452
- await theNode.environment.close(DclCertificateService);
453
- console.log(
454
- `DCL test certificates setting reset to default (disabled). Please restart the shell for the changes to take effect.`
455
- );
456
- break;
457
- }
458
- }
459
- export {
460
- commands as default
461
- };
462
- //# sourceMappingURL=cmd_config.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/shell/cmd_config.ts"],
4
- "mappings": "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",
5
- "names": ["yargs"]
6
- }
@@ -1,178 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2026 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Diagnostic } from "@matter/general";
7
- import { DclClient, DclConfig } from "@matter/protocol";
8
- function parseVidPid(value, fieldName) {
9
- const num = value.startsWith("0x") ? parseInt(value, 16) : parseInt(value, 10);
10
- if (isNaN(num) || num < 0 || num > 65535) {
11
- throw new Error(`${fieldName} must be a valid 16-bit number`);
12
- }
13
- return num;
14
- }
15
- function getDclEnv(isTest) {
16
- return isTest ? "test" : "production";
17
- }
18
- function vidPositional() {
19
- return {
20
- describe: "Vendor ID (decimal or hex with 0x prefix)",
21
- type: "string",
22
- demandOption: true,
23
- coerce: (value) => parseVidPid(value, "VID")
24
- };
25
- }
26
- function pidPositional() {
27
- return {
28
- describe: "Product ID (decimal or hex with 0x prefix)",
29
- type: "string",
30
- demandOption: true,
31
- coerce: (value) => parseVidPid(value, "PID")
32
- };
33
- }
34
- function commands() {
35
- return {
36
- command: "dcl",
37
- describe: "Query the CSA Distributed Compliance Ledger (DCL) for Matter compliance information",
38
- builder: (yargs) => yargs.option("test", {
39
- alias: "t",
40
- describe: "Use test DCL network instead of production",
41
- type: "boolean",
42
- default: false,
43
- global: true
44
- }).command(
45
- "fetch-root-certificates",
46
- "Fetch list of all approved Product Attestation Authority (PAA) root certificates",
47
- (yargs2) => yargs2,
48
- async (argv) => {
49
- const { test } = argv;
50
- const client = new DclClient(test ? DclConfig.test : DclConfig.production);
51
- try {
52
- console.log(`Fetching root certificate list from ${getDclEnv(test)} DCL...`);
53
- const certificates = await client.fetchRootCertificateList();
54
- console.log(`Found ${certificates.length} root certificates:`);
55
- console.log(JSON.stringify(certificates, null, 2));
56
- } catch (error) {
57
- console.error("Error fetching root certificates:", error);
58
- }
59
- }
60
- ).command(
61
- "fetch-root-certificate <subject> <subjectKeyId>",
62
- "Fetch detailed information for a specific root certificate",
63
- (yargs2) => {
64
- return yargs2.positional("subject", {
65
- describe: "Certificate subject (DN)",
66
- type: "string",
67
- demandOption: true
68
- }).positional("subjectKeyId", {
69
- describe: "Subject key identifier",
70
- type: "string",
71
- demandOption: true
72
- });
73
- },
74
- async (argv) => {
75
- const { subject, subjectKeyId, test } = argv;
76
- const client = new DclClient(test ? DclConfig.test : DclConfig.production);
77
- try {
78
- console.log(`Fetching certificate details from ${getDclEnv(test)} DCL...`);
79
- console.log(`Subject: ${subject}`);
80
- console.log(`Subject Key ID: ${subjectKeyId}`);
81
- const certificate = await client.fetchRootCertificateBySubject({
82
- subject,
83
- subjectKeyId
84
- });
85
- console.log("Certificate details:");
86
- console.log(JSON.stringify(certificate, null, 2));
87
- } catch (error) {
88
- console.error("Error fetching certificate:", error);
89
- }
90
- }
91
- ).command(
92
- "fetch-model <vid> <pid>",
93
- "Fetch device model information by Vendor ID and Product ID",
94
- (yargs2) => {
95
- return yargs2.positional("vid", vidPositional()).positional("pid", pidPositional());
96
- },
97
- async (argv) => {
98
- const { vid, pid, test } = argv;
99
- if (vid === void 0 || pid === void 0) {
100
- throw new Error("VID and PID are required");
101
- }
102
- const client = new DclClient(test ? DclConfig.test : DclConfig.production);
103
- try {
104
- console.log(`Fetching model information from ${getDclEnv(test)} DCL...`);
105
- console.log(`VID: ${Diagnostic.hex(vid, 4)}`);
106
- console.log(`PID: ${Diagnostic.hex(pid, 4)}`);
107
- const model = await client.fetchModelByVidPid(vid, pid);
108
- console.log("Device model information:");
109
- console.log(JSON.stringify(model, null, 2));
110
- } catch (error) {
111
- console.error("Error fetching model:", error);
112
- }
113
- }
114
- ).command(
115
- "fetch-model-versions <vid> <pid>",
116
- "Fetch available software versions for a device model",
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 DclClient(test ? DclConfig.test : DclConfig.production);
126
- try {
127
- console.log(`Fetching available versions from ${getDclEnv(test)} DCL...`);
128
- console.log(`VID: ${Diagnostic.hex(vid, 4)}`);
129
- console.log(`PID: ${Diagnostic.hex(pid, 4)}`);
130
- const versions = await client.fetchModelVersionsByVidPid(vid, pid);
131
- console.log(`Found ${versions.length} software version(s):`);
132
- console.log(JSON.stringify(versions, null, 2));
133
- } catch (error) {
134
- console.error("Error fetching versions:", error);
135
- }
136
- }
137
- ).command(
138
- "fetch-model-version <vid> <pid> <softwareVersion>",
139
- "Fetch detailed information for a specific software version",
140
- (yargs2) => {
141
- return yargs2.positional("vid", vidPositional()).positional("pid", pidPositional()).positional("softwareVersion", {
142
- describe: "Software version number",
143
- type: "number",
144
- demandOption: true
145
- });
146
- },
147
- async (argv) => {
148
- const { vid, pid, softwareVersion, test } = argv;
149
- if (vid === void 0 || pid === void 0 || softwareVersion === void 0) {
150
- throw new Error("VID, PID, and software version are required");
151
- }
152
- const client = new DclClient(test ? DclConfig.test : DclConfig.production);
153
- try {
154
- console.log(`Fetching version details from ${getDclEnv(test)} DCL...`);
155
- console.log(`VID: ${Diagnostic.hex(vid, 4)}`);
156
- console.log(`PID: ${Diagnostic.hex(pid, 4)}`);
157
- console.log(`Software Version: ${softwareVersion}`);
158
- const versionInfo = await client.fetchModelVersionByVidPidSoftwareVersion(
159
- vid,
160
- pid,
161
- softwareVersion
162
- );
163
- console.log("Software version information:");
164
- console.log(JSON.stringify(versionInfo, null, 2));
165
- } catch (error) {
166
- console.error("Error fetching version details:", error);
167
- }
168
- }
169
- ).demandCommand(1, "You must specify a DCL query command"),
170
- handler: async (argv) => {
171
- argv.unhandled = true;
172
- }
173
- };
174
- }
175
- export {
176
- commands as default
177
- };
178
- //# sourceMappingURL=cmd_dcl.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/shell/cmd_dcl.ts"],
4
- "mappings": "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",
5
- "names": ["yargs"]
6
- }