@matter/nodejs-shell 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-96d5c3a88

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.
@@ -26,6 +26,7 @@ class MatterNode {
26
26
  #netInterface;
27
27
  #dclFetchTestCertificates = false;
28
28
  #allowTestOtaImages = false;
29
+ #transportPreference;
29
30
  #observers;
30
31
  constructor(nodeNum, netInterface) {
31
32
  this.#environment = Environment.default;
@@ -66,6 +67,12 @@ class MatterNode {
66
67
  this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
67
68
  }
68
69
  const id = `shell-${this.#nodeNum.toString()}`;
70
+ this.#storageManager = await this.#environment.get(StorageService).open(id);
71
+ this.#storageContext = this.#storageManager.createContext("Node");
72
+ this.#dclFetchTestCertificates = await this.#storageContext.get("DclFetchTestCertificates", false);
73
+ this.#allowTestOtaImages = await this.#storageContext.get("AllowTestOtaImages", false);
74
+ const storedPref = await this.#storageContext.get("TransportPreference", "");
75
+ this.#transportPreference = storedPref === "tcp" || storedPref === "udp" ? storedPref : void 0;
69
76
  this.commissioningController = new CommissioningController({
70
77
  environment: {
71
78
  environment: this.#environment,
@@ -75,6 +82,7 @@ class MatterNode {
75
82
  adminFabricLabel: "matter.js Shell",
76
83
  enableOtaProvider: true,
77
84
  tcp: true,
85
+ transportPreference: this.#transportPreference,
78
86
  basicInformation: {
79
87
  productName: "matter.js Shell"
80
88
  }
@@ -86,10 +94,6 @@ class MatterNode {
86
94
  if (resetStorage) {
87
95
  await this.commissioningController.node.erase();
88
96
  }
89
- this.#storageManager = await env.get(StorageService).open(id);
90
- this.#storageContext = this.#storageManager.createContext("Node");
91
- this.#dclFetchTestCertificates = await this.#storageContext.get("DclFetchTestCertificates", false);
92
- this.#allowTestOtaImages = await this.#storageContext.get("AllowTestOtaImages", false);
93
97
  } else {
94
98
  console.log(
95
99
  "Legacy support was removed in Matter.js 0.13. Please downgrade or migrate the storage manually"
@@ -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
  }
@@ -122,6 +122,36 @@ Found ${certificates.length} certificate(s):
122
122
  const count = (await theNode.certificateService()).certificates.length;
123
123
  console.log(`Total certificates in storage: ${count}`);
124
124
  }
125
+ ).command(
126
+ "check-revoked <issuer-key-id> <serial-number>",
127
+ "Check if a certificate is revoked (fetches from DCL on demand)",
128
+ (yargs2) => {
129
+ return yargs2.positional("issuer-key-id", {
130
+ describe: "Authority Key Identifier of the issuer (hex, with or without colons)",
131
+ type: "string",
132
+ demandOption: true
133
+ }).positional("serial-number", {
134
+ describe: "Serial number of the certificate to check (hex)",
135
+ type: "string",
136
+ demandOption: true
137
+ });
138
+ },
139
+ async (argv) => {
140
+ const { issuerKeyId, serialNumber } = argv;
141
+ await theNode.start();
142
+ const service = await theNode.certificateService();
143
+ console.log("Checking revocation status against DCL...");
144
+ const revoked = await service.isRevoked(issuerKeyId, serialNumber);
145
+ if (revoked) {
146
+ console.log(
147
+ `REVOKED: Certificate with serial ${serialNumber} (issuer ${issuerKeyId}) is revoked.`
148
+ );
149
+ } else {
150
+ console.log(
151
+ `OK: Certificate with serial ${serialNumber} (issuer ${issuerKeyId}) is not revoked.`
152
+ );
153
+ }
154
+ }
125
155
  ),
126
156
  handler: async (argv) => {
127
157
  argv.unhandled = true;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_cert.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["yargs"]
6
6
  }
@@ -3,10 +3,11 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Diagnostic, MatterError } from "@matter/general";
6
+ import { Diagnostic, Logger, MatterError } from "@matter/general";
7
7
  import { DiscoveryCapabilitiesSchema, ManualPairingCodeCodec, NodeId, QrCode, QrPairingCodeCodec } from "@matter/types";
8
8
  import { BasicInformationCluster, DescriptorCluster, GeneralCommissioning } from "@matter/types/clusters";
9
9
  import { createDiagnosticCallbacks } from "./cmd_nodes.js";
10
+ const logger = Logger.get("Commission");
10
11
  function commands(theNode) {
11
12
  return {
12
13
  command: "commission",
@@ -98,13 +99,29 @@ function commands(theNode) {
98
99
  passcode: setupPinCode,
99
100
  ...createDiagnosticCallbacks()
100
101
  };
102
+ const strictAttestation = await theNode.Store.get(
103
+ "StrictAttestationValidation",
104
+ false
105
+ );
101
106
  options.commissioning = {
102
107
  nodeId: nodeId !== void 0 ? NodeId(nodeId) : void 0,
103
108
  regulatoryLocation: GeneralCommissioning.RegulatoryLocationType.Outdoor,
104
109
  // Set to the most restrictive if relevant
105
- regulatoryCountryCode: "XX"
110
+ regulatoryCountryCode: "XX",
111
+ onAttestationFailure: (findings) => {
112
+ const accept = strictAttestation ? findings.every((f) => f.level !== "error") : true;
113
+ for (const f of findings) {
114
+ logger.info(
115
+ `Attestation finding ${accept ? "accepted" : "rejected"} (${f.level}):`,
116
+ f.type,
117
+ f.message
118
+ );
119
+ }
120
+ return accept;
121
+ }
106
122
  };
107
123
  console.log(Diagnostic.json(options));
124
+ await theNode.certificateService();
108
125
  if (theNode.Store.has("WiFiSsid") && theNode.Store.has("WiFiPassword")) {
109
126
  options.commissioning.wifiNetwork = {
110
127
  wifiSsid: await theNode.Store.get("WiFiSsid", ""),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shell/cmd_commission.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,QAAQ,mBAAmB;AAChD,SAAS,6BAA6B,wBAAwB,QAAQ,QAAQ,0BAA0B;AACxG,SAAS,yBAAyB,mBAAmB,4BAA4B;AAIjF,SAAS,iCAAiC;AAE1C,MAAM,SAAS,OAAO,IAAI,YAAY;AAEvB,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MAEK,QAAQ,QAAQ,6BAA6B,CAAAA,WAAS;AACnD,aACIA,OAEK;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,WAAW;AAAA,YACnB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC,EACA,WAAW,MAAM;AAAA,YACd,UAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC,EACA,WAAW,QAAQ;AAAA,YAChB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ;AACV,gBAAM;AAAA,YACF;AAAA,YACA;AAAA,YACA,QAAQ;AAAA,YACR;AAAA,YACA;AAAA,YACA,MAAM;AAAA,YACN;AAAA,UACJ,IAAI;AACJ,cAAI,EAAE,cAAc,eAAe,oBAAoB,YAAY,IAAI;AAEvE,cAAI,OAAO,gBAAgB,YAAY,YAAY,SAAS,GAAG;AAC3D,kBAAM,EAAE,oBAAoB,+BAA+B,SAAS,IAChE,uBAAuB,OAAO,WAAW;AAC7C,iCAAqB;AACrB,2BAAe;AACf,4BAAgB;AAAA,UACpB,WAAW,OAAO,WAAW,YAAY,OAAO,SAAS,GAAG;AACxD,kBAAM,mBAAmB,mBAAmB,OAAO,MAAM;AACzD,gBAAI,OAAO,gBAAgB,UAAU;AACjC,kBAAI,CAAC,OAAO,SAAS,WAAW,GAAG;AAC/B,wBAAQ,IAAI,8CAA8C;AAC1D,8BAAc;AAAA,cAClB;AAAA,YACJ;AACA,gBAAI,UAAU,OAAO,WAAW;AAChC,gBAAI,iBAAiB,SAAS,GAAG;AAC7B,kBAAI,UAAU,KAAK,UAAU,iBAAiB,QAAQ;AAClD,wBAAQ;AAAA,kBACJ,aAAa,iBAAiB,MAAM;AAAA,gBACxC;AACA,0BAAU;AAAA,cACd,OAAO;AACH,wBAAQ;AAAA,kBACJ,aAAa,iBAAiB,MAAM,8DAA8D,OAAO;AAAA,gBAC7G;AAAA,cACJ;AAAA,YACJ,OAAO;AACH,wBAAU;AAAA,YACd;AACA,kBAAM,WAAW,iBAAiB,UAAU,CAAC;AAC7C,4BAAgB,SAAS;AACzB,iCAAqB;AACrB,2BAAe,SAAS;AACxB,gBACI,4BAA4B,OAAO,SAAS,qBAAqB,EAAE,OACnE,CAAC,KACH;AACE,sBAAQ;AAAA,gBACJ;AAAA,cACJ;AAAA,YACJ;AAAA,UACJ,WAAW,kBAAkB,UAAa,uBAAuB,QAAW;AACxE,4BAAgB;AAAA,UACpB;AAEA,gBAAM,SAAS,cAAc,SAAY,OAAO,OAAO,SAAS,CAAC,IAAI;AACrE,gBAAM,QAAQ,MAAM;AACpB,cAAI,QAAQ,4BAA4B,QAAW;AAC/C,kBAAM,IAAI,MAAM,yCAAyC;AAAA,UAC7D;AAEA,gBAAM,UAAU;AAAA,YACZ,WAAW;AAAA,cACP,cACI,OAAO,UAAa,WAAW,SACzB,EAAE,IAAI,MAAM,QAAQ,MAAM,MAAM,IAChC;AAAA,cACV,gBACI,eAAe,SACT,EAAE,WAAW,IACb,kBAAkB,SAChB,EAAE,mBAAmB,cAAc,IACnC,uBAAuB,SACrB,EAAE,mBAAmB,IACrB,CAAC;AAAA,cACf,uBAAuB;AAAA,gBACnB;AAAA,gBACA,aAAa;AAAA,cACjB;AAAA,YACJ;AAAA,YACA,UAAU;AAAA,YACV,GAAG,0BAA0B;AAAA,UACjC;AAGA,gBAAM,oBAAoB,MAAM,QAAQ,MAAM;AAAA,YAC1C;AAAA,YACA;AAAA,UACJ;AAEA,kBAAQ,gBAAgB;AAAA,YACpB,QAAQ,WAAW,SAAY,OAAO,MAAM,IAAI;AAAA,YAChD,oBAAoB,qBAAqB,uBAAuB;AAAA;AAAA,YAChE,uBAAuB;AAAA,YACvB,sBAAsB,cAAY;AAC9B,oBAAM,SAAS,oBACT,SAAS,MAAM,OAAK,EAAE,UAAU,OAAO,IACvC;AACN,yBAAW,KAAK,UAAU;AACtB,uBAAO;AAAA,kBACH,uBAAuB,SAAS,aAAa,UAAU,KAAK,EAAE,KAAK;AAAA,kBACnE,EAAE;AAAA,kBACF,EAAE;AAAA,gBACN;AAAA,cACJ;AACA,qBAAO;AAAA,YACX;AAAA,UACJ;AAEA,kBAAQ,IAAI,WAAW,KAAK,OAAO,CAAC;AAEpC,gBAAM,QAAQ,mBAAmB;AAEjC,cAAI,QAAQ,MAAM,IAAI,UAAU,KAAK,QAAQ,MAAM,IAAI,cAAc,GAAG;AACpE,oBAAQ,cAAc,cAAc;AAAA,cAChC,UAAU,MAAM,QAAQ,MAAM,IAAY,YAAY,EAAE;AAAA,cACxD,iBAAiB,MAAM,QAAQ,MAAM,IAAY,gBAAgB,EAAE;AAAA,YACvE;AAAA,UACJ;AACA,cACI,QAAQ,MAAM,IAAI,YAAY,KAC9B,QAAQ,MAAM,IAAI,0BAA0B,GAC9C;AACE,oBAAQ,cAAc,gBAAgB;AAAA,cAClC,aAAa,MAAM,QAAQ,MAAM,IAAY,cAAc,EAAE;AAAA,cAC7D,oBAAoB,MAAM,QAAQ,MAAM;AAAA,gBACpC;AAAA,gBACA;AAAA,cACJ;AAAA,YACJ;AAAA,UACJ;AAEA,gBAAM,qBACF,MAAM,QAAQ,wBAAwB,eAAe,OAAO;AAEhE,kBAAQ,IAAI,sBAAsB,kBAAkB;AAEpD,gBAAM,OAAO,QAAQ,wBAAwB,cAAc,kBAAkB;AAC7E,cAAI,SAAS,QAAW;AAEpB,kBAAM,IAAI,YAAY,qCAAqC;AAAA,UAC/D;AAMA,gBAAM,aAAa,KAAK,qBAAqB,iBAAiB;AAC9D,cAAI,eAAe,QAAW;AAC1B,oBAAQ,IAAI,MAAM,WAAW,WAAW,eAAe,IAAI,CAAC;AAC5D,oBAAQ,IAAI,MAAM,WAAW,uBAAuB,CAAC;AAAA,UACzD,OAAO;AACH,oBAAQ,IAAI,wDAAwD;AAAA,UACxE;AAGA,gBAAM,OAAO,KAAK,qBAAqB,uBAAuB;AAC9D,cAAI,SAAS,QAAW;AACpB,oBAAQ,IAAI,MAAM,KAAK,wBAAwB,CAAC;AAAA,UAGpD,OAAO;AACH,oBAAQ,IAAI,8DAA8D;AAAA,UAC9E;AAAA,QACJ;AAAA,MACJ,EACC,QAAQ;AAAA,QACL,aAAa;AAAA,UACT,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV;AAAA,QACA,QAAQ;AAAA,UACJ,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV;AAAA,QACA,aAAa;AAAA,UACT,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV;AAAA,QACA,cAAc;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,MAAM;AAAA,QACV;AAAA,QACA,YAAY;AAAA,UACR,OAAO;AAAA,UACP,UAAU;AAAA,UACV,MAAM;AAAA,QACV;AAAA,QACA,eAAe;AAAA,UACX,OAAO;AAAA,UACP,aAAa;AAAA,UACb,MAAM;AAAA,QACV;AAAA,QACA,oBAAoB;AAAA,UAChB,OAAO;AAAA,UACP,aAAa;AAAA,UACb,MAAM;AAAA,QACV;AAAA,QACA,KAAK;AAAA,UACD,OAAO;AAAA,UACP,aAAa;AAAA,UACb,MAAM;AAAA,UACN,SAAS;AAAA,QACb;AAAA,MACJ,CAAC;AAAA,IAEb,CAAC,EACA;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,WAAW;AAAA,UACnB,UAAU;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,QACb,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,EAAE,QAAQ,QAAQ,IAAI;AAC5B,cAAM,QAAQ,MAAM;AACpB,cAAM,QAAQ,MAAM,QAAQ,mBAAmB,QAAQ,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC;AAEnF,cAAM,KAAK,6BAA6B,OAAO;AAE/C,gBAAQ,IAAI,uCAAuC,MAAM,SAAS;AAAA,MACtE;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,WAAW;AAAA,UACnB,UAAU;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,QACb,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,QAAQ,MAAM;AACpB,cAAM,EAAE,QAAQ,QAAQ,IAAI;AAC5B,cAAM,QAAQ,MAAM,QAAQ,mBAAmB,QAAQ,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC;AACnF,cAAM,OAAO,MAAM,KAAK,gCAAgC,OAAO;AAE/D,gBAAQ,IAAI,0CAA0C,MAAM,SAAS;AACrE,cAAM,EAAE,eAAe,kBAAkB,IAAI;AAE7C,gBAAQ,IAAI,OAAO,IAAI,aAAa,CAAC;AACrC,gBAAQ;AAAA,UACJ,gFAAgF,aAAa;AAAA,QACjG;AACA,gBAAQ,IAAI,wBAAwB,iBAAiB,EAAE;AAAA,MAC3D;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,QAAQ;AAAA,UACL,OAAO;AAAA,YACH,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS;AAAA,UACb;AAAA,QACJ,CAAC;AAAA,MACT;AAAA,MACA,OAAM,SAAQ;AACV,cAAM,QAAQ,MAAM;AACpB,cAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,YAAI,OAAO;AACP,gBAAM,QAAQ,WAAW,WAAW,OAAO,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK;AAAA,QACtE,OAAO;AACH,gBAAM,QAAQ,MAAM,QAAQ,mBAAmB,QAAQ,EAAE,eAAe,MAAM,CAAC,GAAG,CAAC;AACnF,gBAAM,KAAK,aAAa;AAAA,QAC5B;AAAA,MACJ;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;",
5
5
  "names": ["yargs"]
6
6
  }
@@ -239,6 +239,66 @@ function commands(theNode) {
239
239
  async (argv) => doDclTestCertificates(theNode, { action: "set", ...argv })
240
240
  );
241
241
  }
242
+ ).command(
243
+ "strict-attestation",
244
+ "Manage strict device attestation validation during commissioning",
245
+ (yargs2) => {
246
+ return yargs2.command(
247
+ "* [action]",
248
+ "Get, set, or delete the strict attestation setting",
249
+ (yargs3) => {
250
+ return yargs3.positional("action", {
251
+ describe: "get/delete",
252
+ choices: ["get", "delete"],
253
+ default: "get",
254
+ type: "string"
255
+ });
256
+ },
257
+ async (argv) => doStrictAttestation(theNode, argv)
258
+ ).command(
259
+ "set <value>",
260
+ "Enable or disable strict attestation validation",
261
+ (yargs3) => {
262
+ return yargs3.positional("value", {
263
+ describe: "Enable strict attestation (true/false)",
264
+ type: "string",
265
+ choices: ["true", "false"],
266
+ demandOption: true
267
+ });
268
+ },
269
+ async (argv) => doStrictAttestation(theNode, { action: "set", ...argv })
270
+ );
271
+ }
272
+ ).command(
273
+ "transport-preference",
274
+ "Manage preferred transport (TCP/UDP) for outgoing connections from this controller",
275
+ (yargs2) => {
276
+ return yargs2.command(
277
+ "* [action]",
278
+ "Get or delete the transport preference",
279
+ (yargs3) => {
280
+ return yargs3.positional("action", {
281
+ describe: "get/delete",
282
+ choices: ["get", "delete"],
283
+ default: "get",
284
+ type: "string"
285
+ });
286
+ },
287
+ async (argv) => doTransportPreference(theNode, argv)
288
+ ).command(
289
+ "set <value>",
290
+ "Set transport preference for outgoing connections",
291
+ (yargs3) => {
292
+ return yargs3.positional("value", {
293
+ describe: "Preferred transport",
294
+ type: "string",
295
+ choices: ["tcp", "udp"],
296
+ demandOption: true
297
+ });
298
+ },
299
+ async (argv) => doTransportPreference(theNode, { action: "set", ...argv })
300
+ );
301
+ }
242
302
  ),
243
303
  handler: async (argv) => {
244
304
  argv.unhandled = true;
@@ -456,6 +516,62 @@ async function doDclTestCertificates(theNode, args) {
456
516
  break;
457
517
  }
458
518
  }
519
+ async function doStrictAttestation(theNode, args) {
520
+ const { action, value } = args;
521
+ switch (action) {
522
+ case "get": {
523
+ const strict = await theNode.Store.get("StrictAttestationValidation", false);
524
+ console.log(
525
+ `Strict attestation: ${strict ? "enabled (reject on errors, allow warnings/info)" : "disabled (accept all findings)"}`
526
+ );
527
+ break;
528
+ }
529
+ case "set": {
530
+ if (value === void 0) {
531
+ console.log(`Cannot change strict attestation setting: New value not provided`);
532
+ return;
533
+ }
534
+ const newValue = value === "true";
535
+ await theNode.Store.set("StrictAttestationValidation", newValue);
536
+ console.log(
537
+ `Strict attestation: ${newValue ? "enabled (reject on errors, allow warnings/info)" : "disabled (accept all findings)"}`
538
+ );
539
+ break;
540
+ }
541
+ case "delete":
542
+ await theNode.Store.delete("StrictAttestationValidation");
543
+ console.log(`Strict attestation setting reset to default (disabled).`);
544
+ break;
545
+ }
546
+ }
547
+ async function doTransportPreference(theNode, args) {
548
+ const { action, value } = args;
549
+ switch (action) {
550
+ case "get": {
551
+ const stored = await theNode.Store.get("TransportPreference", "");
552
+ const pref = stored === "tcp" || stored === "udp" ? stored : void 0;
553
+ console.log(`Transport preference: ${pref === void 0 ? "default (UDP-preferred)" : pref.toUpperCase()}`);
554
+ break;
555
+ }
556
+ case "set": {
557
+ if (value !== "tcp" && value !== "udp") {
558
+ console.log(`Cannot change transport preference: value must be tcp or udp`);
559
+ return;
560
+ }
561
+ await theNode.Store.set("TransportPreference", value);
562
+ console.log(
563
+ `Transport preference: ${value.toUpperCase()}. Please restart the shell for the change to take effect.`
564
+ );
565
+ break;
566
+ }
567
+ case "delete":
568
+ await theNode.Store.delete("TransportPreference");
569
+ console.log(
570
+ `Transport preference reset to default (UDP-preferred). Please restart the shell for the change to take effect.`
571
+ );
572
+ break;
573
+ }
574
+ }
459
575
  export {
460
576
  commands as default
461
577
  };
@@ -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": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AACvB,SAAS,6BAA6B;AAGtC,SAAS,mBAAmB;AAEb,SAAR,SAA0B,SAAqB;AAClD,SAAO;AAAA,IACH,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,CAAC,UACN,MAEK,QAAQ,YAAY,qCAAqC,CAAAA,WAAS;AAC/D,aAAOA,OACF;AAAA,QACG,CAAC,cAAc,oBAAoB;AAAA,QACnC;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,QAAQ;AAAA,YAChB,UAAU;AAAA,YACV,SAAS,CAAC,WAAW,MAAM;AAAA,YAC3B,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC,EACA,WAAW,UAAU;AAAA,YAClB,UAAU;AAAA,YACV,SAAS,CAAC,OAAO,QAAQ;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ,WAAW,SAAS,IAAI;AAAA,MAC1C,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,QAAQ;AAAA,YAChB,UAAU;AAAA,YACV,SAAS,CAAC,WAAW,MAAM;AAAA,YAC3B,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC,EACA,WAAW,SAAS;AAAA,YACjB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,SAAS,CAAC,SAAS,SAAS,QAAQ,QAAQ,OAAO;AAAA,YACnD,cAAc;AAAA,UAClB,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ,WAAW,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MAChE;AAAA,IACR,CAAC,EAGA,QAAQ,WAAW,uBAAuB,CAAAA,WAAS;AAChD,aAAOA,OACF;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,UAAU;AAAA,YAC9B,UAAU;AAAA,YACV,SAAS,CAAC,OAAO,QAAQ;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,cAAc,SAAS,IAAI;AAAA,MAC7C,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,SAAS;AAAA,YAC7B,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,cAAc,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MACnE;AAAA,IACR,CAAC,EAGA,QAAQ,eAAe,kCAAkC,CAAAA,WAAS;AAC/D,aAAOA,OACF;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,UAAU;AAAA,YAC9B,UAAU;AAAA,YACV,SAAS,CAAC,KAAK;AAAA,YACf,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,wBAAwB,SAAS,IAAI;AAAA,MACvD,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,SAAS;AAAA,YAC7B,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,wBAAwB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MAC7E;AAAA,IACR,CAAC,EAGA,QAAQ,WAAW,6BAA6B,CAAAA,WAAS;AACtD,aAAOA,OACF;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,UAAU;AAAA,YAC9B,UAAU;AAAA,YACV,SAAS,CAAC,OAAO,QAAQ;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,SAAS,SAAS,IAAI;AAAA,MACxC,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,SAAS;AAAA,YAC7B,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,SAAS,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MAC9D;AAAA,IACR,CAAC,EAGA,QAAQ,oBAAoB,0DAA0D,CAAAA,WAAS;AAC5F,aAAOA,OACF;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,UAAU;AAAA,YAC9B,UAAU;AAAA,YACV,SAAS,CAAC,OAAO,QAAQ;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,kBAAkB,SAAS,IAAI;AAAA,MACjD,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,aAAa;AAAA,YACrB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,WAAW,iBAAiB;AAAA,YACzB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACT;AAAA,QACA,OAAM,SAAQ,kBAAkB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MACvE;AAAA,IACR,CAAC,EAGA,QAAQ,sBAAsB,2DAA2D,CAAAA,WAAS;AAC/F,aAAOA,OACF;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OAAM,WAAW,UAAU;AAAA,YAC9B,UAAU;AAAA,YACV,SAAS,CAAC,OAAO,QAAQ;AAAA,YACzB,SAAS;AAAA,YACT,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,QACA,OAAM,SAAQ,oBAAoB,SAAS,IAAI;AAAA,MACnD,EACC;AAAA,QACG;AAAA,QACA;AAAA,QACA,CAAAA,WAAS;AACL,iBAAOA,OACF,WAAW,eAAe;AAAA,YACvB,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC,EACA,WAAW,8BAA8B;AAAA,YACtC,UAAU;AAAA,YACV,MAAM;AAAA,YACN,cAAc;AAAA,UAClB,CAAC;AAAA,QACT;AAAA,QACA,UAAQ,oBAAoB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,MACnE;AAAA,IACR,CAAC,EAGA;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,UAAU;AAAA,cAC9B,UAAU;AAAA,cACV,SAAS,CAAC,OAAO,QAAQ;AAAA,cACzB,SAAS;AAAA,cACT,MAAM;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,gBAAgB,SAAS,IAAI;AAAA,QAC/C,EACC;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,SAAS;AAAA,cAC7B,UAAU;AAAA,cACV,MAAM;AAAA,cACN,SAAS,CAAC,QAAQ,OAAO;AAAA,cACzB,cAAc;AAAA,YAClB,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,gBAAgB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,QACrE;AAAA,MACR;AAAA,IACJ,EAGC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,UAAU;AAAA,cAC9B,UAAU;AAAA,cACV,SAAS,CAAC,OAAO,QAAQ;AAAA,cACzB,SAAS;AAAA,cACT,MAAM;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,sBAAsB,SAAS,IAAI;AAAA,QACrD,EACC;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,SAAS;AAAA,cAC7B,UAAU;AAAA,cACV,MAAM;AAAA,cACN,SAAS,CAAC,QAAQ,OAAO;AAAA,cACzB,cAAc;AAAA,YAClB,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,sBAAsB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,QAC3E;AAAA,MACR;AAAA,IACJ,EAGC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,UAAU;AAAA,cAC9B,UAAU;AAAA,cACV,SAAS,CAAC,OAAO,QAAQ;AAAA,cACzB,SAAS;AAAA,cACT,MAAM;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,oBAAoB,SAAS,IAAI;AAAA,QACnD,EACC;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,SAAS;AAAA,cAC7B,UAAU;AAAA,cACV,MAAM;AAAA,cACN,SAAS,CAAC,QAAQ,OAAO;AAAA,cACzB,cAAc;AAAA,YAClB,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,oBAAoB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,QACzE;AAAA,MACR;AAAA,IACJ,EAGC;AAAA,MACG;AAAA,MACA;AAAA,MACA,CAAAA,WAAS;AACL,eAAOA,OACF;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,UAAU;AAAA,cAC9B,UAAU;AAAA,cACV,SAAS,CAAC,OAAO,QAAQ;AAAA,cACzB,SAAS;AAAA,cACT,MAAM;AAAA,YACV,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,sBAAsB,SAAS,IAAI;AAAA,QACrD,EACC;AAAA,UACG;AAAA,UACA;AAAA,UACA,CAAAA,WAAS;AACL,mBAAOA,OAAM,WAAW,SAAS;AAAA,cAC7B,UAAU;AAAA,cACV,MAAM;AAAA,cACN,SAAS,CAAC,OAAO,KAAK;AAAA,cACtB,cAAc;AAAA,YAClB,CAAC;AAAA,UACL;AAAA,UACA,OAAM,SAAQ,sBAAsB,SAAS,EAAE,QAAQ,OAAO,GAAG,KAAK,CAAC;AAAA,QAC3E;AAAA,MACR;AAAA,IACJ;AAAA,IACR,SAAS,OAAO,SAAc;AAC1B,WAAK,YAAY;AAAA,IACrB;AAAA,EACJ;AACJ;AAEA,eAAe,WACX,SACA,MAKF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,QAAM,aAAa,KAAK,SAAS,YAAY,aAAa;AAC1D,QAAM,UAAU,KAAK,SAAS,YAAY,YAAY;AACtD,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ,IAAI,wBAAwB,OAAO,KAAK,MAAM,QAAQ,MAAM,IAAY,YAAY,MAAM,CAAC,EAAE;AACrG;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,8BAA8B,OAAO,mCAAmC;AACpF;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,YAAY,KAAK;AACzC,cAAQ,IAAI,oBAAoB,OAAO,MAAM,KAAK,GAAG;AACrD,kBAAY,KAAK,SAAS,YAAY,YAAY,QAAQ,KAAK;AAC/D;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,UAAU;AACrC,cAAQ,IAAI,gBAAgB,OAAO,mBAAmB;AACtD,kBAAY,KAAK,SAAS,YAAY,YAAY,QAAQ,MAAM;AAChE;AAAA,EACR;AACJ;AAEA,eAAe,cACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ,IAAI,yBAAyB,MAAM,QAAQ,MAAM,IAAY,WAAW,GAAG,CAAC,EAAE;AACtF;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,mDAAmD;AAC/D;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,WAAW,KAAK;AACxC,cAAQ,IAAI,sBAAsB,KAAK,6DAA6D;AACpG;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,SAAS;AACpC,cAAQ,IAAI,gFAAgF;AAC5F;AAAA,EACR;AACJ;AAEA,eAAe,wBACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ;AAAA,QACJ,kCAAkC,MAAM,QAAQ,MAAM,IAAY,yBAAyB,iBAAiB,CAAC;AAAA,MACjH;AACA;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,+DAA+D;AAC3E;AAAA,MACJ;AACA,UAAI,MAAM,WAAW,KAAK,MAAM,SAAS,IAAI;AACzC,gBAAQ,IAAI,kFAAkF;AAC9F;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,yBAAyB,KAAK;AACtD,cAAQ,IAAI,iCAAiC,KAAK,IAAI;AACtD,YAAM,QAAQ,kBAAkB,KAAK;AACrC;AAAA,EACR;AACJ;AAEA,eAAe,SACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ,IAAI,uBAAuB,MAAM,QAAQ,MAAM,IAAY,YAAY,CAAC,CAAC,EAAE;AACnF;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,qDAAqD;AACjE;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,YAAY,KAAK;AACzC,cAAQ,IAAI,gBAAgB,KAAK,6DAA6D;AAC9F;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,UAAU;AACrC,cAAQ,IAAI,2FAA2F;AACvG;AAAA,EACR;AACJ;AAEA,eAAe,kBACX,SACA,MAKF;AACE,QAAM,EAAE,QAAQ,UAAU,aAAa,IAAI;AAC3C,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ;AAAA,QACJ,mCAAmC,MAAM,QAAQ,MAAM;AAAA,UACnD;AAAA,UACA;AAAA,QACJ,CAAC,gBAAgB,OAAO,WAAW,MAAM,QAAQ,MAAM,IAAY,gBAAgB,EAAE,CAAC,CAAC;AAAA,MAC3F;AACA;AAAA,IACJ,KAAK;AACD,UAAI,aAAa,UAAa,iBAAiB,QAAW;AACtD,gBAAQ,IAAI,0DAA0D;AACtE;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,YAAY,QAAQ;AAC5C,YAAM,QAAQ,MAAM,IAAI,gBAAgB,YAAY;AACpD,cAAQ;AAAA,QACJ,+BAA+B,QAAQ,MAAM;AAAA,UACzC;AAAA,UACA;AAAA,QACJ,CAAC,gBAAgB,OAAO,WAAW,MAAM,QAAQ,MAAM,IAAY,cAAc,CAAC,CAAC;AAAA,MACvF;AACA;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,UAAU;AACrC,YAAM,QAAQ,MAAM,OAAO,cAAc;AACzC,cAAQ,IAAI,gCAAgC;AAC5C;AAAA,EACR;AACJ;AAEA,eAAe,oBACX,SACA,MAKF;AACE,QAAM,EAAE,QAAQ,YAAY,yBAAyB,IAAI;AACzD,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,cAAQ;AAAA,QACJ,6CAA6C,MAAM,QAAQ,MAAM;AAAA,UAC7D;AAAA,UACA;AAAA,QACJ,CAAC,2BAA2B,OAAO;AAAA,UAC/B,MAAM,QAAQ,MAAM,IAAY,4BAA4B,EAAE;AAAA,QAClE,CAAC;AAAA,MACL;AACA;AAAA,IACJ,KAAK;AACD,UAAI,eAAe,UAAa,6BAA6B,QAAW;AACpE,gBAAQ,IAAI,mEAAmE;AAC/E;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,cAAc,UAAU;AAChD,YAAM,QAAQ,MAAM,IAAI,4BAA4B,wBAAwB;AAC5E,cAAQ;AAAA,QACJ,iCAAiC,MAAM,QAAQ,MAAM;AAAA,UACjD;AAAA,UACA;AAAA,QACJ,CAAC,0BAA0B,OAAO,WAAW,MAAM,QAAQ,MAAM,IAAY,0BAA0B,CAAC,CAAC;AAAA,MAC7G;AACA;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,YAAY;AACvC,YAAM,QAAQ,MAAM,OAAO,0BAA0B;AACrD,cAAQ,IAAI,yCAAyC;AACrD;AAAA,EACR;AACJ;AAEA,eAAe,gBACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,YAAM,UAAU,MAAM,QAAQ,MAAM,IAAa,sBAAsB,KAAK;AAC5E,cAAQ;AAAA,QACJ,oBAAoB,UAAU,oCAAoC,gCAAgC;AAAA,MACtG;AACA;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,+DAA+D;AAC3E;AAAA,MACJ;AACA,YAAM,WAAW,UAAU;AAC3B,YAAM,QAAQ,MAAM,IAAI,sBAAsB,QAAQ;AACtD,cAAQ;AAAA,QACJ,oBAAoB,WAAW,oCAAoC,gCAAgC;AAAA,MACvG;AACA;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,oBAAoB;AAC/C,cAAQ;AAAA,QACJ;AAAA,MACJ;AACA;AAAA,EACR;AACJ;AAEA,eAAe,sBACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK;AACD,YAAM,UAAU,MAAM,QAAQ,MAAM,IAAa,4BAA4B,KAAK;AAClF,cAAQ;AAAA,QACJ,0BAA0B,UAAU,yCAAyC,4BAA4B;AAAA,MAC7G;AACA;AAAA,IACJ,KAAK;AACD,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,qEAAqE;AACjF;AAAA,MACJ;AACA,YAAM,WAAW,UAAU;AAC3B,YAAM,QAAQ,MAAM,IAAI,4BAA4B,QAAQ;AAG5D,YAAM,QAAQ,YAAY,MAAM,qBAAqB;AAErD,cAAQ;AAAA,QACJ,0BAA0B,WAAW,yCAAyC,4BAA4B;AAAA,MAC9G;AACA;AAAA,IACJ,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,0BAA0B;AAGrD,YAAM,QAAQ,YAAY,MAAM,qBAAqB;AAErD,cAAQ;AAAA,QACJ;AAAA,MACJ;AACA;AAAA,EACR;AACJ;AAEA,eAAe,oBACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK,OAAO;AACR,YAAM,SAAS,MAAM,QAAQ,MAAM,IAAa,+BAA+B,KAAK;AACpF,cAAQ;AAAA,QACJ,uBAAuB,SAAS,oDAAoD,gCAAgC;AAAA,MACxH;AACA;AAAA,IACJ;AAAA,IACA,KAAK,OAAO;AACR,UAAI,UAAU,QAAW;AACrB,gBAAQ,IAAI,kEAAkE;AAC9E;AAAA,MACJ;AACA,YAAM,WAAW,UAAU;AAC3B,YAAM,QAAQ,MAAM,IAAI,+BAA+B,QAAQ;AAC/D,cAAQ;AAAA,QACJ,uBAAuB,WAAW,oDAAoD,gCAAgC;AAAA,MAC1H;AACA;AAAA,IACJ;AAAA,IACA,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,6BAA6B;AACxD,cAAQ,IAAI,yDAAyD;AACrE;AAAA,EACR;AACJ;AAEA,eAAe,sBACX,SACA,MAIF;AACE,QAAM,EAAE,QAAQ,MAAM,IAAI;AAC1B,UAAQ,QAAQ;AAAA,IACZ,KAAK,OAAO;AACR,YAAM,SAAS,MAAM,QAAQ,MAAM,IAAY,uBAAuB,EAAE;AACxE,YAAM,OAAO,WAAW,SAAS,WAAW,QAAQ,SAAS;AAC7D,cAAQ,IAAI,yBAAyB,SAAS,SAAY,4BAA4B,KAAK,YAAY,CAAC,EAAE;AAC1G;AAAA,IACJ;AAAA,IACA,KAAK,OAAO;AACR,UAAI,UAAU,SAAS,UAAU,OAAO;AACpC,gBAAQ,IAAI,8DAA8D;AAC1E;AAAA,MACJ;AACA,YAAM,QAAQ,MAAM,IAAI,uBAAuB,KAAK;AACpD,cAAQ;AAAA,QACJ,yBAAyB,MAAM,YAAY,CAAC;AAAA,MAChD;AACA;AAAA,IACJ;AAAA,IACA,KAAK;AACD,YAAM,QAAQ,MAAM,OAAO,qBAAqB;AAChD,cAAQ;AAAA,QACJ;AAAA,MACJ;AACA;AAAA,EACR;AACJ;",
5
5
  "names": ["yargs"]
6
6
  }
@@ -142,9 +142,7 @@ Peer Descriptor for node ${nodeIdStr}:`);
142
142
  if (dd.VP) console.log(` Vendor/Prod: ${dd.VP}`);
143
143
  if (dd.DT !== void 0) console.log(` Device Type: ${dd.DT}`);
144
144
  if (dd.T !== void 0) {
145
- const tcpClient = !!(dd.T & 2);
146
- const tcpServer = !!(dd.T & 4);
147
- console.log(` TCP Support: T=${dd.T} (client=${tcpClient}, server=${tcpServer})`);
145
+ console.log(` TCP Support: client=${dd.T.tcpClient}, server=${dd.T.tcpServer}`);
148
146
  } else {
149
147
  console.log(` TCP Support: not advertised`);
150
148
  }
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs-shell",
3
- "version": "0.17.0-alpha.0-20260507-059f7763b",
3
+ "version": "0.17.0-alpha.0-20260508-96d5c3a88",
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.0-alpha.0-20260507-059f7763b",
38
- "@matter/model": "0.17.0-alpha.0-20260507-059f7763b",
39
- "@matter/node": "0.17.0-alpha.0-20260507-059f7763b",
40
- "@matter/nodejs": "0.17.0-alpha.0-20260507-059f7763b",
41
- "@matter/nodejs-ble": "0.17.0-alpha.0-20260507-059f7763b",
42
- "@matter/protocol": "0.17.0-alpha.0-20260507-059f7763b",
43
- "@matter/types": "0.17.0-alpha.0-20260507-059f7763b",
44
- "@project-chip/matter.js": "0.17.0-alpha.0-20260507-059f7763b",
37
+ "@matter/general": "0.17.0-alpha.0-20260508-96d5c3a88",
38
+ "@matter/model": "0.17.0-alpha.0-20260508-96d5c3a88",
39
+ "@matter/node": "0.17.0-alpha.0-20260508-96d5c3a88",
40
+ "@matter/nodejs": "0.17.0-alpha.0-20260508-96d5c3a88",
41
+ "@matter/nodejs-ble": "0.17.0-alpha.0-20260508-96d5c3a88",
42
+ "@matter/protocol": "0.17.0-alpha.0-20260508-96d5c3a88",
43
+ "@matter/types": "0.17.0-alpha.0-20260508-96d5c3a88",
44
+ "@project-chip/matter.js": "0.17.0-alpha.0-20260508-96d5c3a88",
45
45
  "ws": "^8.20.0",
46
46
  "yargs": "^18.0.0"
47
47
  },
package/src/MatterNode.ts CHANGED
@@ -33,6 +33,7 @@ export class MatterNode {
33
33
  readonly #netInterface?: string;
34
34
  #dclFetchTestCertificates = false;
35
35
  #allowTestOtaImages = false;
36
+ #transportPreference?: "tcp" | "udp";
36
37
  #observers?: ObserverGroup;
37
38
 
38
39
  constructor(nodeNum: number, netInterface?: string) {
@@ -88,8 +89,18 @@ export class MatterNode {
88
89
  this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
89
90
  }
90
91
 
91
- // Build up the "Not-so-legacy" Controller
92
92
  const id = `shell-${this.#nodeNum.toString()}`;
93
+
94
+ // Open storage up front so persisted settings can flow into the CommissioningController constructor.
95
+ this.#storageManager = await this.#environment.get(StorageService).open(id);
96
+ this.#storageContext = this.#storageManager.createContext("Node");
97
+
98
+ this.#dclFetchTestCertificates = await this.#storageContext.get<boolean>("DclFetchTestCertificates", false);
99
+ this.#allowTestOtaImages = await this.#storageContext.get<boolean>("AllowTestOtaImages", false);
100
+ const storedPref = await this.#storageContext.get<string>("TransportPreference", "");
101
+ this.#transportPreference = storedPref === "tcp" || storedPref === "udp" ? storedPref : undefined;
102
+
103
+ // Build up the "Not-so-legacy" Controller
93
104
  this.commissioningController = new CommissioningController({
94
105
  environment: {
95
106
  environment: this.#environment,
@@ -99,6 +110,7 @@ export class MatterNode {
99
110
  adminFabricLabel: "matter.js Shell",
100
111
  enableOtaProvider: true,
101
112
  tcp: true,
113
+ transportPreference: this.#transportPreference,
102
114
  basicInformation: {
103
115
  productName: "matter.js Shell",
104
116
  },
@@ -112,17 +124,6 @@ export class MatterNode {
112
124
  if (resetStorage) {
113
125
  await this.commissioningController.node.erase();
114
126
  }
115
-
116
- // We side open a storage with the same ID as the ServerNode but only care about the "Node" sub context which
117
- // is consistent.
118
- this.#storageManager = await env.get(StorageService).open(id);
119
- this.#storageContext = this.#storageManager.createContext("Node");
120
-
121
- // Read DCL test certificates setting
122
- this.#dclFetchTestCertificates = await this.#storageContext.get<boolean>("DclFetchTestCertificates", false);
123
-
124
- // Read OTA test images setting
125
- this.#allowTestOtaImages = await this.#storageContext.get<boolean>("AllowTestOtaImages", false);
126
127
  } else {
127
128
  console.log(
128
129
  "Legacy support was removed in Matter.js 0.13. Please downgrade or migrate the storage manually",
@@ -148,6 +148,40 @@ export default function commands(theNode: MatterNode) {
148
148
  const count = (await theNode.certificateService()).certificates.length;
149
149
  console.log(`Total certificates in storage: ${count}`);
150
150
  },
151
+ )
152
+ .command(
153
+ "check-revoked <issuer-key-id> <serial-number>",
154
+ "Check if a certificate is revoked (fetches from DCL on demand)",
155
+ yargs => {
156
+ return yargs
157
+ .positional("issuer-key-id", {
158
+ describe: "Authority Key Identifier of the issuer (hex, with or without colons)",
159
+ type: "string",
160
+ demandOption: true,
161
+ })
162
+ .positional("serial-number", {
163
+ describe: "Serial number of the certificate to check (hex)",
164
+ type: "string",
165
+ demandOption: true,
166
+ });
167
+ },
168
+ async argv => {
169
+ const { issuerKeyId, serialNumber } = argv;
170
+ await theNode.start();
171
+ const service = await theNode.certificateService();
172
+
173
+ console.log("Checking revocation status against DCL...");
174
+ const revoked = await service.isRevoked(issuerKeyId, serialNumber);
175
+ if (revoked) {
176
+ console.log(
177
+ `REVOKED: Certificate with serial ${serialNumber} (issuer ${issuerKeyId}) is revoked.`,
178
+ );
179
+ } else {
180
+ console.log(
181
+ `OK: Certificate with serial ${serialNumber} (issuer ${issuerKeyId}) is not revoked.`,
182
+ );
183
+ }
184
+ },
151
185
  ),
152
186
  handler: async (argv: any) => {
153
187
  argv.unhandled = true;
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Diagnostic, MatterError } from "@matter/general";
7
+ import { Diagnostic, Logger, MatterError } from "@matter/general";
8
8
  import { DiscoveryCapabilitiesSchema, ManualPairingCodeCodec, NodeId, QrCode, QrPairingCodeCodec } from "@matter/types";
9
9
  import { BasicInformationCluster, DescriptorCluster, GeneralCommissioning } from "@matter/types/clusters";
10
10
  import { NodeCommissioningOptions } from "@project-chip/matter.js";
@@ -12,6 +12,8 @@ import type { Argv } from "yargs";
12
12
  import { MatterNode } from "../MatterNode.js";
13
13
  import { createDiagnosticCallbacks } from "./cmd_nodes.js";
14
14
 
15
+ const logger = Logger.get("Commission");
16
+
15
17
  export default function commands(theNode: MatterNode) {
16
18
  return {
17
19
  command: "commission",
@@ -130,14 +132,35 @@ export default function commands(theNode: MatterNode) {
130
132
  ...createDiagnosticCallbacks(),
131
133
  } as NodeCommissioningOptions;
132
134
 
135
+ // Attestation policy: strict rejects errors but allows warnings/info
136
+ const strictAttestation = await theNode.Store.get<boolean>(
137
+ "StrictAttestationValidation",
138
+ false,
139
+ );
140
+
133
141
  options.commissioning = {
134
142
  nodeId: nodeId !== undefined ? NodeId(nodeId) : undefined,
135
143
  regulatoryLocation: GeneralCommissioning.RegulatoryLocationType.Outdoor, // Set to the most restrictive if relevant
136
144
  regulatoryCountryCode: "XX",
145
+ onAttestationFailure: findings => {
146
+ const accept = strictAttestation
147
+ ? findings.every(f => f.level !== "error")
148
+ : true;
149
+ for (const f of findings) {
150
+ logger.info(
151
+ `Attestation finding ${accept ? "accepted" : "rejected"} (${f.level}):`,
152
+ f.type,
153
+ f.message,
154
+ );
155
+ }
156
+ return accept;
157
+ },
137
158
  };
138
159
 
139
160
  console.log(Diagnostic.json(options));
140
161
 
162
+ await theNode.certificateService();
163
+
141
164
  if (theNode.Store.has("WiFiSsid") && theNode.Store.has("WiFiPassword")) {
142
165
  options.commissioning.wifiNetwork = {
143
166
  wifiSsid: await theNode.Store.get<string>("WiFiSsid", ""),
@@ -291,6 +291,76 @@ export default function commands(theNode: MatterNode) {
291
291
  async argv => doDclTestCertificates(theNode, { action: "set", ...argv }),
292
292
  );
293
293
  },
294
+ )
295
+
296
+ // Strict Certificate Validation
297
+ .command(
298
+ "strict-attestation",
299
+ "Manage strict device attestation validation during commissioning",
300
+ yargs => {
301
+ return yargs
302
+ .command(
303
+ "* [action]",
304
+ "Get, set, or delete the strict attestation setting",
305
+ yargs => {
306
+ return yargs.positional("action", {
307
+ describe: "get/delete",
308
+ choices: ["get", "delete"] as const,
309
+ default: "get",
310
+ type: "string",
311
+ });
312
+ },
313
+ async argv => doStrictAttestation(theNode, argv),
314
+ )
315
+ .command(
316
+ "set <value>",
317
+ "Enable or disable strict attestation validation",
318
+ yargs => {
319
+ return yargs.positional("value", {
320
+ describe: "Enable strict attestation (true/false)",
321
+ type: "string",
322
+ choices: ["true", "false"] as const,
323
+ demandOption: true,
324
+ });
325
+ },
326
+ async argv => doStrictAttestation(theNode, { action: "set", ...argv }),
327
+ );
328
+ },
329
+ )
330
+
331
+ // Transport Preference (TCP vs UDP) for outgoing connections
332
+ .command(
333
+ "transport-preference",
334
+ "Manage preferred transport (TCP/UDP) for outgoing connections from this controller",
335
+ yargs => {
336
+ return yargs
337
+ .command(
338
+ "* [action]",
339
+ "Get or delete the transport preference",
340
+ yargs => {
341
+ return yargs.positional("action", {
342
+ describe: "get/delete",
343
+ choices: ["get", "delete"] as const,
344
+ default: "get",
345
+ type: "string",
346
+ });
347
+ },
348
+ async argv => doTransportPreference(theNode, argv),
349
+ )
350
+ .command(
351
+ "set <value>",
352
+ "Set transport preference for outgoing connections",
353
+ yargs => {
354
+ return yargs.positional("value", {
355
+ describe: "Preferred transport",
356
+ type: "string",
357
+ choices: ["tcp", "udp"] as const,
358
+ demandOption: true,
359
+ });
360
+ },
361
+ async argv => doTransportPreference(theNode, { action: "set", ...argv }),
362
+ );
363
+ },
294
364
  ),
295
365
  handler: async (argv: any) => {
296
366
  argv.unhandled = true;
@@ -573,3 +643,73 @@ async function doDclTestCertificates(
573
643
  break;
574
644
  }
575
645
  }
646
+
647
+ async function doStrictAttestation(
648
+ theNode: MatterNode,
649
+ args: {
650
+ action: string;
651
+ value?: string;
652
+ },
653
+ ) {
654
+ const { action, value } = args;
655
+ switch (action) {
656
+ case "get": {
657
+ const strict = await theNode.Store.get<boolean>("StrictAttestationValidation", false);
658
+ console.log(
659
+ `Strict attestation: ${strict ? "enabled (reject on errors, allow warnings/info)" : "disabled (accept all findings)"}`,
660
+ );
661
+ break;
662
+ }
663
+ case "set": {
664
+ if (value === undefined) {
665
+ console.log(`Cannot change strict attestation setting: New value not provided`);
666
+ return;
667
+ }
668
+ const newValue = value === "true";
669
+ await theNode.Store.set("StrictAttestationValidation", newValue);
670
+ console.log(
671
+ `Strict attestation: ${newValue ? "enabled (reject on errors, allow warnings/info)" : "disabled (accept all findings)"}`,
672
+ );
673
+ break;
674
+ }
675
+ case "delete":
676
+ await theNode.Store.delete("StrictAttestationValidation");
677
+ console.log(`Strict attestation setting reset to default (disabled).`);
678
+ break;
679
+ }
680
+ }
681
+
682
+ async function doTransportPreference(
683
+ theNode: MatterNode,
684
+ args: {
685
+ action: string;
686
+ value?: string;
687
+ },
688
+ ) {
689
+ const { action, value } = args;
690
+ switch (action) {
691
+ case "get": {
692
+ const stored = await theNode.Store.get<string>("TransportPreference", "");
693
+ const pref = stored === "tcp" || stored === "udp" ? stored : undefined;
694
+ console.log(`Transport preference: ${pref === undefined ? "default (UDP-preferred)" : pref.toUpperCase()}`);
695
+ break;
696
+ }
697
+ case "set": {
698
+ if (value !== "tcp" && value !== "udp") {
699
+ console.log(`Cannot change transport preference: value must be tcp or udp`);
700
+ return;
701
+ }
702
+ await theNode.Store.set("TransportPreference", value);
703
+ console.log(
704
+ `Transport preference: ${value.toUpperCase()}. Please restart the shell for the change to take effect.`,
705
+ );
706
+ break;
707
+ }
708
+ case "delete":
709
+ await theNode.Store.delete("TransportPreference");
710
+ console.log(
711
+ `Transport preference reset to default (UDP-preferred). Please restart the shell for the change to take effect.`,
712
+ );
713
+ break;
714
+ }
715
+ }
@@ -162,9 +162,7 @@ export default function commands(theNode: MatterNode) {
162
162
  if (dd.VP) console.log(` Vendor/Prod: ${dd.VP}`);
163
163
  if (dd.DT !== undefined) console.log(` Device Type: ${dd.DT}`);
164
164
  if (dd.T !== undefined) {
165
- const tcpClient = !!(dd.T & 0x02);
166
- const tcpServer = !!(dd.T & 0x04);
167
- console.log(` TCP Support: T=${dd.T} (client=${tcpClient}, server=${tcpServer})`);
165
+ console.log(` TCP Support: client=${dd.T.tcpClient}, server=${dd.T.tcpServer}`);
168
166
  } else {
169
167
  console.log(` TCP Support: not advertised`);
170
168
  }