@matter/node 0.17.4 → 0.17.5-alpha.0-20260702-a2cd6f764

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 (745) hide show
  1. package/dist/cjs/behavior/context/ActionContext.d.ts +1 -1
  2. package/dist/cjs/behavior/state/validation/FabricIndexSentinel.d.ts +3 -2
  3. package/dist/cjs/behavior/state/validation/FabricIndexSentinel.d.ts.map +1 -1
  4. package/dist/cjs/behavior/state/validation/FabricIndexSentinel.js.map +1 -1
  5. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +3 -2
  6. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  7. package/dist/cjs/behavior/system/network/ServerGroupNetworking.d.ts.map +1 -1
  8. package/dist/cjs/behavior/system/network/ServerGroupNetworking.js +13 -9
  9. package/dist/cjs/behavior/system/network/ServerGroupNetworking.js.map +1 -1
  10. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js +1 -1
  11. package/dist/cjs/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  12. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts +40 -2
  13. package/dist/cjs/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  14. package/dist/cjs/behaviors/access-control/AccessControlServer.js +102 -5
  15. package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
  16. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.d.ts +29 -0
  17. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.d.ts.map +1 -0
  18. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.js +34 -0
  19. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.js.map +6 -0
  20. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingClient.d.ts +17 -0
  21. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingClient.d.ts.map +1 -0
  22. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingClient.js +34 -0
  23. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingClient.js.map +6 -0
  24. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingServer.d.ts +17 -0
  25. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingServer.d.ts.map +1 -0
  26. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingServer.js +32 -0
  27. package/dist/cjs/behaviors/ambient-context-sensing/AmbientContextSensingServer.js.map +6 -0
  28. package/dist/cjs/behaviors/ambient-context-sensing/index.d.ts +10 -0
  29. package/dist/cjs/behaviors/ambient-context-sensing/index.d.ts.map +1 -0
  30. package/dist/cjs/behaviors/ambient-context-sensing/index.js +26 -0
  31. package/dist/cjs/behaviors/ambient-context-sensing/index.js.map +6 -0
  32. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +24 -0
  33. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  34. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +44 -0
  35. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  36. package/dist/cjs/behaviors/boolean-state/BooleanStateBehavior.d.ts +3 -0
  37. package/dist/cjs/behaviors/boolean-state/BooleanStateBehavior.d.ts.map +1 -1
  38. package/dist/cjs/behaviors/boolean-state/BooleanStateBehavior.js.map +1 -1
  39. package/dist/cjs/behaviors/boolean-state/BooleanStateServer.d.ts +7 -3
  40. package/dist/cjs/behaviors/boolean-state/BooleanStateServer.d.ts.map +1 -1
  41. package/dist/cjs/behaviors/boolean-state/BooleanStateServer.js +6 -2
  42. package/dist/cjs/behaviors/boolean-state/BooleanStateServer.js.map +1 -1
  43. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +23 -0
  44. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  45. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.js +36 -0
  46. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.js.map +1 -1
  47. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +1 -1
  48. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js +1 -1
  49. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +15 -1
  50. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  51. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +52 -1
  52. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  53. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementBehavior.d.ts +3 -0
  54. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementBehavior.d.ts.map +1 -1
  55. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementBehavior.js.map +1 -1
  56. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts +22 -3
  57. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  58. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js +80 -7
  59. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  60. package/dist/cjs/behaviors/groupcast/GroupcastBehavior.d.ts +28 -0
  61. package/dist/cjs/behaviors/groupcast/GroupcastBehavior.d.ts.map +1 -0
  62. package/dist/cjs/behaviors/groupcast/GroupcastBehavior.js +34 -0
  63. package/dist/cjs/behaviors/groupcast/GroupcastBehavior.js.map +6 -0
  64. package/dist/cjs/behaviors/groupcast/GroupcastClient.d.ts +17 -0
  65. package/dist/cjs/behaviors/groupcast/GroupcastClient.d.ts.map +1 -0
  66. package/dist/cjs/behaviors/groupcast/GroupcastClient.js +34 -0
  67. package/dist/cjs/behaviors/groupcast/GroupcastClient.js.map +6 -0
  68. package/dist/cjs/behaviors/groupcast/GroupcastInterface.d.ts +34 -0
  69. package/dist/cjs/behaviors/groupcast/GroupcastInterface.d.ts.map +1 -0
  70. package/dist/cjs/behaviors/groupcast/GroupcastInterface.js +22 -0
  71. package/dist/cjs/behaviors/groupcast/GroupcastInterface.js.map +6 -0
  72. package/dist/cjs/behaviors/groupcast/GroupcastServer.d.ts +58 -0
  73. package/dist/cjs/behaviors/groupcast/GroupcastServer.d.ts.map +1 -0
  74. package/dist/cjs/behaviors/groupcast/GroupcastServer.js +510 -0
  75. package/dist/cjs/behaviors/groupcast/GroupcastServer.js.map +6 -0
  76. package/dist/cjs/behaviors/groupcast/index.d.ts +10 -0
  77. package/dist/cjs/behaviors/groupcast/index.d.ts.map +1 -0
  78. package/dist/cjs/behaviors/groupcast/index.js +26 -0
  79. package/dist/cjs/behaviors/groupcast/index.js.map +6 -0
  80. package/dist/cjs/behaviors/groups/GroupsServer.d.ts.map +1 -1
  81. package/dist/cjs/behaviors/groups/GroupsServer.js +22 -0
  82. package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
  83. package/dist/cjs/behaviors/index.d.ts +3 -0
  84. package/dist/cjs/behaviors/index.d.ts.map +1 -1
  85. package/dist/cjs/behaviors/index.js +3 -0
  86. package/dist/cjs/behaviors/index.js.map +1 -1
  87. package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts +1 -1
  88. package/dist/cjs/behaviors/level-control/LevelControlServer.js +1 -1
  89. package/dist/cjs/behaviors/occupancy-sensing/OccupancySensingServer.d.ts +2 -0
  90. package/dist/cjs/behaviors/occupancy-sensing/OccupancySensingServer.d.ts.map +1 -1
  91. package/dist/cjs/behaviors/occupancy-sensing/OccupancySensingServer.js +10 -0
  92. package/dist/cjs/behaviors/occupancy-sensing/OccupancySensingServer.js.map +1 -1
  93. package/dist/cjs/behaviors/operational-credentials/VendorIdVerification.d.ts +2 -2
  94. package/dist/cjs/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js +1 -1
  95. package/dist/cjs/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js.map +1 -1
  96. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmBehavior.d.ts +29 -0
  97. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmBehavior.d.ts.map +1 -0
  98. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmBehavior.js +34 -0
  99. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmBehavior.js.map +6 -0
  100. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmClient.d.ts +17 -0
  101. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmClient.d.ts.map +1 -0
  102. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmClient.js +34 -0
  103. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmClient.js.map +6 -0
  104. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmServer.d.ts +16 -0
  105. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmServer.d.ts.map +1 -0
  106. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmServer.js +32 -0
  107. package/dist/cjs/behaviors/temperature-alarm/TemperatureAlarmServer.js.map +6 -0
  108. package/dist/cjs/behaviors/temperature-alarm/index.d.ts +10 -0
  109. package/dist/cjs/behaviors/temperature-alarm/index.d.ts.map +1 -0
  110. package/dist/cjs/behaviors/temperature-alarm/index.js +26 -0
  111. package/dist/cjs/behaviors/temperature-alarm/index.js.map +6 -0
  112. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +2 -0
  113. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  114. package/dist/cjs/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.d.ts +63 -1
  115. package/dist/cjs/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.d.ts.map +1 -1
  116. package/dist/cjs/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.js +134 -0
  117. package/dist/cjs/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.js.map +2 -2
  118. package/dist/cjs/devices/air-purifier.d.ts +1 -1
  119. package/dist/cjs/devices/air-quality-sensor.d.ts +1 -1
  120. package/dist/cjs/devices/audio-doorbell.d.ts +1 -1
  121. package/dist/cjs/devices/basic-video-player.d.ts +1 -1
  122. package/dist/cjs/devices/battery-storage.d.ts +1 -1
  123. package/dist/cjs/devices/camera-controller.d.ts +1 -1
  124. package/dist/cjs/devices/camera.d.ts +1 -1
  125. package/dist/cjs/devices/casting-video-client.d.ts +1 -1
  126. package/dist/cjs/devices/casting-video-player.d.ts +1 -1
  127. package/dist/cjs/devices/chime.d.ts +1 -1
  128. package/dist/cjs/devices/closure-controller.d.ts +1 -8
  129. package/dist/cjs/devices/closure-controller.d.ts.map +1 -1
  130. package/dist/cjs/devices/closure-controller.js +1 -3
  131. package/dist/cjs/devices/closure-controller.js.map +2 -2
  132. package/dist/cjs/devices/closure-panel.d.ts +1 -1
  133. package/dist/cjs/devices/closure.d.ts +1 -1
  134. package/dist/cjs/devices/color-dimmer-switch.d.ts +1 -1
  135. package/dist/cjs/devices/color-temperature-light.d.ts +1 -1
  136. package/dist/cjs/devices/contact-sensor.d.ts +1 -1
  137. package/dist/cjs/devices/content-app.d.ts +1 -1
  138. package/dist/cjs/devices/control-bridge.d.ts +1 -1
  139. package/dist/cjs/devices/cook-surface.d.ts +1 -1
  140. package/dist/cjs/devices/cooktop.d.ts +1 -1
  141. package/dist/cjs/devices/dimmable-light.d.ts +1 -1
  142. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +1 -1
  143. package/dist/cjs/devices/dimmer-switch.d.ts +1 -1
  144. package/dist/cjs/devices/dishwasher.d.ts +1 -1
  145. package/dist/cjs/devices/door-lock-controller.d.ts +1 -1
  146. package/dist/cjs/devices/door-lock.d.ts +1 -1
  147. package/dist/cjs/devices/doorbell.d.ts +1 -1
  148. package/dist/cjs/devices/electrical-energy-tariff.d.ts +1 -1
  149. package/dist/cjs/devices/electrical-meter.d.ts +1 -1
  150. package/dist/cjs/devices/electrical-utility-meter.d.ts +1 -1
  151. package/dist/cjs/devices/energy-evse.d.ts +1 -1
  152. package/dist/cjs/devices/extended-color-light.d.ts +1 -1
  153. package/dist/cjs/devices/extractor-hood.d.ts +1 -1
  154. package/dist/cjs/devices/fan.d.ts +1 -1
  155. package/dist/cjs/devices/floodlight-camera.d.ts +1 -1
  156. package/dist/cjs/devices/flow-sensor.d.ts +1 -1
  157. package/dist/cjs/devices/generic-switch.d.ts +1 -1
  158. package/dist/cjs/devices/heat-pump.d.ts +1 -1
  159. package/dist/cjs/devices/humidity-sensor.d.ts +1 -1
  160. package/dist/cjs/devices/intercom.d.ts +1 -1
  161. package/dist/cjs/devices/irrigation-system.d.ts +1 -1
  162. package/dist/cjs/devices/laundry-dryer.d.ts +1 -1
  163. package/dist/cjs/devices/laundry-washer.d.ts +1 -1
  164. package/dist/cjs/devices/light-sensor.d.ts +1 -1
  165. package/dist/cjs/devices/meter-reference-point.d.ts +1 -1
  166. package/dist/cjs/devices/microwave-oven.d.ts +1 -1
  167. package/dist/cjs/devices/mode-select.d.ts +1 -1
  168. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +1 -1
  169. package/dist/cjs/devices/mounted-on-off-control.d.ts +1 -1
  170. package/dist/cjs/devices/network-infrastructure-manager.d.ts +2 -2
  171. package/dist/cjs/devices/occupancy-sensor.d.ts +1 -1
  172. package/dist/cjs/devices/on-off-light-switch.d.ts +1 -1
  173. package/dist/cjs/devices/on-off-light.d.ts +1 -1
  174. package/dist/cjs/devices/on-off-plug-in-unit.d.ts +1 -1
  175. package/dist/cjs/devices/on-off-sensor.d.ts +1 -1
  176. package/dist/cjs/devices/oven.d.ts +1 -1
  177. package/dist/cjs/devices/pressure-sensor.d.ts +1 -1
  178. package/dist/cjs/devices/pump-controller.d.ts +1 -1
  179. package/dist/cjs/devices/pump.d.ts +1 -1
  180. package/dist/cjs/devices/rain-sensor.d.ts +14 -6
  181. package/dist/cjs/devices/rain-sensor.d.ts.map +1 -1
  182. package/dist/cjs/devices/rain-sensor.js +1 -1
  183. package/dist/cjs/devices/refrigerator.d.ts +11 -2
  184. package/dist/cjs/devices/refrigerator.d.ts.map +1 -1
  185. package/dist/cjs/devices/refrigerator.js +5 -2
  186. package/dist/cjs/devices/refrigerator.js.map +2 -2
  187. package/dist/cjs/devices/robotic-vacuum-cleaner.d.ts +1 -1
  188. package/dist/cjs/devices/room-air-conditioner.d.ts +1 -1
  189. package/dist/cjs/devices/smoke-co-alarm.d.ts +1 -1
  190. package/dist/cjs/devices/snapshot-camera.d.ts +1 -1
  191. package/dist/cjs/devices/soil-sensor.d.ts +1 -1
  192. package/dist/cjs/devices/solar-power.d.ts +1 -1
  193. package/dist/cjs/devices/speaker.d.ts +1 -1
  194. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts +10 -2
  195. package/dist/cjs/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  196. package/dist/cjs/devices/temperature-controlled-cabinet.js +5 -2
  197. package/dist/cjs/devices/temperature-controlled-cabinet.js.map +2 -2
  198. package/dist/cjs/devices/temperature-sensor.d.ts +1 -1
  199. package/dist/cjs/devices/thermostat-controller.d.ts +1 -1
  200. package/dist/cjs/devices/thermostat.d.ts +9 -2
  201. package/dist/cjs/devices/thermostat.d.ts.map +1 -1
  202. package/dist/cjs/devices/thermostat.js +5 -2
  203. package/dist/cjs/devices/thermostat.js.map +2 -2
  204. package/dist/cjs/devices/thread-border-router.d.ts +1 -1
  205. package/dist/cjs/devices/video-doorbell.d.ts +1 -1
  206. package/dist/cjs/devices/video-remote-control.d.ts +1 -1
  207. package/dist/cjs/devices/water-freeze-detector.d.ts +14 -6
  208. package/dist/cjs/devices/water-freeze-detector.d.ts.map +1 -1
  209. package/dist/cjs/devices/water-freeze-detector.js +1 -1
  210. package/dist/cjs/devices/water-heater.d.ts +5 -1
  211. package/dist/cjs/devices/water-heater.d.ts.map +1 -1
  212. package/dist/cjs/devices/water-leak-detector.d.ts +14 -6
  213. package/dist/cjs/devices/water-leak-detector.d.ts.map +1 -1
  214. package/dist/cjs/devices/water-leak-detector.js +1 -1
  215. package/dist/cjs/devices/water-valve.d.ts +1 -1
  216. package/dist/cjs/devices/window-covering-controller.d.ts +1 -1
  217. package/dist/cjs/devices/window-covering.d.ts +1 -1
  218. package/dist/cjs/endpoint/properties/EndpointLifecycle.d.ts +5 -0
  219. package/dist/cjs/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
  220. package/dist/cjs/endpoint/properties/EndpointLifecycle.js +8 -0
  221. package/dist/cjs/endpoint/properties/EndpointLifecycle.js.map +1 -1
  222. package/dist/cjs/endpoints/aggregator.d.ts +1 -1
  223. package/dist/cjs/endpoints/bridged-node.d.ts +1 -1
  224. package/dist/cjs/endpoints/device-energy-management.d.ts +1 -1
  225. package/dist/cjs/endpoints/electrical-sensor.d.ts +1 -1
  226. package/dist/cjs/endpoints/joint-fabric-administrator.d.ts +1 -1
  227. package/dist/cjs/endpoints/ota-provider.d.ts +1 -1
  228. package/dist/cjs/endpoints/ota-requestor.d.ts +1 -1
  229. package/dist/cjs/endpoints/power-source.d.ts +1 -1
  230. package/dist/cjs/endpoints/root.d.ts +1 -1
  231. package/dist/cjs/endpoints/secondary-network-interface.d.ts +1 -1
  232. package/dist/cjs/node/ServerNode.d.ts +1 -1
  233. package/dist/cjs/node/ServerNode.js +1 -1
  234. package/dist/cjs/node/client/Peers.d.ts.map +1 -1
  235. package/dist/cjs/node/client/Peers.js +12 -0
  236. package/dist/cjs/node/client/Peers.js.map +1 -1
  237. package/dist/cjs/node/integration/ProtocolService.js +1 -1
  238. package/dist/cjs/node/paths/AttributePath.d.ts +3 -3
  239. package/dist/cjs/node/paths/BasePath.d.ts +4 -4
  240. package/dist/cjs/node/paths/CommandPath.d.ts +1 -1
  241. package/dist/cjs/node/paths/EventPath.d.ts +1 -1
  242. package/dist/cjs/node/server/InteractionServer.d.ts +7 -0
  243. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  244. package/dist/cjs/node/server/InteractionServer.js +83 -5
  245. package/dist/cjs/node/server/InteractionServer.js.map +1 -1
  246. package/dist/cjs/node/server/ServerSubscription.d.ts +1 -0
  247. package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
  248. package/dist/cjs/tags/ClosureCabinetTag.d.ts +1 -1
  249. package/dist/cjs/tags/ClosureCoveringTag.d.ts +1 -1
  250. package/dist/cjs/tags/ClosurePanelTag.d.ts +1 -1
  251. package/dist/cjs/tags/ClosureTag.d.ts +1 -1
  252. package/dist/cjs/tags/ClosureWindowTag.d.ts +1 -1
  253. package/dist/cjs/tags/CommodityTariffChronologyTag.d.ts +1 -1
  254. package/dist/cjs/tags/CommodityTariffCommodityTag.d.ts +1 -1
  255. package/dist/cjs/tags/CommodityTariffFlowTag.d.ts +1 -1
  256. package/dist/cjs/tags/CommonAreaNamespaceTag.d.ts +1 -1
  257. package/dist/cjs/tags/CommonClosureTag.d.ts +1 -1
  258. package/dist/cjs/tags/CommonCompassDirectionTag.d.ts +1 -1
  259. package/dist/cjs/tags/CommonCompassLocationTag.d.ts +1 -1
  260. package/dist/cjs/tags/CommonDirectionTag.d.ts +1 -1
  261. package/dist/cjs/tags/CommonLandmarkNamespaceTag.d.ts +1 -1
  262. package/dist/cjs/tags/CommonLevelTag.d.ts +1 -1
  263. package/dist/cjs/tags/CommonLocationTag.d.ts +1 -1
  264. package/dist/cjs/tags/CommonNumberTag.d.ts +1 -1
  265. package/dist/cjs/tags/CommonPositionTag.d.ts +1 -1
  266. package/dist/cjs/tags/CommonRelativePositionTag.d.ts +1 -1
  267. package/dist/cjs/tags/ElectricalMeasurementTag.d.ts +1 -1
  268. package/dist/cjs/tags/IdentifiedHumanActivityTag.d.ts +89 -0
  269. package/dist/cjs/tags/IdentifiedHumanActivityTag.d.ts.map +1 -0
  270. package/dist/cjs/tags/IdentifiedHumanActivityTag.js +75 -0
  271. package/dist/cjs/tags/IdentifiedHumanActivityTag.js.map +6 -0
  272. package/dist/cjs/tags/IdentifiedObjectTag.d.ts +123 -0
  273. package/dist/cjs/tags/IdentifiedObjectTag.d.ts.map +1 -0
  274. package/dist/cjs/tags/IdentifiedObjectTag.js +87 -0
  275. package/dist/cjs/tags/IdentifiedObjectTag.js.map +6 -0
  276. package/dist/cjs/tags/IdentifiedSoundTag.d.ts +176 -0
  277. package/dist/cjs/tags/IdentifiedSoundTag.d.ts.map +1 -0
  278. package/dist/cjs/tags/IdentifiedSoundTag.js +123 -0
  279. package/dist/cjs/tags/IdentifiedSoundTag.js.map +6 -0
  280. package/dist/cjs/tags/LaundryTag.d.ts +1 -1
  281. package/dist/cjs/tags/PowerSourceTag.d.ts +5 -5
  282. package/dist/cjs/tags/PowerSourceTag.js +4 -4
  283. package/dist/cjs/tags/RefrigeratorTag.d.ts +1 -1
  284. package/dist/cjs/tags/RoomAirConditionerTag.d.ts +1 -1
  285. package/dist/cjs/tags/SwitchesTag.d.ts +2 -2
  286. package/dist/cjs/tags/SwitchesTag.js +1 -1
  287. package/dist/cjs/tags/index.d.ts +3 -0
  288. package/dist/cjs/tags/index.d.ts.map +1 -1
  289. package/dist/cjs/tags/index.js +3 -0
  290. package/dist/cjs/tags/index.js.map +1 -1
  291. package/dist/esm/behavior/context/ActionContext.d.ts +1 -1
  292. package/dist/esm/behavior/state/validation/FabricIndexSentinel.d.ts +3 -2
  293. package/dist/esm/behavior/state/validation/FabricIndexSentinel.d.ts.map +1 -1
  294. package/dist/esm/behavior/state/validation/FabricIndexSentinel.js.map +1 -1
  295. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +3 -2
  296. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
  297. package/dist/esm/behavior/system/network/ServerGroupNetworking.d.ts.map +1 -1
  298. package/dist/esm/behavior/system/network/ServerGroupNetworking.js +13 -9
  299. package/dist/esm/behavior/system/network/ServerGroupNetworking.js.map +1 -1
  300. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js +1 -1
  301. package/dist/esm/behavior/system/software-update/SoftwareUpdateManager.js.map +1 -1
  302. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts +40 -2
  303. package/dist/esm/behaviors/access-control/AccessControlServer.d.ts.map +1 -1
  304. package/dist/esm/behaviors/access-control/AccessControlServer.js +110 -6
  305. package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
  306. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.d.ts +29 -0
  307. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.d.ts.map +1 -0
  308. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.js +14 -0
  309. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.js.map +6 -0
  310. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingClient.d.ts +17 -0
  311. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingClient.d.ts.map +1 -0
  312. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingClient.js +14 -0
  313. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingClient.js.map +6 -0
  314. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingServer.d.ts +17 -0
  315. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingServer.d.ts.map +1 -0
  316. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingServer.js +12 -0
  317. package/dist/esm/behaviors/ambient-context-sensing/AmbientContextSensingServer.js.map +6 -0
  318. package/dist/esm/behaviors/ambient-context-sensing/index.d.ts +10 -0
  319. package/dist/esm/behaviors/ambient-context-sensing/index.d.ts.map +1 -0
  320. package/dist/esm/behaviors/ambient-context-sensing/index.js +9 -0
  321. package/dist/esm/behaviors/ambient-context-sensing/index.js.map +6 -0
  322. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +24 -0
  323. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  324. package/dist/esm/behaviors/basic-information/BasicInformationServer.js +44 -0
  325. package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  326. package/dist/esm/behaviors/boolean-state/BooleanStateBehavior.d.ts +3 -0
  327. package/dist/esm/behaviors/boolean-state/BooleanStateBehavior.d.ts.map +1 -1
  328. package/dist/esm/behaviors/boolean-state/BooleanStateBehavior.js.map +1 -1
  329. package/dist/esm/behaviors/boolean-state/BooleanStateServer.d.ts +7 -3
  330. package/dist/esm/behaviors/boolean-state/BooleanStateServer.d.ts.map +1 -1
  331. package/dist/esm/behaviors/boolean-state/BooleanStateServer.js +6 -2
  332. package/dist/esm/behaviors/boolean-state/BooleanStateServer.js.map +1 -1
  333. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +23 -0
  334. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  335. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.js +36 -0
  336. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.js.map +1 -1
  337. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +1 -1
  338. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js +1 -1
  339. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +15 -1
  340. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  341. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +57 -4
  342. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  343. package/dist/esm/behaviors/group-key-management/GroupKeyManagementBehavior.d.ts +3 -0
  344. package/dist/esm/behaviors/group-key-management/GroupKeyManagementBehavior.d.ts.map +1 -1
  345. package/dist/esm/behaviors/group-key-management/GroupKeyManagementBehavior.js.map +1 -1
  346. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts +22 -3
  347. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  348. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js +80 -7
  349. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  350. package/dist/esm/behaviors/groupcast/GroupcastBehavior.d.ts +28 -0
  351. package/dist/esm/behaviors/groupcast/GroupcastBehavior.d.ts.map +1 -0
  352. package/dist/esm/behaviors/groupcast/GroupcastBehavior.js +14 -0
  353. package/dist/esm/behaviors/groupcast/GroupcastBehavior.js.map +6 -0
  354. package/dist/esm/behaviors/groupcast/GroupcastClient.d.ts +17 -0
  355. package/dist/esm/behaviors/groupcast/GroupcastClient.d.ts.map +1 -0
  356. package/dist/esm/behaviors/groupcast/GroupcastClient.js +14 -0
  357. package/dist/esm/behaviors/groupcast/GroupcastClient.js.map +6 -0
  358. package/dist/esm/behaviors/groupcast/GroupcastInterface.d.ts +34 -0
  359. package/dist/esm/behaviors/groupcast/GroupcastInterface.d.ts.map +1 -0
  360. package/dist/esm/behaviors/groupcast/GroupcastInterface.js +6 -0
  361. package/dist/esm/behaviors/groupcast/GroupcastInterface.js.map +6 -0
  362. package/dist/esm/behaviors/groupcast/GroupcastServer.d.ts +58 -0
  363. package/dist/esm/behaviors/groupcast/GroupcastServer.d.ts.map +1 -0
  364. package/dist/esm/behaviors/groupcast/GroupcastServer.js +495 -0
  365. package/dist/esm/behaviors/groupcast/GroupcastServer.js.map +6 -0
  366. package/dist/esm/behaviors/groupcast/index.d.ts +10 -0
  367. package/dist/esm/behaviors/groupcast/index.d.ts.map +1 -0
  368. package/dist/esm/behaviors/groupcast/index.js +9 -0
  369. package/dist/esm/behaviors/groupcast/index.js.map +6 -0
  370. package/dist/esm/behaviors/groups/GroupsServer.d.ts.map +1 -1
  371. package/dist/esm/behaviors/groups/GroupsServer.js +22 -0
  372. package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
  373. package/dist/esm/behaviors/index.d.ts +3 -0
  374. package/dist/esm/behaviors/index.d.ts.map +1 -1
  375. package/dist/esm/behaviors/index.js +3 -0
  376. package/dist/esm/behaviors/index.js.map +1 -1
  377. package/dist/esm/behaviors/level-control/LevelControlServer.d.ts +1 -1
  378. package/dist/esm/behaviors/level-control/LevelControlServer.js +1 -1
  379. package/dist/esm/behaviors/occupancy-sensing/OccupancySensingServer.d.ts +2 -0
  380. package/dist/esm/behaviors/occupancy-sensing/OccupancySensingServer.d.ts.map +1 -1
  381. package/dist/esm/behaviors/occupancy-sensing/OccupancySensingServer.js +10 -0
  382. package/dist/esm/behaviors/occupancy-sensing/OccupancySensingServer.js.map +1 -1
  383. package/dist/esm/behaviors/operational-credentials/VendorIdVerification.d.ts +2 -2
  384. package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js +1 -1
  385. package/dist/esm/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.js.map +1 -1
  386. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmBehavior.d.ts +29 -0
  387. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmBehavior.d.ts.map +1 -0
  388. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmBehavior.js +14 -0
  389. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmBehavior.js.map +6 -0
  390. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmClient.d.ts +17 -0
  391. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmClient.d.ts.map +1 -0
  392. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmClient.js +14 -0
  393. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmClient.js.map +6 -0
  394. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmServer.d.ts +16 -0
  395. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmServer.d.ts.map +1 -0
  396. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmServer.js +12 -0
  397. package/dist/esm/behaviors/temperature-alarm/TemperatureAlarmServer.js.map +6 -0
  398. package/dist/esm/behaviors/temperature-alarm/index.d.ts +10 -0
  399. package/dist/esm/behaviors/temperature-alarm/index.d.ts.map +1 -0
  400. package/dist/esm/behaviors/temperature-alarm/index.js +9 -0
  401. package/dist/esm/behaviors/temperature-alarm/index.js.map +6 -0
  402. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +2 -0
  403. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  404. package/dist/esm/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.d.ts +63 -1
  405. package/dist/esm/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.d.ts.map +1 -1
  406. package/dist/esm/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.js +134 -0
  407. package/dist/esm/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.js.map +2 -2
  408. package/dist/esm/devices/air-purifier.d.ts +1 -1
  409. package/dist/esm/devices/air-quality-sensor.d.ts +1 -1
  410. package/dist/esm/devices/audio-doorbell.d.ts +1 -1
  411. package/dist/esm/devices/basic-video-player.d.ts +1 -1
  412. package/dist/esm/devices/battery-storage.d.ts +1 -1
  413. package/dist/esm/devices/camera-controller.d.ts +1 -1
  414. package/dist/esm/devices/camera.d.ts +1 -1
  415. package/dist/esm/devices/casting-video-client.d.ts +1 -1
  416. package/dist/esm/devices/casting-video-player.d.ts +1 -1
  417. package/dist/esm/devices/chime.d.ts +1 -1
  418. package/dist/esm/devices/closure-controller.d.ts +1 -8
  419. package/dist/esm/devices/closure-controller.d.ts.map +1 -1
  420. package/dist/esm/devices/closure-controller.js +1 -3
  421. package/dist/esm/devices/closure-controller.js.map +1 -1
  422. package/dist/esm/devices/closure-panel.d.ts +1 -1
  423. package/dist/esm/devices/closure.d.ts +1 -1
  424. package/dist/esm/devices/color-dimmer-switch.d.ts +1 -1
  425. package/dist/esm/devices/color-temperature-light.d.ts +1 -1
  426. package/dist/esm/devices/contact-sensor.d.ts +1 -1
  427. package/dist/esm/devices/content-app.d.ts +1 -1
  428. package/dist/esm/devices/control-bridge.d.ts +1 -1
  429. package/dist/esm/devices/cook-surface.d.ts +1 -1
  430. package/dist/esm/devices/cooktop.d.ts +1 -1
  431. package/dist/esm/devices/dimmable-light.d.ts +1 -1
  432. package/dist/esm/devices/dimmable-plug-in-unit.d.ts +1 -1
  433. package/dist/esm/devices/dimmer-switch.d.ts +1 -1
  434. package/dist/esm/devices/dishwasher.d.ts +1 -1
  435. package/dist/esm/devices/door-lock-controller.d.ts +1 -1
  436. package/dist/esm/devices/door-lock.d.ts +1 -1
  437. package/dist/esm/devices/doorbell.d.ts +1 -1
  438. package/dist/esm/devices/electrical-energy-tariff.d.ts +1 -1
  439. package/dist/esm/devices/electrical-meter.d.ts +1 -1
  440. package/dist/esm/devices/electrical-utility-meter.d.ts +1 -1
  441. package/dist/esm/devices/energy-evse.d.ts +1 -1
  442. package/dist/esm/devices/extended-color-light.d.ts +1 -1
  443. package/dist/esm/devices/extractor-hood.d.ts +1 -1
  444. package/dist/esm/devices/fan.d.ts +1 -1
  445. package/dist/esm/devices/floodlight-camera.d.ts +1 -1
  446. package/dist/esm/devices/flow-sensor.d.ts +1 -1
  447. package/dist/esm/devices/generic-switch.d.ts +1 -1
  448. package/dist/esm/devices/heat-pump.d.ts +1 -1
  449. package/dist/esm/devices/humidity-sensor.d.ts +1 -1
  450. package/dist/esm/devices/intercom.d.ts +1 -1
  451. package/dist/esm/devices/irrigation-system.d.ts +1 -1
  452. package/dist/esm/devices/laundry-dryer.d.ts +1 -1
  453. package/dist/esm/devices/laundry-washer.d.ts +1 -1
  454. package/dist/esm/devices/light-sensor.d.ts +1 -1
  455. package/dist/esm/devices/meter-reference-point.d.ts +1 -1
  456. package/dist/esm/devices/microwave-oven.d.ts +1 -1
  457. package/dist/esm/devices/mode-select.d.ts +1 -1
  458. package/dist/esm/devices/mounted-dimmable-load-control.d.ts +1 -1
  459. package/dist/esm/devices/mounted-on-off-control.d.ts +1 -1
  460. package/dist/esm/devices/network-infrastructure-manager.d.ts +2 -2
  461. package/dist/esm/devices/occupancy-sensor.d.ts +1 -1
  462. package/dist/esm/devices/on-off-light-switch.d.ts +1 -1
  463. package/dist/esm/devices/on-off-light.d.ts +1 -1
  464. package/dist/esm/devices/on-off-plug-in-unit.d.ts +1 -1
  465. package/dist/esm/devices/on-off-sensor.d.ts +1 -1
  466. package/dist/esm/devices/oven.d.ts +1 -1
  467. package/dist/esm/devices/pressure-sensor.d.ts +1 -1
  468. package/dist/esm/devices/pump-controller.d.ts +1 -1
  469. package/dist/esm/devices/pump.d.ts +1 -1
  470. package/dist/esm/devices/rain-sensor.d.ts +14 -6
  471. package/dist/esm/devices/rain-sensor.d.ts.map +1 -1
  472. package/dist/esm/devices/rain-sensor.js +1 -1
  473. package/dist/esm/devices/refrigerator.d.ts +11 -2
  474. package/dist/esm/devices/refrigerator.d.ts.map +1 -1
  475. package/dist/esm/devices/refrigerator.js +7 -2
  476. package/dist/esm/devices/refrigerator.js.map +1 -1
  477. package/dist/esm/devices/robotic-vacuum-cleaner.d.ts +1 -1
  478. package/dist/esm/devices/room-air-conditioner.d.ts +1 -1
  479. package/dist/esm/devices/smoke-co-alarm.d.ts +1 -1
  480. package/dist/esm/devices/snapshot-camera.d.ts +1 -1
  481. package/dist/esm/devices/soil-sensor.d.ts +1 -1
  482. package/dist/esm/devices/solar-power.d.ts +1 -1
  483. package/dist/esm/devices/speaker.d.ts +1 -1
  484. package/dist/esm/devices/temperature-controlled-cabinet.d.ts +10 -2
  485. package/dist/esm/devices/temperature-controlled-cabinet.d.ts.map +1 -1
  486. package/dist/esm/devices/temperature-controlled-cabinet.js +7 -2
  487. package/dist/esm/devices/temperature-controlled-cabinet.js.map +1 -1
  488. package/dist/esm/devices/temperature-sensor.d.ts +1 -1
  489. package/dist/esm/devices/thermostat-controller.d.ts +1 -1
  490. package/dist/esm/devices/thermostat.d.ts +9 -2
  491. package/dist/esm/devices/thermostat.d.ts.map +1 -1
  492. package/dist/esm/devices/thermostat.js +7 -2
  493. package/dist/esm/devices/thermostat.js.map +1 -1
  494. package/dist/esm/devices/thread-border-router.d.ts +1 -1
  495. package/dist/esm/devices/video-doorbell.d.ts +1 -1
  496. package/dist/esm/devices/video-remote-control.d.ts +1 -1
  497. package/dist/esm/devices/water-freeze-detector.d.ts +14 -6
  498. package/dist/esm/devices/water-freeze-detector.d.ts.map +1 -1
  499. package/dist/esm/devices/water-freeze-detector.js +1 -1
  500. package/dist/esm/devices/water-heater.d.ts +5 -1
  501. package/dist/esm/devices/water-heater.d.ts.map +1 -1
  502. package/dist/esm/devices/water-leak-detector.d.ts +14 -6
  503. package/dist/esm/devices/water-leak-detector.d.ts.map +1 -1
  504. package/dist/esm/devices/water-leak-detector.js +1 -1
  505. package/dist/esm/devices/water-valve.d.ts +1 -1
  506. package/dist/esm/devices/window-covering-controller.d.ts +1 -1
  507. package/dist/esm/devices/window-covering.d.ts +1 -1
  508. package/dist/esm/endpoint/properties/EndpointLifecycle.d.ts +5 -0
  509. package/dist/esm/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
  510. package/dist/esm/endpoint/properties/EndpointLifecycle.js +8 -0
  511. package/dist/esm/endpoint/properties/EndpointLifecycle.js.map +1 -1
  512. package/dist/esm/endpoints/aggregator.d.ts +1 -1
  513. package/dist/esm/endpoints/bridged-node.d.ts +1 -1
  514. package/dist/esm/endpoints/device-energy-management.d.ts +1 -1
  515. package/dist/esm/endpoints/electrical-sensor.d.ts +1 -1
  516. package/dist/esm/endpoints/joint-fabric-administrator.d.ts +1 -1
  517. package/dist/esm/endpoints/ota-provider.d.ts +1 -1
  518. package/dist/esm/endpoints/ota-requestor.d.ts +1 -1
  519. package/dist/esm/endpoints/power-source.d.ts +1 -1
  520. package/dist/esm/endpoints/root.d.ts +1 -1
  521. package/dist/esm/endpoints/secondary-network-interface.d.ts +1 -1
  522. package/dist/esm/node/ServerNode.d.ts +1 -1
  523. package/dist/esm/node/ServerNode.js +1 -1
  524. package/dist/esm/node/client/Peers.d.ts.map +1 -1
  525. package/dist/esm/node/client/Peers.js +12 -0
  526. package/dist/esm/node/client/Peers.js.map +1 -1
  527. package/dist/esm/node/integration/ProtocolService.js +1 -1
  528. package/dist/esm/node/paths/AttributePath.d.ts +3 -3
  529. package/dist/esm/node/paths/BasePath.d.ts +4 -4
  530. package/dist/esm/node/paths/CommandPath.d.ts +1 -1
  531. package/dist/esm/node/paths/EventPath.d.ts +1 -1
  532. package/dist/esm/node/server/InteractionServer.d.ts +7 -0
  533. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  534. package/dist/esm/node/server/InteractionServer.js +84 -5
  535. package/dist/esm/node/server/InteractionServer.js.map +1 -1
  536. package/dist/esm/node/server/ServerSubscription.d.ts +1 -0
  537. package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
  538. package/dist/esm/tags/ClosureCabinetTag.d.ts +1 -1
  539. package/dist/esm/tags/ClosureCoveringTag.d.ts +1 -1
  540. package/dist/esm/tags/ClosurePanelTag.d.ts +1 -1
  541. package/dist/esm/tags/ClosureTag.d.ts +1 -1
  542. package/dist/esm/tags/ClosureWindowTag.d.ts +1 -1
  543. package/dist/esm/tags/CommodityTariffChronologyTag.d.ts +1 -1
  544. package/dist/esm/tags/CommodityTariffCommodityTag.d.ts +1 -1
  545. package/dist/esm/tags/CommodityTariffFlowTag.d.ts +1 -1
  546. package/dist/esm/tags/CommonAreaNamespaceTag.d.ts +1 -1
  547. package/dist/esm/tags/CommonClosureTag.d.ts +1 -1
  548. package/dist/esm/tags/CommonCompassDirectionTag.d.ts +1 -1
  549. package/dist/esm/tags/CommonCompassLocationTag.d.ts +1 -1
  550. package/dist/esm/tags/CommonDirectionTag.d.ts +1 -1
  551. package/dist/esm/tags/CommonLandmarkNamespaceTag.d.ts +1 -1
  552. package/dist/esm/tags/CommonLevelTag.d.ts +1 -1
  553. package/dist/esm/tags/CommonLocationTag.d.ts +1 -1
  554. package/dist/esm/tags/CommonNumberTag.d.ts +1 -1
  555. package/dist/esm/tags/CommonPositionTag.d.ts +1 -1
  556. package/dist/esm/tags/CommonRelativePositionTag.d.ts +1 -1
  557. package/dist/esm/tags/ElectricalMeasurementTag.d.ts +1 -1
  558. package/dist/esm/tags/IdentifiedHumanActivityTag.d.ts +89 -0
  559. package/dist/esm/tags/IdentifiedHumanActivityTag.d.ts.map +1 -0
  560. package/dist/esm/tags/IdentifiedHumanActivityTag.js +55 -0
  561. package/dist/esm/tags/IdentifiedHumanActivityTag.js.map +6 -0
  562. package/dist/esm/tags/IdentifiedObjectTag.d.ts +123 -0
  563. package/dist/esm/tags/IdentifiedObjectTag.d.ts.map +1 -0
  564. package/dist/esm/tags/IdentifiedObjectTag.js +67 -0
  565. package/dist/esm/tags/IdentifiedObjectTag.js.map +6 -0
  566. package/dist/esm/tags/IdentifiedSoundTag.d.ts +176 -0
  567. package/dist/esm/tags/IdentifiedSoundTag.d.ts.map +1 -0
  568. package/dist/esm/tags/IdentifiedSoundTag.js +103 -0
  569. package/dist/esm/tags/IdentifiedSoundTag.js.map +6 -0
  570. package/dist/esm/tags/LaundryTag.d.ts +1 -1
  571. package/dist/esm/tags/PowerSourceTag.d.ts +5 -5
  572. package/dist/esm/tags/PowerSourceTag.js +4 -4
  573. package/dist/esm/tags/RefrigeratorTag.d.ts +1 -1
  574. package/dist/esm/tags/RoomAirConditionerTag.d.ts +1 -1
  575. package/dist/esm/tags/SwitchesTag.d.ts +2 -2
  576. package/dist/esm/tags/SwitchesTag.js +1 -1
  577. package/dist/esm/tags/index.d.ts +3 -0
  578. package/dist/esm/tags/index.d.ts.map +1 -1
  579. package/dist/esm/tags/index.js +3 -0
  580. package/dist/esm/tags/index.js.map +1 -1
  581. package/package.json +6 -6
  582. package/src/behavior/context/ActionContext.ts +1 -1
  583. package/src/behavior/state/validation/FabricIndexSentinel.ts +3 -2
  584. package/src/behavior/supervision/ValueSupervisor.ts +3 -2
  585. package/src/behavior/system/network/ServerGroupNetworking.ts +18 -9
  586. package/src/behavior/system/software-update/SoftwareUpdateManager.ts +1 -1
  587. package/src/behaviors/access-control/AccessControlServer.ts +153 -7
  588. package/src/behaviors/ambient-context-sensing/AmbientContextSensingBehavior.ts +27 -0
  589. package/src/behaviors/ambient-context-sensing/AmbientContextSensingClient.ts +16 -0
  590. package/src/behaviors/ambient-context-sensing/AmbientContextSensingServer.ts +18 -0
  591. package/src/behaviors/ambient-context-sensing/index.ts +11 -0
  592. package/src/behaviors/basic-information/BasicInformationServer.ts +62 -1
  593. package/src/behaviors/boolean-state/BooleanStateBehavior.ts +3 -0
  594. package/src/behaviors/boolean-state/BooleanStateServer.ts +10 -3
  595. package/src/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.ts +55 -1
  596. package/src/behaviors/general-commissioning/ServerNodeFailsafeContext.ts +1 -1
  597. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +61 -3
  598. package/src/behaviors/group-key-management/GroupKeyManagementBehavior.ts +3 -0
  599. package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +98 -8
  600. package/src/behaviors/groupcast/GroupcastBehavior.ts +24 -0
  601. package/src/behaviors/groupcast/GroupcastClient.ts +16 -0
  602. package/src/behaviors/groupcast/GroupcastInterface.ts +30 -0
  603. package/src/behaviors/groupcast/GroupcastServer.ts +665 -0
  604. package/src/behaviors/groupcast/index.ts +11 -0
  605. package/src/behaviors/groups/GroupsServer.ts +28 -1
  606. package/src/behaviors/index.ts +3 -0
  607. package/src/behaviors/level-control/LevelControlServer.ts +1 -1
  608. package/src/behaviors/occupancy-sensing/OccupancySensingServer.ts +14 -2
  609. package/src/behaviors/operational-credentials/VendorIdVerification.ts +2 -2
  610. package/src/behaviors/ota-software-update-provider/OtaSoftwareUpdateProviderServer.ts +1 -1
  611. package/src/behaviors/scenes-management/ScenesManagementServer.ts +1 -1
  612. package/src/behaviors/temperature-alarm/TemperatureAlarmBehavior.ts +27 -0
  613. package/src/behaviors/temperature-alarm/TemperatureAlarmClient.ts +16 -0
  614. package/src/behaviors/temperature-alarm/TemperatureAlarmServer.ts +17 -0
  615. package/src/behaviors/temperature-alarm/index.ts +11 -0
  616. package/src/behaviors/web-rtc-transport-requestor/WebRtcTransportRequestorServer.ts +183 -3
  617. package/src/devices/air-purifier.ts +1 -1
  618. package/src/devices/air-quality-sensor.ts +1 -1
  619. package/src/devices/audio-doorbell.ts +1 -1
  620. package/src/devices/basic-video-player.ts +1 -1
  621. package/src/devices/battery-storage.ts +1 -1
  622. package/src/devices/camera-controller.ts +1 -1
  623. package/src/devices/camera.ts +1 -1
  624. package/src/devices/casting-video-client.ts +1 -1
  625. package/src/devices/casting-video-player.ts +1 -1
  626. package/src/devices/chime.ts +1 -1
  627. package/src/devices/closure-controller.ts +2 -10
  628. package/src/devices/closure-panel.ts +1 -1
  629. package/src/devices/closure.ts +1 -1
  630. package/src/devices/color-dimmer-switch.ts +1 -1
  631. package/src/devices/color-temperature-light.ts +1 -1
  632. package/src/devices/contact-sensor.ts +1 -1
  633. package/src/devices/content-app.ts +1 -1
  634. package/src/devices/control-bridge.ts +1 -1
  635. package/src/devices/cook-surface.ts +1 -1
  636. package/src/devices/cooktop.ts +1 -1
  637. package/src/devices/dimmable-light.ts +1 -1
  638. package/src/devices/dimmable-plug-in-unit.ts +1 -1
  639. package/src/devices/dimmer-switch.ts +1 -1
  640. package/src/devices/dishwasher.ts +1 -1
  641. package/src/devices/door-lock-controller.ts +1 -1
  642. package/src/devices/door-lock.ts +1 -1
  643. package/src/devices/doorbell.ts +1 -1
  644. package/src/devices/electrical-energy-tariff.ts +1 -1
  645. package/src/devices/electrical-meter.ts +1 -1
  646. package/src/devices/electrical-utility-meter.ts +1 -1
  647. package/src/devices/energy-evse.ts +1 -1
  648. package/src/devices/extended-color-light.ts +1 -1
  649. package/src/devices/extractor-hood.ts +1 -1
  650. package/src/devices/fan.ts +1 -1
  651. package/src/devices/floodlight-camera.ts +1 -1
  652. package/src/devices/flow-sensor.ts +1 -1
  653. package/src/devices/generic-switch.ts +1 -1
  654. package/src/devices/heat-pump.ts +1 -1
  655. package/src/devices/humidity-sensor.ts +1 -1
  656. package/src/devices/intercom.ts +1 -1
  657. package/src/devices/irrigation-system.ts +1 -1
  658. package/src/devices/laundry-dryer.ts +1 -1
  659. package/src/devices/laundry-washer.ts +1 -1
  660. package/src/devices/light-sensor.ts +1 -1
  661. package/src/devices/meter-reference-point.ts +1 -1
  662. package/src/devices/microwave-oven.ts +1 -1
  663. package/src/devices/mode-select.ts +1 -1
  664. package/src/devices/mounted-dimmable-load-control.ts +1 -1
  665. package/src/devices/mounted-on-off-control.ts +1 -1
  666. package/src/devices/network-infrastructure-manager.ts +2 -2
  667. package/src/devices/occupancy-sensor.ts +1 -1
  668. package/src/devices/on-off-light-switch.ts +1 -1
  669. package/src/devices/on-off-light.ts +1 -1
  670. package/src/devices/on-off-plug-in-unit.ts +1 -1
  671. package/src/devices/on-off-sensor.ts +1 -1
  672. package/src/devices/oven.ts +1 -1
  673. package/src/devices/pressure-sensor.ts +1 -1
  674. package/src/devices/pump-controller.ts +1 -1
  675. package/src/devices/pump.ts +1 -1
  676. package/src/devices/rain-sensor.ts +2 -2
  677. package/src/devices/refrigerator.ts +16 -3
  678. package/src/devices/robotic-vacuum-cleaner.ts +1 -1
  679. package/src/devices/room-air-conditioner.ts +1 -1
  680. package/src/devices/smoke-co-alarm.ts +1 -1
  681. package/src/devices/snapshot-camera.ts +1 -1
  682. package/src/devices/soil-sensor.ts +1 -1
  683. package/src/devices/solar-power.ts +1 -1
  684. package/src/devices/speaker.ts +1 -1
  685. package/src/devices/temperature-controlled-cabinet.ts +14 -3
  686. package/src/devices/temperature-sensor.ts +1 -1
  687. package/src/devices/thermostat-controller.ts +1 -1
  688. package/src/devices/thermostat.ts +14 -3
  689. package/src/devices/thread-border-router.ts +1 -1
  690. package/src/devices/video-doorbell.ts +1 -1
  691. package/src/devices/video-remote-control.ts +1 -1
  692. package/src/devices/water-freeze-detector.ts +2 -2
  693. package/src/devices/water-heater.ts +1 -1
  694. package/src/devices/water-leak-detector.ts +2 -2
  695. package/src/devices/water-valve.ts +1 -1
  696. package/src/devices/window-covering-controller.ts +1 -1
  697. package/src/devices/window-covering.ts +1 -1
  698. package/src/endpoint/properties/EndpointLifecycle.ts +9 -0
  699. package/src/endpoints/aggregator.ts +1 -1
  700. package/src/endpoints/bridged-node.ts +1 -1
  701. package/src/endpoints/device-energy-management.ts +1 -1
  702. package/src/endpoints/electrical-sensor.ts +1 -1
  703. package/src/endpoints/joint-fabric-administrator.ts +1 -1
  704. package/src/endpoints/ota-provider.ts +1 -1
  705. package/src/endpoints/ota-requestor.ts +1 -1
  706. package/src/endpoints/power-source.ts +1 -1
  707. package/src/endpoints/root.ts +1 -1
  708. package/src/endpoints/secondary-network-interface.ts +1 -1
  709. package/src/node/ServerNode.ts +1 -1
  710. package/src/node/client/Peers.ts +15 -0
  711. package/src/node/integration/ProtocolService.ts +1 -1
  712. package/src/node/paths/AttributePath.ts +3 -3
  713. package/src/node/paths/BasePath.ts +4 -4
  714. package/src/node/paths/CommandPath.ts +1 -1
  715. package/src/node/paths/EventPath.ts +1 -1
  716. package/src/node/server/InteractionServer.ts +113 -6
  717. package/src/tags/ClosureCabinetTag.ts +1 -1
  718. package/src/tags/ClosureCoveringTag.ts +1 -1
  719. package/src/tags/ClosurePanelTag.ts +1 -1
  720. package/src/tags/ClosureTag.ts +1 -1
  721. package/src/tags/ClosureWindowTag.ts +1 -1
  722. package/src/tags/CommodityTariffChronologyTag.ts +1 -1
  723. package/src/tags/CommodityTariffCommodityTag.ts +1 -1
  724. package/src/tags/CommodityTariffFlowTag.ts +1 -1
  725. package/src/tags/CommonAreaNamespaceTag.ts +1 -1
  726. package/src/tags/CommonClosureTag.ts +1 -1
  727. package/src/tags/CommonCompassDirectionTag.ts +1 -1
  728. package/src/tags/CommonCompassLocationTag.ts +1 -1
  729. package/src/tags/CommonDirectionTag.ts +1 -1
  730. package/src/tags/CommonLandmarkNamespaceTag.ts +1 -1
  731. package/src/tags/CommonLevelTag.ts +1 -1
  732. package/src/tags/CommonLocationTag.ts +1 -1
  733. package/src/tags/CommonNumberTag.ts +1 -1
  734. package/src/tags/CommonPositionTag.ts +1 -1
  735. package/src/tags/CommonRelativePositionTag.ts +1 -1
  736. package/src/tags/ElectricalMeasurementTag.ts +1 -1
  737. package/src/tags/IdentifiedHumanActivityTag.ts +71 -0
  738. package/src/tags/IdentifiedObjectTag.ts +99 -0
  739. package/src/tags/IdentifiedSoundTag.ts +134 -0
  740. package/src/tags/LaundryTag.ts +1 -1
  741. package/src/tags/PowerSourceTag.ts +5 -5
  742. package/src/tags/RefrigeratorTag.ts +1 -1
  743. package/src/tags/RoomAirConditionerTag.ts +1 -1
  744. package/src/tags/SwitchesTag.ts +2 -2
  745. package/src/tags/index.ts +3 -0
@@ -7,7 +7,7 @@
7
7
  import { ActionContext } from "#behavior/context/ActionContext.js";
8
8
  import { OnlineEvent } from "#behavior/Events.js";
9
9
  import { NodeLifecycle } from "#node/NodeLifecycle.js";
10
- import { Diagnostic, ImplementationError, Logger } from "@matter/general";
10
+ import { Diagnostic, ImplementationError, Logger, MaybePromise } from "@matter/general";
11
11
  import { AttributeModel, EventModel, Schema, Specification } from "@matter/model";
12
12
  import { Fabric, FabricManager } from "@matter/protocol";
13
13
  import { DEFAULT_MAX_PATHS_PER_INVOKE, VendorId } from "@matter/types";
@@ -22,8 +22,20 @@ const Base = BasicInformationBehavior.enable({
22
22
  events: { startUp: true, shutDown: true, leave: true },
23
23
  }).set({ maxPathsPerInvoke: 0 });
24
24
 
25
+ // Advertised CapabilityMinima: the guaranteed minimums we promise clients (core §11.1). These are a floor, not a cap;
26
+ // the server accepts up to a higher hard ceiling and only blocks beyond it (see InteractionServer).
27
+ const DEFAULT_SIMULTANEOUS_INVOCATIONS_SUPPORTED = 20;
28
+ const DEFAULT_SIMULTANEOUS_WRITES_SUPPORTED = 20;
29
+ const DEFAULT_READ_PATHS_SUPPORTED = 20;
30
+ const DEFAULT_SUBSCRIBE_PATHS_SUPPORTED = 20;
31
+
25
32
  /**
26
33
  * This is the default server implementation of BasicInformationBehavior.
34
+ *
35
+ * `ConfigurationVersion` (mandatory since Matter 1.6) is seeded to 1 and constrained to only ever increase. When the
36
+ * node's configuration changes in a way clients should detect, bump it with {@link increaseConfigurationVersion},
37
+ * which runs your change and increments the version exactly once afterwards — do not set `configurationVersion`
38
+ * directly. Bridged nodes have their own version; see {@link BridgedDeviceBasicInformationServer}.
27
39
  */
28
40
  export class BasicInformationServer extends Base {
29
41
  override initialize() {
@@ -59,6 +71,21 @@ export class BasicInformationServer extends Base {
59
71
  setDefault("softwareVersionString", state.softwareVersion.toString());
60
72
  setDefault("specificationVersion", Specification.SPECIFICATION_VERSION);
61
73
  setDefault("maxPathsPerInvoke", DEFAULT_MAX_PATHS_PER_INVOKE);
74
+
75
+ setDefault("configurationVersion", 1);
76
+ this.reactTo(this.events.configurationVersion$Changing, this.#preventConfigurationVersionRegression);
77
+
78
+ const capabilityMinima = this.state.capabilityMinima;
79
+ this.state.capabilityMinima = {
80
+ ...capabilityMinima,
81
+ simultaneousInvocationsSupported:
82
+ capabilityMinima.simultaneousInvocationsSupported ?? DEFAULT_SIMULTANEOUS_INVOCATIONS_SUPPORTED,
83
+ simultaneousWritesSupported:
84
+ capabilityMinima.simultaneousWritesSupported ?? DEFAULT_SIMULTANEOUS_WRITES_SUPPORTED,
85
+ readPathsSupported: capabilityMinima.readPathsSupported ?? DEFAULT_READ_PATHS_SUPPORTED,
86
+ subscribePathsSupported: capabilityMinima.subscribePathsSupported ?? DEFAULT_SUBSCRIBE_PATHS_SUPPORTED,
87
+ };
88
+
62
89
  if (this.state.uniqueId === undefined) {
63
90
  this.state.uniqueId = BasicInformationServer.createUniqueId();
64
91
  }
@@ -91,6 +118,40 @@ export class BasicInformationServer extends Base {
91
118
  validateBasicInfoAttributes(this.state, logger);
92
119
  }
93
120
 
121
+ /**
122
+ * Run a configuration change and increase {@link BasicInformation.State.configurationVersion} afterwards.
123
+ *
124
+ * Use via the agent, e.g. `agent.get(BasicInformationServer).increaseConfigurationVersion(() => { ...changes... })`.
125
+ * The callback runs first and receives the acting {@link ActionContext}; the version is increased once it completes
126
+ * so a single logical change yields a single increment.
127
+ *
128
+ * To group changes across multiple bridged nodes into one transaction with a single bridge increment, perform the
129
+ * bridged-node changes inside this callback via the provided context and pass that context to
130
+ * {@link BridgedDeviceBasicInformationServer.increaseConfigurationVersion}.
131
+ */
132
+ async increaseConfigurationVersion<T = void>(change?: (context: ActionContext) => MaybePromise<T>): Promise<T> {
133
+ const result = await change?.(this.context);
134
+ this.state.configurationVersion = BasicInformationServer.nextConfigurationVersion(
135
+ this.state.configurationVersion,
136
+ );
137
+ return result as T;
138
+ }
139
+
140
+ /**
141
+ * Compute the next configuration version, wrapping at the uint32 maximum back to the minimum value of 1. The
142
+ * overflow behavior is not defined by the specification; see the spec-clarification follow-up.
143
+ */
144
+ static nextConfigurationVersion(current = 0) {
145
+ return current >= 0xffffffff ? 1 : current + 1;
146
+ }
147
+
148
+ #preventConfigurationVersionRegression(value: number, oldValue: number) {
149
+ // ConfigurationVersion must only ever increase; the sole exception is the wrap from the uint32 maximum
150
+ if (value < oldValue && oldValue !== 0xffffffff) {
151
+ throw new ImplementationError(`ConfigurationVersion must not decrease (${oldValue} -> ${value})`);
152
+ }
153
+ }
154
+
94
155
  static override readonly schema = this.enableUniqueIdPersistence(Base.schema);
95
156
 
96
157
  static enableUniqueIdPersistence(schema: Schema.Cluster): Schema.Cluster {
@@ -12,6 +12,9 @@ import { Identity } from "@matter/general";
12
12
 
13
13
  /**
14
14
  * BooleanStateBehavior is the base class for objects that support interaction with {@link BooleanState.Cluster}.
15
+ *
16
+ * This class does not have optional features of BooleanState.Cluster enabled. You can enable additional features using
17
+ * BooleanStateBehavior.with.
15
18
  */
16
19
  export const BooleanStateBehaviorConstructor = ClusterBehavior.for(BooleanState);
17
20
 
@@ -5,15 +5,22 @@
5
5
  */
6
6
 
7
7
  import { MaybePromise } from "@matter/general";
8
+ import { BooleanState } from "@matter/types/clusters/boolean-state";
8
9
  import { BooleanStateBehavior } from "./BooleanStateBehavior.js";
9
10
 
11
+ // Enable the ChangeEvent feature by default so the StateChange event is available and emitted as it was prior to 1.6,
12
+ // where the event became gated behind this feature.
13
+ const Base = BooleanStateBehavior.with(BooleanState.Feature.ChangeEvent);
14
+
10
15
  /**
11
16
  * This is the default server implementation of {@link BooleanStateBehavior}.
12
- * If the `StateChanged` event is enabled it is emitted automatically on state change.
17
+ * If the `StateChange` event is enabled it is emitted automatically on state change.
13
18
  */
14
- export class BooleanStateServer extends BooleanStateBehavior {
19
+ export class BooleanStateServer extends Base {
15
20
  override initialize(): MaybePromise {
16
- this.reactTo(this.events.stateValue$Changed, this.#emitStateChange);
21
+ if (this.features.changeEvent) {
22
+ this.reactTo(this.events.stateValue$Changed, this.#emitStateChange);
23
+ }
17
24
  }
18
25
 
19
26
  #emitStateChange(stateValue: boolean) {
@@ -4,10 +4,12 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { ActionContext } from "#behavior/context/ActionContext.js";
7
8
  import { BasicInformationServer, validateBasicInfoAttributes } from "#behaviors/basic-information";
8
9
  import { DescriptorServer } from "#behaviors/descriptor";
9
10
  import { AggregatorEndpoint } from "#endpoints/aggregator";
10
- import { ImplementationError, Logger } from "@matter/general";
11
+ import { RootEndpoint } from "#endpoints/root";
12
+ import { ImplementationError, Logger, MaybePromise } from "@matter/general";
11
13
  import { BridgedDeviceBasicInformationBehavior } from "./BridgedDeviceBasicInformationBehavior.js";
12
14
 
13
15
  const logger = Logger.get("BridgedDeviceBasicInformationServer");
@@ -16,6 +18,13 @@ const logger = Logger.get("BridgedDeviceBasicInformationServer");
16
18
  * This is the default server implementation of BridgedDeviceBasicInformationBehavior.
17
19
  *
18
20
  * All attributes are optional except for the "reachable" attribute.
21
+ *
22
+ * `ConfigurationVersion` is optional on bridged devices; enable it by providing an initial value when configuring the
23
+ * device. On a configuration change of the bridged node, bump it with {@link increaseConfigurationVersion} (which
24
+ * throws if not enabled); called standalone it also increments the bridge's {@link BasicInformationServer} version,
25
+ * since a bridged-node change is also a change of the bridge. To coalesce several bridged-node changes into a single
26
+ * bridge increment, drive them from {@link BasicInformationServer.increaseConfigurationVersion} and pass its `context`
27
+ * here.
19
28
  */
20
29
  export class BridgedDeviceBasicInformationServer extends BridgedDeviceBasicInformationBehavior {
21
30
  override async initialize() {
@@ -36,6 +45,51 @@ export class BridgedDeviceBasicInformationServer extends BridgedDeviceBasicInfor
36
45
  validateBasicInfoAttributes(this.state, logger);
37
46
  }
38
47
 
48
+ /**
49
+ * Run a configuration change for this bridged node and increase its ConfigurationVersion afterwards.
50
+ *
51
+ * A bridged-node configuration change is also a configuration change of the bridge itself. When called standalone
52
+ * the bridge's {@link BasicInformationServer} ConfigurationVersion is increased as well.
53
+ *
54
+ * To group changes across multiple bridged nodes into a single bridge increment, drive them from
55
+ * {@link BasicInformationServer.increaseConfigurationVersion} and pass its callback's `context` here: the change is
56
+ * applied in that shared transaction and the bridge increment is left to the enclosing call.
57
+ *
58
+ * `ConfigurationVersion` is optional on bridged devices. Throws if it is not enabled on this node — provide an
59
+ * initial `configurationVersion` value when configuring the device before calling this.
60
+ */
61
+ async increaseConfigurationVersion<T = void>(
62
+ change?: (context: ActionContext) => MaybePromise<T>,
63
+ context?: ActionContext,
64
+ ): Promise<T> {
65
+ if (this.state.configurationVersion === undefined) {
66
+ throw new ImplementationError(
67
+ "ConfigurationVersion is not enabled on this bridged device; set an initial configurationVersion " +
68
+ "value when configuring BridgedDeviceBasicInformation before calling increaseConfigurationVersion.",
69
+ );
70
+ }
71
+
72
+ const result = await change?.(context ?? this.context);
73
+
74
+ this.state.configurationVersion = BasicInformationServer.nextConfigurationVersion(
75
+ this.state.configurationVersion,
76
+ );
77
+
78
+ // A shared context means the bridge increment is owned by the enclosing change; only bump it standalone.
79
+ if (context === undefined) {
80
+ const root = this.endpoint.ownerOfType(RootEndpoint);
81
+ if (root !== undefined) {
82
+ const agent = root.agentFor(this.context);
83
+ const basicInformation = agent.get(BasicInformationServer);
84
+ await agent.context.transaction.addResources(basicInformation);
85
+ await agent.context.transaction.begin();
86
+ await basicInformation.increaseConfigurationVersion();
87
+ }
88
+ }
89
+
90
+ return result as T;
91
+ }
92
+
39
93
  static override readonly schema = BasicInformationServer.enableUniqueIdPersistence(
40
94
  BridgedDeviceBasicInformationBehavior.schema,
41
95
  );
@@ -45,7 +45,7 @@ export class ServerNodeFailsafeContext extends FailsafeContext {
45
45
  * Persist endpoint credentials and network configurations for restoration if commissioning does not complete.
46
46
  *
47
47
  * The Matter 1.2 specification makes it pretty clear that Matter supports configuration of multiple network
48
- * interfaces (e.g. @see {@link MatterSpecification.v11.Core} § 11.8.8 and § 2.3.2).
48
+ * interfaces (e.g. @see {@link MatterSpecification.v16.Core} § 11.9.8 and § 2.3.2).
49
49
  * {@link NetworkCommissioningCluster} of the primary interface is on the root endpoint. However it's not clear
50
50
  * where {@link NetworkCommissioningCluster} instances for secondary interfaces reside. To be on the safe side
51
51
  * we just assume any endpoint may support {@link NetworkCommissioningCluster}.
@@ -11,6 +11,7 @@ import { NetworkCommissioningServer } from "#behaviors/network-commissioning";
11
11
  import { TimeSynchronizationBehavior } from "#behaviors/time-synchronization";
12
12
  import type { Endpoint } from "#endpoint/Endpoint.js";
13
13
  import type { NodeLifecycle } from "#node/NodeLifecycle.js";
14
+ import { InteractionServer } from "#node/server/InteractionServer.js";
14
15
  import {
15
16
  Bytes,
16
17
  Duration,
@@ -26,10 +27,12 @@ import {
26
27
  Time,
27
28
  Timer,
28
29
  Timespan,
30
+ UINT16_MAX,
31
+ UINT32_MAX,
29
32
  } from "@matter/general";
30
33
  import { FieldElement, Specification } from "@matter/model";
31
- import { assertRemoteActor, MdnsService, Val } from "@matter/protocol";
32
- import { CommandId, Status, StatusResponseError, TlvInvokeResponse, TlvOfModel } from "@matter/types";
34
+ import { assertRemoteActor, MdnsService, SessionManager, Val } from "@matter/protocol";
35
+ import { CommandId, FabricIndex, Status, StatusResponseError, TlvInvokeResponse, TlvOfModel } from "@matter/types";
33
36
  import { GeneralDiagnostics } from "@matter/types/clusters/general-diagnostics";
34
37
  import { GeneralDiagnosticsBehavior } from "./GeneralDiagnosticsBehavior.js";
35
38
 
@@ -408,7 +411,7 @@ export namespace GeneralDiagnosticsServer {
408
411
  /** The TestEnableKey set for this device for the test commands. Default means "not enabled"." */
409
412
  deviceTestEnableKey: Bytes = new Uint8Array(16).fill(0);
410
413
 
411
- [Val.properties](endpoint: Endpoint, _session: ValueSupervisor.Session) {
414
+ [Val.properties](endpoint: Endpoint, session: ValueSupervisor.Session) {
412
415
  return {
413
416
  /**
414
417
  * Report uptime
@@ -450,6 +453,61 @@ export namespace GeneralDiagnosticsServer {
450
453
 
451
454
  return Hours.of(totalOperationalTime);
452
455
  },
456
+
457
+ /**
458
+ * Dynamically compute device load metrics (Matter 1.6, cluster rev 3) from InteractionServer counters
459
+ * and SessionManager. Quality "C" means changes are not pushed to subscribers; clients re-read.
460
+ *
461
+ * Returns a zeroed struct before the interaction server is online (so the attribute appears in the
462
+ * attributeList). Throws if the node is online but the required services are unexpectedly absent.
463
+ */
464
+ get deviceLoadStatus() {
465
+ const isOnline = (endpoint.lifecycle as NodeLifecycle).isOnline;
466
+
467
+ if (!endpoint.env.has(InteractionServer) || !endpoint.env.has(SessionManager)) {
468
+ if (isOnline) {
469
+ throw new StatusResponseError(
470
+ "DeviceLoadStatus unavailable: InteractionServer or SessionManager missing",
471
+ Status.Failure,
472
+ );
473
+ }
474
+ return {
475
+ currentSubscriptions: 0,
476
+ currentSubscriptionsForFabric: 0,
477
+ totalSubscriptionsEstablished: 0,
478
+ totalInteractionModelMessagesSent: 0,
479
+ totalInteractionModelMessagesReceived: 0,
480
+ };
481
+ }
482
+
483
+ const sessionManager = endpoint.env.get(SessionManager);
484
+ const { counters } = endpoint.env.get(InteractionServer);
485
+ const accessingFabric = session.fabric ?? FabricIndex.NO_FABRIC;
486
+
487
+ let currentSubscriptions = 0;
488
+ let currentSubscriptionsForFabric = 0;
489
+ for (const sess of sessionManager.sessions) {
490
+ const count = sess.subscriptions.size;
491
+ currentSubscriptions += count;
492
+ if (sess.fabric?.fabricIndex === accessingFabric) {
493
+ currentSubscriptionsForFabric += count;
494
+ }
495
+ }
496
+
497
+ return {
498
+ currentSubscriptions: Math.min(currentSubscriptions, UINT16_MAX),
499
+ currentSubscriptionsForFabric: Math.min(currentSubscriptionsForFabric, UINT16_MAX),
500
+ totalSubscriptionsEstablished: Math.min(counters.totalSubscriptionsEstablished, UINT32_MAX),
501
+ totalInteractionModelMessagesSent: Math.min(
502
+ counters.totalInteractionModelMessagesSent,
503
+ UINT32_MAX,
504
+ ),
505
+ totalInteractionModelMessagesReceived: Math.min(
506
+ counters.totalInteractionModelMessagesReceived,
507
+ UINT32_MAX,
508
+ ),
509
+ };
510
+ },
453
511
  };
454
512
  }
455
513
  }
@@ -13,6 +13,9 @@ import { Identity } from "@matter/general";
13
13
  /**
14
14
  * GroupKeyManagementBehavior is the base class for objects that support interaction with
15
15
  * {@link GroupKeyManagement.Cluster}.
16
+ *
17
+ * This class does not have optional features of GroupKeyManagement.Cluster enabled. You can enable additional features
18
+ * using GroupKeyManagementBehavior.with.
16
19
  */
17
20
  export const GroupKeyManagementBehaviorConstructor = ClusterBehavior.for(GroupKeyManagement);
18
21
 
@@ -23,15 +23,17 @@ const logger = Logger.get("GroupKeyManagementServer");
23
23
 
24
24
  const MAX_64BIT_TIME = BigInt("0xffffffffffffffff");
25
25
 
26
+ const GroupKeyManagementBase = GroupKeyManagementBehavior;
27
+
26
28
  // Enhance the schema by a fabric scoped structure for the GroupKeySetStruct to enable persistence
27
- const groupKeySetStruct = GroupKeyManagementBehavior.schema.datatypes.require("GroupKeySetStruct");
29
+ const groupKeySetStruct = GroupKeyManagementBase.schema.datatypes.require("GroupKeySetStruct");
28
30
  const groupKeySetStructFS = groupKeySetStruct.extend(
29
31
  {
30
32
  name: "GroupKeySetStructFS",
31
33
  },
32
34
  FieldElement({ name: "FabricIndex", id: 0xfe, type: "FabricIndex", conformance: "M" }),
33
35
  );
34
- const schema = GroupKeyManagementBehavior.schema.extend(
36
+ const schema = GroupKeyManagementBase.schema.extend(
35
37
  {},
36
38
  groupKeySetStructFS,
37
39
  FieldElement(
@@ -49,7 +51,7 @@ const schema = GroupKeyManagementBehavior.schema.extend(
49
51
  /**
50
52
  * This is the default server implementation of {@link GroupKeyManagementBehavior}.
51
53
  */
52
- export class GroupKeyManagementServer extends GroupKeyManagementBehavior {
54
+ export class GroupKeyManagementServer extends GroupKeyManagementBase {
53
55
  declare readonly state: GroupKeyManagementServer.State;
54
56
  static override readonly schema = schema;
55
57
 
@@ -58,6 +60,13 @@ export class GroupKeyManagementServer extends GroupKeyManagementBehavior {
58
60
  throw new ImplementationError("The CacheAndSync feature is provisional. Do not use it.");
59
61
  }
60
62
 
63
+ // TODO: remove this guard once the Groupcast feature leaves provisional state in the Matter specification
64
+ if (this.features.groupcast) {
65
+ throw new ImplementationError(
66
+ "The Groupcast feature of GroupKeyManagement is provisional in Matter 1.6. Do not enable it.",
67
+ );
68
+ }
69
+
61
70
  // Validate the state
62
71
  this.reactTo(this.events.groupKeyMap$Changing, this.#validateGroupKeyMap);
63
72
  this.reactTo(this.events.groupTable$Changing, this.#validateGroupTable);
@@ -163,6 +172,17 @@ export class GroupKeyManagementServer extends GroupKeyManagementBehavior {
163
172
  }
164
173
 
165
174
  #validateGroupKeyMap(groupKeyMap: GroupKeyManagement.GroupKeyMap[]) {
175
+ // When GCAST is active and the fabric has adopted Groupcast, GroupKeyMap is read-only
176
+ if (this.features.groupcast && hasRemoteActor(this.context)) {
177
+ const fabricIndex = this.context.session?.fabric?.fabricIndex;
178
+ if (fabricIndex !== undefined && this.#isGroupcastAdoptedForFabric(fabricIndex)) {
179
+ throw new StatusResponseError(
180
+ "GroupKeyMap is read-only when GroupcastAdoption.GroupcastAdopted is true",
181
+ Status.InvalidInState,
182
+ );
183
+ }
184
+ }
185
+
166
186
  const knownGroupKeys = new Set<string>();
167
187
  for (const keySetId of this.state.groupKeySets) {
168
188
  const { groupKeySetId, fabricIndex } = keySetId;
@@ -422,10 +442,10 @@ export class GroupKeyManagementServer extends GroupKeyManagementBehavior {
422
442
  }
423
443
  this.state.groupKeySets.splice(existingIndex, 1);
424
444
 
425
- // If there exist any entries for the accessing fabric within the GroupKeyMap attribute that refer to the
426
- // GroupKeySetID just removed, then these entries SHALL be removed from that list.
445
+ // Per core§11.2.7.4.1: GroupKeyMap entries for the accessing fabric that refer to the removed key set SHALL be
446
+ // removed from the list.
427
447
  this.state.groupKeyMap = this.state.groupKeyMap.filter(
428
- ({ groupKeySetId: entryId }) => groupKeySetId !== entryId,
448
+ entry => entry.fabricIndex !== fabricIndex || entry.groupKeySetId !== groupKeySetId,
429
449
  );
430
450
 
431
451
  // Sync to Fabric group manager to remove too
@@ -517,10 +537,74 @@ export class GroupKeyManagementServer extends GroupKeyManagementBehavior {
517
537
  }
518
538
  return existing;
519
539
  }
540
+
541
+ #isGroupcastAdoptedForFabric(fabricIndex: FabricIndex): boolean {
542
+ if (!this.features.groupcast) return false;
543
+ if (!this.state.groupcastAdoption) return false;
544
+ return this.state.groupcastAdoption.some(entry => entry.fabricIndex === fabricIndex && entry.groupcastAdopted);
545
+ }
546
+
547
+ /**
548
+ * Returns whether a GroupKeySetId exists for a given fabric. Called by GroupcastServer to validate KeySetIDs.
549
+ */
550
+ validateKeySetId(fabricIndex: FabricIndex, keySetId: number): boolean {
551
+ if (keySetId === 0) {
552
+ // IPK key set always exists
553
+ return true;
554
+ }
555
+ return this.state.groupKeySets.some(
556
+ entry => entry.fabricIndex === fabricIndex && entry.groupKeySetId === keySetId,
557
+ );
558
+ }
559
+
560
+ /**
561
+ * Creates a new GroupKeySet for a Groupcast group key, bypassing normal KeySetWrite validation.
562
+ * Used by GroupcastServer when JoinGroup or UpdateGroupKey is called with a `key` parameter.
563
+ * The key set uses TrustFirst policy and epochStartTime0=IPK_DEFAULT_EPOCH_START_TIME (Matter epoch zero = Jan 1, 2000).
564
+ *
565
+ * @returns true on success, throws if the key set already exists or resources are exhausted
566
+ */
567
+ createKeySetForGroupcast(fabric: Fabric, keySetId: number, epochKey0: Uint8Array): Promise<void> {
568
+ const fabricIndex = fabric.fabricIndex;
569
+ const keySetsOfFabric = this.state.groupKeySets.filter(({ fabricIndex: fi }) => fi === fabricIndex).length + 1;
570
+ if (keySetsOfFabric >= this.state.maxGroupKeysPerFabric) {
571
+ throw new StatusResponseError(
572
+ `Too many group key sets for fabric ${fabricIndex}`,
573
+ Status.ResourceExhausted,
574
+ );
575
+ }
576
+ const groupKeySet: GroupKeyManagement.GroupKeySet & { fabricIndex: FabricIndex } = {
577
+ groupKeySetId: keySetId,
578
+ groupKeySecurityPolicy: GroupKeyManagement.GroupKeySecurityPolicy.TrustFirst,
579
+ epochKey0,
580
+ epochStartTime0: IPK_DEFAULT_EPOCH_START_TIME, // Matter epoch zero
581
+ epochKey1: null,
582
+ epochStartTime1: null,
583
+ epochKey2: null,
584
+ epochStartTime2: null,
585
+ fabricIndex,
586
+ };
587
+ this.state.groupKeySets.push(groupKeySet);
588
+ // Update the fabric group manager so the key is immediately usable
589
+ return fabric.groups.setFromGroupKeySet(groupKeySet);
590
+ }
591
+
592
+ setGroupcastAdopted(fabricIndex: FabricIndex, adopted: boolean) {
593
+ if (!this.state.groupcastAdoption) return;
594
+ const existing = this.state.groupcastAdoption.findIndex(e => e.fabricIndex === fabricIndex);
595
+ if (existing !== -1) {
596
+ this.state.groupcastAdoption[existing] = {
597
+ ...this.state.groupcastAdoption[existing],
598
+ groupcastAdopted: adopted,
599
+ };
600
+ } else {
601
+ this.state.groupcastAdoption.push({ fabricIndex, groupcastAdopted: adopted });
602
+ }
603
+ }
520
604
  }
521
605
 
522
606
  export namespace GroupKeyManagementServer {
523
- export class State extends GroupKeyManagementBehavior.State {
607
+ export class State extends GroupKeyManagementBase.State {
524
608
  /**
525
609
  * Extended state to hold and persist the group key sets for this server. This structure contains all
526
610
  * GroupKeySet entries for all fabrics beside the fabric specific entries of the groupKeyset 0
@@ -529,6 +613,12 @@ export namespace GroupKeyManagementServer {
529
613
 
530
614
  // Overwrite defaults to allow more than 3 group keys and 4 groups per fabric, because we can
531
615
  override maxGroupKeysPerFabric = 20; // The Minimum would be 3;
532
- override maxGroupsPerFabric = 21; // The Minimum would be 4;
616
+ override maxGroupsPerFabric = 22; // The Minimum would be 4. Aligned with Groupcast quota=floor(44/2).
617
+
618
+ /**
619
+ * Per-fabric Groupcast adoption state (provisional Matter 1.6 GCAST feature). Only present when the Groupcast
620
+ * feature is enabled; the default server rejects it while provisional.
621
+ */
622
+ declare groupcastAdoption?: GroupKeyManagement.GroupcastAdoption[];
533
623
  }
534
624
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
8
+
9
+ import { Groupcast } from "@matter/types/clusters/groupcast";
10
+ import { ClusterBehavior } from "../../behavior/cluster/ClusterBehavior.js";
11
+ import { Identity } from "@matter/general";
12
+
13
+ /**
14
+ * GroupcastBehavior is the base class for objects that support interaction with {@link Groupcast.Cluster}.
15
+ *
16
+ * Groupcast.Cluster requires you to enable one or more optional features. You can do so using
17
+ * {@link GroupcastBehavior.with}.
18
+ */
19
+ export const GroupcastBehaviorConstructor = ClusterBehavior.for(Groupcast);
20
+
21
+ export interface GroupcastBehaviorConstructor extends Identity<typeof GroupcastBehaviorConstructor> {}
22
+ export const GroupcastBehavior: GroupcastBehaviorConstructor = GroupcastBehaviorConstructor;
23
+ export interface GroupcastBehavior extends InstanceType<GroupcastBehaviorConstructor> {}
24
+ export namespace GroupcastBehavior { export interface State extends InstanceType<typeof GroupcastBehavior.State> {} }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
8
+
9
+ import { Groupcast } from "@matter/types/clusters/groupcast";
10
+ import { ClientBehavior } from "../../behavior/cluster/ClientBehavior.js";
11
+ import { Identity } from "@matter/general";
12
+
13
+ export const GroupcastClientConstructor = ClientBehavior(Groupcast);
14
+ export interface GroupcastClient extends InstanceType<typeof GroupcastClientConstructor> {}
15
+ export interface GroupcastClientConstructor extends Identity<typeof GroupcastClientConstructor> {}
16
+ export const GroupcastClient: GroupcastClientConstructor = GroupcastClientConstructor;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
8
+
9
+ import { MaybePromise } from "@matter/general";
10
+ import { Groupcast } from "@matter/types/clusters/groupcast";
11
+
12
+ export namespace GroupcastInterface {
13
+ export interface Base {
14
+ joinGroup(request: Groupcast.JoinGroupRequest): MaybePromise;
15
+ leaveGroup(request: Groupcast.LeaveGroupRequest): MaybePromise<Groupcast.LeaveGroupResponse>;
16
+ updateGroupKey(request: Groupcast.UpdateGroupKeyRequest): MaybePromise;
17
+ groupcastTesting(request: Groupcast.GroupcastTestingRequest): MaybePromise;
18
+ }
19
+
20
+ export interface Listener {
21
+ configureAuxiliaryAcl(request: Groupcast.ConfigureAuxiliaryAclRequest): MaybePromise;
22
+ }
23
+ }
24
+
25
+ export type GroupcastInterface = {
26
+ components: [
27
+ { flags: {}, methods: GroupcastInterface.Base },
28
+ { flags: { listener: true }, methods: GroupcastInterface.Listener }
29
+ ]
30
+ };