homebridge 2.0.0-alpha.40 → 2.0.0-alpha.42

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.
Files changed (92) hide show
  1. package/config-sample.json +1 -12
  2. package/dist/api.d.ts +46 -35
  3. package/dist/api.d.ts.map +1 -1
  4. package/dist/api.js +41 -35
  5. package/dist/api.js.map +1 -1
  6. package/dist/bridgeService.d.ts +7 -15
  7. package/dist/bridgeService.d.ts.map +1 -1
  8. package/dist/bridgeService.js +10 -7
  9. package/dist/bridgeService.js.map +1 -1
  10. package/dist/childBridgeFork.d.ts +19 -0
  11. package/dist/childBridgeFork.d.ts.map +1 -1
  12. package/dist/childBridgeFork.js +198 -4
  13. package/dist/childBridgeFork.js.map +1 -1
  14. package/dist/childBridgeService.d.ts +28 -1
  15. package/dist/childBridgeService.d.ts.map +1 -1
  16. package/dist/childBridgeService.js +43 -0
  17. package/dist/childBridgeService.js.map +1 -1
  18. package/dist/cli.d.ts.map +1 -1
  19. package/dist/cli.js +3 -1
  20. package/dist/cli.js.map +1 -1
  21. package/dist/index.d.ts +9 -5
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/ipcService.d.ts +21 -3
  26. package/dist/ipcService.d.ts.map +1 -1
  27. package/dist/ipcService.js +15 -0
  28. package/dist/ipcService.js.map +1 -1
  29. package/dist/matter/index.d.ts +11 -0
  30. package/dist/matter/index.d.ts.map +1 -0
  31. package/dist/matter/index.js +11 -0
  32. package/dist/matter/index.js.map +1 -0
  33. package/dist/matter/matterConfigValidator.d.ts +26 -0
  34. package/dist/matter/matterConfigValidator.d.ts.map +1 -0
  35. package/dist/matter/matterConfigValidator.js +171 -0
  36. package/dist/matter/matterConfigValidator.js.map +1 -0
  37. package/dist/matter/matterDiagnostics.d.ts +121 -0
  38. package/dist/matter/matterDiagnostics.d.ts.map +1 -0
  39. package/dist/matter/matterDiagnostics.js +323 -0
  40. package/dist/matter/matterDiagnostics.js.map +1 -0
  41. package/dist/matter/matterErrorHandler.d.ts +94 -0
  42. package/dist/matter/matterErrorHandler.d.ts.map +1 -0
  43. package/dist/matter/matterErrorHandler.js +472 -0
  44. package/dist/matter/matterErrorHandler.js.map +1 -0
  45. package/dist/matter/matterNetworkMonitor.d.ts +65 -0
  46. package/dist/matter/matterNetworkMonitor.d.ts.map +1 -0
  47. package/dist/matter/matterNetworkMonitor.js +227 -0
  48. package/dist/matter/matterNetworkMonitor.js.map +1 -0
  49. package/dist/matter/matterServer.d.ts +196 -0
  50. package/dist/matter/matterServer.d.ts.map +1 -0
  51. package/dist/matter/matterServer.js +824 -0
  52. package/dist/matter/matterServer.js.map +1 -0
  53. package/dist/matter/matterSharedTypes.d.ts +147 -0
  54. package/dist/matter/matterSharedTypes.d.ts.map +1 -0
  55. package/dist/matter/matterSharedTypes.js +51 -0
  56. package/dist/matter/matterSharedTypes.js.map +1 -0
  57. package/dist/matter/matterStorage.d.ts +112 -0
  58. package/dist/matter/matterStorage.d.ts.map +1 -0
  59. package/dist/matter/matterStorage.js +355 -0
  60. package/dist/matter/matterStorage.js.map +1 -0
  61. package/dist/matter/matterTypes.d.ts +163 -0
  62. package/dist/matter/matterTypes.d.ts.map +1 -0
  63. package/dist/matter/matterTypes.js +106 -0
  64. package/dist/matter/matterTypes.js.map +1 -0
  65. package/dist/plugin.d.ts.map +1 -1
  66. package/dist/plugin.js +4 -2
  67. package/dist/plugin.js.map +1 -1
  68. package/dist/server.d.ts +18 -4
  69. package/dist/server.d.ts.map +1 -1
  70. package/dist/server.js +361 -51
  71. package/dist/server.js.map +1 -1
  72. package/dist/user.d.ts +1 -0
  73. package/dist/user.d.ts.map +1 -1
  74. package/dist/user.js +3 -0
  75. package/dist/user.js.map +1 -1
  76. package/package.json +12 -13
  77. package/dist/matterConfigValidator.d.ts +0 -34
  78. package/dist/matterConfigValidator.d.ts.map +0 -1
  79. package/dist/matterConfigValidator.js +0 -249
  80. package/dist/matterConfigValidator.js.map +0 -1
  81. package/dist/matterService.d.ts +0 -168
  82. package/dist/matterService.d.ts.map +0 -1
  83. package/dist/matterService.js +0 -677
  84. package/dist/matterService.js.map +0 -1
  85. package/dist/matterTypes.d.ts +0 -20
  86. package/dist/matterTypes.d.ts.map +0 -1
  87. package/dist/matterTypes.js +0 -278
  88. package/dist/matterTypes.js.map +0 -1
  89. package/dist/util/matter-cli.d.ts +0 -3
  90. package/dist/util/matter-cli.d.ts.map +0 -1
  91. package/dist/util/matter-cli.js +0 -211
  92. package/dist/util/matter-cli.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/user.d.ts CHANGED
@@ -6,6 +6,7 @@ export declare class User {
6
6
  private static storageAccessed;
7
7
  static configPath(): string;
8
8
  static persistPath(): string;
9
+ static matterPath(): string;
9
10
  static cachedAccessoryPath(): string;
10
11
  static storagePath(): string;
11
12
  static setStoragePath(...storagePathSegments: string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,IAAI;IACf,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAQ;IACzC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAQ;IAEtC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,WAAW,IAAI,MAAM;IAI5B,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,mBAAmB,IAAI,MAAM;IAIpC,MAAM,CAAC,WAAW,IAAI,MAAM;WAMd,cAAc,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,GAAG,IAAI;CAOrE"}
package/dist/user.js CHANGED
@@ -12,6 +12,9 @@ export class User {
12
12
  static persistPath() {
13
13
  return join(User.storagePath(), 'persist'); // hap-nodejs data is stored here
14
14
  }
15
+ static matterPath() {
16
+ return join(User.storagePath(), 'matter'); // matter data is stored here
17
+ }
15
18
  static cachedAccessoryPath() {
16
19
  return join(User.storagePath(), 'accessories');
17
20
  }
package/dist/user.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA,CAAC,iCAAiC;IAC9E,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACzF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC1D,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC;;GAEG;AACH,MAAM,OAAO,IAAI;IACP,MAAM,CAAC,iBAAiB,CAAS;IACjC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAA;IAEtC,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA,CAAC,iCAAiC;IAC9E,CAAC;IAED,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,6BAA6B;IACzE,CAAC;IAED,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IACzF,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,GAAG,mBAA6B;QAC3D,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,GAAG,mBAAmB,CAAC,CAAA;IAC1D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "homebridge",
3
3
  "type": "module",
4
- "version": "2.0.0-alpha.40",
4
+ "version": "2.0.0-alpha.42",
5
5
  "description": "HomeKit support for the impatient",
6
6
  "author": "Nick Farina",
7
7
  "license": "Apache-2.0",
@@ -20,8 +20,7 @@
20
20
  "Andreas Bauer <mail@anderl-bauer.de>"
21
21
  ],
22
22
  "bin": {
23
- "homebridge": "bin/homebridge.js",
24
- "homebridge-matter": "lib/util/matter-cli.js"
23
+ "homebridge": "bin/homebridge.js"
25
24
  },
26
25
  "files": [
27
26
  "LICENSE",
@@ -49,30 +48,30 @@
49
48
  "watch": "nodemon"
50
49
  },
51
50
  "dependencies": {
52
- "@matter/main": "0.15.3",
53
- "chalk": "5.6.0",
54
- "commander": "14.0.0",
55
- "fs-extra": "11.3.1",
51
+ "@matter/main": "0.15.4",
52
+ "chalk": "5.6.2",
53
+ "commander": "14.0.1",
54
+ "fs-extra": "11.3.2",
56
55
  "hap-nodejs": "2.0.0-beta.2",
57
56
  "qrcode-terminal": "0.12.0",
58
57
  "semver": "7.7.2",
59
58
  "source-map-support": "0.5.21"
60
59
  },
61
60
  "devDependencies": {
62
- "@antfu/eslint-config": "^5.2.1",
61
+ "@antfu/eslint-config": "^5.4.1",
63
62
  "@prettier/plugin-xml": "^3.4.2",
64
63
  "@types/debug": "^4.1.12",
65
64
  "@types/fs-extra": "^11.0.4",
66
- "@types/node": "^24.3.0",
67
- "@types/semver": "^7.7.0",
65
+ "@types/node": "^24.6.2",
66
+ "@types/semver": "^7.7.1",
68
67
  "@types/source-map-support": "^0.5.10",
69
68
  "@vitest/coverage-v8": "^3.2.4",
70
- "eslint-plugin-format": "^1.0.1",
69
+ "eslint-plugin-format": "^1.0.2",
71
70
  "nodemon": "^3.1.10",
72
71
  "rimraf": "^6.0.1",
73
72
  "ts-node": "^10.9.2",
74
- "typedoc": "^0.28.12",
75
- "typescript": "^5.9.2",
73
+ "typedoc": "^0.28.13",
74
+ "typescript": "^5.9.3",
76
75
  "vitest": "^3.2.4"
77
76
  }
78
77
  }
@@ -1,34 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,249 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"matterConfigValidator.js","sourceRoot":"","sources":["../src/matterConfigValidator.ts"],"names":[],"mappings":"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"}