matter-server 0.2.1 → 0.2.3

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.
@@ -24,6 +24,7 @@ import { StaticFileHandler } from "./server/StaticFileHandler.js";
24
24
  import { WebServer } from "./server/WebServer.js";
25
25
  import "@matter-server/custom-clusters";
26
26
  import { initializeOta } from "./ota.js";
27
+ import { MATTER_SERVER_VERSION } from "./version.js";
27
28
  async function createFileLogger(path) {
28
29
  const fileHandle = await open(path, "a");
29
30
  const writer = fileHandle.createWriteStream();
@@ -140,7 +141,7 @@ async function start() {
140
141
  });
141
142
  logger.info("Legacy data event handlers configured for node commissioning/decommissioning");
142
143
  }
143
- const handlers = [new WebSocketControllerHandler(controller, config)];
144
+ const handlers = [new WebSocketControllerHandler(controller, config, MATTER_SERVER_VERSION)];
144
145
  if (!cliOptions.disableDashboard) {
145
146
  handlers.push(new StaticFileHandler());
146
147
  } else {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MatterServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /** Cached matter-server version */
7
+ export declare const MATTER_SERVER_VERSION: string;
8
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwCH,mCAAmC;AACnC,eAAO,MAAM,qBAAqB,QAA2B,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { readFileSync } from "node:fs";
7
+ import { dirname, join } from "node:path";
8
+ import { fileURLToPath } from "node:url";
9
+ function getMatterServerVersion() {
10
+ const thisFile = fileURLToPath(import.meta.url);
11
+ let dir = dirname(thisFile);
12
+ while (dir !== "/") {
13
+ try {
14
+ const packageJsonPath = join(dir, "package.json");
15
+ const content = readFileSync(packageJsonPath, "utf-8");
16
+ const pkg = JSON.parse(content);
17
+ if (pkg.name === "matter-server") {
18
+ return pkg.version;
19
+ }
20
+ } catch {
21
+ }
22
+ dir = dirname(dir);
23
+ }
24
+ throw new Error("Could not find matter-server package.json");
25
+ }
26
+ const MATTER_SERVER_VERSION = getMatterServerVersion();
27
+ export {
28
+ MATTER_SERVER_VERSION
29
+ };
30
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/version.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,oBAAoB;AAC7B,SAAS,SAAS,YAAY;AAC9B,SAAS,qBAAqB;AAU9B,SAAS,yBAAiC;AAEtC,QAAM,WAAW,cAAc,YAAY,GAAG;AAC9C,MAAI,MAAM,QAAQ,QAAQ;AAG1B,SAAO,QAAQ,KAAK;AAChB,QAAI;AACA,YAAM,kBAAkB,KAAK,KAAK,cAAc;AAChD,YAAM,UAAU,aAAa,iBAAiB,OAAO;AACrD,YAAM,MAAM,KAAK,MAAM,OAAO;AAC9B,UAAI,IAAI,SAAS,iBAAiB;AAC9B,eAAO,IAAI;AAAA,MACf;AAAA,IACJ,QAAQ;AAAA,IAER;AACA,UAAM,QAAQ,GAAG;AAAA,EACrB;AACA,QAAM,IAAI,MAAM,2CAA2C;AAC/D;AAGO,MAAM,wBAAwB,uBAAuB;",
5
+ "names": []
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matter-server",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "type": "module",
5
5
  "description": "WebSocket Matter server based on matter.js",
6
6
  "bugs": {
@@ -23,18 +23,18 @@
23
23
  "node": ">=20.19.0 <22.0.0 || >=22.13.0"
24
24
  },
25
25
  "dependencies": {
26
- "@matter/main": "0.16.1",
27
- "@matter-server/ws-controller": "0.2.1",
28
- "@matter-server/dashboard": "0.2.1",
29
- "@matter-server/custom-clusters": "0.2.1",
26
+ "@matter/main": "0.16.4",
27
+ "@matter-server/ws-controller": "0.2.3",
28
+ "@matter-server/dashboard": "0.2.3",
29
+ "@matter-server/custom-clusters": "0.2.3",
30
30
  "commander": "^14.0.2",
31
31
  "express": "^5.2.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/express": "^5.0.6",
35
- "@types/node": "^25.0.3",
36
- "@matter/testing": "0.16.1",
37
- "@matter-server/ws-client": "0.2.1"
35
+ "@types/node": "^25.0.8",
36
+ "@matter/testing": "0.16.4",
37
+ "@matter-server/ws-client": "0.2.3"
38
38
  },
39
39
  "files": [
40
40
  "dist/**/*",
@@ -30,6 +30,7 @@ import { WebServer } from "./server/WebServer.js";
30
30
  // Register the custom clusters
31
31
  import "@matter-server/custom-clusters";
32
32
  import { initializeOta } from "./ota.js";
33
+ import { MATTER_SERVER_VERSION } from "./version.js";
33
34
 
34
35
  /**
35
36
  * Creates a file-based logger that appends to the given path.
@@ -177,7 +178,7 @@ async function start() {
177
178
  logger.info("Legacy data event handlers configured for node commissioning/decommissioning");
178
179
  }
179
180
 
180
- const handlers: WebServerHandler[] = [new WebSocketControllerHandler(controller, config)];
181
+ const handlers: WebServerHandler[] = [new WebSocketControllerHandler(controller, config, MATTER_SERVER_VERSION)];
181
182
  if (!cliOptions.disableDashboard) {
182
183
  handlers.push(new StaticFileHandler());
183
184
  } else {
package/src/version.ts ADDED
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * Utility to get the matter-server package version.
9
+ */
10
+
11
+ import { readFileSync } from "node:fs";
12
+ import { dirname, join } from "node:path";
13
+ import { fileURLToPath } from "node:url";
14
+
15
+ interface PackageJson {
16
+ version: string;
17
+ name?: string;
18
+ }
19
+
20
+ /**
21
+ * Get the version of the matter-server package.
22
+ */
23
+ function getMatterServerVersion(): string {
24
+ // Get the directory of this module
25
+ const thisFile = fileURLToPath(import.meta.url);
26
+ let dir = dirname(thisFile);
27
+
28
+ // Navigate up to find package.json
29
+ while (dir !== "/") {
30
+ try {
31
+ const packageJsonPath = join(dir, "package.json");
32
+ const content = readFileSync(packageJsonPath, "utf-8");
33
+ const pkg = JSON.parse(content) as PackageJson;
34
+ if (pkg.name === "matter-server") {
35
+ return pkg.version;
36
+ }
37
+ } catch {
38
+ // Continue searching
39
+ }
40
+ dir = dirname(dir);
41
+ }
42
+ throw new Error("Could not find matter-server package.json");
43
+ }
44
+
45
+ /** Cached matter-server version */
46
+ export const MATTER_SERVER_VERSION = getMatterServerVersion();