homebridge 2.0.0-beta.44 → 2.0.0-beta.46

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 (321) hide show
  1. package/dist/api.d.ts +3 -365
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +13 -85
  4. package/dist/api.js.map +1 -1
  5. package/dist/bridgeService.d.ts +0 -25
  6. package/dist/bridgeService.d.ts.map +1 -1
  7. package/dist/bridgeService.js +32 -85
  8. package/dist/bridgeService.js.map +1 -1
  9. package/dist/childBridgeFork.d.ts +12 -15
  10. package/dist/childBridgeFork.d.ts.map +1 -1
  11. package/dist/childBridgeFork.js +152 -83
  12. package/dist/childBridgeFork.js.map +1 -1
  13. package/dist/childBridgeService.d.ts +21 -105
  14. package/dist/childBridgeService.d.ts.map +1 -1
  15. package/dist/childBridgeService.js +57 -134
  16. package/dist/childBridgeService.js.map +1 -1
  17. package/dist/cli.js +0 -2
  18. package/dist/cli.js.map +1 -1
  19. package/dist/externalPortService.d.ts +0 -21
  20. package/dist/externalPortService.d.ts.map +1 -1
  21. package/dist/externalPortService.js +0 -28
  22. package/dist/externalPortService.js.map +1 -1
  23. package/dist/index.d.ts +0 -112
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +0 -44
  26. package/dist/index.js.map +1 -1
  27. package/dist/ipcService.d.ts +23 -15
  28. package/dist/ipcService.d.ts.map +1 -1
  29. package/dist/ipcService.js +6 -12
  30. package/dist/ipcService.js.map +1 -1
  31. package/dist/logger.d.ts +0 -46
  32. package/dist/logger.d.ts.map +1 -1
  33. package/dist/logger.js +13 -57
  34. package/dist/logger.js.map +1 -1
  35. package/dist/matter/BaseMatterManager.d.ts +19 -0
  36. package/dist/matter/BaseMatterManager.d.ts.map +1 -0
  37. package/dist/matter/BaseMatterManager.js +170 -0
  38. package/dist/matter/BaseMatterManager.js.map +1 -0
  39. package/dist/matter/ChildBridgeMatterManager.d.ts +7 -69
  40. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  41. package/dist/matter/ChildBridgeMatterManager.js +51 -234
  42. package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
  43. package/dist/matter/ClusterCommandMapper.d.ts +5 -0
  44. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
  45. package/dist/matter/ClusterCommandMapper.js +203 -0
  46. package/dist/matter/ClusterCommandMapper.js.map +1 -0
  47. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
  48. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
  49. package/dist/matter/ExternalMatterAccessoryPublisher.js +3 -28
  50. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
  51. package/dist/matter/MatterAPIImpl.d.ts +0 -68
  52. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  53. package/dist/matter/MatterAPIImpl.js +7 -107
  54. package/dist/matter/MatterAPIImpl.js.map +1 -1
  55. package/dist/matter/MatterBridgeManager.d.ts +9 -60
  56. package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
  57. package/dist/matter/MatterBridgeManager.js +140 -216
  58. package/dist/matter/MatterBridgeManager.js.map +1 -1
  59. package/dist/matter/MatterConfigCollector.d.ts +1 -20
  60. package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
  61. package/dist/matter/MatterConfigCollector.js +15 -28
  62. package/dist/matter/MatterConfigCollector.js.map +1 -1
  63. package/dist/matter/accessoryCache.d.ts +0 -48
  64. package/dist/matter/accessoryCache.d.ts.map +1 -1
  65. package/dist/matter/accessoryCache.js +1 -60
  66. package/dist/matter/accessoryCache.js.map +1 -1
  67. package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
  68. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
  69. package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
  70. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
  71. package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
  72. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
  73. package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
  74. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
  75. package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
  76. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
  77. package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
  78. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
  79. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
  80. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
  81. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
  82. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
  83. package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
  84. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
  85. package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
  86. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
  87. package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
  88. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
  89. package/dist/matter/behaviors/FanControlBehavior.js +0 -25
  90. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
  91. package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
  92. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
  93. package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
  94. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
  95. package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
  96. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
  97. package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
  98. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
  99. package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
  100. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
  101. package/dist/matter/behaviors/OnOffBehavior.js +0 -38
  102. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
  103. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
  104. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
  105. package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
  106. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
  107. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
  108. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
  109. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
  110. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
  111. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
  112. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
  113. package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
  114. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
  115. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
  116. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
  117. package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
  118. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
  119. package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
  120. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
  121. package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
  122. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
  123. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
  124. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
  125. package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
  126. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
  127. package/dist/matter/behaviors/index.d.ts +0 -5
  128. package/dist/matter/behaviors/index.d.ts.map +1 -1
  129. package/dist/matter/behaviors/index.js +0 -5
  130. package/dist/matter/behaviors/index.js.map +1 -1
  131. package/dist/matter/configValidator.d.ts +0 -55
  132. package/dist/matter/configValidator.d.ts.map +1 -1
  133. package/dist/matter/configValidator.js +1 -68
  134. package/dist/matter/configValidator.js.map +1 -1
  135. package/dist/matter/errorHandler.d.ts +0 -22
  136. package/dist/matter/errorHandler.d.ts.map +1 -1
  137. package/dist/matter/errorHandler.js +0 -32
  138. package/dist/matter/errorHandler.js.map +1 -1
  139. package/dist/matter/errors.d.ts +0 -132
  140. package/dist/matter/errors.d.ts.map +1 -1
  141. package/dist/matter/errors.js +0 -132
  142. package/dist/matter/errors.js.map +1 -1
  143. package/dist/matter/index.d.ts +0 -30
  144. package/dist/matter/index.d.ts.map +1 -1
  145. package/dist/matter/index.js +0 -13
  146. package/dist/matter/index.js.map +1 -1
  147. package/dist/matter/logFormatter.d.ts +0 -17
  148. package/dist/matter/logFormatter.d.ts.map +1 -1
  149. package/dist/matter/logFormatter.js +5 -63
  150. package/dist/matter/logFormatter.js.map +1 -1
  151. package/dist/matter/server.d.ts +12 -236
  152. package/dist/matter/server.d.ts.map +1 -1
  153. package/dist/matter/server.js +177 -488
  154. package/dist/matter/server.js.map +1 -1
  155. package/dist/matter/serverHelpers.d.ts +0 -56
  156. package/dist/matter/serverHelpers.d.ts.map +1 -1
  157. package/dist/matter/serverHelpers.js +1 -66
  158. package/dist/matter/serverHelpers.js.map +1 -1
  159. package/dist/matter/sharedTypes.d.ts +0 -83
  160. package/dist/matter/sharedTypes.d.ts.map +1 -1
  161. package/dist/matter/sharedTypes.js +0 -26
  162. package/dist/matter/sharedTypes.js.map +1 -1
  163. package/dist/matter/storage.d.ts +0 -90
  164. package/dist/matter/storage.d.ts.map +1 -1
  165. package/dist/matter/storage.js +2 -130
  166. package/dist/matter/storage.js.map +1 -1
  167. package/dist/matter/typeHelpers.d.ts +0 -30
  168. package/dist/matter/typeHelpers.d.ts.map +1 -1
  169. package/dist/matter/typeHelpers.js +0 -24
  170. package/dist/matter/typeHelpers.js.map +1 -1
  171. package/dist/matter/types.d.ts +0 -273
  172. package/dist/matter/types.d.ts.map +1 -1
  173. package/dist/matter/types.js +0 -83
  174. package/dist/matter/types.js.map +1 -1
  175. package/dist/platformAccessory.d.ts +0 -15
  176. package/dist/platformAccessory.d.ts.map +1 -1
  177. package/dist/platformAccessory.js +6 -32
  178. package/dist/platformAccessory.js.map +1 -1
  179. package/dist/plugin.d.ts +0 -3
  180. package/dist/plugin.d.ts.map +1 -1
  181. package/dist/plugin.js +6 -29
  182. package/dist/plugin.js.map +1 -1
  183. package/dist/pluginManager.d.ts +0 -22
  184. package/dist/pluginManager.d.ts.map +1 -1
  185. package/dist/pluginManager.js +18 -41
  186. package/dist/pluginManager.js.map +1 -1
  187. package/dist/server.d.ts +9 -29
  188. package/dist/server.d.ts.map +1 -1
  189. package/dist/server.js +308 -157
  190. package/dist/server.js.map +1 -1
  191. package/dist/user.d.ts +0 -3
  192. package/dist/user.d.ts.map +1 -1
  193. package/dist/user.js +2 -5
  194. package/dist/user.js.map +1 -1
  195. package/dist/util/mac.js +0 -1
  196. package/dist/util/mac.js.map +1 -1
  197. package/package.json +4 -4
  198. package/dist/api.spec.d.ts +0 -2
  199. package/dist/api.spec.d.ts.map +0 -1
  200. package/dist/api.spec.js +0 -413
  201. package/dist/api.spec.js.map +0 -1
  202. package/dist/logger.spec.d.ts +0 -2
  203. package/dist/logger.spec.d.ts.map +0 -1
  204. package/dist/logger.spec.js +0 -95
  205. package/dist/logger.spec.js.map +0 -1
  206. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
  207. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
  208. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
  209. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
  210. package/dist/matter/accessoryCache.spec.d.ts +0 -2
  211. package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
  212. package/dist/matter/accessoryCache.spec.js +0 -452
  213. package/dist/matter/accessoryCache.spec.js.map +0 -1
  214. package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
  215. package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
  216. package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
  217. package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
  218. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
  219. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
  220. package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
  221. package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
  222. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
  223. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
  224. package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
  225. package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
  226. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
  227. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
  228. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
  229. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
  230. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
  231. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
  232. package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
  233. package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
  234. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
  235. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
  236. package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
  237. package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
  238. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
  239. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
  240. package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
  241. package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
  242. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
  243. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
  244. package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
  245. package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
  246. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
  247. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
  248. package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
  249. package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
  250. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
  251. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
  252. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
  253. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
  254. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
  255. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
  256. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
  257. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
  258. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
  259. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
  260. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
  261. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
  262. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
  263. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
  264. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
  265. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
  266. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
  267. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
  268. package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
  269. package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
  270. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
  271. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
  272. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
  273. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
  274. package/dist/matter/configValidator.spec.d.ts +0 -2
  275. package/dist/matter/configValidator.spec.d.ts.map +0 -1
  276. package/dist/matter/configValidator.spec.js +0 -390
  277. package/dist/matter/configValidator.spec.js.map +0 -1
  278. package/dist/matter/errorHandler.spec.d.ts +0 -2
  279. package/dist/matter/errorHandler.spec.d.ts.map +0 -1
  280. package/dist/matter/errorHandler.spec.js +0 -159
  281. package/dist/matter/errorHandler.spec.js.map +0 -1
  282. package/dist/matter/logFormatter.spec.d.ts +0 -2
  283. package/dist/matter/logFormatter.spec.d.ts.map +0 -1
  284. package/dist/matter/logFormatter.spec.js +0 -252
  285. package/dist/matter/logFormatter.spec.js.map +0 -1
  286. package/dist/matter/serverHelpers.spec.d.ts +0 -2
  287. package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
  288. package/dist/matter/serverHelpers.spec.js +0 -527
  289. package/dist/matter/serverHelpers.spec.js.map +0 -1
  290. package/dist/matter/storage.spec.d.ts +0 -2
  291. package/dist/matter/storage.spec.d.ts.map +0 -1
  292. package/dist/matter/storage.spec.js +0 -570
  293. package/dist/matter/storage.spec.js.map +0 -1
  294. package/dist/matter/typeHelpers.spec.d.ts +0 -2
  295. package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
  296. package/dist/matter/typeHelpers.spec.js +0 -127
  297. package/dist/matter/typeHelpers.spec.js.map +0 -1
  298. package/dist/platformAccessory.spec.d.ts +0 -2
  299. package/dist/platformAccessory.spec.d.ts.map +0 -1
  300. package/dist/platformAccessory.spec.js +0 -126
  301. package/dist/platformAccessory.spec.js.map +0 -1
  302. package/dist/pluginManager.spec.d.ts +0 -2
  303. package/dist/pluginManager.spec.d.ts.map +0 -1
  304. package/dist/pluginManager.spec.js +0 -43
  305. package/dist/pluginManager.spec.js.map +0 -1
  306. package/dist/server.spec.d.ts +0 -2
  307. package/dist/server.spec.d.ts.map +0 -1
  308. package/dist/server.spec.js +0 -57
  309. package/dist/server.spec.js.map +0 -1
  310. package/dist/user.spec.d.ts +0 -2
  311. package/dist/user.spec.d.ts.map +0 -1
  312. package/dist/user.spec.js +0 -31
  313. package/dist/user.spec.js.map +0 -1
  314. package/dist/util/mac.spec.d.ts +0 -2
  315. package/dist/util/mac.spec.d.ts.map +0 -1
  316. package/dist/util/mac.spec.js +0 -36
  317. package/dist/util/mac.spec.js.map +0 -1
  318. package/dist/version.spec.d.ts +0 -2
  319. package/dist/version.spec.d.ts.map +0 -1
  320. package/dist/version.spec.js +0 -20
  321. package/dist/version.spec.js.map +0 -1
package/dist/logger.d.ts CHANGED
@@ -1,15 +1,3 @@
1
- /**
2
- * Log levels to indicate importance of the logged message.
3
- * Every level corresponds to a certain color.
4
- *
5
- * - INFO: no color
6
- * - SUCCESS: green
7
- * - WARN: yellow
8
- * - ERROR: red
9
- * - DEBUG: gray
10
- *
11
- * Messages with DEBUG level are only displayed if explicitly enabled.
12
- */
13
1
  export declare const enum LogLevel {
14
2
  INFO = "info",
15
3
  SUCCESS = "success",
@@ -17,10 +5,6 @@ export declare const enum LogLevel {
17
5
  ERROR = "error",
18
6
  DEBUG = "debug"
19
7
  }
20
- /**
21
- * Represents a logging device which can be used directly as a function (for INFO logging)
22
- * but also has dedicated logging functions for respective logging levels.
23
- */
24
8
  export interface Logging {
25
9
  prefix: string;
26
10
  (message: string, ...parameters: any[]): void;
@@ -31,9 +15,6 @@ export interface Logging {
31
15
  debug: (message: string, ...parameters: any[]) => void;
32
16
  log: (level: LogLevel, message: string, ...parameters: any[]) => void;
33
17
  }
34
- /**
35
- * Logger class
36
- */
37
18
  export declare class Logger {
38
19
  static readonly internal: Logger;
39
20
  private static readonly loggerCache;
@@ -41,33 +22,10 @@ export declare class Logger {
41
22
  private static timestampEnabled;
42
23
  readonly prefix?: string;
43
24
  constructor(prefix?: string);
44
- /**
45
- * Creates a new Logging device with a specified prefix.
46
- *
47
- * @param prefix {string} - the prefix of the logger
48
- */
49
25
  static withPrefix(prefix: string): Logging;
50
- /**
51
- * Turns on debug level logging. Off by default.
52
- *
53
- * @param enabled {boolean}
54
- */
55
26
  static setDebugEnabled(enabled?: boolean): void;
56
- /**
57
- * Turns on inclusion of timestamps in log messages. On by default.
58
- *
59
- * @param enabled {boolean}
60
- */
61
27
  static setTimestampEnabled(enabled?: boolean): void;
62
- /**
63
- * Check if timestamps are enabled in log messages.
64
- *
65
- * @returns {boolean} true if timestamps are enabled
66
- */
67
28
  static isTimestampEnabled(): boolean;
68
- /**
69
- * Forces color in logging output, even if it seems like color is unsupported.
70
- */
71
29
  static forceColor(): void;
72
30
  info(message: string, ...parameters: any[]): void;
73
31
  success(message: string, ...parameters: any[]): void;
@@ -76,9 +34,5 @@ export declare class Logger {
76
34
  debug(message: string, ...parameters: any[]): void;
77
35
  log(level: LogLevel, message: string, ...parameters: any[]): void;
78
36
  }
79
- /**
80
- * Gets the prefix
81
- * @param prefix
82
- */
83
37
  export declare function getLogPrefix(prefix: string): string;
84
38
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AAEH,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAaD;;GAEG;AACH,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAyB1C;;;;OAIG;WACW,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAI5D;;;;OAIG;WACW,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAIhE;;;;OAIG;WACW,kBAAkB,IAAI,OAAO;IAI3C;;OAEG;WACW,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAiBA,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAMD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAgBD,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAS3B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WA8B5B,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WAS9C,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WASlD,kBAAkB,IAAI,OAAO;WAO7B,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
package/dist/logger.js CHANGED
@@ -1,18 +1,5 @@
1
1
  import util from 'node:util';
2
2
  import chalk from 'chalk';
3
- /**
4
- * Log levels to indicate importance of the logged message.
5
- * Every level corresponds to a certain color.
6
- *
7
- * - INFO: no color
8
- * - SUCCESS: green
9
- * - WARN: yellow
10
- * - ERROR: red
11
- * - DEBUG: gray
12
- *
13
- * Messages with DEBUG level are only displayed if explicitly enabled.
14
- */
15
- // eslint-disable-next-line no-restricted-syntax
16
3
  export var LogLevel;
17
4
  (function (LogLevel) {
18
5
  LogLevel["INFO"] = "info";
@@ -21,23 +8,15 @@ export var LogLevel;
21
8
  LogLevel["ERROR"] = "error";
22
9
  LogLevel["DEBUG"] = "debug";
23
10
  })(LogLevel || (LogLevel = {}));
24
- /**
25
- * Logger class
26
- */
27
11
  export class Logger {
28
12
  static internal = new Logger();
29
- static loggerCache = new Map(); // global cache of logger instances by plugin name
13
+ static loggerCache = new Map();
30
14
  static debugEnabled = false;
31
15
  static timestampEnabled = true;
32
16
  prefix;
33
17
  constructor(prefix) {
34
18
  this.prefix = prefix;
35
19
  }
36
- /**
37
- * Creates a new Logging device with a specified prefix.
38
- *
39
- * @param prefix {string} - the prefix of the logger
40
- */
41
20
  static withPrefix(prefix) {
42
21
  const loggerStuff = Logger.loggerCache.get(prefix);
43
22
  if (loggerStuff) {
@@ -53,76 +32,57 @@ export class Logger {
53
32
  log.debug = logger.debug;
54
33
  log.log = logger.log;
55
34
  log.prefix = logger.prefix;
56
- // @ts-expect-error: I aimed to not use ts-ignore in this project, but this evil "thing" above is hell
57
35
  const logging = log;
58
36
  Logger.loggerCache.set(prefix, logging);
59
37
  return logging;
60
38
  }
61
39
  }
62
- /**
63
- * Turns on debug level logging. Off by default.
64
- *
65
- * @param enabled {boolean}
66
- */
67
40
  static setDebugEnabled(enabled = true) {
68
41
  Logger.debugEnabled = enabled;
69
42
  }
70
- /**
71
- * Turns on inclusion of timestamps in log messages. On by default.
72
- *
73
- * @param enabled {boolean}
74
- */
75
43
  static setTimestampEnabled(enabled = true) {
76
44
  Logger.timestampEnabled = enabled;
77
45
  }
78
- /**
79
- * Check if timestamps are enabled in log messages.
80
- *
81
- * @returns {boolean} true if timestamps are enabled
82
- */
83
46
  static isTimestampEnabled() {
84
47
  return Logger.timestampEnabled;
85
48
  }
86
- /**
87
- * Forces color in logging output, even if it seems like color is unsupported.
88
- */
89
49
  static forceColor() {
90
- chalk.level = 1; // `1` - Basic 16 colors support.
50
+ chalk.level = 1;
91
51
  }
92
52
  info(message, ...parameters) {
93
- this.log("info" /* LogLevel.INFO */, message, ...parameters);
53
+ this.log("info", message, ...parameters);
94
54
  }
95
55
  success(message, ...parameters) {
96
- this.log("success" /* LogLevel.SUCCESS */, message, ...parameters);
56
+ this.log("success", message, ...parameters);
97
57
  }
98
58
  warn(message, ...parameters) {
99
- this.log("warn" /* LogLevel.WARN */, message, ...parameters);
59
+ this.log("warn", message, ...parameters);
100
60
  }
101
61
  error(message, ...parameters) {
102
- this.log("error" /* LogLevel.ERROR */, message, ...parameters);
62
+ this.log("error", message, ...parameters);
103
63
  }
104
64
  debug(message, ...parameters) {
105
- this.log("debug" /* LogLevel.DEBUG */, message, ...parameters);
65
+ this.log("debug", message, ...parameters);
106
66
  }
107
67
  log(level, message, ...parameters) {
108
- if (level === "debug" /* LogLevel.DEBUG */ && !Logger.debugEnabled) {
68
+ if (level === "debug" && !Logger.debugEnabled) {
109
69
  return;
110
70
  }
111
71
  message = util.format(message, ...parameters);
112
- let loggingFunction = console.log; // eslint-disable-line no-console
72
+ let loggingFunction = console.log;
113
73
  switch (level) {
114
- case "success" /* LogLevel.SUCCESS */:
74
+ case "success":
115
75
  message = chalk.green(message);
116
76
  break;
117
- case "warn" /* LogLevel.WARN */:
77
+ case "warn":
118
78
  message = chalk.yellow(message);
119
79
  loggingFunction = console.error;
120
80
  break;
121
- case "error" /* LogLevel.ERROR */:
81
+ case "error":
122
82
  message = chalk.red(message);
123
83
  loggingFunction = console.error;
124
84
  break;
125
- case "debug" /* LogLevel.DEBUG */:
85
+ case "debug":
126
86
  message = chalk.gray(message);
127
87
  break;
128
88
  }
@@ -136,10 +96,6 @@ export class Logger {
136
96
  loggingFunction(message);
137
97
  }
138
98
  }
139
- /**
140
- * Gets the prefix
141
- * @param prefix
142
- */
143
99
  export function getLogPrefix(prefix) {
144
100
  return chalk.cyan(`[${prefix}]`);
145
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { PluginManager } from '../pluginManager.js';
2
+ import type { InternalMatterAccessory } from './types.js';
3
+ import { MatterServer } from './server.js';
4
+ export declare abstract class BaseMatterManager {
5
+ protected matterServer?: MatterServer;
6
+ protected readonly externalMatterServers: Map<string, MatterServer>;
7
+ protected readonly pluginManager: PluginManager;
8
+ constructor(pluginManager: PluginManager);
9
+ handleTriggerCommand(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
10
+ handleUpdateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
11
+ enableStateMonitoring(): void;
12
+ disableStateMonitoring(): void;
13
+ restoreCachedAccessories(keepOrphaned: boolean): void;
14
+ handleRegisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
15
+ handleUpdatePlatformAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
16
+ handleUnregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
17
+ handleUnregisterExternalAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=BaseMatterManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AASzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACrC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAY;IAC/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;gBAEnC,aAAa,EAAE,aAAa;IASlC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCxH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpI,qBAAqB,IAAI,IAAI;IAW7B,sBAAsB,IAAI,IAAI;IAW9B,wBAAwB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAsD/C,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxI,+BAA+B,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtF,mCAAmC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1I,mCAAmC,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAwCjG"}
@@ -0,0 +1,170 @@
1
+ import { rmSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { Logger } from '../logger.js';
4
+ import { User } from '../user.js';
5
+ import { generate } from '../util/mac.js';
6
+ import { mapAttributesToCommand } from './ClusterCommandMapper.js';
7
+ const log = Logger.withPrefix('Matter/BaseManager');
8
+ export class BaseMatterManager {
9
+ matterServer;
10
+ externalMatterServers = new Map();
11
+ pluginManager;
12
+ constructor(pluginManager) {
13
+ this.pluginManager = pluginManager;
14
+ }
15
+ async handleTriggerCommand(uuid, cluster, attributes, partId) {
16
+ const commandMapping = mapAttributesToCommand(cluster, attributes);
17
+ const externalServer = this.externalMatterServers.get(uuid);
18
+ if (externalServer) {
19
+ if (commandMapping) {
20
+ await externalServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
21
+ }
22
+ else {
23
+ await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
24
+ }
25
+ return;
26
+ }
27
+ if (!this.matterServer) {
28
+ throw new Error(`Accessory ${uuid} not found on this bridge`);
29
+ }
30
+ if (commandMapping) {
31
+ await this.matterServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
32
+ }
33
+ else {
34
+ await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
35
+ }
36
+ }
37
+ async handleUpdateAccessoryState(uuid, cluster, attributes, partId) {
38
+ const externalServer = this.externalMatterServers.get(uuid);
39
+ if (externalServer) {
40
+ await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
41
+ return;
42
+ }
43
+ if (!this.matterServer) {
44
+ throw new Error(`Accessory ${uuid} not found on this bridge`);
45
+ }
46
+ await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
47
+ }
48
+ enableStateMonitoring() {
49
+ log.debug('Enabling Matter state monitoring');
50
+ this.matterServer?.enableStateMonitoring();
51
+ for (const externalServer of this.externalMatterServers.values()) {
52
+ externalServer.enableStateMonitoring();
53
+ }
54
+ }
55
+ disableStateMonitoring() {
56
+ log.debug('Disabling Matter state monitoring');
57
+ this.matterServer?.disableStateMonitoring();
58
+ for (const externalServer of this.externalMatterServers.values()) {
59
+ externalServer.disableStateMonitoring();
60
+ }
61
+ }
62
+ restoreCachedAccessories(keepOrphaned) {
63
+ if (!this.matterServer) {
64
+ log.debug('Matter server not available for restoring cached accessories');
65
+ return;
66
+ }
67
+ const cachedAccessories = this.matterServer.getAllCachedAccessories();
68
+ log.debug(`Restoring ${cachedAccessories.length} cached Matter accessories`);
69
+ for (const cachedAccessory of cachedAccessories) {
70
+ let plugin = this.pluginManager.getPlugin(cachedAccessory.plugin);
71
+ if (!plugin) {
72
+ try {
73
+ plugin = this.pluginManager.getPluginByActiveDynamicPlatform(cachedAccessory.platform);
74
+ if (plugin) {
75
+ log.info(`When searching for the associated plugin of the Matter accessory '${cachedAccessory.displayName}' `
76
+ + `it seems like the plugin name changed from '${cachedAccessory.plugin}' to '${plugin.getPluginIdentifier()}'. Plugin association is now being transformed!`);
77
+ }
78
+ }
79
+ catch (error) {
80
+ const errorMessage = error instanceof Error ? error.message : String(error);
81
+ log.warn(`Could not find the associated plugin for the Matter accessory '${cachedAccessory.displayName}'. `
82
+ + `Tried to find the plugin by the platform name but ${errorMessage}`);
83
+ }
84
+ }
85
+ const platformPlugin = plugin && plugin.getActiveDynamicPlatform(cachedAccessory.platform);
86
+ if (!platformPlugin) {
87
+ log.warn(`Failed to find plugin to handle Matter accessory ${cachedAccessory.displayName} (plugin: ${cachedAccessory.plugin}, platform: ${cachedAccessory.platform})`);
88
+ if (!keepOrphaned) {
89
+ log.info(`Removing orphaned Matter accessory ${cachedAccessory.displayName}`);
90
+ this.matterServer.unregisterAccessory(cachedAccessory.uuid).catch((error) => {
91
+ log.warn(`Failed to unregister orphaned Matter accessory ${cachedAccessory.displayName}:`, error);
92
+ });
93
+ }
94
+ }
95
+ else {
96
+ if (platformPlugin.configureMatterAccessory) {
97
+ log.debug(`Calling configureMatterAccessory for ${cachedAccessory.displayName}`);
98
+ platformPlugin.configureMatterAccessory(cachedAccessory);
99
+ }
100
+ else {
101
+ log.debug(`Platform ${cachedAccessory.platform} does not implement configureMatterAccessory`);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ async handleRegisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
107
+ if (!this.matterServer) {
108
+ log.warn('Cannot register Matter accessories - Matter server is not running');
109
+ return;
110
+ }
111
+ await this.matterServer.registerPlatformAccessories(pluginIdentifier, platformName, accessories);
112
+ }
113
+ async handleUpdatePlatformAccessories(accessories) {
114
+ const bridgeAccessories = [];
115
+ for (const accessory of accessories) {
116
+ const externalServer = this.externalMatterServers.get(accessory.uuid);
117
+ if (externalServer) {
118
+ await externalServer.updatePlatformAccessories([accessory]);
119
+ }
120
+ else {
121
+ bridgeAccessories.push(accessory);
122
+ }
123
+ }
124
+ if (bridgeAccessories.length > 0) {
125
+ if (!this.matterServer) {
126
+ log.warn('Cannot update Matter platform accessories - Matter server is not running');
127
+ return;
128
+ }
129
+ await this.matterServer.updatePlatformAccessories(bridgeAccessories);
130
+ }
131
+ }
132
+ async handleUnregisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
133
+ if (!this.matterServer) {
134
+ log.warn('Cannot unregister Matter accessories - Matter server is not running');
135
+ return;
136
+ }
137
+ await this.matterServer.unregisterPlatformAccessories(pluginIdentifier, platformName, accessories);
138
+ }
139
+ async handleUnregisterExternalAccessories(accessories) {
140
+ log.info(`Unregistering ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'}`);
141
+ for (const accessory of accessories) {
142
+ try {
143
+ const matterServer = this.externalMatterServers.get(accessory.uuid);
144
+ if (!matterServer) {
145
+ log.warn(`External Matter accessory ${accessory.displayName} (${accessory.uuid}) is not registered`);
146
+ continue;
147
+ }
148
+ log.info(`Stopping external Matter server for ${accessory.displayName}`);
149
+ await matterServer.stop();
150
+ this.externalMatterServers.delete(accessory.uuid);
151
+ const advertiseAddress = generate(accessory.uuid);
152
+ const uniqueId = advertiseAddress.replace(/:/g, '');
153
+ const storagePath = path.join(User.matterPath(), uniqueId);
154
+ try {
155
+ log.debug(`Removing Matter storage for external accessory at: ${storagePath}`);
156
+ rmSync(storagePath, { recursive: true, force: true });
157
+ log.info(`✓ Cleaned up storage for external Matter accessory: ${accessory.displayName}`);
158
+ }
159
+ catch (error) {
160
+ log.error(`Failed to clean up storage for external Matter accessory ${accessory.displayName}:`, error);
161
+ }
162
+ log.info(`✓ External Matter accessory unregistered: ${accessory.displayName}`);
163
+ }
164
+ catch (error) {
165
+ log.error(`Failed to unregister external Matter accessory ${accessory.displayName}:`, error);
166
+ }
167
+ }
168
+ }
169
+ }
170
+ //# sourceMappingURL=BaseMatterManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseMatterManager.js","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAGlE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;AAMnD,MAAM,OAAgB,iBAAiB;IAC3B,YAAY,CAAe;IAClB,qBAAqB,GAA8B,IAAI,GAAG,EAAE,CAAA;IAC5D,aAAa,CAAe;IAE/C,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;IAOD,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,MAAe;QAE5G,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAGlE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,cAAc,EAAE,CAAC;gBAEnB,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACzG,CAAC;iBAAM,CAAC;gBAEN,MAAM,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAC9E,CAAC;YACD,OAAM;QACR,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEvB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,2BAA2B,CAAC,CAAA;QAC/D,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YAEnB,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5G,CAAC;aAAM,CAAC;YAEN,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAMD,KAAK,CAAC,0BAA0B,CAAC,IAAY,EAAE,OAAe,EAAE,UAAmC,EAAE,MAAe;QAElH,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAC5E,OAAM;QACR,CAAC;QAGD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEvB,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,2BAA2B,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACjF,CAAC;IAKD,qBAAqB;QACnB,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAC7C,IAAI,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAA;QAC1C,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YACjE,cAAc,CAAC,qBAAqB,EAAE,CAAA;QACxC,CAAC;IACH,CAAC;IAKD,sBAAsB;QACpB,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAC9C,IAAI,CAAC,YAAY,EAAE,sBAAsB,EAAE,CAAA;QAC3C,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC;YACjE,cAAc,CAAC,sBAAsB,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IAKD,wBAAwB,CAAC,YAAqB;QAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAA;YACzE,OAAM;QACR,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAA;QACrE,GAAG,CAAC,KAAK,CAAC,aAAa,iBAAiB,CAAC,MAAM,4BAA4B,CAAC,CAAA;QAE5E,KAAK,MAAM,eAAe,IAAI,iBAAiB,EAAE,CAAC;YAChD,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YAEjE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC;oBAEH,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;oBAEtF,IAAI,MAAM,EAAE,CAAC;wBACX,GAAG,CAAC,IAAI,CAAC,qEAAqE,eAAe,CAAC,WAAW,IAAI;8BACzG,+CAA+C,eAAe,CAAC,MAAM,SACrE,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,CAAC,CAAA;oBACpF,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAC3E,GAAG,CAAC,IAAI,CAAC,kEAAkE,eAAe,CAAC,WAAW,KAAK;0BACvG,qDAAqD,YAAY,EAAE,CAAC,CAAA;gBAC1E,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAI,MAAM,CAAC,wBAAwB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;YAE1F,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,oDAAoD,eAAe,CAAC,WAAW,aAAa,eAAe,CAAC,MAAM,eAAe,eAAe,CAAC,QAAQ,GAAG,CAAC,CAAA;gBACtK,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,GAAG,CAAC,IAAI,CAAC,sCAAsC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAA;oBAC7E,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC1E,GAAG,CAAC,IAAI,CAAC,kDAAkD,eAAe,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAA;oBACnG,CAAC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBAEN,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;oBAC5C,GAAG,CAAC,KAAK,CAAC,wCAAwC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAA;oBAChF,cAAc,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAA;gBAC1D,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,YAAY,eAAe,CAAC,QAAQ,8CAA8C,CAAC,CAAA;gBAC/F,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,iCAAiC,CAAC,gBAAwB,EAAE,YAAoB,EAAE,WAAsC;QAC5H,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;YAC7E,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAClG,CAAC;IAMD,KAAK,CAAC,+BAA+B,CAAC,WAAsC;QAC1E,MAAM,iBAAiB,GAA8B,EAAE,CAAA;QAGvD,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrE,IAAI,cAAc,EAAE,CAAC;gBAEnB,MAAM,cAAc,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBAEN,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QAGD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;gBACpF,OAAM;YACR,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,mCAAmC,CAAC,gBAAwB,EAAE,YAAoB,EAAE,WAAsC;QAC9H,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;YAC/E,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IACpG,CAAC;IAMD,KAAK,CAAC,mCAAmC,CAAC,WAAsC;QAC9E,GAAG,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,MAAM,4BAA4B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;QAEjH,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC;gBAEH,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACnE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,qBAAqB,CAAC,CAAA;oBACpG,SAAQ;gBACV,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,uCAAuC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;gBAGxE,MAAM,YAAY,CAAC,IAAI,EAAE,CAAA;gBAGzB,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAIjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBACnD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAA;gBAE1D,IAAI,CAAC;oBACH,GAAG,CAAC,KAAK,CAAC,sDAAsD,WAAW,EAAE,CAAC,CAAA;oBAC9E,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBACrD,GAAG,CAAC,IAAI,CAAC,uDAAuD,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;gBAC1F,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,4DAA4D,SAAS,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAA;gBACxG,CAAC;gBAED,GAAG,CAAC,IAAI,CAAC,6CAA6C,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;YAChF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,kDAAkD,SAAS,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAA;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,17 +1,9 @@
1
- /**
2
- * Child Bridge Matter Manager
3
- *
4
- * Manages Matter server lifecycle and accessories for child bridges.
5
- * This class extracts Matter-specific logic from childBridgeFork.ts to minimize changes to core files.
6
- */
7
1
  import type { HomebridgeAPI } from '../api.js';
8
2
  import type { BridgeConfiguration, BridgeOptions } from '../bridgeService.js';
9
3
  import type { ChildBridgeExternalPortService } from '../externalPortService.js';
10
4
  import type { InternalMatterAccessory } from './types.js';
11
5
  import { PluginManager } from '../pluginManager.js';
12
- /**
13
- * Matter status information for child bridge IPC communication
14
- */
6
+ import { BaseMatterManager } from './BaseMatterManager.js';
15
7
  export interface ChildBridgeMatterStatusInfo {
16
8
  qrCode?: string;
17
9
  manualPairingCode?: string;
@@ -19,78 +11,24 @@ export interface ChildBridgeMatterStatusInfo {
19
11
  commissioned: boolean;
20
12
  deviceCount: number;
21
13
  }
22
- /**
23
- * Manages Matter server and accessories for a child bridge
24
- */
25
- export declare class ChildBridgeMatterManager {
14
+ export declare class ChildBridgeMatterManager extends BaseMatterManager {
26
15
  private readonly bridgeConfig;
27
16
  private readonly bridgeOptions;
28
17
  private readonly api;
29
18
  private readonly externalPortService;
30
- private readonly pluginManager;
31
- private matterServer?;
32
- private readonly externalMatterServers;
33
- private matterConfig?;
19
+ private readonly matterConfig?;
34
20
  private matterSerialNumber?;
35
21
  constructor(bridgeConfig: BridgeConfiguration, bridgeOptions: BridgeOptions, api: HomebridgeAPI, externalPortService: ChildBridgeExternalPortService, pluginManager: PluginManager);
36
- /**
37
- * Initialize Matter server for child bridge if enabled
38
- * @param onCommissioningChanged Optional callback when commissioning status changes
39
- */
40
22
  initialize(onCommissioningChanged?: () => void): Promise<void>;
41
- /**
42
- * Start Matter server for child bridge
43
- */
44
23
  private startMatterServer;
45
- /**
46
- * Set up Matter API event listeners
47
- */
48
24
  private setupEventListeners;
49
- /**
50
- * Handle external Matter accessories - each gets its own dedicated Matter server
51
- * This is required for devices like Robotic Vacuum Cleaners that Apple Home
52
- * requires to be on their own bridge.
53
- */
54
25
  handlePublishExternalAccessories(accessories: InternalMatterAccessory[], registrationId: string): Promise<void>;
55
- /**
56
- * Handle registration of Matter platform accessories
57
- */
58
- handleRegisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
59
- /**
60
- * Handle updating Matter platform accessories in the cache
61
- * Checks both external servers and child bridge server
62
- */
63
- handleUpdatePlatformAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
64
- /**
65
- * Handle unregistration of Matter platform accessories
66
- */
67
- handleUnregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
68
- /**
69
- * Handle unregistration of external Matter accessories
70
- * Stops dedicated servers and cleans up storage
71
- */
72
- handleUnregisterExternalAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
73
- /**
74
- * Handle Matter accessory state updates
75
- * Checks both external servers and child bridge server
76
- */
77
- handleUpdateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
78
- /**
79
- * Restore cached Matter accessories (matching HAP pattern)
80
- */
81
- restoreCachedAccessories(keepOrphaned: boolean): void;
82
- /**
83
- * Get Matter status information for IPC communication
84
- * Returns undefined if Matter is not enabled for this child bridge
85
- */
86
26
  getMatterStatusInfo(): ChildBridgeMatterStatusInfo | undefined;
87
- /**
88
- * Check if Matter is enabled for this child bridge
89
- */
90
27
  isMatterEnabled(): boolean;
91
- /**
92
- * Teardown Matter servers
93
- */
28
+ enableStateMonitoring(): void;
29
+ disableStateMonitoring(): void;
30
+ collectAllAccessories(): any[];
31
+ getAccessoryInfo(uuid: string): any | undefined;
94
32
  teardown(): Promise<void>;
95
33
  }
96
34
  //# sourceMappingURL=ChildBridgeMatterManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAiC,MAAM,YAAY,CAAA;AAOxF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAQnD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAejC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAjBhC,OAAO,CAAC,YAAY,CAAC,CAAc;IAInC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAG7E,OAAO,CAAC,YAAY,CAAC,CAAc;IAGnC,OAAO,CAAC,kBAAkB,CAAC,CAAQ;gBAGhB,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,aAAa,EAClB,mBAAmB,EAAE,8BAA8B,EACnD,aAAa,EAAE,aAAa;IAK/C;;;OAGG;IACG,UAAU,CAAC,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCpE;;OAEG;YACW,iBAAiB;IA2C/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;;;OAIG;IACG,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDrH;;OAEG;IACG,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9I;;;OAGG;IACG,+BAA+B,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB5F;;OAEG;IACG,mCAAmC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhJ;;;OAGG;IACG,mCAAmC,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyChG;;;OAGG;IACG,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpI;;OAEG;IACH,wBAAwB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAmDrD;;;OAGG;IACH,mBAAmB,IAAI,2BAA2B,GAAG,SAAS;IAe9D;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBhC"}
1
+ {"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAiC,MAAM,YAAY,CAAA;AAIxF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAS1D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAKD,qBAAa,wBAAyB,SAAQ,iBAAiB;IAQ3D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;IAG5C,OAAO,CAAC,kBAAkB,CAAC,CAAQ;gBAGhB,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,aAAa,EAClB,mBAAmB,EAAE,8BAA8B,EACpE,aAAa,EAAE,aAAa;IAUxB,UAAU,CAAC,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAwCtD,iBAAiB;IA8C/B,OAAO,CAAC,mBAAmB;IA6CrB,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDrH,mBAAmB,IAAI,2BAA2B,GAAG,SAAS;IAkB9D,eAAe,IAAI,OAAO;IAQjB,qBAAqB,IAAI,IAAI;IAS7B,sBAAsB,IAAI,IAAI;IAQvC,qBAAqB,IAAI,GAAG,EAAE;IA4B9B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAuBzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBhC"}