homebridge 2.0.0-alpha.37 → 2.0.0-alpha.39
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/config-sample.json +12 -1
- package/dist/api.d.ts +38 -20
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +38 -1
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +20 -1
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +8 -2
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +1 -1
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +1 -1
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +1 -0
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +6 -4
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +1 -4
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/matterConfigValidator.d.ts +34 -0
- package/dist/matterConfigValidator.d.ts.map +1 -0
- package/dist/matterConfigValidator.js +249 -0
- package/dist/matterConfigValidator.js.map +1 -0
- package/dist/matterService.d.ts +168 -0
- package/dist/matterService.d.ts.map +1 -0
- package/dist/matterService.js +677 -0
- package/dist/matterService.js.map +1 -0
- package/dist/matterTypes.d.ts +20 -0
- package/dist/matterTypes.d.ts.map +1 -0
- package/dist/matterTypes.js +278 -0
- package/dist/matterTypes.js.map +1 -0
- package/dist/platformAccessory.d.ts +3 -2
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +8 -1
- package/dist/platformAccessory.js.map +1 -1
- package/dist/plugin.d.ts +0 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +3 -6
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +20 -19
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +3 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +40 -3
- package/dist/server.js.map +1 -1
- package/dist/storageService.js +8 -8
- package/dist/storageService.js.map +1 -1
- package/dist/user.js +7 -7
- package/dist/user.js.map +1 -1
- package/dist/util/mac.d.ts.map +1 -1
- package/dist/util/mac.js +3 -2
- package/dist/util/mac.js.map +1 -1
- package/dist/util/matter-cli.d.ts +3 -0
- package/dist/util/matter-cli.d.ts.map +1 -0
- package/dist/util/matter-cli.js +211 -0
- package/dist/util/matter-cli.js.map +1 -0
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +22 -20
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAeA,OAAO,gCAAgC,CAAA;AAYvC,MAAM,CAAC,OAAO,UAAU,GAAG,IAAI,IAAI,CAsFlC"}
|
package/dist/cli.js
CHANGED
|
@@ -3,11 +3,11 @@ import process from 'node:process';
|
|
|
3
3
|
import { Command } from 'commander';
|
|
4
4
|
import { HAPStorage } from 'hap-nodejs';
|
|
5
5
|
import { satisfies } from 'semver';
|
|
6
|
-
import 'source-map-support/register.js';
|
|
7
6
|
import { Logger } from './logger.js';
|
|
8
7
|
import { Server } from './server.js';
|
|
9
8
|
import { User } from './user.js';
|
|
10
9
|
import getVersion, { getRequiredNodeVersion } from './version.js';
|
|
10
|
+
import 'source-map-support/register.js';
|
|
11
11
|
const log = Logger.internal;
|
|
12
12
|
const requiredNodeVersion = getRequiredNodeVersion();
|
|
13
13
|
if (requiredNodeVersion && !satisfies(process.version, requiredNodeVersion)) {
|
|
@@ -28,6 +28,7 @@ export default function cli() {
|
|
|
28
28
|
const program = new Command();
|
|
29
29
|
program
|
|
30
30
|
.version(getVersion())
|
|
31
|
+
.allowExcessArguments()
|
|
31
32
|
.option('-C, --color', 'force color in logging', () => forceColourLogging = true)
|
|
32
33
|
.option('-D, --debug', 'turn on debug level logging', () => debugModeEnabled = true)
|
|
33
34
|
.option('-I, --insecure', 'allow unauthenticated requests (for easier hacking)', () => insecureAccess = true)
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAInB,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"externalPortService.js","sourceRoot":"","sources":["../src/externalPortService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOpC;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAKpB;IAJF,gBAAgB,CAAS;IACzB,cAAc,GAAwC,IAAI,GAAG,EAAE,CAAA;IAEvE,YACU,aAA0C;QAA1C,kBAAa,GAAb,aAAa,CAA6B;
|
|
1
|
+
{"version":3,"file":"externalPortService.js","sourceRoot":"","sources":["../src/externalPortService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAOpC;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAKpB;IAJF,gBAAgB,CAAS;IACzB,cAAc,GAAwC,IAAI,GAAG,EAAE,CAAA;IAEvE,YACU,aAA0C;QAA1C,kBAAa,GAAb,aAAa,CAA6B;IACjD,CAAC;IAEJ;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,QAAoB;QAC3C,qEAAqE;QACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChE,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,sBAAsB,CAAA;QAC/B,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAA;YAChD,OAAO,IAAI,CAAC,gBAAgB,CAAA;QAC9B,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC,gBAAgB,CAAA;QAC9B,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QAEpG,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,8BAA+B,SAAQ,mBAAmB;IAE3D;IADV,YACU,WAA4B;QAEpC,KAAK,EAAE,CAAA;QAFC,gBAAW,GAAX,WAAW,CAAiB;IAGtC,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAoB;QAC3C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC7D,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export type { AccessoryConfig, BridgeConfiguration, HomebridgeConfig, PlatformCo
|
|
|
18
18
|
/**
|
|
19
19
|
* Export port types
|
|
20
20
|
*/
|
|
21
|
-
export type { ExternalPortsConfiguration
|
|
21
|
+
export type { ExternalPortsConfiguration } from './externalPortService.js';
|
|
22
22
|
/**
|
|
23
23
|
* Export Logger const enums
|
|
24
24
|
*/
|
|
@@ -27,6 +27,15 @@ export { LogLevel } from './logger.js';
|
|
|
27
27
|
* Export Logger types
|
|
28
28
|
*/
|
|
29
29
|
export type { Logger, Logging } from './logger.js';
|
|
30
|
+
/**
|
|
31
|
+
* Export Matter types
|
|
32
|
+
*/
|
|
33
|
+
export type { MatterBridgeOptions, MatterConfiguration } from './matterService.js';
|
|
34
|
+
/**
|
|
35
|
+
* Export Matter types and utilities
|
|
36
|
+
*/
|
|
37
|
+
export type { HAPToMatterClusterMapping, HAPToMatterDeviceMapping } from './matterTypes.js';
|
|
38
|
+
export { getMatterClustersForHAPService, getMatterDeviceTypeForHAPService, MatterClusters, MatterDeviceTypes, } from './matterTypes.js';
|
|
30
39
|
/**
|
|
31
40
|
* Export Platform Accessory const enums
|
|
32
41
|
*/
|
|
@@ -68,7 +77,7 @@ export type { AccessoriesCallback, AccessoryCharacteristicChange, AdditionalAuth
|
|
|
68
77
|
/**
|
|
69
78
|
* Export HAP-NodeJS variables as type only
|
|
70
79
|
*/
|
|
71
|
-
export type { LegacyTypes, uuid
|
|
80
|
+
export type { LegacyTypes, uuid } from 'hap-nodejs';
|
|
72
81
|
/**
|
|
73
82
|
* Export HAP-NodeJS functions as type only
|
|
74
83
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AAE5B;;GAEG;AACH,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,GAAG,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;AAE5B;;GAEG;AACH,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,0BAA0B,EAC1B,GAAG,EACH,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,UAAU,CAAA;AAEjB;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/C;;GAEG;AACH,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,GACf,MAAM,oBAAoB,CAAA;AAE3B;;GAEG;AACH,YAAY,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAE1E;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC;;GAEG;AACH,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAElD;;GAEG;AACH,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAElF;;GAEG;AACH,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,cAAc,EACd,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE/E;;GAEG;AACH,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD;;GAEG;AACH,YAAY,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC;;;;GAIG;AACH,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,8BAA8B,EAC9B,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,GACN,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;GAEG;AACH,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,YAAY,EACV,gCAAgC,EAChC,uBAAuB,EACvB,oCAAoC,EACpC,mCAAmC,EACnC,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,EAC9B,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,eAAe,EACf,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,WAAW,EACX,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,kCAAkC,EAClC,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,OAAO,EACP,oBAAoB,EACpB,2BAA2B,EAC3B,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,MAAM,EACN,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,qBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,4BAA4B,GAC7B,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEnD;;GAEG;AACH,YAAY,EACV,KAAK,EACL,MAAM,EACN,UAAU,EACV,eAAe,EACf,MAAM,EACN,oCAAoC,EACpC,0CAA0C,EAC1C,IAAI,GACL,MAAM,YAAY,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { APIEvent, PluginType } from './api.js';
|
|
|
6
6
|
* Export Logger const enums
|
|
7
7
|
*/
|
|
8
8
|
export { LogLevel } from './logger.js';
|
|
9
|
+
export { getMatterClustersForHAPService, getMatterDeviceTypeForHAPService, MatterClusters, MatterDeviceTypes, } from './matterTypes.js';
|
|
9
10
|
/**
|
|
10
11
|
* Export Platform Accessory const enums
|
|
11
12
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAiB/C;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAiBtC,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,cAAc,EACd,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAEzB;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAiB/D;;;;GAIG;AACH,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gCAAgC,EAChC,8BAA8B,EAC9B,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,8BAA8B,EAC9B,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,MAAM,EACN,KAAK,GACN,MAAM,YAAY,CAAA"}
|
package/dist/ipcService.d.ts
CHANGED
|
@@ -11,10 +11,7 @@ export declare const enum IpcOutgoingEvent {
|
|
|
11
11
|
CHILD_BRIDGE_STATUS_UPDATE = "childBridgeStatusUpdate"
|
|
12
12
|
}
|
|
13
13
|
export declare interface IpcService {
|
|
14
|
-
on(event: IpcIncomingEvent.RESTART_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void): this;
|
|
15
|
-
on(event: IpcIncomingEvent.STOP_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void): this;
|
|
16
|
-
on(event: IpcIncomingEvent.START_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void): this;
|
|
17
|
-
on(event: IpcIncomingEvent.CHILD_BRIDGE_METADATA_REQUEST, listener: () => void): this;
|
|
14
|
+
on: ((event: IpcIncomingEvent.RESTART_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.STOP_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.START_CHILD_BRIDGE, listener: (childBridgeUsername: string) => void) => this) & ((event: IpcIncomingEvent.CHILD_BRIDGE_METADATA_REQUEST, listener: () => void) => this);
|
|
18
15
|
}
|
|
19
16
|
export declare class IpcService extends EventEmitter {
|
|
20
17
|
constructor();
|
package/dist/ipcService.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcService.d.ts","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,iBAAiB,oBAAoB;IACrC,kBAAkB,qBAAqB;IACvC,6BAA6B,+BAA+B;CAC7D;AAGD,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,8BAA8B,gCAAgC;IAC9D,0BAA0B,4BAA4B;CACvD;AAGD,MAAM,CAAC,OAAO,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"ipcService.d.ts","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,iBAAiB,oBAAoB;IACrC,kBAAkB,qBAAqB;IACvC,6BAA6B,+BAA+B;CAC7D;AAGD,0BAAkB,gBAAgB;IAChC,oBAAoB,uBAAuB;IAC3C,8BAA8B,gCAAgC;IAC9D,0BAA0B,4BAA4B;CACvD;AAGD,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,6BAA6B,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,CAAA;CAC3Z;AAGD,qBAAa,UAAW,SAAQ,YAAY;;IAK1C;;;OAGG;IACI,KAAK,IAAI,IAAI;IASpB;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;CAQ9D"}
|
package/dist/ipcService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipcService.js","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAKjB;AALD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,gFAA4D,CAAA;AAC9D,CAAC,EALiB,gBAAgB,KAAhB,gBAAgB,QAKjC;AAED,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAIjB;AAJD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,kFAA8D,CAAA;IAC9D,0EAAsD,CAAA;AACxD,CAAC,EAJiB,gBAAgB,KAAhB,gBAAgB,QAIjC;
|
|
1
|
+
{"version":3,"file":"ipcService.js","sourceRoot":"","sources":["../src/ipcService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAKjB;AALD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,yDAAqC,CAAA;IACrC,2DAAuC,CAAA;IACvC,gFAA4D,CAAA;AAC9D,CAAC,EALiB,gBAAgB,KAAhB,gBAAgB,QAKjC;AAED,gDAAgD;AAChD,MAAM,CAAN,IAAkB,gBAIjB;AAJD,WAAkB,gBAAgB;IAChC,+DAA2C,CAAA;IAC3C,kFAA8D,CAAA;IAC9D,0EAAsD,CAAA;AACxD,CAAC,EAJiB,gBAAgB,KAAhB,gBAAgB,QAIjC;AAOD,4DAA4D;AAC5D,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;QACE,KAAK,EAAE,CAAA;IACT,CAAC;IAED;;;OAGG;IACI,KAAK;QACV,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAoC,EAAE,EAAE;YAC7D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC3D,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAoB,EAAE,IAAa;QACpD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE;gBACF,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAaD;;GAEG;AACH,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAyB1C;;;;OAIG;WACW,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAI5D;;;;OAIG;WACW,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAIhE;;OAEG;WACW,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;;;GAWG;AACH,gDAAgD;AAChD,MAAM,CAAN,IAAkB,QAMjB;AAND,WAAkB,QAAQ;IACxB,yBAAa,CAAA;IACb,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,2BAAe,CAAA;AACjB,CAAC,EANiB,QAAQ,KAAR,QAAQ,QAMzB;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { MatterConfiguration } from './matterService.js';
|
|
2
|
+
export interface MatterConfigValidationResult {
|
|
3
|
+
isValid: boolean;
|
|
4
|
+
errors: string[];
|
|
5
|
+
warnings: string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Validate Matter configuration for production readiness
|
|
9
|
+
*/
|
|
10
|
+
export declare class MatterConfigValidator {
|
|
11
|
+
/**
|
|
12
|
+
* Validate a Matter configuration object
|
|
13
|
+
*/
|
|
14
|
+
static validate(config: MatterConfiguration): MatterConfigValidationResult;
|
|
15
|
+
private static validateRequired;
|
|
16
|
+
private static validatePort;
|
|
17
|
+
private static validateDiscriminator;
|
|
18
|
+
private static validatePasscode;
|
|
19
|
+
private static validateVendorProductIds;
|
|
20
|
+
private static validateDeviceName;
|
|
21
|
+
private static validateTimeouts;
|
|
22
|
+
private static checkProductionReadiness;
|
|
23
|
+
private static hasRepeatingPattern;
|
|
24
|
+
private static isWeakPasscode;
|
|
25
|
+
/**
|
|
26
|
+
* Generate a secure random passcode
|
|
27
|
+
*/
|
|
28
|
+
static generateSecurePasscode(): number;
|
|
29
|
+
/**
|
|
30
|
+
* Generate a random discriminator
|
|
31
|
+
*/
|
|
32
|
+
static generateRandomDiscriminator(): number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=matterConfigValidator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterConfigValidator.d.ts","sourceRoot":"","sources":["../src/matterConfigValidator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAIxD,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,4BAA4B;IAmD1E,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAU/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAUpC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAqD/B,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAuBvC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAyBjC,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAiB/B,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAyBvC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAYlC,OAAO,CAAC,MAAM,CAAC,cAAc;IAoB7B;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM;IAqBvC;;OAEG;IACH,MAAM,CAAC,2BAA2B,IAAI,MAAM;CAG7C"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { Logger } from './logger.js';
|
|
2
|
+
const log = Logger.internal;
|
|
3
|
+
/**
|
|
4
|
+
* Validate Matter configuration for production readiness
|
|
5
|
+
*/
|
|
6
|
+
export class MatterConfigValidator {
|
|
7
|
+
/**
|
|
8
|
+
* Validate a Matter configuration object
|
|
9
|
+
*/
|
|
10
|
+
static validate(config) {
|
|
11
|
+
const result = {
|
|
12
|
+
isValid: true,
|
|
13
|
+
errors: [],
|
|
14
|
+
warnings: [],
|
|
15
|
+
};
|
|
16
|
+
if (!config.enabled) {
|
|
17
|
+
// No validation needed if Matter is disabled
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
// Validate required fields
|
|
21
|
+
this.validateRequired(config, result);
|
|
22
|
+
// Validate port configuration
|
|
23
|
+
this.validatePort(config, result);
|
|
24
|
+
// Validate discriminator
|
|
25
|
+
this.validateDiscriminator(config, result);
|
|
26
|
+
// Validate passcode
|
|
27
|
+
this.validatePasscode(config, result);
|
|
28
|
+
// Validate vendor and product IDs
|
|
29
|
+
this.validateVendorProductIds(config, result);
|
|
30
|
+
// Validate device name
|
|
31
|
+
this.validateDeviceName(config, result);
|
|
32
|
+
// Validate timeout values
|
|
33
|
+
this.validateTimeouts(config, result);
|
|
34
|
+
// Check for production readiness
|
|
35
|
+
this.checkProductionReadiness(config, result);
|
|
36
|
+
result.isValid = result.errors.length === 0;
|
|
37
|
+
if (result.warnings.length > 0) {
|
|
38
|
+
log.warn('Matter configuration warnings:');
|
|
39
|
+
result.warnings.forEach(warning => log.warn(` - ${warning}`));
|
|
40
|
+
}
|
|
41
|
+
if (result.errors.length > 0) {
|
|
42
|
+
log.error('Matter configuration errors:');
|
|
43
|
+
result.errors.forEach(error => log.error(` - ${error}`));
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
static validateRequired(config, result) {
|
|
48
|
+
const requiredFields = ['port', 'discriminator', 'passcode', 'vendorId', 'productId', 'deviceName'];
|
|
49
|
+
for (const field of requiredFields) {
|
|
50
|
+
if (config[field] === undefined || config[field] === null) {
|
|
51
|
+
result.errors.push(`Missing required field: ${field}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static validatePort(config, result) {
|
|
56
|
+
const port = config.port;
|
|
57
|
+
if (port !== undefined) {
|
|
58
|
+
if (!Number.isInteger(port) || port < 1024 || port > 65535) {
|
|
59
|
+
result.errors.push(`Port ${port} is invalid. Must be an integer between 1024-65535.`);
|
|
60
|
+
}
|
|
61
|
+
// Check for common conflicts
|
|
62
|
+
const conflictPorts = [5353, 8080, 8443]; // mDNS, common HTTP ports
|
|
63
|
+
if (conflictPorts.includes(port)) {
|
|
64
|
+
result.warnings.push(`Port ${port} may conflict with other services. Consider using a different port.`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
static validateDiscriminator(config, result) {
|
|
69
|
+
const discriminator = config.discriminator;
|
|
70
|
+
if (discriminator !== undefined) {
|
|
71
|
+
if (!Number.isInteger(discriminator) || discriminator < 0 || discriminator > 4095) {
|
|
72
|
+
result.errors.push(`Discriminator ${discriminator} is invalid. Must be an integer between 0-4095.`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static validatePasscode(config, result) {
|
|
77
|
+
const passcode = config.passcode;
|
|
78
|
+
if (passcode !== undefined) {
|
|
79
|
+
const passcodeStr = passcode.toString();
|
|
80
|
+
// Check length
|
|
81
|
+
if (passcodeStr.length !== 8) {
|
|
82
|
+
result.errors.push(`Passcode ${passcode} is invalid. Must be exactly 8 digits.`);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Check if all digits
|
|
86
|
+
if (!/^\d{8}$/.test(passcodeStr)) {
|
|
87
|
+
result.errors.push(`Passcode ${passcode} is invalid. Must contain only digits.`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Check for invalid patterns
|
|
91
|
+
const invalidPasscodes = [
|
|
92
|
+
'00000000',
|
|
93
|
+
'11111111',
|
|
94
|
+
'22222222',
|
|
95
|
+
'33333333',
|
|
96
|
+
'44444444',
|
|
97
|
+
'55555555',
|
|
98
|
+
'66666666',
|
|
99
|
+
'77777777',
|
|
100
|
+
'88888888',
|
|
101
|
+
'99999999',
|
|
102
|
+
'12345678',
|
|
103
|
+
'87654321',
|
|
104
|
+
'01234567',
|
|
105
|
+
'76543210',
|
|
106
|
+
];
|
|
107
|
+
if (invalidPasscodes.includes(passcodeStr)) {
|
|
108
|
+
result.errors.push(`Passcode ${passcode} is not allowed. Use a more secure, non-sequential passcode.`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// Check for repeating patterns
|
|
112
|
+
if (this.hasRepeatingPattern(passcodeStr)) {
|
|
113
|
+
result.warnings.push(`Passcode ${passcode} has repeating patterns. Consider using a more random passcode.`);
|
|
114
|
+
}
|
|
115
|
+
// Check for common weak patterns
|
|
116
|
+
if (this.isWeakPasscode(passcodeStr)) {
|
|
117
|
+
result.errors.push(`Passcode ${passcode} is too weak. Use a more secure passcode.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
static validateVendorProductIds(config, result) {
|
|
122
|
+
const vendorId = config.vendorId;
|
|
123
|
+
const productId = config.productId;
|
|
124
|
+
if (vendorId !== undefined) {
|
|
125
|
+
if (!Number.isInteger(vendorId) || vendorId < 0 || vendorId > 0xFFFF) {
|
|
126
|
+
result.errors.push(`Vendor ID ${vendorId} is invalid. Must be an integer between 0-65535.`);
|
|
127
|
+
}
|
|
128
|
+
// Check for test vendor IDs in production
|
|
129
|
+
const testVendorIds = [0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4];
|
|
130
|
+
if (testVendorIds.includes(vendorId)) {
|
|
131
|
+
result.warnings.push(`Using test vendor ID ${vendorId}. This should not be used in production.`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
if (productId !== undefined) {
|
|
135
|
+
if (!Number.isInteger(productId) || productId < 0 || productId > 0xFFFF) {
|
|
136
|
+
result.errors.push(`Product ID ${productId} is invalid. Must be an integer between 0-65535.`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
static validateDeviceName(config, result) {
|
|
141
|
+
const deviceName = config.deviceName;
|
|
142
|
+
if (deviceName !== undefined) {
|
|
143
|
+
if (typeof deviceName !== 'string') {
|
|
144
|
+
result.errors.push('Device name must be a string.');
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (deviceName.length === 0) {
|
|
148
|
+
result.errors.push('Device name cannot be empty.');
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
if (deviceName.length > 32) {
|
|
152
|
+
result.errors.push(`Device name "${deviceName}" is too long. Must be 32 characters or less.`);
|
|
153
|
+
}
|
|
154
|
+
// Check for invalid characters
|
|
155
|
+
if (!/^[\x20-\x7E]*$/.test(deviceName)) {
|
|
156
|
+
result.errors.push(`Device name "${deviceName}" contains invalid characters. Use only printable ASCII characters.`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
static validateTimeouts(config, result) {
|
|
161
|
+
const announceInterval = config.announceInterval;
|
|
162
|
+
const commissioningTimeout = config.commissioningTimeout;
|
|
163
|
+
if (announceInterval !== undefined) {
|
|
164
|
+
if (!Number.isInteger(announceInterval) || announceInterval < 1 || announceInterval > 3600) {
|
|
165
|
+
result.errors.push(`Announce interval ${announceInterval} is invalid. Must be between 1-3600 seconds.`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (commissioningTimeout !== undefined) {
|
|
169
|
+
if (!Number.isInteger(commissioningTimeout) || commissioningTimeout < 60 || commissioningTimeout > 7200) {
|
|
170
|
+
result.errors.push(`Commissioning timeout ${commissioningTimeout} is invalid. Must be between 60-7200 seconds.`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
static checkProductionReadiness(config, result) {
|
|
175
|
+
// Check for default/example values that shouldn't be used in production
|
|
176
|
+
if (config.passcode === 20202021) {
|
|
177
|
+
result.warnings.push('Using default passcode. Change this for production deployment.');
|
|
178
|
+
}
|
|
179
|
+
if (config.discriminator === 3840) {
|
|
180
|
+
result.warnings.push('Using default discriminator. Consider changing this for production deployment.');
|
|
181
|
+
}
|
|
182
|
+
if (config.deviceName === 'Homebridge Matter Bridge') {
|
|
183
|
+
result.warnings.push('Using default device name. Consider customizing for your deployment.');
|
|
184
|
+
}
|
|
185
|
+
// Check storage configuration
|
|
186
|
+
if (!config.storageDir || config.storageDir === './persist') {
|
|
187
|
+
result.warnings.push('Using default storage directory. Ensure this directory is persistent and backed up.');
|
|
188
|
+
}
|
|
189
|
+
// Check debug settings
|
|
190
|
+
if (config.debugEnabled) {
|
|
191
|
+
result.warnings.push('Debug mode is enabled. Disable this in production for better performance.');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
static hasRepeatingPattern(passcode) {
|
|
195
|
+
// Check for simple repeating patterns like "1212" or "123123"
|
|
196
|
+
for (let len = 2; len <= 4; len++) {
|
|
197
|
+
const pattern = passcode.substring(0, len);
|
|
198
|
+
const repeated = pattern.repeat(Math.ceil(8 / len)).substring(0, 8);
|
|
199
|
+
if (passcode === repeated) {
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
static isWeakPasscode(passcode) {
|
|
206
|
+
// Check for ascending/descending sequences
|
|
207
|
+
let ascending = 0;
|
|
208
|
+
let descending = 0;
|
|
209
|
+
for (let i = 1; i < passcode.length; i++) {
|
|
210
|
+
const current = Number.parseInt(passcode[i]);
|
|
211
|
+
const previous = Number.parseInt(passcode[i - 1]);
|
|
212
|
+
if (current === previous + 1) {
|
|
213
|
+
ascending++;
|
|
214
|
+
}
|
|
215
|
+
else if (current === previous - 1) {
|
|
216
|
+
descending++;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// If more than half the digits follow a pattern, consider it weak
|
|
220
|
+
return ascending >= 4 || descending >= 4;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Generate a secure random passcode
|
|
224
|
+
*/
|
|
225
|
+
static generateSecurePasscode() {
|
|
226
|
+
let passcode;
|
|
227
|
+
let attempts = 0;
|
|
228
|
+
const maxAttempts = 100;
|
|
229
|
+
do {
|
|
230
|
+
// Generate 8 random digits, ensuring first digit is not 0
|
|
231
|
+
passcode = (Math.floor(Math.random() * 9) + 1).toString(); // First digit 1-9
|
|
232
|
+
for (let i = 1; i < 8; i++) {
|
|
233
|
+
passcode += Math.floor(Math.random() * 10).toString(); // Remaining digits 0-9
|
|
234
|
+
}
|
|
235
|
+
attempts++;
|
|
236
|
+
if (attempts > maxAttempts) {
|
|
237
|
+
throw new Error('Failed to generate secure passcode after maximum attempts');
|
|
238
|
+
}
|
|
239
|
+
} while (this.isWeakPasscode(passcode) || this.hasRepeatingPattern(passcode));
|
|
240
|
+
return Number.parseInt(passcode);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Generate a random discriminator
|
|
244
|
+
*/
|
|
245
|
+
static generateRandomDiscriminator() {
|
|
246
|
+
return Math.floor(Math.random() * 4096);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=matterConfigValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterConfigValidator.js","sourceRoot":"","sources":["../src/matterConfigValidator.ts"],"names":[],"mappings":"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"}
|