homebridge 2.0.0-beta.44 → 2.0.0-beta.45
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/api.d.ts +3 -365
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -85
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +0 -25
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +32 -85
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +12 -15
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +126 -80
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +21 -105
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +57 -134
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/externalPortService.d.ts +0 -21
- package/dist/externalPortService.d.ts.map +1 -1
- package/dist/externalPortService.js +0 -28
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +0 -112
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -44
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +23 -15
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +6 -12
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts +0 -46
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +13 -57
- package/dist/logger.js.map +1 -1
- package/dist/matter/BaseMatterManager.d.ts +19 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +170 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +5 -69
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +36 -227
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +203 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js +2 -27
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +0 -68
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/MatterAPIImpl.js +6 -106
- package/dist/matter/MatterAPIImpl.js.map +1 -1
- package/dist/matter/MatterBridgeManager.d.ts +9 -60
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
- package/dist/matter/MatterBridgeManager.js +139 -215
- package/dist/matter/MatterBridgeManager.js.map +1 -1
- package/dist/matter/MatterConfigCollector.d.ts +1 -20
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
- package/dist/matter/MatterConfigCollector.js +14 -27
- package/dist/matter/MatterConfigCollector.js.map +1 -1
- package/dist/matter/accessoryCache.d.ts +0 -48
- package/dist/matter/accessoryCache.d.ts.map +1 -1
- package/dist/matter/accessoryCache.js +1 -60
- package/dist/matter/accessoryCache.js.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.js +0 -25
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.js +0 -38
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
- package/dist/matter/behaviors/index.d.ts +0 -5
- package/dist/matter/behaviors/index.d.ts.map +1 -1
- package/dist/matter/behaviors/index.js +0 -5
- package/dist/matter/behaviors/index.js.map +1 -1
- package/dist/matter/configValidator.d.ts +0 -55
- package/dist/matter/configValidator.d.ts.map +1 -1
- package/dist/matter/configValidator.js +1 -68
- package/dist/matter/configValidator.js.map +1 -1
- package/dist/matter/errorHandler.d.ts +0 -22
- package/dist/matter/errorHandler.d.ts.map +1 -1
- package/dist/matter/errorHandler.js +0 -32
- package/dist/matter/errorHandler.js.map +1 -1
- package/dist/matter/errors.d.ts +0 -132
- package/dist/matter/errors.d.ts.map +1 -1
- package/dist/matter/errors.js +0 -132
- package/dist/matter/errors.js.map +1 -1
- package/dist/matter/index.d.ts +0 -30
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +0 -13
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/logFormatter.d.ts +0 -17
- package/dist/matter/logFormatter.d.ts.map +1 -1
- package/dist/matter/logFormatter.js +5 -63
- package/dist/matter/logFormatter.js.map +1 -1
- package/dist/matter/server.d.ts +12 -236
- package/dist/matter/server.d.ts.map +1 -1
- package/dist/matter/server.js +177 -488
- package/dist/matter/server.js.map +1 -1
- package/dist/matter/serverHelpers.d.ts +0 -56
- package/dist/matter/serverHelpers.d.ts.map +1 -1
- package/dist/matter/serverHelpers.js +1 -66
- package/dist/matter/serverHelpers.js.map +1 -1
- package/dist/matter/sharedTypes.d.ts +0 -83
- package/dist/matter/sharedTypes.d.ts.map +1 -1
- package/dist/matter/sharedTypes.js +0 -26
- package/dist/matter/sharedTypes.js.map +1 -1
- package/dist/matter/storage.d.ts +0 -90
- package/dist/matter/storage.d.ts.map +1 -1
- package/dist/matter/storage.js +2 -130
- package/dist/matter/storage.js.map +1 -1
- package/dist/matter/typeHelpers.d.ts +0 -30
- package/dist/matter/typeHelpers.d.ts.map +1 -1
- package/dist/matter/typeHelpers.js +0 -24
- package/dist/matter/typeHelpers.js.map +1 -1
- package/dist/matter/types.d.ts +0 -273
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +0 -83
- package/dist/matter/types.js.map +1 -1
- package/dist/platformAccessory.d.ts +0 -15
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +6 -32
- package/dist/platformAccessory.js.map +1 -1
- package/dist/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +6 -29
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts +0 -22
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +18 -41
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +9 -29
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +304 -157
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +0 -3
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +2 -5
- package/dist/user.js.map +1 -1
- package/dist/util/mac.js +0 -1
- package/dist/util/mac.js.map +1 -1
- package/package.json +4 -4
- package/dist/api.spec.d.ts +0 -2
- package/dist/api.spec.d.ts.map +0 -1
- package/dist/api.spec.js +0 -413
- package/dist/api.spec.js.map +0 -1
- package/dist/logger.spec.d.ts +0 -2
- package/dist/logger.spec.d.ts.map +0 -1
- package/dist/logger.spec.js +0 -95
- package/dist/logger.spec.js.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
- package/dist/matter/accessoryCache.spec.d.ts +0 -2
- package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
- package/dist/matter/accessoryCache.spec.js +0 -452
- package/dist/matter/accessoryCache.spec.js.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
- package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
- package/dist/matter/configValidator.spec.d.ts +0 -2
- package/dist/matter/configValidator.spec.d.ts.map +0 -1
- package/dist/matter/configValidator.spec.js +0 -390
- package/dist/matter/configValidator.spec.js.map +0 -1
- package/dist/matter/errorHandler.spec.d.ts +0 -2
- package/dist/matter/errorHandler.spec.d.ts.map +0 -1
- package/dist/matter/errorHandler.spec.js +0 -159
- package/dist/matter/errorHandler.spec.js.map +0 -1
- package/dist/matter/logFormatter.spec.d.ts +0 -2
- package/dist/matter/logFormatter.spec.d.ts.map +0 -1
- package/dist/matter/logFormatter.spec.js +0 -252
- package/dist/matter/logFormatter.spec.js.map +0 -1
- package/dist/matter/serverHelpers.spec.d.ts +0 -2
- package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
- package/dist/matter/serverHelpers.spec.js +0 -527
- package/dist/matter/serverHelpers.spec.js.map +0 -1
- package/dist/matter/storage.spec.d.ts +0 -2
- package/dist/matter/storage.spec.d.ts.map +0 -1
- package/dist/matter/storage.spec.js +0 -570
- package/dist/matter/storage.spec.js.map +0 -1
- package/dist/matter/typeHelpers.spec.d.ts +0 -2
- package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
- package/dist/matter/typeHelpers.spec.js +0 -127
- package/dist/matter/typeHelpers.spec.js.map +0 -1
- package/dist/platformAccessory.spec.d.ts +0 -2
- package/dist/platformAccessory.spec.d.ts.map +0 -1
- package/dist/platformAccessory.spec.js +0 -126
- package/dist/platformAccessory.spec.js.map +0 -1
- package/dist/pluginManager.spec.d.ts +0 -2
- package/dist/pluginManager.spec.d.ts.map +0 -1
- package/dist/pluginManager.spec.js +0 -43
- package/dist/pluginManager.spec.js.map +0 -1
- package/dist/server.spec.d.ts +0 -2
- package/dist/server.spec.d.ts.map +0 -1
- package/dist/server.spec.js +0 -57
- package/dist/server.spec.js.map +0 -1
- package/dist/user.spec.d.ts +0 -2
- package/dist/user.spec.d.ts.map +0 -1
- package/dist/user.spec.js +0 -31
- package/dist/user.spec.js.map +0 -1
- package/dist/util/mac.spec.d.ts +0 -2
- package/dist/util/mac.spec.d.ts.map +0 -1
- package/dist/util/mac.spec.js +0 -36
- package/dist/util/mac.spec.js.map +0 -1
- package/dist/version.spec.d.ts +0 -2
- package/dist/version.spec.d.ts.map +0 -1
- package/dist/version.spec.js +0 -20
- package/dist/version.spec.js.map +0 -1
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Configuration Validation
|
|
3
|
-
*
|
|
4
|
-
* Provides validation utilities and orchestration for Matter configuration objects.
|
|
5
|
-
* Includes both low-level validation primitives and high-level validation methods.
|
|
6
|
-
*/
|
|
7
1
|
import { Logger } from '../logger.js';
|
|
8
2
|
const log = Logger.withPrefix('Matter/Config');
|
|
9
|
-
// ============================================================================
|
|
10
|
-
// Low-level validation utilities
|
|
11
|
-
// ============================================================================
|
|
12
|
-
/**
|
|
13
|
-
* Validate a Matter port number
|
|
14
|
-
*
|
|
15
|
-
* @param port - Port number to validate
|
|
16
|
-
* @param checkConflicts - Whether to check for known conflicting ports
|
|
17
|
-
* @returns Validation result with error/warning messages
|
|
18
|
-
*/
|
|
19
3
|
export function validatePort(port, checkConflicts = false) {
|
|
20
4
|
if (!Number.isInteger(port)) {
|
|
21
5
|
return { valid: false, error: `Port must be an integer (got: ${port})` };
|
|
@@ -23,9 +7,8 @@ export function validatePort(port, checkConflicts = false) {
|
|
|
23
7
|
if (port < 1025 || port > 65534) {
|
|
24
8
|
return { valid: false, error: `Port must be between 1025 and 65534 (got: ${port})` };
|
|
25
9
|
}
|
|
26
|
-
// Check for common conflicts
|
|
27
10
|
if (checkConflicts) {
|
|
28
|
-
const conflictPorts = [5353, 8080, 8443];
|
|
11
|
+
const conflictPorts = [5353, 8080, 8443];
|
|
29
12
|
if (conflictPorts.includes(port)) {
|
|
30
13
|
return {
|
|
31
14
|
valid: true,
|
|
@@ -35,15 +18,6 @@ export function validatePort(port, checkConflicts = false) {
|
|
|
35
18
|
}
|
|
36
19
|
return { valid: true };
|
|
37
20
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Sanitize a unique ID for Matter filesystem storage
|
|
40
|
-
*
|
|
41
|
-
* Removes colons from MAC addresses and converts to uppercase for consistency.
|
|
42
|
-
* Example: "AB:CD:EF:12:34:56" -> "ABCDEF123456"
|
|
43
|
-
*
|
|
44
|
-
* @param uniqueId - Unique identifier to sanitize (typically a MAC address)
|
|
45
|
-
* @returns Sanitized unique ID and any warnings
|
|
46
|
-
*/
|
|
47
21
|
export function sanitizeUniqueId(uniqueId) {
|
|
48
22
|
const warnings = [];
|
|
49
23
|
const original = uniqueId;
|
|
@@ -53,7 +27,6 @@ export function sanitizeUniqueId(uniqueId) {
|
|
|
53
27
|
warnings: ['uniqueId is empty after trimming'],
|
|
54
28
|
};
|
|
55
29
|
}
|
|
56
|
-
// Remove colons and convert to uppercase for Matter storage paths
|
|
57
30
|
const sanitized = uniqueId.replace(/:/g, '').toUpperCase();
|
|
58
31
|
if (sanitized !== original) {
|
|
59
32
|
warnings.push(`uniqueId was sanitized from "${original}" to "${sanitized}"`);
|
|
@@ -63,14 +36,6 @@ export function sanitizeUniqueId(uniqueId) {
|
|
|
63
36
|
}
|
|
64
37
|
return { value: sanitized, warnings };
|
|
65
38
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Truncate a string to a maximum length with warning
|
|
68
|
-
*
|
|
69
|
-
* @param value - String to truncate
|
|
70
|
-
* @param maxLength - Maximum allowed length
|
|
71
|
-
* @param fieldName - Name of the field (for warnings)
|
|
72
|
-
* @returns Truncated value and any warnings
|
|
73
|
-
*/
|
|
74
39
|
export function truncateString(value, maxLength, fieldName) {
|
|
75
40
|
const warnings = [];
|
|
76
41
|
if (value.length > maxLength) {
|
|
@@ -83,13 +48,6 @@ export function truncateString(value, maxLength, fieldName) {
|
|
|
83
48
|
}
|
|
84
49
|
return { value, warnings };
|
|
85
50
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Check for port conflicts between HAP and Matter ports
|
|
88
|
-
*
|
|
89
|
-
* @param hapPort - HAP bridge port
|
|
90
|
-
* @param matterPort - Matter bridge port
|
|
91
|
-
* @returns Warning message if ports are too close, undefined otherwise
|
|
92
|
-
*/
|
|
93
51
|
export function checkPortProximity(hapPort, matterPort) {
|
|
94
52
|
const MIN_PORT_SEPARATION = 10;
|
|
95
53
|
if (Math.abs(hapPort - matterPort) < MIN_PORT_SEPARATION) {
|
|
@@ -97,23 +55,13 @@ export function checkPortProximity(hapPort, matterPort) {
|
|
|
97
55
|
}
|
|
98
56
|
return undefined;
|
|
99
57
|
}
|
|
100
|
-
// ============================================================================
|
|
101
|
-
// High-level validation orchestration
|
|
102
|
-
// ============================================================================
|
|
103
|
-
/**
|
|
104
|
-
* Validate Matter configuration for production readiness
|
|
105
|
-
*/
|
|
106
58
|
export class MatterConfigValidator {
|
|
107
|
-
/**
|
|
108
|
-
* Validate a Matter configuration object
|
|
109
|
-
*/
|
|
110
59
|
static validate(config) {
|
|
111
60
|
const result = {
|
|
112
61
|
isValid: true,
|
|
113
62
|
errors: [],
|
|
114
63
|
warnings: [],
|
|
115
64
|
};
|
|
116
|
-
// Validate port configuration
|
|
117
65
|
this.validatePort(config, result);
|
|
118
66
|
result.isValid = result.errors.length === 0;
|
|
119
67
|
if (result.warnings.length > 0) {
|
|
@@ -143,22 +91,17 @@ export class MatterConfigValidator {
|
|
|
143
91
|
}
|
|
144
92
|
}
|
|
145
93
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Validate child Matter configuration (_bridge.matter property)
|
|
148
|
-
*/
|
|
149
94
|
static validateChildMatterConfig(config, configType, identifier) {
|
|
150
95
|
const result = {
|
|
151
96
|
isValid: true,
|
|
152
97
|
errors: [],
|
|
153
98
|
warnings: [],
|
|
154
99
|
};
|
|
155
|
-
// If no _bridge.matter property, no validation needed
|
|
156
100
|
if (!config._bridge?.matter) {
|
|
157
101
|
return result;
|
|
158
102
|
}
|
|
159
103
|
const matterConfig = config._bridge.matter;
|
|
160
104
|
const prefix = `Child Matter bridge for ${configType} "${identifier}"`;
|
|
161
|
-
// Validate port if specified
|
|
162
105
|
if (matterConfig.port !== undefined) {
|
|
163
106
|
const validation = validatePort(matterConfig.port, false);
|
|
164
107
|
if (!validation.valid) {
|
|
@@ -169,9 +112,7 @@ export class MatterConfigValidator {
|
|
|
169
112
|
else {
|
|
170
113
|
result.warnings.push(`${prefix}: No port specified. Port will be auto-allocated.`);
|
|
171
114
|
}
|
|
172
|
-
// Check for port conflicts with HAP bridge
|
|
173
115
|
if (config._bridge && config._bridge.matter) {
|
|
174
|
-
// Ensure ports don't conflict if both HAP and Matter are configured
|
|
175
116
|
if (config._bridge.port && matterConfig.port) {
|
|
176
117
|
const proximityWarning = checkPortProximity(config._bridge.port, matterConfig.port);
|
|
177
118
|
if (proximityWarning) {
|
|
@@ -179,7 +120,6 @@ export class MatterConfigValidator {
|
|
|
179
120
|
}
|
|
180
121
|
}
|
|
181
122
|
}
|
|
182
|
-
// Log validation results
|
|
183
123
|
if (result.errors.length > 0) {
|
|
184
124
|
log.error(`${prefix} validation errors:`);
|
|
185
125
|
result.errors.forEach(error => log.error(` - ${error}`));
|
|
@@ -190,9 +130,6 @@ export class MatterConfigValidator {
|
|
|
190
130
|
}
|
|
191
131
|
return result;
|
|
192
132
|
}
|
|
193
|
-
/**
|
|
194
|
-
* Validate all child Matter configurations in a config
|
|
195
|
-
*/
|
|
196
133
|
static validateAllChildMatterConfigs(platforms, accessories) {
|
|
197
134
|
const result = {
|
|
198
135
|
isValid: true,
|
|
@@ -200,14 +137,12 @@ export class MatterConfigValidator {
|
|
|
200
137
|
warnings: [],
|
|
201
138
|
};
|
|
202
139
|
const usedPorts = new Set();
|
|
203
|
-
// Validate platform _bridge.matter configs
|
|
204
140
|
for (const platform of platforms) {
|
|
205
141
|
if (platform._bridge?.matter) {
|
|
206
142
|
const validation = this.validateChildMatterConfig(platform, 'platform', platform.platform || 'unknown');
|
|
207
143
|
result.errors.push(...validation.errors);
|
|
208
144
|
result.warnings.push(...validation.warnings);
|
|
209
145
|
result.isValid = result.isValid && validation.isValid;
|
|
210
|
-
// Check for port conflicts
|
|
211
146
|
if (platform._bridge.matter.port) {
|
|
212
147
|
if (usedPorts.has(platform._bridge.matter.port)) {
|
|
213
148
|
result.errors.push(`Duplicate Matter port ${platform._bridge.matter.port} detected. Each Matter bridge must use a unique port.`);
|
|
@@ -217,14 +152,12 @@ export class MatterConfigValidator {
|
|
|
217
152
|
}
|
|
218
153
|
}
|
|
219
154
|
}
|
|
220
|
-
// Validate accessory _bridge.matter configs
|
|
221
155
|
for (const accessory of accessories) {
|
|
222
156
|
if (accessory._bridge?.matter) {
|
|
223
157
|
const validation = this.validateChildMatterConfig(accessory, 'accessory', accessory.accessory || 'unknown');
|
|
224
158
|
result.errors.push(...validation.errors);
|
|
225
159
|
result.warnings.push(...validation.warnings);
|
|
226
160
|
result.isValid = result.isValid && validation.isValid;
|
|
227
|
-
// Check for port conflicts
|
|
228
161
|
if (accessory._bridge.matter.port) {
|
|
229
162
|
if (usedPorts.has(accessory._bridge.matter.port)) {
|
|
230
163
|
result.errors.push(`Duplicate Matter port ${accessory._bridge.matter.port} detected. Each Matter bridge must use a unique port.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/matter/configValidator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/matter/configValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simplified Matter Error Handler
|
|
3
|
-
*
|
|
4
|
-
* Provides basic error categorization and logging without the complexity
|
|
5
|
-
* of circuit breakers, recovery callbacks, and exponential backoff.
|
|
6
|
-
*
|
|
7
|
-
* This simplified version is more appropriate for alpha/beta releases.
|
|
8
|
-
* Advanced features can be added later based on production error patterns.
|
|
9
|
-
*/
|
|
10
1
|
import { MatterError } from './types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Simplified Matter Error Handler
|
|
13
|
-
* Focuses on proper error categorization and user-friendly logging
|
|
14
|
-
*/
|
|
15
2
|
export declare class MatterErrorHandler {
|
|
16
3
|
private static instance;
|
|
17
4
|
private constructor();
|
|
18
5
|
static getInstance(): MatterErrorHandler;
|
|
19
|
-
/**
|
|
20
|
-
* Handle a Matter error with appropriate logging
|
|
21
|
-
*/
|
|
22
6
|
handleError(error: Error | MatterError, context?: string): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Categorize a generic error into a typed MatterError
|
|
25
|
-
*/
|
|
26
7
|
private categorizeError;
|
|
27
|
-
/**
|
|
28
|
-
* Log error with appropriate severity and user-friendly messages
|
|
29
|
-
*/
|
|
30
8
|
private logError;
|
|
31
9
|
}
|
|
32
10
|
export declare const errorHandler: MatterErrorHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/matter/errorHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/matter/errorHandler.ts"],"names":[],"mappings":"AAWA,OAAO,EAGL,WAAW,EAIZ,MAAM,YAAY,CAAA;AAQnB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAE3C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAUlC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9E,OAAO,CAAC,eAAe;IA4EvB,OAAO,CAAC,QAAQ;CA6BjB;AAGD,eAAO,MAAM,YAAY,oBAAmC,CAAA"}
|
|
@@ -1,19 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simplified Matter Error Handler
|
|
3
|
-
*
|
|
4
|
-
* Provides basic error categorization and logging without the complexity
|
|
5
|
-
* of circuit breakers, recovery callbacks, and exponential backoff.
|
|
6
|
-
*
|
|
7
|
-
* This simplified version is more appropriate for alpha/beta releases.
|
|
8
|
-
* Advanced features can be added later based on production error patterns.
|
|
9
|
-
*/
|
|
10
1
|
import { Logger } from '../logger.js';
|
|
11
2
|
import { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './types.js';
|
|
12
3
|
const log = Logger.withPrefix('Matter/Errors');
|
|
13
|
-
/**
|
|
14
|
-
* Simplified Matter Error Handler
|
|
15
|
-
* Focuses on proper error categorization and user-friendly logging
|
|
16
|
-
*/
|
|
17
4
|
export class MatterErrorHandler {
|
|
18
5
|
static instance;
|
|
19
6
|
constructor() { }
|
|
@@ -23,55 +10,38 @@ export class MatterErrorHandler {
|
|
|
23
10
|
}
|
|
24
11
|
return MatterErrorHandler.instance;
|
|
25
12
|
}
|
|
26
|
-
/**
|
|
27
|
-
* Handle a Matter error with appropriate logging
|
|
28
|
-
*/
|
|
29
13
|
async handleError(error, context) {
|
|
30
14
|
const matterError = this.categorizeError(error, context);
|
|
31
15
|
this.logError(matterError);
|
|
32
16
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Categorize a generic error into a typed MatterError
|
|
35
|
-
*/
|
|
36
17
|
categorizeError(error, context) {
|
|
37
|
-
// If already a typed MatterError, return it
|
|
38
18
|
if (error instanceof MatterError) {
|
|
39
19
|
return error;
|
|
40
20
|
}
|
|
41
21
|
const errorMessage = error.message.toLowerCase();
|
|
42
|
-
// Network errors (port conflicts, connection failures)
|
|
43
22
|
if (errorMessage.includes('eaddrinuse')) {
|
|
44
23
|
return new MatterNetworkError(`Port is already in use: ${error.message}`, { code: 'PORT_IN_USE', recoverable: false });
|
|
45
24
|
}
|
|
46
25
|
if (errorMessage.includes('econnrefused') || errorMessage.includes('etimedout')) {
|
|
47
26
|
return new MatterNetworkError(`Connection failed: ${error.message}`, { code: 'CONNECTION_FAILED', recoverable: true });
|
|
48
27
|
}
|
|
49
|
-
// Commissioning errors
|
|
50
28
|
if (errorMessage.includes('commissioning') || errorMessage.includes('pairing')) {
|
|
51
29
|
return new MatterCommissioningError(`Commissioning error: ${error.message}`, { recoverable: false });
|
|
52
30
|
}
|
|
53
|
-
// Storage errors
|
|
54
31
|
if (errorMessage.includes('storage') || errorMessage.includes('enoent') || errorMessage.includes('corrupted')) {
|
|
55
32
|
return new MatterStorageError(`Storage error: ${error.message}`, { recoverable: true });
|
|
56
33
|
}
|
|
57
|
-
// Configuration errors
|
|
58
34
|
if (errorMessage.includes('config') || errorMessage.includes('invalid')) {
|
|
59
35
|
return new MatterError(`Configuration error: ${error.message}`, 'CONFIGURATION_ERROR', { recoverable: false, type: MatterErrorType.CONFIGURATION });
|
|
60
36
|
}
|
|
61
|
-
// Device sync errors (context-based)
|
|
62
37
|
if (context?.includes('sync') || context?.includes('device')) {
|
|
63
38
|
return new MatterDeviceError(`Device sync error: ${error.message}`, { recoverable: true, context });
|
|
64
39
|
}
|
|
65
|
-
// Server errors (context-based)
|
|
66
40
|
if (context?.includes('server')) {
|
|
67
41
|
return new MatterError(`Server error: ${error.message}`, 'SERVER_ERROR', { recoverable: true, type: MatterErrorType.SERVER, context });
|
|
68
42
|
}
|
|
69
|
-
// Default to unknown error
|
|
70
43
|
return new MatterError(error.message || 'Unknown Matter error', 'UNKNOWN_ERROR', { recoverable: false, type: MatterErrorType.UNKNOWN, originalError: error });
|
|
71
44
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Log error with appropriate severity and user-friendly messages
|
|
74
|
-
*/
|
|
75
45
|
logError(error) {
|
|
76
46
|
if (error instanceof MatterNetworkError) {
|
|
77
47
|
if (error.details?.code === 'PORT_IN_USE') {
|
|
@@ -102,12 +72,10 @@ export class MatterErrorHandler {
|
|
|
102
72
|
else {
|
|
103
73
|
log.error(`Matter error: ${error.message}`);
|
|
104
74
|
}
|
|
105
|
-
// Log stack trace for non-recoverable errors
|
|
106
75
|
if (!error.recoverable && error.stack) {
|
|
107
76
|
log.debug('Stack trace:', error.stack);
|
|
108
77
|
}
|
|
109
78
|
}
|
|
110
79
|
}
|
|
111
|
-
// Export singleton instance
|
|
112
80
|
export const errorHandler = MatterErrorHandler.getInstance();
|
|
113
81
|
//# sourceMappingURL=errorHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/matter/errorHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errorHandler.js","sourceRoot":"","sources":["../../src/matter/errorHandler.ts"],"names":[],"mappings":"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"}
|
package/dist/matter/errors.d.ts
CHANGED
|
@@ -1,167 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Protocol Errors
|
|
3
|
-
*
|
|
4
|
-
* This module provides error classes that plugin developers can throw
|
|
5
|
-
* to send specific Matter protocol status codes to controllers.
|
|
6
|
-
*
|
|
7
|
-
* When a handler throws one of these errors, the Matter server will send
|
|
8
|
-
* the appropriate status code to the controller (e.g., Home app) instead
|
|
9
|
-
* of crashing the endpoint.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* import { MatterStatus } from 'homebridge'
|
|
14
|
-
*
|
|
15
|
-
* handlers: {
|
|
16
|
-
* onOff: {
|
|
17
|
-
* on: async () => {
|
|
18
|
-
* if (deviceIsBusy) {
|
|
19
|
-
* throw new MatterStatus.Busy('Device is processing another command')
|
|
20
|
-
* }
|
|
21
|
-
* if (requestTimedOut) {
|
|
22
|
-
* throw new MatterStatus.Timeout('Device did not respond in time')
|
|
23
|
-
* }
|
|
24
|
-
* // ... control device
|
|
25
|
-
* }
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
1
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
31
|
-
/**
|
|
32
|
-
* Base class for all Matter protocol errors
|
|
33
|
-
* Plugins can throw this directly or use specific error classes below
|
|
34
|
-
*/
|
|
35
2
|
export declare class MatterProtocolError extends StatusResponseError {
|
|
36
3
|
constructor(message: string, code: Status, clusterCode?: number);
|
|
37
4
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Device is busy processing another action (Status.Busy = 156)
|
|
40
|
-
*
|
|
41
|
-
* Use when the device cannot handle the request because it's processing another operation.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* throw new MatterStatus.Busy('Device is currently processing another command')
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
5
|
export declare class Busy extends MatterProtocolError {
|
|
49
6
|
constructor(message?: string);
|
|
50
7
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Operation timed out (Status.Timeout = 148)
|
|
53
|
-
*
|
|
54
|
-
* Use when the device or operation times out.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* throw new MatterStatus.Timeout('Device did not respond within 5 seconds')
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
8
|
export declare class Timeout extends MatterProtocolError {
|
|
62
9
|
constructor(message?: string);
|
|
63
10
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Value out of range or invalid (Status.ConstraintError = 135)
|
|
66
|
-
*
|
|
67
|
-
* Use when a value is out of bounds or doesn't meet constraints.
|
|
68
|
-
*
|
|
69
|
-
* @example
|
|
70
|
-
* ```typescript
|
|
71
|
-
* throw new MatterStatus.ConstraintError('Brightness must be between 0-254')
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
11
|
export declare class ConstraintError extends MatterProtocolError {
|
|
75
12
|
constructor(message?: string);
|
|
76
13
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Malformed action or invalid values (Status.InvalidAction = 128)
|
|
79
|
-
*
|
|
80
|
-
* Use when the command or action is malformed or has invalid field values.
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* ```typescript
|
|
84
|
-
* throw new MatterStatus.InvalidAction('Invalid color value provided')
|
|
85
|
-
* ```
|
|
86
|
-
*/
|
|
87
14
|
export declare class InvalidAction extends MatterProtocolError {
|
|
88
15
|
constructor(message?: string);
|
|
89
16
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Current operational state prevents the action (Status.InvalidInState = 203)
|
|
92
|
-
*
|
|
93
|
-
* Use when the device state prevents the requested operation.
|
|
94
|
-
*
|
|
95
|
-
* @example
|
|
96
|
-
* ```typescript
|
|
97
|
-
* throw new MatterStatus.InvalidInState('Cannot unlock door while security system is armed')
|
|
98
|
-
* ```
|
|
99
|
-
*/
|
|
100
17
|
export declare class InvalidInState extends MatterProtocolError {
|
|
101
18
|
constructor(message?: string);
|
|
102
19
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Generic failure (Status.Failure = 1)
|
|
105
|
-
*
|
|
106
|
-
* Use as a fallback when no specific error applies.
|
|
107
|
-
*
|
|
108
|
-
* @example
|
|
109
|
-
* ```typescript
|
|
110
|
-
* throw new MatterStatus.Failure('Device returned an error')
|
|
111
|
-
* ```
|
|
112
|
-
*/
|
|
113
20
|
export declare class Failure extends MatterProtocolError {
|
|
114
21
|
constructor(message?: string);
|
|
115
22
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Insufficient resources to process the request (Status.ResourceExhausted = 137)
|
|
118
|
-
*
|
|
119
|
-
* Use when the device has insufficient resources to handle the request.
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* ```typescript
|
|
123
|
-
* throw new MatterStatus.ResourceExhausted('Maximum number of scenes reached')
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
23
|
export declare class ResourceExhausted extends MatterProtocolError {
|
|
127
24
|
constructor(message?: string);
|
|
128
25
|
}
|
|
129
|
-
/**
|
|
130
|
-
* The sender does not have sufficient permissions (Status.PermissionDenied = 15)
|
|
131
|
-
*
|
|
132
|
-
* Use when access control prevents the operation.
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* ```typescript
|
|
136
|
-
* throw new MatterStatus.PermissionDenied('User does not have permission to unlock')
|
|
137
|
-
* ```
|
|
138
|
-
*/
|
|
139
26
|
export declare class PermissionDenied extends MatterProtocolError {
|
|
140
27
|
constructor(message?: string);
|
|
141
28
|
}
|
|
142
|
-
/**
|
|
143
|
-
* The requested entity was not found (Status.NotFound = 139)
|
|
144
|
-
*
|
|
145
|
-
* Use when a requested resource or entity doesn't exist.
|
|
146
|
-
*
|
|
147
|
-
* @example
|
|
148
|
-
* ```typescript
|
|
149
|
-
* throw new MatterStatus.NotFound('Scene not found')
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
29
|
export declare class NotFound extends MatterProtocolError {
|
|
153
30
|
constructor(message?: string);
|
|
154
31
|
}
|
|
155
|
-
/**
|
|
156
|
-
* Helper to check if an error is a Matter protocol error
|
|
157
|
-
*/
|
|
158
32
|
export declare function isMatterProtocolError(error: unknown): error is MatterProtocolError;
|
|
159
|
-
/**
|
|
160
|
-
* Matter protocol status codes and error classes
|
|
161
|
-
*
|
|
162
|
-
* Use these error classes to signal specific error conditions to Matter controllers.
|
|
163
|
-
* Each error class corresponds to a Matter protocol status code.
|
|
164
|
-
*/
|
|
165
33
|
export declare const MatterStatus: {
|
|
166
34
|
MatterProtocolError: typeof MatterProtocolError;
|
|
167
35
|
Busy: typeof Busy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,qBAAa,mBAAoB,SAAQ,mBAAmB;gBAC9C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAGhE;AAYD,qBAAa,IAAK,SAAQ,mBAAmB;gBAC/B,OAAO,SAAmB;CAGvC;AAYD,qBAAa,OAAQ,SAAQ,mBAAmB;gBAClC,OAAO,SAAwB;CAG5C;AAYD,qBAAa,eAAgB,SAAQ,mBAAmB;gBAC1C,OAAO,SAAkC;CAGtD;AAYD,qBAAa,aAAc,SAAQ,mBAAmB;gBACxC,OAAO,SAA6B;CAGjD;AAYD,qBAAa,cAAe,SAAQ,mBAAmB;gBACzC,OAAO,SAA2C;CAG/D;AAYD,qBAAa,OAAQ,SAAQ,mBAAmB;gBAClC,OAAO,SAAqB;CAGzC;AAYD,qBAAa,iBAAkB,SAAQ,mBAAmB;gBAC5C,OAAO,SAA2B;CAG/C;AAYD,qBAAa,gBAAiB,SAAQ,mBAAmB;gBAC3C,OAAO,SAAsB;CAG1C;AAYD,qBAAa,QAAS,SAAQ,mBAAmB;gBACnC,OAAO,SAAqB;CAGzC;AAKD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAQD,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAA"}
|