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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/dist/cjs/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  2. package/dist/cjs/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  3. package/dist/cjs/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +6 -6
  4. package/dist/cjs/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  5. package/dist/cjs/cluster/mutation/MutableCluster.d.ts +7 -7
  6. package/dist/cjs/cluster/mutation/MutableCluster.d.ts.map +1 -1
  7. package/dist/cjs/cluster/mutation/MutableCluster.js +4 -4
  8. package/dist/cjs/cluster/mutation/MutableCluster.js.map +1 -1
  9. package/dist/cjs/cluster/mutation/index.d.ts +1 -1
  10. package/dist/cjs/cluster/mutation/index.d.ts.map +1 -1
  11. package/dist/cjs/cluster/mutation/index.js +1 -1
  12. package/dist/cjs/cluster/mutation/index.js.map +1 -1
  13. package/dist/cjs/clusters/access-control.d.ts +96 -47
  14. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  15. package/dist/cjs/clusters/access-control.js +16 -8
  16. package/dist/cjs/clusters/access-control.js.map +1 -1
  17. package/dist/cjs/clusters/account-login.d.ts +20 -20
  18. package/dist/cjs/clusters/account-login.js +12 -12
  19. package/dist/cjs/clusters/actions.d.ts +36 -5
  20. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  21. package/dist/cjs/clusters/actions.js +26 -1
  22. package/dist/cjs/clusters/actions.js.map +1 -1
  23. package/dist/cjs/clusters/administrator-commissioning.d.ts +29 -25
  24. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  25. package/dist/cjs/clusters/administrator-commissioning.js +7 -6
  26. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  27. package/dist/cjs/clusters/air-quality.js +1 -1
  28. package/dist/cjs/clusters/air-quality.js.map +1 -1
  29. package/dist/cjs/clusters/alarm-base.d.ts +4 -4
  30. package/dist/cjs/clusters/alarm-base.js +2 -2
  31. package/dist/cjs/clusters/application-launcher.d.ts +49 -23
  32. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  33. package/dist/cjs/clusters/application-launcher.js +7 -3
  34. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  35. package/dist/cjs/clusters/basic-information.d.ts +22 -19
  36. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  37. package/dist/cjs/clusters/basic-information.js +21 -18
  38. package/dist/cjs/clusters/basic-information.js.map +1 -1
  39. package/dist/cjs/clusters/boolean-state-configuration.d.ts +15 -15
  40. package/dist/cjs/clusters/boolean-state-configuration.js +3 -3
  41. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +56 -12
  42. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  43. package/dist/cjs/clusters/bridged-device-basic-information.js +18 -4
  44. package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
  45. package/dist/cjs/clusters/channel.d.ts +12 -0
  46. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  47. package/dist/cjs/clusters/channel.js +4 -0
  48. package/dist/cjs/clusters/channel.js.map +1 -1
  49. package/dist/cjs/clusters/color-control.d.ts +128 -119
  50. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  51. package/dist/cjs/clusters/color-control.js +52 -68
  52. package/dist/cjs/clusters/color-control.js.map +1 -1
  53. package/dist/cjs/clusters/commissioner-control.d.ts +8 -4
  54. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -1
  55. package/dist/cjs/clusters/commissioner-control.js +5 -1
  56. package/dist/cjs/clusters/commissioner-control.js.map +1 -1
  57. package/dist/cjs/clusters/concentration-measurement.d.ts +7 -9
  58. package/dist/cjs/clusters/concentration-measurement.d.ts.map +1 -1
  59. package/dist/cjs/clusters/concentration-measurement.js +11 -12
  60. package/dist/cjs/clusters/concentration-measurement.js.map +1 -1
  61. package/dist/cjs/clusters/content-control.d.ts +44 -30
  62. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  63. package/dist/cjs/clusters/content-control.js +6 -6
  64. package/dist/cjs/clusters/content-control.js.map +1 -1
  65. package/dist/cjs/clusters/content-launcher.d.ts +32 -32
  66. package/dist/cjs/clusters/content-launcher.js +1 -1
  67. package/dist/cjs/clusters/descriptor.d.ts +43 -10
  68. package/dist/cjs/clusters/descriptor.d.ts.map +1 -1
  69. package/dist/cjs/clusters/descriptor.js +21 -4
  70. package/dist/cjs/clusters/descriptor.js.map +1 -1
  71. package/dist/cjs/clusters/device-energy-management-mode.d.ts +9 -0
  72. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  73. package/dist/cjs/clusters/device-energy-management-mode.js +3 -0
  74. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  75. package/dist/cjs/clusters/device-energy-management.d.ts +133 -24
  76. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  77. package/dist/cjs/clusters/device-energy-management.js +38 -12
  78. package/dist/cjs/clusters/device-energy-management.js.map +1 -1
  79. package/dist/cjs/clusters/dishwasher-alarm.d.ts +3 -3
  80. package/dist/cjs/clusters/dishwasher-alarm.js +1 -1
  81. package/dist/cjs/clusters/dishwasher-mode.d.ts +9 -0
  82. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  83. package/dist/cjs/clusters/dishwasher-mode.js +3 -0
  84. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  85. package/dist/cjs/clusters/door-lock.d.ts +182 -266
  86. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  87. package/dist/cjs/clusters/door-lock.js +80 -111
  88. package/dist/cjs/clusters/door-lock.js.map +1 -1
  89. package/dist/cjs/clusters/ecosystem-information.d.ts +93 -49
  90. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -1
  91. package/dist/cjs/clusters/ecosystem-information.js +36 -24
  92. package/dist/cjs/clusters/ecosystem-information.js.map +1 -1
  93. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +285 -209
  94. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  95. package/dist/cjs/clusters/electrical-energy-measurement.js +33 -13
  96. package/dist/cjs/clusters/electrical-energy-measurement.js.map +2 -2
  97. package/dist/cjs/clusters/electrical-power-measurement.d.ts +201 -126
  98. package/dist/cjs/clusters/electrical-power-measurement.d.ts.map +1 -1
  99. package/dist/cjs/clusters/electrical-power-measurement.js +45 -23
  100. package/dist/cjs/clusters/electrical-power-measurement.js.map +2 -2
  101. package/dist/cjs/clusters/energy-evse-mode.d.ts +9 -0
  102. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  103. package/dist/cjs/clusters/energy-evse-mode.js +3 -0
  104. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  105. package/dist/cjs/clusters/energy-evse.d.ts +61 -45
  106. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  107. package/dist/cjs/clusters/energy-evse.js +28 -33
  108. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  109. package/dist/cjs/clusters/energy-preference.d.ts +5 -9
  110. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  111. package/dist/cjs/clusters/energy-preference.js +1 -3
  112. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  113. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +59 -69
  114. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  115. package/dist/cjs/clusters/ethernet-network-diagnostics.js +21 -25
  116. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  117. package/dist/cjs/clusters/fan-control.d.ts +334 -148
  118. package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
  119. package/dist/cjs/clusters/fan-control.js +107 -56
  120. package/dist/cjs/clusters/fan-control.js.map +1 -1
  121. package/dist/cjs/clusters/flow-measurement.js +1 -1
  122. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  123. package/dist/cjs/clusters/general-commissioning.d.ts +90 -69
  124. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  125. package/dist/cjs/clusters/general-commissioning.js +26 -23
  126. package/dist/cjs/clusters/general-commissioning.js.map +1 -1
  127. package/dist/cjs/clusters/general-diagnostics.d.ts +51 -52
  128. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  129. package/dist/cjs/clusters/general-diagnostics.js +13 -13
  130. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  131. package/dist/cjs/clusters/group-key-management.d.ts +28 -22
  132. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  133. package/dist/cjs/clusters/group-key-management.js +13 -10
  134. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  135. package/dist/cjs/clusters/groups.d.ts +0 -12
  136. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  137. package/dist/cjs/clusters/groups.js +1 -7
  138. package/dist/cjs/clusters/groups.js.map +1 -1
  139. package/dist/cjs/clusters/icd-management.d.ts +809 -145
  140. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  141. package/dist/cjs/clusters/icd-management.js +182 -34
  142. package/dist/cjs/clusters/icd-management.js.map +1 -1
  143. package/dist/cjs/clusters/identify.d.ts +12 -1
  144. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  145. package/dist/cjs/clusters/identify.js +13 -2
  146. package/dist/cjs/clusters/identify.js.map +1 -1
  147. package/dist/cjs/clusters/illuminance-measurement.js +1 -1
  148. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  149. package/dist/cjs/clusters/index.d.ts +1 -5
  150. package/dist/cjs/clusters/index.d.ts.map +1 -1
  151. package/dist/cjs/clusters/index.js +3 -15
  152. package/dist/cjs/clusters/index.js.map +1 -1
  153. package/dist/cjs/clusters/joint-fabric-administrator.d.ts +424 -0
  154. package/dist/cjs/clusters/joint-fabric-administrator.d.ts.map +1 -0
  155. package/dist/cjs/clusters/joint-fabric-administrator.js +285 -0
  156. package/dist/cjs/clusters/joint-fabric-administrator.js.map +6 -0
  157. package/dist/cjs/clusters/joint-fabric-datastore.d.ts +1960 -805
  158. package/dist/cjs/clusters/joint-fabric-datastore.d.ts.map +1 -1
  159. package/dist/cjs/clusters/joint-fabric-datastore.js +990 -172
  160. package/dist/cjs/clusters/joint-fabric-datastore.js.map +2 -2
  161. package/dist/cjs/clusters/label.d.ts +9 -6
  162. package/dist/cjs/clusters/label.d.ts.map +1 -1
  163. package/dist/cjs/clusters/label.js +3 -2
  164. package/dist/cjs/clusters/label.js.map +1 -1
  165. package/dist/cjs/clusters/laundry-washer-controls.d.ts +9 -9
  166. package/dist/cjs/clusters/laundry-washer-controls.js +4 -4
  167. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  168. package/dist/cjs/clusters/laundry-washer-mode.d.ts +2 -2
  169. package/dist/cjs/clusters/level-control.d.ts +11 -15
  170. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  171. package/dist/cjs/clusters/level-control.js +8 -9
  172. package/dist/cjs/clusters/level-control.js.map +1 -1
  173. package/dist/cjs/clusters/media-playback.d.ts +138 -12
  174. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  175. package/dist/cjs/clusters/media-playback.js +41 -4
  176. package/dist/cjs/clusters/media-playback.js.map +1 -1
  177. package/dist/cjs/clusters/messages.d.ts +7 -7
  178. package/dist/cjs/clusters/messages.js +3 -3
  179. package/dist/cjs/clusters/microwave-oven-control.js +4 -4
  180. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  181. package/dist/cjs/clusters/microwave-oven-mode.d.ts +9 -0
  182. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  183. package/dist/cjs/clusters/microwave-oven-mode.js +3 -0
  184. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  185. package/dist/cjs/clusters/mode-base.d.ts +31 -2
  186. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  187. package/dist/cjs/clusters/mode-base.js +15 -2
  188. package/dist/cjs/clusters/mode-base.js.map +1 -1
  189. package/dist/cjs/clusters/mode-select.d.ts +7 -7
  190. package/dist/cjs/clusters/mode-select.js +2 -2
  191. package/dist/cjs/clusters/network-commissioning.d.ts +259 -201
  192. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  193. package/dist/cjs/clusters/network-commissioning.js +41 -27
  194. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.d.ts +14 -20
  196. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  197. package/dist/cjs/clusters/occupancy-sensing.js +4 -6
  198. package/dist/cjs/clusters/occupancy-sensing.js.map +1 -1
  199. package/dist/cjs/clusters/on-off.js +4 -4
  200. package/dist/cjs/clusters/on-off.js.map +1 -1
  201. package/dist/cjs/clusters/operational-credentials.d.ts +367 -77
  202. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.js +182 -38
  204. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  205. package/dist/cjs/clusters/operational-state.d.ts +29 -49
  206. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  207. package/dist/cjs/clusters/operational-state.js +7 -10
  208. package/dist/cjs/clusters/operational-state.js.map +1 -1
  209. package/dist/cjs/clusters/ota-software-update-provider.d.ts +54 -22
  210. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  211. package/dist/cjs/clusters/ota-software-update-provider.js +27 -11
  212. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +12 -10
  214. package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
  215. package/dist/cjs/clusters/ota-software-update-requestor.js +6 -5
  216. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  217. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +5 -5
  218. package/dist/cjs/clusters/oven-cavity-operational-state.js +3 -3
  219. package/dist/cjs/clusters/oven-mode.d.ts +150 -0
  220. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  221. package/dist/cjs/clusters/oven-mode.js +51 -1
  222. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  223. package/dist/cjs/clusters/power-source.d.ts +18 -6
  224. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  225. package/dist/cjs/clusters/power-source.js +6 -2
  226. package/dist/cjs/clusters/power-source.js.map +1 -1
  227. package/dist/cjs/clusters/pressure-measurement.d.ts +18 -9
  228. package/dist/cjs/clusters/pressure-measurement.d.ts.map +1 -1
  229. package/dist/cjs/clusters/pressure-measurement.js +10 -7
  230. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  231. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +46 -37
  232. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.js +15 -12
  234. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  235. package/dist/cjs/clusters/refrigerator-alarm.d.ts +3 -3
  236. package/dist/cjs/clusters/refrigerator-alarm.js +1 -1
  237. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  238. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  239. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  241. package/dist/cjs/clusters/resource-monitoring.js +1 -1
  242. package/dist/cjs/clusters/resource-monitoring.js.map +1 -1
  243. package/dist/cjs/clusters/rvc-clean-mode.d.ts +16 -3
  244. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  245. package/dist/cjs/clusters/rvc-clean-mode.js +5 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  247. package/dist/cjs/clusters/rvc-operational-state.d.ts +78 -49
  248. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  249. package/dist/cjs/clusters/rvc-operational-state.js +19 -11
  250. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  251. package/dist/cjs/clusters/rvc-run-mode.d.ts +9 -0
  252. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  253. package/dist/cjs/clusters/rvc-run-mode.js +3 -0
  254. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  255. package/dist/cjs/clusters/scenes-management.d.ts +14 -45
  256. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  257. package/dist/cjs/clusters/scenes-management.js +7 -22
  258. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  259. package/dist/cjs/clusters/service-area.d.ts +36 -40
  260. package/dist/cjs/clusters/service-area.d.ts.map +1 -1
  261. package/dist/cjs/clusters/service-area.js +10 -12
  262. package/dist/cjs/clusters/service-area.js.map +1 -1
  263. package/dist/cjs/clusters/smoke-co-alarm.d.ts +4 -9
  264. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  265. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  266. package/dist/cjs/clusters/software-diagnostics.d.ts +52 -51
  267. package/dist/cjs/clusters/software-diagnostics.d.ts.map +1 -1
  268. package/dist/cjs/clusters/software-diagnostics.js +17 -17
  269. package/dist/cjs/clusters/software-diagnostics.js.map +1 -1
  270. package/dist/cjs/clusters/switch.d.ts +20 -17
  271. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  272. package/dist/cjs/clusters/switch.js +9 -8
  273. package/dist/cjs/clusters/switch.js.map +1 -1
  274. package/dist/cjs/clusters/temperature-control.d.ts +18 -9
  275. package/dist/cjs/clusters/temperature-control.d.ts.map +1 -1
  276. package/dist/cjs/clusters/temperature-control.js +7 -4
  277. package/dist/cjs/clusters/temperature-control.js.map +1 -1
  278. package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  279. package/dist/cjs/clusters/thermostat-user-interface-configuration.js +2 -10
  280. package/dist/cjs/clusters/thermostat-user-interface-configuration.js.map +1 -1
  281. package/dist/cjs/clusters/thermostat.d.ts +406 -420
  282. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  283. package/dist/cjs/clusters/thermostat.js +89 -101
  284. package/dist/cjs/clusters/thermostat.js.map +1 -1
  285. package/dist/cjs/clusters/thread-border-router-management.d.ts +9 -9
  286. package/dist/cjs/clusters/thread-border-router-management.js +5 -5
  287. package/dist/cjs/clusters/thread-border-router-management.js.map +1 -1
  288. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +479 -504
  289. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  290. package/dist/cjs/clusters/thread-network-diagnostics.js +171 -181
  291. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  292. package/dist/cjs/clusters/thread-network-directory.d.ts +3 -3
  293. package/dist/cjs/clusters/thread-network-directory.js +5 -5
  294. package/dist/cjs/clusters/thread-network-directory.js.map +1 -1
  295. package/dist/cjs/clusters/time-synchronization.d.ts +159 -127
  296. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  297. package/dist/cjs/clusters/time-synchronization.js +52 -42
  298. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  299. package/dist/cjs/clusters/unit-localization.d.ts +51 -13
  300. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  301. package/dist/cjs/clusters/unit-localization.js +22 -4
  302. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  303. package/dist/cjs/clusters/valve-configuration-and-control.d.ts.map +1 -1
  304. package/dist/cjs/clusters/valve-configuration-and-control.js +8 -12
  305. package/dist/cjs/clusters/valve-configuration-and-control.js.map +1 -1
  306. package/dist/cjs/clusters/water-heater-management.d.ts +2 -14
  307. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -1
  308. package/dist/cjs/clusters/water-heater-management.js +5 -9
  309. package/dist/cjs/clusters/water-heater-management.js.map +1 -1
  310. package/dist/cjs/clusters/water-heater-mode.d.ts +9 -0
  311. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -1
  312. package/dist/cjs/clusters/water-heater-mode.js +3 -0
  313. package/dist/cjs/clusters/water-heater-mode.js.map +1 -1
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +20 -26
  317. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  318. package/dist/cjs/clusters/wi-fi-network-management.d.ts +39 -1
  319. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -1
  320. package/dist/cjs/clusters/wi-fi-network-management.js +22 -3
  321. package/dist/cjs/clusters/wi-fi-network-management.js.map +1 -1
  322. package/dist/cjs/clusters/window-covering.d.ts +105 -3
  323. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  324. package/dist/cjs/clusters/window-covering.js +35 -1
  325. package/dist/cjs/clusters/window-covering.js.map +1 -1
  326. package/dist/cjs/globals/Currency.d.ts +27 -0
  327. package/dist/cjs/globals/Currency.d.ts.map +1 -0
  328. package/dist/cjs/globals/{Tod.js → Currency.js} +8 -22
  329. package/dist/cjs/globals/Currency.js.map +6 -0
  330. package/dist/cjs/globals/Locationdesc.d.ts +7 -7
  331. package/dist/cjs/globals/Locationdesc.js +5 -5
  332. package/dist/cjs/globals/MeasurementAccuracy.d.ts +5 -5
  333. package/dist/cjs/globals/MeasurementAccuracy.js +3 -3
  334. package/dist/cjs/globals/MeasurementAccuracyRange.d.ts +10 -10
  335. package/dist/cjs/globals/MeasurementAccuracyRange.js +8 -8
  336. package/dist/cjs/globals/MeasurementType.d.ts +14 -2
  337. package/dist/cjs/globals/MeasurementType.d.ts.map +1 -1
  338. package/dist/cjs/globals/MeasurementType.js +3 -0
  339. package/dist/cjs/globals/MeasurementType.js.map +1 -1
  340. package/dist/cjs/globals/Namespace.d.ts +13 -3
  341. package/dist/cjs/globals/Namespace.d.ts.map +1 -1
  342. package/dist/cjs/globals/Namespace.js.map +1 -1
  343. package/dist/cjs/globals/Price.d.ts +30 -0
  344. package/dist/cjs/globals/Price.d.ts.map +1 -0
  345. package/dist/cjs/globals/Price.js +33 -0
  346. package/dist/cjs/globals/Price.js.map +6 -0
  347. package/dist/cjs/globals/Priority.d.ts +1 -1
  348. package/dist/cjs/globals/Semtag.d.ts +9 -9
  349. package/dist/cjs/globals/Semtag.js +7 -7
  350. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  351. package/dist/cjs/globals/Status.d.ts +24 -5
  352. package/dist/cjs/globals/Status.d.ts.map +1 -1
  353. package/dist/cjs/globals/Status.js +3 -0
  354. package/dist/cjs/globals/Status.js.map +1 -1
  355. package/dist/cjs/globals/ThreeLevelAuto.d.ts +33 -0
  356. package/dist/cjs/globals/ThreeLevelAuto.d.ts.map +1 -0
  357. package/dist/cjs/globals/ThreeLevelAuto.js +36 -0
  358. package/dist/cjs/globals/ThreeLevelAuto.js.map +6 -0
  359. package/dist/cjs/globals/WildcardPathFlags.d.ts +2 -2
  360. package/dist/cjs/globals/WildcardPathFlags.js +1 -1
  361. package/dist/cjs/globals/index.d.ts +3 -1
  362. package/dist/cjs/globals/index.d.ts.map +1 -1
  363. package/dist/cjs/globals/index.js +3 -1
  364. package/dist/cjs/globals/index.js.map +1 -1
  365. package/dist/esm/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  366. package/dist/esm/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  367. package/dist/esm/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +3 -3
  368. package/dist/esm/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  369. package/dist/esm/cluster/mutation/MutableCluster.d.ts +7 -7
  370. package/dist/esm/cluster/mutation/MutableCluster.d.ts.map +1 -1
  371. package/dist/esm/cluster/mutation/MutableCluster.js +4 -4
  372. package/dist/esm/cluster/mutation/MutableCluster.js.map +1 -1
  373. package/dist/esm/cluster/mutation/index.d.ts +1 -1
  374. package/dist/esm/cluster/mutation/index.d.ts.map +1 -1
  375. package/dist/esm/cluster/mutation/index.js +1 -1
  376. package/dist/esm/clusters/access-control.d.ts +96 -47
  377. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  378. package/dist/esm/clusters/access-control.js +16 -8
  379. package/dist/esm/clusters/access-control.js.map +1 -1
  380. package/dist/esm/clusters/account-login.d.ts +20 -20
  381. package/dist/esm/clusters/account-login.js +12 -12
  382. package/dist/esm/clusters/actions.d.ts +36 -5
  383. package/dist/esm/clusters/actions.d.ts.map +1 -1
  384. package/dist/esm/clusters/actions.js +26 -1
  385. package/dist/esm/clusters/actions.js.map +1 -1
  386. package/dist/esm/clusters/administrator-commissioning.d.ts +29 -25
  387. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  388. package/dist/esm/clusters/administrator-commissioning.js +7 -6
  389. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  390. package/dist/esm/clusters/air-quality.js +1 -1
  391. package/dist/esm/clusters/air-quality.js.map +1 -1
  392. package/dist/esm/clusters/alarm-base.d.ts +4 -4
  393. package/dist/esm/clusters/alarm-base.js +2 -2
  394. package/dist/esm/clusters/application-launcher.d.ts +49 -23
  395. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  396. package/dist/esm/clusters/application-launcher.js +7 -3
  397. package/dist/esm/clusters/application-launcher.js.map +1 -1
  398. package/dist/esm/clusters/basic-information.d.ts +22 -19
  399. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  400. package/dist/esm/clusters/basic-information.js +22 -18
  401. package/dist/esm/clusters/basic-information.js.map +1 -1
  402. package/dist/esm/clusters/boolean-state-configuration.d.ts +15 -15
  403. package/dist/esm/clusters/boolean-state-configuration.js +3 -3
  404. package/dist/esm/clusters/bridged-device-basic-information.d.ts +56 -12
  405. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  406. package/dist/esm/clusters/bridged-device-basic-information.js +19 -4
  407. package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
  408. package/dist/esm/clusters/channel.d.ts +12 -0
  409. package/dist/esm/clusters/channel.d.ts.map +1 -1
  410. package/dist/esm/clusters/channel.js +4 -0
  411. package/dist/esm/clusters/channel.js.map +1 -1
  412. package/dist/esm/clusters/color-control.d.ts +128 -119
  413. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  414. package/dist/esm/clusters/color-control.js +52 -68
  415. package/dist/esm/clusters/color-control.js.map +1 -1
  416. package/dist/esm/clusters/commissioner-control.d.ts +8 -4
  417. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -1
  418. package/dist/esm/clusters/commissioner-control.js +5 -1
  419. package/dist/esm/clusters/commissioner-control.js.map +1 -1
  420. package/dist/esm/clusters/concentration-measurement.d.ts +7 -9
  421. package/dist/esm/clusters/concentration-measurement.d.ts.map +1 -1
  422. package/dist/esm/clusters/concentration-measurement.js +11 -12
  423. package/dist/esm/clusters/concentration-measurement.js.map +1 -1
  424. package/dist/esm/clusters/content-control.d.ts +44 -30
  425. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  426. package/dist/esm/clusters/content-control.js +6 -6
  427. package/dist/esm/clusters/content-control.js.map +1 -1
  428. package/dist/esm/clusters/content-launcher.d.ts +32 -32
  429. package/dist/esm/clusters/content-launcher.js +1 -1
  430. package/dist/esm/clusters/descriptor.d.ts +43 -10
  431. package/dist/esm/clusters/descriptor.d.ts.map +1 -1
  432. package/dist/esm/clusters/descriptor.js +22 -5
  433. package/dist/esm/clusters/descriptor.js.map +1 -1
  434. package/dist/esm/clusters/device-energy-management-mode.d.ts +9 -0
  435. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  436. package/dist/esm/clusters/device-energy-management-mode.js +3 -0
  437. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  438. package/dist/esm/clusters/device-energy-management.d.ts +133 -24
  439. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  440. package/dist/esm/clusters/device-energy-management.js +38 -12
  441. package/dist/esm/clusters/device-energy-management.js.map +1 -1
  442. package/dist/esm/clusters/dishwasher-alarm.d.ts +3 -3
  443. package/dist/esm/clusters/dishwasher-alarm.js +1 -1
  444. package/dist/esm/clusters/dishwasher-mode.d.ts +9 -0
  445. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  446. package/dist/esm/clusters/dishwasher-mode.js +3 -0
  447. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  448. package/dist/esm/clusters/door-lock.d.ts +182 -266
  449. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  450. package/dist/esm/clusters/door-lock.js +81 -112
  451. package/dist/esm/clusters/door-lock.js.map +1 -1
  452. package/dist/esm/clusters/ecosystem-information.d.ts +93 -49
  453. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -1
  454. package/dist/esm/clusters/ecosystem-information.js +37 -25
  455. package/dist/esm/clusters/ecosystem-information.js.map +1 -1
  456. package/dist/esm/clusters/electrical-energy-measurement.d.ts +285 -209
  457. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  458. package/dist/esm/clusters/electrical-energy-measurement.js +33 -13
  459. package/dist/esm/clusters/electrical-energy-measurement.js.map +2 -2
  460. package/dist/esm/clusters/electrical-power-measurement.d.ts +201 -126
  461. package/dist/esm/clusters/electrical-power-measurement.d.ts.map +1 -1
  462. package/dist/esm/clusters/electrical-power-measurement.js +45 -23
  463. package/dist/esm/clusters/electrical-power-measurement.js.map +2 -2
  464. package/dist/esm/clusters/energy-evse-mode.d.ts +9 -0
  465. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  466. package/dist/esm/clusters/energy-evse-mode.js +3 -0
  467. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  468. package/dist/esm/clusters/energy-evse.d.ts +61 -45
  469. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  470. package/dist/esm/clusters/energy-evse.js +28 -33
  471. package/dist/esm/clusters/energy-evse.js.map +1 -1
  472. package/dist/esm/clusters/energy-preference.d.ts +5 -9
  473. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  474. package/dist/esm/clusters/energy-preference.js +1 -3
  475. package/dist/esm/clusters/energy-preference.js.map +1 -1
  476. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +59 -69
  477. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  478. package/dist/esm/clusters/ethernet-network-diagnostics.js +21 -25
  479. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  480. package/dist/esm/clusters/fan-control.d.ts +334 -148
  481. package/dist/esm/clusters/fan-control.d.ts.map +1 -1
  482. package/dist/esm/clusters/fan-control.js +107 -56
  483. package/dist/esm/clusters/fan-control.js.map +1 -1
  484. package/dist/esm/clusters/flow-measurement.js +1 -1
  485. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  486. package/dist/esm/clusters/general-commissioning.d.ts +90 -69
  487. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  488. package/dist/esm/clusters/general-commissioning.js +26 -23
  489. package/dist/esm/clusters/general-commissioning.js.map +1 -1
  490. package/dist/esm/clusters/general-diagnostics.d.ts +51 -52
  491. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  492. package/dist/esm/clusters/general-diagnostics.js +13 -13
  493. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  494. package/dist/esm/clusters/group-key-management.d.ts +28 -22
  495. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  496. package/dist/esm/clusters/group-key-management.js +13 -10
  497. package/dist/esm/clusters/group-key-management.js.map +1 -1
  498. package/dist/esm/clusters/groups.d.ts +0 -12
  499. package/dist/esm/clusters/groups.d.ts.map +1 -1
  500. package/dist/esm/clusters/groups.js +1 -7
  501. package/dist/esm/clusters/groups.js.map +1 -1
  502. package/dist/esm/clusters/icd-management.d.ts +809 -145
  503. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  504. package/dist/esm/clusters/icd-management.js +182 -34
  505. package/dist/esm/clusters/icd-management.js.map +1 -1
  506. package/dist/esm/clusters/identify.d.ts +12 -1
  507. package/dist/esm/clusters/identify.d.ts.map +1 -1
  508. package/dist/esm/clusters/identify.js +13 -2
  509. package/dist/esm/clusters/identify.js.map +1 -1
  510. package/dist/esm/clusters/illuminance-measurement.js +1 -1
  511. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  512. package/dist/esm/clusters/index.d.ts +1 -5
  513. package/dist/esm/clusters/index.d.ts.map +1 -1
  514. package/dist/esm/clusters/index.js +3 -15
  515. package/dist/esm/clusters/index.js.map +1 -1
  516. package/dist/esm/clusters/joint-fabric-administrator.d.ts +424 -0
  517. package/dist/esm/clusters/joint-fabric-administrator.d.ts.map +1 -0
  518. package/dist/esm/clusters/joint-fabric-administrator.js +265 -0
  519. package/dist/esm/clusters/joint-fabric-administrator.js.map +6 -0
  520. package/dist/esm/clusters/joint-fabric-datastore.d.ts +1960 -805
  521. package/dist/esm/clusters/joint-fabric-datastore.d.ts.map +1 -1
  522. package/dist/esm/clusters/joint-fabric-datastore.js +993 -175
  523. package/dist/esm/clusters/joint-fabric-datastore.js.map +2 -2
  524. package/dist/esm/clusters/label.d.ts +9 -6
  525. package/dist/esm/clusters/label.d.ts.map +1 -1
  526. package/dist/esm/clusters/label.js +3 -2
  527. package/dist/esm/clusters/label.js.map +1 -1
  528. package/dist/esm/clusters/laundry-washer-controls.d.ts +9 -9
  529. package/dist/esm/clusters/laundry-washer-controls.js +4 -4
  530. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  531. package/dist/esm/clusters/laundry-washer-mode.d.ts +2 -2
  532. package/dist/esm/clusters/level-control.d.ts +11 -15
  533. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  534. package/dist/esm/clusters/level-control.js +8 -9
  535. package/dist/esm/clusters/level-control.js.map +1 -1
  536. package/dist/esm/clusters/media-playback.d.ts +138 -12
  537. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  538. package/dist/esm/clusters/media-playback.js +41 -4
  539. package/dist/esm/clusters/media-playback.js.map +1 -1
  540. package/dist/esm/clusters/messages.d.ts +7 -7
  541. package/dist/esm/clusters/messages.js +3 -3
  542. package/dist/esm/clusters/microwave-oven-control.js +4 -4
  543. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  544. package/dist/esm/clusters/microwave-oven-mode.d.ts +9 -0
  545. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  546. package/dist/esm/clusters/microwave-oven-mode.js +3 -0
  547. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  548. package/dist/esm/clusters/mode-base.d.ts +31 -2
  549. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  550. package/dist/esm/clusters/mode-base.js +15 -2
  551. package/dist/esm/clusters/mode-base.js.map +1 -1
  552. package/dist/esm/clusters/mode-select.d.ts +7 -7
  553. package/dist/esm/clusters/mode-select.js +2 -2
  554. package/dist/esm/clusters/network-commissioning.d.ts +259 -201
  555. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  556. package/dist/esm/clusters/network-commissioning.js +41 -27
  557. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  558. package/dist/esm/clusters/occupancy-sensing.d.ts +14 -20
  559. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  560. package/dist/esm/clusters/occupancy-sensing.js +4 -6
  561. package/dist/esm/clusters/occupancy-sensing.js.map +1 -1
  562. package/dist/esm/clusters/on-off.js +4 -4
  563. package/dist/esm/clusters/on-off.js.map +1 -1
  564. package/dist/esm/clusters/operational-credentials.d.ts +367 -77
  565. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  566. package/dist/esm/clusters/operational-credentials.js +183 -39
  567. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  568. package/dist/esm/clusters/operational-state.d.ts +29 -49
  569. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  570. package/dist/esm/clusters/operational-state.js +7 -10
  571. package/dist/esm/clusters/operational-state.js.map +1 -1
  572. package/dist/esm/clusters/ota-software-update-provider.d.ts +54 -22
  573. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  574. package/dist/esm/clusters/ota-software-update-provider.js +27 -11
  575. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  576. package/dist/esm/clusters/ota-software-update-requestor.d.ts +12 -10
  577. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  578. package/dist/esm/clusters/ota-software-update-requestor.js +6 -5
  579. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  580. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +5 -5
  581. package/dist/esm/clusters/oven-cavity-operational-state.js +3 -3
  582. package/dist/esm/clusters/oven-mode.d.ts +150 -0
  583. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  584. package/dist/esm/clusters/oven-mode.js +51 -1
  585. package/dist/esm/clusters/oven-mode.js.map +1 -1
  586. package/dist/esm/clusters/power-source.d.ts +18 -6
  587. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  588. package/dist/esm/clusters/power-source.js +6 -2
  589. package/dist/esm/clusters/power-source.js.map +1 -1
  590. package/dist/esm/clusters/pressure-measurement.d.ts +18 -9
  591. package/dist/esm/clusters/pressure-measurement.d.ts.map +1 -1
  592. package/dist/esm/clusters/pressure-measurement.js +10 -7
  593. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  594. package/dist/esm/clusters/pump-configuration-and-control.d.ts +46 -37
  595. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  596. package/dist/esm/clusters/pump-configuration-and-control.js +15 -12
  597. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  598. package/dist/esm/clusters/refrigerator-alarm.d.ts +3 -3
  599. package/dist/esm/clusters/refrigerator-alarm.js +1 -1
  600. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  601. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  602. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  603. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  604. package/dist/esm/clusters/resource-monitoring.js +1 -1
  605. package/dist/esm/clusters/resource-monitoring.js.map +1 -1
  606. package/dist/esm/clusters/rvc-clean-mode.d.ts +16 -3
  607. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  608. package/dist/esm/clusters/rvc-clean-mode.js +5 -1
  609. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  610. package/dist/esm/clusters/rvc-operational-state.d.ts +78 -49
  611. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  612. package/dist/esm/clusters/rvc-operational-state.js +19 -11
  613. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  614. package/dist/esm/clusters/rvc-run-mode.d.ts +9 -0
  615. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  616. package/dist/esm/clusters/rvc-run-mode.js +3 -0
  617. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  618. package/dist/esm/clusters/scenes-management.d.ts +14 -45
  619. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  620. package/dist/esm/clusters/scenes-management.js +8 -30
  621. package/dist/esm/clusters/scenes-management.js.map +1 -1
  622. package/dist/esm/clusters/service-area.d.ts +36 -40
  623. package/dist/esm/clusters/service-area.d.ts.map +1 -1
  624. package/dist/esm/clusters/service-area.js +10 -12
  625. package/dist/esm/clusters/service-area.js.map +1 -1
  626. package/dist/esm/clusters/smoke-co-alarm.d.ts +4 -9
  627. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  628. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  629. package/dist/esm/clusters/software-diagnostics.d.ts +52 -51
  630. package/dist/esm/clusters/software-diagnostics.d.ts.map +1 -1
  631. package/dist/esm/clusters/software-diagnostics.js +17 -17
  632. package/dist/esm/clusters/software-diagnostics.js.map +1 -1
  633. package/dist/esm/clusters/switch.d.ts +20 -17
  634. package/dist/esm/clusters/switch.d.ts.map +1 -1
  635. package/dist/esm/clusters/switch.js +9 -8
  636. package/dist/esm/clusters/switch.js.map +1 -1
  637. package/dist/esm/clusters/temperature-control.d.ts +18 -9
  638. package/dist/esm/clusters/temperature-control.d.ts.map +1 -1
  639. package/dist/esm/clusters/temperature-control.js +7 -4
  640. package/dist/esm/clusters/temperature-control.js.map +1 -1
  641. package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  642. package/dist/esm/clusters/thermostat-user-interface-configuration.js +2 -10
  643. package/dist/esm/clusters/thermostat-user-interface-configuration.js.map +1 -1
  644. package/dist/esm/clusters/thermostat.d.ts +406 -420
  645. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  646. package/dist/esm/clusters/thermostat.js +89 -101
  647. package/dist/esm/clusters/thermostat.js.map +1 -1
  648. package/dist/esm/clusters/thread-border-router-management.d.ts +9 -9
  649. package/dist/esm/clusters/thread-border-router-management.js +5 -5
  650. package/dist/esm/clusters/thread-border-router-management.js.map +1 -1
  651. package/dist/esm/clusters/thread-network-diagnostics.d.ts +479 -504
  652. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  653. package/dist/esm/clusters/thread-network-diagnostics.js +171 -181
  654. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  655. package/dist/esm/clusters/thread-network-directory.d.ts +3 -3
  656. package/dist/esm/clusters/thread-network-directory.js +5 -5
  657. package/dist/esm/clusters/thread-network-directory.js.map +1 -1
  658. package/dist/esm/clusters/time-synchronization.d.ts +159 -127
  659. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  660. package/dist/esm/clusters/time-synchronization.js +52 -42
  661. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  662. package/dist/esm/clusters/unit-localization.d.ts +51 -13
  663. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  664. package/dist/esm/clusters/unit-localization.js +23 -5
  665. package/dist/esm/clusters/unit-localization.js.map +1 -1
  666. package/dist/esm/clusters/valve-configuration-and-control.d.ts.map +1 -1
  667. package/dist/esm/clusters/valve-configuration-and-control.js +8 -12
  668. package/dist/esm/clusters/valve-configuration-and-control.js.map +1 -1
  669. package/dist/esm/clusters/water-heater-management.d.ts +2 -14
  670. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -1
  671. package/dist/esm/clusters/water-heater-management.js +5 -9
  672. package/dist/esm/clusters/water-heater-management.js.map +1 -1
  673. package/dist/esm/clusters/water-heater-mode.d.ts +9 -0
  674. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -1
  675. package/dist/esm/clusters/water-heater-mode.js +3 -0
  676. package/dist/esm/clusters/water-heater-mode.js.map +1 -1
  677. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  678. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  679. package/dist/esm/clusters/wi-fi-network-diagnostics.js +20 -26
  680. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  681. package/dist/esm/clusters/wi-fi-network-management.d.ts +39 -1
  682. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -1
  683. package/dist/esm/clusters/wi-fi-network-management.js +22 -3
  684. package/dist/esm/clusters/wi-fi-network-management.js.map +1 -1
  685. package/dist/esm/clusters/window-covering.d.ts +105 -3
  686. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  687. package/dist/esm/clusters/window-covering.js +35 -1
  688. package/dist/esm/clusters/window-covering.js.map +1 -1
  689. package/dist/esm/globals/Currency.d.ts +27 -0
  690. package/dist/esm/globals/Currency.d.ts.map +1 -0
  691. package/dist/esm/globals/Currency.js +15 -0
  692. package/dist/esm/globals/Currency.js.map +6 -0
  693. package/dist/esm/globals/Locationdesc.d.ts +7 -7
  694. package/dist/esm/globals/Locationdesc.js +5 -5
  695. package/dist/esm/globals/MeasurementAccuracy.d.ts +5 -5
  696. package/dist/esm/globals/MeasurementAccuracy.js +3 -3
  697. package/dist/esm/globals/MeasurementAccuracyRange.d.ts +10 -10
  698. package/dist/esm/globals/MeasurementAccuracyRange.js +8 -8
  699. package/dist/esm/globals/MeasurementType.d.ts +14 -2
  700. package/dist/esm/globals/MeasurementType.d.ts.map +1 -1
  701. package/dist/esm/globals/MeasurementType.js +3 -0
  702. package/dist/esm/globals/MeasurementType.js.map +1 -1
  703. package/dist/esm/globals/Namespace.d.ts +13 -3
  704. package/dist/esm/globals/Namespace.d.ts.map +1 -1
  705. package/dist/esm/globals/Namespace.js.map +1 -1
  706. package/dist/esm/globals/Price.d.ts +30 -0
  707. package/dist/esm/globals/Price.d.ts.map +1 -0
  708. package/dist/esm/globals/Price.js +13 -0
  709. package/dist/esm/globals/Price.js.map +6 -0
  710. package/dist/esm/globals/Priority.d.ts +1 -1
  711. package/dist/esm/globals/Semtag.d.ts +9 -9
  712. package/dist/esm/globals/Semtag.js +7 -7
  713. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  714. package/dist/esm/globals/Status.d.ts +24 -5
  715. package/dist/esm/globals/Status.d.ts.map +1 -1
  716. package/dist/esm/globals/Status.js +3 -0
  717. package/dist/esm/globals/Status.js.map +1 -1
  718. package/dist/esm/globals/ThreeLevelAuto.d.ts +33 -0
  719. package/dist/esm/globals/ThreeLevelAuto.d.ts.map +1 -0
  720. package/dist/esm/globals/ThreeLevelAuto.js +16 -0
  721. package/dist/esm/globals/ThreeLevelAuto.js.map +6 -0
  722. package/dist/esm/globals/WildcardPathFlags.d.ts +2 -2
  723. package/dist/esm/globals/WildcardPathFlags.js +1 -1
  724. package/dist/esm/globals/index.d.ts +3 -1
  725. package/dist/esm/globals/index.d.ts.map +1 -1
  726. package/dist/esm/globals/index.js +3 -1
  727. package/dist/esm/globals/index.js.map +1 -1
  728. package/package.json +5 -5
  729. package/src/cluster/mutation/{ElementModifier.ts → ClusterTypeModifier.ts} +9 -9
  730. package/src/cluster/mutation/MutableCluster.ts +14 -14
  731. package/src/cluster/mutation/index.ts +1 -1
  732. package/src/clusters/access-control.ts +26 -21
  733. package/src/clusters/account-login.ts +16 -16
  734. package/src/clusters/actions.ts +36 -5
  735. package/src/clusters/administrator-commissioning.ts +9 -8
  736. package/src/clusters/air-quality.ts +1 -1
  737. package/src/clusters/alarm-base.ts +2 -2
  738. package/src/clusters/application-launcher.ts +7 -3
  739. package/src/clusters/basic-information.ts +23 -18
  740. package/src/clusters/boolean-state-configuration.ts +3 -3
  741. package/src/clusters/bridged-device-basic-information.ts +24 -6
  742. package/src/clusters/channel.ts +4 -0
  743. package/src/clusters/color-control.ts +53 -69
  744. package/src/clusters/commissioner-control.ts +9 -5
  745. package/src/clusters/concentration-measurement.ts +12 -13
  746. package/src/clusters/content-control.ts +8 -6
  747. package/src/clusters/content-launcher.ts +2 -2
  748. package/src/clusters/descriptor.ts +25 -7
  749. package/src/clusters/device-energy-management-mode.ts +3 -0
  750. package/src/clusters/device-energy-management.ts +63 -13
  751. package/src/clusters/dishwasher-alarm.ts +1 -1
  752. package/src/clusters/dishwasher-mode.ts +3 -0
  753. package/src/clusters/door-lock.ts +102 -126
  754. package/src/clusters/ecosystem-information.ts +59 -31
  755. package/src/clusters/electrical-energy-measurement.ts +110 -17
  756. package/src/clusters/electrical-power-measurement.ts +116 -28
  757. package/src/clusters/energy-evse-mode.ts +3 -0
  758. package/src/clusters/energy-evse.ts +33 -38
  759. package/src/clusters/energy-preference.ts +3 -3
  760. package/src/clusters/ethernet-network-diagnostics.ts +21 -25
  761. package/src/clusters/fan-control.ts +109 -71
  762. package/src/clusters/flow-measurement.ts +1 -1
  763. package/src/clusters/general-commissioning.ts +43 -28
  764. package/src/clusters/general-diagnostics.ts +14 -14
  765. package/src/clusters/group-key-management.ts +15 -12
  766. package/src/clusters/groups.ts +1 -8
  767. package/src/clusters/icd-management.ts +213 -55
  768. package/src/clusters/identify.ts +13 -2
  769. package/src/clusters/illuminance-measurement.ts +1 -1
  770. package/src/clusters/index.ts +1 -5
  771. package/src/clusters/joint-fabric-administrator.ts +470 -0
  772. package/src/clusters/joint-fabric-datastore.ts +1433 -223
  773. package/src/clusters/label.ts +3 -2
  774. package/src/clusters/laundry-washer-controls.ts +4 -4
  775. package/src/clusters/laundry-washer-mode.ts +2 -2
  776. package/src/clusters/level-control.ts +9 -10
  777. package/src/clusters/media-playback.ts +45 -4
  778. package/src/clusters/messages.ts +3 -3
  779. package/src/clusters/microwave-oven-control.ts +4 -4
  780. package/src/clusters/microwave-oven-mode.ts +3 -0
  781. package/src/clusters/mode-base.ts +15 -2
  782. package/src/clusters/mode-select.ts +3 -3
  783. package/src/clusters/network-commissioning.ts +57 -31
  784. package/src/clusters/occupancy-sensing.ts +6 -8
  785. package/src/clusters/on-off.ts +4 -4
  786. package/src/clusters/operational-credentials.ts +336 -53
  787. package/src/clusters/operational-state.ts +7 -10
  788. package/src/clusters/ota-software-update-provider.ts +27 -11
  789. package/src/clusters/ota-software-update-requestor.ts +6 -5
  790. package/src/clusters/oven-cavity-operational-state.ts +3 -3
  791. package/src/clusters/oven-mode.ts +53 -1
  792. package/src/clusters/power-source.ts +6 -2
  793. package/src/clusters/pressure-measurement.ts +10 -7
  794. package/src/clusters/pump-configuration-and-control.ts +16 -13
  795. package/src/clusters/refrigerator-alarm.ts +1 -1
  796. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +3 -0
  797. package/src/clusters/resource-monitoring.ts +1 -1
  798. package/src/clusters/rvc-clean-mode.ts +10 -2
  799. package/src/clusters/rvc-operational-state.ts +70 -15
  800. package/src/clusters/rvc-run-mode.ts +3 -0
  801. package/src/clusters/scenes-management.ts +8 -31
  802. package/src/clusters/service-area.ts +10 -12
  803. package/src/clusters/smoke-co-alarm.ts +4 -9
  804. package/src/clusters/software-diagnostics.ts +17 -17
  805. package/src/clusters/switch.ts +11 -10
  806. package/src/clusters/temperature-control.ts +7 -4
  807. package/src/clusters/thermostat-user-interface-configuration.ts +2 -10
  808. package/src/clusters/thermostat.ts +138 -155
  809. package/src/clusters/thread-border-router-management.ts +6 -6
  810. package/src/clusters/thread-network-diagnostics.ts +171 -181
  811. package/src/clusters/thread-network-directory.ts +5 -5
  812. package/src/clusters/time-synchronization.ts +56 -44
  813. package/src/clusters/unit-localization.ts +24 -5
  814. package/src/clusters/valve-configuration-and-control.ts +8 -12
  815. package/src/clusters/water-heater-management.ts +5 -9
  816. package/src/clusters/water-heater-mode.ts +3 -0
  817. package/src/clusters/wi-fi-network-diagnostics.ts +23 -29
  818. package/src/clusters/wi-fi-network-management.ts +22 -3
  819. package/src/clusters/window-covering.ts +35 -1
  820. package/src/globals/Currency.ts +32 -0
  821. package/src/globals/Locationdesc.ts +7 -7
  822. package/src/globals/MeasurementAccuracy.ts +5 -5
  823. package/src/globals/MeasurementAccuracyRange.ts +10 -10
  824. package/src/globals/MeasurementType.ts +17 -2
  825. package/src/globals/Namespace.ts +13 -3
  826. package/src/globals/Price.ts +30 -0
  827. package/src/globals/Priority.ts +1 -1
  828. package/src/globals/Semtag.ts +9 -9
  829. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  830. package/src/globals/Status.ts +27 -5
  831. package/src/globals/ThreeLevelAuto.ts +37 -0
  832. package/src/globals/WildcardPathFlags.ts +2 -2
  833. package/src/globals/index.ts +3 -1
  834. package/dist/cjs/cluster/mutation/ElementModifier.d.ts.map +0 -1
  835. package/dist/cjs/clusters/ballast-configuration.d.ts +0 -243
  836. package/dist/cjs/clusters/ballast-configuration.d.ts.map +0 -1
  837. package/dist/cjs/clusters/ballast-configuration.js +0 -253
  838. package/dist/cjs/clusters/ballast-configuration.js.map +0 -6
  839. package/dist/cjs/clusters/joint-fabric-pki.d.ts +0 -172
  840. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +0 -1
  841. package/dist/cjs/clusters/joint-fabric-pki.js +0 -120
  842. package/dist/cjs/clusters/joint-fabric-pki.js.map +0 -6
  843. package/dist/cjs/clusters/proxy-configuration.d.ts +0 -79
  844. package/dist/cjs/clusters/proxy-configuration.d.ts.map +0 -1
  845. package/dist/cjs/clusters/proxy-configuration.js +0 -73
  846. package/dist/cjs/clusters/proxy-configuration.js.map +0 -6
  847. package/dist/cjs/clusters/proxy-discovery.d.ts +0 -98
  848. package/dist/cjs/clusters/proxy-discovery.d.ts.map +0 -1
  849. package/dist/cjs/clusters/proxy-discovery.js +0 -79
  850. package/dist/cjs/clusters/proxy-discovery.js.map +0 -6
  851. package/dist/cjs/clusters/valid-proxies.d.ts +0 -84
  852. package/dist/cjs/clusters/valid-proxies.d.ts.map +0 -1
  853. package/dist/cjs/clusters/valid-proxies.js +0 -68
  854. package/dist/cjs/clusters/valid-proxies.js.map +0 -6
  855. package/dist/cjs/globals/Tod.d.ts +0 -41
  856. package/dist/cjs/globals/Tod.d.ts.map +0 -1
  857. package/dist/cjs/globals/Tod.js.map +0 -6
  858. package/dist/esm/cluster/mutation/ElementModifier.d.ts.map +0 -1
  859. package/dist/esm/clusters/ballast-configuration.d.ts +0 -243
  860. package/dist/esm/clusters/ballast-configuration.d.ts.map +0 -1
  861. package/dist/esm/clusters/ballast-configuration.js +0 -233
  862. package/dist/esm/clusters/ballast-configuration.js.map +0 -6
  863. package/dist/esm/clusters/joint-fabric-pki.d.ts +0 -172
  864. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +0 -1
  865. package/dist/esm/clusters/joint-fabric-pki.js +0 -100
  866. package/dist/esm/clusters/joint-fabric-pki.js.map +0 -6
  867. package/dist/esm/clusters/proxy-configuration.d.ts +0 -79
  868. package/dist/esm/clusters/proxy-configuration.d.ts.map +0 -1
  869. package/dist/esm/clusters/proxy-configuration.js +0 -53
  870. package/dist/esm/clusters/proxy-configuration.js.map +0 -6
  871. package/dist/esm/clusters/proxy-discovery.d.ts +0 -98
  872. package/dist/esm/clusters/proxy-discovery.d.ts.map +0 -1
  873. package/dist/esm/clusters/proxy-discovery.js +0 -59
  874. package/dist/esm/clusters/proxy-discovery.js.map +0 -6
  875. package/dist/esm/clusters/valid-proxies.d.ts +0 -84
  876. package/dist/esm/clusters/valid-proxies.d.ts.map +0 -1
  877. package/dist/esm/clusters/valid-proxies.js +0 -48
  878. package/dist/esm/clusters/valid-proxies.js.map +0 -6
  879. package/dist/esm/globals/Tod.d.ts +0 -41
  880. package/dist/esm/globals/Tod.d.ts.map +0 -1
  881. package/dist/esm/globals/Tod.js +0 -29
  882. package/dist/esm/globals/Tod.js.map +0 -6
  883. package/src/clusters/ballast-configuration.ts +0 -268
  884. package/src/clusters/joint-fabric-pki.ts +0 -200
  885. package/src/clusters/proxy-configuration.ts +0 -77
  886. package/src/clusters/proxy-discovery.ts +0 -90
  887. package/src/clusters/valid-proxies.ts +0 -90
  888. package/src/globals/Tod.ts +0 -49
@@ -13,7 +13,7 @@ export declare namespace IcdManagement {
13
13
  /**
14
14
  * These are optional features supported by IcdManagementCluster.
15
15
  *
16
- * @see {@link MatterSpecification.v141.Core} § 9.17.4
16
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4
17
17
  */
18
18
  enum Feature {
19
19
  /**
@@ -22,7 +22,7 @@ export declare namespace IcdManagement {
22
22
  * When this feature is supported, the device shall support all the associated commands and attributes to
23
23
  * properly support the Check-In Protocol.
24
24
  *
25
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.1
25
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.1
26
26
  */
27
27
  CheckInProtocolSupport = "CheckInProtocolSupport",
28
28
  /**
@@ -30,7 +30,7 @@ export declare namespace IcdManagement {
30
30
  *
31
31
  * This feature is supported if and only if the device has a user active mode trigger.
32
32
  *
33
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.2
33
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.2
34
34
  */
35
35
  UserActiveModeTrigger = "UserActiveModeTrigger",
36
36
  /**
@@ -38,7 +38,7 @@ export declare namespace IcdManagement {
38
38
  *
39
39
  * This feature is supported if and only the device is a Long Idle Time ICD.
40
40
  *
41
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.3
41
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.3
42
42
  */
43
43
  LongIdleTimeSupport = "LongIdleTimeSupport",
44
44
  /**
@@ -47,12 +47,12 @@ export declare namespace IcdManagement {
47
47
  * This feature is supported if and only if the device can switch between SIT and LIT operating modes even if it
48
48
  * has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
49
49
  *
50
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.4
50
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.4
51
51
  */
52
52
  DynamicSitLitSupport = "DynamicSitLitSupport"
53
53
  }
54
54
  /**
55
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.1.1
55
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.1.1
56
56
  */
57
57
  enum ClientType {
58
58
  /**
@@ -65,14 +65,14 @@ export declare namespace IcdManagement {
65
65
  Ephemeral = 1
66
66
  }
67
67
  /**
68
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3
68
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3
69
69
  */
70
70
  const TlvMonitoringRegistration: import("../tlv/TlvObject.js").ObjectSchema<{
71
71
  /**
72
72
  * This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
73
73
  * MonitoredSubject is not subscribed.
74
74
  *
75
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.1
75
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
76
76
  */
77
77
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
78
78
  /**
@@ -95,46 +95,47 @@ export declare namespace IcdManagement {
95
95
  * the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
96
96
  * 0x0002 or higher within its NOC, then the entry matches.
97
97
  *
98
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.2
98
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
99
99
  */
100
100
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
101
101
  /**
102
102
  * This field shall indicate the client’s type to inform the ICD of the availability for communication of the
103
103
  * client.
104
104
  *
105
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.4
105
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
106
106
  */
107
107
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
108
108
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
109
109
  }>;
110
110
  /**
111
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3
111
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3
112
112
  */
113
113
  interface MonitoringRegistration extends TypeFromSchema<typeof TlvMonitoringRegistration> {
114
114
  }
115
115
  /**
116
116
  * Input to the IcdManagement registerClient command
117
117
  *
118
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1
118
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1
119
119
  */
120
120
  const TlvRegisterClientRequest: import("../tlv/TlvObject.js").ObjectSchema<{
121
121
  /**
122
122
  * This field shall provide the node ID to which a Check-In message will be sent if there are no active
123
123
  * subscriptions matching MonitoredSubject.
124
124
  *
125
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.1
125
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
126
126
  */
127
127
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
128
128
  /**
129
129
  * This field shall provide the monitored subject ID.
130
130
  *
131
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.2
131
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
132
132
  */
133
133
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
134
134
  /**
135
- * This field shall provide the shared secret between the client and the ICD to encrypt the Check-In message.
135
+ * This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
136
+ * encrypt Check-In messages from this ICD to the MonitoredSubject.
136
137
  *
137
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.3
138
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
138
139
  */
139
140
  key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
140
141
  /**
@@ -145,20 +146,75 @@ export declare namespace IcdManagement {
145
146
  * provided by clients with administrator permissions for the server cluster. The verification key shall be
146
147
  * ignored by the server if it is provided by a client with administrator permissions for the server cluster.
147
148
  *
148
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.4
149
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
149
150
  */
150
151
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
151
152
  /**
152
153
  * This field shall provide the client type of the client registering.
153
154
  *
154
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.5
155
+ * ### Effect on Receipt
156
+ *
157
+ * On receipt of the RegisterClient command, the server shall perform the following procedure:
158
+ *
159
+ * 1. The server verifies that an entry for the fabric is available in the server’s list of registered
160
+ * clients.
161
+ *
162
+ * a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
163
+ * CheckInNodeID, the server shall continue from step 2.
164
+ *
165
+ * b. If there is an available entry for the fabric, an entry is created for the fabric and the received
166
+ * CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
167
+ *
168
+ * c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
169
+ * server shall continue from step 6.
170
+ *
171
+ * 2. The server shall verify the privileges of the command’s ISD.
172
+ *
173
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
174
+ * continue from step 4.
175
+ *
176
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
177
+ * shall continue from step 3.
178
+ *
179
+ * 3. The server shall verify that the received verification key is equal to the key previously stored in the
180
+ * list of registered clients with the matching CheckInNodeID.
181
+ *
182
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
183
+ * continue from step 6.
184
+ *
185
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
186
+ * FAILURE. The server shall continue from step 6.
187
+ *
188
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
189
+ * step 4.
190
+ *
191
+ * 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
192
+ *
193
+ * a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
194
+ *
195
+ * b. If the update succeeds, the server shall continue from step 5.
196
+ *
197
+ * 5. The server shall persist the client information.
198
+ *
199
+ * a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
200
+ *
201
+ * b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
202
+ *
203
+ * 6. The server shall generate a response.
204
+ *
205
+ * a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
206
+ *
207
+ * b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
208
+ * to the evaluated error status.
209
+ *
210
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
155
211
  */
156
212
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
157
213
  }>;
158
214
  /**
159
215
  * Input to the IcdManagement registerClient command
160
216
  *
161
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1
217
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1
162
218
  */
163
219
  interface RegisterClientRequest extends TypeFromSchema<typeof TlvRegisterClientRequest> {
164
220
  }
@@ -166,7 +222,12 @@ export declare namespace IcdManagement {
166
222
  * This command shall be sent by the ICD Management Cluster server in response to a successful RegisterClient
167
223
  * command.
168
224
  *
169
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.2
225
+ * ### When Generated
226
+ *
227
+ * This command shall be generated in response to a successful RegisterClient command. The ICDCounter field shall be
228
+ * set to the ICDCounter attribute of the server.
229
+ *
230
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.2
170
231
  */
171
232
  const TlvRegisterClientResponse: import("../tlv/TlvObject.js").ObjectSchema<{
172
233
  icdCounter: import("../tlv/TlvObject.js").FieldType<number>;
@@ -175,20 +236,25 @@ export declare namespace IcdManagement {
175
236
  * This command shall be sent by the ICD Management Cluster server in response to a successful RegisterClient
176
237
  * command.
177
238
  *
178
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.2
239
+ * ### When Generated
240
+ *
241
+ * This command shall be generated in response to a successful RegisterClient command. The ICDCounter field shall be
242
+ * set to the ICDCounter attribute of the server.
243
+ *
244
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.2
179
245
  */
180
246
  interface RegisterClientResponse extends TypeFromSchema<typeof TlvRegisterClientResponse> {
181
247
  }
182
248
  /**
183
249
  * Input to the IcdManagement unregisterClient command
184
250
  *
185
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3
251
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3
186
252
  */
187
253
  const TlvUnregisterClientRequest: import("../tlv/TlvObject.js").ObjectSchema<{
188
254
  /**
189
255
  * This field shall provide the registered client node ID to remove from storage.
190
256
  *
191
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.1
257
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
192
258
  */
193
259
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
194
260
  /**
@@ -200,21 +266,75 @@ export declare namespace IcdManagement {
200
266
  * server cluster. The verification key shall be ignored by the server if it is provided by a client with
201
267
  * administrator permissions for the server cluster.
202
268
  *
203
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.2
269
+ * ### Effect on Receipt
270
+ *
271
+ * On receipt of the UnregisterClient command, the server shall perform the following procedure:
272
+ *
273
+ * 1. The server shall check whether there is a entry stored on the device for the fabric with the same
274
+ * CheckInNodeID.
275
+ *
276
+ * a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
277
+ * continue from step 6.
278
+ *
279
+ * b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
280
+ * from step 6.
281
+ *
282
+ * c. If there is at least one entry stored on the server for the fabric, the server shall continue from
283
+ * step 2.
284
+ *
285
+ * 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
286
+ * received in the command.
287
+ *
288
+ * a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
289
+ * continue from step 6.
290
+ *
291
+ * b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
292
+ *
293
+ * 3. The server shall check whether the ISD of the command has administrator permissions for the server
294
+ * cluster.
295
+ *
296
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
297
+ * continue from step 5.
298
+ *
299
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
300
+ * shall continue from step 4.
301
+ *
302
+ * 4. The server shall verify that the received verification key is equal to the key previously stored in the
303
+ * list of registered clients with the matching CheckInNodeID.
304
+ *
305
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
306
+ * continue from step 6.
307
+ *
308
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
309
+ * FAILURE. The server shall continue from step 6.
310
+ *
311
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
312
+ * step 5.
313
+ *
314
+ * 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
315
+ * change.
316
+ *
317
+ * a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
318
+ *
319
+ * b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
320
+ *
321
+ * 6. The server shall generate a response with the Status field set to the evaluated status.
322
+ *
323
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
204
324
  */
205
325
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
206
326
  }>;
207
327
  /**
208
328
  * Input to the IcdManagement unregisterClient command
209
329
  *
210
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3
330
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3
211
331
  */
212
332
  interface UnregisterClientRequest extends TypeFromSchema<typeof TlvUnregisterClientRequest> {
213
333
  }
214
334
  /**
215
335
  * See the UserActiveModeTriggerHint table for requirements associated to each bit.
216
336
  *
217
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.1
337
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.1
218
338
  */
219
339
  const UserActiveModeTrigger: {
220
340
  /**
@@ -287,7 +407,7 @@ export declare namespace IcdManagement {
287
407
  appDefinedButton: BitFlag;
288
408
  };
289
409
  /**
290
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.2
410
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.2
291
411
  */
292
412
  enum OperatingMode {
293
413
  /**
@@ -302,7 +422,7 @@ export declare namespace IcdManagement {
302
422
  /**
303
423
  * Input to the IcdManagement stayActiveRequest command
304
424
  *
305
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
425
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
306
426
  */
307
427
  const TlvStayActiveRequest: import("../tlv/TlvObject.js").ObjectSchema<{
308
428
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -310,7 +430,7 @@ export declare namespace IcdManagement {
310
430
  /**
311
431
  * Input to the IcdManagement stayActiveRequest command
312
432
  *
313
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
433
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
314
434
  */
315
435
  interface StayActiveRequest extends TypeFromSchema<typeof TlvStayActiveRequest> {
316
436
  }
@@ -318,17 +438,19 @@ export declare namespace IcdManagement {
318
438
  * This message shall be sent by the ICD in response to the StayActiveRequest command and shall contain the computed
319
439
  * duration (in milliseconds) that the ICD intends to stay active for.
320
440
  *
321
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5
441
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5
322
442
  */
323
443
  const TlvStayActiveResponse: import("../tlv/TlvObject.js").ObjectSchema<{
324
444
  /**
325
445
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
326
446
  * the StayActiveRequest command.
327
447
  *
448
+ * ### Minimum Value for PromisedActiveDuration
449
+ *
328
450
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
329
451
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
330
452
  *
331
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
453
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
332
454
  */
333
455
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
334
456
  }>;
@@ -336,7 +458,7 @@ export declare namespace IcdManagement {
336
458
  * This message shall be sent by the ICD in response to the StayActiveRequest command and shall contain the computed
337
459
  * duration (in milliseconds) that the ICD intends to stay active for.
338
460
  *
339
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5
461
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5
340
462
  */
341
463
  interface StayActiveResponse extends TypeFromSchema<typeof TlvStayActiveResponse> {
342
464
  }
@@ -351,14 +473,14 @@ export declare namespace IcdManagement {
351
473
  * fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
352
474
  * Operational Credentials cluster.
353
475
  *
354
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.4
476
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.4
355
477
  */
356
478
  readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
357
479
  /**
358
480
  * This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
359
481
  * MonitoredSubject is not subscribed.
360
482
  *
361
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.1
483
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
362
484
  */
363
485
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
364
486
  /**
@@ -381,14 +503,14 @@ export declare namespace IcdManagement {
381
503
  * the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
382
504
  * 0x0002 or higher within its NOC, then the entry matches.
383
505
  *
384
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.2
506
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
385
507
  */
386
508
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
387
509
  /**
388
510
  * This field shall indicate the client’s type to inform the ICD of the availability for communication of the
389
511
  * client.
390
512
  *
391
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.4
513
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
392
514
  */
393
515
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
394
516
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
@@ -396,14 +518,14 @@ export declare namespace IcdManagement {
396
518
  /**
397
519
  * This attribute returns the value of the ICD Counter.
398
520
  *
399
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.5
521
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.5
400
522
  */
401
523
  readonly icdCounter: Attribute<number, any>;
402
524
  /**
403
525
  * Indicates the maximum number of entries that the server is able to store for each fabric in the
404
526
  * RegisteredClients attribute.
405
527
  *
406
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.6
528
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.6
407
529
  */
408
530
  readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
409
531
  /**
@@ -412,7 +534,7 @@ export declare namespace IcdManagement {
412
534
  *
413
535
  * If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
414
536
  *
415
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.10
537
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.10
416
538
  */
417
539
  readonly maximumCheckInBackoff: FixedAttribute<number, any>;
418
540
  };
@@ -421,26 +543,27 @@ export declare namespace IcdManagement {
421
543
  * This command allows a client to register itself with the ICD to be notified when the device is available
422
544
  * for communication.
423
545
  *
424
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1
546
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1
425
547
  */
426
548
  readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
427
549
  /**
428
550
  * This field shall provide the node ID to which a Check-In message will be sent if there are no active
429
551
  * subscriptions matching MonitoredSubject.
430
552
  *
431
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.1
553
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
432
554
  */
433
555
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
434
556
  /**
435
557
  * This field shall provide the monitored subject ID.
436
558
  *
437
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.2
559
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
438
560
  */
439
561
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
440
562
  /**
441
- * This field shall provide the shared secret between the client and the ICD to encrypt the Check-In message.
563
+ * This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
564
+ * encrypt Check-In messages from this ICD to the MonitoredSubject.
442
565
  *
443
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.3
566
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
444
567
  */
445
568
  key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
446
569
  /**
@@ -451,13 +574,68 @@ export declare namespace IcdManagement {
451
574
  * provided by clients with administrator permissions for the server cluster. The verification key shall be
452
575
  * ignored by the server if it is provided by a client with administrator permissions for the server cluster.
453
576
  *
454
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.4
577
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
455
578
  */
456
579
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
457
580
  /**
458
581
  * This field shall provide the client type of the client registering.
459
582
  *
460
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.5
583
+ * ### Effect on Receipt
584
+ *
585
+ * On receipt of the RegisterClient command, the server shall perform the following procedure:
586
+ *
587
+ * 1. The server verifies that an entry for the fabric is available in the server’s list of registered
588
+ * clients.
589
+ *
590
+ * a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
591
+ * CheckInNodeID, the server shall continue from step 2.
592
+ *
593
+ * b. If there is an available entry for the fabric, an entry is created for the fabric and the received
594
+ * CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
595
+ *
596
+ * c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
597
+ * server shall continue from step 6.
598
+ *
599
+ * 2. The server shall verify the privileges of the command’s ISD.
600
+ *
601
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
602
+ * continue from step 4.
603
+ *
604
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
605
+ * shall continue from step 3.
606
+ *
607
+ * 3. The server shall verify that the received verification key is equal to the key previously stored in the
608
+ * list of registered clients with the matching CheckInNodeID.
609
+ *
610
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
611
+ * continue from step 6.
612
+ *
613
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
614
+ * FAILURE. The server shall continue from step 6.
615
+ *
616
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
617
+ * step 4.
618
+ *
619
+ * 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
620
+ *
621
+ * a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
622
+ *
623
+ * b. If the update succeeds, the server shall continue from step 5.
624
+ *
625
+ * 5. The server shall persist the client information.
626
+ *
627
+ * a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
628
+ *
629
+ * b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
630
+ *
631
+ * 6. The server shall generate a response.
632
+ *
633
+ * a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
634
+ *
635
+ * b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
636
+ * to the evaluated error status.
637
+ *
638
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
461
639
  */
462
640
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
463
641
  }>, import("../tlv/TlvObject.js").TypeFromFields<{
@@ -468,13 +646,13 @@ export declare namespace IcdManagement {
468
646
  * network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
469
647
  * send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
470
648
  *
471
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3
649
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3
472
650
  */
473
651
  readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
474
652
  /**
475
653
  * This field shall provide the registered client node ID to remove from storage.
476
654
  *
477
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.1
655
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
478
656
  */
479
657
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
480
658
  /**
@@ -486,7 +664,61 @@ export declare namespace IcdManagement {
486
664
  * server cluster. The verification key shall be ignored by the server if it is provided by a client with
487
665
  * administrator permissions for the server cluster.
488
666
  *
489
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.2
667
+ * ### Effect on Receipt
668
+ *
669
+ * On receipt of the UnregisterClient command, the server shall perform the following procedure:
670
+ *
671
+ * 1. The server shall check whether there is a entry stored on the device for the fabric with the same
672
+ * CheckInNodeID.
673
+ *
674
+ * a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
675
+ * continue from step 6.
676
+ *
677
+ * b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
678
+ * from step 6.
679
+ *
680
+ * c. If there is at least one entry stored on the server for the fabric, the server shall continue from
681
+ * step 2.
682
+ *
683
+ * 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
684
+ * received in the command.
685
+ *
686
+ * a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
687
+ * continue from step 6.
688
+ *
689
+ * b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
690
+ *
691
+ * 3. The server shall check whether the ISD of the command has administrator permissions for the server
692
+ * cluster.
693
+ *
694
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
695
+ * continue from step 5.
696
+ *
697
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
698
+ * shall continue from step 4.
699
+ *
700
+ * 4. The server shall verify that the received verification key is equal to the key previously stored in the
701
+ * list of registered clients with the matching CheckInNodeID.
702
+ *
703
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
704
+ * continue from step 6.
705
+ *
706
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
707
+ * FAILURE. The server shall continue from step 6.
708
+ *
709
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
710
+ * step 5.
711
+ *
712
+ * 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
713
+ * change.
714
+ *
715
+ * a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
716
+ *
717
+ * b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
718
+ *
719
+ * 6. The server shall generate a response with the Status field set to the evaluated status.
720
+ *
721
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
490
722
  */
491
723
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
492
724
  }>, void, any>;
@@ -512,7 +744,7 @@ export declare namespace IcdManagement {
512
744
  * bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
513
745
  * UserActiveModeTriggerInstruction attribute.
514
746
  *
515
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.7
747
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.7
516
748
  */
517
749
  readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
518
750
  /**
@@ -592,13 +824,13 @@ export declare namespace IcdManagement {
592
824
  const LongIdleTimeSupportComponent: {
593
825
  readonly attributes: {
594
826
  /**
595
- * This attribute shall indicate the operating mode of the ICD as specified in the OperatingModeEnum.
827
+ * Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
596
828
  *
597
829
  * • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
598
830
  *
599
831
  * • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
600
832
  *
601
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.9
833
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.9
602
834
  */
603
835
  readonly operatingMode: Attribute<OperatingMode, any>;
604
836
  };
@@ -612,7 +844,25 @@ export declare namespace IcdManagement {
612
844
  * message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
613
845
  * to be active for, in order to account for network delays.
614
846
  *
615
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
847
+ * ### Effect on Receipt
848
+ *
849
+ * When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
850
+ * it can remain active as the greater of the following two values:
851
+ *
852
+ * • StayActiveDuration: Specified in the received command by the client.
853
+ *
854
+ * • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
855
+ * and its internal resources and power budget.
856
+ *
857
+ * A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
858
+ *
859
+ * PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
860
+ * account both the requested duration and the server’s capabilities.
861
+ *
862
+ * The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
863
+ * client.
864
+ *
865
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
616
866
  */
617
867
  readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
618
868
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -621,10 +871,12 @@ export declare namespace IcdManagement {
621
871
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
622
872
  * the StayActiveRequest command.
623
873
  *
874
+ * ### Minimum Value for PromisedActiveDuration
875
+ *
624
876
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
625
877
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
626
878
  *
627
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
879
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
628
880
  */
629
881
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
630
882
  }>, any>;
@@ -642,26 +894,26 @@ export declare namespace IcdManagement {
642
894
  * When this feature is supported, the device shall support all the associated commands and attributes to
643
895
  * properly support the Check-In Protocol.
644
896
  *
645
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.1
897
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.1
646
898
  */
647
899
  readonly checkInProtocolSupport: BitFlag;
648
900
  /**
649
901
  * This feature is supported if and only if the device has a user active mode trigger.
650
902
  *
651
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.2
903
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.2
652
904
  */
653
905
  readonly userActiveModeTrigger: BitFlag;
654
906
  /**
655
907
  * This feature is supported if and only the device is a Long Idle Time ICD.
656
908
  *
657
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.3
909
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.3
658
910
  */
659
911
  readonly longIdleTimeSupport: BitFlag;
660
912
  /**
661
913
  * This feature is supported if and only if the device can switch between SIT and LIT operating modes even
662
914
  * if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
663
915
  *
664
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.4
916
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.4
665
917
  */
666
918
  readonly dynamicSitLitSupport: BitFlag;
667
919
  };
@@ -670,21 +922,21 @@ export declare namespace IcdManagement {
670
922
  * Indicates the maximum interval in seconds the server can stay in idle mode. The IdleModeDuration shall
671
923
  * NOT be smaller than the ActiveModeDuration.
672
924
  *
673
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.1
925
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.1
674
926
  */
675
927
  readonly idleModeDuration: FixedAttribute<number, any>;
676
928
  /**
677
929
  * Indicates the minimum interval in milliseconds the server typically will stay in active mode after
678
930
  * initial transition out of idle mode. The ActiveModeDuration does not include the ActiveModeThreshold.
679
931
  *
680
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.2
932
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.2
681
933
  */
682
934
  readonly activeModeDuration: FixedAttribute<number, any>;
683
935
  /**
684
936
  * Indicates the minimum amount of time in milliseconds the server typically will stay active after network
685
937
  * activity when in active mode.
686
938
  *
687
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.3
939
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.3
688
940
  */
689
941
  readonly activeModeThreshold: FixedAttribute<number, any>;
690
942
  /**
@@ -697,9 +949,9 @@ export declare namespace IcdManagement {
697
949
  * string shall consist solely of an encoding of N as a decimal unsigned integer using the ASCII digits 0-9,
698
950
  * and without leading zeros.
699
951
  *
700
- * For example, given UserActiveModeTriggerHint="2048", ResetButtonTimes is set which indicates "Press Reset
701
- * Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="10" would indicate that N
702
- * is 10 in that context.
952
+ * For example, given UserActiveModeTriggerHint="1024", ResetButtonSeconds is set which indicates "Press
953
+ * Reset Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="6" would indicate
954
+ * that N is 6 in that context.
703
955
  *
704
956
  * When CustomInstruction is set by the UserActiveModeTriggerHint attribute, indicating presence of a custom
705
957
  * string, the ICD SHOULD perform localization (translation to user’s preferred language, as indicated in
@@ -712,7 +964,7 @@ export declare namespace IcdManagement {
712
964
  * UserActiveModeTriggerInstruction attribute, the string shall consist of exactly 6 hexadecimal digits
713
965
  * using the ASCII characters 0-F and encoding the RGB color value as used in HTML encodings.
714
966
  *
715
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.8
967
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.8
716
968
  */
717
969
  readonly userActiveModeTriggerInstruction: OptionalFixedAttribute<string, any>;
718
970
  };
@@ -726,7 +978,25 @@ export declare namespace IcdManagement {
726
978
  * message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
727
979
  * to be active for, in order to account for network delays.
728
980
  *
729
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
981
+ * ### Effect on Receipt
982
+ *
983
+ * When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
984
+ * it can remain active as the greater of the following two values:
985
+ *
986
+ * • StayActiveDuration: Specified in the received command by the client.
987
+ *
988
+ * • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
989
+ * and its internal resources and power budget.
990
+ *
991
+ * A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
992
+ *
993
+ * PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
994
+ * account both the requested duration and the server’s capabilities.
995
+ *
996
+ * The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
997
+ * client.
998
+ *
999
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
730
1000
  */
731
1001
  readonly stayActiveRequest: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
732
1002
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -735,10 +1005,12 @@ export declare namespace IcdManagement {
735
1005
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
736
1006
  * the StayActiveRequest command.
737
1007
  *
1008
+ * ### Minimum Value for PromisedActiveDuration
1009
+ *
738
1010
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
739
1011
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
740
1012
  *
741
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
1013
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
742
1014
  */
743
1015
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
744
1016
  }>, any>;
@@ -759,14 +1031,14 @@ export declare namespace IcdManagement {
759
1031
  * fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
760
1032
  * Operational Credentials cluster.
761
1033
  *
762
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.4
1034
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.4
763
1035
  */
764
1036
  readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
765
1037
  /**
766
1038
  * This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
767
1039
  * MonitoredSubject is not subscribed.
768
1040
  *
769
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.1
1041
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
770
1042
  */
771
1043
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
772
1044
  /**
@@ -789,14 +1061,14 @@ export declare namespace IcdManagement {
789
1061
  * the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
790
1062
  * 0x0002 or higher within its NOC, then the entry matches.
791
1063
  *
792
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.2
1064
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
793
1065
  */
794
1066
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
795
1067
  /**
796
1068
  * This field shall indicate the client’s type to inform the ICD of the availability for communication of the
797
1069
  * client.
798
1070
  *
799
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.4
1071
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
800
1072
  */
801
1073
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
802
1074
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
@@ -804,14 +1076,14 @@ export declare namespace IcdManagement {
804
1076
  /**
805
1077
  * This attribute returns the value of the ICD Counter.
806
1078
  *
807
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.5
1079
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.5
808
1080
  */
809
1081
  readonly icdCounter: Attribute<number, any>;
810
1082
  /**
811
1083
  * Indicates the maximum number of entries that the server is able to store for each fabric in the
812
1084
  * RegisteredClients attribute.
813
1085
  *
814
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.6
1086
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.6
815
1087
  */
816
1088
  readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
817
1089
  /**
@@ -820,7 +1092,7 @@ export declare namespace IcdManagement {
820
1092
  *
821
1093
  * If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
822
1094
  *
823
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.10
1095
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.10
824
1096
  */
825
1097
  readonly maximumCheckInBackoff: FixedAttribute<number, any>;
826
1098
  };
@@ -829,26 +1101,27 @@ export declare namespace IcdManagement {
829
1101
  * This command allows a client to register itself with the ICD to be notified when the device is available
830
1102
  * for communication.
831
1103
  *
832
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1
1104
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1
833
1105
  */
834
1106
  readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
835
1107
  /**
836
1108
  * This field shall provide the node ID to which a Check-In message will be sent if there are no active
837
1109
  * subscriptions matching MonitoredSubject.
838
1110
  *
839
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.1
1111
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
840
1112
  */
841
1113
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
842
1114
  /**
843
1115
  * This field shall provide the monitored subject ID.
844
1116
  *
845
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.2
1117
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
846
1118
  */
847
1119
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
848
1120
  /**
849
- * This field shall provide the shared secret between the client and the ICD to encrypt the Check-In message.
1121
+ * This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
1122
+ * encrypt Check-In messages from this ICD to the MonitoredSubject.
850
1123
  *
851
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.3
1124
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
852
1125
  */
853
1126
  key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
854
1127
  /**
@@ -859,13 +1132,68 @@ export declare namespace IcdManagement {
859
1132
  * provided by clients with administrator permissions for the server cluster. The verification key shall be
860
1133
  * ignored by the server if it is provided by a client with administrator permissions for the server cluster.
861
1134
  *
862
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.4
1135
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
863
1136
  */
864
1137
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
865
1138
  /**
866
1139
  * This field shall provide the client type of the client registering.
867
1140
  *
868
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.5
1141
+ * ### Effect on Receipt
1142
+ *
1143
+ * On receipt of the RegisterClient command, the server shall perform the following procedure:
1144
+ *
1145
+ * 1. The server verifies that an entry for the fabric is available in the server’s list of registered
1146
+ * clients.
1147
+ *
1148
+ * a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
1149
+ * CheckInNodeID, the server shall continue from step 2.
1150
+ *
1151
+ * b. If there is an available entry for the fabric, an entry is created for the fabric and the received
1152
+ * CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
1153
+ *
1154
+ * c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
1155
+ * server shall continue from step 6.
1156
+ *
1157
+ * 2. The server shall verify the privileges of the command’s ISD.
1158
+ *
1159
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
1160
+ * continue from step 4.
1161
+ *
1162
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
1163
+ * shall continue from step 3.
1164
+ *
1165
+ * 3. The server shall verify that the received verification key is equal to the key previously stored in the
1166
+ * list of registered clients with the matching CheckInNodeID.
1167
+ *
1168
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
1169
+ * continue from step 6.
1170
+ *
1171
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
1172
+ * FAILURE. The server shall continue from step 6.
1173
+ *
1174
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
1175
+ * step 4.
1176
+ *
1177
+ * 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
1178
+ *
1179
+ * a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
1180
+ *
1181
+ * b. If the update succeeds, the server shall continue from step 5.
1182
+ *
1183
+ * 5. The server shall persist the client information.
1184
+ *
1185
+ * a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
1186
+ *
1187
+ * b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
1188
+ *
1189
+ * 6. The server shall generate a response.
1190
+ *
1191
+ * a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
1192
+ *
1193
+ * b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
1194
+ * to the evaluated error status.
1195
+ *
1196
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
869
1197
  */
870
1198
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
871
1199
  }>, import("../tlv/TlvObject.js").TypeFromFields<{
@@ -876,13 +1204,13 @@ export declare namespace IcdManagement {
876
1204
  * network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
877
1205
  * send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
878
1206
  *
879
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3
1207
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3
880
1208
  */
881
1209
  readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
882
1210
  /**
883
1211
  * This field shall provide the registered client node ID to remove from storage.
884
1212
  *
885
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.1
1213
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
886
1214
  */
887
1215
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
888
1216
  /**
@@ -894,7 +1222,61 @@ export declare namespace IcdManagement {
894
1222
  * server cluster. The verification key shall be ignored by the server if it is provided by a client with
895
1223
  * administrator permissions for the server cluster.
896
1224
  *
897
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.2
1225
+ * ### Effect on Receipt
1226
+ *
1227
+ * On receipt of the UnregisterClient command, the server shall perform the following procedure:
1228
+ *
1229
+ * 1. The server shall check whether there is a entry stored on the device for the fabric with the same
1230
+ * CheckInNodeID.
1231
+ *
1232
+ * a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
1233
+ * continue from step 6.
1234
+ *
1235
+ * b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
1236
+ * from step 6.
1237
+ *
1238
+ * c. If there is at least one entry stored on the server for the fabric, the server shall continue from
1239
+ * step 2.
1240
+ *
1241
+ * 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
1242
+ * received in the command.
1243
+ *
1244
+ * a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
1245
+ * continue from step 6.
1246
+ *
1247
+ * b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
1248
+ *
1249
+ * 3. The server shall check whether the ISD of the command has administrator permissions for the server
1250
+ * cluster.
1251
+ *
1252
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
1253
+ * continue from step 5.
1254
+ *
1255
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
1256
+ * shall continue from step 4.
1257
+ *
1258
+ * 4. The server shall verify that the received verification key is equal to the key previously stored in the
1259
+ * list of registered clients with the matching CheckInNodeID.
1260
+ *
1261
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
1262
+ * continue from step 6.
1263
+ *
1264
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
1265
+ * FAILURE. The server shall continue from step 6.
1266
+ *
1267
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
1268
+ * step 5.
1269
+ *
1270
+ * 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
1271
+ * change.
1272
+ *
1273
+ * a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
1274
+ *
1275
+ * b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
1276
+ *
1277
+ * 6. The server shall generate a response with the Status field set to the evaluated status.
1278
+ *
1279
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
898
1280
  */
899
1281
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
900
1282
  }>, void, any>;
@@ -921,7 +1303,7 @@ export declare namespace IcdManagement {
921
1303
  * bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
922
1304
  * UserActiveModeTriggerInstruction attribute.
923
1305
  *
924
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.7
1306
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.7
925
1307
  */
926
1308
  readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
927
1309
  /**
@@ -1002,13 +1384,13 @@ export declare namespace IcdManagement {
1002
1384
  readonly component: {
1003
1385
  readonly attributes: {
1004
1386
  /**
1005
- * This attribute shall indicate the operating mode of the ICD as specified in the OperatingModeEnum.
1387
+ * Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
1006
1388
  *
1007
1389
  * • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
1008
1390
  *
1009
1391
  * • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
1010
1392
  *
1011
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.9
1393
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.9
1012
1394
  */
1013
1395
  readonly operatingMode: Attribute<OperatingMode, any>;
1014
1396
  };
@@ -1022,7 +1404,25 @@ export declare namespace IcdManagement {
1022
1404
  * message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
1023
1405
  * to be active for, in order to account for network delays.
1024
1406
  *
1025
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
1407
+ * ### Effect on Receipt
1408
+ *
1409
+ * When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
1410
+ * it can remain active as the greater of the following two values:
1411
+ *
1412
+ * • StayActiveDuration: Specified in the received command by the client.
1413
+ *
1414
+ * • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
1415
+ * and its internal resources and power budget.
1416
+ *
1417
+ * A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
1418
+ *
1419
+ * PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
1420
+ * account both the requested duration and the server’s capabilities.
1421
+ *
1422
+ * The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
1423
+ * client.
1424
+ *
1425
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
1026
1426
  */
1027
1427
  readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1028
1428
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -1031,10 +1431,12 @@ export declare namespace IcdManagement {
1031
1431
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
1032
1432
  * the StayActiveRequest command.
1033
1433
  *
1434
+ * ### Minimum Value for PromisedActiveDuration
1435
+ *
1034
1436
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
1035
1437
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
1036
1438
  *
1037
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
1439
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
1038
1440
  */
1039
1441
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
1040
1442
  }>, any>;
@@ -1072,26 +1474,26 @@ export declare namespace IcdManagement {
1072
1474
  * When this feature is supported, the device shall support all the associated commands and attributes to
1073
1475
  * properly support the Check-In Protocol.
1074
1476
  *
1075
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.1
1477
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.1
1076
1478
  */
1077
1479
  readonly checkInProtocolSupport: BitFlag;
1078
1480
  /**
1079
1481
  * This feature is supported if and only if the device has a user active mode trigger.
1080
1482
  *
1081
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.2
1483
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.2
1082
1484
  */
1083
1485
  readonly userActiveModeTrigger: BitFlag;
1084
1486
  /**
1085
1487
  * This feature is supported if and only the device is a Long Idle Time ICD.
1086
1488
  *
1087
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.3
1489
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.3
1088
1490
  */
1089
1491
  readonly longIdleTimeSupport: BitFlag;
1090
1492
  /**
1091
1493
  * This feature is supported if and only if the device can switch between SIT and LIT operating modes even
1092
1494
  * if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
1093
1495
  *
1094
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.4
1496
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.4
1095
1497
  */
1096
1498
  readonly dynamicSitLitSupport: BitFlag;
1097
1499
  };
@@ -1100,21 +1502,21 @@ export declare namespace IcdManagement {
1100
1502
  * Indicates the maximum interval in seconds the server can stay in idle mode. The IdleModeDuration shall
1101
1503
  * NOT be smaller than the ActiveModeDuration.
1102
1504
  *
1103
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.1
1505
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.1
1104
1506
  */
1105
1507
  readonly idleModeDuration: FixedAttribute<number, any>;
1106
1508
  /**
1107
1509
  * Indicates the minimum interval in milliseconds the server typically will stay in active mode after
1108
1510
  * initial transition out of idle mode. The ActiveModeDuration does not include the ActiveModeThreshold.
1109
1511
  *
1110
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.2
1512
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.2
1111
1513
  */
1112
1514
  readonly activeModeDuration: FixedAttribute<number, any>;
1113
1515
  /**
1114
1516
  * Indicates the minimum amount of time in milliseconds the server typically will stay active after network
1115
1517
  * activity when in active mode.
1116
1518
  *
1117
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.3
1519
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.3
1118
1520
  */
1119
1521
  readonly activeModeThreshold: FixedAttribute<number, any>;
1120
1522
  /**
@@ -1127,9 +1529,9 @@ export declare namespace IcdManagement {
1127
1529
  * string shall consist solely of an encoding of N as a decimal unsigned integer using the ASCII digits 0-9,
1128
1530
  * and without leading zeros.
1129
1531
  *
1130
- * For example, given UserActiveModeTriggerHint="2048", ResetButtonTimes is set which indicates "Press Reset
1131
- * Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="10" would indicate that N
1132
- * is 10 in that context.
1532
+ * For example, given UserActiveModeTriggerHint="1024", ResetButtonSeconds is set which indicates "Press
1533
+ * Reset Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="6" would indicate
1534
+ * that N is 6 in that context.
1133
1535
  *
1134
1536
  * When CustomInstruction is set by the UserActiveModeTriggerHint attribute, indicating presence of a custom
1135
1537
  * string, the ICD SHOULD perform localization (translation to user’s preferred language, as indicated in
@@ -1142,7 +1544,7 @@ export declare namespace IcdManagement {
1142
1544
  * UserActiveModeTriggerInstruction attribute, the string shall consist of exactly 6 hexadecimal digits
1143
1545
  * using the ASCII characters 0-F and encoding the RGB color value as used in HTML encodings.
1144
1546
  *
1145
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.8
1547
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.8
1146
1548
  */
1147
1549
  readonly userActiveModeTriggerInstruction: OptionalFixedAttribute<string, any>;
1148
1550
  };
@@ -1156,7 +1558,25 @@ export declare namespace IcdManagement {
1156
1558
  * message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
1157
1559
  * to be active for, in order to account for network delays.
1158
1560
  *
1159
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
1561
+ * ### Effect on Receipt
1562
+ *
1563
+ * When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
1564
+ * it can remain active as the greater of the following two values:
1565
+ *
1566
+ * • StayActiveDuration: Specified in the received command by the client.
1567
+ *
1568
+ * • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
1569
+ * and its internal resources and power budget.
1570
+ *
1571
+ * A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
1572
+ *
1573
+ * PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
1574
+ * account both the requested duration and the server’s capabilities.
1575
+ *
1576
+ * The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
1577
+ * client.
1578
+ *
1579
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
1160
1580
  */
1161
1581
  readonly stayActiveRequest: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
1162
1582
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -1165,10 +1585,12 @@ export declare namespace IcdManagement {
1165
1585
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
1166
1586
  * the StayActiveRequest command.
1167
1587
  *
1588
+ * ### Minimum Value for PromisedActiveDuration
1589
+ *
1168
1590
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
1169
1591
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
1170
1592
  *
1171
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
1593
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
1172
1594
  */
1173
1595
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
1174
1596
  }>, any>;
@@ -1189,14 +1611,14 @@ export declare namespace IcdManagement {
1189
1611
  * fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
1190
1612
  * Operational Credentials cluster.
1191
1613
  *
1192
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.4
1614
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.4
1193
1615
  */
1194
1616
  readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
1195
1617
  /**
1196
1618
  * This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
1197
1619
  * MonitoredSubject is not subscribed.
1198
1620
  *
1199
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.1
1621
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
1200
1622
  */
1201
1623
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1202
1624
  /**
@@ -1219,14 +1641,14 @@ export declare namespace IcdManagement {
1219
1641
  * the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
1220
1642
  * 0x0002 or higher within its NOC, then the entry matches.
1221
1643
  *
1222
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.2
1644
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
1223
1645
  */
1224
1646
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1225
1647
  /**
1226
1648
  * This field shall indicate the client’s type to inform the ICD of the availability for communication of the
1227
1649
  * client.
1228
1650
  *
1229
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.4
1651
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
1230
1652
  */
1231
1653
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
1232
1654
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
@@ -1234,14 +1656,14 @@ export declare namespace IcdManagement {
1234
1656
  /**
1235
1657
  * This attribute returns the value of the ICD Counter.
1236
1658
  *
1237
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.5
1659
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.5
1238
1660
  */
1239
1661
  readonly icdCounter: Attribute<number, any>;
1240
1662
  /**
1241
1663
  * Indicates the maximum number of entries that the server is able to store for each fabric in the
1242
1664
  * RegisteredClients attribute.
1243
1665
  *
1244
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.6
1666
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.6
1245
1667
  */
1246
1668
  readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
1247
1669
  /**
@@ -1250,7 +1672,7 @@ export declare namespace IcdManagement {
1250
1672
  *
1251
1673
  * If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
1252
1674
  *
1253
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.10
1675
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.10
1254
1676
  */
1255
1677
  readonly maximumCheckInBackoff: FixedAttribute<number, any>;
1256
1678
  };
@@ -1259,26 +1681,27 @@ export declare namespace IcdManagement {
1259
1681
  * This command allows a client to register itself with the ICD to be notified when the device is available
1260
1682
  * for communication.
1261
1683
  *
1262
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1
1684
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1
1263
1685
  */
1264
1686
  readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1265
1687
  /**
1266
1688
  * This field shall provide the node ID to which a Check-In message will be sent if there are no active
1267
1689
  * subscriptions matching MonitoredSubject.
1268
1690
  *
1269
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.1
1691
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
1270
1692
  */
1271
1693
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1272
1694
  /**
1273
1695
  * This field shall provide the monitored subject ID.
1274
1696
  *
1275
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.2
1697
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
1276
1698
  */
1277
1699
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1278
1700
  /**
1279
- * This field shall provide the shared secret between the client and the ICD to encrypt the Check-In message.
1701
+ * This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
1702
+ * encrypt Check-In messages from this ICD to the MonitoredSubject.
1280
1703
  *
1281
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.3
1704
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
1282
1705
  */
1283
1706
  key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
1284
1707
  /**
@@ -1289,13 +1712,68 @@ export declare namespace IcdManagement {
1289
1712
  * provided by clients with administrator permissions for the server cluster. The verification key shall be
1290
1713
  * ignored by the server if it is provided by a client with administrator permissions for the server cluster.
1291
1714
  *
1292
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.4
1715
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
1293
1716
  */
1294
1717
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
1295
1718
  /**
1296
1719
  * This field shall provide the client type of the client registering.
1297
1720
  *
1298
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.5
1721
+ * ### Effect on Receipt
1722
+ *
1723
+ * On receipt of the RegisterClient command, the server shall perform the following procedure:
1724
+ *
1725
+ * 1. The server verifies that an entry for the fabric is available in the server’s list of registered
1726
+ * clients.
1727
+ *
1728
+ * a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
1729
+ * CheckInNodeID, the server shall continue from step 2.
1730
+ *
1731
+ * b. If there is an available entry for the fabric, an entry is created for the fabric and the received
1732
+ * CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
1733
+ *
1734
+ * c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
1735
+ * server shall continue from step 6.
1736
+ *
1737
+ * 2. The server shall verify the privileges of the command’s ISD.
1738
+ *
1739
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
1740
+ * continue from step 4.
1741
+ *
1742
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
1743
+ * shall continue from step 3.
1744
+ *
1745
+ * 3. The server shall verify that the received verification key is equal to the key previously stored in the
1746
+ * list of registered clients with the matching CheckInNodeID.
1747
+ *
1748
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
1749
+ * continue from step 6.
1750
+ *
1751
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
1752
+ * FAILURE. The server shall continue from step 6.
1753
+ *
1754
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
1755
+ * step 4.
1756
+ *
1757
+ * 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
1758
+ *
1759
+ * a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
1760
+ *
1761
+ * b. If the update succeeds, the server shall continue from step 5.
1762
+ *
1763
+ * 5. The server shall persist the client information.
1764
+ *
1765
+ * a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
1766
+ *
1767
+ * b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
1768
+ *
1769
+ * 6. The server shall generate a response.
1770
+ *
1771
+ * a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
1772
+ *
1773
+ * b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
1774
+ * to the evaluated error status.
1775
+ *
1776
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
1299
1777
  */
1300
1778
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
1301
1779
  }>, import("../tlv/TlvObject.js").TypeFromFields<{
@@ -1306,13 +1784,13 @@ export declare namespace IcdManagement {
1306
1784
  * network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
1307
1785
  * send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
1308
1786
  *
1309
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3
1787
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3
1310
1788
  */
1311
1789
  readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1312
1790
  /**
1313
1791
  * This field shall provide the registered client node ID to remove from storage.
1314
1792
  *
1315
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.1
1793
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
1316
1794
  */
1317
1795
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1318
1796
  /**
@@ -1324,7 +1802,61 @@ export declare namespace IcdManagement {
1324
1802
  * server cluster. The verification key shall be ignored by the server if it is provided by a client with
1325
1803
  * administrator permissions for the server cluster.
1326
1804
  *
1327
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.2
1805
+ * ### Effect on Receipt
1806
+ *
1807
+ * On receipt of the UnregisterClient command, the server shall perform the following procedure:
1808
+ *
1809
+ * 1. The server shall check whether there is a entry stored on the device for the fabric with the same
1810
+ * CheckInNodeID.
1811
+ *
1812
+ * a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
1813
+ * continue from step 6.
1814
+ *
1815
+ * b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
1816
+ * from step 6.
1817
+ *
1818
+ * c. If there is at least one entry stored on the server for the fabric, the server shall continue from
1819
+ * step 2.
1820
+ *
1821
+ * 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
1822
+ * received in the command.
1823
+ *
1824
+ * a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
1825
+ * continue from step 6.
1826
+ *
1827
+ * b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
1828
+ *
1829
+ * 3. The server shall check whether the ISD of the command has administrator permissions for the server
1830
+ * cluster.
1831
+ *
1832
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
1833
+ * continue from step 5.
1834
+ *
1835
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
1836
+ * shall continue from step 4.
1837
+ *
1838
+ * 4. The server shall verify that the received verification key is equal to the key previously stored in the
1839
+ * list of registered clients with the matching CheckInNodeID.
1840
+ *
1841
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
1842
+ * continue from step 6.
1843
+ *
1844
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
1845
+ * FAILURE. The server shall continue from step 6.
1846
+ *
1847
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
1848
+ * step 5.
1849
+ *
1850
+ * 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
1851
+ * change.
1852
+ *
1853
+ * a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
1854
+ *
1855
+ * b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
1856
+ *
1857
+ * 6. The server shall generate a response with the Status field set to the evaluated status.
1858
+ *
1859
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
1328
1860
  */
1329
1861
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
1330
1862
  }>, void, any>;
@@ -1351,7 +1883,7 @@ export declare namespace IcdManagement {
1351
1883
  * bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
1352
1884
  * UserActiveModeTriggerInstruction attribute.
1353
1885
  *
1354
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.7
1886
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.7
1355
1887
  */
1356
1888
  readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
1357
1889
  /**
@@ -1432,13 +1964,13 @@ export declare namespace IcdManagement {
1432
1964
  readonly component: {
1433
1965
  readonly attributes: {
1434
1966
  /**
1435
- * This attribute shall indicate the operating mode of the ICD as specified in the OperatingModeEnum.
1967
+ * Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
1436
1968
  *
1437
1969
  * • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
1438
1970
  *
1439
1971
  * • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
1440
1972
  *
1441
- * @see {@link MatterSpecification.v141.Core} § 9.17.6.9
1973
+ * @see {@link MatterSpecification.v141.Core} § 9.16.6.9
1442
1974
  */
1443
1975
  readonly operatingMode: Attribute<OperatingMode, any>;
1444
1976
  };
@@ -1452,7 +1984,25 @@ export declare namespace IcdManagement {
1452
1984
  * message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
1453
1985
  * to be active for, in order to account for network delays.
1454
1986
  *
1455
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.4
1987
+ * ### Effect on Receipt
1988
+ *
1989
+ * When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
1990
+ * it can remain active as the greater of the following two values:
1991
+ *
1992
+ * • StayActiveDuration: Specified in the received command by the client.
1993
+ *
1994
+ * • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
1995
+ * and its internal resources and power budget.
1996
+ *
1997
+ * A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
1998
+ *
1999
+ * PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
2000
+ * account both the requested duration and the server’s capabilities.
2001
+ *
2002
+ * The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
2003
+ * client.
2004
+ *
2005
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.4
1456
2006
  */
1457
2007
  readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1458
2008
  stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
@@ -1461,10 +2011,12 @@ export declare namespace IcdManagement {
1461
2011
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
1462
2012
  * the StayActiveRequest command.
1463
2013
  *
2014
+ * ### Minimum Value for PromisedActiveDuration
2015
+ *
1464
2016
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
1465
2017
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
1466
2018
  *
1467
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
2019
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
1468
2020
  */
1469
2021
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
1470
2022
  }>, any>;
@@ -1499,7 +2051,7 @@ export declare namespace IcdManagement {
1499
2051
  * IcdManagementCluster supports optional features that you can enable with the IcdManagementCluster.with() factory
1500
2052
  * method.
1501
2053
  *
1502
- * @see {@link MatterSpecification.v141.Core} § 9.17
2054
+ * @see {@link MatterSpecification.v141.Core} § 9.16
1503
2055
  */
1504
2056
  interface Cluster extends Identity<typeof ClusterInstance> {
1505
2057
  }
@@ -1516,26 +2068,26 @@ export declare namespace IcdManagement {
1516
2068
  * When this feature is supported, the device shall support all the associated commands and attributes to
1517
2069
  * properly support the Check-In Protocol.
1518
2070
  *
1519
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.1
2071
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.1
1520
2072
  */
1521
2073
  readonly checkInProtocolSupport: BitFlag;
1522
2074
  /**
1523
2075
  * This feature is supported if and only if the device has a user active mode trigger.
1524
2076
  *
1525
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.2
2077
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.2
1526
2078
  */
1527
2079
  readonly userActiveModeTrigger: BitFlag;
1528
2080
  /**
1529
2081
  * This feature is supported if and only the device is a Long Idle Time ICD.
1530
2082
  *
1531
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.3
2083
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.3
1532
2084
  */
1533
2085
  readonly longIdleTimeSupport: BitFlag;
1534
2086
  /**
1535
2087
  * This feature is supported if and only if the device can switch between SIT and LIT operating modes even
1536
2088
  * if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
1537
2089
  *
1538
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.4
2090
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.4
1539
2091
  */
1540
2092
  readonly dynamicSitLitSupport: BitFlag;
1541
2093
  };
@@ -1545,7 +2097,7 @@ export declare namespace IcdManagement {
1545
2097
  * This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
1546
2098
  * MonitoredSubject is not subscribed.
1547
2099
  *
1548
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.1
2100
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
1549
2101
  */
1550
2102
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1551
2103
  /**
@@ -1568,14 +2120,14 @@ export declare namespace IcdManagement {
1568
2120
  * the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
1569
2121
  * 0x0002 or higher within its NOC, then the entry matches.
1570
2122
  *
1571
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.3.2
2123
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
1572
2124
  */
1573
2125
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1574
2126
  /**
1575
2127
  * This field shall indicate the client’s type to inform the ICD of the availability for communication of the
1576
2128
  * client.
1577
2129
  *
1578
- * @see {@link MatterSpecification.v141.Core} § 9.17.5.4
2130
+ * @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
1579
2131
  */
1580
2132
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
1581
2133
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
@@ -1706,26 +2258,26 @@ export declare namespace IcdManagement {
1706
2258
  * When this feature is supported, the device shall support all the associated commands and attributes to
1707
2259
  * properly support the Check-In Protocol.
1708
2260
  *
1709
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.1
2261
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.1
1710
2262
  */
1711
2263
  readonly checkInProtocolSupport: BitFlag;
1712
2264
  /**
1713
2265
  * This feature is supported if and only if the device has a user active mode trigger.
1714
2266
  *
1715
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.2
2267
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.2
1716
2268
  */
1717
2269
  readonly userActiveModeTrigger: BitFlag;
1718
2270
  /**
1719
2271
  * This feature is supported if and only the device is a Long Idle Time ICD.
1720
2272
  *
1721
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.3
2273
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.3
1722
2274
  */
1723
2275
  readonly longIdleTimeSupport: BitFlag;
1724
2276
  /**
1725
2277
  * This feature is supported if and only if the device can switch between SIT and LIT operating modes even
1726
2278
  * if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
1727
2279
  *
1728
- * @see {@link MatterSpecification.v141.Core} § 9.17.4.4
2280
+ * @see {@link MatterSpecification.v141.Core} § 9.16.4.4
1729
2281
  */
1730
2282
  readonly dynamicSitLitSupport: BitFlag;
1731
2283
  }>, never>;
@@ -1739,19 +2291,20 @@ export declare namespace IcdManagement {
1739
2291
  * This field shall provide the node ID to which a Check-In message will be sent if there are no active
1740
2292
  * subscriptions matching MonitoredSubject.
1741
2293
  *
1742
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.1
2294
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
1743
2295
  */
1744
2296
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1745
2297
  /**
1746
2298
  * This field shall provide the monitored subject ID.
1747
2299
  *
1748
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.2
2300
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
1749
2301
  */
1750
2302
  monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1751
2303
  /**
1752
- * This field shall provide the shared secret between the client and the ICD to encrypt the Check-In message.
2304
+ * This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
2305
+ * encrypt Check-In messages from this ICD to the MonitoredSubject.
1753
2306
  *
1754
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.3
2307
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
1755
2308
  */
1756
2309
  key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
1757
2310
  /**
@@ -1762,13 +2315,68 @@ export declare namespace IcdManagement {
1762
2315
  * provided by clients with administrator permissions for the server cluster. The verification key shall be
1763
2316
  * ignored by the server if it is provided by a client with administrator permissions for the server cluster.
1764
2317
  *
1765
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.4
2318
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
1766
2319
  */
1767
2320
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
1768
2321
  /**
1769
2322
  * This field shall provide the client type of the client registering.
1770
2323
  *
1771
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.1.5
2324
+ * ### Effect on Receipt
2325
+ *
2326
+ * On receipt of the RegisterClient command, the server shall perform the following procedure:
2327
+ *
2328
+ * 1. The server verifies that an entry for the fabric is available in the server’s list of registered
2329
+ * clients.
2330
+ *
2331
+ * a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
2332
+ * CheckInNodeID, the server shall continue from step 2.
2333
+ *
2334
+ * b. If there is an available entry for the fabric, an entry is created for the fabric and the received
2335
+ * CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
2336
+ *
2337
+ * c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
2338
+ * server shall continue from step 6.
2339
+ *
2340
+ * 2. The server shall verify the privileges of the command’s ISD.
2341
+ *
2342
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
2343
+ * continue from step 4.
2344
+ *
2345
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
2346
+ * shall continue from step 3.
2347
+ *
2348
+ * 3. The server shall verify that the received verification key is equal to the key previously stored in the
2349
+ * list of registered clients with the matching CheckInNodeID.
2350
+ *
2351
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
2352
+ * continue from step 6.
2353
+ *
2354
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
2355
+ * FAILURE. The server shall continue from step 6.
2356
+ *
2357
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
2358
+ * step 4.
2359
+ *
2360
+ * 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
2361
+ *
2362
+ * a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
2363
+ *
2364
+ * b. If the update succeeds, the server shall continue from step 5.
2365
+ *
2366
+ * 5. The server shall persist the client information.
2367
+ *
2368
+ * a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
2369
+ *
2370
+ * b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
2371
+ *
2372
+ * 6. The server shall generate a response.
2373
+ *
2374
+ * a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
2375
+ *
2376
+ * b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
2377
+ * to the evaluated error status.
2378
+ *
2379
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
1772
2380
  */
1773
2381
  clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
1774
2382
  }>, import("../tlv/TlvObject.js").TypeFromFields<{
@@ -1785,7 +2393,7 @@ export declare namespace IcdManagement {
1785
2393
  /**
1786
2394
  * This field shall provide the registered client node ID to remove from storage.
1787
2395
  *
1788
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.1
2396
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
1789
2397
  */
1790
2398
  checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1791
2399
  /**
@@ -1797,7 +2405,61 @@ export declare namespace IcdManagement {
1797
2405
  * server cluster. The verification key shall be ignored by the server if it is provided by a client with
1798
2406
  * administrator permissions for the server cluster.
1799
2407
  *
1800
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.3.2
2408
+ * ### Effect on Receipt
2409
+ *
2410
+ * On receipt of the UnregisterClient command, the server shall perform the following procedure:
2411
+ *
2412
+ * 1. The server shall check whether there is a entry stored on the device for the fabric with the same
2413
+ * CheckInNodeID.
2414
+ *
2415
+ * a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
2416
+ * continue from step 6.
2417
+ *
2418
+ * b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
2419
+ * from step 6.
2420
+ *
2421
+ * c. If there is at least one entry stored on the server for the fabric, the server shall continue from
2422
+ * step 2.
2423
+ *
2424
+ * 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
2425
+ * received in the command.
2426
+ *
2427
+ * a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
2428
+ * continue from step 6.
2429
+ *
2430
+ * b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
2431
+ *
2432
+ * 3. The server shall check whether the ISD of the command has administrator permissions for the server
2433
+ * cluster.
2434
+ *
2435
+ * a. If the ISD of the command has administrator privileges for the server cluster, the server shall
2436
+ * continue from step 5.
2437
+ *
2438
+ * b. If the ISD of the command does not have administrator privileges for the server cluster, the server
2439
+ * shall continue from step 4.
2440
+ *
2441
+ * 4. The server shall verify that the received verification key is equal to the key previously stored in the
2442
+ * list of registered clients with the matching CheckInNodeID.
2443
+ *
2444
+ * a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
2445
+ * continue from step 6.
2446
+ *
2447
+ * b. If the verification key is not equal to the Key value stored in the entry, the status shall be
2448
+ * FAILURE. The server shall continue from step 6.
2449
+ *
2450
+ * c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
2451
+ * step 5.
2452
+ *
2453
+ * 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
2454
+ * change.
2455
+ *
2456
+ * a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
2457
+ *
2458
+ * b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
2459
+ *
2460
+ * 6. The server shall generate a response with the Status field set to the evaluated status.
2461
+ *
2462
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
1801
2463
  */
1802
2464
  verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
1803
2465
  }>, void, any> & {
@@ -1815,10 +2477,12 @@ export declare namespace IcdManagement {
1815
2477
  * This field shall provide the actual duration that the ICD server can stay active from the time it receives
1816
2478
  * the StayActiveRequest command.
1817
2479
  *
2480
+ * ### Minimum Value for PromisedActiveDuration
2481
+ *
1818
2482
  * The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
1819
2483
  * StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
1820
2484
  *
1821
- * @see {@link MatterSpecification.v141.Core} § 9.17.7.5.1
2485
+ * @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
1822
2486
  */
1823
2487
  promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
1824
2488
  }>, any> & {