homebridge 2.0.0-beta.35 → 2.0.0-beta.36
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 +74 -32
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +48 -46
- package/dist/api.js.map +1 -1
- package/dist/api.spec.d.ts +2 -0
- package/dist/api.spec.d.ts.map +1 -0
- package/dist/api.spec.js +413 -0
- package/dist/api.spec.js.map +1 -0
- package/dist/childBridgeFork.d.ts +1 -18
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +21 -258
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.spec.d.ts +2 -0
- package/dist/logger.spec.d.ts.map +1 -0
- package/dist/logger.spec.js +95 -0
- package/dist/logger.spec.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +96 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.js +397 -0
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +48 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js +73 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +2 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +293 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +1 -0
- package/dist/matter/{matterServer.d.ts → MatterAPIImpl.d.ts} +203 -367
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
- package/dist/matter/MatterAPIImpl.js +305 -0
- package/dist/matter/MatterAPIImpl.js.map +1 -0
- package/dist/matter/MatterBridgeManager.d.ts +91 -0
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
- package/dist/matter/MatterBridgeManager.js +426 -0
- package/dist/matter/MatterBridgeManager.js.map +1 -0
- package/dist/matter/MatterConfigCollector.d.ts +26 -0
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
- package/dist/matter/MatterConfigCollector.js +78 -0
- package/dist/matter/MatterConfigCollector.js.map +1 -0
- package/dist/matter/{matterAccessoryCache.d.ts → accessoryCache.d.ts} +12 -3
- package/dist/matter/accessoryCache.d.ts.map +1 -0
- package/dist/matter/{matterAccessoryCache.js → accessoryCache.js} +32 -10
- package/dist/matter/accessoryCache.js.map +1 -0
- package/dist/matter/accessoryCache.spec.d.ts +2 -0
- package/dist/matter/accessoryCache.spec.d.ts.map +1 -0
- package/dist/matter/accessoryCache.spec.js +452 -0
- package/dist/matter/accessoryCache.spec.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +65 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.js +139 -0
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +2 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +307 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +64 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.js +160 -0
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +29 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +21 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.js +49 -0
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +108 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts +20 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.js +45 -0
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.js +23 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +21 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.js +27 -0
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +64 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +34 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.js +75 -0
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +140 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts +28 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.js +63 -0
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.js +116 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +19 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +27 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +56 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +23 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +49 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +55 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +19 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js +27 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +56 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +22 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js +35 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +52 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +23 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.js +79 -0
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +23 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +32 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js +106 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +27 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/index.d.ts +20 -0
- package/dist/matter/behaviors/index.d.ts.map +1 -0
- package/dist/matter/behaviors/index.js +21 -0
- package/dist/matter/behaviors/index.js.map +1 -0
- package/dist/matter/{matterConfigValidator.d.ts → configValidator.d.ts} +1 -1
- package/dist/matter/configValidator.d.ts.map +1 -0
- package/dist/matter/{matterConfigValidator.js → configValidator.js} +1 -1
- package/dist/matter/configValidator.js.map +1 -0
- package/dist/matter/configValidator.spec.d.ts +2 -0
- package/dist/matter/configValidator.spec.d.ts.map +1 -0
- package/dist/matter/configValidator.spec.js +390 -0
- package/dist/matter/configValidator.spec.js.map +1 -0
- package/dist/matter/errorHandler.d.ts +33 -0
- package/dist/matter/errorHandler.d.ts.map +1 -0
- package/dist/matter/errorHandler.js +113 -0
- package/dist/matter/errorHandler.js.map +1 -0
- package/dist/matter/errorHandler.spec.d.ts +2 -0
- package/dist/matter/errorHandler.spec.d.ts.map +1 -0
- package/dist/matter/errorHandler.spec.js +159 -0
- package/dist/matter/errorHandler.spec.js.map +1 -0
- package/dist/matter/index.d.ts +7 -4
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +7 -4
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/{matterLogFormatter.d.ts → logFormatter.d.ts} +1 -1
- package/dist/matter/logFormatter.d.ts.map +1 -0
- package/dist/matter/{matterLogFormatter.js → logFormatter.js} +33 -6
- package/dist/matter/logFormatter.js.map +1 -0
- package/dist/matter/logFormatter.spec.d.ts +2 -0
- package/dist/matter/logFormatter.spec.d.ts.map +1 -0
- package/dist/matter/logFormatter.spec.js +284 -0
- package/dist/matter/logFormatter.spec.js.map +1 -0
- package/dist/matter/server.d.ts +350 -0
- package/dist/matter/server.d.ts.map +1 -0
- package/dist/matter/{matterServer.js → server.js} +533 -352
- package/dist/matter/server.js.map +1 -0
- package/dist/matter/{matterServerHelpers.d.ts → serverHelpers.d.ts} +2 -2
- package/dist/matter/serverHelpers.d.ts.map +1 -0
- package/dist/matter/{matterServerHelpers.js → serverHelpers.js} +11 -8
- package/dist/matter/serverHelpers.js.map +1 -0
- package/dist/matter/serverHelpers.spec.d.ts +2 -0
- package/dist/matter/serverHelpers.spec.d.ts.map +1 -0
- package/dist/matter/serverHelpers.spec.js +521 -0
- package/dist/matter/serverHelpers.spec.js.map +1 -0
- package/dist/matter/{matterSharedTypes.d.ts → sharedTypes.d.ts} +4 -10
- package/dist/matter/sharedTypes.d.ts.map +1 -0
- package/dist/matter/{matterSharedTypes.js → sharedTypes.js} +4 -10
- package/dist/matter/sharedTypes.js.map +1 -0
- package/dist/matter/{matterStorage.d.ts → storage.d.ts} +9 -2
- package/dist/matter/storage.d.ts.map +1 -0
- package/dist/matter/{matterStorage.js → storage.js} +14 -5
- package/dist/matter/{matterStorage.js.map → storage.js.map} +1 -1
- package/dist/matter/storage.spec.d.ts +2 -0
- package/dist/matter/storage.spec.d.ts.map +1 -0
- package/dist/matter/storage.spec.js +570 -0
- package/dist/matter/storage.spec.js.map +1 -0
- package/dist/matter/typeHelpers.d.ts +45 -0
- package/dist/matter/typeHelpers.d.ts.map +1 -0
- package/dist/matter/typeHelpers.js +57 -0
- package/dist/matter/typeHelpers.js.map +1 -0
- package/dist/matter/typeHelpers.spec.d.ts +2 -0
- package/dist/matter/typeHelpers.spec.d.ts.map +1 -0
- package/dist/matter/typeHelpers.spec.js +127 -0
- package/dist/matter/typeHelpers.spec.js.map +1 -0
- package/dist/matter/{matterTypes.d.ts → types.d.ts} +2 -2
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/{matterTypes.js → types.js} +1 -2
- package/dist/matter/types.js.map +1 -0
- package/dist/platformAccessory.spec.d.ts +2 -0
- package/dist/platformAccessory.spec.d.ts.map +1 -0
- package/dist/platformAccessory.spec.js +126 -0
- package/dist/platformAccessory.spec.js.map +1 -0
- package/dist/pluginManager.spec.d.ts +2 -0
- package/dist/pluginManager.spec.d.ts.map +1 -0
- package/dist/pluginManager.spec.js +43 -0
- package/dist/pluginManager.spec.js.map +1 -0
- package/dist/server.d.ts +4 -13
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +43 -346
- package/dist/server.js.map +1 -1
- package/dist/server.spec.d.ts +2 -0
- package/dist/server.spec.d.ts.map +1 -0
- package/dist/server.spec.js +57 -0
- package/dist/server.spec.js.map +1 -0
- package/dist/user.spec.d.ts +2 -0
- package/dist/user.spec.d.ts.map +1 -0
- package/dist/user.spec.js +31 -0
- package/dist/user.spec.js.map +1 -0
- package/dist/util/mac.spec.d.ts +2 -0
- package/dist/util/mac.spec.d.ts.map +1 -0
- package/dist/util/mac.spec.js +36 -0
- package/dist/util/mac.spec.js.map +1 -0
- package/dist/version.spec.d.ts +2 -0
- package/dist/version.spec.d.ts.map +1 -0
- package/dist/version.spec.js +20 -0
- package/dist/version.spec.js.map +1 -0
- package/package.json +4 -4
- package/dist/matter/matterAccessoryCache.d.ts.map +0 -1
- package/dist/matter/matterAccessoryCache.js.map +0 -1
- package/dist/matter/matterBehaviors.d.ts +0 -194
- package/dist/matter/matterBehaviors.d.ts.map +0 -1
- package/dist/matter/matterBehaviors.js +0 -665
- package/dist/matter/matterBehaviors.js.map +0 -1
- package/dist/matter/matterConfigValidator.d.ts.map +0 -1
- package/dist/matter/matterConfigValidator.js.map +0 -1
- package/dist/matter/matterErrorHandler.d.ts +0 -106
- package/dist/matter/matterErrorHandler.d.ts.map +0 -1
- package/dist/matter/matterErrorHandler.js +0 -495
- package/dist/matter/matterErrorHandler.js.map +0 -1
- package/dist/matter/matterLogFormatter.d.ts.map +0 -1
- package/dist/matter/matterLogFormatter.js.map +0 -1
- package/dist/matter/matterNetworkMonitor.d.ts +0 -68
- package/dist/matter/matterNetworkMonitor.d.ts.map +0 -1
- package/dist/matter/matterNetworkMonitor.js +0 -249
- package/dist/matter/matterNetworkMonitor.js.map +0 -1
- package/dist/matter/matterServer.d.ts.map +0 -1
- package/dist/matter/matterServer.js.map +0 -1
- package/dist/matter/matterServerHelpers.d.ts.map +0 -1
- package/dist/matter/matterServerHelpers.js.map +0 -1
- package/dist/matter/matterSharedTypes.d.ts.map +0 -1
- package/dist/matter/matterSharedTypes.js.map +0 -1
- package/dist/matter/matterStorage.d.ts.map +0 -1
- package/dist/matter/matterTypes.d.ts.map +0 -1
- package/dist/matter/matterTypes.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterBehaviors.js","sourceRoot":"","sources":["../../src/matter/matterBehaviors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterConfigValidator.d.ts","sourceRoot":"","sources":["../../src/matter/matterConfigValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAM1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAA;IACR,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,oBAAoB,CAqBvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAuB7E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,kBAAkB,CAAC,MAAM,CAAC,CAa5B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ1F;AAMD;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,4BAA4B;IAyB9E,OAAO,CAAC,MAAM,CAAC,YAAY;IAiB3B;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAC9B,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,UAAU,EAAE,UAAU,GAAG,WAAW,EACpC,UAAU,EAAE,MAAM,GACjB,4BAA4B;IAmD/B;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,SAAS,EAAE,cAAc,EAAE,EAC3B,WAAW,EAAE,eAAe,EAAE,GAC7B,4BAA4B;CA2DhC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterConfigValidator.js","sourceRoot":"","sources":["../../src/matter/matterConfigValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Error Handler
|
|
3
|
-
*
|
|
4
|
-
* Centralized error handling and recovery for Matter.js integration
|
|
5
|
-
* with circuit breaker pattern and contextual recovery
|
|
6
|
-
*/
|
|
7
|
-
import { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError } from './matterTypes.js';
|
|
8
|
-
export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError };
|
|
9
|
-
/**
|
|
10
|
-
* Circuit breaker states
|
|
11
|
-
*/
|
|
12
|
-
declare enum CircuitState {
|
|
13
|
-
CLOSED = "CLOSED",// Normal operation
|
|
14
|
-
OPEN = "OPEN",// Failure threshold exceeded, blocking requests
|
|
15
|
-
HALF_OPEN = "HALF_OPEN"
|
|
16
|
-
}
|
|
17
|
-
export declare class MatterErrorHandler {
|
|
18
|
-
private static instance;
|
|
19
|
-
private errorCount;
|
|
20
|
-
private lastErrors;
|
|
21
|
-
private recoveryCallbacks;
|
|
22
|
-
private circuitBreakers;
|
|
23
|
-
private recoveryContexts;
|
|
24
|
-
private readonly MAX_RECOVERY_ATTEMPTS;
|
|
25
|
-
private constructor();
|
|
26
|
-
static getInstance(): MatterErrorHandler;
|
|
27
|
-
/**
|
|
28
|
-
* Handle a Matter error with context-aware recovery
|
|
29
|
-
*/
|
|
30
|
-
handleError(error: Error | MatterError, context?: string): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Error patterns for categorization
|
|
33
|
-
* Defined as a class constant for better performance (avoids recreation on every call)
|
|
34
|
-
*/
|
|
35
|
-
private static readonly ERROR_PATTERNS;
|
|
36
|
-
/**
|
|
37
|
-
* Categorize error into Matter error types using pattern matching
|
|
38
|
-
* Converts generic Error objects into typed MatterError instances for better handling
|
|
39
|
-
*/
|
|
40
|
-
private categorizeError;
|
|
41
|
-
/**
|
|
42
|
-
* Log error with appropriate severity
|
|
43
|
-
*/
|
|
44
|
-
private logError;
|
|
45
|
-
/**
|
|
46
|
-
* Get error type from MatterError
|
|
47
|
-
*/
|
|
48
|
-
private getErrorType;
|
|
49
|
-
/**
|
|
50
|
-
* Track error occurrences with bounds checking
|
|
51
|
-
*/
|
|
52
|
-
private trackError;
|
|
53
|
-
/**
|
|
54
|
-
* Clear errors for a specific type
|
|
55
|
-
*/
|
|
56
|
-
private clearErrors;
|
|
57
|
-
/**
|
|
58
|
-
* Attempt contextual recovery from error
|
|
59
|
-
*/
|
|
60
|
-
private attemptContextualRecovery;
|
|
61
|
-
/**
|
|
62
|
-
* Get or create a circuit breaker for an error type
|
|
63
|
-
*/
|
|
64
|
-
private getOrCreateCircuitBreaker;
|
|
65
|
-
/**
|
|
66
|
-
* Check if we should attempt recovery
|
|
67
|
-
*/
|
|
68
|
-
private shouldAttemptRecovery;
|
|
69
|
-
/**
|
|
70
|
-
* Base delays by error type (in milliseconds)
|
|
71
|
-
* Network errors have longer delays since they often indicate transient network issues
|
|
72
|
-
*/
|
|
73
|
-
private static readonly BASE_DELAYS;
|
|
74
|
-
/**
|
|
75
|
-
* Get contextual delay based on error type and attempt count
|
|
76
|
-
* Uses exponential backoff with jitter to avoid thundering herd
|
|
77
|
-
*/
|
|
78
|
-
private getContextualDelay;
|
|
79
|
-
/**
|
|
80
|
-
* Register a recovery callback for specific error type
|
|
81
|
-
*/
|
|
82
|
-
registerRecoveryCallback(type: MatterErrorType, callback: () => Promise<void>): void;
|
|
83
|
-
/**
|
|
84
|
-
* Reset error counts (useful after successful recovery)
|
|
85
|
-
*/
|
|
86
|
-
resetErrorCount(type?: MatterErrorType): void;
|
|
87
|
-
/**
|
|
88
|
-
* Get error statistics
|
|
89
|
-
*/
|
|
90
|
-
getErrorStats(): Map<MatterErrorType, {
|
|
91
|
-
count: number;
|
|
92
|
-
lastError?: MatterError;
|
|
93
|
-
circuitState?: CircuitState;
|
|
94
|
-
recoveryAttempts?: number;
|
|
95
|
-
}>;
|
|
96
|
-
/**
|
|
97
|
-
* Create a wrapped function with error handling
|
|
98
|
-
*/
|
|
99
|
-
wrapAsync<T extends (...args: any[]) => Promise<any>>(fn: T, context: string): T;
|
|
100
|
-
/**
|
|
101
|
-
* Create a wrapped function with error suppression
|
|
102
|
-
*/
|
|
103
|
-
wrapAsyncSafe<T extends (...args: any[]) => Promise<any>>(fn: T, context: string, defaultValue?: ReturnType<T>): T;
|
|
104
|
-
}
|
|
105
|
-
export declare const errorHandler: MatterErrorHandler;
|
|
106
|
-
//# sourceMappingURL=matterErrorHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"matterErrorHandler.d.ts","sourceRoot":"","sources":["../../src/matter/matterErrorHandler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAKzB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAA;AAE5H;;GAEG;AACH,aAAK,YAAY;IACf,MAAM,WAAW,CAAE,mBAAmB;IACtC,IAAI,SAAS,CAAE,gDAAgD;IAC/D,SAAS,cAAc;CACxB;AA6GD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAC3C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,iBAAiB,CAAsD;IAC/E,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAI;IAE1C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9E;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAqCrC;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IA+CvB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAuChB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;OAEG;IACH,OAAO,CAAC,UAAU;IAiClB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;YACW,yBAAyB;IAyDvC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAUlC;IAED;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,wBAAwB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMpF;;OAEG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI;IAuB7C;;OAEG;IACH,aAAa,IAAI,GAAG,CAAC,eAAe,EAAE;QACpC,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,CAAC,EAAE,WAAW,CAAA;QACvB,YAAY,CAAC,EAAE,YAAY,CAAA;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAC;IAmBF;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,EAAE,EAAE,CAAC,EACL,OAAO,EAAE,MAAM,GACd,CAAC;IAWJ;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACtD,EAAE,EAAE,CAAC,EACL,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAC3B,CAAC;CAUL;AAGD,eAAO,MAAM,YAAY,oBAAmC,CAAA"}
|
|
@@ -1,495 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Error Handler
|
|
3
|
-
*
|
|
4
|
-
* Centralized error handling and recovery for Matter.js integration
|
|
5
|
-
* with circuit breaker pattern and contextual recovery
|
|
6
|
-
*/
|
|
7
|
-
import { Logger } from '../logger.js';
|
|
8
|
-
import { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './matterTypes.js';
|
|
9
|
-
const log = Logger.withPrefix('Matter/Errors');
|
|
10
|
-
// Re-export for backward compatibility
|
|
11
|
-
export { MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError };
|
|
12
|
-
/**
|
|
13
|
-
* Circuit breaker states
|
|
14
|
-
*/
|
|
15
|
-
var CircuitState;
|
|
16
|
-
(function (CircuitState) {
|
|
17
|
-
CircuitState["CLOSED"] = "CLOSED";
|
|
18
|
-
CircuitState["OPEN"] = "OPEN";
|
|
19
|
-
CircuitState["HALF_OPEN"] = "HALF_OPEN";
|
|
20
|
-
})(CircuitState || (CircuitState = {}));
|
|
21
|
-
/**
|
|
22
|
-
* Circuit breaker for error recovery
|
|
23
|
-
*/
|
|
24
|
-
class CircuitBreaker {
|
|
25
|
-
threshold;
|
|
26
|
-
timeout;
|
|
27
|
-
successThreshold;
|
|
28
|
-
state = CircuitState.CLOSED;
|
|
29
|
-
failureCount = 0;
|
|
30
|
-
successCount = 0;
|
|
31
|
-
nextAttemptTime = 0;
|
|
32
|
-
constructor(threshold = 5, timeout = 60000, // 1 minute
|
|
33
|
-
successThreshold = 3) {
|
|
34
|
-
this.threshold = threshold;
|
|
35
|
-
this.timeout = timeout;
|
|
36
|
-
this.successThreshold = successThreshold;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Check if operation should be allowed
|
|
40
|
-
*/
|
|
41
|
-
canAttempt() {
|
|
42
|
-
const now = Date.now();
|
|
43
|
-
switch (this.state) {
|
|
44
|
-
case CircuitState.CLOSED:
|
|
45
|
-
return true;
|
|
46
|
-
case CircuitState.OPEN:
|
|
47
|
-
if (now >= this.nextAttemptTime) {
|
|
48
|
-
this.state = CircuitState.HALF_OPEN;
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
return false;
|
|
52
|
-
case CircuitState.HALF_OPEN:
|
|
53
|
-
return true;
|
|
54
|
-
default:
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Record success
|
|
60
|
-
*/
|
|
61
|
-
recordSuccess() {
|
|
62
|
-
this.failureCount = 0;
|
|
63
|
-
if (this.state === CircuitState.HALF_OPEN) {
|
|
64
|
-
this.successCount++;
|
|
65
|
-
if (this.successCount >= this.successThreshold) {
|
|
66
|
-
this.state = CircuitState.CLOSED;
|
|
67
|
-
this.successCount = 0;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Record failure
|
|
73
|
-
*/
|
|
74
|
-
recordFailure() {
|
|
75
|
-
this.failureCount++;
|
|
76
|
-
this.successCount = 0;
|
|
77
|
-
if (this.state === CircuitState.HALF_OPEN) {
|
|
78
|
-
this.state = CircuitState.OPEN;
|
|
79
|
-
this.nextAttemptTime = Date.now() + this.timeout;
|
|
80
|
-
}
|
|
81
|
-
else if (this.failureCount >= this.threshold) {
|
|
82
|
-
this.state = CircuitState.OPEN;
|
|
83
|
-
this.nextAttemptTime = Date.now() + this.timeout;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Get current state
|
|
88
|
-
*/
|
|
89
|
-
getState() {
|
|
90
|
-
return this.state;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Reset the circuit breaker
|
|
94
|
-
*/
|
|
95
|
-
reset() {
|
|
96
|
-
this.state = CircuitState.CLOSED;
|
|
97
|
-
this.failureCount = 0;
|
|
98
|
-
this.successCount = 0;
|
|
99
|
-
this.nextAttemptTime = 0;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
export class MatterErrorHandler {
|
|
103
|
-
static instance;
|
|
104
|
-
errorCount = new Map();
|
|
105
|
-
lastErrors = new Map();
|
|
106
|
-
recoveryCallbacks = new Map();
|
|
107
|
-
circuitBreakers = new Map();
|
|
108
|
-
recoveryContexts = new Map();
|
|
109
|
-
MAX_RECOVERY_ATTEMPTS = 5;
|
|
110
|
-
constructor() { }
|
|
111
|
-
static getInstance() {
|
|
112
|
-
if (!MatterErrorHandler.instance) {
|
|
113
|
-
MatterErrorHandler.instance = new MatterErrorHandler();
|
|
114
|
-
}
|
|
115
|
-
return MatterErrorHandler.instance;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Handle a Matter error with context-aware recovery
|
|
119
|
-
*/
|
|
120
|
-
async handleError(error, context) {
|
|
121
|
-
const matterError = this.categorizeError(error, context);
|
|
122
|
-
// Log the error with appropriate level
|
|
123
|
-
this.logError(matterError);
|
|
124
|
-
// Track error occurrence
|
|
125
|
-
this.trackError(matterError);
|
|
126
|
-
// Check circuit breaker before attempting recovery
|
|
127
|
-
const circuitBreaker = this.getOrCreateCircuitBreaker(matterError.type);
|
|
128
|
-
if (matterError.recoverable && circuitBreaker.canAttempt()) {
|
|
129
|
-
// Check if we should attempt recovery based on context
|
|
130
|
-
if (this.shouldAttemptRecovery(matterError)) {
|
|
131
|
-
this.attemptContextualRecovery(matterError, circuitBreaker).catch((err) => {
|
|
132
|
-
log.debug(`Recovery attempt failed for ${matterError.type}:`, err);
|
|
133
|
-
circuitBreaker.recordFailure();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
else if (!circuitBreaker.canAttempt()) {
|
|
138
|
-
log.debug(`Circuit breaker OPEN for ${matterError.type}, skipping recovery`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Error patterns for categorization
|
|
143
|
-
* Defined as a class constant for better performance (avoids recreation on every call)
|
|
144
|
-
*/
|
|
145
|
-
static ERROR_PATTERNS = [
|
|
146
|
-
{
|
|
147
|
-
patterns: ['EADDRINUSE'],
|
|
148
|
-
create: error => new MatterNetworkError(`Port is already in use: ${error.message}`, { code: 'PORT_IN_USE', recoverable: false }),
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
patterns: ['ECONNREFUSED', 'ETIMEDOUT'],
|
|
152
|
-
create: error => new MatterNetworkError(`Connection failed: ${error.message}`, { code: 'CONNECTION_FAILED', recoverable: true }),
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
patterns: ['commissioning', 'pairing'],
|
|
156
|
-
create: error => new MatterCommissioningError(`Commissioning error: ${error.message}`, { recoverable: false }),
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
patterns: ['storage', 'ENOENT'],
|
|
160
|
-
create: error => new MatterStorageError(`Storage error: ${error.message}`, { recoverable: true }),
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
patterns: ['config', 'invalid'],
|
|
164
|
-
create: error => new MatterError(`Configuration error: ${error.message}`, 'CONFIGURATION_ERROR', { recoverable: false, type: MatterErrorType.CONFIGURATION }),
|
|
165
|
-
},
|
|
166
|
-
];
|
|
167
|
-
/**
|
|
168
|
-
* Categorize error into Matter error types using pattern matching
|
|
169
|
-
* Converts generic Error objects into typed MatterError instances for better handling
|
|
170
|
-
*/
|
|
171
|
-
categorizeError(error, context) {
|
|
172
|
-
// If already a typed MatterError, return it
|
|
173
|
-
if (error instanceof MatterError) {
|
|
174
|
-
return error;
|
|
175
|
-
}
|
|
176
|
-
const errorMessage = error.message.toLowerCase();
|
|
177
|
-
// Check message-based patterns first
|
|
178
|
-
for (const { patterns, create } of MatterErrorHandler.ERROR_PATTERNS) {
|
|
179
|
-
if (patterns.some(pattern => errorMessage.includes(pattern.toLowerCase()))) {
|
|
180
|
-
return create(error);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
// Check context-based patterns
|
|
184
|
-
if (context?.includes('sync') || context?.includes('device')) {
|
|
185
|
-
return new MatterDeviceError(`Device sync error: ${error.message}`, { recoverable: true, context });
|
|
186
|
-
}
|
|
187
|
-
if (context?.includes('server')) {
|
|
188
|
-
return new MatterError(`Server error: ${error.message}`, 'SERVER_ERROR', { recoverable: true, type: MatterErrorType.SERVER, context });
|
|
189
|
-
}
|
|
190
|
-
if (context?.includes('init')) {
|
|
191
|
-
return new MatterError(`Initialization error: ${error.message}`, 'INITIALIZATION_ERROR', { recoverable: true, type: MatterErrorType.INITIALIZATION, context });
|
|
192
|
-
}
|
|
193
|
-
// Default to unknown error
|
|
194
|
-
return new MatterError(error.message || 'Unknown Matter error', 'UNKNOWN_ERROR', { recoverable: false, type: MatterErrorType.UNKNOWN, originalError: error });
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Log error with appropriate severity
|
|
198
|
-
*/
|
|
199
|
-
logError(error) {
|
|
200
|
-
// Get the error type from the details if available, otherwise try to determine it
|
|
201
|
-
const details = error.details;
|
|
202
|
-
const errorType = details?.type || this.getErrorType(error);
|
|
203
|
-
const errorCount = this.errorCount.get(errorType) || 0;
|
|
204
|
-
const recoverable = details?.recoverable !== false;
|
|
205
|
-
if (error instanceof MatterNetworkError) {
|
|
206
|
-
if (details?.code === 'PORT_IN_USE') {
|
|
207
|
-
log.error('Matter port is already in use. Please configure a different port.');
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
log.warn(`Matter network error: ${error.message}`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
else if (error instanceof MatterCommissioningError) {
|
|
214
|
-
log.info(`Matter commissioning issue: ${error.message}`);
|
|
215
|
-
}
|
|
216
|
-
else if (error instanceof MatterDeviceError) {
|
|
217
|
-
if (errorCount < 3) {
|
|
218
|
-
log.debug(`Device sync error: ${error.message}`);
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
log.warn(`Repeated device sync errors: ${error.message}`);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
else if (error instanceof MatterStorageError) {
|
|
225
|
-
log.warn(`Matter storage error: ${error.message}`);
|
|
226
|
-
}
|
|
227
|
-
else if (error.code === 'CONFIGURATION_ERROR') {
|
|
228
|
-
log.error(`Matter configuration error: ${error.message}`);
|
|
229
|
-
}
|
|
230
|
-
else if (error.code === 'SERVER_ERROR') {
|
|
231
|
-
log.error(`Matter server error: ${error.message}`);
|
|
232
|
-
}
|
|
233
|
-
else if (error.code === 'INITIALIZATION_ERROR') {
|
|
234
|
-
log.error(`Matter initialization error: ${error.message}`);
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
log.error(`Matter error: ${error.message}`);
|
|
238
|
-
}
|
|
239
|
-
// Log stack trace for non-recoverable errors
|
|
240
|
-
if (!recoverable && error.stack) {
|
|
241
|
-
log.debug('Stack trace:', error.stack);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Get error type from MatterError
|
|
246
|
-
*/
|
|
247
|
-
getErrorType(error) {
|
|
248
|
-
if (error instanceof MatterNetworkError) {
|
|
249
|
-
return MatterErrorType.NETWORK;
|
|
250
|
-
}
|
|
251
|
-
else if (error instanceof MatterCommissioningError) {
|
|
252
|
-
return MatterErrorType.COMMISSIONING;
|
|
253
|
-
}
|
|
254
|
-
else if (error instanceof MatterDeviceError) {
|
|
255
|
-
return MatterErrorType.DEVICE_SYNC;
|
|
256
|
-
}
|
|
257
|
-
else if (error instanceof MatterStorageError) {
|
|
258
|
-
return MatterErrorType.STORAGE;
|
|
259
|
-
}
|
|
260
|
-
else if (error.code === 'CONFIGURATION_ERROR') {
|
|
261
|
-
return MatterErrorType.CONFIGURATION;
|
|
262
|
-
}
|
|
263
|
-
else if (error.code === 'SERVER_ERROR') {
|
|
264
|
-
return MatterErrorType.SERVER;
|
|
265
|
-
}
|
|
266
|
-
else if (error.code === 'INITIALIZATION_ERROR') {
|
|
267
|
-
return MatterErrorType.INITIALIZATION;
|
|
268
|
-
}
|
|
269
|
-
else {
|
|
270
|
-
return MatterErrorType.UNKNOWN;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Track error occurrences with bounds checking
|
|
275
|
-
*/
|
|
276
|
-
trackError(error) {
|
|
277
|
-
// Limit total error types tracked to prevent unbounded growth
|
|
278
|
-
const MAX_ERROR_TYPES = 50;
|
|
279
|
-
const MAX_ERRORS_PER_TYPE = 100;
|
|
280
|
-
const errorType = this.getErrorType(error);
|
|
281
|
-
if (!this.errorCount.has(errorType) && this.errorCount.size >= MAX_ERROR_TYPES) {
|
|
282
|
-
// Remove oldest error type
|
|
283
|
-
const firstKey = this.errorCount.keys().next().value;
|
|
284
|
-
if (firstKey) {
|
|
285
|
-
this.errorCount.delete(firstKey);
|
|
286
|
-
this.lastErrors.delete(firstKey);
|
|
287
|
-
this.recoveryContexts.delete(firstKey);
|
|
288
|
-
this.circuitBreakers.delete(firstKey);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
const count = (this.errorCount.get(error.type) || 0) + 1;
|
|
292
|
-
// Cap error count per type
|
|
293
|
-
this.errorCount.set(error.type, Math.min(count, MAX_ERRORS_PER_TYPE));
|
|
294
|
-
this.lastErrors.set(error.type, error);
|
|
295
|
-
// Auto-cleanup old errors after 1 hour
|
|
296
|
-
setTimeout(() => {
|
|
297
|
-
const currentError = this.lastErrors.get(error.type);
|
|
298
|
-
if (currentError && currentError.timestamp === error.timestamp) {
|
|
299
|
-
this.clearErrors(error.type);
|
|
300
|
-
}
|
|
301
|
-
}, 3600000); // 1 hour
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Clear errors for a specific type
|
|
305
|
-
*/
|
|
306
|
-
clearErrors(errorType) {
|
|
307
|
-
this.errorCount.delete(errorType);
|
|
308
|
-
this.lastErrors.delete(errorType);
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Attempt contextual recovery from error
|
|
312
|
-
*/
|
|
313
|
-
async attemptContextualRecovery(error, circuitBreaker) {
|
|
314
|
-
// Get or create recovery context
|
|
315
|
-
let context = this.recoveryContexts.get(error.type);
|
|
316
|
-
if (!context) {
|
|
317
|
-
context = {
|
|
318
|
-
errorType: error.type,
|
|
319
|
-
attemptCount: 0,
|
|
320
|
-
lastAttemptTime: 0,
|
|
321
|
-
backoffMultiplier: 1,
|
|
322
|
-
};
|
|
323
|
-
this.recoveryContexts.set(error.type, context);
|
|
324
|
-
}
|
|
325
|
-
context.attemptCount++;
|
|
326
|
-
context.lastAttemptTime = Date.now();
|
|
327
|
-
const delay = this.getContextualDelay(error.type, context.attemptCount - 1);
|
|
328
|
-
log.info(`Attempting recovery from ${error.type} error (attempt ${context.attemptCount}) in ${delay}ms`);
|
|
329
|
-
// Use global.setTimeout so it can be mocked in tests
|
|
330
|
-
await new Promise(resolve => globalThis.setTimeout(resolve, delay));
|
|
331
|
-
try {
|
|
332
|
-
const callbacks = this.recoveryCallbacks.get(error.type) || [];
|
|
333
|
-
let anySuccess = false;
|
|
334
|
-
for (const callback of callbacks) {
|
|
335
|
-
try {
|
|
336
|
-
await callback();
|
|
337
|
-
anySuccess = true;
|
|
338
|
-
}
|
|
339
|
-
catch (callbackError) {
|
|
340
|
-
log.debug(`Recovery callback failed for ${error.type}:`, callbackError);
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
if (anySuccess) {
|
|
344
|
-
circuitBreaker.recordSuccess();
|
|
345
|
-
// Reset context on success
|
|
346
|
-
this.recoveryContexts.delete(error.type);
|
|
347
|
-
this.errorCount.set(error.type, 0);
|
|
348
|
-
log.info(`Recovery successful for ${error.type}`);
|
|
349
|
-
}
|
|
350
|
-
else {
|
|
351
|
-
circuitBreaker.recordFailure();
|
|
352
|
-
// Increase backoff multiplier but don't delete context
|
|
353
|
-
context.backoffMultiplier = Math.min(context.backoffMultiplier * 2, 10);
|
|
354
|
-
// Keep the context so attemptCount persists
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
catch (recoveryError) {
|
|
358
|
-
log.error(`Recovery failed for ${error.type}:`, recoveryError);
|
|
359
|
-
circuitBreaker.recordFailure();
|
|
360
|
-
context.backoffMultiplier = Math.min(context.backoffMultiplier * 2, 10);
|
|
361
|
-
// Keep the context so attemptCount persists
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
/**
|
|
365
|
-
* Get or create a circuit breaker for an error type
|
|
366
|
-
*/
|
|
367
|
-
getOrCreateCircuitBreaker(type) {
|
|
368
|
-
let breaker = this.circuitBreakers.get(type);
|
|
369
|
-
if (!breaker) {
|
|
370
|
-
breaker = new CircuitBreaker();
|
|
371
|
-
this.circuitBreakers.set(type, breaker);
|
|
372
|
-
}
|
|
373
|
-
return breaker;
|
|
374
|
-
}
|
|
375
|
-
/**
|
|
376
|
-
* Check if we should attempt recovery
|
|
377
|
-
*/
|
|
378
|
-
shouldAttemptRecovery(error) {
|
|
379
|
-
// Don't attempt recovery for non-recoverable errors
|
|
380
|
-
if (!error.recoverable) {
|
|
381
|
-
return false;
|
|
382
|
-
}
|
|
383
|
-
// Check if we've exceeded max recovery attempts
|
|
384
|
-
const context = this.recoveryContexts.get(error.type);
|
|
385
|
-
return !(context && context.attemptCount >= this.MAX_RECOVERY_ATTEMPTS);
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Base delays by error type (in milliseconds)
|
|
389
|
-
* Network errors have longer delays since they often indicate transient network issues
|
|
390
|
-
*/
|
|
391
|
-
static BASE_DELAYS = {
|
|
392
|
-
[MatterErrorType.NETWORK]: 5000,
|
|
393
|
-
[MatterErrorType.STORAGE]: 1000,
|
|
394
|
-
[MatterErrorType.DEVICE_SYNC]: 2000,
|
|
395
|
-
[MatterErrorType.DEVICE_ERROR]: 2000,
|
|
396
|
-
[MatterErrorType.COMMISSIONING]: 3000,
|
|
397
|
-
[MatterErrorType.CONFIGURATION]: 1000,
|
|
398
|
-
[MatterErrorType.INITIALIZATION]: 2000,
|
|
399
|
-
[MatterErrorType.SERVER]: 1000,
|
|
400
|
-
[MatterErrorType.UNKNOWN]: 2000,
|
|
401
|
-
};
|
|
402
|
-
/**
|
|
403
|
-
* Get contextual delay based on error type and attempt count
|
|
404
|
-
* Uses exponential backoff with jitter to avoid thundering herd
|
|
405
|
-
*/
|
|
406
|
-
getContextualDelay(type, attemptCount) {
|
|
407
|
-
const baseDelay = MatterErrorHandler.BASE_DELAYS[type] ?? 2000;
|
|
408
|
-
// Exponential backoff with max cap of 30 seconds
|
|
409
|
-
const backoffDelay = Math.min(baseDelay * 2 ** attemptCount, 30000);
|
|
410
|
-
// Add random jitter (0-1000ms) to prevent synchronized retries
|
|
411
|
-
const jitter = Math.random() * 1000;
|
|
412
|
-
return backoffDelay + jitter;
|
|
413
|
-
}
|
|
414
|
-
/**
|
|
415
|
-
* Register a recovery callback for specific error type
|
|
416
|
-
*/
|
|
417
|
-
registerRecoveryCallback(type, callback) {
|
|
418
|
-
const callbacks = this.recoveryCallbacks.get(type) || [];
|
|
419
|
-
callbacks.push(callback);
|
|
420
|
-
this.recoveryCallbacks.set(type, callbacks);
|
|
421
|
-
}
|
|
422
|
-
/**
|
|
423
|
-
* Reset error counts (useful after successful recovery)
|
|
424
|
-
*/
|
|
425
|
-
resetErrorCount(type) {
|
|
426
|
-
if (type) {
|
|
427
|
-
this.errorCount.delete(type);
|
|
428
|
-
this.lastErrors.delete(type);
|
|
429
|
-
this.recoveryContexts.delete(type);
|
|
430
|
-
// Reset circuit breaker
|
|
431
|
-
const circuitBreaker = this.circuitBreakers.get(type);
|
|
432
|
-
if (circuitBreaker) {
|
|
433
|
-
circuitBreaker.reset();
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
else {
|
|
437
|
-
this.errorCount.clear();
|
|
438
|
-
this.lastErrors.clear();
|
|
439
|
-
this.recoveryContexts.clear();
|
|
440
|
-
// Reset all circuit breakers
|
|
441
|
-
for (const breaker of this.circuitBreakers.values()) {
|
|
442
|
-
breaker.reset();
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
/**
|
|
447
|
-
* Get error statistics
|
|
448
|
-
*/
|
|
449
|
-
getErrorStats() {
|
|
450
|
-
const stats = new Map();
|
|
451
|
-
for (const [type, count] of this.errorCount) {
|
|
452
|
-
const lastError = this.lastErrors.get(type);
|
|
453
|
-
const circuitBreaker = this.circuitBreakers.get(type);
|
|
454
|
-
const context = this.recoveryContexts.get(type);
|
|
455
|
-
stats.set(type, {
|
|
456
|
-
count,
|
|
457
|
-
lastError,
|
|
458
|
-
circuitState: circuitBreaker?.getState(),
|
|
459
|
-
recoveryAttempts: context?.attemptCount,
|
|
460
|
-
});
|
|
461
|
-
}
|
|
462
|
-
return stats;
|
|
463
|
-
}
|
|
464
|
-
/**
|
|
465
|
-
* Create a wrapped function with error handling
|
|
466
|
-
*/
|
|
467
|
-
wrapAsync(fn, context) {
|
|
468
|
-
return (async (...args) => {
|
|
469
|
-
try {
|
|
470
|
-
return await fn(...args);
|
|
471
|
-
}
|
|
472
|
-
catch (error) {
|
|
473
|
-
await this.handleError(error, context);
|
|
474
|
-
throw error;
|
|
475
|
-
}
|
|
476
|
-
});
|
|
477
|
-
}
|
|
478
|
-
/**
|
|
479
|
-
* Create a wrapped function with error suppression
|
|
480
|
-
*/
|
|
481
|
-
wrapAsyncSafe(fn, context, defaultValue) {
|
|
482
|
-
return (async (...args) => {
|
|
483
|
-
try {
|
|
484
|
-
return await fn(...args);
|
|
485
|
-
}
|
|
486
|
-
catch (error) {
|
|
487
|
-
await this.handleError(error, context);
|
|
488
|
-
return defaultValue;
|
|
489
|
-
}
|
|
490
|
-
});
|
|
491
|
-
}
|
|
492
|
-
}
|
|
493
|
-
// Export singleton instance
|
|
494
|
-
export const errorHandler = MatterErrorHandler.getInstance();
|
|
495
|
-
//# sourceMappingURL=matterErrorHandler.js.map
|