@matter/nodejs-shell 0.17.7 → 0.17.8-alpha.0-20260801-92169d0aa

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/README.md CHANGED
@@ -119,6 +119,19 @@ When enabled, the certificate service will fetch:
119
119
 
120
120
  When disabled (default), only production certificates from DCL are fetched. Changes require restarting the shell to take effect.
121
121
 
122
+ ### OTA Test Images
123
+
124
+ By default, the shell only offers OTA updates from the production DCL. To also consider the test DCL, use the `config ota-test-images` command:
125
+
126
+ ```
127
+ config ota-test-images set true
128
+ config ota-test-images set false
129
+ config ota-test-images get
130
+ config ota-test-images delete
131
+ ```
132
+
133
+ The setting applies immediately, both to nodes requesting an update from the shell's OTA provider and to the `nodes ota check|download|apply` and `ota download` commands whose `--mode` is left at its `auto` default.
134
+
122
135
  ### Commission a device
123
136
 
124
137
  The shell supports discovery and also commissioning of devices. The commissioning process is based on the Matter SDK and uses the same commissioning process as the chip-tool. The commissioning process is started by the `commission pair` command.
@@ -181,7 +194,7 @@ nodes ota check 5000 --local
181
194
  ```
182
195
 
183
196
  Options:
184
- - `--mode <prod|test>`: Specify DCL mode - production (default) or test
197
+ - `--mode <auto|prod|test|both>`: DCL instances to query. `auto` (default) follows the `config ota-test-images` setting: production only, or production plus test when test images are enabled
185
198
  - `--local`: Include locally stored update files when checking for updates
186
199
 
187
200
  The command will display information about available updates including version, file size, and download URL.
@@ -197,7 +210,7 @@ nodes ota download 5000 --local
197
210
  ```
198
211
 
199
212
  Options:
200
- - `--mode <prod|test>`: Specify DCL mode - production (default) or test
213
+ - `--mode <auto|prod|test|both>`: DCL instances to query. `auto` (default) follows the `config ota-test-images` setting: production only, or production plus test when test images are enabled
201
214
  - `--force`: Force re-download even if the update is already cached locally
202
215
  - `--local`: Consider locally cached updates when checking for available updates (before downloading)
203
216
 
@@ -213,7 +226,7 @@ nodes ota apply 5000 --force
213
226
  ```
214
227
 
215
228
  Options:
216
- - `--mode <prod|test>`: Specify DCL mode - production (default) or test
229
+ - `--mode <auto|prod|test|both>`: DCL instances to query. `auto` (default) follows the `config ota-test-images` setting: production only, or production plus test when test images are enabled
217
230
  - `--force`: Force download even if update is already stored locally
218
231
  - `--local`: Apply update from locally stored files instead of downloading from DCL
219
232
 
@@ -238,29 +251,27 @@ Use `ota list` to list all OTA images currently stored locally with optional fil
238
251
 
239
252
  ```
240
253
  ota list
241
- ota list --vendor 0xfff1
242
- ota list --vendor 0xfff1 --product 0x8000
254
+ ota list --vid 0xfff1
255
+ ota list --vid 0xfff1 --pid 0x8000
243
256
  ota list --mode test
244
257
  ```
245
258
 
246
259
  Options:
247
- - `--vendor <vid>`: Filter by vendor ID (hex format like 0xFFF1 or decimal)
248
- - `--product <pid>`: Filter by product ID (hex format like 0x8000 or decimal) - requires --vendor
249
- - `--mode <prod|test>`: Filter by DCL mode (production or test)
260
+ - `--vid <vendor-id>`: Filter by vendor ID (hex, e.g. `0xfff1` or `fff1`). Alias: `--vendor-id`
261
+ - `--pid <product-id>`: Filter by product ID (hex, requires `--vid`). Alias: `--product-id`
262
+ - `--mode <prod|test|local>`: Filter by storage mode - downloaded from the production or test DCL, or added locally
250
263
 
251
264
  #### Add OTA image to storage
252
265
 
253
- Use `ota add <file>` to import a local OTA image file into storage after validation.
266
+ Use `ota add <file>` to import an OTA image into storage after validation.
254
267
 
255
268
  ```
256
269
  ota add /path/to/firmware.bin
257
- ota add /path/to/test-firmware.bin --mode test
270
+ ota add file:///path/to/firmware.bin
271
+ ota add https://example.org/firmware.bin
258
272
  ```
259
273
 
260
- Options:
261
- - `--mode <prod|test>`: Mark the OTA image as production (default) or test mode
262
-
263
- The command validates the OTA file format and extracts metadata before storing it.
274
+ The command takes no options and accepts an absolute path, a `file://` URL or an `http(s)` URL. It validates the OTA file format, extracts the metadata and stores the image in `local` mode.
264
275
 
265
276
  #### Delete OTA images from storage
266
277
 
@@ -268,15 +279,31 @@ Use `ota delete` to remove OTA images from local storage.
268
279
 
269
280
  ```
270
281
  ota delete fff1-8000-prod
271
- ota delete --vendor 0xfff1
272
- ota delete --vendor 0xfff1 --product 0x8000 --mode test
282
+ ota delete --vid 0xfff1
283
+ ota delete --vid 0xfff1 --mode local
284
+ ota delete --vid 0xfff1 --pid 0x8000 --mode test
285
+ ```
286
+
287
+ Either a keyname or `--vid` must be given.
288
+
289
+ Options:
290
+ - `[keyname]`: Delete a specific OTA file by storage key. Cannot be combined with `--vid`
291
+ - `--vid <vendor-id>`: Delete all stored OTA files for a vendor (hex, e.g. `0xfff1` or `fff1`). Alias: `--vendor-id`
292
+ - `--pid <product-id>`: Restrict to one product (hex, requires `--vid`). Alias: `--product-id`
293
+ - `--mode <prod|test|local>`: Storage mode of the images to delete - production (default), test, or locally added. Requires `--vid`
294
+
295
+ #### Download an OTA image for a vendor/product/version
296
+
297
+ Use `ota download <vendor-id> <product-id> <software-version>` to query the DCL for an update newer than the given software version and download it into local storage. Unlike `nodes ota download` this needs no commissioned node.
298
+
299
+ ```
300
+ ota download 0xfff1 0x8000 1
301
+ ota download 0xfff1 0x8000 1 --mode test
273
302
  ```
274
303
 
275
304
  Options:
276
- - `<keyname>`: Delete specific OTA file by storage key
277
- - `--vendor <vid>`: Delete all OTA files for a vendor
278
- - `--product <pid>`: Delete specific product (requires --vendor)
279
- - `--mode <prod|test>`: Specify DCL mode - production (default) or test
305
+ - `--mode <auto|prod|test|both>`: DCL instances to query. `auto` (default) follows the `config ota-test-images` setting: production only, or production plus test when test images are enabled
306
+ - `--local`: Include locally stored update files in the search
280
307
 
281
308
  #### Copy OTA image to filesystem
282
309
 
@@ -284,12 +311,12 @@ Use `ota copy` to export a stored OTA image to the filesystem.
284
311
 
285
312
  ```
286
313
  ota copy fff1-8000-prod /path/to/output.bin
287
- ota copy 0xfff1 0x8000 prod /path/to/output.bin
314
+ ota copy 0xfff1 /path/to/output.bin --pid 0x8000 --mode prod
288
315
  ```
289
316
 
290
317
  Both forms are supported:
291
- - `ota copy <keyname> <target>`: Copy by storage key
292
- - `ota copy <vendor-id> <product-id> <mode> <target>`: Copy by vendor/product/mode
318
+ - `ota copy <keyname> <target>`: copy by storage key
319
+ - `ota copy <vendor-id> <target> --pid <product-id> --mode <prod|test|local>`: copy by vendor/product/mode. `--pid` and `--mode` must be given together
293
320
 
294
321
  If target is a directory, the source keyname is used as the filename.
295
322
 
@@ -143,6 +143,24 @@ class MatterNode {
143
143
  process.exit(1);
144
144
  }
145
145
  }
146
+ /** Whether OTA updates from the test DCL are offered in addition to production ones. */
147
+ get allowTestOtaImages() {
148
+ return this.#allowTestOtaImages;
149
+ }
150
+ /** Persists the OTA test image setting, or resets it to the default when no value is given. */
151
+ async setAllowTestOtaImages(value) {
152
+ if (value === void 0) {
153
+ await this.Store.delete("AllowTestOtaImages");
154
+ } else {
155
+ await this.Store.set("AllowTestOtaImages", value);
156
+ }
157
+ this.#allowTestOtaImages = value ?? false;
158
+ if (this.#started && this.commissioningController !== void 0) {
159
+ await this.commissioningController.otaProvider.setStateOf(SoftwareUpdateManager, {
160
+ allowTestOtaImages: this.#allowTestOtaImages
161
+ });
162
+ }
163
+ }
146
164
  get Store() {
147
165
  if (!this.#storageContext) {
148
166
  throw new Error("Storage uninitialized");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MatterNode.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -462,9 +462,8 @@ async function doOtaTestImages(theNode, args) {
462
462
  const { action, value } = args;
463
463
  switch (action) {
464
464
  case "get":
465
- const enabled = await theNode.Store.get("AllowTestOtaImages", false);
466
465
  console.log(
467
- `OTA test images: ${enabled ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`
466
+ `OTA test images: ${theNode.allowTestOtaImages ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`
468
467
  );
469
468
  break;
470
469
  case "set":
@@ -473,16 +472,14 @@ async function doOtaTestImages(theNode, args) {
473
472
  return;
474
473
  }
475
474
  const newValue = value === "true";
476
- await theNode.Store.set("AllowTestOtaImages", newValue);
475
+ await theNode.setAllowTestOtaImages(newValue);
477
476
  console.log(
478
- `OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}. Please restart the shell for the changes to take effect.`
477
+ `OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`
479
478
  );
480
479
  break;
481
480
  case "delete":
482
- await theNode.Store.delete("AllowTestOtaImages");
483
- console.log(
484
- `OTA test images setting reset to default (disabled). Please restart the shell for the changes to take effect.`
485
- );
481
+ await theNode.setAllowTestOtaImages();
482
+ console.log(`OTA test images setting reset to default (disabled)`);
486
483
  break;
487
484
  }
488
485
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_config.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["yargs"]
6
6
  }
@@ -9,6 +9,7 @@ import { PeerAddress, PeerSet } from "@matter/protocol";
9
9
  import { FabricIndex, NodeId } from "@matter/types";
10
10
  import { NodeStateInformation } from "@project-chip/matter.js/device";
11
11
  import { createDiagnosticCallbacks } from "../MatterNode.js";
12
+ import { resolveDclMode, withDclModeOption } from "./ota-dcl-mode.js";
12
13
  function parseFallbackAddress(input) {
13
14
  const match = /^(udp|tcp):\/\/(.+)$/i.exec(input);
14
15
  if (!match) {
@@ -465,16 +466,13 @@ Peer Descriptor for node ${nodeIdStr}:`);
465
466
  "check <node-id>",
466
467
  "Check for OTA updates for a commissioned node",
467
468
  (yargs3) => {
468
- return yargs3.positional("node-id", {
469
- describe: "Node ID to check for updates",
470
- type: "string",
471
- demandOption: true
472
- }).option("mode", {
473
- describe: "DCL mode (prod or test)",
474
- type: "string",
475
- choices: ["prod", "test", "both"],
476
- default: "prod"
477
- }).option("local", {
469
+ return withDclModeOption(
470
+ yargs3.positional("node-id", {
471
+ describe: "Node ID to check for updates",
472
+ type: "string",
473
+ demandOption: true
474
+ })
475
+ ).option("local", {
478
476
  describe: "include local update files",
479
477
  type: "boolean",
480
478
  default: false
@@ -482,7 +480,7 @@ Peer Descriptor for node ${nodeIdStr}:`);
482
480
  },
483
481
  async (argv) => {
484
482
  const { nodeId: nodeIdStr, mode, local } = argv;
485
- const isProduction = mode === "prod" ? true : mode === "test" ? false : void 0;
483
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
486
484
  await theNode.start();
487
485
  if (theNode.commissioningController === void 0) {
488
486
  throw new Error("CommissioningController not initialized");
@@ -508,7 +506,7 @@ Peer Descriptor for node ${nodeIdStr}:`);
508
506
  console.log(
509
507
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`
510
508
  );
511
- console.log(` DCL Mode: ${mode}
509
+ console.log(` DCL Mode: ${dclMode}
512
510
  `);
513
511
  const updateInfo = await (await theNode.otaService()).checkForUpdate({
514
512
  vendorId: basicInfo.vendorId,
@@ -532,7 +530,7 @@ Peer Descriptor for node ${nodeIdStr}:`);
532
530
  }
533
531
  console.log(
534
532
  `
535
- Run "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to download this update.`
533
+ Run "nodes ota download ${nodeIdStr}${mode === "auto" ? "" : ` --mode ${mode}`}" to download this update.`
536
534
  );
537
535
  } else {
538
536
  console.log("\u2713 No updates available. Device is up to date.");
@@ -542,16 +540,13 @@ Run "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to
542
540
  "download <node-id>",
543
541
  "Download OTA update for a commissioned node",
544
542
  (yargs3) => {
545
- return yargs3.positional("node-id", {
546
- describe: "Node ID to download update for",
547
- type: "string",
548
- demandOption: true
549
- }).option("mode", {
550
- describe: "DCL mode (prod or test)",
551
- type: "string",
552
- choices: ["prod", "test", "both"],
553
- default: "prod"
554
- }).option("force", {
543
+ return withDclModeOption(
544
+ yargs3.positional("node-id", {
545
+ describe: "Node ID to download update for",
546
+ type: "string",
547
+ demandOption: true
548
+ })
549
+ ).option("force", {
555
550
  describe: "Force download even if update is already stored locally",
556
551
  type: "boolean",
557
552
  default: false
@@ -563,7 +558,7 @@ Run "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to
563
558
  },
564
559
  async (argv) => {
565
560
  const { nodeId: nodeIdStr, mode, force, local } = argv;
566
- const isProduction = mode === "prod" ? true : mode === "test" ? false : void 0;
561
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
567
562
  const forceDownload = force === true;
568
563
  await theNode.start();
569
564
  if (theNode.commissioningController === void 0) {
@@ -590,7 +585,7 @@ Run "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to
590
585
  console.log(
591
586
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`
592
587
  );
593
- console.log(` DCL Mode: ${mode}
588
+ console.log(` DCL Mode: ${dclMode}
594
589
  `);
595
590
  const updateInfo = await (await theNode.otaService()).checkForUpdate({
596
591
  vendorId: basicInfo.vendorId,
@@ -625,16 +620,13 @@ You can now apply this update to the device using your device's OTA mechanism.`
625
620
  "apply <node-id>",
626
621
  "Apply OTA update for a commissioned node",
627
622
  (yargs3) => {
628
- return yargs3.positional("node-id", {
629
- describe: "Node ID to download update for",
630
- type: "string",
631
- demandOption: true
632
- }).option("mode", {
633
- describe: "DCL mode (prod or test)",
634
- type: "string",
635
- choices: ["prod", "test", "both"],
636
- default: "prod"
637
- }).option("force", {
623
+ return withDclModeOption(
624
+ yargs3.positional("node-id", {
625
+ describe: "Node ID to download update for",
626
+ type: "string",
627
+ demandOption: true
628
+ })
629
+ ).option("force", {
638
630
  describe: "Force download even if update is already stored locally",
639
631
  type: "boolean",
640
632
  default: false
@@ -646,7 +638,7 @@ You can now apply this update to the device using your device's OTA mechanism.`
646
638
  },
647
639
  async (argv) => {
648
640
  const { nodeId: nodeIdStr, mode, force, local } = argv;
649
- const isProduction = mode === "prod" ? true : mode === "test" ? false : void 0;
641
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
650
642
  const forceDownload = force === true;
651
643
  await theNode.start();
652
644
  if (theNode.commissioningController === void 0) {
@@ -673,7 +665,7 @@ You can now apply this update to the device using your device's OTA mechanism.`
673
665
  console.log(
674
666
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`
675
667
  );
676
- console.log(` DCL Mode: ${mode}
668
+ console.log(` DCL Mode: ${dclMode}
677
669
  `);
678
670
  const localUpdates = await (await theNode.otaService()).find({
679
671
  vendorId: basicInfo.vendorId,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_nodes.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,aAAa,YAAY,YAAY,qBAAqB;AAC/E,SAAqB,qBAAqB,eAAe,6BAA6B;AACtF,SAAS,aAAa,eAAe;AACrC,SAAS,aAAa,cAAwB;AAC9C,SAAS,4BAA4B;AAErC,SAAS,iCAA6C;AAGtD,SAAS,qBAAqB,OAA8B;AACxD,QAAM,QAAQ,wBAAwB,KAAK,KAAK;AAChD,MAAI,CAAC,OAAO;AACR,UAAM,IAAI,MAAM,oBAAoB,KAAK,wDAAwD;AAAA,EACrG;AACA,QAAM,OAAO,MAAM,CAAC,EAAE,YAAY,MAAM,QAAQ,QAAQ;AACxD,QAAM,OAAO,MAAM,CAAC;AAEpB,MAAI;AACJ,MAAI;AACJ,MAAI,KAAK,WAAW,GAAG,GAAG;AACtB,UAAM,MAAM,KAAK,QAAQ,GAAG;AAC5B,QAAI,QAAQ,MAAM,KAAK,MAAM,CAAC,MAAM,KAAK;AACrC,YAAM,IAAI,MAAM,yBAAyB,KAAK,eAAe,IAAI,oBAAoB;AAAA,IACzF;AACA,SAAK,KAAK,MAAM,GAAG,GAAG;AACtB,cAAU,KAAK,MAAM,MAAM,CAAC;AAAA,EAChC,OAAO;AACH,UAAM,MAAM,KAAK,YAAY,GAAG;AAChC,QAAI,QAAQ,IAAI;AACZ,YAAM,IAAI,MAAM,oBAAoB,KAAK,eAAe,IAAI,kBAAkB;AAAA,IAClF;AACA,SAAK,KAAK,MAAM,GAAG,GAAG;AACtB,cAAU,KAAK,MAAM,MAAM,CAAC;AAAA,EAChC;AAEA,QAAM,OAAO,OAAO,OAAO;AAC3B,MAAI,CAAC,GAAG,UAAU,CAAC,OAAO,UAAU,IAAI,KAAK,OAAO,KAAK,OAAO,OAAO;AACnE,UAAM,IAAI,MAAM,yBAAyB,KAAK,eAAe,IAAI,oCAAoC;AAAA,EACzG;AAEA,SAAO,EAAE,IAAI,MAAM,KAAK;AAC5B;AAEe,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS,CAAC,SAAS,MAAM;AAAA,IACzB,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MACK;AAAA,MACG,CAAC,KAAK,eAAe;AAAA,MACrB;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,UAAU;AAAA,UAC9B,UAAU;AAAA,UACV,SAAS,CAAC,gBAAgB,WAAW;AAAA,UACrC,SAAS;AAAA,UACT,MAAM;AAAA,QACV,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,OAAO,IAAI;AACnB,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AACA,gBAAQ,QAAQ;AAAA,UACZ,KAAK,gBAAgB;AACjB,kBAAM,UAAU,QAAQ,wBAAwB,4BAA4B;AAC5E,oBACK,IAAI,aAAW;AAAA,cACZ,GAAG;AAAA,cACH,QAAQ,OAAO,OAAO,SAAS;AAAA,YACnC,EAAE,EACD,QAAQ,YAAU;AACf,sBAAQ,IAAI,MAAM;AAAA,YACtB,CAAC;AACL;AAAA,UACJ;AAAA,UACA,KAAK,aAAa;AACd,kBAAM,UAAU,QAAQ,wBACnB,qBAAqB,EACrB,OAAO,YAAU,CAAC,CAAC,QAAQ,yBAAyB,cAAc,MAAM,CAAC;AAC9E,oBAAQ,IAAI,QAAQ,IAAI,YAAU,OAAO,SAAS,CAAC,CAAC;AACpD;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,WAAW;AAAA,UAC/B,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,OAAO,IAAI;AACnB,cAAM,QAAQ,MAAM,QAAQ,mBAAmB,MAAM,GAAG,CAAC;AAEzD,gBAAQ,IAAI,8BAA8B,KAAK,OAAO,SAAS,CAAC;AAChE,aAAK,aAAa;AAAA,MACtB;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,WAAW;AAAA,UAC/B,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AAEA,cAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,cAAM,cAAc,QAAQ,wBAAwB,OAAO,UAAU,MAAM;AAC3E,cAAM,UAAU,QAAQ,KAAK,IAAI,IAAI,OAAO;AAC5C,cAAM,OAAO,QAAQ,IAAI,WAAW;AAEpC,YAAI,CAAC,MAAM;AACP,kBAAQ,IAAI,QAAQ,SAAS,YAAY;AACzC;AAAA,QACJ;AAEA,cAAM,OAAO,KAAK;AAClB,gBAAQ,IAAI;AAAA,2BAA8B,SAAS,GAAG;AACtD,gBAAQ,IAAI,2BAA2B,KAAK,OAAO,EAAE;AACrD,gBAAQ;AAAA,UACJ,2BAA2B,KAAK,qBAAqB,cAAc,OAAO,KAAK,kBAAkB,IAAI,WAAW;AAAA,QACpH;AACA,gBAAQ;AAAA,UACJ,2BAA2B,KAAK,wBAAwB,YAAY,MAAM,QAAQ,eAAe;AAAA,QACrG;AAEA,YAAI,KAAK,eAAe;AACpB,gBAAM,KAAK,KAAK;AAChB,kBAAQ,IAAI,mBAAmB;AAC/B,cAAI,GAAG,GAAI,SAAQ,IAAI,qBAAqB,GAAG,EAAE,EAAE;AACnD,cAAI,GAAG,GAAI,SAAQ,IAAI,qBAAqB,GAAG,EAAE,EAAE;AACnD,cAAI,GAAG,OAAO,OAAW,SAAQ,IAAI,qBAAqB,GAAG,EAAE,EAAE;AACjE,cAAI,GAAG,MAAM,QAAW;AACpB,oBAAQ,IAAI,4BAA4B,GAAG,EAAE,SAAS,YAAY,GAAG,EAAE,SAAS,EAAE;AAAA,UACtF,OAAO;AACH,oBAAQ,IAAI,kCAAkC;AAAA,UAClD;AACA,cAAI,GAAG,IAAK,SAAQ,IAAI,wBAAwB,GAAG,GAAG,IAAI;AAC1D,cAAI,GAAG,IAAK,SAAQ,IAAI,wBAAwB,GAAG,GAAG,IAAI;AAAA,QAC9D;AAEA,YAAI,KAAK,mBAAmB;AACxB,gBAAM,KAAK,KAAK;AAChB,kBAAQ,IAAI,uBAAuB;AACnC,kBAAQ,IAAI,6BAA6B,WAAW,KAAK,GAAG,mBAAmB,CAAC,EAAE;AAClF,cAAI,GAAG,sBAAsB,QAAW;AACpC,oBAAQ,IAAI,6BAA6B,GAAG,iBAAiB,EAAE;AAAA,UACnE;AAAA,QACJ;AAEA,cAAM,WAAW,CAAC,GAAG,KAAK,QAAQ;AAClC,YAAI,SAAS,QAAQ;AACjB,kBAAQ,IAAI,sBAAsB,SAAS,MAAM,EAAE;AACnD,qBAAW,WAAW,UAAU;AAC5B,oBAAQ,IAAI,OAAO,QAAQ,GAAG,KAAK,QAAQ,QAAQ,iBAAiB,IAAI,GAAG;AAAA,UAC/E;AAAA,QACJ,OAAO;AACH,kBAAQ,IAAI,yBAAyB;AAAA,QACzC;AACA,gBAAQ,IAAI;AAAA,MAChB;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF,WAAW,WAAW;AAAA,UACnB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC,EACA,WAAW,6BAA6B;AAAA,UACrC,UACI;AAAA,UACJ,MAAM;AAAA,QACV,CAAC,EACA,WAAW,6BAA6B;AAAA,UACrC,UACI;AAAA,UACJ,MAAM;AAAA,QACV,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,WAAW,yBAAyB,wBAAwB,IAAI;AAChF,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AACA,YAAI,UAAU,QAAQ,wBAAwB,qBAAqB;AACnE,YAAI,cAAc,OAAO;AACrB,gBAAM,YAAY,OAAO,OAAO,SAAS,CAAC;AAC1C,oBAAU,QAAQ,OAAO,YAAU,WAAW,SAAS;AACvD,cAAI,CAAC,QAAQ,QAAQ;AACjB,kBAAM,IAAI,MAAM,QAAQ,SAAS,mBAAmB;AAAA,UACxD;AAAA,QACJ;AAEA,cAAM,gBAAgB,4BAA4B;AAElD,mBAAW,mBAAmB,SAAS;AACnC,gBAAM,OAAO,MAAM,QAAQ,wBAAwB,QAAQ,eAAe;AAC1E,eAAK,QAAQ;AAAA,YACT;AAAA,YACA,kCAAkC,gBAAgB,0BAA0B;AAAA,YAC5E,oCAAoC,gBAAgB,0BAA0B;AAAA,YAC9E,GAAG,0BAA0B;AAAA,UACjC,CAAC;AAAA,QACL;AAAA,MACJ;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,WAAW;AAAA,UAC/B,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAQ,IAAI,oDAAoD;AAChE;AAAA,QACJ;AAEA,YAAI,UAAU,QAAQ,wBAAwB,qBAAqB;AACnE,YAAI,cAAc,OAAO;AACrB,gBAAM,YAAY,OAAO,OAAO,SAAS,CAAC;AAC1C,oBAAU,QAAQ,OAAO,YAAU,WAAW,SAAS;AACvD,cAAI,CAAC,QAAQ,QAAQ;AACjB,kBAAM,IAAI,MAAM,QAAQ,SAAS,mBAAmB;AAAA,UACxD;AAAA,QACJ;AAEA,mBAAW,mBAAmB,SAAS;AACnC,gBAAM,OAAO,QAAQ,wBAAwB,cAAc,eAAe;AAC1E,cAAI,SAAS,QAAW;AACpB,oBAAQ,IAAI,QAAQ,eAAe,gBAAgB;AACnD;AAAA,UACJ;AACA,gBAAM,KAAK,WAAW;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OAAM,WAAW,YAAY;AAAA,UAChC,UACI;AAAA,UACJ,SAAS;AAAA,UACT,MAAM;AAAA,QACV,CAAC;AAAA,MACL;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,SAAS,UAAU,IAAI;AAC/B,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AACA,YAAI,UAAU,QAAQ,wBAAwB,qBAAqB;AACnE,YAAI,cAAc,OAAO;AACrB,gBAAM,aAAa,UAAU,MAAM,GAAG,EAAE,IAAI,YAAU,OAAO,OAAO,MAAM,CAAC,CAAC;AAC5E,oBAAU,QAAQ,OAAO,YAAU,WAAW,SAAS,MAAM,CAAC;AAC9D,cAAI,CAAC,QAAQ,QAAQ;AACjB,kBAAM,IAAI,MAAM,QAAQ,SAAS,mBAAmB;AAAA,UACxD;AAAA,QACJ;AAEA,cAAM,cAAc,QAAQ,wBAAwB,4BAA4B;AAEhF,mBAAW,mBAAmB,SAAS;AACnC,gBAAM,OAAO,QAAQ,wBAAwB,cAAc,eAAe;AAC1E,cAAI,SAAS,QAAW;AACpB,kBAAM,UAAU,YAAY,KAAK,QAAM,GAAG,WAAW,eAAe;AACpE,oBAAQ;AAAA,cACJ,QAAQ,eAAe,oBAAoB,SAAS,YAAY,qBAAqB,SAAY,KAAK,QAAQ,WAAW,iBAAiB,UAAU,IAAI,QAAQ,WAAW,iBAAiB,WAAW,MAAM,EAAE;AAAA,YACnN;AAAA,UACJ,OAAO;AACH,kBAAM,YAAY,KAAK;AACvB,oBAAQ;AAAA,cACJ,QAAQ,eAAe,kBAAkB,WAAW,WAAW,qBAAqB,KAAK,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,cAAc,SAAY,KAAK,UAAU,UAAU,IAAI,UAAU,WAAW,MAAM,EAAE;AAAA,YAC3M;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF,WAAW,WAAW;AAAA,UACnB,UAAU;AAAA,UACV,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC,EACA,WAAW,cAAc;AAAA,UACtB,UACI;AAAA,UACJ,SAAS,CAAC,MAAM,OAAO,OAAO;AAAA,UAC9B,cAAc;AAAA,UACd,MAAM;AAAA,QACV,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,WAAW,WAAW,IAAI;AAC1C,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AAEA,cAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,cAAM,OAAO,MAAM,QAAQ,wBAAwB,QAAQ,MAAM;AAEjE,cAAM,OAAO,eAAe,OAAO,QAAQ,eAAe,QAAQ,QAAQ;AAC1E,cAAM,KAAK,KAAK,WAAW,eAAe,EAAE,qBAAqB,KAAK,CAAC;AAGvE,cAAM,OAAO,QAAQ,KAAK,IACrB,IAAI,OAAO,EACX,IAAI,QAAQ,wBAAwB,OAAO,UAAU,MAAM,CAAC;AACjE,YAAI,MAAM;AACN,eAAK,sBAAsB,SAAS,QAAQ,YAAY,MAAM;AAAA,QAClE;AAEA,gBAAQ;AAAA,UACJ,iCAAiC,SAAS,WAAW,MAAM,YAAY,KAAK,sCAAsC;AAAA,QACtH;AAAA,MACJ;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WACIA,OACK;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,WAAW;AAAA,YAC/B,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,UAAU,IAAI;AAC9B,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,gBAAM,OAAO,MAAM,QAAQ,wBAAwB,QAAQ,MAAM;AACjE,gBAAM,YAAY,KAAK,KAAK,MAAM,cAAc;AAEhD,cAAI,CAAC,WAAW,QAAQ;AACpB,oBAAQ,IAAI,QAAQ,SAAS,mCAAmC;AAChE;AAAA,UACJ;AAEA,kBAAQ,IAAI,+BAA+B,SAAS,GAAG;AACvD,qBAAW,WAAW,WAAW;AAC7B,oBAAQ,IAAI,KAAK,cAAc,OAAO,OAAO,CAAC,EAAE;AAAA,UACpD;AAAA,QACJ;AAAA,MACJ,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,WAAW,SAAS,WAAW,IAAI;AACnD,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,gBAAM,OAAO,MAAM,QAAQ,wBAAwB,QAAQ,MAAM;AAEjE,cAAI,eAAe,QAAQ;AACvB,kBAAM,KAAK,KAAK,WAAW,qBAAqB,EAAE,WAAW,OAAU,CAAC;AACxE,oBAAQ,IAAI,6BAA6B,SAAS,UAAU;AAC5D;AAAA,UACJ;AAEA,gBAAM,UAAU,qBAAqB,UAAU;AAC/C,gBAAM,KAAK,KAAK,WAAW,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;AACxE,kBAAQ;AAAA,YACJ,6BAA6B,SAAS,WAAW,cAAc,OAAO,OAAO,CAAC;AAAA,UAClF;AAAA,QACJ;AAAA,MACJ,EACC,cAAc,GAAG,+BAA+B;AAAA,MACzD,OAAO,SAAc;AACjB,aAAK,YAAY;AAAA,MACrB;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF,WAAW,WAAW;AAAA,UACnB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,UACN,cAAc;AAAA,QAClB,CAAC,EACA,WAAW,6BAA6B;AAAA,UACrC,UACI;AAAA,UACJ,MAAM;AAAA,QACV,CAAC,EACA,WAAW,6BAA6B;AAAA,UACrC,UACI;AAAA,UACJ,MAAM;AAAA,QACV,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,WAAW,yBAAyB,wBAAwB,IAAI;AAChF,cAAM,QAAQ,MAAM;AACpB,YAAI,QAAQ,4BAA4B,QAAW;AAC/C,gBAAM,IAAI,MAAM,yCAAyC;AAAA,QAC7D;AACA,YAAI,UAAU,QAAQ,wBAAwB,qBAAqB;AAEnE,cAAM,YAAY,OAAO,OAAO,SAAS,CAAC;AAC1C,kBAAU,QAAQ,OAAO,YAAU,WAAW,SAAS;AACvD,YAAI,QAAQ,QAAQ;AAChB,gBAAM,IAAI,MAAM,QAAQ,SAAS,gBAAgB;AAAA,QACrD;AAEA,cAAM,QAAQ,wBAAwB,KAAK,MAAM;AAAA,UAC7C,QAAQ,wBAAwB,OAAO,UAAU,SAAS;AAAA,QAC9D;AAEA,cAAM,gBAAgB,4BAA4B;AAElD,cAAM,OAAO,MAAM,QAAQ,wBAAwB,QAAQ,SAAS;AACpE,aAAK,QAAQ;AAAA,UACT;AAAA,UACA,kCAAkC,gBAAgB,0BAA0B;AAAA,UAC5E,oCAAoC,gBAAgB,0BAA0B;AAAA,UAC9E,GAAG,0BAA0B;AAAA,QACjC,CAAC;AAAA,MACL;AAAA,IACJ,EACC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WACIA,OACK;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,WAAW,MAAM,IAAI;AAErC,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,cAAI,cAAsC;AAC1C,cAAI,cAAc,QAAW;AACzB,kBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,2BAAe,MAAM,QAAQ,wBAAwB,QAAQ,MAAM,IAAI;AAAA,UAC3E;AAEA,gBAAM,mBAAmB,MAAM,QAAQ,wBAAwB,YAAY;AAAA,YACvE,WACI,MACK,IAAI,qBAAqB,EACzB,aAAa,EAAE,aAAa,sBAAsB,MAAM,CAAC;AAAA,UACtE;AAEA,cAAI,iBAAiB,QAAQ;AACzB,oBAAQ,IAAI,6BAA6B,iBAAiB,MAAM,SAAS;AACzE,uBAAW,EAAE,aAAa,KAAK,KAAK,kBAAkB;AAClD,sBAAQ;AAAA,gBACJ,YAAY,SAAS;AAAA,gBACrB,kBAAkB,KAAK,eAAe,KAAK,KAAK,qBAAqB;AAAA,cACzE;AAAA,YACJ;AAAA,UACJ,OAAO;AACH,oBAAQ,IAAI,2BAA2B;AAAA,UAC3C;AAAA,QACJ;AAAA,MACJ,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,OAAO,QAAQ;AAAA,YACZ,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS,CAAC,QAAQ,QAAQ,MAAM;AAAA,YAChC,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,WAAW,MAAM,MAAM,IAAI;AAC3C,gBAAM,eAAe,SAAS,SAAS,OAAO,SAAS,SAAS,QAAQ;AAExE,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,gBAAM,cAAc,QAAQ,wBACvB,4BAA4B,EAC5B,KAAK,QAAM,GAAG,WAAW,MAAM;AACpC,gBAAM,YAAY,aAAa,YAAY;AAC3C,cAAI,CAAC,WAAW;AACZ,kBAAM,IAAI,MAAM,QAAQ,SAAS,qCAAqC;AAAA,UAC1E;AACA,cACI,UAAU,aAAa,UACvB,UAAU,cAAc,UACxB,UAAU,oBAAoB,QAChC;AACE,kBAAM,IAAI;AAAA,cACN,QAAQ,SAAS;AAAA,YACrB;AAAA,UACJ;AAEA,kBAAQ,IAAI,qCAAqC,SAAS,KAAK;AAC/D,kBAAQ;AAAA,YACJ,gBAAgB,WAAW,IAAI,UAAU,UAAsB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,iBAAiB,WAAW,IAAI,UAAU,WAAqB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,+BAA+B,UAAU,eAAe,KAAK,UAAU,qBAAqB;AAAA,UAChG;AACA,kBAAQ,IAAI,eAAe,IAAI;AAAA,CAAI;AAEnC,gBAAM,aAAa,OACf,MAAM,QAAQ,WAAW,GAC3B,eAAe;AAAA,YACb,UAAU,UAAU;AAAA,YACpB,WAAW,UAAU;AAAA,YACrB,wBAAwB,UAAU;AAAA,YAClC,sBAAsB;AAAA,YACtB;AAAA,UACJ,CAAC;AAED,cAAI,YAAY;AACZ,oBAAQ,IAAI,0BAAqB;AACjC,oBAAQ;AAAA,cACJ,kBAAkB,WAAW,eAAe,KAAK,WAAW,qBAAqB;AAAA,YACrF;AACA,oBAAQ,IAAI,cAAc,WAAW,MAAM,EAAE;AAC7C,gBAAI,WAAW,aAAa;AACxB,oBAAM,SAAS,OAAO,WAAW,WAAW,IAAI;AAChD,sBAAQ,IAAI,gBAAgB,OAAO,QAAQ,CAAC,CAAC,KAAK;AAAA,YACtD;AACA,gBAAI,WAAW,iBAAiB;AAC5B,sBAAQ,IAAI,oBAAoB,WAAW,eAAe,EAAE;AAAA,YAChE;AACA,oBAAQ;AAAA,cACJ;AAAA,0BAA6B,SAAS,GAAG,SAAS,SAAS,iBAAiB,EAAE;AAAA,YAClF;AAAA,UACJ,OAAO;AACH,oBAAQ,IAAI,oDAA+C;AAAA,UAC/D;AAAA,QACJ;AAAA,MACJ,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,OAAO,QAAQ;AAAA,YACZ,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS,CAAC,QAAQ,QAAQ,MAAM;AAAA,YAChC,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,WAAW,MAAM,OAAO,MAAM,IAAI;AAClD,gBAAM,eAAe,SAAS,SAAS,OAAO,SAAS,SAAS,QAAQ;AACxE,gBAAM,gBAAgB,UAAU;AAEhC,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,gBAAM,cAAc,QAAQ,wBACvB,4BAA4B,EAC5B,KAAK,QAAM,GAAG,WAAW,MAAM;AACpC,gBAAM,YAAY,aAAa,YAAY;AAC3C,cAAI,CAAC,WAAW;AACZ,kBAAM,IAAI,MAAM,QAAQ,SAAS,qCAAqC;AAAA,UAC1E;AACA,cACI,UAAU,aAAa,UACvB,UAAU,cAAc,UACxB,UAAU,oBAAoB,QAChC;AACE,kBAAM,IAAI;AAAA,cACN,QAAQ,SAAS;AAAA,YACrB;AAAA,UACJ;AAEA,kBAAQ,IAAI,qCAAqC,SAAS,KAAK;AAC/D,kBAAQ;AAAA,YACJ,gBAAgB,WAAW,IAAI,UAAU,UAAsB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,iBAAiB,WAAW,IAAI,UAAU,WAAqB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,+BAA+B,UAAU,eAAe,KAAK,UAAU,qBAAqB;AAAA,UAChG;AACA,kBAAQ,IAAI,eAAe,IAAI;AAAA,CAAI;AAEnC,gBAAM,aAAa,OACf,MAAM,QAAQ,WAAW,GAC3B,eAAe;AAAA,YACb,UAAU,UAAU;AAAA,YACpB,WAAW,UAAU;AAAA,YACrB,wBAAwB,UAAU;AAAA,YAClC,sBAAsB;AAAA,YACtB;AAAA,UACJ,CAAC;AAED,cAAI,CAAC,YAAY;AACb,oBAAQ,IAAI,6CAA6C;AACzD;AAAA,UACJ;AAEA,kBAAQ,IAAI,eAAe;AAC3B,kBAAQ;AAAA,YACJ,kBAAkB,WAAW,eAAe,KAAK,WAAW,qBAAqB;AAAA,UACrF;AACA,kBAAQ,IAAI,cAAc,WAAW,MAAM,EAAE;AAC7C,kBAAQ,IAAI,aAAa,WAAW,MAAM,EAAE;AAC5C,cAAI,WAAW,aAAa;AACxB,kBAAM,SAAS,OAAO,WAAW,WAAW,IAAI;AAChD,oBAAQ,IAAI,gBAAgB,OAAO,QAAQ,CAAC,CAAC,KAAK;AAAA,UACtD;AAEA,kBAAQ,IAAI,yBAAyB;AACrC,gBAAM,KAAK,OACP,MAAM,QAAQ,WAAW,GAC3B,eAAe,YAAY,aAAa;AAE1C,kBAAQ,IAAI,qDAAgD,GAAG,IAAI,EAAE;AACrE,kBAAQ;AAAA,YACJ;AAAA;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,OAAO,QAAQ;AAAA,YACZ,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS,CAAC,QAAQ,QAAQ,MAAM;AAAA,YAChC,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC,EACA,OAAO,SAAS;AAAA,YACb,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM,EAAE,QAAQ,WAAW,MAAM,OAAO,MAAM,IAAI;AAClD,gBAAM,eAAe,SAAS,SAAS,OAAO,SAAS,SAAS,QAAQ;AACxE,gBAAM,gBAAgB,UAAU;AAEhC,gBAAM,QAAQ,MAAM;AAEpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,SAAS,OAAO,OAAO,SAAS,CAAC;AACvC,gBAAM,cAAc,QAAQ,wBACvB,4BAA4B,EAC5B,KAAK,QAAM,GAAG,WAAW,MAAM;AACpC,gBAAM,YAAY,aAAa,YAAY;AAC3C,cAAI,CAAC,WAAW;AACZ,kBAAM,IAAI,MAAM,QAAQ,SAAS,qCAAqC;AAAA,UAC1E;AACA,cACI,UAAU,aAAa,UACvB,UAAU,cAAc,UACxB,UAAU,oBAAoB,QAChC;AACE,kBAAM,IAAI;AAAA,cACN,QAAQ,SAAS;AAAA,YACrB;AAAA,UACJ;AAEA,kBAAQ,IAAI,qCAAqC,SAAS,KAAK;AAC/D,kBAAQ;AAAA,YACJ,gBAAgB,WAAW,IAAI,UAAU,UAAsB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,iBAAiB,WAAW,IAAI,UAAU,WAAqB,CAAC,EAAE,YAAY,CAAC;AAAA,UACnF;AACA,kBAAQ;AAAA,YACJ,+BAA+B,UAAU,eAAe,KAAK,UAAU,qBAAqB;AAAA,UAChG;AACA,kBAAQ,IAAI,eAAe,IAAI;AAAA,CAAI;AAEnC,gBAAM,eAAe,OACjB,MAAM,QAAQ,WAAW,GAC3B,KAAK;AAAA,YACH,UAAU,UAAU;AAAA,YACpB,WAAW,UAAU;AAAA,YACrB,gBAAgB,UAAU;AAAA,UAC9B,CAAC;AAED,cAAI,SAAS,CAAC,aAAa,QAAQ;AAC/B,oBAAQ,IAAI,mDAAmD;AAC/D;AAAA,UACJ;AAEA,gBAAM,aAAa,OACf,MAAM,QAAQ,WAAW,GAC3B,eAAe;AAAA,YACb,UAAU,UAAU;AAAA,YACpB,WAAW,UAAU;AAAA,YACrB,wBAAwB,UAAU;AAAA,YAClC,sBAAsB;AAAA,YACtB;AAAA,UACJ,CAAC;AAED,cAAI;AACJ,cAAI,CAAC,cAAc,CAAC,OAAO;AACvB,oBAAQ,IAAI,oDAAoD;AAChE;AAAA,UACJ,WAAW,YAAY;AACnB,oBAAQ,IAAI,eAAe;AAC3B,oBAAQ;AAAA,cACJ,kBAAkB,WAAW,eAAe,KAAK,WAAW,qBAAqB;AAAA,YACrF;AACA,oBAAQ,IAAI,cAAc,WAAW,MAAM,EAAE;AAC7C,gBAAI,WAAW,aAAa;AACxB,oBAAM,SAAS,OAAO,WAAW,WAAW,IAAI;AAChD,sBAAQ,IAAI,gBAAgB,OAAO,QAAQ,CAAC,CAAC,KAAK;AAAA,YACtD;AAEA,oBAAQ,IAAI,yBAAyB;AACrC,kBAAM,KAAK,OACP,MAAM,QAAQ,WAAW,GAC3B,eAAe,YAAY,aAAa;AAE1C,4BAAgB,WAAW;AAE3B,oBAAQ;AAAA,cACJ,4BAAuB,aAAa,KAAK,WAAW,qBAAqB,yCAAyC,GAAG,IAAI;AAAA,YAC7H;AAAA,UACJ,OAAO;AACH,4BAAgB,aAAa,CAAC,EAAE;AAChC,oBAAQ;AAAA,cACJ,qBAAqB,aAAa,KAAK,aAAa,CAAC,EAAE,qBAAqB,6BAA6B,aAAa,CAAC,EAAE,QAAQ;AAAA,YACrI;AAAA,UACJ;AAEA,gBAAM,OAAO,QAAQ,wBAAwB,cAAc,MAAM;AACjE,cAAI,SAAS,QAAW;AACpB,kBAAM,IAAI,MAAM,QAAQ,SAAS,gBAAgB;AAAA,UACrD;AAEA,gBAAM,QAAQ,wBAAwB,YAAY,IAAI,WAAS;AAC3D,mBAAO,MACF,IAAI,qBAAqB,EACzB;AAAA,cACG,YAAY,EAAE,QAAQ,aAAa,YAAY,CAAC,EAAE,CAAC;AAAA,cACnD,UAAU;AAAA,cACV,UAAU;AAAA,cACV;AAAA,YACJ;AAAA,UACR,CAAC;AAAA,QACL;AAAA,MACJ,EACC,cAAc,GAAG,kCAAkC;AAAA,MAC5D,OAAO,SAAc;AACjB,aAAK,YAAY;AAAA,MACrB;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["yargs"]
6
6
  }
@@ -8,6 +8,7 @@ import { OtaImageReader } from "@matter/protocol";
8
8
  import { createReadStream, createWriteStream, statSync } from "node:fs";
9
9
  import { basename, dirname, extname, join } from "node:path";
10
10
  import { Readable } from "node:stream";
11
+ import { resolveDclMode, withDclModeOption } from "./ota-dcl-mode.js";
11
12
  function parseHexId(value, type) {
12
13
  const hexStr = value.replace(/^0x/i, "");
13
14
  const parsed = parseInt(hexStr, 16);
@@ -233,7 +234,7 @@ Payload extracted successfully!`);
233
234
  "Add an OTA image file to storage",
234
235
  (yargs2) => {
235
236
  return yargs2.positional("file", {
236
- describe: "Absolute path to the OTA image file",
237
+ describe: "Absolute path, file:// URL or http(s) URL of the OTA image",
237
238
  type: "string",
238
239
  demandOption: true
239
240
  });
@@ -242,16 +243,21 @@ Payload extracted successfully!`);
242
243
  const { file } = argv;
243
244
  let filePath = file;
244
245
  await theNode.start();
245
- if (filePath.startsWith("file://")) {
246
- filePath = filePath.slice(7);
247
- } else if (!filePath.startsWith("/")) {
248
- console.error("Error: File path must be absolute or start with file://");
249
- return;
246
+ const isRemote = /^https?:\/\//i.test(filePath);
247
+ if (!isRemote) {
248
+ if (filePath.startsWith("file://")) {
249
+ filePath = filePath.slice(7);
250
+ } else if (!filePath.startsWith("/")) {
251
+ console.error(
252
+ "Error: File path must be absolute, start with file:// or be an http(s) URL"
253
+ );
254
+ return;
255
+ }
250
256
  }
251
257
  console.log(`Reading OTA image from: ${filePath}`);
252
258
  let localFile = false;
253
259
  let updateInfo;
254
- if (filePath.toLowerCase().startsWith("https://")) {
260
+ if (isRemote) {
255
261
  updateInfo = await (await theNode.otaService()).createUpdateInfoFromFile(filePath);
256
262
  } else {
257
263
  const nodeStream = createReadStream(filePath);
@@ -419,24 +425,21 @@ OTA image added to storage successfully: ${fd.text}`);
419
425
  "download <vendor-id> <product-id> <software-version>",
420
426
  "Check DCL for OTA updates matching the given vendor/product/version and download them",
421
427
  (yargs2) => {
422
- return yargs2.positional("vendor-id", {
423
- describe: "Vendor ID (hex, e.g., 0xFFF1 or FFF1)",
424
- type: "string",
425
- demandOption: true
426
- }).positional("product-id", {
427
- describe: "Product ID (hex, e.g., 0x8000 or 8000)",
428
- type: "string",
429
- demandOption: true
430
- }).positional("software-version", {
431
- describe: "Current software version (decimal number)",
432
- type: "number",
433
- demandOption: true
434
- }).option("mode", {
435
- describe: "DCL mode (prod or test)",
436
- type: "string",
437
- choices: ["prod", "test", "both"],
438
- default: "prod"
439
- }).option("local", {
428
+ return withDclModeOption(
429
+ yargs2.positional("vendor-id", {
430
+ describe: "Vendor ID (hex, e.g., 0xFFF1 or FFF1)",
431
+ type: "string",
432
+ demandOption: true
433
+ }).positional("product-id", {
434
+ describe: "Product ID (hex, e.g., 0x8000 or 8000)",
435
+ type: "string",
436
+ demandOption: true
437
+ }).positional("software-version", {
438
+ describe: "Current software version (decimal number)",
439
+ type: "number",
440
+ demandOption: true
441
+ })
442
+ ).option("local", {
440
443
  describe: "Include local update files in search",
441
444
  type: "boolean",
442
445
  default: false
@@ -444,15 +447,15 @@ OTA image added to storage successfully: ${fd.text}`);
444
447
  },
445
448
  async (argv) => {
446
449
  const { vendorId: vendorIdStr, productId: productIdStr, softwareVersion, mode, local } = argv;
450
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
447
451
  await theNode.start();
448
452
  const vendorId = parseHexId(vendorIdStr, "vendor");
449
453
  const productId = parseHexId(productIdStr, "product");
450
- const isProduction = mode === "prod" ? true : mode === "test" ? false : void 0;
451
454
  console.log(`Checking DCL for OTA updates...`);
452
455
  console.log(` Vendor ID: ${Diagnostic.hex(vendorId, 4).toUpperCase()}`);
453
456
  console.log(` Product ID: ${Diagnostic.hex(productId, 4).toUpperCase()}`);
454
457
  console.log(` Current Software Version: ${softwareVersion}`);
455
- console.log(` DCL Mode: ${mode}
458
+ console.log(` DCL Mode: ${dclMode}
456
459
  `);
457
460
  const updateInfo = await (await theNode.otaService()).checkForUpdate({
458
461
  vendorId,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_ota.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["yargs"]
6
6
  }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const DclQueryModes = ["auto", "prod", "test", "both"];
7
+ function withDclModeOption(yargs) {
8
+ return yargs.option("mode", {
9
+ describe: 'DCL instances to query ("auto" follows the config ota-test-images setting)',
10
+ type: "string",
11
+ choices: DclQueryModes,
12
+ default: "auto"
13
+ });
14
+ }
15
+ function resolveDclMode(theNode, mode) {
16
+ const resolved = mode === "auto" ? theNode.allowTestOtaImages ? "both" : "prod" : mode;
17
+ return {
18
+ label: mode === "auto" ? `auto (${resolved})` : resolved,
19
+ isProduction: resolved === "prod" ? true : resolved === "test" ? false : void 0
20
+ };
21
+ }
22
+ export {
23
+ DclQueryModes,
24
+ resolveDclMode,
25
+ withDclModeOption
26
+ };
27
+ //# sourceMappingURL=ota-dcl-mode.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shell/ota-dcl-mode.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,gBAAgB,CAAC,QAAQ,QAAQ,QAAQ,MAAM;AAKrD,SAAS,kBAAqB,OAAgB;AACjD,SAAO,MAAM,OAAO,QAAQ;AAAA,IACxB,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACb,CAAC;AACL;AAGO,SAAS,eAAe,SAAqB,MAAoB;AACpE,QAAM,WAAW,SAAS,SAAU,QAAQ,qBAAqB,SAAS,SAAU;AACpF,SAAO;AAAA,IACH,OAAO,SAAS,SAAS,SAAS,QAAQ,MAAM;AAAA,IAChD,cAAc,aAAa,SAAS,OAAO,aAAa,SAAS,QAAQ;AAAA,EAC7E;AACJ;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs-shell",
3
- "version": "0.17.7",
3
+ "version": "0.17.8-alpha.0-20260801-92169d0aa",
4
4
  "description": "Shell app for Matter controller",
5
5
  "keywords": [
6
6
  "iot",
@@ -34,14 +34,14 @@
34
34
  "matter-shell": "dist/cjs/app.js"
35
35
  },
36
36
  "dependencies": {
37
- "@matter/general": "0.17.7",
38
- "@matter/model": "0.17.7",
39
- "@matter/node": "0.17.7",
40
- "@matter/nodejs": "0.17.7",
41
- "@matter/nodejs-ble": "0.17.7",
42
- "@matter/protocol": "0.17.7",
43
- "@matter/types": "0.17.7",
44
- "@project-chip/matter.js": "0.17.7",
37
+ "@matter/general": "0.17.8-alpha.0-20260801-92169d0aa",
38
+ "@matter/model": "0.17.8-alpha.0-20260801-92169d0aa",
39
+ "@matter/node": "0.17.8-alpha.0-20260801-92169d0aa",
40
+ "@matter/nodejs": "0.17.8-alpha.0-20260801-92169d0aa",
41
+ "@matter/nodejs-ble": "0.17.8-alpha.0-20260801-92169d0aa",
42
+ "@matter/protocol": "0.17.8-alpha.0-20260801-92169d0aa",
43
+ "@matter/types": "0.17.8-alpha.0-20260801-92169d0aa",
44
+ "@project-chip/matter.js": "0.17.8-alpha.0-20260801-92169d0aa",
45
45
  "ws": "^8.21.1",
46
46
  "yargs": "^18.1.0"
47
47
  },
package/src/MatterNode.ts CHANGED
@@ -184,6 +184,26 @@ export class MatterNode {
184
184
  }
185
185
  }
186
186
 
187
+ /** Whether OTA updates from the test DCL are offered in addition to production ones. */
188
+ get allowTestOtaImages() {
189
+ return this.#allowTestOtaImages;
190
+ }
191
+
192
+ /** Persists the OTA test image setting, or resets it to the default when no value is given. */
193
+ async setAllowTestOtaImages(value?: boolean) {
194
+ if (value === undefined) {
195
+ await this.Store.delete("AllowTestOtaImages");
196
+ } else {
197
+ await this.Store.set("AllowTestOtaImages", value);
198
+ }
199
+ this.#allowTestOtaImages = value ?? false;
200
+ if (this.#started && this.commissioningController !== undefined) {
201
+ await this.commissioningController.otaProvider.setStateOf(SoftwareUpdateManager, {
202
+ allowTestOtaImages: this.#allowTestOtaImages,
203
+ });
204
+ }
205
+ }
206
+
187
207
  get Store() {
188
208
  if (!this.#storageContext) {
189
209
  throw new Error("Storage uninitialized");
@@ -576,9 +576,8 @@ async function doOtaTestImages(
576
576
  const { action, value } = args;
577
577
  switch (action) {
578
578
  case "get":
579
- const enabled = await theNode.Store.get<boolean>("AllowTestOtaImages", false);
580
579
  console.log(
581
- `OTA test images: ${enabled ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`,
580
+ `OTA test images: ${theNode.allowTestOtaImages ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`,
582
581
  );
583
582
  break;
584
583
  case "set":
@@ -587,16 +586,14 @@ async function doOtaTestImages(
587
586
  return;
588
587
  }
589
588
  const newValue = value === "true";
590
- await theNode.Store.set("AllowTestOtaImages", newValue);
589
+ await theNode.setAllowTestOtaImages(newValue);
591
590
  console.log(
592
- `OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}. Please restart the shell for the changes to take effect.`,
591
+ `OTA test images: ${newValue ? "enabled (production + test DCL)" : "disabled (production DCL only)"}`,
593
592
  );
594
593
  break;
595
594
  case "delete":
596
- await theNode.Store.delete("AllowTestOtaImages");
597
- console.log(
598
- `OTA test images setting reset to default (disabled). Please restart the shell for the changes to take effect.`,
599
- );
595
+ await theNode.setAllowTestOtaImages();
596
+ console.log(`OTA test images setting reset to default (disabled)`);
600
597
  break;
601
598
  }
602
599
  }
@@ -11,6 +11,7 @@ import { FabricIndex, NodeId, VendorId } from "@matter/types";
11
11
  import { NodeStateInformation } from "@project-chip/matter.js/device";
12
12
  import type { Argv } from "yargs";
13
13
  import { createDiagnosticCallbacks, MatterNode } from "../MatterNode.js";
14
+ import { resolveDclMode, withDclModeOption } from "./ota-dcl-mode.js";
14
15
 
15
16
  /** Parse a `udp://host:port` / `tcp://host:port` URL (IPv6 host in brackets) into a {@link ServerAddress}. */
16
17
  function parseFallbackAddress(input: string): ServerAddress {
@@ -549,27 +550,21 @@ export default function commands(theNode: MatterNode) {
549
550
  "check <node-id>",
550
551
  "Check for OTA updates for a commissioned node",
551
552
  yargs => {
552
- return yargs
553
- .positional("node-id", {
553
+ return withDclModeOption(
554
+ yargs.positional("node-id", {
554
555
  describe: "Node ID to check for updates",
555
556
  type: "string",
556
557
  demandOption: true,
557
- })
558
- .option("mode", {
559
- describe: "DCL mode (prod or test)",
560
- type: "string",
561
- choices: ["prod", "test", "both"],
562
- default: "prod",
563
- })
564
- .option("local", {
565
- describe: "include local update files",
566
- type: "boolean",
567
- default: false,
568
- });
558
+ }),
559
+ ).option("local", {
560
+ describe: "include local update files",
561
+ type: "boolean",
562
+ default: false,
563
+ });
569
564
  },
570
565
  async argv => {
571
566
  const { nodeId: nodeIdStr, mode, local } = argv;
572
- const isProduction = mode === "prod" ? true : mode === "test" ? false : undefined;
567
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
573
568
 
574
569
  await theNode.start();
575
570
  if (theNode.commissioningController === undefined) {
@@ -604,7 +599,7 @@ export default function commands(theNode: MatterNode) {
604
599
  console.log(
605
600
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`,
606
601
  );
607
- console.log(` DCL Mode: ${mode}\n`);
602
+ console.log(` DCL Mode: ${dclMode}\n`);
608
603
 
609
604
  const updateInfo = await (
610
605
  await theNode.otaService()
@@ -630,7 +625,7 @@ export default function commands(theNode: MatterNode) {
630
625
  console.log(` Release Notes: ${updateInfo.releaseNotesUrl}`);
631
626
  }
632
627
  console.log(
633
- `\nRun "nodes ota download ${nodeIdStr}${mode === "test" ? " --mode test" : ""}" to download this update.`,
628
+ `\nRun "nodes ota download ${nodeIdStr}${mode === "auto" ? "" : ` --mode ${mode}`}" to download this update.`,
634
629
  );
635
630
  } else {
636
631
  console.log("✓ No updates available. Device is up to date.");
@@ -641,18 +636,13 @@ export default function commands(theNode: MatterNode) {
641
636
  "download <node-id>",
642
637
  "Download OTA update for a commissioned node",
643
638
  yargs => {
644
- return yargs
645
- .positional("node-id", {
639
+ return withDclModeOption(
640
+ yargs.positional("node-id", {
646
641
  describe: "Node ID to download update for",
647
642
  type: "string",
648
643
  demandOption: true,
649
- })
650
- .option("mode", {
651
- describe: "DCL mode (prod or test)",
652
- type: "string",
653
- choices: ["prod", "test", "both"],
654
- default: "prod",
655
- })
644
+ }),
645
+ )
656
646
  .option("force", {
657
647
  describe: "Force download even if update is already stored locally",
658
648
  type: "boolean",
@@ -666,7 +656,7 @@ export default function commands(theNode: MatterNode) {
666
656
  },
667
657
  async argv => {
668
658
  const { nodeId: nodeIdStr, mode, force, local } = argv;
669
- const isProduction = mode === "prod" ? true : mode === "test" ? false : undefined;
659
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
670
660
  const forceDownload = force === true;
671
661
 
672
662
  await theNode.start();
@@ -702,7 +692,7 @@ export default function commands(theNode: MatterNode) {
702
692
  console.log(
703
693
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`,
704
694
  );
705
- console.log(` DCL Mode: ${mode}\n`);
695
+ console.log(` DCL Mode: ${dclMode}\n`);
706
696
 
707
697
  const updateInfo = await (
708
698
  await theNode.otaService()
@@ -745,18 +735,13 @@ export default function commands(theNode: MatterNode) {
745
735
  "apply <node-id>",
746
736
  "Apply OTA update for a commissioned node",
747
737
  yargs => {
748
- return yargs
749
- .positional("node-id", {
738
+ return withDclModeOption(
739
+ yargs.positional("node-id", {
750
740
  describe: "Node ID to download update for",
751
741
  type: "string",
752
742
  demandOption: true,
753
- })
754
- .option("mode", {
755
- describe: "DCL mode (prod or test)",
756
- type: "string",
757
- choices: ["prod", "test", "both"],
758
- default: "prod",
759
- })
743
+ }),
744
+ )
760
745
  .option("force", {
761
746
  describe: "Force download even if update is already stored locally",
762
747
  type: "boolean",
@@ -770,7 +755,7 @@ export default function commands(theNode: MatterNode) {
770
755
  },
771
756
  async argv => {
772
757
  const { nodeId: nodeIdStr, mode, force, local } = argv;
773
- const isProduction = mode === "prod" ? true : mode === "test" ? false : undefined;
758
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
774
759
  const forceDownload = force === true;
775
760
 
776
761
  await theNode.start();
@@ -807,7 +792,7 @@ export default function commands(theNode: MatterNode) {
807
792
  console.log(
808
793
  ` Current Software Version: ${basicInfo.softwareVersion} (${basicInfo.softwareVersionString})`,
809
794
  );
810
- console.log(` DCL Mode: ${mode}\n`);
795
+ console.log(` DCL Mode: ${dclMode}\n`);
811
796
 
812
797
  const localUpdates = await (
813
798
  await theNode.otaService()
@@ -12,6 +12,7 @@ import { basename, dirname, extname, join } from "node:path";
12
12
  import { Readable } from "node:stream";
13
13
  import type { Argv } from "yargs";
14
14
  import { MatterNode } from "../MatterNode.js";
15
+ import { resolveDclMode, withDclModeOption } from "./ota-dcl-mode.js";
15
16
 
16
17
  /**
17
18
  * Parse a hex string to a number, handling optional 0x prefix.
@@ -317,7 +318,7 @@ export default function commands(theNode: MatterNode) {
317
318
  "Add an OTA image file to storage",
318
319
  yargs => {
319
320
  return yargs.positional("file", {
320
- describe: "Absolute path to the OTA image file",
321
+ describe: "Absolute path, file:// URL or http(s) URL of the OTA image",
321
322
  type: "string",
322
323
  demandOption: true,
323
324
  });
@@ -328,19 +329,23 @@ export default function commands(theNode: MatterNode) {
328
329
 
329
330
  await theNode.start();
330
331
 
331
- if (filePath.startsWith("file://")) {
332
- filePath = filePath.slice(7); // Remove the "file://" prefix
333
- } else if (!filePath.startsWith("/")) {
334
- console.error("Error: File path must be absolute or start with file://");
335
- return;
332
+ const isRemote = /^https?:\/\//i.test(filePath);
333
+ if (!isRemote) {
334
+ if (filePath.startsWith("file://")) {
335
+ filePath = filePath.slice(7); // Remove the "file://" prefix
336
+ } else if (!filePath.startsWith("/")) {
337
+ console.error(
338
+ "Error: File path must be absolute, start with file:// or be an http(s) URL",
339
+ );
340
+ return;
341
+ }
336
342
  }
337
343
  console.log(`Reading OTA image from: ${filePath}`);
338
344
 
339
345
  // Create update info from the file (validates the file)
340
346
  let localFile = false;
341
347
  let updateInfo;
342
- if (filePath.toLowerCase().startsWith("https://")) {
343
- // Remote HTTPS file
348
+ if (isRemote) {
344
349
  updateInfo = await (await theNode.otaService()).createUpdateInfoFromFile(filePath);
345
350
  } else {
346
351
  // Local file - use stream
@@ -554,48 +559,43 @@ export default function commands(theNode: MatterNode) {
554
559
  "download <vendor-id> <product-id> <software-version>",
555
560
  "Check DCL for OTA updates matching the given vendor/product/version and download them",
556
561
  yargs => {
557
- return yargs
558
- .positional("vendor-id", {
559
- describe: "Vendor ID (hex, e.g., 0xFFF1 or FFF1)",
560
- type: "string",
561
- demandOption: true,
562
- })
563
- .positional("product-id", {
564
- describe: "Product ID (hex, e.g., 0x8000 or 8000)",
565
- type: "string",
566
- demandOption: true,
567
- })
568
- .positional("software-version", {
569
- describe: "Current software version (decimal number)",
570
- type: "number",
571
- demandOption: true,
572
- })
573
- .option("mode", {
574
- describe: "DCL mode (prod or test)",
575
- type: "string",
576
- choices: ["prod", "test", "both"],
577
- default: "prod",
578
- })
579
- .option("local", {
580
- describe: "Include local update files in search",
581
- type: "boolean",
582
- default: false,
583
- });
562
+ return withDclModeOption(
563
+ yargs
564
+ .positional("vendor-id", {
565
+ describe: "Vendor ID (hex, e.g., 0xFFF1 or FFF1)",
566
+ type: "string",
567
+ demandOption: true,
568
+ })
569
+ .positional("product-id", {
570
+ describe: "Product ID (hex, e.g., 0x8000 or 8000)",
571
+ type: "string",
572
+ demandOption: true,
573
+ })
574
+ .positional("software-version", {
575
+ describe: "Current software version (decimal number)",
576
+ type: "number",
577
+ demandOption: true,
578
+ }),
579
+ ).option("local", {
580
+ describe: "Include local update files in search",
581
+ type: "boolean",
582
+ default: false,
583
+ });
584
584
  },
585
585
  async argv => {
586
586
  const { vendorId: vendorIdStr, productId: productIdStr, softwareVersion, mode, local } = argv;
587
+ const { label: dclMode, isProduction } = resolveDclMode(theNode, mode);
587
588
 
588
589
  await theNode.start();
589
590
 
590
591
  const vendorId = parseHexId(vendorIdStr, "vendor");
591
592
  const productId = parseHexId(productIdStr, "product");
592
- const isProduction = mode === "prod" ? true : mode === "test" ? false : undefined;
593
593
 
594
594
  console.log(`Checking DCL for OTA updates...`);
595
595
  console.log(` Vendor ID: ${Diagnostic.hex(vendorId as VendorId, 4).toUpperCase()}`);
596
596
  console.log(` Product ID: ${Diagnostic.hex(productId, 4).toUpperCase()}`);
597
597
  console.log(` Current Software Version: ${softwareVersion}`);
598
- console.log(` DCL Mode: ${mode}\n`);
598
+ console.log(` DCL Mode: ${dclMode}\n`);
599
599
 
600
600
  const updateInfo = await (
601
601
  await theNode.otaService()
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import type { Argv } from "yargs";
8
+ import { MatterNode } from "../MatterNode.js";
9
+
10
+ export const DclQueryModes = ["auto", "prod", "test", "both"] as const;
11
+
12
+ export type DclQueryMode = (typeof DclQueryModes)[number];
13
+
14
+ /** Adds the `--mode` option selecting which DCL instances are queried for OTA updates. */
15
+ export function withDclModeOption<T>(yargs: Argv<T>) {
16
+ return yargs.option("mode", {
17
+ describe: 'DCL instances to query ("auto" follows the config ota-test-images setting)',
18
+ type: "string",
19
+ choices: DclQueryModes,
20
+ default: "auto" as DclQueryMode,
21
+ });
22
+ }
23
+
24
+ /** Resolves the `--mode` option into the `isProduction` flag understood by the OTA update service. */
25
+ export function resolveDclMode(theNode: MatterNode, mode: DclQueryMode) {
26
+ const resolved = mode === "auto" ? (theNode.allowTestOtaImages ? "both" : "prod") : mode;
27
+ return {
28
+ label: mode === "auto" ? `auto (${resolved})` : resolved,
29
+ isProduction: resolved === "prod" ? true : resolved === "test" ? false : undefined,
30
+ };
31
+ }