@matter/node 0.16.0-alpha.0-20251022-5a69ce65a → 0.16.0-alpha.0-20251027-17770fb28

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 (740) hide show
  1. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +5 -5
  2. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/cluster/ClusterBehavior.js +7 -2
  4. package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
  5. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.d.ts.map +1 -1
  6. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +51 -35
  7. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  8. package/dist/cjs/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
  9. package/dist/cjs/behavior/state/validation/conformance-compiler.js +6 -2
  10. package/dist/cjs/behavior/state/validation/conformance-compiler.js.map +1 -1
  11. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts +1 -0
  12. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -1
  13. package/dist/cjs/behaviors/account-login/AccountLoginInterface.d.ts +7 -7
  14. package/dist/cjs/behaviors/actions/ActionsInterface.d.ts +26 -1
  15. package/dist/cjs/behaviors/actions/ActionsInterface.d.ts.map +1 -1
  16. package/dist/cjs/behaviors/application-launcher/ApplicationLauncherInterface.d.ts +3 -1
  17. package/dist/cjs/behaviors/application-launcher/ApplicationLauncherInterface.d.ts.map +1 -1
  18. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +1 -1
  19. package/dist/cjs/behaviors/channel/ChannelInterface.d.ts +4 -0
  20. package/dist/cjs/behaviors/channel/ChannelInterface.d.ts.map +1 -1
  21. package/dist/cjs/behaviors/color-control/ColorControlInterface.d.ts +4 -0
  22. package/dist/cjs/behaviors/color-control/ColorControlInterface.d.ts.map +1 -1
  23. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +8 -0
  24. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  25. package/dist/cjs/behaviors/color-control/ColorControlServer.js +23 -26
  26. package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
  27. package/dist/cjs/behaviors/content-control/ContentControlInterface.d.ts +1 -1
  28. package/dist/cjs/behaviors/door-lock/DoorLockInterface.d.ts +1 -1
  29. package/dist/cjs/behaviors/door-lock/DoorLockServer.d.ts.map +1 -1
  30. package/dist/cjs/behaviors/door-lock/DoorLockServer.js +8 -4
  31. package/dist/cjs/behaviors/door-lock/DoorLockServer.js.map +1 -1
  32. package/dist/cjs/behaviors/electrical-power-measurement/ElectricalPowerMeasurementBehavior.d.ts +3 -3
  33. package/dist/cjs/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.d.ts +2 -2
  34. package/dist/cjs/behaviors/fan-control/FanControlInterface.d.ts +13 -4
  35. package/dist/cjs/behaviors/fan-control/FanControlInterface.d.ts.map +1 -1
  36. package/dist/cjs/behaviors/fan-control/FanControlServer.d.ts +1 -1
  37. package/dist/cjs/behaviors/fan-control/FanControlServer.d.ts.map +1 -1
  38. package/dist/cjs/behaviors/fan-control/FanControlServer.js +6 -0
  39. package/dist/cjs/behaviors/fan-control/FanControlServer.js.map +1 -1
  40. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts +16 -13
  41. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts.map +1 -1
  42. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementInterface.d.ts +3 -3
  43. package/dist/cjs/behaviors/icd-management/IcdManagementInterface.d.ts +40 -4
  44. package/dist/cjs/behaviors/icd-management/IcdManagementInterface.d.ts.map +1 -1
  45. package/dist/cjs/behaviors/index.d.ts +1 -5
  46. package/dist/cjs/behaviors/index.d.ts.map +1 -1
  47. package/dist/cjs/behaviors/index.js +1 -5
  48. package/dist/cjs/behaviors/index.js.map +1 -1
  49. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts +32 -0
  50. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts.map +1 -0
  51. package/dist/cjs/behaviors/{joint-fabric-pki/JointFabricPkiBehavior.js → joint-fabric-administrator/JointFabricAdministratorBehavior.js} +9 -9
  52. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js.map +6 -0
  53. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts +15 -0
  54. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts.map +1 -0
  55. package/dist/cjs/behaviors/{joint-fabric-pki/JointFabricPkiServer.js → joint-fabric-administrator/JointFabricAdministratorClient.js} +9 -8
  56. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js.map +6 -0
  57. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts +89 -0
  58. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts.map +1 -0
  59. package/dist/cjs/behaviors/{proxy-discovery/ProxyDiscoveryInterface.js → joint-fabric-administrator/JointFabricAdministratorInterface.js} +3 -3
  60. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.js.map +6 -0
  61. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts +13 -0
  62. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts.map +1 -0
  63. package/dist/cjs/behaviors/{ballast-configuration/BallastConfigurationServer.js → joint-fabric-administrator/JointFabricAdministratorServer.js} +7 -7
  64. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js.map +6 -0
  65. package/dist/cjs/behaviors/joint-fabric-administrator/index.d.ts +11 -0
  66. package/dist/cjs/behaviors/joint-fabric-administrator/index.d.ts.map +1 -0
  67. package/dist/cjs/behaviors/{joint-fabric-pki → joint-fabric-administrator}/index.js +6 -6
  68. package/dist/cjs/behaviors/joint-fabric-administrator/index.js.map +6 -0
  69. package/dist/cjs/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts +555 -40
  70. package/dist/cjs/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts.map +1 -1
  71. package/dist/cjs/behaviors/media-playback/MediaPlaybackInterface.d.ts +27 -2
  72. package/dist/cjs/behaviors/media-playback/MediaPlaybackInterface.d.ts.map +1 -1
  73. package/dist/cjs/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts +28 -14
  74. package/dist/cjs/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts.map +1 -1
  75. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts +106 -9
  76. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts.map +1 -1
  77. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
  78. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  79. package/dist/cjs/behaviors/service-area/ServiceAreaInterface.d.ts +0 -3
  80. package/dist/cjs/behaviors/service-area/ServiceAreaInterface.d.ts.map +1 -1
  81. package/dist/cjs/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts +3 -1
  82. package/dist/cjs/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts.map +1 -1
  83. package/dist/cjs/behaviors/switch/SwitchServer.d.ts +2 -0
  84. package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
  85. package/dist/cjs/behaviors/switch/SwitchServer.js +3 -0
  86. package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
  87. package/dist/cjs/behaviors/temperature-control/TemperatureControlInterface.d.ts +2 -0
  88. package/dist/cjs/behaviors/temperature-control/TemperatureControlInterface.d.ts.map +1 -1
  89. package/dist/cjs/behaviors/thermostat/ThermostatBehavior.d.ts +1 -1
  90. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts +1 -1
  91. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts.map +1 -1
  92. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js +16 -0
  93. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js.map +2 -2
  94. package/dist/cjs/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts +3 -2
  95. package/dist/cjs/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts.map +1 -1
  96. package/dist/cjs/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts +10 -6
  97. package/dist/cjs/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts.map +1 -1
  98. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.d.ts.map +1 -1
  99. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.js +6 -0
  100. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.js.map +1 -1
  101. package/dist/cjs/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.d.ts +2 -2
  102. package/dist/cjs/behaviors/window-covering/WindowCoveringBehavior.d.ts +1 -1
  103. package/dist/cjs/behaviors/window-covering/WindowCoveringInterface.d.ts +18 -0
  104. package/dist/cjs/behaviors/window-covering/WindowCoveringInterface.d.ts.map +1 -1
  105. package/dist/cjs/behaviors/window-covering/WindowCoveringServer.d.ts +2 -2
  106. package/dist/cjs/devices/basic-video-player.d.ts +2 -2
  107. package/dist/cjs/devices/casting-video-player.d.ts +2 -2
  108. package/dist/cjs/devices/color-temperature-light.d.ts +48 -22
  109. package/dist/cjs/devices/color-temperature-light.d.ts.map +1 -1
  110. package/dist/cjs/devices/color-temperature-light.js +5 -4
  111. package/dist/cjs/devices/color-temperature-light.js.map +2 -2
  112. package/dist/cjs/devices/control-bridge.d.ts +7 -7
  113. package/dist/cjs/devices/control-bridge.d.ts.map +1 -1
  114. package/dist/cjs/devices/control-bridge.js +3 -3
  115. package/dist/cjs/devices/control-bridge.js.map +2 -2
  116. package/dist/cjs/devices/cook-surface.d.ts +132 -4
  117. package/dist/cjs/devices/cook-surface.d.ts.map +1 -1
  118. package/dist/cjs/devices/cook-surface.js +2 -2
  119. package/dist/cjs/devices/cook-surface.js.map +1 -1
  120. package/dist/cjs/devices/dimmable-light.d.ts +44 -18
  121. package/dist/cjs/devices/dimmable-light.d.ts.map +1 -1
  122. package/dist/cjs/devices/dimmable-light.js +5 -4
  123. package/dist/cjs/devices/dimmable-light.js.map +2 -2
  124. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +56 -19
  125. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts.map +1 -1
  126. package/dist/cjs/devices/dimmable-plug-in-unit.js +6 -5
  127. package/dist/cjs/devices/dimmable-plug-in-unit.js.map +2 -2
  128. package/dist/cjs/devices/dishwasher.d.ts +30 -6
  129. package/dist/cjs/devices/dishwasher.d.ts.map +1 -1
  130. package/dist/cjs/devices/dishwasher.js +2 -2
  131. package/dist/cjs/devices/dishwasher.js.map +1 -1
  132. package/dist/cjs/devices/extended-color-light.d.ts +48 -22
  133. package/dist/cjs/devices/extended-color-light.d.ts.map +1 -1
  134. package/dist/cjs/devices/extended-color-light.js +5 -4
  135. package/dist/cjs/devices/extended-color-light.js.map +2 -2
  136. package/dist/cjs/devices/index.d.ts +1 -0
  137. package/dist/cjs/devices/index.d.ts.map +1 -1
  138. package/dist/cjs/devices/index.js +1 -0
  139. package/dist/cjs/devices/index.js.map +1 -1
  140. package/dist/cjs/devices/laundry-dryer.d.ts +30 -6
  141. package/dist/cjs/devices/laundry-dryer.d.ts.map +1 -1
  142. package/dist/cjs/devices/laundry-dryer.js +2 -2
  143. package/dist/cjs/devices/laundry-dryer.js.map +1 -1
  144. package/dist/cjs/devices/laundry-washer.d.ts +30 -6
  145. package/dist/cjs/devices/laundry-washer.d.ts.map +1 -1
  146. package/dist/cjs/devices/laundry-washer.js +2 -2
  147. package/dist/cjs/devices/laundry-washer.js.map +1 -1
  148. package/dist/cjs/devices/microwave-oven.d.ts +25 -5
  149. package/dist/cjs/devices/microwave-oven.d.ts.map +1 -1
  150. package/dist/cjs/devices/microwave-oven.js +2 -2
  151. package/dist/cjs/devices/microwave-oven.js.map +1 -1
  152. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +61 -22
  153. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts.map +1 -1
  154. package/dist/cjs/devices/mounted-dimmable-load-control.js +6 -5
  155. package/dist/cjs/devices/mounted-dimmable-load-control.js.map +2 -2
  156. package/dist/cjs/devices/mounted-on-off-control.d.ts +57 -17
  157. package/dist/cjs/devices/mounted-on-off-control.d.ts.map +1 -1
  158. package/dist/cjs/devices/mounted-on-off-control.js +11 -5
  159. package/dist/cjs/devices/mounted-on-off-control.js.map +2 -2
  160. package/dist/cjs/devices/network-infrastructure-manager.d.ts +16 -4
  161. package/dist/cjs/devices/network-infrastructure-manager.d.ts.map +1 -1
  162. package/dist/cjs/devices/network-infrastructure-manager.js +7 -3
  163. package/dist/cjs/devices/network-infrastructure-manager.js.map +2 -2
  164. package/dist/cjs/devices/on-off-light.d.ts +42 -14
  165. package/dist/cjs/devices/on-off-light.d.ts.map +1 -1
  166. package/dist/cjs/devices/on-off-light.js +10 -4
  167. package/dist/cjs/devices/on-off-light.js.map +2 -2
  168. package/dist/cjs/devices/on-off-plug-in-unit.d.ts +54 -15
  169. package/dist/cjs/devices/on-off-plug-in-unit.d.ts.map +1 -1
  170. package/dist/cjs/devices/on-off-plug-in-unit.js +11 -5
  171. package/dist/cjs/devices/on-off-plug-in-unit.js.map +2 -2
  172. package/dist/cjs/devices/rain-sensor.d.ts +4 -4
  173. package/dist/cjs/devices/robotic-vacuum-cleaner.d.ts +30 -6
  174. package/dist/cjs/devices/robotic-vacuum-cleaner.d.ts.map +1 -1
  175. package/dist/cjs/devices/robotic-vacuum-cleaner.js +2 -2
  176. package/dist/cjs/devices/robotic-vacuum-cleaner.js.map +1 -1
  177. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts +147 -7
  178. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  179. package/dist/cjs/devices/temperature-controlled-cabinet.js +3 -3
  180. package/dist/cjs/devices/temperature-controlled-cabinet.js.map +1 -1
  181. package/dist/cjs/devices/thermostat-controller.d.ts +62 -0
  182. package/dist/cjs/devices/thermostat-controller.d.ts.map +1 -0
  183. package/dist/cjs/devices/thermostat-controller.js +56 -0
  184. package/dist/cjs/devices/thermostat-controller.js.map +6 -0
  185. package/dist/cjs/devices/water-freeze-detector.d.ts +4 -4
  186. package/dist/cjs/devices/water-heater.d.ts +2 -2
  187. package/dist/cjs/devices/water-leak-detector.d.ts +4 -4
  188. package/dist/cjs/devices/window-covering-controller.d.ts +1 -1
  189. package/dist/cjs/devices/window-covering-controller.js +1 -1
  190. package/dist/cjs/devices/window-covering.d.ts +1 -1
  191. package/dist/cjs/devices/window-covering.js +1 -1
  192. package/dist/cjs/endpoints/joint-fabric-administrator.d.ts +9 -9
  193. package/dist/cjs/endpoints/joint-fabric-administrator.d.ts.map +1 -1
  194. package/dist/cjs/endpoints/joint-fabric-administrator.js +7 -4
  195. package/dist/cjs/endpoints/joint-fabric-administrator.js.map +2 -2
  196. package/dist/cjs/tags/AreaNamespaceTag.d.ts +132 -99
  197. package/dist/cjs/tags/AreaNamespaceTag.d.ts.map +1 -1
  198. package/dist/cjs/tags/AreaNamespaceTag.js +91 -67
  199. package/dist/cjs/tags/AreaNamespaceTag.js.map +1 -1
  200. package/dist/cjs/tags/ClosureTag.d.ts +7 -0
  201. package/dist/cjs/tags/ClosureTag.d.ts.map +1 -1
  202. package/dist/cjs/tags/ClosureTag.js.map +1 -1
  203. package/dist/cjs/tags/CompassDirectionTag.d.ts +4 -4
  204. package/dist/cjs/tags/CompassDirectionTag.js +4 -4
  205. package/dist/cjs/tags/CompassDirectionTag.js.map +1 -1
  206. package/dist/cjs/tags/CompassLocationTag.d.ts +4 -4
  207. package/dist/cjs/tags/CompassLocationTag.js +4 -4
  208. package/dist/cjs/tags/CompassLocationTag.js.map +1 -1
  209. package/dist/cjs/tags/LandmarkNamespaceTag.d.ts +34 -24
  210. package/dist/cjs/tags/LandmarkNamespaceTag.d.ts.map +1 -1
  211. package/dist/cjs/tags/LandmarkNamespaceTag.js +34 -24
  212. package/dist/cjs/tags/LandmarkNamespaceTag.js.map +1 -1
  213. package/dist/cjs/tags/LaundryTag.d.ts +3 -3
  214. package/dist/cjs/tags/LaundryTag.js +3 -3
  215. package/dist/cjs/tags/LaundryTag.js.map +1 -1
  216. package/dist/cjs/tags/LocationTag.d.ts +8 -1
  217. package/dist/cjs/tags/LocationTag.d.ts.map +1 -1
  218. package/dist/cjs/tags/LocationTag.js +6 -2
  219. package/dist/cjs/tags/LocationTag.js.map +1 -1
  220. package/dist/cjs/tags/NumberTag.d.ts +80 -0
  221. package/dist/cjs/tags/NumberTag.d.ts.map +1 -1
  222. package/dist/cjs/tags/NumberTag.js +21 -1
  223. package/dist/cjs/tags/NumberTag.js.map +1 -1
  224. package/dist/cjs/tags/PositionTag.d.ts +3 -0
  225. package/dist/cjs/tags/PositionTag.d.ts.map +1 -1
  226. package/dist/cjs/tags/PositionTag.js.map +1 -1
  227. package/dist/cjs/tags/RelativePositionTag.d.ts +2 -2
  228. package/dist/cjs/tags/RelativePositionTag.js +2 -2
  229. package/dist/cjs/tags/RelativePositionTag.js.map +1 -1
  230. package/dist/cjs/tags/SwitchesTag.d.ts +27 -3
  231. package/dist/cjs/tags/SwitchesTag.d.ts.map +1 -1
  232. package/dist/cjs/tags/SwitchesTag.js +17 -2
  233. package/dist/cjs/tags/SwitchesTag.js.map +1 -1
  234. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +5 -5
  235. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  236. package/dist/esm/behavior/cluster/ClusterBehavior.js +8 -3
  237. package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
  238. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.d.ts.map +1 -1
  239. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +53 -35
  240. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  241. package/dist/esm/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
  242. package/dist/esm/behavior/state/validation/conformance-compiler.js +6 -2
  243. package/dist/esm/behavior/state/validation/conformance-compiler.js.map +1 -1
  244. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts +1 -0
  245. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -1
  246. package/dist/esm/behaviors/account-login/AccountLoginInterface.d.ts +7 -7
  247. package/dist/esm/behaviors/actions/ActionsInterface.d.ts +26 -1
  248. package/dist/esm/behaviors/actions/ActionsInterface.d.ts.map +1 -1
  249. package/dist/esm/behaviors/application-launcher/ApplicationLauncherInterface.d.ts +3 -1
  250. package/dist/esm/behaviors/application-launcher/ApplicationLauncherInterface.d.ts.map +1 -1
  251. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +1 -1
  252. package/dist/esm/behaviors/channel/ChannelInterface.d.ts +4 -0
  253. package/dist/esm/behaviors/channel/ChannelInterface.d.ts.map +1 -1
  254. package/dist/esm/behaviors/color-control/ColorControlInterface.d.ts +4 -0
  255. package/dist/esm/behaviors/color-control/ColorControlInterface.d.ts.map +1 -1
  256. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +8 -0
  257. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  258. package/dist/esm/behaviors/color-control/ColorControlServer.js +23 -26
  259. package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
  260. package/dist/esm/behaviors/content-control/ContentControlInterface.d.ts +1 -1
  261. package/dist/esm/behaviors/door-lock/DoorLockInterface.d.ts +1 -1
  262. package/dist/esm/behaviors/door-lock/DoorLockServer.d.ts.map +1 -1
  263. package/dist/esm/behaviors/door-lock/DoorLockServer.js +8 -4
  264. package/dist/esm/behaviors/door-lock/DoorLockServer.js.map +1 -1
  265. package/dist/esm/behaviors/electrical-power-measurement/ElectricalPowerMeasurementBehavior.d.ts +3 -3
  266. package/dist/esm/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.d.ts +2 -2
  267. package/dist/esm/behaviors/fan-control/FanControlInterface.d.ts +13 -4
  268. package/dist/esm/behaviors/fan-control/FanControlInterface.d.ts.map +1 -1
  269. package/dist/esm/behaviors/fan-control/FanControlServer.d.ts +1 -1
  270. package/dist/esm/behaviors/fan-control/FanControlServer.d.ts.map +1 -1
  271. package/dist/esm/behaviors/fan-control/FanControlServer.js +6 -0
  272. package/dist/esm/behaviors/fan-control/FanControlServer.js.map +1 -1
  273. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts +16 -13
  274. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts.map +1 -1
  275. package/dist/esm/behaviors/group-key-management/GroupKeyManagementInterface.d.ts +3 -3
  276. package/dist/esm/behaviors/icd-management/IcdManagementInterface.d.ts +40 -4
  277. package/dist/esm/behaviors/icd-management/IcdManagementInterface.d.ts.map +1 -1
  278. package/dist/esm/behaviors/index.d.ts +1 -5
  279. package/dist/esm/behaviors/index.d.ts.map +1 -1
  280. package/dist/esm/behaviors/index.js +1 -5
  281. package/dist/esm/behaviors/index.js.map +1 -1
  282. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts +32 -0
  283. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts.map +1 -0
  284. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js +14 -0
  285. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js.map +6 -0
  286. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts +15 -0
  287. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts.map +1 -0
  288. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js +13 -0
  289. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js.map +6 -0
  290. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts +89 -0
  291. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts.map +1 -0
  292. package/dist/esm/behaviors/{valid-proxies/ValidProxiesInterface.js → joint-fabric-administrator/JointFabricAdministratorInterface.js} +1 -1
  293. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.js.map +6 -0
  294. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts +13 -0
  295. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts.map +1 -0
  296. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js +12 -0
  297. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js.map +6 -0
  298. package/dist/esm/behaviors/joint-fabric-administrator/index.d.ts +11 -0
  299. package/dist/esm/behaviors/joint-fabric-administrator/index.d.ts.map +1 -0
  300. package/dist/esm/behaviors/joint-fabric-administrator/index.js +10 -0
  301. package/dist/esm/behaviors/{joint-fabric-pki → joint-fabric-administrator}/index.js.map +1 -1
  302. package/dist/esm/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts +555 -40
  303. package/dist/esm/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts.map +1 -1
  304. package/dist/esm/behaviors/media-playback/MediaPlaybackInterface.d.ts +27 -2
  305. package/dist/esm/behaviors/media-playback/MediaPlaybackInterface.d.ts.map +1 -1
  306. package/dist/esm/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts +28 -14
  307. package/dist/esm/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts.map +1 -1
  308. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts +106 -9
  309. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts.map +1 -1
  310. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
  311. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  312. package/dist/esm/behaviors/service-area/ServiceAreaInterface.d.ts +0 -3
  313. package/dist/esm/behaviors/service-area/ServiceAreaInterface.d.ts.map +1 -1
  314. package/dist/esm/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts +3 -1
  315. package/dist/esm/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts.map +1 -1
  316. package/dist/esm/behaviors/switch/SwitchServer.d.ts +2 -0
  317. package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
  318. package/dist/esm/behaviors/switch/SwitchServer.js +3 -0
  319. package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
  320. package/dist/esm/behaviors/temperature-control/TemperatureControlInterface.d.ts +2 -0
  321. package/dist/esm/behaviors/temperature-control/TemperatureControlInterface.d.ts.map +1 -1
  322. package/dist/esm/behaviors/thermostat/ThermostatBehavior.d.ts +1 -1
  323. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts +1 -1
  324. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts.map +1 -1
  325. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js +16 -0
  326. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js.map +1 -1
  327. package/dist/esm/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts +3 -2
  328. package/dist/esm/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts.map +1 -1
  329. package/dist/esm/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts +10 -6
  330. package/dist/esm/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts.map +1 -1
  331. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.d.ts.map +1 -1
  332. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.js +6 -0
  333. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.js.map +1 -1
  334. package/dist/esm/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.d.ts +2 -2
  335. package/dist/esm/behaviors/window-covering/WindowCoveringBehavior.d.ts +1 -1
  336. package/dist/esm/behaviors/window-covering/WindowCoveringInterface.d.ts +18 -0
  337. package/dist/esm/behaviors/window-covering/WindowCoveringInterface.d.ts.map +1 -1
  338. package/dist/esm/behaviors/window-covering/WindowCoveringServer.d.ts +2 -2
  339. package/dist/esm/devices/basic-video-player.d.ts +2 -2
  340. package/dist/esm/devices/casting-video-player.d.ts +2 -2
  341. package/dist/esm/devices/color-temperature-light.d.ts +48 -22
  342. package/dist/esm/devices/color-temperature-light.d.ts.map +1 -1
  343. package/dist/esm/devices/color-temperature-light.js +7 -6
  344. package/dist/esm/devices/color-temperature-light.js.map +1 -1
  345. package/dist/esm/devices/control-bridge.d.ts +7 -7
  346. package/dist/esm/devices/control-bridge.d.ts.map +1 -1
  347. package/dist/esm/devices/control-bridge.js +5 -5
  348. package/dist/esm/devices/control-bridge.js.map +1 -1
  349. package/dist/esm/devices/cook-surface.d.ts +132 -4
  350. package/dist/esm/devices/cook-surface.d.ts.map +1 -1
  351. package/dist/esm/devices/cook-surface.js +2 -2
  352. package/dist/esm/devices/cook-surface.js.map +1 -1
  353. package/dist/esm/devices/dimmable-light.d.ts +44 -18
  354. package/dist/esm/devices/dimmable-light.d.ts.map +1 -1
  355. package/dist/esm/devices/dimmable-light.js +6 -5
  356. package/dist/esm/devices/dimmable-light.js.map +1 -1
  357. package/dist/esm/devices/dimmable-plug-in-unit.d.ts +56 -19
  358. package/dist/esm/devices/dimmable-plug-in-unit.d.ts.map +1 -1
  359. package/dist/esm/devices/dimmable-plug-in-unit.js +7 -6
  360. package/dist/esm/devices/dimmable-plug-in-unit.js.map +1 -1
  361. package/dist/esm/devices/dishwasher.d.ts +30 -6
  362. package/dist/esm/devices/dishwasher.d.ts.map +1 -1
  363. package/dist/esm/devices/dishwasher.js +2 -2
  364. package/dist/esm/devices/dishwasher.js.map +1 -1
  365. package/dist/esm/devices/extended-color-light.d.ts +48 -22
  366. package/dist/esm/devices/extended-color-light.d.ts.map +1 -1
  367. package/dist/esm/devices/extended-color-light.js +7 -6
  368. package/dist/esm/devices/extended-color-light.js.map +1 -1
  369. package/dist/esm/devices/index.d.ts +1 -0
  370. package/dist/esm/devices/index.d.ts.map +1 -1
  371. package/dist/esm/devices/index.js +1 -0
  372. package/dist/esm/devices/index.js.map +1 -1
  373. package/dist/esm/devices/laundry-dryer.d.ts +30 -6
  374. package/dist/esm/devices/laundry-dryer.d.ts.map +1 -1
  375. package/dist/esm/devices/laundry-dryer.js +2 -2
  376. package/dist/esm/devices/laundry-dryer.js.map +1 -1
  377. package/dist/esm/devices/laundry-washer.d.ts +30 -6
  378. package/dist/esm/devices/laundry-washer.d.ts.map +1 -1
  379. package/dist/esm/devices/laundry-washer.js +2 -2
  380. package/dist/esm/devices/laundry-washer.js.map +1 -1
  381. package/dist/esm/devices/microwave-oven.d.ts +25 -5
  382. package/dist/esm/devices/microwave-oven.d.ts.map +1 -1
  383. package/dist/esm/devices/microwave-oven.js +2 -2
  384. package/dist/esm/devices/microwave-oven.js.map +1 -1
  385. package/dist/esm/devices/mounted-dimmable-load-control.d.ts +61 -22
  386. package/dist/esm/devices/mounted-dimmable-load-control.d.ts.map +1 -1
  387. package/dist/esm/devices/mounted-dimmable-load-control.js +7 -6
  388. package/dist/esm/devices/mounted-dimmable-load-control.js.map +1 -1
  389. package/dist/esm/devices/mounted-on-off-control.d.ts +57 -17
  390. package/dist/esm/devices/mounted-on-off-control.d.ts.map +1 -1
  391. package/dist/esm/devices/mounted-on-off-control.js +11 -5
  392. package/dist/esm/devices/mounted-on-off-control.js.map +1 -1
  393. package/dist/esm/devices/network-infrastructure-manager.d.ts +16 -4
  394. package/dist/esm/devices/network-infrastructure-manager.d.ts.map +1 -1
  395. package/dist/esm/devices/network-infrastructure-manager.js +9 -3
  396. package/dist/esm/devices/network-infrastructure-manager.js.map +1 -1
  397. package/dist/esm/devices/on-off-light.d.ts +42 -14
  398. package/dist/esm/devices/on-off-light.d.ts.map +1 -1
  399. package/dist/esm/devices/on-off-light.js +10 -4
  400. package/dist/esm/devices/on-off-light.js.map +1 -1
  401. package/dist/esm/devices/on-off-plug-in-unit.d.ts +54 -15
  402. package/dist/esm/devices/on-off-plug-in-unit.d.ts.map +1 -1
  403. package/dist/esm/devices/on-off-plug-in-unit.js +11 -5
  404. package/dist/esm/devices/on-off-plug-in-unit.js.map +1 -1
  405. package/dist/esm/devices/rain-sensor.d.ts +4 -4
  406. package/dist/esm/devices/robotic-vacuum-cleaner.d.ts +30 -6
  407. package/dist/esm/devices/robotic-vacuum-cleaner.d.ts.map +1 -1
  408. package/dist/esm/devices/robotic-vacuum-cleaner.js +2 -2
  409. package/dist/esm/devices/robotic-vacuum-cleaner.js.map +1 -1
  410. package/dist/esm/devices/temperature-controlled-cabinet.d.ts +147 -7
  411. package/dist/esm/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  412. package/dist/esm/devices/temperature-controlled-cabinet.js +3 -3
  413. package/dist/esm/devices/temperature-controlled-cabinet.js.map +1 -1
  414. package/dist/esm/devices/thermostat-controller.d.ts +62 -0
  415. package/dist/esm/devices/thermostat-controller.d.ts.map +1 -0
  416. package/dist/esm/devices/thermostat-controller.js +38 -0
  417. package/dist/esm/devices/thermostat-controller.js.map +6 -0
  418. package/dist/esm/devices/water-freeze-detector.d.ts +4 -4
  419. package/dist/esm/devices/water-heater.d.ts +2 -2
  420. package/dist/esm/devices/water-leak-detector.d.ts +4 -4
  421. package/dist/esm/devices/window-covering-controller.d.ts +1 -1
  422. package/dist/esm/devices/window-covering-controller.js +1 -1
  423. package/dist/esm/devices/window-covering.d.ts +1 -1
  424. package/dist/esm/devices/window-covering.js +1 -1
  425. package/dist/esm/endpoints/joint-fabric-administrator.d.ts +9 -9
  426. package/dist/esm/endpoints/joint-fabric-administrator.d.ts.map +1 -1
  427. package/dist/esm/endpoints/joint-fabric-administrator.js +9 -4
  428. package/dist/esm/endpoints/joint-fabric-administrator.js.map +1 -1
  429. package/dist/esm/tags/AreaNamespaceTag.d.ts +132 -99
  430. package/dist/esm/tags/AreaNamespaceTag.d.ts.map +1 -1
  431. package/dist/esm/tags/AreaNamespaceTag.js +91 -67
  432. package/dist/esm/tags/AreaNamespaceTag.js.map +1 -1
  433. package/dist/esm/tags/ClosureTag.d.ts +7 -0
  434. package/dist/esm/tags/ClosureTag.d.ts.map +1 -1
  435. package/dist/esm/tags/ClosureTag.js.map +1 -1
  436. package/dist/esm/tags/CompassDirectionTag.d.ts +4 -4
  437. package/dist/esm/tags/CompassDirectionTag.js +4 -4
  438. package/dist/esm/tags/CompassDirectionTag.js.map +1 -1
  439. package/dist/esm/tags/CompassLocationTag.d.ts +4 -4
  440. package/dist/esm/tags/CompassLocationTag.js +4 -4
  441. package/dist/esm/tags/CompassLocationTag.js.map +1 -1
  442. package/dist/esm/tags/LandmarkNamespaceTag.d.ts +34 -24
  443. package/dist/esm/tags/LandmarkNamespaceTag.d.ts.map +1 -1
  444. package/dist/esm/tags/LandmarkNamespaceTag.js +34 -24
  445. package/dist/esm/tags/LandmarkNamespaceTag.js.map +1 -1
  446. package/dist/esm/tags/LaundryTag.d.ts +3 -3
  447. package/dist/esm/tags/LaundryTag.js +3 -3
  448. package/dist/esm/tags/LaundryTag.js.map +1 -1
  449. package/dist/esm/tags/LocationTag.d.ts +8 -1
  450. package/dist/esm/tags/LocationTag.d.ts.map +1 -1
  451. package/dist/esm/tags/LocationTag.js +6 -2
  452. package/dist/esm/tags/LocationTag.js.map +1 -1
  453. package/dist/esm/tags/NumberTag.d.ts +80 -0
  454. package/dist/esm/tags/NumberTag.d.ts.map +1 -1
  455. package/dist/esm/tags/NumberTag.js +21 -1
  456. package/dist/esm/tags/NumberTag.js.map +1 -1
  457. package/dist/esm/tags/PositionTag.d.ts +3 -0
  458. package/dist/esm/tags/PositionTag.d.ts.map +1 -1
  459. package/dist/esm/tags/PositionTag.js.map +1 -1
  460. package/dist/esm/tags/RelativePositionTag.d.ts +2 -2
  461. package/dist/esm/tags/RelativePositionTag.js +2 -2
  462. package/dist/esm/tags/RelativePositionTag.js.map +1 -1
  463. package/dist/esm/tags/SwitchesTag.d.ts +27 -3
  464. package/dist/esm/tags/SwitchesTag.d.ts.map +1 -1
  465. package/dist/esm/tags/SwitchesTag.js +17 -2
  466. package/dist/esm/tags/SwitchesTag.js.map +1 -1
  467. package/package.json +7 -7
  468. package/src/behavior/cluster/ClusterBehavior.ts +21 -10
  469. package/src/behavior/cluster/ClusterBehaviorUtil.ts +85 -59
  470. package/src/behavior/state/validation/conformance-compiler.ts +8 -3
  471. package/src/behaviors/account-login/AccountLoginInterface.ts +7 -7
  472. package/src/behaviors/actions/ActionsInterface.ts +26 -1
  473. package/src/behaviors/application-launcher/ApplicationLauncherInterface.ts +3 -1
  474. package/src/behaviors/channel/ChannelInterface.ts +4 -0
  475. package/src/behaviors/color-control/ColorControlInterface.ts +4 -0
  476. package/src/behaviors/color-control/ColorControlServer.ts +25 -26
  477. package/src/behaviors/content-control/ContentControlInterface.ts +1 -1
  478. package/src/behaviors/door-lock/DoorLockInterface.ts +1 -1
  479. package/src/behaviors/door-lock/DoorLockServer.ts +11 -4
  480. package/src/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.ts +2 -2
  481. package/src/behaviors/fan-control/FanControlInterface.ts +13 -4
  482. package/src/behaviors/fan-control/FanControlServer.ts +8 -3
  483. package/src/behaviors/general-commissioning/GeneralCommissioningInterface.ts +16 -13
  484. package/src/behaviors/group-key-management/GroupKeyManagementInterface.ts +3 -3
  485. package/src/behaviors/icd-management/IcdManagementInterface.ts +40 -4
  486. package/src/behaviors/index.ts +1 -5
  487. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.ts +27 -0
  488. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.ts +15 -0
  489. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.ts +94 -0
  490. package/src/behaviors/{joint-fabric-pki/JointFabricPkiServer.ts → joint-fabric-administrator/JointFabricAdministratorServer.ts} +3 -3
  491. package/src/behaviors/joint-fabric-administrator/index.ts +12 -0
  492. package/src/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.ts +555 -40
  493. package/src/behaviors/media-playback/MediaPlaybackInterface.ts +27 -2
  494. package/src/behaviors/network-commissioning/NetworkCommissioningInterface.ts +28 -14
  495. package/src/behaviors/operational-credentials/OperationalCredentialsInterface.ts +108 -9
  496. package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +1 -1
  497. package/src/behaviors/service-area/ServiceAreaInterface.ts +0 -3
  498. package/src/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.ts +3 -1
  499. package/src/behaviors/switch/SwitchServer.ts +4 -0
  500. package/src/behaviors/temperature-control/TemperatureControlInterface.ts +2 -0
  501. package/src/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.ts +21 -1
  502. package/src/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.ts +3 -2
  503. package/src/behaviors/time-synchronization/TimeSynchronizationInterface.ts +10 -6
  504. package/src/behaviors/unit-localization/UnitLocalizationServer.ts +6 -0
  505. package/src/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.ts +2 -2
  506. package/src/behaviors/window-covering/WindowCoveringInterface.ts +18 -0
  507. package/src/devices/basic-video-player.ts +2 -2
  508. package/src/devices/casting-video-player.ts +2 -2
  509. package/src/devices/color-temperature-light.ts +14 -13
  510. package/src/devices/control-bridge.ts +11 -11
  511. package/src/devices/cook-surface.ts +3 -3
  512. package/src/devices/dimmable-light.ts +13 -12
  513. package/src/devices/dimmable-plug-in-unit.ts +25 -13
  514. package/src/devices/dishwasher.ts +4 -3
  515. package/src/devices/extended-color-light.ts +14 -13
  516. package/src/devices/index.ts +1 -0
  517. package/src/devices/laundry-dryer.ts +4 -3
  518. package/src/devices/laundry-washer.ts +4 -3
  519. package/src/devices/microwave-oven.ts +2 -2
  520. package/src/devices/mounted-dimmable-load-control.ts +30 -16
  521. package/src/devices/mounted-on-off-control.ts +33 -12
  522. package/src/devices/network-infrastructure-manager.ts +19 -6
  523. package/src/devices/on-off-light.ts +18 -9
  524. package/src/devices/on-off-plug-in-unit.ts +30 -10
  525. package/src/devices/robotic-vacuum-cleaner.ts +4 -3
  526. package/src/devices/temperature-controlled-cabinet.ts +6 -5
  527. package/src/devices/thermostat-controller.ts +72 -0
  528. package/src/devices/window-covering-controller.ts +1 -1
  529. package/src/devices/window-covering.ts +1 -1
  530. package/src/endpoints/joint-fabric-administrator.ts +13 -8
  531. package/src/tags/AreaNamespaceTag.ts +104 -68
  532. package/src/tags/ClosureTag.ts +7 -0
  533. package/src/tags/CompassDirectionTag.ts +4 -4
  534. package/src/tags/CompassLocationTag.ts +4 -4
  535. package/src/tags/LandmarkNamespaceTag.ts +39 -24
  536. package/src/tags/LaundryTag.ts +3 -3
  537. package/src/tags/LocationTag.ts +7 -2
  538. package/src/tags/NumberTag.ts +21 -1
  539. package/src/tags/PositionTag.ts +3 -0
  540. package/src/tags/RelativePositionTag.ts +2 -2
  541. package/src/tags/SwitchesTag.ts +22 -4
  542. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts +0 -26
  543. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts.map +0 -1
  544. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.js +0 -34
  545. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.js.map +0 -6
  546. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.d.ts +0 -15
  547. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.d.ts.map +0 -1
  548. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.js +0 -33
  549. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.js.map +0 -6
  550. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.d.ts +0 -13
  551. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.d.ts.map +0 -1
  552. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.js.map +0 -6
  553. package/dist/cjs/behaviors/ballast-configuration/index.d.ts +0 -10
  554. package/dist/cjs/behaviors/ballast-configuration/index.d.ts.map +0 -1
  555. package/dist/cjs/behaviors/ballast-configuration/index.js +0 -26
  556. package/dist/cjs/behaviors/ballast-configuration/index.js.map +0 -6
  557. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts +0 -31
  558. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts.map +0 -1
  559. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js.map +0 -6
  560. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts +0 -15
  561. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts.map +0 -1
  562. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.js +0 -33
  563. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.js.map +0 -6
  564. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts +0 -36
  565. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts.map +0 -1
  566. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.js +0 -22
  567. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.js.map +0 -6
  568. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts +0 -13
  569. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts.map +0 -1
  570. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.js.map +0 -6
  571. package/dist/cjs/behaviors/joint-fabric-pki/index.d.ts +0 -11
  572. package/dist/cjs/behaviors/joint-fabric-pki/index.d.ts.map +0 -1
  573. package/dist/cjs/behaviors/joint-fabric-pki/index.js.map +0 -6
  574. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts +0 -26
  575. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts.map +0 -1
  576. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.js +0 -34
  577. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.js.map +0 -6
  578. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts +0 -15
  579. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts.map +0 -1
  580. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.js +0 -33
  581. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.js.map +0 -6
  582. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts +0 -13
  583. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts.map +0 -1
  584. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.js +0 -32
  585. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.js.map +0 -6
  586. package/dist/cjs/behaviors/proxy-configuration/index.d.ts +0 -10
  587. package/dist/cjs/behaviors/proxy-configuration/index.d.ts.map +0 -1
  588. package/dist/cjs/behaviors/proxy-configuration/index.js +0 -26
  589. package/dist/cjs/behaviors/proxy-configuration/index.js.map +0 -6
  590. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts +0 -31
  591. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts.map +0 -1
  592. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js +0 -34
  593. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js.map +0 -6
  594. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts +0 -15
  595. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts.map +0 -1
  596. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.js +0 -33
  597. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.js.map +0 -6
  598. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts +0 -26
  599. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts.map +0 -1
  600. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.js.map +0 -6
  601. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts +0 -13
  602. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts.map +0 -1
  603. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.js +0 -32
  604. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.js.map +0 -6
  605. package/dist/cjs/behaviors/proxy-discovery/index.d.ts +0 -11
  606. package/dist/cjs/behaviors/proxy-discovery/index.d.ts.map +0 -1
  607. package/dist/cjs/behaviors/proxy-discovery/index.js +0 -27
  608. package/dist/cjs/behaviors/proxy-discovery/index.js.map +0 -6
  609. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.d.ts +0 -31
  610. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.d.ts.map +0 -1
  611. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.js +0 -34
  612. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.js.map +0 -6
  613. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.d.ts +0 -15
  614. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.d.ts.map +0 -1
  615. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.js +0 -33
  616. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.js.map +0 -6
  617. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.d.ts +0 -26
  618. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.d.ts.map +0 -1
  619. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.js +0 -22
  620. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.js.map +0 -6
  621. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.d.ts +0 -13
  622. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.d.ts.map +0 -1
  623. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.js +0 -32
  624. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.js.map +0 -6
  625. package/dist/cjs/behaviors/valid-proxies/index.d.ts +0 -11
  626. package/dist/cjs/behaviors/valid-proxies/index.d.ts.map +0 -1
  627. package/dist/cjs/behaviors/valid-proxies/index.js +0 -27
  628. package/dist/cjs/behaviors/valid-proxies/index.js.map +0 -6
  629. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts +0 -26
  630. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts.map +0 -1
  631. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.js +0 -14
  632. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.js.map +0 -6
  633. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.d.ts +0 -15
  634. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.d.ts.map +0 -1
  635. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.js +0 -13
  636. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.js.map +0 -6
  637. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.d.ts +0 -13
  638. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.d.ts.map +0 -1
  639. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.js +0 -12
  640. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.js.map +0 -6
  641. package/dist/esm/behaviors/ballast-configuration/index.d.ts +0 -10
  642. package/dist/esm/behaviors/ballast-configuration/index.d.ts.map +0 -1
  643. package/dist/esm/behaviors/ballast-configuration/index.js +0 -9
  644. package/dist/esm/behaviors/ballast-configuration/index.js.map +0 -6
  645. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts +0 -31
  646. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts.map +0 -1
  647. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js +0 -14
  648. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js.map +0 -6
  649. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts +0 -15
  650. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts.map +0 -1
  651. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.js +0 -13
  652. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.js.map +0 -6
  653. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts +0 -36
  654. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts.map +0 -1
  655. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.js +0 -6
  656. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.js.map +0 -6
  657. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts +0 -13
  658. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts.map +0 -1
  659. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.js +0 -12
  660. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.js.map +0 -6
  661. package/dist/esm/behaviors/joint-fabric-pki/index.d.ts +0 -11
  662. package/dist/esm/behaviors/joint-fabric-pki/index.d.ts.map +0 -1
  663. package/dist/esm/behaviors/joint-fabric-pki/index.js +0 -10
  664. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts +0 -26
  665. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts.map +0 -1
  666. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.js +0 -14
  667. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.js.map +0 -6
  668. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts +0 -15
  669. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts.map +0 -1
  670. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.js +0 -13
  671. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.js.map +0 -6
  672. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts +0 -13
  673. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts.map +0 -1
  674. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.js +0 -12
  675. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.js.map +0 -6
  676. package/dist/esm/behaviors/proxy-configuration/index.d.ts +0 -10
  677. package/dist/esm/behaviors/proxy-configuration/index.d.ts.map +0 -1
  678. package/dist/esm/behaviors/proxy-configuration/index.js +0 -9
  679. package/dist/esm/behaviors/proxy-configuration/index.js.map +0 -6
  680. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts +0 -31
  681. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts.map +0 -1
  682. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js +0 -14
  683. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js.map +0 -6
  684. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts +0 -15
  685. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts.map +0 -1
  686. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.js +0 -13
  687. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.js.map +0 -6
  688. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts +0 -26
  689. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts.map +0 -1
  690. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.js +0 -6
  691. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.js.map +0 -6
  692. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts +0 -13
  693. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts.map +0 -1
  694. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.js +0 -12
  695. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.js.map +0 -6
  696. package/dist/esm/behaviors/proxy-discovery/index.d.ts +0 -11
  697. package/dist/esm/behaviors/proxy-discovery/index.d.ts.map +0 -1
  698. package/dist/esm/behaviors/proxy-discovery/index.js +0 -10
  699. package/dist/esm/behaviors/proxy-discovery/index.js.map +0 -6
  700. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.d.ts +0 -31
  701. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.d.ts.map +0 -1
  702. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.js +0 -14
  703. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.js.map +0 -6
  704. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.d.ts +0 -15
  705. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.d.ts.map +0 -1
  706. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.js +0 -13
  707. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.js.map +0 -6
  708. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.d.ts +0 -26
  709. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.d.ts.map +0 -1
  710. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.js.map +0 -6
  711. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.d.ts +0 -13
  712. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.d.ts.map +0 -1
  713. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.js +0 -12
  714. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.js.map +0 -6
  715. package/dist/esm/behaviors/valid-proxies/index.d.ts +0 -11
  716. package/dist/esm/behaviors/valid-proxies/index.d.ts.map +0 -1
  717. package/dist/esm/behaviors/valid-proxies/index.js +0 -10
  718. package/dist/esm/behaviors/valid-proxies/index.js.map +0 -6
  719. package/src/behaviors/ballast-configuration/BallastConfigurationBehavior.ts +0 -24
  720. package/src/behaviors/ballast-configuration/BallastConfigurationClient.ts +0 -15
  721. package/src/behaviors/ballast-configuration/BallastConfigurationServer.ts +0 -14
  722. package/src/behaviors/ballast-configuration/index.ts +0 -11
  723. package/src/behaviors/joint-fabric-pki/JointFabricPkiBehavior.ts +0 -26
  724. package/src/behaviors/joint-fabric-pki/JointFabricPkiClient.ts +0 -15
  725. package/src/behaviors/joint-fabric-pki/JointFabricPkiInterface.ts +0 -36
  726. package/src/behaviors/joint-fabric-pki/index.ts +0 -12
  727. package/src/behaviors/proxy-configuration/ProxyConfigurationBehavior.ts +0 -24
  728. package/src/behaviors/proxy-configuration/ProxyConfigurationClient.ts +0 -15
  729. package/src/behaviors/proxy-configuration/ProxyConfigurationServer.ts +0 -14
  730. package/src/behaviors/proxy-configuration/index.ts +0 -11
  731. package/src/behaviors/proxy-discovery/ProxyDiscoveryBehavior.ts +0 -26
  732. package/src/behaviors/proxy-discovery/ProxyDiscoveryClient.ts +0 -15
  733. package/src/behaviors/proxy-discovery/ProxyDiscoveryInterface.ts +0 -24
  734. package/src/behaviors/proxy-discovery/ProxyDiscoveryServer.ts +0 -14
  735. package/src/behaviors/proxy-discovery/index.ts +0 -12
  736. package/src/behaviors/valid-proxies/ValidProxiesBehavior.ts +0 -24
  737. package/src/behaviors/valid-proxies/ValidProxiesClient.ts +0 -15
  738. package/src/behaviors/valid-proxies/ValidProxiesInterface.ts +0 -24
  739. package/src/behaviors/valid-proxies/ValidProxiesServer.ts +0 -14
  740. package/src/behaviors/valid-proxies/index.ts +0 -12
@@ -9,6 +9,8 @@ import { camelize, EventEmitter, GeneratedClass, ImplementationError, Observable
9
9
  import {
10
10
  ClassSemantics,
11
11
  ClusterModel,
12
+ Conformance,
13
+ DecodedBitmap,
12
14
  DefaultValue,
13
15
  ElementTag,
14
16
  FeatureMap,
@@ -20,7 +22,7 @@ import {
20
22
  ValueModel,
21
23
  } from "#model";
22
24
  import { Val } from "#protocol";
23
- import { Attribute, ClusterType } from "#types";
25
+ import { ClusterType } from "#types";
24
26
  import { Behavior } from "../Behavior.js";
25
27
  import { DerivedState } from "../state/StateType.js";
26
28
  import type { ClusterBehavior } from "./ClusterBehavior.js";
@@ -82,8 +84,7 @@ export function createType<const C extends ClusterType>(
82
84
  }
83
85
  }
84
86
 
85
- const newProps = {} as Record<string, ValueModel>;
86
- const scope = Scope(schema);
87
+ const context = DerivationContext(schema, cluster, base);
87
88
 
88
89
  const type = GeneratedClass({
89
90
  name,
@@ -93,9 +94,9 @@ export function createType<const C extends ClusterType>(
93
94
  // namespace overrides. If we instead override as static properties then we lose the automatic interface type.
94
95
  // So just publish as static properties.
95
96
  staticProperties: {
96
- State: createDerivedState(cluster, scope, base, newProps),
97
+ State: createDerivedState(context),
97
98
 
98
- Events: createDerivedEvents(cluster, scope, base, newProps),
99
+ Events: createDerivedEvents(context),
99
100
  },
100
101
 
101
102
  staticDescriptors: {
@@ -140,18 +141,52 @@ export type ExtensionInterfaceOf<B extends Behavior.Type> = B extends { Extensio
140
141
  ? I
141
142
  : {};
142
143
 
144
+ interface DerivationContext {
145
+ cluster: ClusterType;
146
+ scope: Scope;
147
+ featuresAvailable: FeatureSet;
148
+ featuresSupported: FeatureSet;
149
+ base: Behavior.Type;
150
+ newProps: Record<string, ValueModel>;
151
+ }
152
+
153
+ function DerivationContext(schema: Schema, cluster: ClusterType, base: Behavior.Type): DerivationContext {
154
+ const scope = Scope(schema);
155
+ // Determine the set of features so we can test element applicability
156
+ let featuresAvailable, featuresSupported;
157
+ if (scope.owner instanceof ClusterModel) {
158
+ const normalized = FeatureSet.normalize(scope.owner.featureMap, scope.owner.supportedFeatures);
159
+ featuresAvailable = normalized.featuresAvailable;
160
+ featuresSupported = normalized.featuresSupported;
161
+ } else {
162
+ featuresAvailable = new FeatureSet();
163
+ featuresSupported = new FeatureSet();
164
+ }
165
+
166
+ return {
167
+ cluster,
168
+ scope: Scope(schema),
169
+ featuresAvailable,
170
+ featuresSupported,
171
+ base,
172
+ newProps: {},
173
+ };
174
+ }
175
+
143
176
  /**
144
177
  * Create a new state subclass that inherits relevant default values from a base Behavior.Type and adds new default
145
178
  * values from cluster attributes.
146
179
  *
147
180
  * Note - we only use the cluster here for default values
148
181
  */
149
- function createDerivedState(
150
- cluster: ClusterType,
151
- scope: Scope,
152
- base: Behavior.Type,
153
- newProps: Record<string, ValueModel>,
154
- ) {
182
+ function createDerivedState({
183
+ cluster,
184
+ scope,
185
+ base,
186
+ newProps,
187
+ featuresAvailable,
188
+ featuresSupported,
189
+ }: DerivationContext) {
155
190
  const BaseState = base["State"];
156
191
  if (BaseState === undefined) {
157
192
  throw new ImplementationError(`No state class defined for behavior class ${base.name}`);
@@ -160,17 +195,6 @@ function createDerivedState(
160
195
  const oldDefaults = new BaseState() as Record<string, any>;
161
196
  let knownDefaults = (BaseState as HasKnownDefaults)[KNOWN_DEFAULTS];
162
197
 
163
- // Determine the set of features so we can test attribute applicability
164
- let featuresAvailable, featuresSupported;
165
- if (scope.owner instanceof ClusterModel) {
166
- const normalized = FeatureSet.normalize(scope.owner.featureMap, scope.owner.supportedFeatures);
167
- featuresAvailable = normalized.featuresAvailable;
168
- featuresSupported = normalized.featuresSupported;
169
- } else {
170
- featuresAvailable = new FeatureSet();
171
- featuresSupported = new FeatureSet();
172
- }
173
-
174
198
  // Index schema members by name
175
199
  const props = {} as Record<string, ValueModel[]>;
176
200
  for (const member of scope.membersOf(scope.owner, { conformance: "deconflicted" })) {
@@ -191,21 +215,22 @@ function createDerivedState(
191
215
  let propSchema: ValueModel | undefined;
192
216
 
193
217
  // Determine whether the attribute applies
218
+ let applicability;
194
219
  for (const attr of attrs) {
195
- const applicability = attr.effectiveConformance.applicabilityOf(featuresAvailable, featuresSupported);
220
+ applicability = attr.effectiveConformance.applicabilityOf(featuresAvailable, featuresSupported);
196
221
 
197
222
  // Inapplicable; ignore
198
223
  if (!applicability) {
199
224
  continue;
200
225
  }
201
226
 
202
- // Applicable; add new default. If conditional then cluster logic must modify
227
+ // Use this model for the property
203
228
  propSchema = attr;
204
229
  break;
205
230
  }
206
231
 
207
232
  // If the attribute doesn't apply, erase any previous default unless conditionally applicable
208
- if (propSchema === undefined) {
233
+ if (!propSchema) {
209
234
  // Inapplicable; ensure no default is present
210
235
  if (oldDefaults[name] !== undefined) {
211
236
  // Save the default value so we can recreate it if a future derivative re-enables this element
@@ -234,12 +259,13 @@ function createDerivedState(
234
259
  continue;
235
260
  }
236
261
 
237
- // Make sure a default value is present
262
+ // Make sure a default value is present if mandatory or marked as supported (note that the default value may
263
+ // be "undefined" to indicate that an attribute is available optionally)
238
264
  defaults[name] = selectDefaultValue(
239
265
  scope,
240
266
  oldDefaults[name] === undefined ? knownDefaults?.[name] : oldDefaults[name],
241
- attribute,
242
267
  propSchema,
268
+ applicability,
243
269
  );
244
270
  }
245
271
 
@@ -259,19 +285,14 @@ function createDerivedState(
259
285
  /**
260
286
  * Extend events with additional implementations.
261
287
  */
262
- function createDerivedEvents(
263
- cluster: ClusterType,
264
- scope: Scope,
265
- base: Behavior.Type,
266
- newProps: Record<string, ValueModel>,
267
- ) {
288
+ function createDerivedEvents({ scope, base, newProps, featuresAvailable, featuresSupported }: DerivationContext) {
268
289
  const instanceDescriptors = {} as PropertyDescriptorMap;
269
290
 
270
291
  const baseInstance = new base.Events() as unknown as Record<string, unknown>;
271
292
 
272
293
  const eventNames = new Set<string>();
273
294
 
274
- // Add mandatory events that are not present in the base class
295
+ // Add events that are mandatory or marked as supported and not present in the base class
275
296
  const applicableClusterEvents = new Set();
276
297
  for (const event of scope.membersOf(scope.owner as Schema, {
277
298
  conformance: "conformant",
@@ -279,7 +300,12 @@ function createDerivedEvents(
279
300
  })) {
280
301
  const name = camelize(event.name);
281
302
  applicableClusterEvents.add(name);
282
- if (!cluster.events[name]?.optional && baseInstance[name] === undefined) {
303
+ if (
304
+ (event.conformance.applicabilityOf(featuresAvailable, featuresSupported) ===
305
+ Conformance.Applicability.Mandatory ||
306
+ event.isSupported) &&
307
+ baseInstance[name] === undefined
308
+ ) {
283
309
  eventNames.add(name);
284
310
  instanceDescriptors[name] = createEventDescriptor(
285
311
  name,
@@ -312,7 +338,7 @@ function createDerivedEvents(
312
338
  // TODO - if necessary, mask out (set to undefined) events present in base cluster but not derived cluster
313
339
 
314
340
  return GeneratedClass({
315
- name: `${cluster.name}$Events`,
341
+ name: `${base.name}$Events`,
316
342
  base: base.Events,
317
343
 
318
344
  instanceDescriptors,
@@ -413,43 +439,43 @@ function createDefaultCommandDescriptors(cluster: ClusterType, base: Behavior.Ty
413
439
  return result;
414
440
  }
415
441
 
416
- function selectDefaultValue(scope: Scope, oldDefault: Val, clusterAttr?: Attribute<any, any>, schemaProp?: ValueModel) {
442
+ function selectDefaultValue(
443
+ scope: Scope,
444
+ oldDefault: Val,
445
+ member: ValueModel,
446
+ applicability?: Conformance.Applicability,
447
+ ) {
417
448
  if (oldDefault !== undefined) {
418
449
  return oldDefault;
419
450
  }
420
451
 
421
- // Use cluster attribute rather than model attribute because currently "enable" modifies the cluster, not the schema
422
- if (clusterAttr?.optional) {
452
+ // No default unless mandatory or explicitly marked as implemented
453
+ if (applicability !== Conformance.Applicability.Mandatory && !member.isSupported) {
423
454
  return;
424
455
  }
425
456
 
426
- // Use cluster attribute rather than model attribute because currently "set" modifies the cluster, not the schema
427
- if (clusterAttr?.default !== undefined) {
428
- return clusterAttr.default;
429
- }
430
-
431
- // Following checks use the schema
432
- if (!schemaProp) {
433
- return;
457
+ // If there's an explicit default, use that
458
+ const effectiveDefault = DefaultValue(scope, member);
459
+ if (effectiveDefault !== undefined) {
460
+ if (member.effectiveMetatype === "bitmap") {
461
+ return DecodedBitmap(member, effectiveDefault);
462
+ }
463
+ return effectiveDefault;
434
464
  }
435
465
 
436
- if (schemaProp.nullable) {
466
+ // Default for nullable is null
467
+ if (member.nullable) {
437
468
  return null;
438
469
  }
439
470
 
440
- const effectiveDefault = DefaultValue(scope, schemaProp);
441
- if (effectiveDefault) {
442
- return effectiveDefault;
443
- }
471
+ switch (member.effectiveMetatype) {
472
+ case Metatype.integer:
473
+ case Metatype.float:
474
+ return 0;
444
475
 
445
- // TODO - skip the following defaults if conformance is not absolutely mandatory. This is pretty limited, may need
446
- // to use more sophisticated evaluation if insufficient
447
- const conformance = schemaProp.effectiveConformance;
448
- if (!conformance.isMandatory) {
449
- return;
450
- }
476
+ case Metatype.boolean:
477
+ return false;
451
478
 
452
- switch (schemaProp.effectiveMetatype) {
453
479
  case Metatype.bitmap:
454
480
  case Metatype.object:
455
481
  // This is not a very good default but it is better than undefined
@@ -187,7 +187,7 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
187
187
  case Conformance.Special.Choice:
188
188
  return createChoice(ast.param);
189
189
 
190
- case Conformance.Special.Group:
190
+ case Conformance.Special.Otherwise:
191
191
  return createGroup(ast.param);
192
192
 
193
193
  case Conformance.Special.Name:
@@ -281,7 +281,7 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
281
281
  * A "group" node is a list or the entries in an optional ([ ... ]) clause. The resulting node is the value of the
282
282
  * first list member that does not report as Code.Nonconformant.
283
283
  */
284
- function createGroup(param: Conformance.Ast.Group): DynamicNode {
284
+ function createGroup(param: Conformance.Ast.Otherwise): DynamicNode {
285
285
  if (!Array.isArray(param)) {
286
286
  throw new SchemaImplementationError(
287
287
  DataModelPath(schema.path),
@@ -627,7 +627,12 @@ export function astToFunction(schema: ValueModel, supervisor: RootSupervisor): V
627
627
  continue;
628
628
  }
629
629
 
630
- const compiledNode = compile(member.conformance.ast);
630
+ // Enum choice indicates support for the value; it should not affect validation
631
+ let ast = member.conformance.ast;
632
+ if (ast.type === Conformance.Special.Choice) {
633
+ ast = ast.param.expr;
634
+ }
635
+ const compiledNode = compile(ast);
631
636
 
632
637
  let memberValidator: undefined | EnumMemberValidator;
633
638
  switch (compiledNode.code) {
@@ -13,13 +13,13 @@ export namespace AccountLoginInterface {
13
13
  export interface Base {
14
14
  /**
15
15
  * The purpose of this command is to determine if the active user account of the given Content App matches the
16
- * active user account of a given Commissionee, and when it does, return a Setup PIN code which can be used for
16
+ * active user account of a given Commissionee, and when it does, return a Setup PIN which can be used for
17
17
  * password-authenticated session establishment (PASE) with the Commissionee.
18
18
  *
19
19
  * For example, a Video Player with a Content App Platform may invoke this command on one of its Content App
20
20
  * endpoints to facilitate commissioning of a Phone App made by the same vendor as the Content App. If the
21
- * accounts match, then the Content App may return a setup code that can be used by the Video Player to
22
- * commission the Phone App without requiring the user to physically input a setup code.
21
+ * accounts match, then the Content App may return a Setup PIN that can be used by the Video Player to
22
+ * commission the Phone App without requiring the user to physically input a Setup PIN.
23
23
  *
24
24
  * The account match is determined by the Content App using a method which is outside the scope of this
25
25
  * specification and will typically involve a central service which is in communication with both the Content
@@ -45,7 +45,7 @@ export namespace AccountLoginInterface {
45
45
  * The Setup PIN is a character string so that it can accommodate different future formats, including
46
46
  * alpha-numeric encodings. For a Commissionee it shall be populated with the Manual Pairing Code (see Manual
47
47
  * Pairing Code section in [MatterCore]) encoded as a string (11 characters) or the Passcode portion of the
48
- * Manual Pairing Code (when less than 11 characters) .
48
+ * Manual Pairing Code (when less than 11 characters).
49
49
  *
50
50
  * The server shall implement rate limiting to prevent brute force attacks. No more than 10 unique requests in a
51
51
  * 10 minute period shall be allowed; a command response status of FAILURE should sent for additional commands
@@ -60,7 +60,7 @@ export namespace AccountLoginInterface {
60
60
 
61
61
  /**
62
62
  * The purpose of this command is to allow the Content App to assume the user account of a given Commissionee by
63
- * leveraging the Setup PIN code input by the user during the commissioning process.
63
+ * leveraging the Setup PIN input by the user during the commissioning process.
64
64
  *
65
65
  * For example, a Video Player with a Content App Platform may invoke this command on one of its Content App
66
66
  * endpoints after the commissioning has completed of a Phone App made by the same vendor as the Content App.
@@ -87,12 +87,12 @@ export namespace AccountLoginInterface {
87
87
  *
88
88
  * The Setup PIN for a Commissionee may be populated with the Manual Pairing Code encoded as a string of decimal
89
89
  * numbers (11 characters) or the Passcode portion of the Manual Pairing Code encoded as a string of decimal
90
- * numbers (8 characters) .
90
+ * numbers (8 characters).
91
91
  *
92
92
  * The server shall implement rate limiting to prevent brute force attacks. No more than 10 unique requests in a
93
93
  * 10 minute period shall be allowed; a command response status of FAILURE should sent for additional commands
94
94
  * received within the 10 minute period. Because access to this command is limited to nodes with Admin-level
95
- * access, and the user is involved when obtaining the SetupPIN, there are in place multiple obstacles to
95
+ * access, and the user is involved when obtaining the Setup PIN, there are in place multiple obstacles to
96
96
  * successfully mounting a brute force attack. A Content App that supports this command shall ensure that the
97
97
  * Temporary Account Identifier used by its clients is not valid for more than 10 minutes.
98
98
  *
@@ -12,6 +12,8 @@ import { Actions } from "#clusters/actions";
12
12
  export namespace ActionsInterface {
13
13
  export interface Base {
14
14
  /**
15
+ * This command is used to trigger an instantaneous action.
16
+ *
15
17
  * This command triggers an action (state change) on the involved endpoints, in a "fire and forget" manner.
16
18
  * Afterwards, the action’s state shall be Inactive.
17
19
  *
@@ -22,6 +24,8 @@ export namespace ActionsInterface {
22
24
  instantAction(request: Actions.InstantActionRequest): MaybePromise;
23
25
 
24
26
  /**
27
+ * This command is used to trigger an instantaneous action with a transition over a given time.
28
+ *
25
29
  * It is recommended that, where possible (e.g., it is not possible for attributes with Boolean data type), a
26
30
  * gradual transition SHOULD take place from the old to the new state over this time period. However, the exact
27
31
  * transition is manufacturer dependent.
@@ -37,6 +41,8 @@ export namespace ActionsInterface {
37
41
  instantActionWithTransition(request: Actions.InstantActionWithTransitionRequest): MaybePromise;
38
42
 
39
43
  /**
44
+ * This command is used to trigger the commencement of an action.
45
+ *
40
46
  * This command triggers the commencement of an action on the involved endpoints. Afterwards, the action’s state
41
47
  * shall be Active.
42
48
  *
@@ -51,6 +57,8 @@ export namespace ActionsInterface {
51
57
  startAction(request: Actions.StartActionRequest): MaybePromise;
52
58
 
53
59
  /**
60
+ * This command is used to trigger the commencement of an action with a duration.
61
+ *
54
62
  * This command triggers the commencement of an action on the involved endpoints, and shall change the action’s
55
63
  * state to Active. After the specified Duration, the action will stop, and the action’s state shall change to
56
64
  * Inactive.
@@ -63,6 +71,8 @@ export namespace ActionsInterface {
63
71
  startActionWithDuration(request: Actions.StartActionWithDurationRequest): MaybePromise;
64
72
 
65
73
  /**
74
+ * This command is used to stop an action.
75
+ *
66
76
  * This command stops the ongoing action on the involved endpoints. Afterwards, the action’s state shall be
67
77
  * Inactive.
68
78
  *
@@ -73,6 +83,8 @@ export namespace ActionsInterface {
73
83
  stopAction(request: Actions.StopActionRequest): MaybePromise;
74
84
 
75
85
  /**
86
+ * This command is used to pause an action.
87
+ *
76
88
  * This command pauses an ongoing action, and shall change the action’s state to Paused.
77
89
  *
78
90
  * Example: pause a dynamic lighting effect (the lights stay at their current color) which was previously
@@ -83,6 +95,8 @@ export namespace ActionsInterface {
83
95
  pauseAction(request: Actions.PauseActionRequest): MaybePromise;
84
96
 
85
97
  /**
98
+ * This command is used to pause an action with a duration.
99
+ *
86
100
  * This command pauses an ongoing action, and shall change the action’s state to Paused. After the specified
87
101
  * Duration, the ongoing action will be automatically resumed. which shall change the action’s state to Active.
88
102
  *
@@ -100,6 +114,8 @@ export namespace ActionsInterface {
100
114
  pauseActionWithDuration(request: Actions.PauseActionWithDurationRequest): MaybePromise;
101
115
 
102
116
  /**
117
+ * This command is used to resume an action.
118
+ *
103
119
  * This command resumes a previously paused action, and shall change the action’s state to Active.
104
120
  *
105
121
  * The difference between ResumeAction and StartAction is that ResumeAction will continue the action from the
@@ -113,6 +129,8 @@ export namespace ActionsInterface {
113
129
  resumeAction(request: Actions.ResumeActionRequest): MaybePromise;
114
130
 
115
131
  /**
132
+ * This command is used to enable an action.
133
+ *
116
134
  * This command enables a certain action or automation. Afterwards, the action’s state shall be Active.
117
135
  *
118
136
  * Example: enable a motion sensor to control the lights in an area.
@@ -122,6 +140,8 @@ export namespace ActionsInterface {
122
140
  enableAction(request: Actions.EnableActionRequest): MaybePromise;
123
141
 
124
142
  /**
143
+ * This command is used to enable an action with a duration.
144
+ *
125
145
  * This command enables a certain action or automation, and shall change the action’s state to be Active. After
126
146
  * the specified Duration, the action or automation will stop, and the action’s state shall change to Disabled.
127
147
  *
@@ -134,6 +154,8 @@ export namespace ActionsInterface {
134
154
  enableActionWithDuration(request: Actions.EnableActionWithDurationRequest): MaybePromise;
135
155
 
136
156
  /**
157
+ * This command is used to disable an action.
158
+ *
137
159
  * This command disables a certain action or automation, and shall change the action’s state to Inactive.
138
160
  *
139
161
  * Example: disable a motion sensor to no longer control the lights in an area.
@@ -143,9 +165,12 @@ export namespace ActionsInterface {
143
165
  disableAction(request: Actions.DisableActionRequest): MaybePromise;
144
166
 
145
167
  /**
168
+ * This command is used to disable an action with a duration.
169
+ *
146
170
  * This command disables a certain action or automation, and shall change the action’s state to Disabled. After
147
171
  * the specified Duration, the action or automation will re-start, and the action’s state shall change to either
148
- * Inactive or Active, depending on the actions (see examples 4 and 6).
172
+ * Inactive or Active, depending on the actions (see Section 9.14.8.4, “Example 4: Wake-up routine” and Section
173
+ * 9.14.8.6, “Example 6: Alarm system”).
149
174
  *
150
175
  * Example: disable a "wakeup" experience for a period of 1 week when going on holiday (to prevent them from
151
176
  * turning on in the morning while you’re not at home). After this period, the wakeup experience will control
@@ -60,7 +60,9 @@ export namespace ApplicationLauncherInterface {
60
60
  * constraints if any. The Status attribute shall be updated to ActiveHidden or Stopped, depending on the action
61
61
  * taken, on the Application Basic cluster of the Endpoint corresponding to the application on which the action
62
62
  * was taken. The Status attribute shall be updated on any other application whose Status may have changed as a
63
- * result of this command. This command returns a Launcher Response.
63
+ * result of this command.
64
+ *
65
+ * This command returns a Launcher Response.
64
66
  *
65
67
  * @see {@link MatterSpecification.v141.Cluster} § 6.4.7.3
66
68
  */
@@ -22,6 +22,10 @@ export namespace ChannelInterface {
22
22
  * This command provides channel up and channel down functionality, but allows channel index jumps of size
23
23
  * Count.
24
24
  *
25
+ * Jumps are relative to the available list of channels. For example, when the current channel is 100.0 and the
26
+ * list of available channels is [100.0, 200.0, 201.0, 305.1], a SkipChannel command with jump value of 2 shall
27
+ * change the channel to 201.0.
28
+ *
25
29
  * When the value of the increase or decrease is larger than the number of channels remaining in the given
26
30
  * direction, then the behavior shall be to return to the beginning (or end) of the channel list and continue.
27
31
  * For example, if the current channel is at index 0 and count value of -1 is given, then the current channel
@@ -131,6 +131,10 @@ export namespace ColorControlInterface {
131
131
  /**
132
132
  * This command is provided to allow MoveTo and Step commands to be stopped.
133
133
  *
134
+ * NOTE This automatically provides symmetry to the Level Control cluster.
135
+ *
136
+ * NOTE The StopMoveStep command has no effect on an active color loop.
137
+ *
134
138
  * @see {@link MatterSpecification.v141.Cluster} § 3.2.8.20
135
139
  */
136
140
  stopMoveStep(request: ColorControl.StopMoveStepRequest): MaybePromise;
@@ -216,11 +216,7 @@ export class ColorControlBaseServer extends ColorControlBase {
216
216
  * Sets the current color temperature value in Mireds (0..0xFFFF) and converts into Matter number range.
217
217
  */
218
218
  set mireds(value: number) {
219
- this.state.colorTemperatureMireds = cropValueRange(
220
- value,
221
- this.minimumColorTemperatureMireds,
222
- this.maximumColorTemperatureMireds,
223
- );
219
+ this.state.colorTemperatureMireds = this.#cropColorTemperature(value);
224
220
  }
225
221
 
226
222
  /** Returns the current color temperature value in Kelvin (from internal Mireds). */
@@ -380,7 +376,7 @@ export class ColorControlBaseServer extends ColorControlBase {
380
376
  let targetMiredsValue: number | null;
381
377
  switch (startUpMiredsValue) {
382
378
  case null:
383
- targetMiredsValue = currentMiredsValue;
379
+ targetMiredsValue = this.#cropColorTemperature(currentMiredsValue);
384
380
  break;
385
381
  default:
386
382
  targetMiredsValue = startUpMiredsValue;
@@ -1270,16 +1266,8 @@ export class ColorControlBaseServer extends ColorControlBase {
1270
1266
  if (colorTemperatureMaximumMireds === 0) {
1271
1267
  colorTemperatureMaximumMireds = this.maximumColorTemperatureMireds;
1272
1268
  }
1273
- colorTemperatureMinimumMireds = cropValueRange(
1274
- colorTemperatureMinimumMireds,
1275
- this.minimumColorTemperatureMireds,
1276
- this.maximumColorTemperatureMireds,
1277
- );
1278
- colorTemperatureMaximumMireds = cropValueRange(
1279
- colorTemperatureMaximumMireds,
1280
- this.minimumColorTemperatureMireds,
1281
- this.maximumColorTemperatureMireds,
1282
- );
1269
+ colorTemperatureMinimumMireds = this.#cropColorTemperature(colorTemperatureMinimumMireds);
1270
+ colorTemperatureMaximumMireds = this.#cropColorTemperature(colorTemperatureMaximumMireds);
1283
1271
 
1284
1272
  return this.moveColorTemperatureLogic(
1285
1273
  moveMode,
@@ -1350,16 +1338,8 @@ export class ColorControlBaseServer extends ColorControlBase {
1350
1338
  if (colorTemperatureMaximumMireds === 0) {
1351
1339
  colorTemperatureMaximumMireds = this.maximumColorTemperatureMireds;
1352
1340
  }
1353
- colorTemperatureMinimumMireds = cropValueRange(
1354
- colorTemperatureMinimumMireds,
1355
- this.minimumColorTemperatureMireds,
1356
- this.maximumColorTemperatureMireds,
1357
- );
1358
- colorTemperatureMaximumMireds = cropValueRange(
1359
- colorTemperatureMaximumMireds,
1360
- this.minimumColorTemperatureMireds,
1361
- this.maximumColorTemperatureMireds,
1362
- );
1341
+ colorTemperatureMinimumMireds = this.#cropColorTemperature(colorTemperatureMinimumMireds);
1342
+ colorTemperatureMaximumMireds = this.#cropColorTemperature(colorTemperatureMaximumMireds);
1363
1343
 
1364
1344
  return this.stepColorTemperatureLogic(
1365
1345
  stepMode,
@@ -1773,6 +1753,14 @@ export class ColorControlBaseServer extends ColorControlBase {
1773
1753
  (this.state as any)[fieldName] = cropValueRange(Math.round(value * 65536), MIN_CIE_XY_VALUE, MAX_CIE_XY_VALUE);
1774
1754
  }
1775
1755
 
1756
+ #cropColorTemperature(temperatureMireds: number) {
1757
+ return cropValueRange(
1758
+ temperatureMireds,
1759
+ this.minimumColorTemperatureMireds,
1760
+ this.maximumColorTemperatureMireds,
1761
+ );
1762
+ }
1763
+
1776
1764
  override async [Symbol.asyncDispose]() {
1777
1765
  if (this.internal.transitions) {
1778
1766
  await this.internal.transitions.close();
@@ -1811,6 +1799,17 @@ export namespace ColorControlBaseServer {
1811
1799
  */
1812
1800
  transitionStepInterval = Millis(100);
1813
1801
 
1802
+ // These were the default values specified prior to Matter 1.4.2. We still need default values so using the
1803
+ // previously specified values which are presumably educated logical defaults
1804
+ override currentX = 24939;
1805
+ override currentY = 24701;
1806
+ override colorTemperatureMireds = 250;
1807
+ override enhancedColorMode = ColorControl.EnhancedColorMode.CurrentXAndCurrentY;
1808
+ override colorLoopTime = 25;
1809
+ override colorLoopStartEnhancedHue = 8960;
1810
+ override colorLoopActive = ColorControl.ColorLoopActive.Inactive;
1811
+ override colorLoopDirection = ColorControl.ColorLoopDirection.Increment;
1812
+
1814
1813
  [Val.properties](endpoint: Endpoint) {
1815
1814
  // Only return remaining time if the attribute is defined in the endpoint
1816
1815
  if (
@@ -108,7 +108,7 @@ export namespace ContentControlInterface {
108
108
  * The purpose of this command is to specify whether programs with no Content rating must be blocked by this
109
109
  * media device.
110
110
  *
111
- * Upon receipt of the UnblockUnratedContent command, the media device shall set the BlockUnrated attribute to
111
+ * Upon receipt of the UnblockUnratedContent command, the media device shall set the BlockUn rated attribute to
112
112
  * FALSE.
113
113
  *
114
114
  * @see {@link MatterSpecification.v141.Cluster} § 6.13.8.9
@@ -69,7 +69,7 @@ export namespace DoorLockInterface {
69
69
  /**
70
70
  * Retrieve user.
71
71
  *
72
- * An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.) as
72
+ * An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_ COMMAND, etc.) as
73
73
  * needed otherwise the GetUserResponse Command shall be sent implying a status of SUCCESS.
74
74
  *
75
75
  * @see {@link MatterSpecification.v141.Cluster} § 5.2.10.33
@@ -14,10 +14,17 @@ import LockState = DoorLock.LockState;
14
14
  */
15
15
  export class DoorLockServer extends DoorLockBehavior {
16
16
  override initialize(): MaybePromise {
17
- if (this.state.supportedOperatingModes.alwaysSet !== 2047) {
18
- throw new ImplementationError(
19
- `DoorLockServer: The "alwaysSet" bit-range in supportedOperatingModes must be set. Please check the specification about the meaning of this field because bits are inverted here!`,
20
- );
17
+ if (!Object.values(this.state.supportedOperatingModes).some(v => v)) {
18
+ // Empty operating modes; default to mandatory ones (note that values are inverted so true indicates not
19
+ // supported)
20
+ this.state.supportedOperatingModes = { vacation: true, privacy: true, passage: true, alwaysSet: 2047 };
21
+ } else {
22
+ // Warn if it looks like the confusing Matter semantics have confused someone
23
+ if (this.state.supportedOperatingModes.alwaysSet !== 2047) {
24
+ throw new ImplementationError(
25
+ `DoorLockServer: The "alwaysSet" bit-range in supportedOperatingModes must be set. Please check the specification about the meaning of this field because bits are inverted here!`,
26
+ );
27
+ }
21
28
  }
22
29
  }
23
30
 
@@ -11,6 +11,8 @@ import { MaybePromise } from "#general";
11
11
  export namespace EthernetNetworkDiagnosticsInterface {
12
12
  export interface PacketCountsOrErrorCounts {
13
13
  /**
14
+ * This command is used to reset the count attributes.
15
+ *
14
16
  * Reception of this command shall reset the following attributes to 0:
15
17
  *
16
18
  * • PacketRxCount
@@ -23,8 +25,6 @@ export namespace EthernetNetworkDiagnosticsInterface {
23
25
  *
24
26
  * • OverrunCount
25
27
  *
26
- * This command has no associated data.
27
- *
28
28
  * @see {@link MatterSpecification.v141.Core} § 11.16.7.1
29
29
  */
30
30
  resetCounts(): MaybePromise;