@matter/node 0.16.0-alpha.0-20251023-bb23617e5 → 0.16.0-alpha.0-20251029-bd92894d4

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 (855) hide show
  1. package/dist/cjs/behavior/Behavior.d.ts +1 -0
  2. package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Behavior.js +5 -0
  4. package/dist/cjs/behavior/Behavior.js.map +1 -1
  5. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +5 -5
  6. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  7. package/dist/cjs/behavior/cluster/ClusterBehavior.js +7 -2
  8. package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
  9. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.d.ts.map +1 -1
  10. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +51 -35
  11. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  12. package/dist/cjs/behavior/internal/BehaviorBacking.js +1 -1
  13. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  14. package/dist/cjs/behavior/state/managed/Datasource.d.ts +4 -5
  15. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  16. package/dist/cjs/behavior/state/managed/Datasource.js +6 -2
  17. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  18. package/dist/cjs/behavior/state/managed/ManagedReference.d.ts +3 -2
  19. package/dist/cjs/behavior/state/managed/ManagedReference.d.ts.map +1 -1
  20. package/dist/cjs/behavior/state/managed/ManagedReference.js +65 -20
  21. package/dist/cjs/behavior/state/managed/ManagedReference.js.map +1 -1
  22. package/dist/cjs/behavior/state/managed/values/ListManager.js +2 -1
  23. package/dist/cjs/behavior/state/managed/values/ListManager.js.map +1 -1
  24. package/dist/cjs/behavior/state/managed/values/StructManager.js +9 -1
  25. package/dist/cjs/behavior/state/managed/values/StructManager.js.map +1 -1
  26. package/dist/cjs/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
  27. package/dist/cjs/behavior/state/validation/conformance-compiler.js +6 -2
  28. package/dist/cjs/behavior/state/validation/conformance-compiler.js.map +1 -1
  29. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts +1 -0
  30. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -1
  31. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  32. package/dist/cjs/behaviors/access-control/AccessControlServer.js +3 -3
  33. package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
  34. package/dist/cjs/behaviors/account-login/AccountLoginInterface.d.ts +7 -7
  35. package/dist/cjs/behaviors/actions/ActionsInterface.d.ts +26 -1
  36. package/dist/cjs/behaviors/actions/ActionsInterface.d.ts.map +1 -1
  37. package/dist/cjs/behaviors/application-launcher/ApplicationLauncherInterface.d.ts +3 -1
  38. package/dist/cjs/behaviors/application-launcher/ApplicationLauncherInterface.d.ts.map +1 -1
  39. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +1 -1
  40. package/dist/cjs/behaviors/channel/ChannelInterface.d.ts +4 -0
  41. package/dist/cjs/behaviors/channel/ChannelInterface.d.ts.map +1 -1
  42. package/dist/cjs/behaviors/color-control/ColorControlInterface.d.ts +4 -0
  43. package/dist/cjs/behaviors/color-control/ColorControlInterface.d.ts.map +1 -1
  44. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +8 -0
  45. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  46. package/dist/cjs/behaviors/color-control/ColorControlServer.js +23 -26
  47. package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
  48. package/dist/cjs/behaviors/content-control/ContentControlInterface.d.ts +1 -1
  49. package/dist/cjs/behaviors/door-lock/DoorLockInterface.d.ts +1 -1
  50. package/dist/cjs/behaviors/door-lock/DoorLockServer.d.ts.map +1 -1
  51. package/dist/cjs/behaviors/door-lock/DoorLockServer.js +8 -4
  52. package/dist/cjs/behaviors/door-lock/DoorLockServer.js.map +1 -1
  53. package/dist/cjs/behaviors/electrical-power-measurement/ElectricalPowerMeasurementBehavior.d.ts +3 -3
  54. package/dist/cjs/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.d.ts +2 -2
  55. package/dist/cjs/behaviors/fan-control/FanControlInterface.d.ts +13 -4
  56. package/dist/cjs/behaviors/fan-control/FanControlInterface.d.ts.map +1 -1
  57. package/dist/cjs/behaviors/fan-control/FanControlServer.d.ts +1 -1
  58. package/dist/cjs/behaviors/fan-control/FanControlServer.d.ts.map +1 -1
  59. package/dist/cjs/behaviors/fan-control/FanControlServer.js +6 -0
  60. package/dist/cjs/behaviors/fan-control/FanControlServer.js.map +1 -1
  61. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts +16 -13
  62. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts.map +1 -1
  63. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  64. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +3 -9
  65. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  66. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementInterface.d.ts +3 -3
  67. package/dist/cjs/behaviors/icd-management/IcdManagementInterface.d.ts +40 -4
  68. package/dist/cjs/behaviors/icd-management/IcdManagementInterface.d.ts.map +1 -1
  69. package/dist/cjs/behaviors/index.d.ts +1 -5
  70. package/dist/cjs/behaviors/index.d.ts.map +1 -1
  71. package/dist/cjs/behaviors/index.js +1 -5
  72. package/dist/cjs/behaviors/index.js.map +1 -1
  73. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts +32 -0
  74. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts.map +1 -0
  75. package/dist/cjs/behaviors/{joint-fabric-pki/JointFabricPkiBehavior.js → joint-fabric-administrator/JointFabricAdministratorBehavior.js} +9 -9
  76. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js.map +6 -0
  77. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts +15 -0
  78. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts.map +1 -0
  79. package/dist/cjs/behaviors/{joint-fabric-pki/JointFabricPkiServer.js → joint-fabric-administrator/JointFabricAdministratorClient.js} +9 -8
  80. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js.map +6 -0
  81. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts +89 -0
  82. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts.map +1 -0
  83. package/dist/cjs/behaviors/{proxy-discovery/ProxyDiscoveryInterface.js → joint-fabric-administrator/JointFabricAdministratorInterface.js} +3 -3
  84. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.js.map +6 -0
  85. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts +13 -0
  86. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts.map +1 -0
  87. package/dist/cjs/behaviors/{ballast-configuration/BallastConfigurationServer.js → joint-fabric-administrator/JointFabricAdministratorServer.js} +7 -7
  88. package/dist/cjs/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js.map +6 -0
  89. package/dist/cjs/behaviors/joint-fabric-administrator/index.d.ts +11 -0
  90. package/dist/cjs/behaviors/joint-fabric-administrator/index.d.ts.map +1 -0
  91. package/dist/cjs/behaviors/{joint-fabric-pki → joint-fabric-administrator}/index.js +6 -6
  92. package/dist/cjs/behaviors/joint-fabric-administrator/index.js.map +6 -0
  93. package/dist/cjs/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts +555 -40
  94. package/dist/cjs/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts.map +1 -1
  95. package/dist/cjs/behaviors/media-playback/MediaPlaybackInterface.d.ts +27 -2
  96. package/dist/cjs/behaviors/media-playback/MediaPlaybackInterface.d.ts.map +1 -1
  97. package/dist/cjs/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts +28 -14
  98. package/dist/cjs/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts.map +1 -1
  99. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts +106 -9
  100. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts.map +1 -1
  101. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
  102. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  103. package/dist/cjs/behaviors/service-area/ServiceAreaInterface.d.ts +0 -3
  104. package/dist/cjs/behaviors/service-area/ServiceAreaInterface.d.ts.map +1 -1
  105. package/dist/cjs/behaviors/service-area/ServiceAreaServer.js +2 -2
  106. package/dist/cjs/behaviors/service-area/ServiceAreaServer.js.map +1 -1
  107. package/dist/cjs/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts +3 -1
  108. package/dist/cjs/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts.map +1 -1
  109. package/dist/cjs/behaviors/switch/SwitchServer.d.ts +2 -0
  110. package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
  111. package/dist/cjs/behaviors/switch/SwitchServer.js +3 -0
  112. package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
  113. package/dist/cjs/behaviors/temperature-control/TemperatureControlInterface.d.ts +2 -0
  114. package/dist/cjs/behaviors/temperature-control/TemperatureControlInterface.d.ts.map +1 -1
  115. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.d.ts +58 -0
  116. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.d.ts.map +1 -0
  117. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +306 -0
  118. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +6 -0
  119. package/dist/cjs/behaviors/thermostat/AtomicWriteState.d.ts +33 -0
  120. package/dist/cjs/behaviors/thermostat/AtomicWriteState.d.ts.map +1 -0
  121. package/dist/cjs/behaviors/thermostat/AtomicWriteState.js +86 -0
  122. package/dist/cjs/behaviors/thermostat/AtomicWriteState.js.map +6 -0
  123. package/dist/cjs/behaviors/thermostat/ThermostatBehavior.d.ts +13 -1
  124. package/dist/cjs/behaviors/thermostat/ThermostatBehavior.d.ts.map +1 -1
  125. package/dist/cjs/behaviors/thermostat/ThermostatInterface.d.ts +1 -0
  126. package/dist/cjs/behaviors/thermostat/ThermostatInterface.d.ts.map +1 -1
  127. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +894 -3
  128. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  129. package/dist/cjs/behaviors/thermostat/ThermostatServer.js +1216 -1
  130. package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +2 -2
  131. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts +1 -1
  132. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts.map +1 -1
  133. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js +16 -0
  134. package/dist/cjs/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js.map +2 -2
  135. package/dist/cjs/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts +3 -2
  136. package/dist/cjs/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts.map +1 -1
  137. package/dist/cjs/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts +10 -6
  138. package/dist/cjs/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts.map +1 -1
  139. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.d.ts.map +1 -1
  140. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.js +6 -0
  141. package/dist/cjs/behaviors/unit-localization/UnitLocalizationServer.js.map +1 -1
  142. package/dist/cjs/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.d.ts +2 -2
  143. package/dist/cjs/behaviors/window-covering/WindowCoveringBehavior.d.ts +1 -1
  144. package/dist/cjs/behaviors/window-covering/WindowCoveringInterface.d.ts +18 -0
  145. package/dist/cjs/behaviors/window-covering/WindowCoveringInterface.d.ts.map +1 -1
  146. package/dist/cjs/behaviors/window-covering/WindowCoveringServer.d.ts +2 -2
  147. package/dist/cjs/devices/basic-video-player.d.ts +2 -2
  148. package/dist/cjs/devices/casting-video-player.d.ts +2 -2
  149. package/dist/cjs/devices/color-temperature-light.d.ts +48 -22
  150. package/dist/cjs/devices/color-temperature-light.d.ts.map +1 -1
  151. package/dist/cjs/devices/color-temperature-light.js +5 -4
  152. package/dist/cjs/devices/color-temperature-light.js.map +2 -2
  153. package/dist/cjs/devices/control-bridge.d.ts +7 -7
  154. package/dist/cjs/devices/control-bridge.d.ts.map +1 -1
  155. package/dist/cjs/devices/control-bridge.js +3 -3
  156. package/dist/cjs/devices/control-bridge.js.map +2 -2
  157. package/dist/cjs/devices/cook-surface.d.ts +132 -4
  158. package/dist/cjs/devices/cook-surface.d.ts.map +1 -1
  159. package/dist/cjs/devices/cook-surface.js +2 -2
  160. package/dist/cjs/devices/cook-surface.js.map +1 -1
  161. package/dist/cjs/devices/dimmable-light.d.ts +44 -18
  162. package/dist/cjs/devices/dimmable-light.d.ts.map +1 -1
  163. package/dist/cjs/devices/dimmable-light.js +5 -4
  164. package/dist/cjs/devices/dimmable-light.js.map +2 -2
  165. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +56 -19
  166. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts.map +1 -1
  167. package/dist/cjs/devices/dimmable-plug-in-unit.js +6 -5
  168. package/dist/cjs/devices/dimmable-plug-in-unit.js.map +2 -2
  169. package/dist/cjs/devices/dishwasher.d.ts +30 -6
  170. package/dist/cjs/devices/dishwasher.d.ts.map +1 -1
  171. package/dist/cjs/devices/dishwasher.js +2 -2
  172. package/dist/cjs/devices/dishwasher.js.map +1 -1
  173. package/dist/cjs/devices/extended-color-light.d.ts +48 -22
  174. package/dist/cjs/devices/extended-color-light.d.ts.map +1 -1
  175. package/dist/cjs/devices/extended-color-light.js +5 -4
  176. package/dist/cjs/devices/extended-color-light.js.map +2 -2
  177. package/dist/cjs/devices/index.d.ts +1 -0
  178. package/dist/cjs/devices/index.d.ts.map +1 -1
  179. package/dist/cjs/devices/index.js +1 -0
  180. package/dist/cjs/devices/index.js.map +1 -1
  181. package/dist/cjs/devices/laundry-dryer.d.ts +30 -6
  182. package/dist/cjs/devices/laundry-dryer.d.ts.map +1 -1
  183. package/dist/cjs/devices/laundry-dryer.js +2 -2
  184. package/dist/cjs/devices/laundry-dryer.js.map +1 -1
  185. package/dist/cjs/devices/laundry-washer.d.ts +30 -6
  186. package/dist/cjs/devices/laundry-washer.d.ts.map +1 -1
  187. package/dist/cjs/devices/laundry-washer.js +2 -2
  188. package/dist/cjs/devices/laundry-washer.js.map +1 -1
  189. package/dist/cjs/devices/microwave-oven.d.ts +25 -5
  190. package/dist/cjs/devices/microwave-oven.d.ts.map +1 -1
  191. package/dist/cjs/devices/microwave-oven.js +2 -2
  192. package/dist/cjs/devices/microwave-oven.js.map +1 -1
  193. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +61 -22
  194. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts.map +1 -1
  195. package/dist/cjs/devices/mounted-dimmable-load-control.js +6 -5
  196. package/dist/cjs/devices/mounted-dimmable-load-control.js.map +2 -2
  197. package/dist/cjs/devices/mounted-on-off-control.d.ts +57 -17
  198. package/dist/cjs/devices/mounted-on-off-control.d.ts.map +1 -1
  199. package/dist/cjs/devices/mounted-on-off-control.js +11 -5
  200. package/dist/cjs/devices/mounted-on-off-control.js.map +2 -2
  201. package/dist/cjs/devices/network-infrastructure-manager.d.ts +16 -4
  202. package/dist/cjs/devices/network-infrastructure-manager.d.ts.map +1 -1
  203. package/dist/cjs/devices/network-infrastructure-manager.js +7 -3
  204. package/dist/cjs/devices/network-infrastructure-manager.js.map +2 -2
  205. package/dist/cjs/devices/on-off-light.d.ts +42 -14
  206. package/dist/cjs/devices/on-off-light.d.ts.map +1 -1
  207. package/dist/cjs/devices/on-off-light.js +10 -4
  208. package/dist/cjs/devices/on-off-light.js.map +2 -2
  209. package/dist/cjs/devices/on-off-plug-in-unit.d.ts +54 -15
  210. package/dist/cjs/devices/on-off-plug-in-unit.d.ts.map +1 -1
  211. package/dist/cjs/devices/on-off-plug-in-unit.js +11 -5
  212. package/dist/cjs/devices/on-off-plug-in-unit.js.map +2 -2
  213. package/dist/cjs/devices/rain-sensor.d.ts +4 -4
  214. package/dist/cjs/devices/robotic-vacuum-cleaner.d.ts +30 -6
  215. package/dist/cjs/devices/robotic-vacuum-cleaner.d.ts.map +1 -1
  216. package/dist/cjs/devices/robotic-vacuum-cleaner.js +2 -2
  217. package/dist/cjs/devices/robotic-vacuum-cleaner.js.map +1 -1
  218. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts +147 -7
  219. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  220. package/dist/cjs/devices/temperature-controlled-cabinet.js +3 -3
  221. package/dist/cjs/devices/temperature-controlled-cabinet.js.map +1 -1
  222. package/dist/cjs/devices/thermostat-controller.d.ts +62 -0
  223. package/dist/cjs/devices/thermostat-controller.d.ts.map +1 -0
  224. package/dist/cjs/devices/thermostat-controller.js +56 -0
  225. package/dist/cjs/devices/thermostat-controller.js.map +6 -0
  226. package/dist/cjs/devices/water-freeze-detector.d.ts +4 -4
  227. package/dist/cjs/devices/water-heater.d.ts +26 -2
  228. package/dist/cjs/devices/water-heater.d.ts.map +1 -1
  229. package/dist/cjs/devices/water-leak-detector.d.ts +4 -4
  230. package/dist/cjs/devices/window-covering-controller.d.ts +1 -1
  231. package/dist/cjs/devices/window-covering-controller.js +1 -1
  232. package/dist/cjs/devices/window-covering.d.ts +1 -1
  233. package/dist/cjs/devices/window-covering.js +1 -1
  234. package/dist/cjs/endpoint/Endpoint.d.ts +36 -2
  235. package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
  236. package/dist/cjs/endpoint/Endpoint.js +17 -14
  237. package/dist/cjs/endpoint/Endpoint.js.map +1 -1
  238. package/dist/cjs/endpoint/properties/EndpointContainer.d.ts +1 -0
  239. package/dist/cjs/endpoint/properties/EndpointContainer.d.ts.map +1 -1
  240. package/dist/cjs/endpoint/properties/EndpointContainer.js +3 -0
  241. package/dist/cjs/endpoint/properties/EndpointContainer.js.map +1 -1
  242. package/dist/cjs/endpoints/joint-fabric-administrator.d.ts +9 -9
  243. package/dist/cjs/endpoints/joint-fabric-administrator.d.ts.map +1 -1
  244. package/dist/cjs/endpoints/joint-fabric-administrator.js +7 -4
  245. package/dist/cjs/endpoints/joint-fabric-administrator.js.map +2 -2
  246. package/dist/cjs/tags/AreaNamespaceTag.d.ts +132 -99
  247. package/dist/cjs/tags/AreaNamespaceTag.d.ts.map +1 -1
  248. package/dist/cjs/tags/AreaNamespaceTag.js +91 -67
  249. package/dist/cjs/tags/AreaNamespaceTag.js.map +1 -1
  250. package/dist/cjs/tags/ClosureTag.d.ts +7 -0
  251. package/dist/cjs/tags/ClosureTag.d.ts.map +1 -1
  252. package/dist/cjs/tags/ClosureTag.js.map +1 -1
  253. package/dist/cjs/tags/CompassDirectionTag.d.ts +4 -4
  254. package/dist/cjs/tags/CompassDirectionTag.js +4 -4
  255. package/dist/cjs/tags/CompassDirectionTag.js.map +1 -1
  256. package/dist/cjs/tags/CompassLocationTag.d.ts +4 -4
  257. package/dist/cjs/tags/CompassLocationTag.js +4 -4
  258. package/dist/cjs/tags/CompassLocationTag.js.map +1 -1
  259. package/dist/cjs/tags/LandmarkNamespaceTag.d.ts +34 -24
  260. package/dist/cjs/tags/LandmarkNamespaceTag.d.ts.map +1 -1
  261. package/dist/cjs/tags/LandmarkNamespaceTag.js +34 -24
  262. package/dist/cjs/tags/LandmarkNamespaceTag.js.map +1 -1
  263. package/dist/cjs/tags/LaundryTag.d.ts +3 -3
  264. package/dist/cjs/tags/LaundryTag.js +3 -3
  265. package/dist/cjs/tags/LaundryTag.js.map +1 -1
  266. package/dist/cjs/tags/LocationTag.d.ts +8 -1
  267. package/dist/cjs/tags/LocationTag.d.ts.map +1 -1
  268. package/dist/cjs/tags/LocationTag.js +6 -2
  269. package/dist/cjs/tags/LocationTag.js.map +1 -1
  270. package/dist/cjs/tags/NumberTag.d.ts +80 -0
  271. package/dist/cjs/tags/NumberTag.d.ts.map +1 -1
  272. package/dist/cjs/tags/NumberTag.js +21 -1
  273. package/dist/cjs/tags/NumberTag.js.map +1 -1
  274. package/dist/cjs/tags/PositionTag.d.ts +3 -0
  275. package/dist/cjs/tags/PositionTag.d.ts.map +1 -1
  276. package/dist/cjs/tags/PositionTag.js.map +1 -1
  277. package/dist/cjs/tags/RelativePositionTag.d.ts +2 -2
  278. package/dist/cjs/tags/RelativePositionTag.js +2 -2
  279. package/dist/cjs/tags/RelativePositionTag.js.map +1 -1
  280. package/dist/cjs/tags/SwitchesTag.d.ts +27 -3
  281. package/dist/cjs/tags/SwitchesTag.d.ts.map +1 -1
  282. package/dist/cjs/tags/SwitchesTag.js +17 -2
  283. package/dist/cjs/tags/SwitchesTag.js.map +1 -1
  284. package/dist/esm/behavior/Behavior.d.ts +1 -0
  285. package/dist/esm/behavior/Behavior.d.ts.map +1 -1
  286. package/dist/esm/behavior/Behavior.js +5 -0
  287. package/dist/esm/behavior/Behavior.js.map +1 -1
  288. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +5 -5
  289. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  290. package/dist/esm/behavior/cluster/ClusterBehavior.js +8 -3
  291. package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
  292. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.d.ts.map +1 -1
  293. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +53 -35
  294. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  295. package/dist/esm/behavior/internal/BehaviorBacking.js +2 -2
  296. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  297. package/dist/esm/behavior/state/managed/Datasource.d.ts +4 -5
  298. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  299. package/dist/esm/behavior/state/managed/Datasource.js +7 -3
  300. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  301. package/dist/esm/behavior/state/managed/ManagedReference.d.ts +3 -2
  302. package/dist/esm/behavior/state/managed/ManagedReference.d.ts.map +1 -1
  303. package/dist/esm/behavior/state/managed/ManagedReference.js +66 -21
  304. package/dist/esm/behavior/state/managed/ManagedReference.js.map +1 -1
  305. package/dist/esm/behavior/state/managed/values/ListManager.js +2 -1
  306. package/dist/esm/behavior/state/managed/values/ListManager.js.map +1 -1
  307. package/dist/esm/behavior/state/managed/values/StructManager.js +9 -1
  308. package/dist/esm/behavior/state/managed/values/StructManager.js.map +1 -1
  309. package/dist/esm/behavior/state/validation/conformance-compiler.d.ts.map +1 -1
  310. package/dist/esm/behavior/state/validation/conformance-compiler.js +6 -2
  311. package/dist/esm/behavior/state/validation/conformance-compiler.js.map +1 -1
  312. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts +1 -0
  313. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -1
  314. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  315. package/dist/esm/behaviors/access-control/AccessControlServer.js +3 -3
  316. package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
  317. package/dist/esm/behaviors/account-login/AccountLoginInterface.d.ts +7 -7
  318. package/dist/esm/behaviors/actions/ActionsInterface.d.ts +26 -1
  319. package/dist/esm/behaviors/actions/ActionsInterface.d.ts.map +1 -1
  320. package/dist/esm/behaviors/application-launcher/ApplicationLauncherInterface.d.ts +3 -1
  321. package/dist/esm/behaviors/application-launcher/ApplicationLauncherInterface.d.ts.map +1 -1
  322. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +1 -1
  323. package/dist/esm/behaviors/channel/ChannelInterface.d.ts +4 -0
  324. package/dist/esm/behaviors/channel/ChannelInterface.d.ts.map +1 -1
  325. package/dist/esm/behaviors/color-control/ColorControlInterface.d.ts +4 -0
  326. package/dist/esm/behaviors/color-control/ColorControlInterface.d.ts.map +1 -1
  327. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +8 -0
  328. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  329. package/dist/esm/behaviors/color-control/ColorControlServer.js +23 -26
  330. package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
  331. package/dist/esm/behaviors/content-control/ContentControlInterface.d.ts +1 -1
  332. package/dist/esm/behaviors/door-lock/DoorLockInterface.d.ts +1 -1
  333. package/dist/esm/behaviors/door-lock/DoorLockServer.d.ts.map +1 -1
  334. package/dist/esm/behaviors/door-lock/DoorLockServer.js +8 -4
  335. package/dist/esm/behaviors/door-lock/DoorLockServer.js.map +1 -1
  336. package/dist/esm/behaviors/electrical-power-measurement/ElectricalPowerMeasurementBehavior.d.ts +3 -3
  337. package/dist/esm/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.d.ts +2 -2
  338. package/dist/esm/behaviors/fan-control/FanControlInterface.d.ts +13 -4
  339. package/dist/esm/behaviors/fan-control/FanControlInterface.d.ts.map +1 -1
  340. package/dist/esm/behaviors/fan-control/FanControlServer.d.ts +1 -1
  341. package/dist/esm/behaviors/fan-control/FanControlServer.d.ts.map +1 -1
  342. package/dist/esm/behaviors/fan-control/FanControlServer.js +6 -0
  343. package/dist/esm/behaviors/fan-control/FanControlServer.js.map +1 -1
  344. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts +16 -13
  345. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningInterface.d.ts.map +1 -1
  346. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  347. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +3 -9
  348. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  349. package/dist/esm/behaviors/group-key-management/GroupKeyManagementInterface.d.ts +3 -3
  350. package/dist/esm/behaviors/icd-management/IcdManagementInterface.d.ts +40 -4
  351. package/dist/esm/behaviors/icd-management/IcdManagementInterface.d.ts.map +1 -1
  352. package/dist/esm/behaviors/index.d.ts +1 -5
  353. package/dist/esm/behaviors/index.d.ts.map +1 -1
  354. package/dist/esm/behaviors/index.js +1 -5
  355. package/dist/esm/behaviors/index.js.map +1 -1
  356. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts +32 -0
  357. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.d.ts.map +1 -0
  358. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js +14 -0
  359. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.js.map +6 -0
  360. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts +15 -0
  361. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.d.ts.map +1 -0
  362. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js +13 -0
  363. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.js.map +6 -0
  364. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts +89 -0
  365. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.d.ts.map +1 -0
  366. package/dist/esm/behaviors/{valid-proxies/ValidProxiesInterface.js → joint-fabric-administrator/JointFabricAdministratorInterface.js} +1 -1
  367. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.js.map +6 -0
  368. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts +13 -0
  369. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.d.ts.map +1 -0
  370. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js +12 -0
  371. package/dist/esm/behaviors/joint-fabric-administrator/JointFabricAdministratorServer.js.map +6 -0
  372. package/dist/esm/behaviors/joint-fabric-administrator/index.d.ts +11 -0
  373. package/dist/esm/behaviors/joint-fabric-administrator/index.d.ts.map +1 -0
  374. package/dist/esm/behaviors/joint-fabric-administrator/index.js +10 -0
  375. package/dist/esm/behaviors/{joint-fabric-pki → joint-fabric-administrator}/index.js.map +1 -1
  376. package/dist/esm/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts +555 -40
  377. package/dist/esm/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.d.ts.map +1 -1
  378. package/dist/esm/behaviors/media-playback/MediaPlaybackInterface.d.ts +27 -2
  379. package/dist/esm/behaviors/media-playback/MediaPlaybackInterface.d.ts.map +1 -1
  380. package/dist/esm/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts +28 -14
  381. package/dist/esm/behaviors/network-commissioning/NetworkCommissioningInterface.d.ts.map +1 -1
  382. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts +106 -9
  383. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsInterface.d.ts.map +1 -1
  384. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
  385. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  386. package/dist/esm/behaviors/service-area/ServiceAreaInterface.d.ts +0 -3
  387. package/dist/esm/behaviors/service-area/ServiceAreaInterface.d.ts.map +1 -1
  388. package/dist/esm/behaviors/service-area/ServiceAreaServer.js +2 -2
  389. package/dist/esm/behaviors/service-area/ServiceAreaServer.js.map +1 -1
  390. package/dist/esm/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts +3 -1
  391. package/dist/esm/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.d.ts.map +1 -1
  392. package/dist/esm/behaviors/switch/SwitchServer.d.ts +2 -0
  393. package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
  394. package/dist/esm/behaviors/switch/SwitchServer.js +3 -0
  395. package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
  396. package/dist/esm/behaviors/temperature-control/TemperatureControlInterface.d.ts +2 -0
  397. package/dist/esm/behaviors/temperature-control/TemperatureControlInterface.d.ts.map +1 -1
  398. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.d.ts +58 -0
  399. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.d.ts.map +1 -0
  400. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +293 -0
  401. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +6 -0
  402. package/dist/esm/behaviors/thermostat/AtomicWriteState.d.ts +33 -0
  403. package/dist/esm/behaviors/thermostat/AtomicWriteState.d.ts.map +1 -0
  404. package/dist/esm/behaviors/thermostat/AtomicWriteState.js +66 -0
  405. package/dist/esm/behaviors/thermostat/AtomicWriteState.js.map +6 -0
  406. package/dist/esm/behaviors/thermostat/ThermostatBehavior.d.ts +13 -1
  407. package/dist/esm/behaviors/thermostat/ThermostatBehavior.d.ts.map +1 -1
  408. package/dist/esm/behaviors/thermostat/ThermostatInterface.d.ts +1 -0
  409. package/dist/esm/behaviors/thermostat/ThermostatInterface.d.ts.map +1 -1
  410. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +894 -3
  411. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  412. package/dist/esm/behaviors/thermostat/ThermostatServer.js +1225 -1
  413. package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +2 -2
  414. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts +1 -1
  415. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.d.ts.map +1 -1
  416. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js +16 -0
  417. package/dist/esm/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.js.map +1 -1
  418. package/dist/esm/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts +3 -2
  419. package/dist/esm/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.d.ts.map +1 -1
  420. package/dist/esm/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts +10 -6
  421. package/dist/esm/behaviors/time-synchronization/TimeSynchronizationInterface.d.ts.map +1 -1
  422. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.d.ts.map +1 -1
  423. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.js +6 -0
  424. package/dist/esm/behaviors/unit-localization/UnitLocalizationServer.js.map +1 -1
  425. package/dist/esm/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.d.ts +2 -2
  426. package/dist/esm/behaviors/window-covering/WindowCoveringBehavior.d.ts +1 -1
  427. package/dist/esm/behaviors/window-covering/WindowCoveringInterface.d.ts +18 -0
  428. package/dist/esm/behaviors/window-covering/WindowCoveringInterface.d.ts.map +1 -1
  429. package/dist/esm/behaviors/window-covering/WindowCoveringServer.d.ts +2 -2
  430. package/dist/esm/devices/basic-video-player.d.ts +2 -2
  431. package/dist/esm/devices/casting-video-player.d.ts +2 -2
  432. package/dist/esm/devices/color-temperature-light.d.ts +48 -22
  433. package/dist/esm/devices/color-temperature-light.d.ts.map +1 -1
  434. package/dist/esm/devices/color-temperature-light.js +7 -6
  435. package/dist/esm/devices/color-temperature-light.js.map +1 -1
  436. package/dist/esm/devices/control-bridge.d.ts +7 -7
  437. package/dist/esm/devices/control-bridge.d.ts.map +1 -1
  438. package/dist/esm/devices/control-bridge.js +5 -5
  439. package/dist/esm/devices/control-bridge.js.map +1 -1
  440. package/dist/esm/devices/cook-surface.d.ts +132 -4
  441. package/dist/esm/devices/cook-surface.d.ts.map +1 -1
  442. package/dist/esm/devices/cook-surface.js +2 -2
  443. package/dist/esm/devices/cook-surface.js.map +1 -1
  444. package/dist/esm/devices/dimmable-light.d.ts +44 -18
  445. package/dist/esm/devices/dimmable-light.d.ts.map +1 -1
  446. package/dist/esm/devices/dimmable-light.js +6 -5
  447. package/dist/esm/devices/dimmable-light.js.map +1 -1
  448. package/dist/esm/devices/dimmable-plug-in-unit.d.ts +56 -19
  449. package/dist/esm/devices/dimmable-plug-in-unit.d.ts.map +1 -1
  450. package/dist/esm/devices/dimmable-plug-in-unit.js +7 -6
  451. package/dist/esm/devices/dimmable-plug-in-unit.js.map +1 -1
  452. package/dist/esm/devices/dishwasher.d.ts +30 -6
  453. package/dist/esm/devices/dishwasher.d.ts.map +1 -1
  454. package/dist/esm/devices/dishwasher.js +2 -2
  455. package/dist/esm/devices/dishwasher.js.map +1 -1
  456. package/dist/esm/devices/extended-color-light.d.ts +48 -22
  457. package/dist/esm/devices/extended-color-light.d.ts.map +1 -1
  458. package/dist/esm/devices/extended-color-light.js +7 -6
  459. package/dist/esm/devices/extended-color-light.js.map +1 -1
  460. package/dist/esm/devices/index.d.ts +1 -0
  461. package/dist/esm/devices/index.d.ts.map +1 -1
  462. package/dist/esm/devices/index.js +1 -0
  463. package/dist/esm/devices/index.js.map +1 -1
  464. package/dist/esm/devices/laundry-dryer.d.ts +30 -6
  465. package/dist/esm/devices/laundry-dryer.d.ts.map +1 -1
  466. package/dist/esm/devices/laundry-dryer.js +2 -2
  467. package/dist/esm/devices/laundry-dryer.js.map +1 -1
  468. package/dist/esm/devices/laundry-washer.d.ts +30 -6
  469. package/dist/esm/devices/laundry-washer.d.ts.map +1 -1
  470. package/dist/esm/devices/laundry-washer.js +2 -2
  471. package/dist/esm/devices/laundry-washer.js.map +1 -1
  472. package/dist/esm/devices/microwave-oven.d.ts +25 -5
  473. package/dist/esm/devices/microwave-oven.d.ts.map +1 -1
  474. package/dist/esm/devices/microwave-oven.js +2 -2
  475. package/dist/esm/devices/microwave-oven.js.map +1 -1
  476. package/dist/esm/devices/mounted-dimmable-load-control.d.ts +61 -22
  477. package/dist/esm/devices/mounted-dimmable-load-control.d.ts.map +1 -1
  478. package/dist/esm/devices/mounted-dimmable-load-control.js +7 -6
  479. package/dist/esm/devices/mounted-dimmable-load-control.js.map +1 -1
  480. package/dist/esm/devices/mounted-on-off-control.d.ts +57 -17
  481. package/dist/esm/devices/mounted-on-off-control.d.ts.map +1 -1
  482. package/dist/esm/devices/mounted-on-off-control.js +11 -5
  483. package/dist/esm/devices/mounted-on-off-control.js.map +1 -1
  484. package/dist/esm/devices/network-infrastructure-manager.d.ts +16 -4
  485. package/dist/esm/devices/network-infrastructure-manager.d.ts.map +1 -1
  486. package/dist/esm/devices/network-infrastructure-manager.js +9 -3
  487. package/dist/esm/devices/network-infrastructure-manager.js.map +1 -1
  488. package/dist/esm/devices/on-off-light.d.ts +42 -14
  489. package/dist/esm/devices/on-off-light.d.ts.map +1 -1
  490. package/dist/esm/devices/on-off-light.js +10 -4
  491. package/dist/esm/devices/on-off-light.js.map +1 -1
  492. package/dist/esm/devices/on-off-plug-in-unit.d.ts +54 -15
  493. package/dist/esm/devices/on-off-plug-in-unit.d.ts.map +1 -1
  494. package/dist/esm/devices/on-off-plug-in-unit.js +11 -5
  495. package/dist/esm/devices/on-off-plug-in-unit.js.map +1 -1
  496. package/dist/esm/devices/rain-sensor.d.ts +4 -4
  497. package/dist/esm/devices/robotic-vacuum-cleaner.d.ts +30 -6
  498. package/dist/esm/devices/robotic-vacuum-cleaner.d.ts.map +1 -1
  499. package/dist/esm/devices/robotic-vacuum-cleaner.js +2 -2
  500. package/dist/esm/devices/robotic-vacuum-cleaner.js.map +1 -1
  501. package/dist/esm/devices/temperature-controlled-cabinet.d.ts +147 -7
  502. package/dist/esm/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  503. package/dist/esm/devices/temperature-controlled-cabinet.js +3 -3
  504. package/dist/esm/devices/temperature-controlled-cabinet.js.map +1 -1
  505. package/dist/esm/devices/thermostat-controller.d.ts +62 -0
  506. package/dist/esm/devices/thermostat-controller.d.ts.map +1 -0
  507. package/dist/esm/devices/thermostat-controller.js +38 -0
  508. package/dist/esm/devices/thermostat-controller.js.map +6 -0
  509. package/dist/esm/devices/water-freeze-detector.d.ts +4 -4
  510. package/dist/esm/devices/water-heater.d.ts +26 -2
  511. package/dist/esm/devices/water-heater.d.ts.map +1 -1
  512. package/dist/esm/devices/water-leak-detector.d.ts +4 -4
  513. package/dist/esm/devices/window-covering-controller.d.ts +1 -1
  514. package/dist/esm/devices/window-covering-controller.js +1 -1
  515. package/dist/esm/devices/window-covering.d.ts +1 -1
  516. package/dist/esm/devices/window-covering.js +1 -1
  517. package/dist/esm/endpoint/Endpoint.d.ts +36 -2
  518. package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
  519. package/dist/esm/endpoint/Endpoint.js +17 -14
  520. package/dist/esm/endpoint/Endpoint.js.map +1 -1
  521. package/dist/esm/endpoint/properties/EndpointContainer.d.ts +1 -0
  522. package/dist/esm/endpoint/properties/EndpointContainer.d.ts.map +1 -1
  523. package/dist/esm/endpoint/properties/EndpointContainer.js +3 -0
  524. package/dist/esm/endpoint/properties/EndpointContainer.js.map +1 -1
  525. package/dist/esm/endpoints/joint-fabric-administrator.d.ts +9 -9
  526. package/dist/esm/endpoints/joint-fabric-administrator.d.ts.map +1 -1
  527. package/dist/esm/endpoints/joint-fabric-administrator.js +9 -4
  528. package/dist/esm/endpoints/joint-fabric-administrator.js.map +1 -1
  529. package/dist/esm/tags/AreaNamespaceTag.d.ts +132 -99
  530. package/dist/esm/tags/AreaNamespaceTag.d.ts.map +1 -1
  531. package/dist/esm/tags/AreaNamespaceTag.js +91 -67
  532. package/dist/esm/tags/AreaNamespaceTag.js.map +1 -1
  533. package/dist/esm/tags/ClosureTag.d.ts +7 -0
  534. package/dist/esm/tags/ClosureTag.d.ts.map +1 -1
  535. package/dist/esm/tags/ClosureTag.js.map +1 -1
  536. package/dist/esm/tags/CompassDirectionTag.d.ts +4 -4
  537. package/dist/esm/tags/CompassDirectionTag.js +4 -4
  538. package/dist/esm/tags/CompassDirectionTag.js.map +1 -1
  539. package/dist/esm/tags/CompassLocationTag.d.ts +4 -4
  540. package/dist/esm/tags/CompassLocationTag.js +4 -4
  541. package/dist/esm/tags/CompassLocationTag.js.map +1 -1
  542. package/dist/esm/tags/LandmarkNamespaceTag.d.ts +34 -24
  543. package/dist/esm/tags/LandmarkNamespaceTag.d.ts.map +1 -1
  544. package/dist/esm/tags/LandmarkNamespaceTag.js +34 -24
  545. package/dist/esm/tags/LandmarkNamespaceTag.js.map +1 -1
  546. package/dist/esm/tags/LaundryTag.d.ts +3 -3
  547. package/dist/esm/tags/LaundryTag.js +3 -3
  548. package/dist/esm/tags/LaundryTag.js.map +1 -1
  549. package/dist/esm/tags/LocationTag.d.ts +8 -1
  550. package/dist/esm/tags/LocationTag.d.ts.map +1 -1
  551. package/dist/esm/tags/LocationTag.js +6 -2
  552. package/dist/esm/tags/LocationTag.js.map +1 -1
  553. package/dist/esm/tags/NumberTag.d.ts +80 -0
  554. package/dist/esm/tags/NumberTag.d.ts.map +1 -1
  555. package/dist/esm/tags/NumberTag.js +21 -1
  556. package/dist/esm/tags/NumberTag.js.map +1 -1
  557. package/dist/esm/tags/PositionTag.d.ts +3 -0
  558. package/dist/esm/tags/PositionTag.d.ts.map +1 -1
  559. package/dist/esm/tags/PositionTag.js.map +1 -1
  560. package/dist/esm/tags/RelativePositionTag.d.ts +2 -2
  561. package/dist/esm/tags/RelativePositionTag.js +2 -2
  562. package/dist/esm/tags/RelativePositionTag.js.map +1 -1
  563. package/dist/esm/tags/SwitchesTag.d.ts +27 -3
  564. package/dist/esm/tags/SwitchesTag.d.ts.map +1 -1
  565. package/dist/esm/tags/SwitchesTag.js +17 -2
  566. package/dist/esm/tags/SwitchesTag.js.map +1 -1
  567. package/package.json +7 -7
  568. package/src/behavior/Behavior.ts +10 -0
  569. package/src/behavior/cluster/ClusterBehavior.ts +21 -10
  570. package/src/behavior/cluster/ClusterBehaviorUtil.ts +85 -59
  571. package/src/behavior/internal/BehaviorBacking.ts +2 -2
  572. package/src/behavior/state/managed/Datasource.ts +14 -7
  573. package/src/behavior/state/managed/ManagedReference.ts +67 -19
  574. package/src/behavior/state/managed/values/ListManager.ts +1 -0
  575. package/src/behavior/state/managed/values/StructManager.ts +13 -3
  576. package/src/behavior/state/validation/conformance-compiler.ts +8 -3
  577. package/src/behaviors/access-control/AccessControlServer.ts +3 -7
  578. package/src/behaviors/account-login/AccountLoginInterface.ts +7 -7
  579. package/src/behaviors/actions/ActionsInterface.ts +26 -1
  580. package/src/behaviors/application-launcher/ApplicationLauncherInterface.ts +3 -1
  581. package/src/behaviors/channel/ChannelInterface.ts +4 -0
  582. package/src/behaviors/color-control/ColorControlInterface.ts +4 -0
  583. package/src/behaviors/color-control/ColorControlServer.ts +25 -26
  584. package/src/behaviors/content-control/ContentControlInterface.ts +1 -1
  585. package/src/behaviors/door-lock/DoorLockInterface.ts +1 -1
  586. package/src/behaviors/door-lock/DoorLockServer.ts +11 -4
  587. package/src/behaviors/ethernet-network-diagnostics/EthernetNetworkDiagnosticsInterface.ts +2 -2
  588. package/src/behaviors/fan-control/FanControlInterface.ts +13 -4
  589. package/src/behaviors/fan-control/FanControlServer.ts +8 -3
  590. package/src/behaviors/general-commissioning/GeneralCommissioningInterface.ts +16 -13
  591. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +5 -9
  592. package/src/behaviors/group-key-management/GroupKeyManagementInterface.ts +3 -3
  593. package/src/behaviors/icd-management/IcdManagementInterface.ts +40 -4
  594. package/src/behaviors/index.ts +1 -5
  595. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorBehavior.ts +27 -0
  596. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorClient.ts +15 -0
  597. package/src/behaviors/joint-fabric-administrator/JointFabricAdministratorInterface.ts +94 -0
  598. package/src/behaviors/{joint-fabric-pki/JointFabricPkiServer.ts → joint-fabric-administrator/JointFabricAdministratorServer.ts} +3 -3
  599. package/src/behaviors/joint-fabric-administrator/index.ts +12 -0
  600. package/src/behaviors/joint-fabric-datastore/JointFabricDatastoreInterface.ts +555 -40
  601. package/src/behaviors/media-playback/MediaPlaybackInterface.ts +27 -2
  602. package/src/behaviors/network-commissioning/NetworkCommissioningInterface.ts +28 -14
  603. package/src/behaviors/operational-credentials/OperationalCredentialsInterface.ts +108 -9
  604. package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +1 -1
  605. package/src/behaviors/service-area/ServiceAreaInterface.ts +0 -3
  606. package/src/behaviors/service-area/ServiceAreaServer.ts +2 -2
  607. package/src/behaviors/software-diagnostics/SoftwareDiagnosticsInterface.ts +3 -1
  608. package/src/behaviors/switch/SwitchServer.ts +4 -0
  609. package/src/behaviors/temperature-control/TemperatureControlInterface.ts +2 -0
  610. package/src/behaviors/thermostat/AtomicWriteHandler.ts +412 -0
  611. package/src/behaviors/thermostat/AtomicWriteState.ts +91 -0
  612. package/src/behaviors/thermostat/ThermostatInterface.ts +2 -0
  613. package/src/behaviors/thermostat/ThermostatServer.ts +1487 -3
  614. package/src/behaviors/thermostat-user-interface-configuration/ThermostatUserInterfaceConfigurationServer.ts +21 -1
  615. package/src/behaviors/thread-network-diagnostics/ThreadNetworkDiagnosticsInterface.ts +3 -2
  616. package/src/behaviors/time-synchronization/TimeSynchronizationInterface.ts +10 -6
  617. package/src/behaviors/unit-localization/UnitLocalizationServer.ts +6 -0
  618. package/src/behaviors/wi-fi-network-diagnostics/WiFiNetworkDiagnosticsInterface.ts +2 -2
  619. package/src/behaviors/window-covering/WindowCoveringInterface.ts +18 -0
  620. package/src/devices/basic-video-player.ts +2 -2
  621. package/src/devices/casting-video-player.ts +2 -2
  622. package/src/devices/color-temperature-light.ts +14 -13
  623. package/src/devices/control-bridge.ts +11 -11
  624. package/src/devices/cook-surface.ts +3 -3
  625. package/src/devices/dimmable-light.ts +13 -12
  626. package/src/devices/dimmable-plug-in-unit.ts +25 -13
  627. package/src/devices/dishwasher.ts +4 -3
  628. package/src/devices/extended-color-light.ts +14 -13
  629. package/src/devices/index.ts +1 -0
  630. package/src/devices/laundry-dryer.ts +4 -3
  631. package/src/devices/laundry-washer.ts +4 -3
  632. package/src/devices/microwave-oven.ts +2 -2
  633. package/src/devices/mounted-dimmable-load-control.ts +30 -16
  634. package/src/devices/mounted-on-off-control.ts +33 -12
  635. package/src/devices/network-infrastructure-manager.ts +19 -6
  636. package/src/devices/on-off-light.ts +18 -9
  637. package/src/devices/on-off-plug-in-unit.ts +30 -10
  638. package/src/devices/robotic-vacuum-cleaner.ts +4 -3
  639. package/src/devices/temperature-controlled-cabinet.ts +6 -5
  640. package/src/devices/thermostat-controller.ts +72 -0
  641. package/src/devices/window-covering-controller.ts +1 -1
  642. package/src/devices/window-covering.ts +1 -1
  643. package/src/endpoint/Endpoint.ts +61 -5
  644. package/src/endpoint/properties/EndpointContainer.ts +4 -0
  645. package/src/endpoints/joint-fabric-administrator.ts +13 -8
  646. package/src/tags/AreaNamespaceTag.ts +104 -68
  647. package/src/tags/ClosureTag.ts +7 -0
  648. package/src/tags/CompassDirectionTag.ts +4 -4
  649. package/src/tags/CompassLocationTag.ts +4 -4
  650. package/src/tags/LandmarkNamespaceTag.ts +39 -24
  651. package/src/tags/LaundryTag.ts +3 -3
  652. package/src/tags/LocationTag.ts +7 -2
  653. package/src/tags/NumberTag.ts +21 -1
  654. package/src/tags/PositionTag.ts +3 -0
  655. package/src/tags/RelativePositionTag.ts +2 -2
  656. package/src/tags/SwitchesTag.ts +22 -4
  657. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts +0 -26
  658. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts.map +0 -1
  659. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.js +0 -34
  660. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationBehavior.js.map +0 -6
  661. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.d.ts +0 -15
  662. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.d.ts.map +0 -1
  663. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.js +0 -33
  664. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationClient.js.map +0 -6
  665. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.d.ts +0 -13
  666. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.d.ts.map +0 -1
  667. package/dist/cjs/behaviors/ballast-configuration/BallastConfigurationServer.js.map +0 -6
  668. package/dist/cjs/behaviors/ballast-configuration/index.d.ts +0 -10
  669. package/dist/cjs/behaviors/ballast-configuration/index.d.ts.map +0 -1
  670. package/dist/cjs/behaviors/ballast-configuration/index.js +0 -26
  671. package/dist/cjs/behaviors/ballast-configuration/index.js.map +0 -6
  672. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts +0 -31
  673. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts.map +0 -1
  674. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js.map +0 -6
  675. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts +0 -15
  676. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts.map +0 -1
  677. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.js +0 -33
  678. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiClient.js.map +0 -6
  679. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts +0 -36
  680. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts.map +0 -1
  681. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.js +0 -22
  682. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiInterface.js.map +0 -6
  683. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts +0 -13
  684. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts.map +0 -1
  685. package/dist/cjs/behaviors/joint-fabric-pki/JointFabricPkiServer.js.map +0 -6
  686. package/dist/cjs/behaviors/joint-fabric-pki/index.d.ts +0 -11
  687. package/dist/cjs/behaviors/joint-fabric-pki/index.d.ts.map +0 -1
  688. package/dist/cjs/behaviors/joint-fabric-pki/index.js.map +0 -6
  689. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts +0 -26
  690. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts.map +0 -1
  691. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.js +0 -34
  692. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationBehavior.js.map +0 -6
  693. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts +0 -15
  694. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts.map +0 -1
  695. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.js +0 -33
  696. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationClient.js.map +0 -6
  697. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts +0 -13
  698. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts.map +0 -1
  699. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.js +0 -32
  700. package/dist/cjs/behaviors/proxy-configuration/ProxyConfigurationServer.js.map +0 -6
  701. package/dist/cjs/behaviors/proxy-configuration/index.d.ts +0 -10
  702. package/dist/cjs/behaviors/proxy-configuration/index.d.ts.map +0 -1
  703. package/dist/cjs/behaviors/proxy-configuration/index.js +0 -26
  704. package/dist/cjs/behaviors/proxy-configuration/index.js.map +0 -6
  705. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts +0 -31
  706. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts.map +0 -1
  707. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js +0 -34
  708. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js.map +0 -6
  709. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts +0 -15
  710. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts.map +0 -1
  711. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.js +0 -33
  712. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryClient.js.map +0 -6
  713. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts +0 -26
  714. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts.map +0 -1
  715. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryInterface.js.map +0 -6
  716. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts +0 -13
  717. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts.map +0 -1
  718. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.js +0 -32
  719. package/dist/cjs/behaviors/proxy-discovery/ProxyDiscoveryServer.js.map +0 -6
  720. package/dist/cjs/behaviors/proxy-discovery/index.d.ts +0 -11
  721. package/dist/cjs/behaviors/proxy-discovery/index.d.ts.map +0 -1
  722. package/dist/cjs/behaviors/proxy-discovery/index.js +0 -27
  723. package/dist/cjs/behaviors/proxy-discovery/index.js.map +0 -6
  724. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.d.ts +0 -31
  725. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.d.ts.map +0 -1
  726. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.js +0 -34
  727. package/dist/cjs/behaviors/valid-proxies/ValidProxiesBehavior.js.map +0 -6
  728. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.d.ts +0 -15
  729. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.d.ts.map +0 -1
  730. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.js +0 -33
  731. package/dist/cjs/behaviors/valid-proxies/ValidProxiesClient.js.map +0 -6
  732. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.d.ts +0 -26
  733. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.d.ts.map +0 -1
  734. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.js +0 -22
  735. package/dist/cjs/behaviors/valid-proxies/ValidProxiesInterface.js.map +0 -6
  736. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.d.ts +0 -13
  737. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.d.ts.map +0 -1
  738. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.js +0 -32
  739. package/dist/cjs/behaviors/valid-proxies/ValidProxiesServer.js.map +0 -6
  740. package/dist/cjs/behaviors/valid-proxies/index.d.ts +0 -11
  741. package/dist/cjs/behaviors/valid-proxies/index.d.ts.map +0 -1
  742. package/dist/cjs/behaviors/valid-proxies/index.js +0 -27
  743. package/dist/cjs/behaviors/valid-proxies/index.js.map +0 -6
  744. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts +0 -26
  745. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.d.ts.map +0 -1
  746. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.js +0 -14
  747. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationBehavior.js.map +0 -6
  748. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.d.ts +0 -15
  749. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.d.ts.map +0 -1
  750. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.js +0 -13
  751. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationClient.js.map +0 -6
  752. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.d.ts +0 -13
  753. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.d.ts.map +0 -1
  754. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.js +0 -12
  755. package/dist/esm/behaviors/ballast-configuration/BallastConfigurationServer.js.map +0 -6
  756. package/dist/esm/behaviors/ballast-configuration/index.d.ts +0 -10
  757. package/dist/esm/behaviors/ballast-configuration/index.d.ts.map +0 -1
  758. package/dist/esm/behaviors/ballast-configuration/index.js +0 -9
  759. package/dist/esm/behaviors/ballast-configuration/index.js.map +0 -6
  760. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts +0 -31
  761. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.d.ts.map +0 -1
  762. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js +0 -14
  763. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiBehavior.js.map +0 -6
  764. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts +0 -15
  765. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.d.ts.map +0 -1
  766. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.js +0 -13
  767. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiClient.js.map +0 -6
  768. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts +0 -36
  769. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.d.ts.map +0 -1
  770. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.js +0 -6
  771. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiInterface.js.map +0 -6
  772. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts +0 -13
  773. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.d.ts.map +0 -1
  774. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.js +0 -12
  775. package/dist/esm/behaviors/joint-fabric-pki/JointFabricPkiServer.js.map +0 -6
  776. package/dist/esm/behaviors/joint-fabric-pki/index.d.ts +0 -11
  777. package/dist/esm/behaviors/joint-fabric-pki/index.d.ts.map +0 -1
  778. package/dist/esm/behaviors/joint-fabric-pki/index.js +0 -10
  779. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts +0 -26
  780. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.d.ts.map +0 -1
  781. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.js +0 -14
  782. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationBehavior.js.map +0 -6
  783. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts +0 -15
  784. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.d.ts.map +0 -1
  785. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.js +0 -13
  786. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationClient.js.map +0 -6
  787. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts +0 -13
  788. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.d.ts.map +0 -1
  789. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.js +0 -12
  790. package/dist/esm/behaviors/proxy-configuration/ProxyConfigurationServer.js.map +0 -6
  791. package/dist/esm/behaviors/proxy-configuration/index.d.ts +0 -10
  792. package/dist/esm/behaviors/proxy-configuration/index.d.ts.map +0 -1
  793. package/dist/esm/behaviors/proxy-configuration/index.js +0 -9
  794. package/dist/esm/behaviors/proxy-configuration/index.js.map +0 -6
  795. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts +0 -31
  796. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.d.ts.map +0 -1
  797. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js +0 -14
  798. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryBehavior.js.map +0 -6
  799. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts +0 -15
  800. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.d.ts.map +0 -1
  801. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.js +0 -13
  802. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryClient.js.map +0 -6
  803. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts +0 -26
  804. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.d.ts.map +0 -1
  805. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.js +0 -6
  806. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryInterface.js.map +0 -6
  807. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts +0 -13
  808. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.d.ts.map +0 -1
  809. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.js +0 -12
  810. package/dist/esm/behaviors/proxy-discovery/ProxyDiscoveryServer.js.map +0 -6
  811. package/dist/esm/behaviors/proxy-discovery/index.d.ts +0 -11
  812. package/dist/esm/behaviors/proxy-discovery/index.d.ts.map +0 -1
  813. package/dist/esm/behaviors/proxy-discovery/index.js +0 -10
  814. package/dist/esm/behaviors/proxy-discovery/index.js.map +0 -6
  815. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.d.ts +0 -31
  816. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.d.ts.map +0 -1
  817. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.js +0 -14
  818. package/dist/esm/behaviors/valid-proxies/ValidProxiesBehavior.js.map +0 -6
  819. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.d.ts +0 -15
  820. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.d.ts.map +0 -1
  821. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.js +0 -13
  822. package/dist/esm/behaviors/valid-proxies/ValidProxiesClient.js.map +0 -6
  823. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.d.ts +0 -26
  824. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.d.ts.map +0 -1
  825. package/dist/esm/behaviors/valid-proxies/ValidProxiesInterface.js.map +0 -6
  826. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.d.ts +0 -13
  827. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.d.ts.map +0 -1
  828. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.js +0 -12
  829. package/dist/esm/behaviors/valid-proxies/ValidProxiesServer.js.map +0 -6
  830. package/dist/esm/behaviors/valid-proxies/index.d.ts +0 -11
  831. package/dist/esm/behaviors/valid-proxies/index.d.ts.map +0 -1
  832. package/dist/esm/behaviors/valid-proxies/index.js +0 -10
  833. package/dist/esm/behaviors/valid-proxies/index.js.map +0 -6
  834. package/src/behaviors/ballast-configuration/BallastConfigurationBehavior.ts +0 -24
  835. package/src/behaviors/ballast-configuration/BallastConfigurationClient.ts +0 -15
  836. package/src/behaviors/ballast-configuration/BallastConfigurationServer.ts +0 -14
  837. package/src/behaviors/ballast-configuration/index.ts +0 -11
  838. package/src/behaviors/joint-fabric-pki/JointFabricPkiBehavior.ts +0 -26
  839. package/src/behaviors/joint-fabric-pki/JointFabricPkiClient.ts +0 -15
  840. package/src/behaviors/joint-fabric-pki/JointFabricPkiInterface.ts +0 -36
  841. package/src/behaviors/joint-fabric-pki/index.ts +0 -12
  842. package/src/behaviors/proxy-configuration/ProxyConfigurationBehavior.ts +0 -24
  843. package/src/behaviors/proxy-configuration/ProxyConfigurationClient.ts +0 -15
  844. package/src/behaviors/proxy-configuration/ProxyConfigurationServer.ts +0 -14
  845. package/src/behaviors/proxy-configuration/index.ts +0 -11
  846. package/src/behaviors/proxy-discovery/ProxyDiscoveryBehavior.ts +0 -26
  847. package/src/behaviors/proxy-discovery/ProxyDiscoveryClient.ts +0 -15
  848. package/src/behaviors/proxy-discovery/ProxyDiscoveryInterface.ts +0 -24
  849. package/src/behaviors/proxy-discovery/ProxyDiscoveryServer.ts +0 -14
  850. package/src/behaviors/proxy-discovery/index.ts +0 -12
  851. package/src/behaviors/valid-proxies/ValidProxiesBehavior.ts +0 -24
  852. package/src/behaviors/valid-proxies/ValidProxiesClient.ts +0 -15
  853. package/src/behaviors/valid-proxies/ValidProxiesInterface.ts +0 -24
  854. package/src/behaviors/valid-proxies/ValidProxiesServer.ts +0 -14
  855. 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
@@ -13,7 +13,7 @@ import type { SupportedElements } from "#endpoint/properties/Behaviors.js";
13
13
  import {
14
14
  camelize,
15
15
  Construction,
16
- Crypto,
16
+ Entropy,
17
17
  EventEmitter,
18
18
  ImplementationError,
19
19
  InternalError,
@@ -212,7 +212,7 @@ export abstract class BehaviorBacking {
212
212
 
213
213
  protected get datasourceOptions(): Datasource.Options {
214
214
  return {
215
- crypto: this.#endpoint.env.get(Crypto),
215
+ entropy: this.#endpoint.env.get(Entropy),
216
216
  location: {
217
217
  path: this.#endpoint.path.at(this.#type.id).at("state"),
218
218
  endpoint: this.#endpoint.number,
@@ -6,8 +6,8 @@
6
6
 
7
7
  import {
8
8
  camelize,
9
- Crypto,
10
9
  deepCopy,
10
+ Entropy,
11
11
  ImplementationError,
12
12
  InternalError,
13
13
  isDeepEqual,
@@ -16,8 +16,7 @@ import {
16
16
  Observable,
17
17
  Transaction,
18
18
  } from "#general";
19
- import type { Val } from "#protocol";
20
- import { AccessControl, ExpiredReferenceError, hasRemoteActor } from "#protocol";
19
+ import { AccessControl, ExpiredReferenceError, hasRemoteActor, Val } from "#protocol";
21
20
  import { RootSupervisor } from "../../supervision/RootSupervisor.js";
22
21
  import { ValueSupervisor } from "../../supervision/ValueSupervisor.js";
23
22
  import { StateType } from "../StateType.js";
@@ -154,9 +153,9 @@ export namespace Datasource {
154
153
  location: AccessControl.Location;
155
154
 
156
155
  /**
157
- * Used for random data.
156
+ * Used to generate initial version numbers.
158
157
  */
159
- crypto: Crypto;
158
+ entropy: Entropy;
160
159
 
161
160
  /**
162
161
  * Events triggered automatically.
@@ -328,7 +327,7 @@ function configure(options: Datasource.Options): Internals {
328
327
  ...options,
329
328
  primaryKey: options.primaryKey === "id" ? "id" : "name",
330
329
  events,
331
- version: options.crypto.randomUint32,
330
+ version: options.entropy.randomUint32,
332
331
  values,
333
332
  featuresKey,
334
333
  manageVersion: true,
@@ -557,8 +556,16 @@ function createReference(resource: Transaction.Resource, internals: Internals, s
557
556
  if (values === internals.values) {
558
557
  const old = values;
559
558
  values = new internals.type();
559
+
560
+ const properties = (values as Val.Dynamic)[Val.properties]
561
+ ? (values as Val.Dynamic)[Val.properties](this.rootOwner, session)
562
+ : undefined;
560
563
  for (const index of fields) {
561
- values[index] = old[index];
564
+ if (properties && index in properties) {
565
+ // Property is dynamic anyway, so do nothing
566
+ } else {
567
+ values[index] = old[index];
568
+ }
562
569
  }
563
570
 
564
571
  // Point subreferences to the clone
@@ -31,6 +31,7 @@ type Container = Record<string | number, Val>;
31
31
  * @param id the lookup ID in the case of structs
32
32
  * @param assertWriteOk enforces ACLs and read-only
33
33
  * @param clone clones the container prior to write; undefined if not transactional
34
+ * @param session the access control session
34
35
  *
35
36
  * @returns a reference to the property
36
37
  */
@@ -41,6 +42,7 @@ export function ManagedReference(
41
42
  id: number | undefined,
42
43
  assertWriteOk: (value: Val) => void,
43
44
  clone: (container: Val) => Val,
45
+ session: AccessControl.Session,
44
46
  ) {
45
47
  let expired = false;
46
48
  let location = {
@@ -51,10 +53,24 @@ export function ManagedReference(
51
53
  const key = primaryKey === "id" ? (id ?? name) : name;
52
54
  const altKey = primaryKey === "id" ? (key === name ? undefined : name) : id;
53
55
  let value: unknown;
54
- if (key in (parent.value as Container)) {
55
- value = (parent.value as Container)[key];
56
- } else if (altKey !== undefined) {
57
- value = (parent.value as Container)[altKey];
56
+
57
+ let dynamicContainer: Val.Struct | undefined;
58
+ if ((parent.value as Val.Dynamic)[Val.properties]) {
59
+ dynamicContainer = (parent.value as Val.Dynamic)[Val.properties](parent.rootOwner, session);
60
+ if (key in (dynamicContainer as Container)) {
61
+ value = (dynamicContainer as Container)[key];
62
+ } else if (altKey !== undefined && altKey in (dynamicContainer as Container)) {
63
+ value = (dynamicContainer as Container)[altKey];
64
+ } else {
65
+ dynamicContainer = undefined;
66
+ }
67
+ }
68
+ if (dynamicContainer === undefined) {
69
+ if (key in (parent.value as Container)) {
70
+ value = (parent.value as Container)[key];
71
+ } else if (altKey !== undefined) {
72
+ value = (parent.value as Container)[altKey];
73
+ }
58
74
  }
59
75
 
60
76
  const reference: Val.Reference = {
@@ -97,9 +113,16 @@ export function ManagedReference(
97
113
 
98
114
  // Now use change to complete the update
99
115
  this.change(() => {
100
- (parent.value as Container)[key] = newValue;
101
- if (altKey !== undefined && altKey in parent.value) {
102
- delete (parent.value as Container)[altKey];
116
+ if (dynamicContainer) {
117
+ (dynamicContainer as Container)[key] = newValue;
118
+ if (altKey !== undefined && altKey in dynamicContainer) {
119
+ delete (dynamicContainer as Container)[altKey];
120
+ }
121
+ } else {
122
+ (parent.value as Container)[key] = newValue;
123
+ if (altKey !== undefined && altKey in parent.value) {
124
+ delete (parent.value as Container)[altKey];
125
+ }
103
126
  }
104
127
  });
105
128
  },
@@ -108,11 +131,21 @@ export function ManagedReference(
108
131
  if (!parent.original) {
109
132
  return undefined;
110
133
  }
111
- if (key in parent.original) {
112
- return (parent.original as Container)[key];
113
- }
114
- if (altKey !== undefined) {
115
- return (parent.original as Container)[altKey];
134
+ if (dynamicContainer !== undefined) {
135
+ const origProperties = (parent.original as Val.Dynamic)[Val.properties](parent.rootOwner, session);
136
+ if (key in (origProperties as Container)) {
137
+ return (origProperties as Container)[key];
138
+ }
139
+ if (altKey !== undefined) {
140
+ return (origProperties as Container)[altKey];
141
+ }
142
+ } else {
143
+ if (key in parent.original) {
144
+ return (parent.original as Container)[key];
145
+ }
146
+ if (altKey !== undefined) {
147
+ return (parent.original as Container)[altKey];
148
+ }
116
149
  }
117
150
  },
118
151
 
@@ -125,9 +158,16 @@ export function ManagedReference(
125
158
  // In transactions, clone the value if we haven't done so yet
126
159
  if (clone && value === this.original) {
127
160
  const newValue = clone(value);
128
- (parent.value as Container)[key] = newValue;
129
- if (altKey !== undefined && altKey in (parent.value as Container)) {
130
- delete (parent.value as Container)[altKey];
161
+ if (dynamicContainer !== undefined) {
162
+ (dynamicContainer as Container)[key] = newValue;
163
+ if (altKey !== undefined && altKey in dynamicContainer) {
164
+ delete (dynamicContainer as Container)[altKey];
165
+ }
166
+ } else {
167
+ (parent.value as Container)[key] = newValue;
168
+ if (altKey !== undefined && altKey in (parent.value as Container)) {
169
+ delete (parent.value as Container)[altKey];
170
+ }
131
171
  }
132
172
  replaceValue(newValue);
133
173
  }
@@ -149,10 +189,18 @@ export function ManagedReference(
149
189
  }
150
190
 
151
191
  let value;
152
- if (key in parent.value) {
153
- value = (parent.value as Container)[key];
154
- } else if (altKey !== undefined && altKey in parent.value) {
155
- value = (parent.value as Container)[altKey];
192
+ if (dynamicContainer !== undefined) {
193
+ if (key in dynamicContainer) {
194
+ value = (dynamicContainer as Container)[key];
195
+ } else if (altKey !== undefined && altKey in dynamicContainer) {
196
+ value = (dynamicContainer as Container)[altKey];
197
+ }
198
+ } else {
199
+ if (key in parent.value) {
200
+ value = (parent.value as Container)[key];
201
+ } else if (altKey !== undefined && altKey in parent.value) {
202
+ value = (parent.value as Container)[altKey];
203
+ }
156
204
  }
157
205
 
158
206
  replaceValue(value);
@@ -160,6 +160,7 @@ function createProxy(config: ListConfig, reference: Val.Reference<Val.List>, ses
160
160
  () => true,
161
161
 
162
162
  val => (Array.isArray(val) ? [...(val as Val.List)] : isObject(val) ? { ...val } : val),
163
+ session,
163
164
  );
164
165
 
165
166
  manageEntry(subref, session);
@@ -279,7 +279,7 @@ function configureProperty(supervisor: RootSupervisor, schema: ValueModel) {
279
279
  };
280
280
 
281
281
  if (manage === PrimitiveManager) {
282
- // For primitives we don't need a manager so just proxy reads directly
282
+ // For primitives, we don't need a manager so just proxy reads directly
283
283
  descriptor.get = function (this: Struct) {
284
284
  if (access.mayRead(this[Internal.session], this[Internal.reference].location)) {
285
285
  const struct = this[Internal.reference].value as Val.Dynamic;
@@ -310,7 +310,7 @@ function configureProperty(supervisor: RootSupervisor, schema: ValueModel) {
310
310
  }
311
311
  };
312
312
  } else {
313
- // For collections we create a managed value
313
+ // For collections, we create a managed value
314
314
  let cloneContainer: (container: Val) => Val;
315
315
  switch (schema.effectiveMetatype) {
316
316
  case Metatype.array:
@@ -373,6 +373,8 @@ function configureProperty(supervisor: RootSupervisor, schema: ValueModel) {
373
373
  return defaultReader?.(this);
374
374
  }
375
375
 
376
+ // Value is null or a dynamic property, so just return it
377
+ // TODO Consider to also use Management for dynamic properties
376
378
  if (value === null) {
377
379
  return value;
378
380
  }
@@ -394,7 +396,15 @@ function configureProperty(supervisor: RootSupervisor, schema: ValueModel) {
394
396
  };
395
397
 
396
398
  // Clone the container before write
397
- const ref = ManagedReference(this[Internal.reference], pk, name, id, assertWriteOk, cloneContainer);
399
+ const ref = ManagedReference(
400
+ this[Internal.reference],
401
+ pk,
402
+ name,
403
+ id,
404
+ assertWriteOk,
405
+ cloneContainer,
406
+ this[Internal.session],
407
+ );
398
408
 
399
409
  ref.owner = manage(ref, this[Internal.session]);
400
410
 
@@ -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) {
@@ -52,13 +52,9 @@ export class AccessControlServer extends AccessControlBehavior.with("Extension")
52
52
  override initialize(): MaybePromise {
53
53
  this.reactTo(this.events.acl$Changing, this.#validateAccessControlListChanges); // Enhanced Validation
54
54
  this.reactTo(this.events.acl$Changed, this.#handleAccessControlListChange); // Event handling for changes
55
- if (
56
- this.state.extension !== undefined &&
57
- this.events.extension$Changing !== undefined &&
58
- this.events.extension$Changed !== undefined
59
- ) {
60
- this.reactTo(this.events.extension$Changing, this.#validateAccessControlExtensionChanges); // Enhanced Validation
61
- this.reactTo(this.events.extension$Changed, this.#handleAccessControlExtensionChange); // Event handling for changes
55
+ if (this.state.extension !== undefined) {
56
+ this.maybeReactTo(this.events.extension$Changing, this.#validateAccessControlExtensionChanges); // Enhanced Validation
57
+ this.maybeReactTo(this.events.extension$Changed, this.#handleAccessControlExtensionChange); // Event handling for changes
62
58
  }
63
59
 
64
60
  const lifecycle = this.endpoint.lifecycle as NodeLifecycle;
@@ -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
  *