@matter/nodejs-shell 0.16.0-alpha.0-20251225-3f0d1cec0 → 0.16.0-alpha.0-20251226-89f0876ec

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.
@@ -17,6 +17,7 @@ import { join } from "node:path";
17
17
  const logger = Logger.get("Node");
18
18
  class MatterNode {
19
19
  #storageLocation;
20
+ #storageManager;
20
21
  #storageContext;
21
22
  #environment;
22
23
  commissioningController;
@@ -91,7 +92,8 @@ class MatterNode {
91
92
  if (resetStorage) {
92
93
  await this.commissioningController.node.erase();
93
94
  }
94
- this.#storageContext = (await storageService.open(id)).createContext("Node");
95
+ this.#storageManager = await storageService.open(id);
96
+ this.#storageContext = this.#storageManager.createContext("Node");
95
97
  this.#dclFetchTestCertificates = await this.#storageContext.get("DclFetchTestCertificates", false);
96
98
  } else {
97
99
  console.log(
@@ -110,6 +112,7 @@ class MatterNode {
110
112
  await this.commissioningController?.close();
111
113
  await this.#services?.close();
112
114
  this.#observers?.close();
115
+ await this.#storageManager?.close();
113
116
  }
114
117
  async start() {
115
118
  if (this.#started) {
@@ -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
  }
@@ -229,7 +229,7 @@ async function doLogLevel(theNode, args) {
229
229
  return;
230
230
  }
231
231
  await theNode.Store.set(storageKey, value);
232
- console.log(`New Loglevel for ${logtype}:" ${value}"`);
232
+ console.log(`New Loglevel for ${logtype}: "${value}"`);
233
233
  setLogLevel(args.type === "console" ? "default" : "file", value);
234
234
  break;
235
235
  case "delete":
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs-shell",
3
- "version": "0.16.0-alpha.0-20251225-3f0d1cec0",
3
+ "version": "0.16.0-alpha.0-20251226-89f0876ec",
4
4
  "description": "Shell app for Matter controller",
5
5
  "keywords": [
6
6
  "iot",
@@ -43,15 +43,15 @@
43
43
  "#types": "@matter/types"
44
44
  },
45
45
  "dependencies": {
46
- "@matter/general": "0.16.0-alpha.0-20251225-3f0d1cec0",
47
- "@matter/model": "0.16.0-alpha.0-20251225-3f0d1cec0",
48
- "@matter/node": "0.16.0-alpha.0-20251225-3f0d1cec0",
49
- "@matter/nodejs": "0.16.0-alpha.0-20251225-3f0d1cec0",
50
- "@matter/nodejs-ble": "0.16.0-alpha.0-20251225-3f0d1cec0",
51
- "@matter/protocol": "0.16.0-alpha.0-20251225-3f0d1cec0",
52
- "@matter/tools": "0.16.0-alpha.0-20251225-3f0d1cec0",
53
- "@matter/types": "0.16.0-alpha.0-20251225-3f0d1cec0",
54
- "@project-chip/matter.js": "0.16.0-alpha.0-20251225-3f0d1cec0",
46
+ "@matter/general": "0.16.0-alpha.0-20251226-89f0876ec",
47
+ "@matter/model": "0.16.0-alpha.0-20251226-89f0876ec",
48
+ "@matter/node": "0.16.0-alpha.0-20251226-89f0876ec",
49
+ "@matter/nodejs": "0.16.0-alpha.0-20251226-89f0876ec",
50
+ "@matter/nodejs-ble": "0.16.0-alpha.0-20251226-89f0876ec",
51
+ "@matter/protocol": "0.16.0-alpha.0-20251226-89f0876ec",
52
+ "@matter/tools": "0.16.0-alpha.0-20251226-89f0876ec",
53
+ "@matter/types": "0.16.0-alpha.0-20251226-89f0876ec",
54
+ "@project-chip/matter.js": "0.16.0-alpha.0-20251226-89f0876ec",
55
55
  "ws": "^8.18.3",
56
56
  "yargs": "^18.0.0"
57
57
  },
package/src/MatterNode.ts CHANGED
@@ -11,6 +11,7 @@ import {
11
11
  ObserverGroup,
12
12
  SharedEnvironmentServices,
13
13
  StorageContext,
14
+ StorageManager,
14
15
  StorageService,
15
16
  } from "#general";
16
17
  import { ServerNode, SoftwareUpdateManager } from "#node";
@@ -24,6 +25,7 @@ const logger = Logger.get("Node");
24
25
 
25
26
  export class MatterNode {
26
27
  #storageLocation?: string;
28
+ #storageManager?: StorageManager;
27
29
  #storageContext?: StorageContext;
28
30
  readonly #environment: Environment;
29
31
  commissioningController?: CommissioningController;
@@ -118,7 +120,11 @@ export class MatterNode {
118
120
  if (resetStorage) {
119
121
  await this.commissioningController.node.erase();
120
122
  }
121
- this.#storageContext = (await storageService.open(id)).createContext("Node");
123
+
124
+ // We side open a storage with the same ID as the ServerNode but only care about the "Node" sub context which
125
+ // is consistent.
126
+ this.#storageManager = await storageService.open(id);
127
+ this.#storageContext = this.#storageManager.createContext("Node");
122
128
 
123
129
  // Read DCL test certificates setting
124
130
  this.#dclFetchTestCertificates = await this.#storageContext.get<boolean>("DclFetchTestCertificates", false);
@@ -141,6 +147,7 @@ export class MatterNode {
141
147
  await this.commissioningController?.close();
142
148
  await this.#services?.close();
143
149
  this.#observers?.close();
150
+ await this.#storageManager?.close();
144
151
  }
145
152
 
146
153
  async start() {
@@ -284,7 +284,7 @@ async function doLogLevel(
284
284
  return;
285
285
  }
286
286
  await theNode.Store.set(storageKey, value);
287
- console.log(`New Loglevel for ${logtype}:" ${value}"`);
287
+ console.log(`New Loglevel for ${logtype}: "${value}"`);
288
288
  setLogLevel(args.type === "console" ? "default" : "file", value);
289
289
  break;
290
290
  case "delete":
@@ -484,7 +484,7 @@ async function doDclTestCertificates(
484
484
  const newValue = value === "true";
485
485
  await theNode.Store.set("DclFetchTestCertificates", newValue);
486
486
 
487
- // Close existing certificate service so it gets re-initialized with new setting
487
+ // Close the existing certificate service so it gets re-initialized with new setting
488
488
  await theNode.environment.close(DclCertificateService);
489
489
 
490
490
  console.log(
@@ -494,7 +494,7 @@ async function doDclTestCertificates(
494
494
  case "delete":
495
495
  await theNode.Store.delete("DclFetchTestCertificates");
496
496
 
497
- // Close existing certificate service so it gets re-initialized with new setting
497
+ // Close the existing certificate service so it gets re-initialized with new setting
498
498
  await theNode.environment.close(DclCertificateService);
499
499
 
500
500
  console.log(