@matter/types 0.13.0-alpha.0-20250304-d4a7592a4 → 0.13.0-alpha.0-20250307-ebf84a05a

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 (807) hide show
  1. package/dist/cjs/clusters/access-control.d.ts +3972 -522
  2. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  3. package/dist/cjs/clusters/access-control.js +640 -116
  4. package/dist/cjs/clusters/access-control.js.map +2 -2
  5. package/dist/cjs/clusters/actions.d.ts +10 -9
  6. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  7. package/dist/cjs/clusters/actions.js +4 -4
  8. package/dist/cjs/clusters/actions.js.map +1 -1
  9. package/dist/cjs/clusters/administrator-commissioning.d.ts +156 -129
  10. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  11. package/dist/cjs/clusters/administrator-commissioning.js +40 -35
  12. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  13. package/dist/cjs/clusters/alarm-base.d.ts +9 -12
  14. package/dist/cjs/clusters/alarm-base.d.ts.map +1 -1
  15. package/dist/cjs/clusters/alarm-base.js +3 -4
  16. package/dist/cjs/clusters/alarm-base.js.map +1 -1
  17. package/dist/cjs/clusters/application-launcher.d.ts +27 -15
  18. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  19. package/dist/cjs/clusters/application-launcher.js +7 -4
  20. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  21. package/dist/cjs/clusters/ballast-configuration.d.ts +7 -7
  22. package/dist/cjs/clusters/ballast-configuration.js +7 -7
  23. package/dist/cjs/clusters/basic-information.d.ts +29 -21
  24. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  25. package/dist/cjs/clusters/basic-information.js +29 -21
  26. package/dist/cjs/clusters/basic-information.js.map +1 -1
  27. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +816 -34
  28. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  29. package/dist/cjs/clusters/bridged-device-basic-information.js +182 -29
  30. package/dist/cjs/clusters/bridged-device-basic-information.js.map +2 -2
  31. package/dist/cjs/clusters/channel.d.ts +115 -124
  32. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  33. package/dist/cjs/clusters/channel.js +15 -16
  34. package/dist/cjs/clusters/channel.js.map +1 -1
  35. package/dist/cjs/clusters/color-control.d.ts +3076 -1366
  36. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  37. package/dist/cjs/clusters/color-control.js +423 -357
  38. package/dist/cjs/clusters/color-control.js.map +2 -2
  39. package/dist/cjs/clusters/commissioner-control.d.ts +268 -0
  40. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -0
  41. package/dist/cjs/clusters/commissioner-control.js +194 -0
  42. package/dist/cjs/clusters/commissioner-control.js.map +6 -0
  43. package/dist/cjs/clusters/content-control.d.ts +497 -221
  44. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  45. package/dist/cjs/clusters/content-control.js +59 -41
  46. package/dist/cjs/clusters/content-control.js.map +2 -2
  47. package/dist/cjs/clusters/content-launcher.d.ts +248 -215
  48. package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
  49. package/dist/cjs/clusters/content-launcher.js +16 -15
  50. package/dist/cjs/clusters/content-launcher.js.map +1 -1
  51. package/dist/cjs/clusters/device-energy-management-mode.d.ts +76 -333
  52. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  53. package/dist/cjs/clusters/device-energy-management-mode.js +26 -73
  54. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  55. package/dist/cjs/clusters/device-energy-management.d.ts +1299 -930
  56. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  57. package/dist/cjs/clusters/device-energy-management.js +189 -160
  58. package/dist/cjs/clusters/device-energy-management.js.map +2 -2
  59. package/dist/cjs/clusters/dishwasher-alarm.d.ts +14 -17
  60. package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
  61. package/dist/cjs/clusters/dishwasher-alarm.js +3 -4
  62. package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
  63. package/dist/cjs/clusters/dishwasher-mode.d.ts +65 -105
  64. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  65. package/dist/cjs/clusters/dishwasher-mode.js +12 -24
  66. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  67. package/dist/cjs/clusters/door-lock.d.ts +2751 -5427
  68. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  69. package/dist/cjs/clusters/door-lock.js +480 -802
  70. package/dist/cjs/clusters/door-lock.js.map +2 -2
  71. package/dist/cjs/clusters/ecosystem-information.d.ts +186 -0
  72. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -0
  73. package/dist/cjs/clusters/ecosystem-information.js +154 -0
  74. package/dist/cjs/clusters/ecosystem-information.js.map +6 -0
  75. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +363 -368
  76. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  77. package/dist/cjs/clusters/electrical-energy-measurement.js +15 -16
  78. package/dist/cjs/clusters/electrical-energy-measurement.js.map +1 -1
  79. package/dist/cjs/clusters/energy-evse-mode.d.ts +92 -330
  80. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  81. package/dist/cjs/clusters/energy-evse-mode.js +25 -72
  82. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  83. package/dist/cjs/clusters/energy-evse.d.ts +557 -273
  84. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  85. package/dist/cjs/clusters/energy-evse.js +107 -55
  86. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  87. package/dist/cjs/clusters/energy-preference.d.ts +76 -76
  88. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  89. package/dist/cjs/clusters/energy-preference.js +15 -18
  90. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  91. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +3 -9
  92. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  93. package/dist/cjs/clusters/ethernet-network-diagnostics.js +1 -3
  94. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  95. package/dist/cjs/clusters/fan-control.d.ts +12 -12
  96. package/dist/cjs/clusters/fan-control.js +4 -4
  97. package/dist/cjs/clusters/fixed-label.d.ts +7 -2
  98. package/dist/cjs/clusters/fixed-label.d.ts.map +1 -1
  99. package/dist/cjs/clusters/fixed-label.js.map +1 -1
  100. package/dist/cjs/clusters/flow-measurement.d.ts +4 -4
  101. package/dist/cjs/clusters/flow-measurement.d.ts.map +1 -1
  102. package/dist/cjs/clusters/flow-measurement.js +6 -6
  103. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  104. package/dist/cjs/clusters/general-commissioning.d.ts +1416 -111
  105. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  106. package/dist/cjs/clusters/general-commissioning.js +272 -54
  107. package/dist/cjs/clusters/general-commissioning.js.map +2 -2
  108. package/dist/cjs/clusters/general-diagnostics.d.ts +115 -122
  109. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  110. package/dist/cjs/clusters/general-diagnostics.js +31 -33
  111. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  112. package/dist/cjs/clusters/group-key-management.d.ts +72 -82
  113. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  114. package/dist/cjs/clusters/group-key-management.js +19 -22
  115. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  116. package/dist/cjs/clusters/groups.d.ts +9 -6
  117. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  118. package/dist/cjs/clusters/groups.js +3 -2
  119. package/dist/cjs/clusters/groups.js.map +1 -1
  120. package/dist/cjs/clusters/icd-management.d.ts +223 -66
  121. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  122. package/dist/cjs/clusters/icd-management.js +61 -23
  123. package/dist/cjs/clusters/icd-management.js.map +2 -2
  124. package/dist/cjs/clusters/identify.d.ts +12 -13
  125. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  126. package/dist/cjs/clusters/identify.js +9 -10
  127. package/dist/cjs/clusters/identify.js.map +1 -1
  128. package/dist/cjs/clusters/illuminance-measurement.d.ts +7 -8
  129. package/dist/cjs/clusters/illuminance-measurement.d.ts.map +1 -1
  130. package/dist/cjs/clusters/illuminance-measurement.js +9 -10
  131. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  132. package/dist/cjs/clusters/index.d.ts +11 -1
  133. package/dist/cjs/clusters/index.d.ts.map +1 -1
  134. package/dist/cjs/clusters/index.js +33 -3
  135. package/dist/cjs/clusters/index.js.map +1 -1
  136. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  137. package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  138. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js +490 -0
  139. package/dist/cjs/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  140. package/dist/cjs/clusters/joint-fabric-pki.d.ts +174 -0
  141. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +1 -0
  142. package/dist/cjs/clusters/joint-fabric-pki.js +120 -0
  143. package/dist/cjs/clusters/joint-fabric-pki.js.map +6 -0
  144. package/dist/cjs/clusters/keypad-input.d.ts +2 -2
  145. package/dist/cjs/clusters/laundry-dryer-controls.d.ts +6 -7
  146. package/dist/cjs/clusters/laundry-dryer-controls.d.ts.map +1 -1
  147. package/dist/cjs/clusters/laundry-dryer-controls.js +5 -9
  148. package/dist/cjs/clusters/laundry-dryer-controls.js.map +1 -1
  149. package/dist/cjs/clusters/laundry-washer-controls.d.ts +74 -62
  150. package/dist/cjs/clusters/laundry-washer-controls.d.ts.map +1 -1
  151. package/dist/cjs/clusters/laundry-washer-controls.js +26 -25
  152. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  153. package/dist/cjs/clusters/laundry-washer-mode.d.ts +69 -109
  154. package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
  155. package/dist/cjs/clusters/laundry-washer-mode.js +13 -25
  156. package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
  157. package/dist/cjs/clusters/level-control.d.ts +209 -70
  158. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  159. package/dist/cjs/clusters/level-control.js +45 -12
  160. package/dist/cjs/clusters/level-control.js.map +1 -1
  161. package/dist/cjs/clusters/localization-configuration.d.ts +5 -6
  162. package/dist/cjs/clusters/localization-configuration.d.ts.map +1 -1
  163. package/dist/cjs/clusters/localization-configuration.js +5 -6
  164. package/dist/cjs/clusters/localization-configuration.js.map +1 -1
  165. package/dist/cjs/clusters/media-input.d.ts +9 -6
  166. package/dist/cjs/clusters/media-input.d.ts.map +1 -1
  167. package/dist/cjs/clusters/media-input.js +3 -2
  168. package/dist/cjs/clusters/media-input.js.map +1 -1
  169. package/dist/cjs/clusters/media-playback.d.ts +29 -24
  170. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  171. package/dist/cjs/clusters/media-playback.js +5 -4
  172. package/dist/cjs/clusters/media-playback.js.map +1 -1
  173. package/dist/cjs/clusters/microwave-oven-control.d.ts +54 -48
  174. package/dist/cjs/clusters/microwave-oven-control.d.ts.map +1 -1
  175. package/dist/cjs/clusters/microwave-oven-control.js +19 -17
  176. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  177. package/dist/cjs/clusters/microwave-oven-mode.d.ts +63 -69
  178. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  179. package/dist/cjs/clusters/microwave-oven-mode.js +14 -11
  180. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  181. package/dist/cjs/clusters/mode-base.d.ts +27 -46
  182. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  183. package/dist/cjs/clusters/mode-base.js +9 -10
  184. package/dist/cjs/clusters/mode-base.js.map +1 -1
  185. package/dist/cjs/clusters/mode-select.d.ts +33 -27
  186. package/dist/cjs/clusters/mode-select.d.ts.map +1 -1
  187. package/dist/cjs/clusters/mode-select.js +14 -13
  188. package/dist/cjs/clusters/mode-select.js.map +1 -1
  189. package/dist/cjs/clusters/network-commissioning.d.ts +263 -240
  190. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  191. package/dist/cjs/clusters/network-commissioning.js +46 -39
  192. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  193. package/dist/cjs/clusters/occupancy-sensing.d.ts +1002 -63
  194. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.js +278 -63
  196. package/dist/cjs/clusters/occupancy-sensing.js.map +2 -2
  197. package/dist/cjs/clusters/on-off.d.ts +18 -24
  198. package/dist/cjs/clusters/on-off.d.ts.map +1 -1
  199. package/dist/cjs/clusters/on-off.js +3 -4
  200. package/dist/cjs/clusters/on-off.js.map +1 -1
  201. package/dist/cjs/clusters/operational-credentials.d.ts +98 -85
  202. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.js +56 -49
  204. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  205. package/dist/cjs/clusters/operational-state.d.ts +136 -57
  206. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  207. package/dist/cjs/clusters/operational-state.js +62 -36
  208. package/dist/cjs/clusters/operational-state.js.map +2 -2
  209. package/dist/cjs/clusters/ota-software-update-provider.d.ts +43 -42
  210. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  211. package/dist/cjs/clusters/ota-software-update-provider.js +20 -19
  212. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +6 -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 +4 -6
  216. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  217. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +44 -154
  218. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  219. package/dist/cjs/clusters/oven-cavity-operational-state.js +39 -156
  220. package/dist/cjs/clusters/oven-cavity-operational-state.js.map +1 -1
  221. package/dist/cjs/clusters/oven-mode.d.ts +79 -349
  222. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  223. package/dist/cjs/clusters/oven-mode.js +26 -82
  224. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  225. package/dist/cjs/clusters/power-source.d.ts +169 -44
  226. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  227. package/dist/cjs/clusters/power-source.js +40 -16
  228. package/dist/cjs/clusters/power-source.js.map +1 -1
  229. package/dist/cjs/clusters/pressure-measurement.js +2 -2
  230. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  231. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +73 -63
  232. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.js +19 -20
  234. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  235. package/dist/cjs/clusters/refrigerator-alarm.d.ts +2 -1
  236. package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
  237. package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
  238. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  239. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +11 -19
  241. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  242. package/dist/cjs/clusters/relative-humidity-measurement.js +1 -1
  243. package/dist/cjs/clusters/relative-humidity-measurement.js.map +1 -1
  244. package/dist/cjs/clusters/rvc-clean-mode.d.ts +59 -103
  245. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.js +11 -15
  247. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  248. package/dist/cjs/clusters/rvc-operational-state.d.ts +81 -25
  249. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  250. package/dist/cjs/clusters/rvc-operational-state.js +49 -20
  251. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  252. package/dist/cjs/clusters/rvc-run-mode.d.ts +85 -129
  253. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  254. package/dist/cjs/clusters/rvc-run-mode.js +16 -15
  255. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  256. package/dist/cjs/clusters/scenes-management.d.ts +328 -181
  257. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  258. package/dist/cjs/clusters/scenes-management.js +37 -22
  259. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  260. package/dist/cjs/clusters/service-area.d.ts +2052 -0
  261. package/dist/cjs/clusters/service-area.d.ts.map +1 -0
  262. package/dist/cjs/clusters/service-area.js +582 -0
  263. package/dist/cjs/clusters/service-area.js.map +6 -0
  264. package/dist/cjs/clusters/smoke-co-alarm.d.ts +10 -18
  265. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  266. package/dist/cjs/clusters/smoke-co-alarm.js +2 -3
  267. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  268. package/dist/cjs/clusters/switch.d.ts +478 -191
  269. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  270. package/dist/cjs/clusters/switch.js +145 -57
  271. package/dist/cjs/clusters/switch.js.map +1 -1
  272. package/dist/cjs/clusters/target-navigator.d.ts +1 -1
  273. package/dist/cjs/clusters/target-navigator.js +1 -1
  274. package/dist/cjs/clusters/thermostat.d.ts +3877 -830
  275. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  276. package/dist/cjs/clusters/thermostat.js +841 -159
  277. package/dist/cjs/clusters/thermostat.js.map +2 -2
  278. package/dist/cjs/clusters/thread-border-router-management.d.ts +711 -0
  279. package/dist/cjs/clusters/thread-border-router-management.d.ts.map +1 -0
  280. package/dist/cjs/clusters/thread-border-router-management.js +265 -0
  281. package/dist/cjs/clusters/thread-border-router-management.js.map +6 -0
  282. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +81 -55
  283. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  284. package/dist/cjs/clusters/thread-network-diagnostics.js +32 -21
  285. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  286. package/dist/cjs/clusters/thread-network-directory.d.ts +250 -0
  287. package/dist/cjs/clusters/thread-network-directory.d.ts.map +1 -0
  288. package/dist/cjs/clusters/thread-network-directory.js +187 -0
  289. package/dist/cjs/clusters/thread-network-directory.js.map +6 -0
  290. package/dist/cjs/clusters/time-synchronization.d.ts +101 -76
  291. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  292. package/dist/cjs/clusters/time-synchronization.js +30 -23
  293. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  294. package/dist/cjs/clusters/unit-localization.d.ts +3 -4
  295. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  296. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  297. package/dist/cjs/clusters/user-label.d.ts +2 -1
  298. package/dist/cjs/clusters/user-label.d.ts.map +1 -1
  299. package/dist/cjs/clusters/user-label.js.map +1 -1
  300. package/dist/cjs/clusters/water-heater-management.d.ts +1371 -0
  301. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -0
  302. package/dist/cjs/clusters/water-heater-management.js +336 -0
  303. package/dist/cjs/clusters/water-heater-management.js.map +6 -0
  304. package/dist/cjs/clusters/water-heater-mode.d.ts +491 -0
  305. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -0
  306. package/dist/cjs/clusters/water-heater-mode.js +195 -0
  307. package/dist/cjs/clusters/water-heater-mode.js.map +6 -0
  308. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts +162 -0
  309. package/dist/cjs/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  310. package/dist/cjs/clusters/water-tank-level-monitoring.js +47 -0
  311. package/dist/cjs/clusters/water-tank-level-monitoring.js.map +6 -0
  312. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  313. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +6 -8
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-management.d.ts +91 -0
  317. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -0
  318. package/dist/cjs/clusters/wi-fi-network-management.js +122 -0
  319. package/dist/cjs/clusters/wi-fi-network-management.js.map +6 -0
  320. package/dist/cjs/clusters/window-covering.d.ts +66 -78
  321. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  322. package/dist/cjs/clusters/window-covering.js +26 -37
  323. package/dist/cjs/clusters/window-covering.js.map +1 -1
  324. package/dist/cjs/globals/AtomicAttributeStatus.d.ts +34 -0
  325. package/dist/cjs/globals/AtomicAttributeStatus.d.ts.map +1 -0
  326. package/dist/cjs/globals/AtomicAttributeStatus.js +46 -0
  327. package/dist/cjs/globals/AtomicAttributeStatus.js.map +6 -0
  328. package/dist/cjs/globals/AtomicRequestType.d.ts +24 -0
  329. package/dist/cjs/globals/AtomicRequestType.d.ts.map +1 -0
  330. package/dist/cjs/globals/AtomicRequestType.js +35 -0
  331. package/dist/cjs/globals/AtomicRequestType.js.map +6 -0
  332. package/dist/cjs/globals/Locationdesc.d.ts +79 -0
  333. package/dist/cjs/globals/Locationdesc.d.ts.map +1 -0
  334. package/dist/cjs/globals/Locationdesc.js +89 -0
  335. package/dist/cjs/globals/Locationdesc.js.map +6 -0
  336. package/dist/cjs/globals/Priority.d.ts +1 -1
  337. package/dist/cjs/globals/Semtag.d.ts +6 -6
  338. package/dist/cjs/globals/Semtag.js +4 -4
  339. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  340. package/dist/cjs/globals/Status.d.ts +18 -3
  341. package/dist/cjs/globals/Status.d.ts.map +1 -1
  342. package/dist/cjs/globals/Status.js +3 -1
  343. package/dist/cjs/globals/Status.js.map +1 -1
  344. package/dist/cjs/globals/Tod.d.ts +2 -2
  345. package/dist/cjs/globals/index.d.ts +3 -0
  346. package/dist/cjs/globals/index.d.ts.map +1 -1
  347. package/dist/cjs/globals/index.js +3 -0
  348. package/dist/cjs/globals/index.js.map +1 -1
  349. package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -1
  350. package/dist/cjs/schema/QrCodeSchema.js +4 -1
  351. package/dist/cjs/schema/QrCodeSchema.js.map +1 -1
  352. package/dist/esm/clusters/access-control.d.ts +3972 -522
  353. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  354. package/dist/esm/clusters/access-control.js +645 -120
  355. package/dist/esm/clusters/access-control.js.map +2 -2
  356. package/dist/esm/clusters/actions.d.ts +10 -9
  357. package/dist/esm/clusters/actions.d.ts.map +1 -1
  358. package/dist/esm/clusters/actions.js +4 -4
  359. package/dist/esm/clusters/actions.js.map +1 -1
  360. package/dist/esm/clusters/administrator-commissioning.d.ts +156 -129
  361. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  362. package/dist/esm/clusters/administrator-commissioning.js +40 -35
  363. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  364. package/dist/esm/clusters/alarm-base.d.ts +9 -12
  365. package/dist/esm/clusters/alarm-base.d.ts.map +1 -1
  366. package/dist/esm/clusters/alarm-base.js +3 -4
  367. package/dist/esm/clusters/alarm-base.js.map +1 -1
  368. package/dist/esm/clusters/application-launcher.d.ts +27 -15
  369. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  370. package/dist/esm/clusters/application-launcher.js +7 -4
  371. package/dist/esm/clusters/application-launcher.js.map +1 -1
  372. package/dist/esm/clusters/ballast-configuration.d.ts +7 -7
  373. package/dist/esm/clusters/ballast-configuration.js +7 -7
  374. package/dist/esm/clusters/basic-information.d.ts +29 -21
  375. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  376. package/dist/esm/clusters/basic-information.js +29 -21
  377. package/dist/esm/clusters/basic-information.js.map +1 -1
  378. package/dist/esm/clusters/bridged-device-basic-information.d.ts +816 -34
  379. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  380. package/dist/esm/clusters/bridged-device-basic-information.js +188 -32
  381. package/dist/esm/clusters/bridged-device-basic-information.js.map +2 -2
  382. package/dist/esm/clusters/channel.d.ts +115 -124
  383. package/dist/esm/clusters/channel.d.ts.map +1 -1
  384. package/dist/esm/clusters/channel.js +15 -16
  385. package/dist/esm/clusters/channel.js.map +1 -1
  386. package/dist/esm/clusters/color-control.d.ts +3076 -1366
  387. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  388. package/dist/esm/clusters/color-control.js +424 -358
  389. package/dist/esm/clusters/color-control.js.map +2 -2
  390. package/dist/esm/clusters/commissioner-control.d.ts +268 -0
  391. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -0
  392. package/dist/esm/clusters/commissioner-control.js +174 -0
  393. package/dist/esm/clusters/commissioner-control.js.map +6 -0
  394. package/dist/esm/clusters/content-control.d.ts +497 -221
  395. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  396. package/dist/esm/clusters/content-control.js +60 -42
  397. package/dist/esm/clusters/content-control.js.map +2 -2
  398. package/dist/esm/clusters/content-launcher.d.ts +248 -215
  399. package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
  400. package/dist/esm/clusters/content-launcher.js +16 -15
  401. package/dist/esm/clusters/content-launcher.js.map +1 -1
  402. package/dist/esm/clusters/device-energy-management-mode.d.ts +76 -333
  403. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  404. package/dist/esm/clusters/device-energy-management-mode.js +26 -80
  405. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  406. package/dist/esm/clusters/device-energy-management.d.ts +1299 -930
  407. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  408. package/dist/esm/clusters/device-energy-management.js +189 -160
  409. package/dist/esm/clusters/device-energy-management.js.map +2 -2
  410. package/dist/esm/clusters/dishwasher-alarm.d.ts +14 -17
  411. package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
  412. package/dist/esm/clusters/dishwasher-alarm.js +3 -4
  413. package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
  414. package/dist/esm/clusters/dishwasher-mode.d.ts +65 -105
  415. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  416. package/dist/esm/clusters/dishwasher-mode.js +13 -25
  417. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  418. package/dist/esm/clusters/door-lock.d.ts +2751 -5427
  419. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  420. package/dist/esm/clusters/door-lock.js +482 -804
  421. package/dist/esm/clusters/door-lock.js.map +2 -2
  422. package/dist/esm/clusters/ecosystem-information.d.ts +186 -0
  423. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -0
  424. package/dist/esm/clusters/ecosystem-information.js +134 -0
  425. package/dist/esm/clusters/ecosystem-information.js.map +6 -0
  426. package/dist/esm/clusters/electrical-energy-measurement.d.ts +363 -368
  427. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  428. package/dist/esm/clusters/electrical-energy-measurement.js +15 -16
  429. package/dist/esm/clusters/electrical-energy-measurement.js.map +1 -1
  430. package/dist/esm/clusters/energy-evse-mode.d.ts +92 -330
  431. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  432. package/dist/esm/clusters/energy-evse-mode.js +25 -79
  433. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  434. package/dist/esm/clusters/energy-evse.d.ts +557 -273
  435. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  436. package/dist/esm/clusters/energy-evse.js +107 -55
  437. package/dist/esm/clusters/energy-evse.js.map +1 -1
  438. package/dist/esm/clusters/energy-preference.d.ts +76 -76
  439. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  440. package/dist/esm/clusters/energy-preference.js +15 -18
  441. package/dist/esm/clusters/energy-preference.js.map +1 -1
  442. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +3 -9
  443. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  444. package/dist/esm/clusters/ethernet-network-diagnostics.js +1 -3
  445. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  446. package/dist/esm/clusters/fan-control.d.ts +12 -12
  447. package/dist/esm/clusters/fan-control.js +4 -4
  448. package/dist/esm/clusters/fixed-label.d.ts +7 -2
  449. package/dist/esm/clusters/fixed-label.d.ts.map +1 -1
  450. package/dist/esm/clusters/fixed-label.js.map +1 -1
  451. package/dist/esm/clusters/flow-measurement.d.ts +4 -4
  452. package/dist/esm/clusters/flow-measurement.d.ts.map +1 -1
  453. package/dist/esm/clusters/flow-measurement.js +6 -6
  454. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  455. package/dist/esm/clusters/general-commissioning.d.ts +1416 -111
  456. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  457. package/dist/esm/clusters/general-commissioning.js +274 -56
  458. package/dist/esm/clusters/general-commissioning.js.map +2 -2
  459. package/dist/esm/clusters/general-diagnostics.d.ts +115 -122
  460. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  461. package/dist/esm/clusters/general-diagnostics.js +31 -33
  462. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  463. package/dist/esm/clusters/group-key-management.d.ts +72 -82
  464. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  465. package/dist/esm/clusters/group-key-management.js +19 -22
  466. package/dist/esm/clusters/group-key-management.js.map +1 -1
  467. package/dist/esm/clusters/groups.d.ts +9 -6
  468. package/dist/esm/clusters/groups.d.ts.map +1 -1
  469. package/dist/esm/clusters/groups.js +3 -2
  470. package/dist/esm/clusters/groups.js.map +1 -1
  471. package/dist/esm/clusters/icd-management.d.ts +223 -66
  472. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  473. package/dist/esm/clusters/icd-management.js +61 -23
  474. package/dist/esm/clusters/icd-management.js.map +2 -2
  475. package/dist/esm/clusters/identify.d.ts +12 -13
  476. package/dist/esm/clusters/identify.d.ts.map +1 -1
  477. package/dist/esm/clusters/identify.js +9 -10
  478. package/dist/esm/clusters/identify.js.map +1 -1
  479. package/dist/esm/clusters/illuminance-measurement.d.ts +7 -8
  480. package/dist/esm/clusters/illuminance-measurement.d.ts.map +1 -1
  481. package/dist/esm/clusters/illuminance-measurement.js +9 -10
  482. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  483. package/dist/esm/clusters/index.d.ts +11 -1
  484. package/dist/esm/clusters/index.d.ts.map +1 -1
  485. package/dist/esm/clusters/index.js +36 -3
  486. package/dist/esm/clusters/index.js.map +1 -1
  487. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
  488. package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
  489. package/dist/esm/clusters/joint-fabric-datastore-cluster.js +470 -0
  490. package/dist/esm/clusters/joint-fabric-datastore-cluster.js.map +6 -0
  491. package/dist/esm/clusters/joint-fabric-pki.d.ts +174 -0
  492. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +1 -0
  493. package/dist/esm/clusters/joint-fabric-pki.js +100 -0
  494. package/dist/esm/clusters/joint-fabric-pki.js.map +6 -0
  495. package/dist/esm/clusters/keypad-input.d.ts +2 -2
  496. package/dist/esm/clusters/laundry-dryer-controls.d.ts +6 -7
  497. package/dist/esm/clusters/laundry-dryer-controls.d.ts.map +1 -1
  498. package/dist/esm/clusters/laundry-dryer-controls.js +6 -10
  499. package/dist/esm/clusters/laundry-dryer-controls.js.map +1 -1
  500. package/dist/esm/clusters/laundry-washer-controls.d.ts +74 -62
  501. package/dist/esm/clusters/laundry-washer-controls.d.ts.map +1 -1
  502. package/dist/esm/clusters/laundry-washer-controls.js +26 -25
  503. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  504. package/dist/esm/clusters/laundry-washer-mode.d.ts +69 -109
  505. package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
  506. package/dist/esm/clusters/laundry-washer-mode.js +14 -26
  507. package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
  508. package/dist/esm/clusters/level-control.d.ts +209 -70
  509. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  510. package/dist/esm/clusters/level-control.js +45 -12
  511. package/dist/esm/clusters/level-control.js.map +1 -1
  512. package/dist/esm/clusters/localization-configuration.d.ts +5 -6
  513. package/dist/esm/clusters/localization-configuration.d.ts.map +1 -1
  514. package/dist/esm/clusters/localization-configuration.js +5 -6
  515. package/dist/esm/clusters/localization-configuration.js.map +1 -1
  516. package/dist/esm/clusters/media-input.d.ts +9 -6
  517. package/dist/esm/clusters/media-input.d.ts.map +1 -1
  518. package/dist/esm/clusters/media-input.js +3 -2
  519. package/dist/esm/clusters/media-input.js.map +1 -1
  520. package/dist/esm/clusters/media-playback.d.ts +29 -24
  521. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  522. package/dist/esm/clusters/media-playback.js +5 -4
  523. package/dist/esm/clusters/media-playback.js.map +1 -1
  524. package/dist/esm/clusters/microwave-oven-control.d.ts +54 -48
  525. package/dist/esm/clusters/microwave-oven-control.d.ts.map +1 -1
  526. package/dist/esm/clusters/microwave-oven-control.js +19 -17
  527. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  528. package/dist/esm/clusters/microwave-oven-mode.d.ts +63 -69
  529. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  530. package/dist/esm/clusters/microwave-oven-mode.js +14 -11
  531. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  532. package/dist/esm/clusters/mode-base.d.ts +27 -46
  533. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  534. package/dist/esm/clusters/mode-base.js +9 -10
  535. package/dist/esm/clusters/mode-base.js.map +1 -1
  536. package/dist/esm/clusters/mode-select.d.ts +33 -27
  537. package/dist/esm/clusters/mode-select.d.ts.map +1 -1
  538. package/dist/esm/clusters/mode-select.js +14 -13
  539. package/dist/esm/clusters/mode-select.js.map +1 -1
  540. package/dist/esm/clusters/network-commissioning.d.ts +263 -240
  541. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  542. package/dist/esm/clusters/network-commissioning.js +46 -39
  543. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  544. package/dist/esm/clusters/occupancy-sensing.d.ts +1002 -63
  545. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  546. package/dist/esm/clusters/occupancy-sensing.js +287 -65
  547. package/dist/esm/clusters/occupancy-sensing.js.map +2 -2
  548. package/dist/esm/clusters/on-off.d.ts +18 -24
  549. package/dist/esm/clusters/on-off.d.ts.map +1 -1
  550. package/dist/esm/clusters/on-off.js +3 -4
  551. package/dist/esm/clusters/on-off.js.map +1 -1
  552. package/dist/esm/clusters/operational-credentials.d.ts +98 -85
  553. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  554. package/dist/esm/clusters/operational-credentials.js +56 -49
  555. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  556. package/dist/esm/clusters/operational-state.d.ts +136 -57
  557. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  558. package/dist/esm/clusters/operational-state.js +63 -37
  559. package/dist/esm/clusters/operational-state.js.map +2 -2
  560. package/dist/esm/clusters/ota-software-update-provider.d.ts +43 -42
  561. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  562. package/dist/esm/clusters/ota-software-update-provider.js +20 -19
  563. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  564. package/dist/esm/clusters/ota-software-update-requestor.d.ts +6 -10
  565. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  566. package/dist/esm/clusters/ota-software-update-requestor.js +4 -6
  567. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  568. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +44 -154
  569. package/dist/esm/clusters/oven-cavity-operational-state.d.ts.map +1 -1
  570. package/dist/esm/clusters/oven-cavity-operational-state.js +41 -166
  571. package/dist/esm/clusters/oven-cavity-operational-state.js.map +1 -1
  572. package/dist/esm/clusters/oven-mode.d.ts +79 -349
  573. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  574. package/dist/esm/clusters/oven-mode.js +26 -89
  575. package/dist/esm/clusters/oven-mode.js.map +1 -1
  576. package/dist/esm/clusters/power-source.d.ts +169 -44
  577. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  578. package/dist/esm/clusters/power-source.js +40 -16
  579. package/dist/esm/clusters/power-source.js.map +1 -1
  580. package/dist/esm/clusters/pressure-measurement.js +2 -2
  581. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  582. package/dist/esm/clusters/pump-configuration-and-control.d.ts +73 -63
  583. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  584. package/dist/esm/clusters/pump-configuration-and-control.js +19 -20
  585. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  586. package/dist/esm/clusters/refrigerator-alarm.d.ts +2 -1
  587. package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
  588. package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
  589. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
  590. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  591. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +12 -20
  592. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  593. package/dist/esm/clusters/relative-humidity-measurement.js +1 -1
  594. package/dist/esm/clusters/relative-humidity-measurement.js.map +1 -1
  595. package/dist/esm/clusters/rvc-clean-mode.d.ts +59 -103
  596. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  597. package/dist/esm/clusters/rvc-clean-mode.js +11 -15
  598. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  599. package/dist/esm/clusters/rvc-operational-state.d.ts +81 -25
  600. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  601. package/dist/esm/clusters/rvc-operational-state.js +49 -20
  602. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  603. package/dist/esm/clusters/rvc-run-mode.d.ts +85 -129
  604. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  605. package/dist/esm/clusters/rvc-run-mode.js +16 -15
  606. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  607. package/dist/esm/clusters/scenes-management.d.ts +328 -181
  608. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  609. package/dist/esm/clusters/scenes-management.js +37 -22
  610. package/dist/esm/clusters/scenes-management.js.map +1 -1
  611. package/dist/esm/clusters/service-area.d.ts +2052 -0
  612. package/dist/esm/clusters/service-area.d.ts.map +1 -0
  613. package/dist/esm/clusters/service-area.js +562 -0
  614. package/dist/esm/clusters/service-area.js.map +6 -0
  615. package/dist/esm/clusters/smoke-co-alarm.d.ts +10 -18
  616. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  617. package/dist/esm/clusters/smoke-co-alarm.js +2 -3
  618. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  619. package/dist/esm/clusters/switch.d.ts +478 -191
  620. package/dist/esm/clusters/switch.d.ts.map +1 -1
  621. package/dist/esm/clusters/switch.js +145 -57
  622. package/dist/esm/clusters/switch.js.map +1 -1
  623. package/dist/esm/clusters/target-navigator.d.ts +1 -1
  624. package/dist/esm/clusters/target-navigator.js +1 -1
  625. package/dist/esm/clusters/thermostat.d.ts +3877 -830
  626. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  627. package/dist/esm/clusters/thermostat.js +842 -160
  628. package/dist/esm/clusters/thermostat.js.map +2 -2
  629. package/dist/esm/clusters/thread-border-router-management.d.ts +711 -0
  630. package/dist/esm/clusters/thread-border-router-management.d.ts.map +1 -0
  631. package/dist/esm/clusters/thread-border-router-management.js +245 -0
  632. package/dist/esm/clusters/thread-border-router-management.js.map +6 -0
  633. package/dist/esm/clusters/thread-network-diagnostics.d.ts +81 -55
  634. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  635. package/dist/esm/clusters/thread-network-diagnostics.js +32 -21
  636. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  637. package/dist/esm/clusters/thread-network-directory.d.ts +250 -0
  638. package/dist/esm/clusters/thread-network-directory.d.ts.map +1 -0
  639. package/dist/esm/clusters/thread-network-directory.js +167 -0
  640. package/dist/esm/clusters/thread-network-directory.js.map +6 -0
  641. package/dist/esm/clusters/time-synchronization.d.ts +101 -76
  642. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  643. package/dist/esm/clusters/time-synchronization.js +30 -23
  644. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  645. package/dist/esm/clusters/unit-localization.d.ts +3 -4
  646. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  647. package/dist/esm/clusters/unit-localization.js.map +1 -1
  648. package/dist/esm/clusters/user-label.d.ts +2 -1
  649. package/dist/esm/clusters/user-label.d.ts.map +1 -1
  650. package/dist/esm/clusters/user-label.js.map +1 -1
  651. package/dist/esm/clusters/water-heater-management.d.ts +1371 -0
  652. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -0
  653. package/dist/esm/clusters/water-heater-management.js +325 -0
  654. package/dist/esm/clusters/water-heater-management.js.map +6 -0
  655. package/dist/esm/clusters/water-heater-mode.d.ts +491 -0
  656. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -0
  657. package/dist/esm/clusters/water-heater-mode.js +175 -0
  658. package/dist/esm/clusters/water-heater-mode.js.map +6 -0
  659. package/dist/esm/clusters/water-tank-level-monitoring.d.ts +162 -0
  660. package/dist/esm/clusters/water-tank-level-monitoring.d.ts.map +1 -0
  661. package/dist/esm/clusters/water-tank-level-monitoring.js +27 -0
  662. package/dist/esm/clusters/water-tank-level-monitoring.js.map +6 -0
  663. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +20 -27
  664. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  665. package/dist/esm/clusters/wi-fi-network-diagnostics.js +6 -8
  666. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  667. package/dist/esm/clusters/wi-fi-network-management.d.ts +91 -0
  668. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -0
  669. package/dist/esm/clusters/wi-fi-network-management.js +102 -0
  670. package/dist/esm/clusters/wi-fi-network-management.js.map +6 -0
  671. package/dist/esm/clusters/window-covering.d.ts +66 -78
  672. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  673. package/dist/esm/clusters/window-covering.js +26 -37
  674. package/dist/esm/clusters/window-covering.js.map +1 -1
  675. package/dist/esm/globals/AtomicAttributeStatus.d.ts +34 -0
  676. package/dist/esm/globals/AtomicAttributeStatus.d.ts.map +1 -0
  677. package/dist/esm/globals/AtomicAttributeStatus.js +26 -0
  678. package/dist/esm/globals/AtomicAttributeStatus.js.map +6 -0
  679. package/dist/esm/globals/AtomicRequestType.d.ts +24 -0
  680. package/dist/esm/globals/AtomicRequestType.d.ts.map +1 -0
  681. package/dist/esm/globals/AtomicRequestType.js +15 -0
  682. package/dist/esm/globals/AtomicRequestType.js.map +6 -0
  683. package/dist/esm/globals/Locationdesc.d.ts +79 -0
  684. package/dist/esm/globals/Locationdesc.d.ts.map +1 -0
  685. package/dist/esm/globals/Locationdesc.js +69 -0
  686. package/dist/esm/globals/Locationdesc.js.map +6 -0
  687. package/dist/esm/globals/Priority.d.ts +1 -1
  688. package/dist/esm/globals/Semtag.d.ts +6 -6
  689. package/dist/esm/globals/Semtag.js +4 -4
  690. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  691. package/dist/esm/globals/Status.d.ts +18 -3
  692. package/dist/esm/globals/Status.d.ts.map +1 -1
  693. package/dist/esm/globals/Status.js +3 -1
  694. package/dist/esm/globals/Status.js.map +1 -1
  695. package/dist/esm/globals/Tod.d.ts +2 -2
  696. package/dist/esm/globals/index.d.ts +3 -0
  697. package/dist/esm/globals/index.d.ts.map +1 -1
  698. package/dist/esm/globals/index.js +3 -0
  699. package/dist/esm/globals/index.js.map +1 -1
  700. package/dist/esm/schema/QrCodeSchema.d.ts.map +1 -1
  701. package/dist/esm/schema/QrCodeSchema.js +4 -1
  702. package/dist/esm/schema/QrCodeSchema.js.map +1 -1
  703. package/package.json +5 -5
  704. package/src/clusters/access-control.ts +926 -171
  705. package/src/clusters/actions.ts +12 -11
  706. package/src/clusters/administrator-commissioning.ts +54 -35
  707. package/src/clusters/alarm-base.ts +3 -4
  708. package/src/clusters/application-launcher.ts +22 -7
  709. package/src/clusters/ballast-configuration.ts +7 -7
  710. package/src/clusters/basic-information.ts +29 -21
  711. package/src/clusters/bridged-device-basic-information.ts +264 -41
  712. package/src/clusters/channel.ts +20 -17
  713. package/src/clusters/color-control.ts +589 -426
  714. package/src/clusters/commissioner-control.ts +282 -0
  715. package/src/clusters/content-control.ts +48 -54
  716. package/src/clusters/content-launcher.ts +16 -15
  717. package/src/clusters/device-energy-management-mode.ts +63 -161
  718. package/src/clusters/device-energy-management.ts +246 -193
  719. package/src/clusters/dishwasher-alarm.ts +5 -5
  720. package/src/clusters/dishwasher-mode.ts +46 -87
  721. package/src/clusters/door-lock.ts +786 -1235
  722. package/src/clusters/ecosystem-information.ts +200 -0
  723. package/src/clusters/electrical-energy-measurement.ts +15 -16
  724. package/src/clusters/energy-evse-mode.ts +81 -158
  725. package/src/clusters/energy-evse.ts +138 -72
  726. package/src/clusters/energy-preference.ts +34 -28
  727. package/src/clusters/ethernet-network-diagnostics.ts +1 -3
  728. package/src/clusters/fan-control.ts +5 -5
  729. package/src/clusters/fixed-label.ts +7 -2
  730. package/src/clusters/flow-measurement.ts +6 -6
  731. package/src/clusters/general-commissioning.ts +396 -96
  732. package/src/clusters/general-diagnostics.ts +31 -33
  733. package/src/clusters/group-key-management.ts +22 -24
  734. package/src/clusters/groups.ts +3 -2
  735. package/src/clusters/icd-management.ts +88 -31
  736. package/src/clusters/identify.ts +9 -10
  737. package/src/clusters/illuminance-measurement.ts +9 -10
  738. package/src/clusters/index.ts +14 -1
  739. package/src/clusters/joint-fabric-datastore-cluster.ts +657 -0
  740. package/src/clusters/joint-fabric-pki.ts +202 -0
  741. package/src/clusters/keypad-input.ts +2 -2
  742. package/src/clusters/laundry-dryer-controls.ts +6 -10
  743. package/src/clusters/laundry-washer-controls.ts +28 -27
  744. package/src/clusters/laundry-washer-mode.ts +49 -90
  745. package/src/clusters/level-control.ts +45 -12
  746. package/src/clusters/localization-configuration.ts +5 -6
  747. package/src/clusters/media-input.ts +3 -2
  748. package/src/clusters/media-playback.ts +9 -7
  749. package/src/clusters/microwave-oven-control.ts +19 -17
  750. package/src/clusters/microwave-oven-mode.ts +42 -61
  751. package/src/clusters/mode-base.ts +16 -33
  752. package/src/clusters/mode-select.ts +17 -14
  753. package/src/clusters/network-commissioning.ts +47 -40
  754. package/src/clusters/occupancy-sensing.ts +433 -72
  755. package/src/clusters/on-off.ts +6 -8
  756. package/src/clusters/operational-credentials.ts +54 -47
  757. package/src/clusters/operational-state.ts +136 -58
  758. package/src/clusters/ota-software-update-provider.ts +23 -23
  759. package/src/clusters/ota-software-update-requestor.ts +4 -6
  760. package/src/clusters/oven-cavity-operational-state.ts +43 -171
  761. package/src/clusters/oven-mode.ts +76 -178
  762. package/src/clusters/power-source.ts +45 -21
  763. package/src/clusters/pressure-measurement.ts +2 -2
  764. package/src/clusters/pump-configuration-and-control.ts +35 -23
  765. package/src/clusters/refrigerator-alarm.ts +2 -1
  766. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +41 -78
  767. package/src/clusters/relative-humidity-measurement.ts +1 -1
  768. package/src/clusters/rvc-clean-mode.ts +42 -101
  769. package/src/clusters/rvc-operational-state.ts +87 -25
  770. package/src/clusters/rvc-run-mode.ts +62 -126
  771. package/src/clusters/scenes-management.ts +38 -23
  772. package/src/clusters/service-area.ts +904 -0
  773. package/src/clusters/smoke-co-alarm.ts +6 -12
  774. package/src/clusters/switch.ts +177 -78
  775. package/src/clusters/target-navigator.ts +1 -1
  776. package/src/clusters/thermostat.ts +1245 -214
  777. package/src/clusters/thread-border-router-management.ts +355 -0
  778. package/src/clusters/thread-network-diagnostics.ts +34 -21
  779. package/src/clusters/thread-network-directory.ts +256 -0
  780. package/src/clusters/time-synchronization.ts +30 -23
  781. package/src/clusters/unit-localization.ts +3 -4
  782. package/src/clusters/user-label.ts +2 -1
  783. package/src/clusters/water-heater-management.ts +457 -0
  784. package/src/clusters/water-heater-mode.ts +301 -0
  785. package/src/clusters/water-tank-level-monitoring.ts +50 -0
  786. package/src/clusters/wi-fi-network-diagnostics.ts +6 -8
  787. package/src/clusters/wi-fi-network-management.ts +119 -0
  788. package/src/clusters/window-covering.ts +26 -37
  789. package/src/globals/AtomicAttributeStatus.ts +41 -0
  790. package/src/globals/AtomicRequestType.ts +27 -0
  791. package/src/globals/Locationdesc.ts +88 -0
  792. package/src/globals/Priority.ts +1 -1
  793. package/src/globals/Semtag.ts +6 -6
  794. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  795. package/src/globals/Status.ts +20 -3
  796. package/src/globals/Tod.ts +2 -2
  797. package/src/globals/index.ts +3 -0
  798. package/src/schema/QrCodeSchema.ts +7 -2
  799. package/dist/cjs/clusters/pulse-width-modulation.d.ts +0 -2023
  800. package/dist/cjs/clusters/pulse-width-modulation.d.ts.map +0 -1
  801. package/dist/cjs/clusters/pulse-width-modulation.js +0 -51
  802. package/dist/cjs/clusters/pulse-width-modulation.js.map +0 -6
  803. package/dist/esm/clusters/pulse-width-modulation.d.ts +0 -2023
  804. package/dist/esm/clusters/pulse-width-modulation.d.ts.map +0 -1
  805. package/dist/esm/clusters/pulse-width-modulation.js +0 -31
  806. package/dist/esm/clusters/pulse-width-modulation.js.map +0 -6
  807. package/src/clusters/pulse-width-modulation.ts +0 -54
@@ -26,16 +26,17 @@ var import_MutableCluster = require("../cluster/mutation/MutableCluster.js");
26
26
  var import_Cluster = require("../cluster/Cluster.js");
27
27
  var import_TlvArray = require("../tlv/TlvArray.js");
28
28
  var import_TlvObject = require("../tlv/TlvObject.js");
29
- var import_TlvNumber = require("../tlv/TlvNumber.js");
30
- var import_SubjectId = require("../datatype/SubjectId.js");
31
- var import_TlvNullable = require("../tlv/TlvNullable.js");
32
- var import_ClusterId = require("../datatype/ClusterId.js");
33
- var import_EndpointNumber = require("../datatype/EndpointNumber.js");
34
- var import_DeviceTypeId = require("../datatype/DeviceTypeId.js");
29
+ var import_TlvString = require("../tlv/TlvString.js");
35
30
  var import_FabricIndex = require("../datatype/FabricIndex.js");
36
31
  var import_model = require("#model");
37
- var import_TlvString = require("../tlv/TlvString.js");
38
32
  var import_NodeId = require("../datatype/NodeId.js");
33
+ var import_TlvNullable = require("../tlv/TlvNullable.js");
34
+ var import_TlvNumber = require("../tlv/TlvNumber.js");
35
+ var import_EndpointNumber = require("../datatype/EndpointNumber.js");
36
+ var import_ClusterId = require("../datatype/ClusterId.js");
37
+ var import_BitmapSchema = require("../schema/BitmapSchema.js");
38
+ var import_SubjectId = require("../datatype/SubjectId.js");
39
+ var import_DeviceTypeId = require("../datatype/DeviceTypeId.js");
39
40
  var import_ClusterRegistry = require("../cluster/ClusterRegistry.js");
40
41
  /**
41
42
  * @license
@@ -44,6 +45,364 @@ var import_ClusterRegistry = require("../cluster/ClusterRegistry.js");
44
45
  */
45
46
  var AccessControl;
46
47
  ((AccessControl2) => {
48
+ let Feature;
49
+ ((Feature2) => {
50
+ Feature2["Extension"] = "Extension";
51
+ Feature2["ManagedDevice"] = "ManagedDevice";
52
+ })(Feature = AccessControl2.Feature || (AccessControl2.Feature = {}));
53
+ AccessControl2.TlvAccessControlExtension = (0, import_TlvObject.TlvObject)({
54
+ /**
55
+ * This field may be used by manufacturers to store arbitrary TLV-encoded data related to a fabric’s
56
+ *
57
+ * Access Control Entries.
58
+ *
59
+ * The contents shall consist of a top-level anonymous list; each list element shall include a profile-specific
60
+ * tag encoded in fully-qualified form.
61
+ *
62
+ * Administrators may iterate over this list of elements, and interpret selected elements at their discretion.
63
+ * The content of each element is not specified, but may be coordinated among manufacturers at their discretion.
64
+ *
65
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.7.1
66
+ */
67
+ data: (0, import_TlvObject.TlvField)(1, import_TlvString.TlvByteString.bound({ maxLength: 128 })),
68
+ fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
69
+ });
70
+ let ChangeType;
71
+ ((ChangeType2) => {
72
+ ChangeType2[ChangeType2["Changed"] = 0] = "Changed";
73
+ ChangeType2[ChangeType2["Added"] = 1] = "Added";
74
+ ChangeType2[ChangeType2["Removed"] = 2] = "Removed";
75
+ })(ChangeType = AccessControl2.ChangeType || (AccessControl2.ChangeType = {}));
76
+ AccessControl2.TlvAccessControlExtensionChangedEvent = (0, import_TlvObject.TlvObject)({
77
+ /**
78
+ * The Node ID of the Administrator that made the change, if the change occurred via a CASE session.
79
+ *
80
+ * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
81
+ * CASE or PASE session; the other shall be null.
82
+ *
83
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.2.1
84
+ */
85
+ adminNodeId: (0, import_TlvObject.TlvField)(1, (0, import_TlvNullable.TlvNullable)(import_NodeId.TlvNodeId)),
86
+ /**
87
+ * The Passcode ID of the Administrator that made the change, if the change occurred via a PASE session.
88
+ * Non-zero values are reserved for future use (see PasscodeId generation in PBKDFParamRequest).
89
+ *
90
+ * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
91
+ * CASE or PASE session; the other shall be null.
92
+ *
93
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.2.2
94
+ */
95
+ adminPasscodeId: (0, import_TlvObject.TlvField)(2, (0, import_TlvNullable.TlvNullable)(import_TlvNumber.TlvUInt16)),
96
+ /**
97
+ * The type of change as appropriate.
98
+ *
99
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.2.3
100
+ */
101
+ changeType: (0, import_TlvObject.TlvField)(3, (0, import_TlvNumber.TlvEnum)()),
102
+ /**
103
+ * The latest value of the changed extension.
104
+ *
105
+ * This field SHOULD be set if resources are adequate for it; otherwise it shall be set to NULL if resources
106
+ * are scarce.
107
+ *
108
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.2.4
109
+ */
110
+ latestValue: (0, import_TlvObject.TlvField)(4, (0, import_TlvNullable.TlvNullable)(AccessControl2.TlvAccessControlExtension)),
111
+ fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
112
+ });
113
+ let AccessRestrictionType;
114
+ ((AccessRestrictionType2) => {
115
+ AccessRestrictionType2[AccessRestrictionType2["AttributeAccessForbidden"] = 0] = "AttributeAccessForbidden";
116
+ AccessRestrictionType2[AccessRestrictionType2["AttributeWriteForbidden"] = 1] = "AttributeWriteForbidden";
117
+ AccessRestrictionType2[AccessRestrictionType2["CommandForbidden"] = 2] = "CommandForbidden";
118
+ AccessRestrictionType2[AccessRestrictionType2["EventForbidden"] = 3] = "EventForbidden";
119
+ })(AccessRestrictionType = AccessControl2.AccessRestrictionType || (AccessControl2.AccessRestrictionType = {}));
120
+ AccessControl2.TlvAccessRestriction = (0, import_TlvObject.TlvObject)({
121
+ /**
122
+ * This field shall indicate the type of restriction, for example, AttributeAccessForbidden.
123
+ *
124
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.8.1
125
+ */
126
+ type: (0, import_TlvObject.TlvField)(0, (0, import_TlvNumber.TlvEnum)()),
127
+ /**
128
+ * This field shall indicate the element Manufacturer Extensible Identifier (MEI) associated with the element
129
+ * type subject to the access restriction, based upon the AccessRestrictionTypeEnum. When the Type is
130
+ * AttributeAccessForbidden or AttributeWriteForbidden, this value shall be considered of type attrib-id (i.e.
131
+ * an attribute identifier). When the Type is CommandForbidden, this value shall be considered of type
132
+ * command-id (i.e. an attribute identifier). When the Type is EventForbidden, this value shall be considered
133
+ * of type event-id (i.e. an event identifier).
134
+ *
135
+ * A null value shall indicate the wildcard value for the given value of Type (i.e. all elements associated
136
+ * with the Type under the associated endpoint and cluster for the containing AccessRestrictionEntryStruct).
137
+ *
138
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.8.2
139
+ */
140
+ id: (0, import_TlvObject.TlvField)(1, (0, import_TlvNullable.TlvNullable)(import_TlvNumber.TlvUInt32))
141
+ });
142
+ AccessControl2.TlvCommissioningAccessRestrictionEntry = (0, import_TlvObject.TlvObject)({
143
+ /**
144
+ * This field shall indicate the endpoint having associated access restrictions scoped to the associated fabric
145
+ * of the list containing the entry.
146
+ *
147
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.10.1
148
+ */
149
+ endpoint: (0, import_TlvObject.TlvField)(0, import_EndpointNumber.TlvEndpointNumber),
150
+ /**
151
+ * This field shall indicate the cluster having associated access restrictions under the entry’s Endpoint,
152
+ * scoped to the associated fabric of the list containing the entry.
153
+ *
154
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.10.2
155
+ */
156
+ cluster: (0, import_TlvObject.TlvField)(1, import_ClusterId.TlvClusterId),
157
+ /**
158
+ * This field shall indicate the set of restrictions applying to the Cluster under the given Endpoint, scoped
159
+ * to the associated fabric of the list containing the entry.
160
+ *
161
+ * This list shall NOT be empty.
162
+ *
163
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.10.3
164
+ */
165
+ restrictions: (0, import_TlvObject.TlvField)(2, (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessRestriction, { minLength: 1 }))
166
+ });
167
+ AccessControl2.TlvAccessRestrictionEntry = (0, import_TlvObject.TlvObject)({
168
+ /**
169
+ * This field shall indicate the endpoint having associated access restrictions scoped to the associated fabric
170
+ * of the list containing the entry.
171
+ *
172
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.9.1
173
+ */
174
+ endpoint: (0, import_TlvObject.TlvField)(0, import_EndpointNumber.TlvEndpointNumber),
175
+ /**
176
+ * This field shall indicate the cluster having associated access restrictions under the entry’s Endpoint,
177
+ * scoped to the associated fabric of the list containing the entry.
178
+ *
179
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.9.2
180
+ */
181
+ cluster: (0, import_TlvObject.TlvField)(1, import_ClusterId.TlvClusterId),
182
+ /**
183
+ * This field shall indicate the set of restrictions applying to the Cluster under the given Endpoint, scoped
184
+ * to the associated fabric of the list containing the entry.
185
+ *
186
+ * This list shall NOT be empty.
187
+ *
188
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.9.3
189
+ */
190
+ restrictions: (0, import_TlvObject.TlvField)(2, (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessRestriction, { minLength: 1 })),
191
+ fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
192
+ });
193
+ AccessControl2.TlvReviewFabricRestrictionsRequest = (0, import_TlvObject.TlvObject)({
194
+ /**
195
+ * When the ARL field is provided, it indicates the specific restrictions that are requested for review. An
196
+ * empty list represents a generic request for review of all restrictions.
197
+ *
198
+ * @see {@link MatterSpecification.v13.Core} § 9.10.8.1.1
199
+ */
200
+ arl: (0, import_TlvObject.TlvField)(0, (0, import_TlvArray.TlvArray)(AccessControl2.TlvCommissioningAccessRestrictionEntry))
201
+ });
202
+ AccessControl2.TlvReviewFabricRestrictionsResponse = (0, import_TlvObject.TlvObject)({
203
+ /**
204
+ * This field shall specify a Token that can be used to correlate a ReviewFabricRestrictionsResponse with a
205
+ * FabricRestrictionReviewUpdate event.
206
+ *
207
+ * @see {@link MatterSpecification.v13.Core} § 9.10.8.2.1
208
+ */
209
+ token: (0, import_TlvObject.TlvField)(0, import_TlvNumber.TlvUInt64)
210
+ });
211
+ AccessControl2.TlvFabricRestrictionReviewUpdateEvent = (0, import_TlvObject.TlvObject)({
212
+ /**
213
+ * This field shall indicate the Token that can be used to correlate a ReviewFabricRestrictionsResponse with a
214
+ * FabricRestrictionReviewUpdate event.
215
+ *
216
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.3.1
217
+ */
218
+ token: (0, import_TlvObject.TlvField)(0, import_TlvNumber.TlvUInt64),
219
+ /**
220
+ * This field shall provide human readable text that may be displayed to the user to help them locate the user
221
+ * interface for managing access restrictions for each fabric.
222
+ *
223
+ * A device SHOULD implement the Localization Configuration Cluster when it has no other means to determine the
224
+ * locale to use for this text.
225
+ *
226
+ * Examples include "Please try again and immediately access device display for further instructions." or
227
+ * "Please check email associated with your Acme account."
228
+ *
229
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.3.2
230
+ */
231
+ instruction: (0, import_TlvObject.TlvOptionalField)(1, import_TlvString.TlvString.bound({ maxLength: 512 })),
232
+ /**
233
+ * This field shall indicate the URL for the service associated with the device maker which the user can visit
234
+ * to manage fabric limitations. The syntax of this field shall follow the syntax as specified in RFC 1738 and
235
+ * shall use the https scheme for internet-hosted URLs.
236
+ *
237
+ * • The URL may embed the token, fabric index, fabric vendor, or other information transparently in order to
238
+ * pass context about the originating ReviewFabricRestrictions command to the service associated with the
239
+ * URL. The service associated with the device vendor may perform vendor ID verification on the fabric from
240
+ * which the ReviewFabricRestrictions command originated.
241
+ *
242
+ * • If the device grants the request, the ARL attribute in the Access Control Cluster shall be updated to
243
+ * reflect the new access rights and a successful response shall be returned to the device making the
244
+ * request using the MTaer field of the callbackUrl. If the request is denied, the ARL attribute shall
245
+ * remain unchanged and a failure response shall be returned to the device making the request using the
246
+ * MTaer field of the callbackUrl.
247
+ *
248
+ * • The device using this mechanism shall provide a service at the URL that can accept requests for
249
+ * additional access and return responses indicating whether the requests were granted or denied.
250
+ *
251
+ * • This URL will typically lead to a server which (e.g. by looking at the User-Agent) redirects the user to
252
+ * allow viewing, downloading, installing or using a manufacturer-provided means for guiding the user
253
+ * through the process to review and approve or deny the request. The device manufacturer may choose to use
254
+ * a constructed URL which is valid in a HTTP GET request (i.e. dedicated for the product) such as, for
255
+ * example, https://domain.example/arl-app?vid=FFF1& pid=1234. If a client follows or launches the
256
+ * ARLRequestFlowUrl, it shall expand it as described in Section 9.10.9.3.4, “ARLRequestFlowUrl format”.
257
+ *
258
+ * • A manufacturer contemplating using this flow should realize that
259
+ *
260
+ * ◦ This flow typically requires internet access to access the URL, and access extension may fail when
261
+ * internet connectivity is not available.
262
+ *
263
+ * ◦ If the flow prefers to redirect the user to an app which is available on popular platforms, it SHOULD
264
+ * also provide a fallback option such as a web browser interface to ensure users can complete access
265
+ * extension.
266
+ *
267
+ * ### ARLRequestFlowUrl format
268
+ *
269
+ * The ARLRequestFlowUrl shall contain a query component (see RFC 3986 section 3.4) composed of one or more
270
+ * key-value pairs:
271
+ *
272
+ * • The query shall use the & delimiter between key/value pairs.
273
+ *
274
+ * • The key-value pairs shall in the format name=<value> where name is the key name, and <value>
275
+ *
276
+ * is the contents of the value encoded with proper URL-encoded escaping.
277
+ *
278
+ * • If key MTcu is present, it shall have a value of "_" (i.e. MTcu=_). This is the "callback URL
279
+ *
280
+ * backUrl) placeholder".
281
+ *
282
+ * • Any key whose name begins with MT not mentioned in the previous bullets shall be reserved for future use
283
+ * by this specification. Manufacturers shall NOT include query keys starting with MT in the
284
+ * ARLRequestFlowUrl unless they are referenced by a version of this specification.
285
+ *
286
+ * Any other element in the ARLRequestFlowUrl query field not covered by the above rules, as well as the
287
+ * fragment field (if present), shall remain including the order of query key/value pairs present.
288
+ *
289
+ * Expansion of ARLRequestFlowUrl by client
290
+ *
291
+ * Once the URL is obtained, it shall be expanded to form a final URL (ExpandedARLRequestFlowUrl) by proceeding
292
+ * with the following substitution algorithm on the original ARLRequestFlowUrl:
293
+ *
294
+ * 1. If key MTcu is present, compute the CallbackUrl desired (see Section 9.10.9.3.5, “CallbackUrl format
295
+ * for ARL Request Flow response”), and substitute the placeholder value "_" (i.e. in MTcu=_) in the
296
+ * ARLRequestFlowUrl with the desired contents, encoded with proper URL-encoded escaping (see RFC 3986
297
+ * section 2).
298
+ *
299
+ * The final URL after expansion (ExpandedARLRequestFlowUrl) shall be the one to follow, rather than the
300
+ * original value obtained from the FabricRestrictionReviewUpdate event.
301
+ *
302
+ * ### CallbackUrl format for ARL Request Flow response
303
+ *
304
+ * If a CallbackUrl field (i.e. MTcu=) query field placeholder is present in the ARLRequestFlowUrl, the client
305
+ * may replace the placeholder value "_" in the ExpandedARLRequestFlowUrl with a URL that the manufacturer flow
306
+ * can use to make a smooth return to the client when the ARL flow has terminated.
307
+ *
308
+ * This URL field may contain a query component (see RFC 3986 section 3.4). If a query is present, it shall be
309
+ * composed of one or more key-value pairs:
310
+ *
311
+ * • The query shall use the & delimiter between key/value pairs.
312
+ *
313
+ * • The key-value pairs shall follow the format name=<value> where name is the key name, and
314
+ *
315
+ * <value> is the contents of the value encoded with proper URL-encoded escaping.
316
+ *
317
+ * • If key MTaer is present, it shall have a value of "_" (i.e. MTaer=_). This is the placeholder for a
318
+ * "access extension response" provided by the manufacturer flow to the client. The manufacturer flow shall
319
+ * replace this placeholder with the final status of the access extension request, which shall be formatted
320
+ * following Expansion of CallbackUrl by the manufacturer custom flow and encoded with proper URL-encoded
321
+ * escaping.
322
+ *
323
+ * • Any key whose name begins with MT not mentioned in the previous bullets shall be reserved for future use
324
+ * by this specification.
325
+ *
326
+ * Any other element in the CallbackUrl query field not covered by the above rules, as well as the frag
327
+ *
328
+ * ment field (if present), shall remain as provided by the client through embedding within the
329
+ *
330
+ * ExpandedARLRequestFlowUrl, including the order of query key/value pairs present.
331
+ *
332
+ * ### Expansion of CallbackUrl by the manufacturer custom flow
333
+ *
334
+ * Once the CallbackUrl is obtained by the manufacturer flow, it may be expanded to form a final
335
+ * ExpandedARLRequestCallbackUrl URL to be used by proceeding with the following substitution algorithm on the
336
+ * provided CallbackUrl:
337
+ *
338
+ * • If key MTaer is present, the manufacturer custom flow having received the initial query containing the
339
+ * CallbackUrl shall substitute the placeholder value "_" (i.e. in MTaer=_) in the CallbackUrl with the
340
+ * final status of the access extension request flow which shall be one of the following. Any value
341
+ * returned in the MTaer field not listed above shall be considered an error and shall be treated as
342
+ * GeneralFailure.
343
+ *
344
+ * ◦ Success - The flow completed successfully and the ARL attribute was updated. The client may now read
345
+ * the ARL attribute to determine the new access restrictions.
346
+ *
347
+ * ◦ NoChange - The ARL attribute was already listing minimum restrictions for the requesting fabric.
348
+ *
349
+ * ◦ GeneralFailure - The flow failed for an unspecified reason.
350
+ *
351
+ * ◦ FlowAuthFailure - The user failed to authenticate to the flow.
352
+ *
353
+ * ◦ NotFound - Access extension failed because the target fabric was not found.
354
+ *
355
+ * A manufacturer custom flow having received an ExpandedARLRequestFlowUrl SHOULD attempt to open the
356
+ * ExpandedARLRequestCallbackUrl, on completion of the request, if an ExpandedARLRequestCallbackUrl was
357
+ * computed from the CallbackUrl and opening such a URL is supported.
358
+ *
359
+ * Examples of ARLRequestFlowUrl URLs
360
+ *
361
+ * Below are some examples of valid ExpandedARLRequestFlowUrl for several valid values of ARLRequestFlowUrl, as
362
+ * well as some examples of invalid values of ARLRequestFlowUrl:
363
+ *
364
+ * • Invalid URL with no query string: http scheme is not allowed:
365
+ *
366
+ * ◦ http://company.domain.example/matter/arl/vFFF1p1234
367
+ *
368
+ * • Valid URL :
369
+ *
370
+ * ◦ https://company.domain.example/matter/arl/vFFF1p1234
371
+ *
372
+ * • Valid URL, CallbackUrl requested:
373
+ *
374
+ * ◦ Before expansion:
375
+ *
376
+ * https://company.domain.example/matter/arl?vid=FFF1&pid=1234&MTcu=_
377
+ *
378
+ * ◦ After expansion:
379
+ *
380
+ * https://company.domain.example/matter/arl?vid=FFF1&pid=1234&MTcu=https%3A%2F%2Fc
381
+ * lient.domain.example%2Fcb%3Ftoken%3DmAsJ6_vqbr-vjDiG_w%253D%253D%26MTaer%3D_
382
+ *
383
+ * ◦ The ExpandedARLRequestFlowUrl URL contains:
384
+ *
385
+ * ▪ A CallbackUrl with a client-provided arbitrary token= key/value pair and the MTaer= key/value pair
386
+ * place-holder to indicate support for a return access extension completion status:
387
+ * https://client.domain.example/cb?token=mAsJ6_vqbr-vjDiG_w%3D%3D&MTaer=_
388
+ *
389
+ * ▪ After expansion of the CallbackUrl (MTcu key) into an ExpandedCallbackUrl, with an example return
390
+ * access extension completion status of Success, the ExpandedARLRequestCallbackUrl would be:
391
+ *
392
+ * https://client.domain.example/cb?token=mAsJ6_vqbr- vjDiG_w%3D%3D&MTaer=Success
393
+ *
394
+ * Note that the MTcu key/value pair was initially provided URL-encoded within the ExpandedARLRequestFlowUrl
395
+ * URL and the MTaer=_ key/value pair placeholder now contains a substituted returned completion status.
396
+ *
397
+ * • Invalid URL, due to MTza=79 key/value pair in reserved MT-prefixed keys reserved for future use:
398
+ *
399
+ * ◦ https://company.domain.example/matter/arl?vid=FFF1&pid=1234&MTop=_&MTza=79
400
+ *
401
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.3.3
402
+ */
403
+ arlRequestFlowUrl: (0, import_TlvObject.TlvOptionalField)(2, import_TlvString.TlvString.bound({ maxLength: 256 })),
404
+ fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
405
+ });
47
406
  let AccessControlEntryPrivilege;
48
407
  ((AccessControlEntryPrivilege2) => {
49
408
  AccessControlEntryPrivilege2[AccessControlEntryPrivilege2["View"] = 1] = "View";
@@ -77,7 +436,7 @@ var AccessControl;
77
436
  * levels as well. The following diagram illustrates how the higher privilege levels subsume the lower
78
437
  * privilege levels:
79
438
  *
80
- * Figure 43. Access Control Privilege Levels
439
+ * Figure 46. Access Control Privilege Levels
81
440
  *
82
441
  * Individual clusters shall define whether attributes are readable, writable, or both readable and writable.
83
442
  * Clusters also shall define which privilege is minimally required to be able to perform a particular read or
@@ -88,13 +447,13 @@ var AccessControl;
88
447
  * Cluster itself. The Administer privilege shall NOT be used on Access Control Entries which use the Group
89
448
  * auth mode.
90
449
  *
91
- * @see {@link MatterSpecification.v13.Core} § 9.10.4.5.1
450
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.6.1
92
451
  */
93
452
  privilege: (0, import_TlvObject.TlvField)(1, (0, import_TlvNumber.TlvEnum)()),
94
453
  /**
95
454
  * The AuthMode field shall specify the authentication mode required by this Access Control Entry.
96
455
  *
97
- * @see {@link MatterSpecification.v13.Core} § 9.10.4.5.2
456
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.6.2
98
457
  */
99
458
  authMode: (0, import_TlvObject.TlvField)(2, (0, import_TlvNumber.TlvEnum)()),
100
459
  /**
@@ -113,7 +472,7 @@ var AccessControl;
113
472
  * successfully authenticates via AuthMode. The subjects list shall NOT be empty if the entry’s AuthMode is
114
473
  * PASE.
115
474
  *
116
- * The PASE AuthMode is reserved for future use (see Section 6.6.2.8, “Bootstrapping of the Access Control
475
+ * The PASE AuthMode is reserved for future use (see Section 6.6.2.9, “Bootstrapping of the Access Control
117
476
  * Cluster”). An attempt to write an entry with AuthMode set to PASE shall fail with a status code of
118
477
  * CONSTRAINT_ERROR.
119
478
  *
@@ -130,7 +489,7 @@ var AccessControl;
130
489
  * For Group authentication, the Group ID identifies the required group, as defined in the Group Key Management
131
490
  * Cluster.
132
491
  *
133
- * @see {@link MatterSpecification.v13.Core} § 9.10.4.5.3
492
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.6.3
134
493
  */
135
494
  subjects: (0, import_TlvObject.TlvField)(3, (0, import_TlvNullable.TlvNullable)((0, import_TlvArray.TlvArray)(import_SubjectId.TlvSubjectId))),
136
495
  /**
@@ -152,33 +511,11 @@ var AccessControl;
152
511
  * An empty targets list indicates a wildcard: that is, this entry shall grant access to all cluster instances
153
512
  * on all endpoints on this Node.
154
513
  *
155
- * @see {@link MatterSpecification.v13.Core} § 9.10.4.5.4
514
+ * @see {@link MatterSpecification.v13.Core} § 9.10.5.6.4
156
515
  */
157
516
  targets: (0, import_TlvObject.TlvField)(4, (0, import_TlvNullable.TlvNullable)((0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessControlTarget))),
158
517
  fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
159
518
  });
160
- AccessControl2.TlvAccessControlExtension = (0, import_TlvObject.TlvObject)({
161
- /**
162
- * This field may be used by manufacturers to store arbitrary TLV-encoded data related to a fabric’s Access
163
- * Control Entries.
164
- *
165
- * The contents shall consist of a top-level anonymous list; each list element shall include a profile-specific
166
- * tag encoded in fully-qualified form.
167
- *
168
- * Administrators may iterate over this list of elements, and interpret selected elements at their discretion.
169
- * The content of each element is not specified, but may be coordinated among manufacturers at their discretion.
170
- *
171
- * @see {@link MatterSpecification.v13.Core} § 9.10.4.6.1
172
- */
173
- data: (0, import_TlvObject.TlvField)(1, import_TlvString.TlvByteString.bound({ maxLength: 128 })),
174
- fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
175
- });
176
- let ChangeType;
177
- ((ChangeType2) => {
178
- ChangeType2[ChangeType2["Changed"] = 0] = "Changed";
179
- ChangeType2[ChangeType2["Added"] = 1] = "Added";
180
- ChangeType2[ChangeType2["Removed"] = 2] = "Removed";
181
- })(ChangeType = AccessControl2.ChangeType || (AccessControl2.ChangeType = {}));
182
519
  AccessControl2.TlvAccessControlEntryChangedEvent = (0, import_TlvObject.TlvObject)({
183
520
  /**
184
521
  * The Node ID of the Administrator that made the change, if the change occurred via a CASE session.
@@ -186,7 +523,7 @@ var AccessControl;
186
523
  * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
187
524
  * CASE or PASE session; the other shall be null.
188
525
  *
189
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.1.1
526
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.1.1
190
527
  */
191
528
  adminNodeId: (0, import_TlvObject.TlvField)(1, (0, import_TlvNullable.TlvNullable)(import_NodeId.TlvNodeId)),
192
529
  /**
@@ -196,13 +533,13 @@ var AccessControl;
196
533
  * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
197
534
  * CASE or PASE session; the other shall be null.
198
535
  *
199
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.1.2
536
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.1.2
200
537
  */
201
538
  adminPasscodeId: (0, import_TlvObject.TlvField)(2, (0, import_TlvNullable.TlvNullable)(import_TlvNumber.TlvUInt16)),
202
539
  /**
203
540
  * The type of change as appropriate.
204
541
  *
205
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.1.3
542
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.1.3
206
543
  */
207
544
  changeType: (0, import_TlvObject.TlvField)(3, (0, import_TlvNumber.TlvEnum)()),
208
545
  /**
@@ -211,52 +548,227 @@ var AccessControl;
211
548
  * This field SHOULD be set if resources are adequate for it; otherwise it shall be set to NULL if resources
212
549
  * are scarce.
213
550
  *
214
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.1.4
551
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.1.4
215
552
  */
216
553
  latestValue: (0, import_TlvObject.TlvField)(4, (0, import_TlvNullable.TlvNullable)(AccessControl2.TlvAccessControlEntry)),
217
554
  fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
218
555
  });
219
- AccessControl2.TlvAccessControlExtensionChangedEvent = (0, import_TlvObject.TlvObject)({
220
- /**
221
- * The Node ID of the Administrator that made the change, if the change occurred via a CASE session.
222
- *
223
- * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
224
- * CASE or PASE session; the other shall be null.
225
- *
226
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.2.1
227
- */
228
- adminNodeId: (0, import_TlvObject.TlvField)(1, (0, import_TlvNullable.TlvNullable)(import_NodeId.TlvNodeId)),
229
- /**
230
- * The Passcode ID of the Administrator that made the change, if the change occurred via a PASE session.
231
- * Non-zero values are reserved for future use (see PasscodeId generation in PBKDFParamRequest).
232
- *
233
- * Exactly one of AdminNodeID and AdminPasscodeID shall be set, depending on whether the change occurred via a
234
- * CASE or PASE session; the other shall be null.
235
- *
236
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.2.2
237
- */
238
- adminPasscodeId: (0, import_TlvObject.TlvField)(2, (0, import_TlvNullable.TlvNullable)(import_TlvNumber.TlvUInt16)),
239
- /**
240
- * The type of change as appropriate.
241
- *
242
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.2.3
243
- */
244
- changeType: (0, import_TlvObject.TlvField)(3, (0, import_TlvNumber.TlvEnum)()),
245
- /**
246
- * The latest value of the changed extension.
247
- *
248
- * This field SHOULD be set if resources are adequate for it; otherwise it shall be set to NULL if resources
249
- * are scarce.
250
- *
251
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.2.4
252
- */
253
- latestValue: (0, import_TlvObject.TlvField)(4, (0, import_TlvNullable.TlvNullable)(AccessControl2.TlvAccessControlExtension)),
254
- fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
556
+ AccessControl2.ExtensionComponent = import_MutableCluster.MutableCluster.Component({
557
+ attributes: {
558
+ /**
559
+ * If present, the Access Control Extensions may be used by Administrators to store arbitrary data related
560
+ * to fabric’s Access Control Entries.
561
+ *
562
+ * The Access Control Extension list shall support a single extension entry per supported fabric.
563
+ *
564
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.4
565
+ */
566
+ extension: (0, import_Cluster.WritableFabricScopedAttribute)(
567
+ 1,
568
+ (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessControlExtension),
569
+ { default: [], readAcl: import_model.AccessLevel.Administer, writeAcl: import_model.AccessLevel.Administer }
570
+ )
571
+ },
572
+ events: {
573
+ /**
574
+ * The cluster shall generate AccessControlExtensionChanged events whenever its extension attribute data is
575
+ * changed by an Administrator.
576
+ *
577
+ * Each added extension shall generate an event with ChangeType Added.
578
+ *
579
+ * Each changed extension shall generate an event with ChangeType Changed.
580
+ *
581
+ * • Each removed extension shall generate an event with ChangeType Removed.
582
+ *
583
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.2
584
+ */
585
+ accessControlExtensionChanged: (0, import_Cluster.Event)(
586
+ 1,
587
+ import_Cluster.EventPriority.Info,
588
+ AccessControl2.TlvAccessControlExtensionChangedEvent,
589
+ { readAcl: import_model.AccessLevel.Administer }
590
+ )
591
+ }
255
592
  });
256
- AccessControl2.ClusterInstance = (0, import_MutableCluster.MutableCluster)({
593
+ AccessControl2.ManagedDeviceComponent = import_MutableCluster.MutableCluster.Component({
594
+ attributes: {
595
+ /**
596
+ * This attribute shall provide the set of CommissioningAccessRestrictionEntryStruct applied during
597
+ * commissioning on a managed device.
598
+ *
599
+ * When present, the CommissioningARL attribute shall indicate the access restrictions applying during
600
+ * commissioning.
601
+ *
602
+ * Attempts to access data model elements described by an entry in the CommissioningARL attribute during
603
+ * commissioning shall result in an error of ACCESS_RESTRICTED. See Access Control Model for more
604
+ * information about the features related to controlling access to a Node’s Endpoint Clusters ("Targets"
605
+ * hereafter) from other Nodes.
606
+ *
607
+ * See Section 9.10.4.2.1, “Managed Device Feature Usage Restrictions” for limitations on the use of access
608
+ * restrictions.
609
+ *
610
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.8
611
+ */
612
+ commissioningArL: (0, import_Cluster.FixedAttribute)(5, (0, import_TlvArray.TlvArray)(AccessControl2.TlvCommissioningAccessRestrictionEntry), { default: [] }),
613
+ /**
614
+ * This attribute shall provide the set of AccessRestrictionEntryStruct applied to the associated fabric on
615
+ * a managed device.
616
+ *
617
+ * When present, the ARL attribute shall indicate the access restrictions applying to the accessing fabric.
618
+ * In contrast, the CommissioningARL attribute indicates the accessing restrictions that apply when there
619
+ * is no accessing fabric, such as during commissioning.
620
+ *
621
+ * The access restrictions are externally added/removed based on the particular relationship the device
622
+ * hosting this server has with external entities such as its owner, external service provider, or end-user.
623
+ *
624
+ * Attempts to access data model elements described by an entry in the ARL attribute for the accessing
625
+ * fabric shall result in an error of ACCESS_RESTRICTED. See Access Control Model for more information
626
+ * about the features related to controlling access to a Node’s Endpoint Clusters ("Targets" hereafter)
627
+ * from other Nodes.
628
+ *
629
+ * See Section 9.10.4.2.1, “Managed Device Feature Usage Restrictions” for limitations on the use of access
630
+ * restrictions.
631
+ *
632
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.9
633
+ */
634
+ arl: (0, import_Cluster.FabricScopedAttribute)(6, (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessRestrictionEntry), { default: [] })
635
+ },
636
+ commands: {
637
+ /**
638
+ * This command signals to the service associated with the device vendor that the fabric administrator
639
+ * would like a review of the current restrictions on the accessing fabric. This command includes an
640
+ * optional list of ARL entries that the fabric administrator would like removed.
641
+ *
642
+ * In response, a ReviewFabricRestrictionsResponse is sent which contains a token that can be used to
643
+ * correlate a review request with a FabricRestrictionReviewUpdate event.
644
+ *
645
+ * Within 1 hour of the ReviewFabricRestrictionsResponse, the FabricRestrictionReviewUpdate event shall be
646
+ * generated, in order to indicate completion of the review and any additional steps required by the user
647
+ * for the review.
648
+ *
649
+ * A review may include obtaining consent from the user, which can take time. For example, the user may
650
+ * need to respond to an email or a push notification.
651
+ *
652
+ * The ARL attribute may change at any time due to actions taken by the user, or the service associated
653
+ * with the device vendor.
654
+ *
655
+ * @see {@link MatterSpecification.v13.Core} § 9.10.8.1
656
+ */
657
+ reviewFabricRestrictions: (0, import_Cluster.Command)(
658
+ 0,
659
+ AccessControl2.TlvReviewFabricRestrictionsRequest,
660
+ 1,
661
+ AccessControl2.TlvReviewFabricRestrictionsResponse,
662
+ { invokeAcl: import_model.AccessLevel.Administer }
663
+ )
664
+ },
665
+ events: {
666
+ /**
667
+ * The cluster shall generate a FabricRestrictionReviewUpdate event to indicate completion of a fabric
668
+ * restriction review. Due to the requirement to generate this event within a bound time frame of
669
+ * successful receipt of the ReviewFabricRestrictions command, this event may include additional steps that
670
+ * the client may present to the user in order to help the user locate the user interface for the Managed
671
+ * Device feature.
672
+ *
673
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.3
674
+ */
675
+ fabricRestrictionReviewUpdate: (0, import_Cluster.Event)(
676
+ 2,
677
+ import_Cluster.EventPriority.Info,
678
+ AccessControl2.TlvFabricRestrictionReviewUpdateEvent,
679
+ { readAcl: import_model.AccessLevel.Administer }
680
+ )
681
+ }
682
+ });
683
+ AccessControl2.Base = import_MutableCluster.MutableCluster.Component({
257
684
  id: 31,
258
685
  name: "AccessControl",
259
- revision: 1,
686
+ revision: 2,
687
+ features: {
688
+ /**
689
+ * Extension
690
+ *
691
+ * This feature indicates the device supports ACL Extension attribute.
692
+ *
693
+ * @see {@link MatterSpecification.v13.Core} § 9.10.4.1
694
+ */
695
+ extension: (0, import_BitmapSchema.BitFlag)(0),
696
+ /**
697
+ * ManagedDevice
698
+ *
699
+ * This feature is for a device that is managed by a service associated with the device vendor and which
700
+ * imposes default access restrictions upon each new fabric added to it. This could arise, for example, if
701
+ * the device is managed by a service provider under contract to an end-user, in such a way that the
702
+ * manager of the device does not unconditionally grant universal access to all of a device’s
703
+ * functionality, even for fabric administrators. For example, many Home Routers are managed by an Internet
704
+ * Service Provider (a service), and these services often have a policy that requires them to obtain user
705
+ * consent before certain administrative functions can be delegated to a third party (e.g., a fabric
706
+ * Administrator). These restrictions are expressed using an Access Restriction List (ARL).
707
+ *
708
+ * The purpose of this feature on the Access Control cluster is to indicate to a fabric Administrator that
709
+ * access by it to specific attributes, commands and/or events for specific clusters is currently
710
+ * prohibited. Attempts to access these restricted data model elements shall result in an error of
711
+ * ACCESS_RESTRICTED.
712
+ *
713
+ * A device that implements this feature shall have a mechanism to honor the ReviewFabricRestrictions
714
+ * command, such as user interfaces or service interactions associated with a service provider or the
715
+ * device manufacturer, which allows the owner (or subscriber) to manage access restrictions for each
716
+ * fabric. The user interface design, which includes the way restrictions are organized and presented to
717
+ * the user, is not specified, but SHOULD be usable by non-expert end-users from common mobile devices,
718
+ * personal computers, or an on-device user interface.
719
+ *
720
+ * Controllers and clients SHOULD incorporate generic handling of the ACCESS_RESTRICTED error code, when it
721
+ * appears in allowed contexts, in order to gracefully handle situations where this feature is encountered.
722
+ * Device vendors that adopt this feature SHOULD be judicious in its use given the risk of unexpected
723
+ * behavior in controllers and clients.
724
+ *
725
+ * For certification testing, a device that implements this feature shall provide a way for all
726
+ * restrictions to be removed.
727
+ *
728
+ * The ARL attribute provides the set of restrictions currently applied to this fabric.
729
+ *
730
+ * The ReviewFabricRestrictions command provides a way for the fabric Administrator to request that the
731
+ * server triggers a review of the current fabric restrictions, by involving external entities such as
732
+ * end-users, or other services associated with the manager of the device hosting the server. This review
733
+ * process may involve communication between external services and the user, and may take an unpredictable
734
+ * amount of time to complete since an end-user may need to visit some resources, such as a mobile
735
+ * application or web site. A FabricRestrictionReviewUpdate event will be generated by the device within a
736
+ * predictable time period of the ReviewFabricRestrictionsResponse (see ReviewFabricRestrictions for
737
+ * specification of this time period), and this event can be correlated with the
738
+ * ReviewFabricRestrictionsResponse using a token provided in both. The device may provide instructions or
739
+ * a Redirect URL in the FabricRestrictionReviewUpdate event in order to help the user access the features
740
+ * required for managing per-fabric restrictions.
741
+ *
742
+ * See Section 6.6.2, “Model” for a description of how access control is impacted by the ARL attribute.
743
+ *
744
+ * ### Managed Device Feature Usage Restrictions
745
+ *
746
+ * Use of this feature shall be limited to the mandatory clusters of endpoints having a device type that
747
+ * explicitly permits its use in the Device Library Specification. As a reminder, the device types
748
+ * associated with an endpoint are listed in the Descriptor cluster of the endpoint.
749
+ *
750
+ * In addition, use of this feature shall NOT restrict the following clusters on any endpoint:
751
+ *
752
+ * 1. the Descriptor Cluster (0x001D)
753
+ *
754
+ * 2. the Binding Cluster (0x001E)
755
+ *
756
+ * 3. the Network Commissioning Cluster (0x0031)
757
+ *
758
+ * 4. the Identify Cluster (0x0003)
759
+ *
760
+ * 5. the Groups Cluster (0x0004)
761
+ *
762
+ * In addition, use of this feature shall NOT restrict the global attributes of any cluster.
763
+ *
764
+ * Because ARLs cannot be used to restrict root node access or access to any clusters required for
765
+ * commissioning, administrators may determine the current restrictions of the ARL at any point, including
766
+ * during commissioning after joining the fabric.
767
+ *
768
+ * @see {@link MatterSpecification.v13.Core} § 9.10.4.2
769
+ */
770
+ managedDevice: (0, import_BitmapSchema.BitFlag)(1)
771
+ },
260
772
  attributes: {
261
773
  /**
262
774
  * An attempt to add an Access Control Entry when no more entries are available shall result in a
@@ -270,26 +782,13 @@ var AccessControl;
270
782
  * Control Privilege Granting algorithm to determine if a subject has privilege to interact with targets on
271
783
  * the Node.
272
784
  *
273
- * @see {@link MatterSpecification.v13.Core} § 9.10.5.3
785
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.3
274
786
  */
275
787
  acl: (0, import_Cluster.WritableFabricScopedAttribute)(
276
788
  0,
277
789
  (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessControlEntry),
278
790
  { default: [], readAcl: import_model.AccessLevel.Administer, writeAcl: import_model.AccessLevel.Administer }
279
791
  ),
280
- /**
281
- * If present, the Access Control Extensions may be used by Administrators to store arbitrary data related
282
- * to fabric’s Access Control Entries.
283
- *
284
- * The Access Control Extension list shall support a single extension entry per supported fabric.
285
- *
286
- * @see {@link MatterSpecification.v13.Core} § 9.10.5.4
287
- */
288
- extension: (0, import_Cluster.OptionalWritableFabricScopedAttribute)(
289
- 1,
290
- (0, import_TlvArray.TlvArray)(AccessControl2.TlvAccessControlExtension),
291
- { default: [], readAcl: import_model.AccessLevel.Administer, writeAcl: import_model.AccessLevel.Administer }
292
- ),
293
792
  /**
294
793
  * This attribute shall provide the minimum number of Subjects per entry that are supported by this server.
295
794
  *
@@ -298,7 +797,7 @@ var AccessControl;
298
797
  * given implementation, it is recommended to only use the minimum value required and avoid reporting a
299
798
  * higher value than the required minimum.
300
799
  *
301
- * @see {@link MatterSpecification.v13.Core} § 9.10.5.5
800
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.5
302
801
  */
303
802
  subjectsPerAccessControlEntry: (0, import_Cluster.FixedAttribute)(2, import_TlvNumber.TlvUInt16.bound({ min: 4 }), { default: 4 }),
304
803
  /**
@@ -309,7 +808,7 @@ var AccessControl;
309
808
  * given implementation, it is recommended to only use the minimum value required and avoid reporting a
310
809
  * higher value than the required minimum.
311
810
  *
312
- * @see {@link MatterSpecification.v13.Core} § 9.10.5.6
811
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.6
313
812
  */
314
813
  targetsPerAccessControlEntry: (0, import_Cluster.FixedAttribute)(3, import_TlvNumber.TlvUInt16.bound({ min: 3 }), { default: 3 }),
315
814
  /**
@@ -321,14 +820,14 @@ var AccessControl;
321
820
  * given implementation, it is recommended to only use the minimum value required and avoid reporting a
322
821
  * higher value than the required minimum.
323
822
  *
324
- * @see {@link MatterSpecification.v13.Core} § 9.10.5.7
823
+ * @see {@link MatterSpecification.v13.Core} § 9.10.6.7
325
824
  */
326
825
  accessControlEntriesPerFabric: (0, import_Cluster.FixedAttribute)(4, import_TlvNumber.TlvUInt16.bound({ min: 4 }), { default: 4 })
327
826
  },
328
827
  events: {
329
828
  /**
330
- * The cluster shall send AccessControlEntryChanged events whenever its ACL attribute data is changed by an
331
- * Administrator.
829
+ * The cluster shall generate AccessControlEntryChanged events whenever its ACL attribute data is changed
830
+ * by an Administrator.
332
831
  *
333
832
  * • Each added entry shall generate an event with ChangeType Added.
334
833
  *
@@ -336,36 +835,61 @@ var AccessControl;
336
835
  *
337
836
  * • Each removed entry shall generate an event with ChangeType Removed.
338
837
  *
339
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.1
838
+ * @see {@link MatterSpecification.v13.Core} § 9.10.9.1
340
839
  */
341
840
  accessControlEntryChanged: (0, import_Cluster.Event)(
342
841
  0,
343
842
  import_Cluster.EventPriority.Info,
344
843
  AccessControl2.TlvAccessControlEntryChangedEvent,
345
844
  { readAcl: import_model.AccessLevel.Administer }
845
+ )
846
+ },
847
+ /**
848
+ * This metadata controls which AccessControlCluster elements matter.js activates for specific feature
849
+ * combinations.
850
+ */
851
+ extensions: import_MutableCluster.MutableCluster.Extensions(
852
+ { flags: { extension: true }, component: AccessControl2.ExtensionComponent },
853
+ { flags: { managedDevice: true }, component: AccessControl2.ManagedDeviceComponent }
854
+ )
855
+ });
856
+ AccessControl2.ClusterInstance = (0, import_MutableCluster.MutableCluster)(AccessControl2.Base);
857
+ AccessControl2.Cluster = AccessControl2.ClusterInstance;
858
+ const EXTS = { extension: true };
859
+ const MNGD = { managedDevice: true };
860
+ AccessControl2.CompleteInstance = (0, import_MutableCluster.MutableCluster)({
861
+ id: AccessControl2.Cluster.id,
862
+ name: AccessControl2.Cluster.name,
863
+ revision: AccessControl2.Cluster.revision,
864
+ features: AccessControl2.Cluster.features,
865
+ attributes: {
866
+ ...AccessControl2.Cluster.attributes,
867
+ extension: import_MutableCluster.MutableCluster.AsConditional(AccessControl2.ExtensionComponent.attributes.extension, { mandatoryIf: [EXTS] }),
868
+ commissioningArL: import_MutableCluster.MutableCluster.AsConditional(
869
+ AccessControl2.ManagedDeviceComponent.attributes.commissioningArL,
870
+ { mandatoryIf: [MNGD] }
346
871
  ),
347
- /**
348
- * The cluster shall send AccessControlExtensionChanged events whenever its extension attribute data is
349
- * changed by an Administrator.
350
- *
351
- * • Each added extension shall generate an event with ChangeType Added.
352
- *
353
- * • Each changed extension shall generate an event with ChangeType Changed.
354
- *
355
- * • Each removed extension shall generate an event with ChangeType Removed.
356
- *
357
- * @see {@link MatterSpecification.v13.Core} § 9.10.7.2
358
- */
359
- accessControlExtensionChanged: (0, import_Cluster.Event)(
360
- 1,
361
- import_Cluster.EventPriority.Info,
362
- AccessControl2.TlvAccessControlExtensionChangedEvent,
363
- { readAcl: import_model.AccessLevel.Administer }
872
+ arl: import_MutableCluster.MutableCluster.AsConditional(AccessControl2.ManagedDeviceComponent.attributes.arl, { mandatoryIf: [MNGD] })
873
+ },
874
+ commands: {
875
+ reviewFabricRestrictions: import_MutableCluster.MutableCluster.AsConditional(
876
+ AccessControl2.ManagedDeviceComponent.commands.reviewFabricRestrictions,
877
+ { mandatoryIf: [MNGD] }
878
+ )
879
+ },
880
+ events: {
881
+ ...AccessControl2.Cluster.events,
882
+ accessControlExtensionChanged: import_MutableCluster.MutableCluster.AsConditional(
883
+ AccessControl2.ExtensionComponent.events.accessControlExtensionChanged,
884
+ { mandatoryIf: [EXTS] }
885
+ ),
886
+ fabricRestrictionReviewUpdate: import_MutableCluster.MutableCluster.AsConditional(
887
+ AccessControl2.ManagedDeviceComponent.events.fabricRestrictionReviewUpdate,
888
+ { mandatoryIf: [MNGD] }
364
889
  )
365
890
  }
366
891
  });
367
- AccessControl2.Cluster = AccessControl2.ClusterInstance;
368
- AccessControl2.Complete = AccessControl2.Cluster;
892
+ AccessControl2.Complete = AccessControl2.CompleteInstance;
369
893
  })(AccessControl || (AccessControl = {}));
370
894
  const AccessControlCluster = AccessControl.Cluster;
371
895
  import_ClusterRegistry.ClusterRegistry.register(AccessControl.Complete);