homebridge 2.0.0-beta.35 → 2.0.0-beta.37

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 (280) hide show
  1. package/dist/api.d.ts +74 -32
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +48 -46
  4. package/dist/api.js.map +1 -1
  5. package/dist/api.spec.d.ts +2 -0
  6. package/dist/api.spec.d.ts.map +1 -0
  7. package/dist/api.spec.js +413 -0
  8. package/dist/api.spec.js.map +1 -0
  9. package/dist/childBridgeFork.d.ts +1 -18
  10. package/dist/childBridgeFork.d.ts.map +1 -1
  11. package/dist/childBridgeFork.js +21 -258
  12. package/dist/childBridgeFork.js.map +1 -1
  13. package/dist/index.d.ts +10 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -3
  16. package/dist/index.js.map +1 -1
  17. package/dist/logger.spec.d.ts +2 -0
  18. package/dist/logger.spec.d.ts.map +1 -0
  19. package/dist/logger.spec.js +95 -0
  20. package/dist/logger.spec.js.map +1 -0
  21. package/dist/matter/ChildBridgeMatterManager.d.ts +96 -0
  22. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
  23. package/dist/matter/ChildBridgeMatterManager.js +397 -0
  24. package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
  25. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +48 -0
  26. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
  27. package/dist/matter/ExternalMatterAccessoryPublisher.js +73 -0
  28. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
  29. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +2 -0
  30. package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +1 -0
  31. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +293 -0
  32. package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +1 -0
  33. package/dist/matter/{matterServer.d.ts → MatterAPIImpl.d.ts} +203 -367
  34. package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
  35. package/dist/matter/MatterAPIImpl.js +305 -0
  36. package/dist/matter/MatterAPIImpl.js.map +1 -0
  37. package/dist/matter/MatterBridgeManager.d.ts +91 -0
  38. package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
  39. package/dist/matter/MatterBridgeManager.js +426 -0
  40. package/dist/matter/MatterBridgeManager.js.map +1 -0
  41. package/dist/matter/MatterConfigCollector.d.ts +26 -0
  42. package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
  43. package/dist/matter/MatterConfigCollector.js +78 -0
  44. package/dist/matter/MatterConfigCollector.js.map +1 -0
  45. package/dist/matter/{matterAccessoryCache.d.ts → accessoryCache.d.ts} +12 -3
  46. package/dist/matter/accessoryCache.d.ts.map +1 -0
  47. package/dist/matter/{matterAccessoryCache.js → accessoryCache.js} +32 -10
  48. package/dist/matter/accessoryCache.js.map +1 -0
  49. package/dist/matter/accessoryCache.spec.d.ts +2 -0
  50. package/dist/matter/accessoryCache.spec.d.ts.map +1 -0
  51. package/dist/matter/accessoryCache.spec.js +452 -0
  52. package/dist/matter/accessoryCache.spec.js.map +1 -0
  53. package/dist/matter/behaviors/BehaviorRegistry.d.ts +65 -0
  54. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
  55. package/dist/matter/behaviors/BehaviorRegistry.js +139 -0
  56. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
  57. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +2 -0
  58. package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +1 -0
  59. package/dist/matter/behaviors/BehaviorRegistry.spec.js +307 -0
  60. package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +1 -0
  61. package/dist/matter/behaviors/ColorControlBehavior.d.ts +64 -0
  62. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
  63. package/dist/matter/behaviors/ColorControlBehavior.js +160 -0
  64. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
  65. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +2 -0
  66. package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +1 -0
  67. package/dist/matter/behaviors/ColorControlBehavior.spec.js +29 -0
  68. package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +1 -0
  69. package/dist/matter/behaviors/DoorLockBehavior.d.ts +21 -0
  70. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
  71. package/dist/matter/behaviors/DoorLockBehavior.js +49 -0
  72. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
  73. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +2 -0
  74. package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +1 -0
  75. package/dist/matter/behaviors/DoorLockBehavior.spec.js +108 -0
  76. package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +1 -0
  77. package/dist/matter/behaviors/FanControlBehavior.d.ts +20 -0
  78. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
  79. package/dist/matter/behaviors/FanControlBehavior.js +45 -0
  80. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
  81. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +2 -0
  82. package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +1 -0
  83. package/dist/matter/behaviors/FanControlBehavior.spec.js +23 -0
  84. package/dist/matter/behaviors/FanControlBehavior.spec.js.map +1 -0
  85. package/dist/matter/behaviors/IdentifyBehavior.d.ts +21 -0
  86. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
  87. package/dist/matter/behaviors/IdentifyBehavior.js +27 -0
  88. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
  89. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +2 -0
  90. package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +1 -0
  91. package/dist/matter/behaviors/IdentifyBehavior.spec.js +64 -0
  92. package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +1 -0
  93. package/dist/matter/behaviors/LevelControlBehavior.d.ts +34 -0
  94. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
  95. package/dist/matter/behaviors/LevelControlBehavior.js +75 -0
  96. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
  97. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +2 -0
  98. package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +1 -0
  99. package/dist/matter/behaviors/LevelControlBehavior.spec.js +140 -0
  100. package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +1 -0
  101. package/dist/matter/behaviors/OnOffBehavior.d.ts +28 -0
  102. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
  103. package/dist/matter/behaviors/OnOffBehavior.js +63 -0
  104. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
  105. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +2 -0
  106. package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +1 -0
  107. package/dist/matter/behaviors/OnOffBehavior.spec.js +116 -0
  108. package/dist/matter/behaviors/OnOffBehavior.spec.js.map +1 -0
  109. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +19 -0
  110. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
  111. package/dist/matter/behaviors/RvcCleanModeBehavior.js +27 -0
  112. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
  113. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +2 -0
  114. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +1 -0
  115. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +56 -0
  116. package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +1 -0
  117. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +23 -0
  118. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
  119. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +49 -0
  120. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
  121. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +2 -0
  122. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +1 -0
  123. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +55 -0
  124. package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +1 -0
  125. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +19 -0
  126. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
  127. package/dist/matter/behaviors/RvcRunModeBehavior.js +27 -0
  128. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
  129. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +2 -0
  130. package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +1 -0
  131. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +56 -0
  132. package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +1 -0
  133. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +22 -0
  134. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
  135. package/dist/matter/behaviors/ServiceAreaBehavior.js +35 -0
  136. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
  137. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +2 -0
  138. package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +1 -0
  139. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +52 -0
  140. package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +1 -0
  141. package/dist/matter/behaviors/ThermostatBehavior.d.ts +23 -0
  142. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
  143. package/dist/matter/behaviors/ThermostatBehavior.js +79 -0
  144. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
  145. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +2 -0
  146. package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +1 -0
  147. package/dist/matter/behaviors/ThermostatBehavior.spec.js +23 -0
  148. package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +1 -0
  149. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +32 -0
  150. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
  151. package/dist/matter/behaviors/WindowCoveringBehavior.js +106 -0
  152. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
  153. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +2 -0
  154. package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +1 -0
  155. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +27 -0
  156. package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +1 -0
  157. package/dist/matter/behaviors/index.d.ts +20 -0
  158. package/dist/matter/behaviors/index.d.ts.map +1 -0
  159. package/dist/matter/behaviors/index.js +21 -0
  160. package/dist/matter/behaviors/index.js.map +1 -0
  161. package/dist/matter/{matterConfigValidator.d.ts → configValidator.d.ts} +1 -1
  162. package/dist/matter/configValidator.d.ts.map +1 -0
  163. package/dist/matter/{matterConfigValidator.js → configValidator.js} +1 -1
  164. package/dist/matter/configValidator.js.map +1 -0
  165. package/dist/matter/configValidator.spec.d.ts +2 -0
  166. package/dist/matter/configValidator.spec.d.ts.map +1 -0
  167. package/dist/matter/configValidator.spec.js +390 -0
  168. package/dist/matter/configValidator.spec.js.map +1 -0
  169. package/dist/matter/errorHandler.d.ts +33 -0
  170. package/dist/matter/errorHandler.d.ts.map +1 -0
  171. package/dist/matter/errorHandler.js +113 -0
  172. package/dist/matter/errorHandler.js.map +1 -0
  173. package/dist/matter/errorHandler.spec.d.ts +2 -0
  174. package/dist/matter/errorHandler.spec.d.ts.map +1 -0
  175. package/dist/matter/errorHandler.spec.js +159 -0
  176. package/dist/matter/errorHandler.spec.js.map +1 -0
  177. package/dist/matter/index.d.ts +7 -4
  178. package/dist/matter/index.d.ts.map +1 -1
  179. package/dist/matter/index.js +7 -4
  180. package/dist/matter/index.js.map +1 -1
  181. package/dist/matter/{matterLogFormatter.d.ts → logFormatter.d.ts} +1 -1
  182. package/dist/matter/logFormatter.d.ts.map +1 -0
  183. package/dist/matter/{matterLogFormatter.js → logFormatter.js} +33 -19
  184. package/dist/matter/logFormatter.js.map +1 -0
  185. package/dist/matter/logFormatter.spec.d.ts +2 -0
  186. package/dist/matter/logFormatter.spec.d.ts.map +1 -0
  187. package/dist/matter/logFormatter.spec.js +252 -0
  188. package/dist/matter/logFormatter.spec.js.map +1 -0
  189. package/dist/matter/server.d.ts +343 -0
  190. package/dist/matter/server.d.ts.map +1 -0
  191. package/dist/matter/{matterServer.js → server.js} +549 -365
  192. package/dist/matter/server.js.map +1 -0
  193. package/dist/matter/{matterServerHelpers.d.ts → serverHelpers.d.ts} +2 -2
  194. package/dist/matter/serverHelpers.d.ts.map +1 -0
  195. package/dist/matter/{matterServerHelpers.js → serverHelpers.js} +11 -8
  196. package/dist/matter/serverHelpers.js.map +1 -0
  197. package/dist/matter/serverHelpers.spec.d.ts +2 -0
  198. package/dist/matter/serverHelpers.spec.d.ts.map +1 -0
  199. package/dist/matter/serverHelpers.spec.js +521 -0
  200. package/dist/matter/serverHelpers.spec.js.map +1 -0
  201. package/dist/matter/{matterSharedTypes.d.ts → sharedTypes.d.ts} +4 -10
  202. package/dist/matter/sharedTypes.d.ts.map +1 -0
  203. package/dist/matter/{matterSharedTypes.js → sharedTypes.js} +4 -10
  204. package/dist/matter/sharedTypes.js.map +1 -0
  205. package/dist/matter/{matterStorage.d.ts → storage.d.ts} +9 -2
  206. package/dist/matter/storage.d.ts.map +1 -0
  207. package/dist/matter/{matterStorage.js → storage.js} +14 -5
  208. package/dist/matter/{matterStorage.js.map → storage.js.map} +1 -1
  209. package/dist/matter/storage.spec.d.ts +2 -0
  210. package/dist/matter/storage.spec.d.ts.map +1 -0
  211. package/dist/matter/storage.spec.js +570 -0
  212. package/dist/matter/storage.spec.js.map +1 -0
  213. package/dist/matter/typeHelpers.d.ts +45 -0
  214. package/dist/matter/typeHelpers.d.ts.map +1 -0
  215. package/dist/matter/typeHelpers.js +57 -0
  216. package/dist/matter/typeHelpers.js.map +1 -0
  217. package/dist/matter/typeHelpers.spec.d.ts +2 -0
  218. package/dist/matter/typeHelpers.spec.d.ts.map +1 -0
  219. package/dist/matter/typeHelpers.spec.js +127 -0
  220. package/dist/matter/typeHelpers.spec.js.map +1 -0
  221. package/dist/matter/{matterTypes.d.ts → types.d.ts} +2 -2
  222. package/dist/matter/types.d.ts.map +1 -0
  223. package/dist/matter/{matterTypes.js → types.js} +1 -2
  224. package/dist/matter/types.js.map +1 -0
  225. package/dist/platformAccessory.spec.d.ts +2 -0
  226. package/dist/platformAccessory.spec.d.ts.map +1 -0
  227. package/dist/platformAccessory.spec.js +126 -0
  228. package/dist/platformAccessory.spec.js.map +1 -0
  229. package/dist/pluginManager.spec.d.ts +2 -0
  230. package/dist/pluginManager.spec.d.ts.map +1 -0
  231. package/dist/pluginManager.spec.js +43 -0
  232. package/dist/pluginManager.spec.js.map +1 -0
  233. package/dist/server.d.ts +4 -13
  234. package/dist/server.d.ts.map +1 -1
  235. package/dist/server.js +43 -346
  236. package/dist/server.js.map +1 -1
  237. package/dist/server.spec.d.ts +2 -0
  238. package/dist/server.spec.d.ts.map +1 -0
  239. package/dist/server.spec.js +57 -0
  240. package/dist/server.spec.js.map +1 -0
  241. package/dist/user.spec.d.ts +2 -0
  242. package/dist/user.spec.d.ts.map +1 -0
  243. package/dist/user.spec.js +31 -0
  244. package/dist/user.spec.js.map +1 -0
  245. package/dist/util/mac.spec.d.ts +2 -0
  246. package/dist/util/mac.spec.d.ts.map +1 -0
  247. package/dist/util/mac.spec.js +36 -0
  248. package/dist/util/mac.spec.js.map +1 -0
  249. package/dist/version.spec.d.ts +2 -0
  250. package/dist/version.spec.d.ts.map +1 -0
  251. package/dist/version.spec.js +20 -0
  252. package/dist/version.spec.js.map +1 -0
  253. package/package.json +4 -4
  254. package/dist/matter/matterAccessoryCache.d.ts.map +0 -1
  255. package/dist/matter/matterAccessoryCache.js.map +0 -1
  256. package/dist/matter/matterBehaviors.d.ts +0 -194
  257. package/dist/matter/matterBehaviors.d.ts.map +0 -1
  258. package/dist/matter/matterBehaviors.js +0 -665
  259. package/dist/matter/matterBehaviors.js.map +0 -1
  260. package/dist/matter/matterConfigValidator.d.ts.map +0 -1
  261. package/dist/matter/matterConfigValidator.js.map +0 -1
  262. package/dist/matter/matterErrorHandler.d.ts +0 -106
  263. package/dist/matter/matterErrorHandler.d.ts.map +0 -1
  264. package/dist/matter/matterErrorHandler.js +0 -495
  265. package/dist/matter/matterErrorHandler.js.map +0 -1
  266. package/dist/matter/matterLogFormatter.d.ts.map +0 -1
  267. package/dist/matter/matterLogFormatter.js.map +0 -1
  268. package/dist/matter/matterNetworkMonitor.d.ts +0 -68
  269. package/dist/matter/matterNetworkMonitor.d.ts.map +0 -1
  270. package/dist/matter/matterNetworkMonitor.js +0 -249
  271. package/dist/matter/matterNetworkMonitor.js.map +0 -1
  272. package/dist/matter/matterServer.d.ts.map +0 -1
  273. package/dist/matter/matterServer.js.map +0 -1
  274. package/dist/matter/matterServerHelpers.d.ts.map +0 -1
  275. package/dist/matter/matterServerHelpers.js.map +0 -1
  276. package/dist/matter/matterSharedTypes.d.ts.map +0 -1
  277. package/dist/matter/matterSharedTypes.js.map +0 -1
  278. package/dist/matter/matterStorage.d.ts.map +0 -1
  279. package/dist/matter/matterTypes.d.ts.map +0 -1
  280. 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":"AAAA;;;;;;;;;GASG;AAcH,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;AAQlD;;;GAGG;AACH,MAAM,YAAY,GAAG;IACnB,KAAK,EAAE;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,aAAa;QAC1B,oBAAoB,EAAE,sBAAsB;QAC5C,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;KACb;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,UAAU;QACpB,WAAW,EAAE,aAAa;QAC1B,UAAU,EAAE,YAAY;QACxB,kBAAkB,EAAE,oBAAoB;QACxC,kBAAkB,EAAE,oBAAoB;KACzC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,eAAe;QAC9B,oBAAoB,EAAE,sBAAsB;KAC7C;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;KACzB;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,oBAAoB;QACxC,gBAAgB,EAAE,kBAAkB;QACpC,6BAA6B,EAAE,+BAA+B;QAC9D,6BAA6B,EAAE,+BAA+B;KAC/D;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,UAAU;KACrB;IACD,YAAY,EAAE;QACZ,2BAA2B,EAAE,6BAA6B;QAC1D,2BAA2B,EAAE,6BAA6B;QAC1D,gBAAgB,EAAE,kBAAkB;QACpC,cAAc,EAAE,gBAAgB;QAChC,qBAAqB,EAAE,uBAAuB;QAC9C,oBAAoB,EAAE,sBAAsB;KAC7C;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;KACjB;IACD,UAAU,EAAE;QACV,YAAY,EAAE,cAAc;KAC7B;IACD,YAAY,EAAE;QACZ,YAAY,EAAE,cAAc;KAC7B;IACD,WAAW,EAAE;QACX,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,UAAU;KACrB;CACO,CAAA;AAEV;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0D,CAAA;AAEtF;;;GAGG;AACH,IAAI,cAAc,GAA8B,IAAI,CAAA;AAEpD;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkD,CAAA;AAEjF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,cAAc,GAAG,GAAG,CAAA;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,UAAkB,EAAE,MAAc;IACzF,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;IACvD,GAAG,CAAC,KAAK,CAAC,qCAAqC,UAAU,cAAc,UAAU,YAAY,MAAM,EAAE,CAAC,CAAA;AACxG,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,UAAkB,EAAE,WAAmB,EAAE,UAAmC;IAC5G,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAChD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAM;IACR,CAAC;IAED,gDAAgD;IAChD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,EAAE,CAAA;IACtC,CAAC;IACD,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG;QAChC,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClC,GAAG,UAAU;KACd,CAAA;IAED,GAAG,CAAC,KAAK,CAAC,UAAU,WAAW,uBAAuB,UAAU,GAAG,EAAE,UAAU,CAAC,CAAA;AAClF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,OAA6B;IAE7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAE,CAAA;IAEtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAA;IAE1D,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACzC,GAAG,CAAC,KAAK,CAAC,0BAA0B,UAAU,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC,CAAA;AACjF,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,UAAkB,EAAE,WAAmB,EAAE,WAAmB;IAC9E,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS;IACvC,YAAY,CAAC,YAAY,CAAC,cAAc;IACxC,YAAY,CAAC,YAAY,CAAC,qBAAqB;IAC/C,YAAY,CAAC,YAAY,CAAC,oBAAoB;CAC/C,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,UAAkB,EAClB,WAAmB,EACnB,WAAmB,EACnB,OAAiB;IAEjB,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAEhE,GAAG,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,WAAW,wBAAwB,UAAU,EAAE,CAAC,CAAA;IAE5E,IAAI,OAAO,EAAE,CAAC;QACZ,gCAAgC;QAChC,wDAAwD;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;YACxD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;QAE3C,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACzB,GAAG,CAAC,KAAK,CAAC,0BAA0B,UAAU,IAAI,WAAW,IAAI,WAAW,wBAAwB,CAAC,CAAA;IACvG,CAAC;SAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,2DAA2D;QAC3D,GAAG,CAAC,IAAI,CAAC,iCAAiC,UAAU,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC,CAAA;IACvF,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAC3C,EAAE;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,EAAE,CAAA;QACzB,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzE,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,GAAG;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEtE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QAC1B,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAE1E,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,MAAM;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAEzE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAA;QAE7B,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QACjC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE7E,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IACzD,WAAW,CAAC,OAAwC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAErG,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACzC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAEhG,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,oBAAoB,CAAC,OAAwC;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,+DAA+D;QAC/D,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,oBAAoB,CAAC;eAC5G,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;QAE7F,GAAG,CAAC,KAAK,CAAC,yDAAyD,UAAU,eAAe,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5G,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC,CAAA;YAChB,GAAG,CAAC,KAAK,CAAC,0BAA0B,UAAU,0DAA0D,CAAC,CAAA;QAC3G,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iCAAiC,UAAU,mDAAmD,CAAC,CAAA;QAC1G,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAClD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QAEhG,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,IAAI,CAAC,OAAiC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAEQ,IAAI,CAAC,OAAiC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IAEQ,IAAI,CAAC,OAAiC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,wBAAwB,GAAG;IAC/B,+BAA+B,EAAE,iCAA0C;IAC3E,gCAAgC,EAAE,kCAA2C;IAC7E,+BAA+B,EAAE,iCAA0C;IAC3E,gCAAgC,EAAE,kCAA2C;CACf,CAAA;AAEhE;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,wBAAwB;IAC1E;;;;;OAKG;IACK,wBAAwB,CAI9B,UAAkB,EAClB,cAAuB,EACvB,eAAyB;QAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,MAAM,WAAW,GAAwB,EAAE,CAAA;QAC3C,IAAI,YAAY,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,WAAW,CAAC,cAAwB,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,YAAY,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,WAAW,CAAC,eAAyB,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;QACxE,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IAChF,CAAC;IAEQ,QAAQ;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAE7F,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;QAE/B,gDAAgD;QAChD,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,wBAAwB,CAAC,+BAA+B,EACxD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,WAAW;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAEhG,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QAElC,gDAAgD;QAChD,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,wBAAwB,CAAC,+BAA+B,EACxD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,UAAU;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QAE/F,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAA;QAEjC,gDAAgD;QAChD,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,wBAAwB,CAAC,+BAA+B,EACxD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,kBAAkB,CAAC,OAAiD;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;QAEhH,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAEhD,kEAAkE;QAClE,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,wBAAwB,CAAC,+BAA+B,EACxD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,kBAAkB,CAAC,OAAiD;QAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;QAEhH,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAEhD,gEAAgE;QAChE,IAAI,CAAC,wBAAwB,CAC3B,UAAU,EACV,wBAAwB,CAAC,+BAA+B,EACxD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAA;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACrD,UAAU;QACjB,KAAK,CAAC,UAAU,EAAE,CAAA;QAElB,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAEpE,oDAAoD;QACpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACpF,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,QAAgB;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEpI,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACnF,CAAC;IAED,2BAA2B,CAAC,KAAoB,EAAE,QAAuB;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE;YAChG,cAAc,EAAE,KAAK;YACrB,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAA;QAEF,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE;YAC5D,cAAc,EAAE,KAAK;YACrB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IACjD,QAAQ;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEjF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;QAE/B,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;QACpG,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,UAAU;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAEnF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAA;QAEjC,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACzC,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;QACpG,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACrD,UAAU;QACjB,KAAK,CAAC,UAAU,EAAE,CAAA;QAElB,sEAAsE;QACtE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAE1E,kFAAkF;QAClF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAA;QACjC,IAAI,MAAM,CAAC,gCAAgC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACpG,CAAC;QAED,kFAAkF;QAClF,IAAI,MAAM,CAAC,gCAAgC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAgC,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACpG,CAAC;IACH,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,QAAgB;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,gBAAgB,EAAE;YAC5F,UAAU,EAAE,KAAK;YACjB,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAA;QAEF,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,sCAAsC,CAAC,KAAc;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAa,CAAC,uBAAuB,CAAA;QAC5D,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,6BAA6B,EAAE;YACzG,uBAAuB,EAAE,KAAe;YACxC,0BAA0B,EAAE,QAAQ;SACrC,CAAC,CAAA;QAEF,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,sCAAsC,CAAC,KAAc;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAa,CAAC,uBAAuB,CAAA;QAC5D,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,6BAA6B,EAAE;YACzG,uBAAuB,EAAE,KAAe;YACxC,0BAA0B,EAAE,QAAQ;SACrC,CAAC,CAAA;QAEF,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAA;IACnG,CAAC;IAEQ,kBAAkB,CAAC,OAA6C;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;QAExG,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;QAEhD,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,MAAM,WAAW,GAAwB,EAAE,CAAA;QAC3C,IAAI,YAAY,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YACvD,WAAW,CAAC,uBAAuB,GAAG,YAAY,CAAC,uBAAuB,CAAA;QAC5E,CAAC;QACD,IAAI,YAAY,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YACvD,WAAW,CAAC,uBAAuB,GAAG,YAAY,CAAC,uBAAuB,CAAA;QAC5E,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAE1E,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IACjD,QAAQ,CAAC,OAAiC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IAClE;;;;OAIG;IACM,2BAA2B,CAAC,sBAA8B,EAAE,cAAsB;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,2BAA2B,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE,CAAC,CAAA;QAExJ,MAAM,MAAM,GAAG,KAAK,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAA;QAExF,kCAAkC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,IAAI,YAAY,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YACtD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE;gBAC9D,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;aAC5D,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACM,2BAA2B,CAAC,GAAW,EAAE,UAAkB,EAAE,cAAsB;QAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAA;QAEjJ,MAAM,MAAM,GAAG,KAAK,CAAC,2BAA2B,CAAC,GAAG,EAAE,UAAU,EAAE,cAAc,CAAC,CAAA;QAEjF,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,MAAM,WAAW,GAAwB,EAAE,CAAA;QAC3C,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC1C,WAAW,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;QAClD,CAAC;QACD,IAAI,YAAY,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACjD,WAAW,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAA;QAChE,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAE5E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACM,gBAAgB,CAAC,OAAe,EAAE,OAAe,EAAE,cAAsB;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;QAEvI,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;QAEvE,yBAAyB;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,MAAM,WAAW,GAAwB,EAAE,CAAA;QAC3C,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QAC9C,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QAC9C,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAE5E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACM,cAAc,CAAC,SAAiB,EAAE,SAAiC,EAAE,cAAsB,EAAE,aAAa,GAAG,KAAK;QACzH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAA;QAExJ,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QAExF,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,MAAM,WAAW,GAAwB,EAAE,CAAA;QAC3C,IAAI,aAAa,IAAI,YAAY,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnE,WAAW,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAA;QAClE,CAAC;aAAM,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACjD,WAAW,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;QAClD,CAAC;QACD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QAE5E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACM,qBAAqB,CAAC,gBAAwB,EAAE,cAAsB;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAA;QAE5I,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAA;QAE5E,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAY,CAAA;QACtC,IAAI,YAAY,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACjD,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE;gBAC9D,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;aAClD,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACM,oBAAoB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QACrG,OAAO,KAAK,CAAC,oBAAoB,EAAE,CAAA;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,mCAAoC,SAAQ,yBAAyB;IACvE,KAAK;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACpG,OAAO,KAAK,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAEQ,MAAM;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACrG,OAAO,KAAK,CAAC,MAAM,EAAE,CAAA;IACvB,CAAC;IAEQ,MAAM;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,mBAAmB,EAAE,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACrG,uEAAuE;QACvE,OAAO;YACL,oBAAoB,EAAE;gBACpB,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO;aACrD;SACF,CAAA;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACrD,YAAY,CAAC,OAAY;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAClG,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IACzD,YAAY,CAAC,OAAY;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACtG,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IACvD,WAAW,CAAC,OAAuC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QACnG,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAEQ,QAAQ,CAAC,OAAoC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QACnC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChG,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -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