@matter/nodejs-shell 0.13.1-alpha.0-20250501-80c86b03e → 0.13.1-alpha.0-20250502-43a54f780

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.
@@ -33,27 +33,28 @@ var import_node_path = require("node:path");
33
33
  */
34
34
  const logger = import_general.Logger.get("Node");
35
35
  class MatterNode {
36
+ #storageLocation;
37
+ #storageContext;
38
+ #environment;
39
+ commissioningController;
40
+ #started = false;
41
+ #nodeNum;
42
+ #netInterface;
36
43
  constructor(nodeNum, netInterface) {
37
- this.nodeNum = nodeNum;
38
- this.netInterface = netInterface;
39
44
  this.#environment = import_general.Environment.default;
40
45
  this.#environment.runtime.add(this);
46
+ this.#nodeNum = nodeNum;
47
+ this.#netInterface = netInterface;
41
48
  }
42
- #storageLocation;
43
- storage;
44
- storageContext;
45
- #environment;
46
- commissioningController;
47
- started = false;
48
49
  get storageLocation() {
49
50
  return this.#storageLocation;
50
51
  }
51
52
  async initialize(resetStorage) {
52
53
  if (this.#environment) {
53
- if (this.netInterface !== void 0) {
54
- this.#environment.vars.set("mdns.networkinterface", this.netInterface);
54
+ if (this.#netInterface !== void 0) {
55
+ this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
55
56
  }
56
- const id = `shell-${this.nodeNum.toString()}`;
57
+ const id = `shell-${this.#nodeNum.toString()}`;
57
58
  this.commissioningController = new import_matter.CommissioningController({
58
59
  environment: {
59
60
  environment: this.#environment,
@@ -67,7 +68,7 @@ class MatterNode {
67
68
  if (resetStorage) {
68
69
  await controllerStore.erase();
69
70
  }
70
- this.storageContext = controllerStore.storage.createContext("Node");
71
+ this.#storageContext = controllerStore.storage.createContext("Node");
71
72
  const storageService = this.#environment.get(import_general.StorageService);
72
73
  const baseLocation = storageService.location;
73
74
  if (baseLocation !== void 0) {
@@ -81,23 +82,19 @@ class MatterNode {
81
82
  }
82
83
  }
83
84
  get Store() {
84
- if (!this.storageContext) {
85
+ if (!this.#storageContext) {
85
86
  throw new Error("Storage uninitialized");
86
87
  }
87
- return this.storageContext;
88
+ return this.#storageContext;
88
89
  }
89
90
  async close() {
90
91
  await this.commissioningController?.close();
91
- return await this.closeStorage();
92
- }
93
- async closeStorage() {
94
- await this.storage?.close();
95
92
  }
96
93
  async start() {
97
- if (this.started) {
94
+ if (this.#started) {
98
95
  return;
99
96
  }
100
- logger.info(`matter.js shell controller started for node ${this.nodeNum}`);
97
+ logger.info(`matter.js shell controller started for node ${this.#nodeNum}`);
101
98
  if (this.commissioningController !== void 0) {
102
99
  await this.commissioningController.start();
103
100
  if (await this.Store.has("ControllerFabricLabel")) {
@@ -108,7 +105,7 @@ class MatterNode {
108
105
  } else {
109
106
  throw new Error("No controller initialized");
110
107
  }
111
- this.started = true;
108
+ this.#started = true;
112
109
  }
113
110
  async connectAndGetNodes(nodeIdStr, connectOptions) {
114
111
  await this.start();
@@ -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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs-shell",
3
- "version": "0.13.1-alpha.0-20250501-80c86b03e",
3
+ "version": "0.13.1-alpha.0-20250502-43a54f780",
4
4
  "description": "Shell app for Matter controller",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,11 +36,11 @@
36
36
  "#types": "@matter/types"
37
37
  },
38
38
  "dependencies": {
39
- "@matter/general": "0.13.1-alpha.0-20250501-80c86b03e",
40
- "@matter/nodejs": "0.13.1-alpha.0-20250501-80c86b03e",
41
- "@matter/nodejs-ble": "0.13.1-alpha.0-20250501-80c86b03e",
42
- "@matter/tools": "0.13.1-alpha.0-20250501-80c86b03e",
43
- "@project-chip/matter.js": "0.13.1-alpha.0-20250501-80c86b03e",
39
+ "@matter/general": "0.13.1-alpha.0-20250502-43a54f780",
40
+ "@matter/nodejs": "0.13.1-alpha.0-20250502-43a54f780",
41
+ "@matter/nodejs-ble": "0.13.1-alpha.0-20250502-43a54f780",
42
+ "@matter/tools": "0.13.1-alpha.0-20250502-43a54f780",
43
+ "@project-chip/matter.js": "0.13.1-alpha.0-20250502-43a54f780",
44
44
  "yargs": "^17.7.2"
45
45
  },
46
46
  "engines": {
package/src/MatterNode.ts CHANGED
@@ -7,7 +7,6 @@
7
7
  // Include this first to auto-register Crypto, Network and Time Node.js implementations
8
8
  import { Environment, Logger, StorageContext, StorageService } from "@matter/general";
9
9
  import { ControllerStore } from "@matter/node";
10
- import { StorageBackendDisk } from "@matter/nodejs";
11
10
  import { EndpointInterface } from "@matter/protocol";
12
11
  import { NodeId } from "@matter/types";
13
12
  import { CommissioningController } from "@project-chip/matter.js";
@@ -18,19 +17,18 @@ const logger = Logger.get("Node");
18
17
 
19
18
  export class MatterNode {
20
19
  #storageLocation?: string;
21
- private storage?: StorageBackendDisk;
22
- private storageContext?: StorageContext;
23
-
24
- #environment?: Environment;
20
+ #storageContext?: StorageContext;
21
+ readonly #environment?: Environment;
25
22
  commissioningController?: CommissioningController;
26
- private started = false;
23
+ #started = false;
24
+ readonly #nodeNum: number;
25
+ readonly #netInterface?: string;
27
26
 
28
- constructor(
29
- private readonly nodeNum: number,
30
- private readonly netInterface?: string,
31
- ) {
27
+ constructor(nodeNum: number, netInterface?: string) {
32
28
  this.#environment = Environment.default;
33
29
  this.#environment.runtime.add(this);
30
+ this.#nodeNum = nodeNum;
31
+ this.#netInterface = netInterface;
34
32
  }
35
33
 
36
34
  get storageLocation() {
@@ -46,11 +44,11 @@ export class MatterNode {
46
44
  */
47
45
 
48
46
  if (this.#environment) {
49
- if (this.netInterface !== undefined) {
50
- this.#environment.vars.set("mdns.networkinterface", this.netInterface);
47
+ if (this.#netInterface !== undefined) {
48
+ this.#environment.vars.set("mdns.networkinterface", this.#netInterface);
51
49
  }
52
50
  // Build up the "Not-so-legacy" Controller
53
- const id = `shell-${this.nodeNum.toString()}`;
51
+ const id = `shell-${this.#nodeNum.toString()}`;
54
52
  this.commissioningController = new CommissioningController({
55
53
  environment: {
56
54
  environment: this.#environment,
@@ -65,7 +63,7 @@ export class MatterNode {
65
63
  if (resetStorage) {
66
64
  await controllerStore.erase();
67
65
  }
68
- this.storageContext = controllerStore.storage.createContext("Node");
66
+ this.#storageContext = controllerStore.storage.createContext("Node");
69
67
 
70
68
  const storageService = this.#environment.get(StorageService);
71
69
  const baseLocation = storageService.location;
@@ -81,26 +79,21 @@ export class MatterNode {
81
79
  }
82
80
 
83
81
  get Store() {
84
- if (!this.storageContext) {
82
+ if (!this.#storageContext) {
85
83
  throw new Error("Storage uninitialized");
86
84
  }
87
- return this.storageContext;
85
+ return this.#storageContext;
88
86
  }
89
87
 
90
88
  async close() {
91
89
  await this.commissioningController?.close();
92
- return await this.closeStorage();
93
- }
94
-
95
- async closeStorage() {
96
- await this.storage?.close();
97
90
  }
98
91
 
99
92
  async start() {
100
- if (this.started) {
93
+ if (this.#started) {
101
94
  return;
102
95
  }
103
- logger.info(`matter.js shell controller started for node ${this.nodeNum}`);
96
+ logger.info(`matter.js shell controller started for node ${this.#nodeNum}`);
104
97
 
105
98
  if (this.commissioningController !== undefined) {
106
99
  await this.commissioningController.start();
@@ -113,7 +106,7 @@ export class MatterNode {
113
106
  } else {
114
107
  throw new Error("No controller initialized");
115
108
  }
116
- this.started = true;
109
+ this.#started = true;
117
110
  }
118
111
 
119
112
  async connectAndGetNodes(nodeIdStr?: string, connectOptions?: CommissioningControllerNodeOptions) {