matter-server 0.5.10 → 0.5.12
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/dist/esm/MatterServer.d.ts.map +1 -1
- package/dist/esm/MatterServer.js +1 -1
- package/dist/esm/MatterServer.js.map +1 -1
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +19 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/converter/LegacyDataLoader.d.ts.map +1 -1
- package/dist/esm/converter/LegacyDataLoader.js +7 -5
- package/dist/esm/converter/LegacyDataLoader.js.map +1 -1
- package/package.json +8 -8
- package/src/MatterServer.ts +3 -3
- package/src/cli.ts +29 -2
- package/src/converter/LegacyDataLoader.ts +6 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatterServer.d.ts","sourceRoot":"","sources":["../../src/MatterServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"MatterServer.d.ts","sourceRoot":"","sources":["../../src/MatterServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,gCAAgC,CAAC"}
|
package/dist/esm/MatterServer.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2025-2026 Open Home Foundation
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import "@matter-server/custom-clusters";
|
|
6
7
|
import {
|
|
7
8
|
ConfigStorage,
|
|
8
9
|
Environment,
|
|
@@ -21,7 +22,6 @@ import { HealthHandler } from "./server/HealthHandler.js";
|
|
|
21
22
|
import { StaticFileHandler } from "./server/StaticFileHandler.js";
|
|
22
23
|
import { WebServer } from "./server/WebServer.js";
|
|
23
24
|
import { MATTER_SERVER_VERSION } from "./version.js";
|
|
24
|
-
import "@matter-server/custom-clusters";
|
|
25
25
|
const cliOptions = getCliOptions();
|
|
26
26
|
function mapLogLevel(level) {
|
|
27
27
|
switch (level) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MatterServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,qBAAmD;AAC5D,SAAS,kBAAkB,sBAAuC;AAClE,SAAS,wBAAwB;AACjC,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,iBAAiB;AAC1B,SAAS,6BAA6B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAKnC,QAAA,MAAM,UAAU,uEAAwE,CAAC;AAGzF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,UAAU;IAEvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAG7B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAG/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC,gBAAgB,EAAE,OAAO,CAAC;IAG1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;CAC3B;AAgCD,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAyJxD;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
|
package/dist/esm/cli.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Command, InvalidArgumentError, Option } from "commander";
|
|
7
7
|
import { readFileSync } from "node:fs";
|
|
8
|
-
import { homedir } from "node:os";
|
|
8
|
+
import { homedir, networkInterfaces } from "node:os";
|
|
9
9
|
import { dirname, join } from "node:path";
|
|
10
10
|
import { fileURLToPath } from "node:url";
|
|
11
11
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -92,6 +92,24 @@ function parseCliArgs(argv) {
|
|
|
92
92
|
} else if (process.env.LISTEN_ADDRESS) {
|
|
93
93
|
listenAddress = [process.env.LISTEN_ADDRESS];
|
|
94
94
|
}
|
|
95
|
+
if (listenAddress) {
|
|
96
|
+
const interfaces = networkInterfaces();
|
|
97
|
+
listenAddress = listenAddress.flatMap((address) => {
|
|
98
|
+
const match = address.match(/^{{(.+)}}$/);
|
|
99
|
+
if (match) {
|
|
100
|
+
const interfaceName = match[1];
|
|
101
|
+
const interfaceAddresses = interfaces[interfaceName] || [];
|
|
102
|
+
const normalizedInterfaceAddresses = interfaceAddresses.map(
|
|
103
|
+
(a) => a.address.toLowerCase().startsWith("fe80:") && !a.address.includes("%") ? `${a.address}%${interfaceName}` : a.address
|
|
104
|
+
);
|
|
105
|
+
if (normalizedInterfaceAddresses.length === 0) {
|
|
106
|
+
throw new InvalidArgumentError(`No valid IP address found for interface ${interfaceName}`);
|
|
107
|
+
}
|
|
108
|
+
return normalizedInterfaceAddresses;
|
|
109
|
+
}
|
|
110
|
+
return [address];
|
|
111
|
+
});
|
|
112
|
+
}
|
|
95
113
|
return {
|
|
96
114
|
vendorId: opts.vendorid,
|
|
97
115
|
fabricId: opts.fabricid ?? void 0,
|
package/dist/esm/cli.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/cli.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,SAAS,SAAS,sBAAsB,cAAc;AACtD,SAAS,oBAAoB;AAC7B,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyDataLoader.d.ts","sourceRoot":"","sources":["../../../src/converter/LegacyDataLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,iCAAiC,EAKjC,WAAW,EACX,sBAAsB,EACtB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"LegacyDataLoader.d.ts","sourceRoot":"","sources":["../../../src/converter/LegacyDataLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,iCAAiC,EAKjC,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAInB,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAsBzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAmD7F;AAcD,oCAAoC;AACpC,MAAM,WAAW,UAAU;IACvB,sDAAsD;IACtD,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,kDAAkD;IAClD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,qEAAqE;IACrE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,4EAA4E;IAC5E,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,gFAAgF;IAChF,0BAA0B,CAAC,EAAE,iCAAiC,CAAC;IAC/D,8EAA8E;IAC9E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,sCAAsC;AACtC,MAAM,WAAW,qBAAqB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAChC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,UAAU,CAAC,CAgKrB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,EACpC,UAAU,EAAE,gBAAgB,EAC5B,kBAAkB,UAAO,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAUD;;;;;;GAMG;AACH,qBAAa,gBAAgB;;gBAiBrB,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,sBAAsB,EACpC,eAAe,GAAE,MAAkC;IAQvD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAStE;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAS3C;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAwM/B"}
|
|
@@ -8,7 +8,9 @@ import {
|
|
|
8
8
|
computeServerId,
|
|
9
9
|
Crypto,
|
|
10
10
|
DEFAULT_SERVER_ID,
|
|
11
|
-
Logger
|
|
11
|
+
Logger,
|
|
12
|
+
parseBigIntAwareJson,
|
|
13
|
+
toBigIntAwareJson
|
|
12
14
|
} from "@matter-server/ws-controller";
|
|
13
15
|
import { Millis, Time } from "@matter/main";
|
|
14
16
|
import { access, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
@@ -151,7 +153,7 @@ async function loadLegacyData(env, storagePath, options) {
|
|
|
151
153
|
try {
|
|
152
154
|
await access(filePath);
|
|
153
155
|
const content = await readFile(filePath, "utf-8");
|
|
154
|
-
const serverFile =
|
|
156
|
+
const serverFile = parseBigIntAwareJson(content);
|
|
155
157
|
if (!serverFile.nodes) {
|
|
156
158
|
logger.warn(`Server file ${fileLabel} is missing "nodes" key. Loading anyway ...`);
|
|
157
159
|
serverFile.nodes = {};
|
|
@@ -221,7 +223,7 @@ async function saveLegacyServerFile(env, storagePath, fabricConfig, serverFile,
|
|
|
221
223
|
} else {
|
|
222
224
|
logger.debug(`Keeping existing backup intact (main file was corrupted)`);
|
|
223
225
|
}
|
|
224
|
-
const content =
|
|
226
|
+
const content = toBigIntAwareJson(serverFile, 2);
|
|
225
227
|
await writeFile(serverFilePath, content, "utf-8");
|
|
226
228
|
const nodeCount = Object.keys(serverFile.nodes).length;
|
|
227
229
|
logger.info(
|
|
@@ -347,7 +349,7 @@ class LegacyDataWriter {
|
|
|
347
349
|
let loadedFromMainFile = true;
|
|
348
350
|
try {
|
|
349
351
|
const content = await readFile(serverFilePath, "utf-8");
|
|
350
|
-
serverFile =
|
|
352
|
+
serverFile = parseBigIntAwareJson(content);
|
|
351
353
|
if (!serverFile.nodes) {
|
|
352
354
|
logger.warn(`Server file ${serverFileName} is missing "nodes" key`);
|
|
353
355
|
serverFile.nodes = {};
|
|
@@ -359,7 +361,7 @@ class LegacyDataWriter {
|
|
|
359
361
|
}
|
|
360
362
|
try {
|
|
361
363
|
const content = await readFile(backupFilePath, "utf-8");
|
|
362
|
-
serverFile =
|
|
364
|
+
serverFile = parseBigIntAwareJson(content);
|
|
363
365
|
if (!serverFile.nodes) {
|
|
364
366
|
logger.warn(`Backup file ${serverFileName}.backup is missing "nodes" key`);
|
|
365
367
|
serverFile.nodes = {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/converter/LegacyDataLoader.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA;AAAA,OACG;AACP,SAAS,QAAQ,YAAmB;AACpC,SAAS,QAAQ,UAAU,QAAQ,QAAQ,iBAAiB;AAC5D,SAAS,YAAY;AACrB,SAAS,mBAAmB,yBAAyB;AACrD,SAAS,sBAAsB;AAa/B,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAG5C,MAAM,yBAAyB;AAC/B,MAAM,4BAA4B;AAGlC,MAAM,mBAAmB;AACzB,MAAM,mBAAmB;AAelB,SAAS,6BAA6B,YAAkD;AAC3F,QAAM,cAAc,oBAAI,IAAoB;AAE5C,aAAW,YAAY,OAAO,OAAO,WAAW,KAAK,GAAG;AAEpD,UAAM,qBAAqB,SAAS,WAAW,yBAAyB;AACxE,QAAI,OAAO,uBAAuB,UAAU;AACxC;AAAA,IACJ;AAGA,UAAM,cAAc,SAAS,WAAW,sBAAsB;AAC9D,QAAI,CAAC,MAAM,QAAQ,WAAW,GAAG;AAC7B;AAAA,IACJ;AAGA,eAAW,oBAAoB,aAAa;AACxC,UACI,oBACA,OAAO,qBAAqB,YAC5B,iBAAiB,gBAAgB,MAAM,oBACzC;AACE,cAAM,QAAQ,iBAAiB,gBAAgB;AAC/C,YAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG;AAC/C,sBAAY,IAAI,QAAQ,YAAY,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,QAC5D;AACA;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,YAAY,SAAS,GAAG;AACxB,WAAO;AAAA,EACX;AAGA,MAAI;AACJ,MAAI,WAAW;AACf,aAAW,CAAC,OAAO,KAAK,KAAK,aAAa;AACtC,QAAI,QAAQ,UAAU;AAClB,iBAAW;AACX,wBAAkB;AAAA,IACtB;AAAA,EACJ;AAEA,MAAI,iBAAiB;AACjB,WAAO,KAAK,mCAAmC,eAAe,kBAAkB,QAAQ,WAAW;AAAA,EACvG;AAEA,SAAO;AACX;AAOA,SAAS,wBAAwB,UAA2B,UAAkB,eAAgC;AAC1G,MAAI,eAAe;AACf,WAAO;AAAA,EACX;AACA,SAAO,gBAAgB,UAAU,QAAQ;AAC7C;AA6CA,eAAsB,eAClB,KACA,aACA,SACmB;AACnB,QAAM,iBAAiB,SAAS,YAAY;AAC5C,QAAM,iBAAiB,SAAS,YAAY;AAE5C,QAAM,SAAqB;AAAA,IACvB,SAAS;AAAA,EACb;AAGA,MAAI;AACA,UAAM,OAAO,WAAW;AAAA,EAC5B,QAAQ;AACJ,WAAO,MAAM,gCAAgC,WAAW,EAAE;AAC1D,WAAO;AAAA,EACX;AAGA,QAAM,eAAe,KAAK,aAAa,WAAW;AAClD,MAAI;AACJ,MAAI;AACA,UAAM,OAAO,YAAY;AACzB,iBAAa,IAAI,eAAe;AAChC,UAAM,WAAW,KAAK,YAAY;AAClC,WAAO,aAAa;AAAA,EACxB,SAAS,KAAK;AACV,QAAK,IAA8B,SAAS,UAAU;AAClD,aAAO,QAAQ,4BAA4B,GAAG;AAC9C,aAAO,KAAK,OAAO,KAAK;AAAA,IAC5B,OAAO;AACH,aAAO,MAAM,yBAAyB,YAAY,EAAE;AAAA,IACxD;AACA,WAAO;AAAA,EACX;AAEA,SAAO,KAAK,gCAAgC,WAAW,QAAQ,IAAI,YAAY;AAG/E,QAAM,gBAAgB,WAAW,iBAAiB;AAClD,MAAI;AACJ,MAAI,gBAAgB;AAEpB,WAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC3C,UAAM,cAAc,cAAc,CAAC;AACnC,UAAM,SAAS,WAAW,gBAAgB,WAAW;AACrD,QAAI,UAAU,OAAO,iBAAiB,kBAAkB,OAAO,OAAO,QAAQ,MAAM,gBAAgB;AAChG,qBAAe;AACf,sBAAgB,MAAM;AACtB,aAAO;AAAA,QACH,kCAAkC,WAAW,gBAAgB,eAAe,SAAS,EAAE,CAAC,cAAc,cAAc,aAAa,aAAa;AAAA,MAClJ;AACA;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,CAAC,cAAc;AAEf,UAAM,eAAe,cAChB,IAAI,SAAO;AACR,YAAM,MAAM,WAAW,gBAAgB,GAAG;AAC1C,aAAO,MAAM,SAAS,GAAG,eAAe,IAAI,aAAa,SAAS,EAAE,CAAC,aAAa,IAAI,QAAQ,KAAK;AAAA,IACvG,CAAC,EACA,OAAO,OAAO;AAEnB,WAAO,QACH,uCAAuC,eAAe,SAAS,EAAE,CAAC,iBAAiB,cAAc,yBAC1E,aAAa,KAAK,IAAI,CAAC;AAClD,WAAO,KAAK,OAAO,KAAK;AACxB,WAAO;AAAA,EACX;AAEA,SAAO,eAAe;AACtB,SAAO,WAAW,wBAAwB,aAAa,UAAU,aAAa,cAAc,aAAa;AACzG,SAAO,UAAU;AACjB,SAAO;AAAA,IACH,qCAAqC,aAAa,QAAQ,gBAAgB,eAAe,SAAS,EAAE,CAAC,YAAY,aAAa,MAAM,cAAc,OAAO,QAAQ;AAAA,EACrK;AAGA,QAAM,cAAc,WAAW,iCAAiC;AAChE,MAAI,YAAY,SAAS,GAAG;AAExB,UAAM,YAAY,YAAY,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC;AAC7D,UAAM,QAAQ,WAAW,0BAA0B,SAAS;AAC5D,QAAI,OAAO;AACP,aAAO,yBAAyB;AAChC,aAAO,MAAM,8CAA8C,SAAS,EAAE;AAGtE,YAAM,WAAW,MAAM,WAAW,8BAA8B,SAAS;AACzE,UAAI,UAAU;AACV,eAAO,6BAA6B;AACpC,eAAO;AAAA,UACH,mCAAmC,SAAS,UAAU,aAAa,mBAAmB,YAAY,SAAS,kBAAkB,MAAS;AAAA,QAC1I;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAGA,QAAM,SAAS,IAAI,IAAI,MAAM;AAC7B,QAAM,qBAAqB,MAAM,wBAAwB,QAAQ,aAAa,UAAU,aAAa,aAAa;AAClH,QAAM,iBAAiB,GAAG,kBAAkB;AAC5C,QAAM,iBAAiB,KAAK,aAAa,cAAc;AAEvD,SAAO,MAAM,iCAAiC,cAAc,EAAE;AAG9D,QAAM,iBAAiB,GAAG,cAAc;AACxC,QAAM,aAAa,CAAC,gBAAgB,cAAc;AAElD,aAAW,YAAY,YAAY;AAC/B,UAAM,WAAW,aAAa;AAC9B,UAAM,YAAY,WAAW,GAAG,cAAc,YAAY;AAE1D,QAAI;AACA,YAAM,OAAO,QAAQ;AACrB,YAAM,UAAU,MAAM,SAAS,UAAU,OAAO;AAChD,YAAM,aAAa,
|
|
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-server",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "WebSocket Matter server based on matter.js",
|
|
6
6
|
"bugs": {
|
|
@@ -23,19 +23,19 @@
|
|
|
23
23
|
"node": ">=20.19.0 <22.0.0 || >=22.13.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@matter/main": "0.17.0-alpha.0-
|
|
27
|
-
"@matter-server/ws-controller": "0.5.
|
|
28
|
-
"@matter-server/dashboard": "0.5.
|
|
29
|
-
"@matter-server/custom-clusters": "0.5.
|
|
26
|
+
"@matter/main": "0.17.0-alpha.0-20260401-1edc54c9a",
|
|
27
|
+
"@matter-server/ws-controller": "0.5.12",
|
|
28
|
+
"@matter-server/dashboard": "0.5.12",
|
|
29
|
+
"@matter-server/custom-clusters": "0.5.12",
|
|
30
30
|
"commander": "^14.0.3",
|
|
31
31
|
"express": "^5.2.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/express": "^5.0.6",
|
|
35
35
|
"@types/node": "^25.5.0",
|
|
36
|
-
"@matter/nodejs": "0.17.0-alpha.0-
|
|
37
|
-
"@matter/testing": "0.17.0-alpha.0-
|
|
38
|
-
"@matter-server/ws-client": "0.5.
|
|
36
|
+
"@matter/nodejs": "0.17.0-alpha.0-20260401-1edc54c9a",
|
|
37
|
+
"@matter/testing": "0.17.0-alpha.0-20260401-1edc54c9a",
|
|
38
|
+
"@matter-server/ws-client": "0.5.12"
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
41
41
|
"dist/**/*",
|
package/src/MatterServer.ts
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* Copyright 2025-2026 Open Home Foundation
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
// Register the custom clusters
|
|
7
|
+
import "@matter-server/custom-clusters";
|
|
8
|
+
// Standard imports
|
|
7
9
|
import {
|
|
8
10
|
ConfigStorage,
|
|
9
11
|
Environment,
|
|
@@ -24,8 +26,6 @@ import { HealthHandler } from "./server/HealthHandler.js";
|
|
|
24
26
|
import { StaticFileHandler } from "./server/StaticFileHandler.js";
|
|
25
27
|
import { WebServer } from "./server/WebServer.js";
|
|
26
28
|
import { MATTER_SERVER_VERSION } from "./version.js";
|
|
27
|
-
// Register the custom clusters
|
|
28
|
-
import "@matter-server/custom-clusters";
|
|
29
29
|
|
|
30
30
|
// Parse CLI options early for logging setup
|
|
31
31
|
const cliOptions = getCliOptions();
|
package/src/cli.ts
CHANGED
|
@@ -11,14 +11,16 @@
|
|
|
11
11
|
|
|
12
12
|
import { Command, InvalidArgumentError, Option } from "commander";
|
|
13
13
|
import { readFileSync } from "node:fs";
|
|
14
|
-
import { homedir } from "node:os";
|
|
14
|
+
import { homedir, networkInterfaces } from "node:os";
|
|
15
15
|
import { dirname, join } from "node:path";
|
|
16
16
|
import { fileURLToPath } from "node:url";
|
|
17
17
|
|
|
18
18
|
// Read the version from package.json using an ESM-native approach
|
|
19
19
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
20
|
const packageJsonPath = join(__dirname, "../../package.json");
|
|
21
|
-
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8")) as {
|
|
21
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8")) as {
|
|
22
|
+
version: string;
|
|
23
|
+
};
|
|
22
24
|
const VERSION = packageJson.version;
|
|
23
25
|
|
|
24
26
|
// Default values (exported for use in LegacyDataLoader)
|
|
@@ -207,6 +209,31 @@ export function parseCliArgs(argv?: string[]): CliOptions {
|
|
|
207
209
|
listenAddress = [process.env.LISTEN_ADDRESS];
|
|
208
210
|
}
|
|
209
211
|
|
|
212
|
+
// Substitute {{interface}} patterns with all its IP addresses
|
|
213
|
+
if (listenAddress) {
|
|
214
|
+
const interfaces = networkInterfaces();
|
|
215
|
+
listenAddress = listenAddress.flatMap(address => {
|
|
216
|
+
const match = address.match(/^{{(.+)}}$/);
|
|
217
|
+
if (match) {
|
|
218
|
+
const interfaceName = match[1];
|
|
219
|
+
const interfaceAddresses = interfaces[interfaceName] || [];
|
|
220
|
+
|
|
221
|
+
// Add scope to ipv6 link local addresses
|
|
222
|
+
const normalizedInterfaceAddresses = interfaceAddresses.map(a =>
|
|
223
|
+
a.address.toLowerCase().startsWith("fe80:") && !a.address.includes("%")
|
|
224
|
+
? `${a.address}%${interfaceName}`
|
|
225
|
+
: a.address,
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
if (normalizedInterfaceAddresses.length === 0) {
|
|
229
|
+
throw new InvalidArgumentError(`No valid IP address found for interface ${interfaceName}`);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return normalizedInterfaceAddresses;
|
|
233
|
+
}
|
|
234
|
+
return [address];
|
|
235
|
+
});
|
|
236
|
+
}
|
|
210
237
|
return {
|
|
211
238
|
vendorId: opts.vendorid,
|
|
212
239
|
fabricId: opts.fabricid ?? undefined,
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
LegacyFabricConfigData,
|
|
15
15
|
LegacyServerFile,
|
|
16
16
|
Logger,
|
|
17
|
+
parseBigIntAwareJson,
|
|
18
|
+
toBigIntAwareJson,
|
|
17
19
|
} from "@matter-server/ws-controller";
|
|
18
20
|
import { Millis, Time, Timer } from "@matter/main";
|
|
19
21
|
import { access, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
@@ -284,7 +286,7 @@ export async function loadLegacyData(
|
|
|
284
286
|
try {
|
|
285
287
|
await access(filePath);
|
|
286
288
|
const content = await readFile(filePath, "utf-8");
|
|
287
|
-
const serverFile =
|
|
289
|
+
const serverFile = parseBigIntAwareJson(content) as LegacyServerFile;
|
|
288
290
|
|
|
289
291
|
// Warn if the nodes key is missing
|
|
290
292
|
if (!serverFile.nodes) {
|
|
@@ -401,7 +403,7 @@ export async function saveLegacyServerFile(
|
|
|
401
403
|
logger.debug(`Keeping existing backup intact (main file was corrupted)`);
|
|
402
404
|
}
|
|
403
405
|
|
|
404
|
-
const content =
|
|
406
|
+
const content = toBigIntAwareJson(serverFile, 2);
|
|
405
407
|
await writeFile(serverFilePath, content, "utf-8");
|
|
406
408
|
|
|
407
409
|
const nodeCount = Object.keys(serverFile.nodes).length;
|
|
@@ -587,7 +589,7 @@ export class LegacyDataWriter {
|
|
|
587
589
|
// First, try to load the main file
|
|
588
590
|
try {
|
|
589
591
|
const content = await readFile(serverFilePath, "utf-8");
|
|
590
|
-
serverFile =
|
|
592
|
+
serverFile = parseBigIntAwareJson(content) as LegacyServerFile;
|
|
591
593
|
|
|
592
594
|
// Warn if the nodes key is missing
|
|
593
595
|
if (!serverFile.nodes) {
|
|
@@ -603,7 +605,7 @@ export class LegacyDataWriter {
|
|
|
603
605
|
// Main file failed, try the backup
|
|
604
606
|
try {
|
|
605
607
|
const content = await readFile(backupFilePath, "utf-8");
|
|
606
|
-
serverFile =
|
|
608
|
+
serverFile = parseBigIntAwareJson(content) as LegacyServerFile;
|
|
607
609
|
|
|
608
610
|
// Warn if the nodes key is missing
|
|
609
611
|
if (!serverFile.nodes) {
|