homebridge 2.0.0-beta.104 → 2.0.0-beta.105

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 (265) hide show
  1. package/dist/api.d.ts +421 -3
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +99 -20
  4. package/dist/api.js.map +1 -1
  5. package/dist/bridgeService.d.ts +40 -1
  6. package/dist/bridgeService.d.ts.map +1 -1
  7. package/dist/bridgeService.js +99 -32
  8. package/dist/bridgeService.js.map +1 -1
  9. package/dist/childBridgeFork.d.ts +30 -0
  10. package/dist/childBridgeFork.d.ts.map +1 -1
  11. package/dist/childBridgeFork.js +139 -28
  12. package/dist/childBridgeFork.js.map +1 -1
  13. package/dist/childBridgeService.d.ts +142 -0
  14. package/dist/childBridgeService.d.ts.map +1 -1
  15. package/dist/childBridgeService.js +207 -37
  16. package/dist/childBridgeService.js.map +1 -1
  17. package/dist/cli.js +2 -0
  18. package/dist/cli.js.map +1 -1
  19. package/dist/externalPortService.d.ts +20 -0
  20. package/dist/externalPortService.d.ts.map +1 -1
  21. package/dist/externalPortService.js +24 -0
  22. package/dist/externalPortService.js.map +1 -1
  23. package/dist/index.d.ts +121 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +44 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/ipcService.d.ts +12 -0
  28. package/dist/ipcService.d.ts.map +1 -1
  29. package/dist/ipcService.js +19 -0
  30. package/dist/ipcService.js.map +1 -1
  31. package/dist/logger.d.ts +46 -0
  32. package/dist/logger.d.ts.map +1 -1
  33. package/dist/logger.js +57 -13
  34. package/dist/logger.js.map +1 -1
  35. package/dist/matter/BaseMatterManager.d.ts +56 -0
  36. package/dist/matter/BaseMatterManager.d.ts.map +1 -1
  37. package/dist/matter/BaseMatterManager.js +90 -4
  38. package/dist/matter/BaseMatterManager.js.map +1 -1
  39. package/dist/matter/ChildBridgeMatterManager.d.ts +54 -0
  40. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  41. package/dist/matter/ChildBridgeMatterManager.js +96 -12
  42. package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
  43. package/dist/matter/ChildBridgeMatterMessageHandler.d.ts +25 -0
  44. package/dist/matter/ChildBridgeMatterMessageHandler.d.ts.map +1 -1
  45. package/dist/matter/ChildBridgeMatterMessageHandler.js +34 -0
  46. package/dist/matter/ChildBridgeMatterMessageHandler.js.map +1 -1
  47. package/dist/matter/ClusterCommandMapper.d.ts +23 -0
  48. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -1
  49. package/dist/matter/ClusterCommandMapper.js +103 -9
  50. package/dist/matter/ClusterCommandMapper.js.map +1 -1
  51. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +28 -0
  52. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
  53. package/dist/matter/ExternalMatterAccessoryPublisher.js +27 -2
  54. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
  55. package/dist/matter/MatterAPIImpl.d.ts +83 -0
  56. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  57. package/dist/matter/MatterAPIImpl.js +129 -6
  58. package/dist/matter/MatterAPIImpl.js.map +1 -1
  59. package/dist/matter/MatterBridgeManager.d.ts +70 -0
  60. package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
  61. package/dist/matter/MatterBridgeManager.js +136 -15
  62. package/dist/matter/MatterBridgeManager.js.map +1 -1
  63. package/dist/matter/MatterPortAllocator.d.ts +22 -0
  64. package/dist/matter/MatterPortAllocator.d.ts.map +1 -1
  65. package/dist/matter/MatterPortAllocator.js +27 -0
  66. package/dist/matter/MatterPortAllocator.js.map +1 -1
  67. package/dist/matter/accessoryCache.d.ts +53 -0
  68. package/dist/matter/accessoryCache.d.ts.map +1 -1
  69. package/dist/matter/accessoryCache.js +62 -1
  70. package/dist/matter/accessoryCache.js.map +1 -1
  71. package/dist/matter/behaviors/AirQualityBehavior.d.ts +39 -0
  72. package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
  73. package/dist/matter/behaviors/AirQualityBehavior.js +41 -0
  74. package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
  75. package/dist/matter/behaviors/BehaviorRegistry.d.ts +52 -0
  76. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
  77. package/dist/matter/behaviors/BehaviorRegistry.js +54 -0
  78. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
  79. package/dist/matter/behaviors/ColorControlBehavior.d.ts +49 -0
  80. package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
  81. package/dist/matter/behaviors/ColorControlBehavior.js +91 -0
  82. package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
  83. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +91 -0
  84. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
  85. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +96 -0
  86. package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
  87. package/dist/matter/behaviors/DoorLockBehavior.d.ts +17 -0
  88. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
  89. package/dist/matter/behaviors/DoorLockBehavior.js +31 -0
  90. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
  91. package/dist/matter/behaviors/EndpointContext.d.ts +21 -0
  92. package/dist/matter/behaviors/EndpointContext.d.ts.map +1 -1
  93. package/dist/matter/behaviors/EndpointContext.js +18 -0
  94. package/dist/matter/behaviors/EndpointContext.js.map +1 -1
  95. package/dist/matter/behaviors/FanControlBehavior.d.ts +11 -0
  96. package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
  97. package/dist/matter/behaviors/FanControlBehavior.js +28 -0
  98. package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
  99. package/dist/matter/behaviors/IdentifyBehavior.d.ts +11 -0
  100. package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
  101. package/dist/matter/behaviors/IdentifyBehavior.js +17 -0
  102. package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
  103. package/dist/matter/behaviors/LevelControlBehavior.d.ts +23 -0
  104. package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
  105. package/dist/matter/behaviors/LevelControlBehavior.js +59 -0
  106. package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
  107. package/dist/matter/behaviors/OnOffBehavior.d.ts +17 -0
  108. package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
  109. package/dist/matter/behaviors/OnOffBehavior.js +38 -0
  110. package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
  111. package/dist/matter/behaviors/RegistryManager.d.ts +28 -0
  112. package/dist/matter/behaviors/RegistryManager.d.ts.map +1 -1
  113. package/dist/matter/behaviors/RegistryManager.js +28 -0
  114. package/dist/matter/behaviors/RegistryManager.js.map +1 -1
  115. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +18 -0
  116. package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
  117. package/dist/matter/behaviors/RvcCleanModeBehavior.js +25 -0
  118. package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
  119. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +33 -0
  120. package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
  121. package/dist/matter/behaviors/RvcOperationalStateBehavior.js +56 -0
  122. package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
  123. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +18 -0
  124. package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
  125. package/dist/matter/behaviors/RvcRunModeBehavior.js +25 -0
  126. package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
  127. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +31 -0
  128. package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
  129. package/dist/matter/behaviors/ServiceAreaBehavior.js +45 -0
  130. package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
  131. package/dist/matter/behaviors/ThermostatBehavior.d.ts +11 -0
  132. package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
  133. package/dist/matter/behaviors/ThermostatBehavior.js +45 -0
  134. package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
  135. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts +17 -0
  136. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts.map +1 -1
  137. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js +31 -0
  138. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js.map +1 -1
  139. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +29 -0
  140. package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
  141. package/dist/matter/behaviors/WindowCoveringBehavior.js +68 -0
  142. package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
  143. package/dist/matter/behaviors/index.d.ts +5 -0
  144. package/dist/matter/behaviors/index.d.ts.map +1 -1
  145. package/dist/matter/behaviors/index.js +5 -0
  146. package/dist/matter/behaviors/index.js.map +1 -1
  147. package/dist/matter/clusterHandlerMap.d.ts +79 -0
  148. package/dist/matter/clusterHandlerMap.d.ts.map +1 -1
  149. package/dist/matter/clusterHandlerMap.js +10 -0
  150. package/dist/matter/clusterHandlerMap.js.map +1 -1
  151. package/dist/matter/clusterStateMap.d.ts +27 -0
  152. package/dist/matter/clusterStateMap.d.ts.map +1 -1
  153. package/dist/matter/clusterStateMap.js +11 -0
  154. package/dist/matter/clusterStateMap.js.map +1 -1
  155. package/dist/matter/clusterTypes.d.ts +79 -0
  156. package/dist/matter/clusterTypes.d.ts.map +1 -1
  157. package/dist/matter/clusterTypes.js +8 -0
  158. package/dist/matter/clusterTypes.js.map +1 -1
  159. package/dist/matter/config.d.ts +32 -0
  160. package/dist/matter/config.d.ts.map +1 -1
  161. package/dist/matter/config.js +40 -0
  162. package/dist/matter/config.js.map +1 -1
  163. package/dist/matter/configValidator.d.ts +55 -0
  164. package/dist/matter/configValidator.d.ts.map +1 -1
  165. package/dist/matter/configValidator.js +68 -1
  166. package/dist/matter/configValidator.js.map +1 -1
  167. package/dist/matter/errorHandler.d.ts +13 -0
  168. package/dist/matter/errorHandler.d.ts.map +1 -1
  169. package/dist/matter/errorHandler.js +33 -0
  170. package/dist/matter/errorHandler.js.map +1 -1
  171. package/dist/matter/errors.d.ts +132 -0
  172. package/dist/matter/errors.d.ts.map +1 -1
  173. package/dist/matter/errors.js +132 -0
  174. package/dist/matter/errors.js.map +1 -1
  175. package/dist/matter/index.d.ts +30 -0
  176. package/dist/matter/index.d.ts.map +1 -1
  177. package/dist/matter/index.js +13 -0
  178. package/dist/matter/index.js.map +1 -1
  179. package/dist/matter/ipc-types.d.ts +18 -0
  180. package/dist/matter/ipc-types.d.ts.map +1 -1
  181. package/dist/matter/ipc-types.js +6 -0
  182. package/dist/matter/ipc-types.js.map +1 -1
  183. package/dist/matter/logFormatter.d.ts +17 -0
  184. package/dist/matter/logFormatter.d.ts.map +1 -1
  185. package/dist/matter/logFormatter.js +63 -5
  186. package/dist/matter/logFormatter.js.map +1 -1
  187. package/dist/matter/managerTypes.d.ts +45 -0
  188. package/dist/matter/managerTypes.d.ts.map +1 -1
  189. package/dist/matter/managerTypes.js +6 -0
  190. package/dist/matter/managerTypes.js.map +1 -1
  191. package/dist/matter/server/AccessoryManager.d.ts +43 -0
  192. package/dist/matter/server/AccessoryManager.d.ts.map +1 -1
  193. package/dist/matter/server/AccessoryManager.js +76 -2
  194. package/dist/matter/server/AccessoryManager.js.map +1 -1
  195. package/dist/matter/server/AccessoryQuery.d.ts +32 -0
  196. package/dist/matter/server/AccessoryQuery.d.ts.map +1 -1
  197. package/dist/matter/server/AccessoryQuery.js +34 -0
  198. package/dist/matter/server/AccessoryQuery.js.map +1 -1
  199. package/dist/matter/server/BehaviorMap.d.ts +19 -0
  200. package/dist/matter/server/BehaviorMap.d.ts.map +1 -1
  201. package/dist/matter/server/BehaviorMap.js +26 -0
  202. package/dist/matter/server/BehaviorMap.js.map +1 -1
  203. package/dist/matter/server/CommissioningManager.d.ts +48 -0
  204. package/dist/matter/server/CommissioningManager.d.ts.map +1 -1
  205. package/dist/matter/server/CommissioningManager.js +80 -3
  206. package/dist/matter/server/CommissioningManager.js.map +1 -1
  207. package/dist/matter/server/FabricManager.d.ts +32 -0
  208. package/dist/matter/server/FabricManager.d.ts.map +1 -1
  209. package/dist/matter/server/FabricManager.js +46 -0
  210. package/dist/matter/server/FabricManager.js.map +1 -1
  211. package/dist/matter/server/ServerConfig.d.ts +9 -0
  212. package/dist/matter/server/ServerConfig.d.ts.map +1 -1
  213. package/dist/matter/server/ServerConfig.js +23 -4
  214. package/dist/matter/server/ServerConfig.js.map +1 -1
  215. package/dist/matter/server/ServerLifecycle.d.ts +31 -0
  216. package/dist/matter/server/ServerLifecycle.d.ts.map +1 -1
  217. package/dist/matter/server/ServerLifecycle.js +74 -2
  218. package/dist/matter/server/ServerLifecycle.js.map +1 -1
  219. package/dist/matter/server/StateManager.d.ts +18 -0
  220. package/dist/matter/server/StateManager.d.ts.map +1 -1
  221. package/dist/matter/server/StateManager.js +20 -0
  222. package/dist/matter/server/StateManager.js.map +1 -1
  223. package/dist/matter/server.d.ts +10 -0
  224. package/dist/matter/server.d.ts.map +1 -1
  225. package/dist/matter/server.js +43 -1
  226. package/dist/matter/server.js.map +1 -1
  227. package/dist/matter/serverHelpers.d.ts +67 -0
  228. package/dist/matter/serverHelpers.d.ts.map +1 -1
  229. package/dist/matter/serverHelpers.js +80 -3
  230. package/dist/matter/serverHelpers.js.map +1 -1
  231. package/dist/matter/sharedTypes.d.ts +93 -0
  232. package/dist/matter/sharedTypes.d.ts.map +1 -1
  233. package/dist/matter/sharedTypes.js +26 -0
  234. package/dist/matter/sharedTypes.js.map +1 -1
  235. package/dist/matter/types.d.ts +345 -3
  236. package/dist/matter/types.d.ts.map +1 -1
  237. package/dist/matter/types.js +131 -0
  238. package/dist/matter/types.js.map +1 -1
  239. package/dist/matter/utils.d.ts +54 -0
  240. package/dist/matter/utils.d.ts.map +1 -1
  241. package/dist/matter/utils.js +57 -0
  242. package/dist/matter/utils.js.map +1 -1
  243. package/dist/platformAccessory.d.ts +15 -0
  244. package/dist/platformAccessory.d.ts.map +1 -1
  245. package/dist/platformAccessory.js +32 -6
  246. package/dist/platformAccessory.js.map +1 -1
  247. package/dist/plugin.d.ts +3 -0
  248. package/dist/plugin.d.ts.map +1 -1
  249. package/dist/plugin.js +29 -6
  250. package/dist/plugin.js.map +1 -1
  251. package/dist/pluginManager.d.ts +22 -0
  252. package/dist/pluginManager.d.ts.map +1 -1
  253. package/dist/pluginManager.js +39 -17
  254. package/dist/pluginManager.js.map +1 -1
  255. package/dist/server.d.ts +58 -0
  256. package/dist/server.d.ts.map +1 -1
  257. package/dist/server.js +253 -63
  258. package/dist/server.js.map +1 -1
  259. package/dist/user.d.ts +3 -0
  260. package/dist/user.d.ts.map +1 -1
  261. package/dist/user.js +5 -2
  262. package/dist/user.js.map +1 -1
  263. package/dist/util/mac.js +1 -0
  264. package/dist/util/mac.js.map +1 -1
  265. package/package.json +2 -2
package/dist/api.d.ts CHANGED
@@ -20,15 +20,48 @@ export declare const enum PluginType {
20
20
  ACCESSORY = "accessory",
21
21
  PLATFORM = "platform"
22
22
  }
23
+ /**
24
+ * The {PluginInitializer} is a method which must be the default export for every homebridge plugin.
25
+ * It is called once the plugin is loaded from disk.
26
+ */
23
27
  export interface PluginInitializer {
28
+ /**
29
+ * When the initializer is called the plugin must use the provided api instance and call the appropriate
30
+ * register methods - {@link API.registerAccessory} or {@link API.registerPlatform} - in order to
31
+ * correctly register for the following startup sequence.
32
+ *
33
+ * @param {API} api
34
+ */
24
35
  (api: API): void | Promise<void>;
25
36
  }
26
37
  export interface AccessoryPluginConstructor {
27
38
  new (logger: Logging, config: AccessoryConfig, api: API): AccessoryPlugin;
28
39
  }
29
40
  export interface AccessoryPlugin {
41
+ /**
42
+ * Optional method which will be called if an 'identify' of an Accessory is requested by HomeKit.
43
+ */
30
44
  identify?: () => void;
45
+ /**
46
+ * This method will be called once on startup, to query all services to be exposed by the Accessory.
47
+ * All event handlers for characteristics should be set up before the array is returned.
48
+ *
49
+ * @returns {Service[]} services - returned services will be added to the Accessory
50
+ */
31
51
  getServices: () => Service[];
52
+ /**
53
+ * This method will be called once on startup, to query all controllers to be exposed by the Accessory.
54
+ * It is optional to implement.
55
+ *
56
+ * This includes controllers like the RemoteController or the CameraController.
57
+ * Any necessary controller specific setup should have been done when returning the array.
58
+ * In most cases the plugin will only return an array of the size 1.
59
+ *
60
+ * In the case that the Plugin does not add any additional services (returned by {@link getServices}) the
61
+ * method {@link getServices} must be defined in any way and should just return an empty array.
62
+ *
63
+ * @returns {Controller[]} controllers - returned controllers will be configured for the Accessory
64
+ */
32
65
  getControllers?: () => Controller[];
33
66
  }
34
67
  export interface PlatformPluginConstructor<Config extends PlatformConfig = PlatformConfig> {
@@ -36,17 +69,65 @@ export interface PlatformPluginConstructor<Config extends PlatformConfig = Platf
36
69
  }
37
70
  export interface PlatformPlugin {
38
71
  }
72
+ /**
73
+ * Platform that is able to dynamically add or remove accessories.
74
+ * All configured accessories are stored to disk and recreated on startup.
75
+ * Accessories can be added or removed by using {@link API.registerPlatformAccessories} or {@link API.unregisterPlatformAccessories}.
76
+ */
39
77
  export interface DynamicPlatformPlugin extends PlatformPlugin {
78
+ /**
79
+ * This method is called for every PlatformAccessory, which is recreated from disk on startup.
80
+ * It should be used to properly initialize the Accessory and setup all event handlers for
81
+ * all services and their characteristics.
82
+ *
83
+ * @param {PlatformAccessory} accessory which needs to be configured
84
+ */
40
85
  configureAccessory: (accessory: PlatformAccessory) => void;
86
+ /**
87
+ * This method is called for every Matter accessory, which is recreated from cache on startup.
88
+ * It should be used to track cached accessories so the plugin can determine which accessories
89
+ * to re-register and which to remove (if they no longer exist in the external system).
90
+ *
91
+ * This is the Matter equivalent of configureAccessory for HAP accessories.
92
+ *
93
+ * @param {MatterAccessory} accessory - cached Matter accessory
94
+ */
41
95
  configureMatterAccessory?: (accessory: MatterAccessory) => void;
42
96
  }
97
+ /**
98
+ * Platform that exposes all available characteristics at the start of the plugin.
99
+ * The set of accessories can not change at runtime.
100
+ * The bridge waits for all callbacks to return before it is published and accessible by HomeKit controllers.
101
+ */
43
102
  export interface StaticPlatformPlugin extends PlatformPlugin {
103
+ /**
104
+ * This method is called once at startup. The Platform should pass all accessories which need to be created
105
+ * to the callback in form of a {@link AccessoryPlugin}.
106
+ * The Platform must respond in a timely manner as otherwise the startup of the bridge would be unnecessarily delayed.
107
+ *
108
+ * @param {(foundAccessories: AccessoryPlugin[]) => void} callback
109
+ */
44
110
  accessories: (callback: (foundAccessories: AccessoryPlugin[]) => void) => void;
45
111
  }
112
+ /**
113
+ * Platform that does not aim to add any accessories to the main bridge accessory.
114
+ * This platform should be used if for example a plugin aims to only expose external accessories.
115
+ * It should also be used when the platform doesn't intend to expose any accessories at all, like plugins
116
+ * providing a UI for homebridge.
117
+ */
46
118
  export interface IndependentPlatformPlugin extends PlatformPlugin {
47
119
  }
48
120
  export declare const enum APIEvent {
121
+ /**
122
+ * Event is fired once homebridge has finished with booting up and initializing all components and plugins.
123
+ * When this event is fired it is possible that the Bridge accessory isn't published yet, if homebridge still needs
124
+ * to wait for some {@see StaticPlatformPlugin | StaticPlatformPlugins} to finish accessory creation.
125
+ */
49
126
  DID_FINISH_LAUNCHING = "didFinishLaunching",
127
+ /**
128
+ * This event is fired when homebridge gets shutdown. This could be a regular shutdown or an unexpected crash.
129
+ * At this stage all Accessories are already unpublished and all PlatformAccessories are already saved to disk!
130
+ */
50
131
  SHUTDOWN = "shutdown"
51
132
  }
52
133
  export declare const enum InternalAPIEvent {
@@ -63,32 +144,293 @@ export declare const enum InternalAPIEvent {
63
144
  UNREGISTER_EXTERNAL_MATTER_ACCESSORIES = "unregisterExternalMatterAccessories",
64
145
  UPDATE_MATTER_ACCESSORY_STATE = "updateMatterAccessoryState"
65
146
  }
147
+ /**
148
+ * Matter API Interface.
149
+ *
150
+ * Provides access to Matter protocol functionality for creating
151
+ * Matter-compatible accessories. Similar to `api.hap` for HomeKit
152
+ * Accessory Protocol.
153
+ *
154
+ * `api.matter` is `MatterAPI | undefined` — it's defined on bridges
155
+ * where Matter is configured (matches `api.isMatterEnabled()`),
156
+ * undefined otherwise. Plugins must use optional chaining or guard
157
+ * with `isMatterEnabled()`.
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * // Defensive pattern (recommended for plugins that work with or without Matter):
162
+ * api.matter?.registerPlatformAccessories('homebridge-example', 'Example', [{
163
+ * UUID: api.hap.uuid.generate('my-light'),
164
+ * displayName: 'Living Room Light',
165
+ * deviceType: api.matter!.deviceTypes.OnOffLight,
166
+ * manufacturer: 'Example',
167
+ * model: 'Example Light',
168
+ * serialNumber: 'EX-001',
169
+ * clusters: { onOff: { onOff: false } },
170
+ * }])
171
+ *
172
+ * // Update state when device changes externally
173
+ * await api.matter?.updateAccessoryState(uuid, 'onOff', { onOff: true })
174
+ *
175
+ * // Read current state
176
+ * const state = await api.matter?.getAccessoryState(uuid, 'onOff')
177
+ * ```
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * // Guard pattern (recommended for plugins that always require Matter):
182
+ * if (!api.isMatterEnabled()) {
183
+ * log.error('Matter is not enabled for this bridge; the plugin requires Matter.')
184
+ * return
185
+ * }
186
+ * const matter = api.matter!
187
+ * await matter.registerPlatformAccessories(pluginId, platformName, accessories)
188
+ * ```
189
+ */
66
190
  export interface MatterAPI {
191
+ /**
192
+ * UUID generator (alias of api.hap.uuid for convenience)
193
+ * Use this to generate unique identifiers for Matter accessories
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * const uuid = api.matter?.uuid.generate('my-light-unique-id')
198
+ * api.matter?.registerAccessory({
199
+ * uuid,
200
+ * displayName: 'Living Room Light',
201
+ * // ...
202
+ * })
203
+ * ```
204
+ */
67
205
  readonly uuid: HAP['uuid'];
206
+ /**
207
+ * Matter device types for creating accessories
208
+ * Maps friendly names to Matter.js device types
209
+ */
68
210
  readonly deviceTypes: typeof deviceTypes;
211
+ /**
212
+ * Matter clusters - Direct access to Matter.js cluster definitions
213
+ * For advanced use cases requiring low-level cluster access
214
+ */
69
215
  readonly clusters: typeof clusters;
216
+ /**
217
+ * Matter cluster names for type safety and autocomplete
218
+ * Use these constants with updateAccessoryState() and getAccessoryState()
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * api.matter?.updateAccessoryState(uuid, api.matter?.clusterNames.OnOff, { onOff: true })
223
+ * api.matter?.getAccessoryState(uuid, api.matter?.clusterNames.LevelControl)
224
+ * ```
225
+ */
70
226
  readonly clusterNames: typeof clusterNames;
227
+ /**
228
+ * Matter types - Access to Matter.js cluster type definitions and enums
229
+ * Use these for type-safe attribute values (modes, states, etc.)
230
+ *
231
+ * @example
232
+ * ```typescript
233
+ * Fan mode enum
234
+ * api.matter?.updateAccessoryState(
235
+ * uuid,
236
+ * api.matter?.clusterNames.FanControl,
237
+ * { fanMode: api.matter?.types.FanControl.FanMode.High }
238
+ * )
239
+ * ```
240
+ */
71
241
  readonly types: typeof MatterTypes;
242
+ /**
243
+ * Register Matter platform accessories (works exactly like HAP's registerPlatformAccessories)
244
+ *
245
+ * Returns a promise that resolves when all accessories are fully registered and ready for state updates.
246
+ * This is especially important for external accessories (like robot vacuums) which require additional setup time.
247
+ *
248
+ * @param pluginIdentifier - The plugin identifier (e.g., 'homebridge-example')
249
+ * @param platformName - The platform name (e.g., 'ExamplePlatform')
250
+ * @param accessories - Array of Matter accessories to register
251
+ */
72
252
  registerPlatformAccessories: (pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]) => Promise<void>;
253
+ /**
254
+ * Update Matter platform accessories in the cache
255
+ *
256
+ * Use this to update cached accessory information (displayName, manufacturer, model, etc.)
257
+ * without unregistering and re-registering. This is useful when:
258
+ * - Device name changes in the external system
259
+ * - Firmware version gets updated
260
+ * - Other metadata needs to be refreshed
261
+ *
262
+ * Similar to api.updatePlatformAccessories() for HAP accessories.
263
+ *
264
+ * @param accessories - Array of Matter accessories to update (must include uuid)
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * // Update the display name after it changed in the external system
269
+ * const accessory = cachedAccessories.find(a => a.uuid === uuid)
270
+ * if (accessory) {
271
+ * accessory.displayName = 'New Name from API'
272
+ * await api.matter?.updatePlatformAccessories([accessory])
273
+ * }
274
+ * ```
275
+ */
73
276
  updatePlatformAccessories: (accessories: MatterAccessory[]) => Promise<void>;
277
+ /**
278
+ * Unregister Matter platform accessories by UUID
279
+ * @param pluginIdentifier - The plugin identifier
280
+ * @param platformName - The platform name
281
+ * @param accessories - Array of Matter accessories to unregister (only uuid is required)
282
+ */
74
283
  unregisterPlatformAccessories: (pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]) => Promise<void>;
284
+ /**
285
+ * Update a Matter accessory's cluster state when device changes externally
286
+ *
287
+ * Use this for state updates from:
288
+ * - Native app controls
289
+ * - Physical button presses
290
+ * - Webhooks from cloud service
291
+ * - Polling results
292
+ *
293
+ * DO NOT use inside handlers - state auto-updates after handlers complete!
294
+ * Similar to HAP's characteristic.updateValue()
295
+ *
296
+ * @param uuid - The UUID of the accessory
297
+ * @param cluster - The cluster name (use api.matter?.clusterNames for autocomplete)
298
+ * @param attributes - The attributes to update
299
+ * @param partId - Optional: ID of the part to update (for composed devices with multiple endpoints)
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * Device turned on via native app:
304
+ * await api.matter?.updateAccessoryState(
305
+ * uuid,
306
+ * api.matter?.clusterNames.OnOff,
307
+ * { onOff: true }
308
+ * )
309
+ *
310
+ * Device brightness changed via physical button:
311
+ * await api.matter?.updateAccessoryState(
312
+ * uuid,
313
+ * api.matter?.clusterNames.LevelControl,
314
+ * { currentLevel: 200 }
315
+ * )
316
+ *
317
+ * Update a specific outlet in a power strip (composed device):
318
+ * await api.matter?.updateAccessoryState(
319
+ * uuid,
320
+ * api.matter?.clusterNames.OnOff,
321
+ * { onOff: true },
322
+ * 'outlet-2' // Part ID
323
+ * )
324
+ * ```
325
+ */
75
326
  updateAccessoryState: {
327
+ /** Typed overload for known clusters - provides autocomplete for attribute names */
76
328
  <K extends keyof ClusterStateMap>(uuid: string, cluster: K, attributes: Partial<ClusterStateMap[K]>, partId?: string): Promise<void>;
329
+ /** Fallback for unknown/custom clusters */
77
330
  (uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
78
331
  };
332
+ /**
333
+ * Get a Matter accessory's current cluster state
334
+ *
335
+ * Returns the current attribute values that are exposed to Matter controllers.
336
+ * Useful for:
337
+ * - Reading state after plugin restart
338
+ * - Verifying current state before making changes
339
+ * - Debugging and logging
340
+ *
341
+ * Similar to HAP's `characteristic.value` getter.
342
+ *
343
+ * @param uuid - The UUID of the accessory
344
+ * @param cluster - The cluster name (use api.matter?.clusterNames for autocomplete)
345
+ * @param partId - Optional: ID of the part to get state from (for composed devices with multiple endpoints)
346
+ * @returns Current cluster attribute values, or undefined if not found
347
+ *
348
+ * @example
349
+ * ```typescript
350
+ * const state = await api.matter?.getAccessoryState(uuid, api.matter?.clusterNames.OnOff)
351
+ * if (state?.onOff) {
352
+ * console.log('Light is currently on')
353
+ * }
354
+ *
355
+ * Get state of a specific outlet in a power strip:
356
+ * const outletState = await api.matter?.getAccessoryState(
357
+ * uuid,
358
+ * api.matter?.clusterNames.OnOff,
359
+ * 'outlet-3' // Part ID
360
+ * )
361
+ * ```
362
+ */
79
363
  getAccessoryState: {
364
+ /** Typed overload for known clusters - returns typed state */
80
365
  <K extends keyof ClusterStateMap>(uuid: string, cluster: K, partId?: string): Promise<Partial<ClusterStateMap[K]> | undefined>;
366
+ /** Fallback for unknown/custom clusters */
81
367
  (uuid: string, cluster: string, partId?: string): Promise<Record<string, unknown> | undefined>;
82
368
  };
83
369
  }
84
370
  export interface API {
371
+ /**
372
+ * The homebridge API version as a floating point number.
373
+ */
85
374
  readonly version: number;
375
+ /**
376
+ * The current homebridge semver version.
377
+ */
86
378
  readonly serverVersion: string;
87
379
  readonly user: typeof User;
88
380
  readonly hap: HAP;
89
381
  readonly hapLegacyTypes: HAPLegacyTypes;
90
382
  readonly platformAccessory: typeof PlatformAccessory;
91
- readonly matter: MatterAPI;
383
+ /**
384
+ * Matter Protocol API.
385
+ *
386
+ * @remarks
387
+ * Defined when Matter is configured for this bridge (i.e. when
388
+ * `api.isMatterEnabled()` returns true), undefined otherwise. Loaded
389
+ * automatically before plugins run on Matter-enabled bridges, so
390
+ * plugins can access it from their initializer, platform/accessory
391
+ * constructor, or `didFinishLaunching` handler.
392
+ *
393
+ * Safe access patterns:
394
+ * ```typescript
395
+ * api.matter?.registerPlatformAccessories(...) // defensive, no-ops when disabled
396
+ * if (api.isMatterEnabled()) {
397
+ * api.matter!.registerPlatformAccessories(...) // explicit guard
398
+ * }
399
+ * ```
400
+ *
401
+ * @example
402
+ * ```typescript
403
+ * // Register a Matter accessory
404
+ * api.matter?.registerPlatformAccessories('homebridge-example', 'Example', [{
405
+ * UUID: api.hap.uuid.generate('my-light'),
406
+ * displayName: 'Living Room Light',
407
+ * deviceType: api.matter!.deviceTypes.OnOffLight,
408
+ * manufacturer: 'Example',
409
+ * model: 'Example Light',
410
+ * serialNumber: 'EX-001',
411
+ * clusters: { onOff: { onOff: false } },
412
+ * }])
413
+ *
414
+ * // Update state
415
+ * await api.matter?.updateAccessoryState(uuid, 'onOff', { onOff: true })
416
+ * ```
417
+ */
418
+ readonly matter?: MatterAPI;
419
+ /**
420
+ * Returns true if the current running homebridge version is greater or equal to the
421
+ * passed version string.
422
+ *
423
+ * Example:
424
+ *
425
+ * We assume the homebridge version 1.3.0-beta.12 ({@link serverVersion}) and the following example calls below
426
+ * ```
427
+ * versionGreaterOrEqual("1.2.0"); // will return true
428
+ * versionGreaterOrEqual("1.3.0"); // will return false (the RELEASE version 1.3.0 is bigger than the BETA version 1.3.0-beta.12)
429
+ * versionGreaterOrEqual("1.3.0-beta.8); // will return true
430
+ * ```
431
+ *
432
+ * @param version
433
+ */
92
434
  versionGreaterOrEqual: (version: string) => boolean;
93
435
  registerAccessory: ((accessoryName: AccessoryName, constructor: AccessoryPluginConstructor) => void) & ((pluginIdentifier: PluginIdentifier, accessoryName: AccessoryName, constructor: AccessoryPluginConstructor) => void);
94
436
  registerPlatform: (<Config extends PlatformConfig>(platformName: PlatformName, constructor: PlatformPluginConstructor<Config>) => void) & (<Config extends PlatformConfig>(pluginIdentifier: PluginIdentifier, platformName: PlatformName, constructor: PlatformPluginConstructor<Config>) => void);
@@ -96,7 +438,17 @@ export interface API {
96
438
  updatePlatformAccessories: (accessories: PlatformAccessory[]) => void;
97
439
  unregisterPlatformAccessories: (pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: PlatformAccessory[]) => void;
98
440
  publishExternalAccessories: (pluginIdentifier: PluginIdentifier, accessories: PlatformAccessory[]) => void;
441
+ /**
442
+ * Check if Matter is available in this version of Homebridge
443
+ * @returns true if Homebridge version is >= 2.0.0-alpha.0
444
+ */
99
445
  isMatterAvailable: () => boolean;
446
+ /**
447
+ * Check if Matter is enabled for this bridge
448
+ * For main bridge: returns true if Matter is enabled in `bridge.matter` config
449
+ * For child bridge: returns true if Matter is enabled in the _bridge.matter config
450
+ * @returns true if Matter is enabled
451
+ */
100
452
  isMatterEnabled: () => boolean;
101
453
  on: ((event: 'didFinishLaunching', listener: () => void) => this) & ((event: 'shutdown', listener: () => void) => this);
102
454
  }
@@ -111,17 +463,74 @@ export declare class HomebridgeAPI extends EventEmitter implements API {
111
463
  readonly hap: typeof hapNodeJs;
112
464
  readonly hapLegacyTypes: typeof hapNodeJs.LegacyTypes;
113
465
  readonly platformAccessory: typeof PlatformAccessory;
466
+ /**
467
+ * Internal state tracking whether Matter is enabled for this bridge
468
+ */
114
469
  private matterEnabled;
470
+ /**
471
+ * Internal reference to MatterServer for API methods that need return values
472
+ * @internal
473
+ */
115
474
  _matterServer: MatterServer | null;
475
+ /**
476
+ * Internal reference to MatterBridgeManager for checking external servers
477
+ * @internal
478
+ */
116
479
  _matterManager: BaseMatterManager | null;
480
+ /**
481
+ * Pending external accessory registrations
482
+ * Map of registration ID to resolve function
483
+ * @internal
484
+ */
117
485
  private _pendingExternalRegistrations;
486
+ /**
487
+ * Lazy-loaded Matter API implementation
488
+ */
118
489
  private _matterAPI?;
119
- get matter(): MatterAPI;
490
+ /**
491
+ * Matter Protocol API (lazy-loaded).
492
+ *
493
+ * Returns the loaded MatterAPI instance, or `undefined` when Matter is not
494
+ * configured for this bridge. Server / ChildBridgeFork call
495
+ * {@link loadMatterAPI} before plugins run on Matter-enabled bridges, so
496
+ * plugins observe a defined value here whenever {@link isMatterEnabled}
497
+ * returns true.
498
+ */
499
+ get matter(): MatterAPI | undefined;
500
+ /**
501
+ * Load Matter API implementation. Idempotent.
502
+ *
503
+ * Called by Server / ChildBridgeFork during startup when Matter is
504
+ * configured for the bridge, before plugin initialization. Plugins should
505
+ * not call this directly — use {@link matter} instead.
506
+ *
507
+ * @internal
508
+ */
120
509
  loadMatterAPI(): Promise<void>;
121
510
  constructor();
511
+ /**
512
+ * Internal method to set Matter enabled status
513
+ * Called by Server or ChildBridgeFork after Matter initialization
514
+ * @internal
515
+ */
122
516
  _setMatterEnabled(enabled: boolean): void;
517
+ /**
518
+ * Internal method to set MatterServer reference
519
+ * Called by Server or ChildBridgeFork after creating MatterServer
520
+ * @internal
521
+ */
123
522
  _setMatterServer(server: MatterServer | null): void;
523
+ /**
524
+ * Internal method to set MatterBridgeManager reference
525
+ * Called by Server or ChildBridgeFork to allow API access to external servers
526
+ * @internal
527
+ */
124
528
  _setMatterManager(manager: BaseMatterManager | null): void;
529
+ /**
530
+ * Internal method to resolve pending external accessory registrations
531
+ * Called by MatterBridgeManager when external accessories finish publishing
532
+ * @internal
533
+ */
125
534
  _resolveExternalRegistration(registrationId: string): void;
126
535
  versionGreaterOrEqual(version: string): boolean;
127
536
  static isDynamicPlatformPlugin(platformPlugin: PlatformPlugin): platformPlugin is DynamicPlatformPlugin;
@@ -132,12 +541,21 @@ export declare class HomebridgeAPI extends EventEmitter implements API {
132
541
  registerAccessory(pluginIdentifier: PluginIdentifier, accessoryName: AccessoryName, constructor: AccessoryPluginConstructor): void;
133
542
  registerPlatform(platformName: PlatformName, constructor: PlatformPluginConstructor): void;
134
543
  registerPlatform(pluginIdentifier: PluginIdentifier, platformName: PlatformName, constructor: PlatformPluginConstructor): void;
135
- publishCameraAccessories(pluginIdentifier: PluginIdentifier, accessories: PlatformAccessory[]): void;
136
544
  publishExternalAccessories(pluginIdentifier: PluginIdentifier, accessories: PlatformAccessory[]): void;
137
545
  registerPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: PlatformAccessory[]): void;
138
546
  updatePlatformAccessories(accessories: PlatformAccessory[]): void;
139
547
  unregisterPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: PlatformAccessory[]): void;
548
+ /**
549
+ * Check if Matter is available in this version of Homebridge
550
+ * @returns true if Homebridge version satisfies >= 2.0.0-alpha.0
551
+ */
140
552
  isMatterAvailable(): boolean;
553
+ /**
554
+ * Check if Matter is enabled for this bridge
555
+ * For main bridge: returns true if Matter is enabled in `bridge.matter` config
556
+ * For child bridge: returns true if Matter is enabled in the `_bridge.matter` config
557
+ * @returns true if Matter is enabled
558
+ */
141
559
  isMatterEnabled(): boolean;
142
560
  }
143
561
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,WAAW,EACX,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAKhC,MAAM,MAAM,GAAG,GAAG,OAAO,SAAS,CAAA;AAClC,MAAM,MAAM,cAAc,GAAG,OAAO,SAAS,CAAC,WAAW,CAAA;AAEzD,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,gBAAgB,CAAA;AAC5D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAC/B,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAA;AACrC,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAClC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAEjC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACxC,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAA;AAGvC,0BAAkB,UAAU;IAC1B,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAI,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,eAAe,CAAA;CACzE;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAErB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,OAAO,EAAE,CAAA;IAE5B;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,UAAU,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,yBAAyB,CAAC,MAAM,SAAS,cAAc,GAAG,cAAc;IACvF,KAAI,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,yBAAyB,CAAA;CACzH;AAED,MAAM,WAAW,cAAc;CAAG;AAElC;;;;GAIG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAE1D;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAA;CAChE;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D;;;;;;OAMG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,KAAK,IAAI,KAAK,IAAI,CAAA;CAC/E;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAA0B,SAAQ,cAAc;CAEhE;AAGD,0BAAkB,QAAQ;IACxB;;;;OAIG;IACH,oBAAoB,uBAAuB;IAE3C;;;OAGG;IACH,QAAQ,aAAa;CACtB;AAGD,0BAAkB,gBAAgB;IAChC,kBAAkB,sBAAsB;IACxC,iBAAiB,qBAAqB;IAEtC,4BAA4B,+BAA+B;IAC3D,6BAA6B,gCAAgC;IAC7D,2BAA2B,8BAA8B;IACzD,+BAA+B,kCAAkC;IAGjE,mCAAmC,qCAAqC;IACxE,oCAAoC,sCAAsC;IAC1E,kCAAkC,oCAAoC;IACtE,sCAAsC,wCAAwC;IAC9E,sCAAsC,wCAAwC;IAC9E,6BAA6B,+BAA+B;CAC7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE1B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,WAAW,CAAA;IAExC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,QAAQ,CAAA;IAElC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,YAAY,CAAA;IAE1C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,WAAW,CAAA;IAElC;;;;;;;;;OASG;IACH,2BAA2B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9I;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,yBAAyB,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5E;;;;;OAKG;IACH,6BAA6B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,oBAAoB,EAAE;QACpB,oFAAoF;QACpF,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACpI,2CAA2C;QAC3C,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,CAAA;KACrG,CAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,iBAAiB,EAAE;QACjB,8DAA8D;QAC9D,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;QAC9H,2CAA2C;QAC3C,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CAAA;KAC/F,CAAA;CACF;AAED,MAAM,WAAW,GAAG;IAClB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAG9B,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,CAAA;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAA;IAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;IAE3B;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAEnD,iBAAiB,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,KAAK,IAAI,CAAC,CAAA;IAE5N,gBAAgB,EAAE,CAAC,CAAC,MAAM,SAAS,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,SAAS,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;IACnS,2BAA2B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACvI,yBAAyB,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IACrE,6BAA6B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IAEzI,0BAA0B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;IAE1G;;;OAGG;IACH,iBAAiB,EAAE,MAAM,OAAO,CAAA;IAEhC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,OAAO,CAAA;IAE9B,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,CAAA;CACxH;AAGD,MAAM,CAAC,OAAO,WAAW,aAAa;IACpC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,6BAA6B,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,2BAA2B,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,+BAA+B,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,mCAAmC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,oCAAoC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kCAAkC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,sCAAsC,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,sCAAsC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,6BAA6B,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC,CAAA;IAE15D,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,4BAA4B,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,6BAA6B,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,2BAA2B,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,+BAA+B,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,mCAAmC,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,kCAAkC,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,sCAAsC,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,sCAAsC,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAA;CAC3qD;AAGD,qBAAa,aAAc,SAAQ,YAAa,YAAW,GAAG;IAC5D,SAAgB,OAAO,OAAM;IAC7B,SAAgB,aAAa,SAAe;IAG5C,QAAQ,CAAC,IAAI,cAAO;IACpB,QAAQ,CAAC,GAAG,mBAAY;IACxB,QAAQ,CAAC,cAAc,+BAAwB;IAC/C,QAAQ,CAAC,iBAAiB,2BAAoB;IAG9C;;OAEG;IACH,OAAO,CAAC,aAAa,CAAQ;IAE7B;;;OAGG;IACI,aAAa,EAAE,YAAY,GAAG,IAAI,CAAO;IAEhD;;;OAGG;IACI,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAO;IAEtD;;;;OAIG;IACH,OAAO,CAAC,6BAA6B,CAAqC;IAE1E;;OAEG;IACH,OAAO,CAAC,UAAU,CAAC,CAAW;IAE9B;;;;;;;;OAQG;IACH,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED;;;;;;;;OAQG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;;IAWpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAInD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAI1D;;;;OAIG;IACH,4BAA4B,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQnD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;WAIxC,uBAAuB,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,IAAI,qBAAqB;WAIhG,sBAAsB,CAAC,cAAc,EAAE,cAAc,GAAG,cAAc,IAAI,oBAAoB;IAI5G,cAAc,IAAI,IAAI;IAItB,cAAc,IAAI,IAAI;IAItB,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI;IAC9F,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI;IAWlI,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,GAAG,IAAI;IAC1F,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,GAAG,IAAI;IAW9H,0BAA0B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAiBtG,2BAA2B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAcnI,yBAAyB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAIjE,6BAA6B,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAWrI;;;OAGG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;;;OAKG;IACH,eAAe,IAAI,OAAO;CAG3B"}