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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/dist/cjs/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  2. package/dist/cjs/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  3. package/dist/cjs/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +6 -6
  4. package/dist/cjs/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  5. package/dist/cjs/cluster/mutation/MutableCluster.d.ts +7 -7
  6. package/dist/cjs/cluster/mutation/MutableCluster.d.ts.map +1 -1
  7. package/dist/cjs/cluster/mutation/MutableCluster.js +4 -4
  8. package/dist/cjs/cluster/mutation/MutableCluster.js.map +1 -1
  9. package/dist/cjs/cluster/mutation/index.d.ts +1 -1
  10. package/dist/cjs/cluster/mutation/index.d.ts.map +1 -1
  11. package/dist/cjs/cluster/mutation/index.js +1 -1
  12. package/dist/cjs/cluster/mutation/index.js.map +1 -1
  13. package/dist/cjs/clusters/access-control.d.ts +96 -47
  14. package/dist/cjs/clusters/access-control.d.ts.map +1 -1
  15. package/dist/cjs/clusters/access-control.js +16 -8
  16. package/dist/cjs/clusters/access-control.js.map +1 -1
  17. package/dist/cjs/clusters/account-login.d.ts +20 -20
  18. package/dist/cjs/clusters/account-login.js +12 -12
  19. package/dist/cjs/clusters/actions.d.ts +36 -5
  20. package/dist/cjs/clusters/actions.d.ts.map +1 -1
  21. package/dist/cjs/clusters/actions.js +26 -1
  22. package/dist/cjs/clusters/actions.js.map +1 -1
  23. package/dist/cjs/clusters/administrator-commissioning.d.ts +29 -25
  24. package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
  25. package/dist/cjs/clusters/administrator-commissioning.js +7 -6
  26. package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
  27. package/dist/cjs/clusters/air-quality.js +1 -1
  28. package/dist/cjs/clusters/air-quality.js.map +1 -1
  29. package/dist/cjs/clusters/alarm-base.d.ts +4 -4
  30. package/dist/cjs/clusters/alarm-base.js +2 -2
  31. package/dist/cjs/clusters/application-launcher.d.ts +49 -23
  32. package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
  33. package/dist/cjs/clusters/application-launcher.js +7 -3
  34. package/dist/cjs/clusters/application-launcher.js.map +1 -1
  35. package/dist/cjs/clusters/basic-information.d.ts +22 -19
  36. package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
  37. package/dist/cjs/clusters/basic-information.js +21 -18
  38. package/dist/cjs/clusters/basic-information.js.map +1 -1
  39. package/dist/cjs/clusters/boolean-state-configuration.d.ts +15 -15
  40. package/dist/cjs/clusters/boolean-state-configuration.js +3 -3
  41. package/dist/cjs/clusters/bridged-device-basic-information.d.ts +56 -12
  42. package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
  43. package/dist/cjs/clusters/bridged-device-basic-information.js +18 -4
  44. package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
  45. package/dist/cjs/clusters/channel.d.ts +12 -0
  46. package/dist/cjs/clusters/channel.d.ts.map +1 -1
  47. package/dist/cjs/clusters/channel.js +4 -0
  48. package/dist/cjs/clusters/channel.js.map +1 -1
  49. package/dist/cjs/clusters/color-control.d.ts +128 -119
  50. package/dist/cjs/clusters/color-control.d.ts.map +1 -1
  51. package/dist/cjs/clusters/color-control.js +52 -68
  52. package/dist/cjs/clusters/color-control.js.map +1 -1
  53. package/dist/cjs/clusters/commissioner-control.d.ts +8 -4
  54. package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -1
  55. package/dist/cjs/clusters/commissioner-control.js +5 -1
  56. package/dist/cjs/clusters/commissioner-control.js.map +1 -1
  57. package/dist/cjs/clusters/concentration-measurement.d.ts +7 -9
  58. package/dist/cjs/clusters/concentration-measurement.d.ts.map +1 -1
  59. package/dist/cjs/clusters/concentration-measurement.js +11 -12
  60. package/dist/cjs/clusters/concentration-measurement.js.map +1 -1
  61. package/dist/cjs/clusters/content-control.d.ts +44 -30
  62. package/dist/cjs/clusters/content-control.d.ts.map +1 -1
  63. package/dist/cjs/clusters/content-control.js +6 -6
  64. package/dist/cjs/clusters/content-control.js.map +1 -1
  65. package/dist/cjs/clusters/content-launcher.d.ts +32 -32
  66. package/dist/cjs/clusters/content-launcher.js +1 -1
  67. package/dist/cjs/clusters/descriptor.d.ts +43 -10
  68. package/dist/cjs/clusters/descriptor.d.ts.map +1 -1
  69. package/dist/cjs/clusters/descriptor.js +21 -4
  70. package/dist/cjs/clusters/descriptor.js.map +1 -1
  71. package/dist/cjs/clusters/device-energy-management-mode.d.ts +9 -0
  72. package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
  73. package/dist/cjs/clusters/device-energy-management-mode.js +3 -0
  74. package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
  75. package/dist/cjs/clusters/device-energy-management.d.ts +133 -24
  76. package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
  77. package/dist/cjs/clusters/device-energy-management.js +38 -12
  78. package/dist/cjs/clusters/device-energy-management.js.map +1 -1
  79. package/dist/cjs/clusters/dishwasher-alarm.d.ts +3 -3
  80. package/dist/cjs/clusters/dishwasher-alarm.js +1 -1
  81. package/dist/cjs/clusters/dishwasher-mode.d.ts +9 -0
  82. package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
  83. package/dist/cjs/clusters/dishwasher-mode.js +3 -0
  84. package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
  85. package/dist/cjs/clusters/door-lock.d.ts +182 -266
  86. package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
  87. package/dist/cjs/clusters/door-lock.js +80 -111
  88. package/dist/cjs/clusters/door-lock.js.map +1 -1
  89. package/dist/cjs/clusters/ecosystem-information.d.ts +93 -49
  90. package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -1
  91. package/dist/cjs/clusters/ecosystem-information.js +36 -24
  92. package/dist/cjs/clusters/ecosystem-information.js.map +1 -1
  93. package/dist/cjs/clusters/electrical-energy-measurement.d.ts +285 -209
  94. package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
  95. package/dist/cjs/clusters/electrical-energy-measurement.js +33 -13
  96. package/dist/cjs/clusters/electrical-energy-measurement.js.map +2 -2
  97. package/dist/cjs/clusters/electrical-power-measurement.d.ts +201 -126
  98. package/dist/cjs/clusters/electrical-power-measurement.d.ts.map +1 -1
  99. package/dist/cjs/clusters/electrical-power-measurement.js +45 -23
  100. package/dist/cjs/clusters/electrical-power-measurement.js.map +2 -2
  101. package/dist/cjs/clusters/energy-evse-mode.d.ts +9 -0
  102. package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
  103. package/dist/cjs/clusters/energy-evse-mode.js +3 -0
  104. package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
  105. package/dist/cjs/clusters/energy-evse.d.ts +61 -45
  106. package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
  107. package/dist/cjs/clusters/energy-evse.js +28 -33
  108. package/dist/cjs/clusters/energy-evse.js.map +1 -1
  109. package/dist/cjs/clusters/energy-preference.d.ts +5 -9
  110. package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
  111. package/dist/cjs/clusters/energy-preference.js +1 -3
  112. package/dist/cjs/clusters/energy-preference.js.map +1 -1
  113. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +59 -69
  114. package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  115. package/dist/cjs/clusters/ethernet-network-diagnostics.js +21 -25
  116. package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
  117. package/dist/cjs/clusters/fan-control.d.ts +334 -148
  118. package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
  119. package/dist/cjs/clusters/fan-control.js +107 -56
  120. package/dist/cjs/clusters/fan-control.js.map +1 -1
  121. package/dist/cjs/clusters/flow-measurement.js +1 -1
  122. package/dist/cjs/clusters/flow-measurement.js.map +1 -1
  123. package/dist/cjs/clusters/general-commissioning.d.ts +90 -69
  124. package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
  125. package/dist/cjs/clusters/general-commissioning.js +26 -23
  126. package/dist/cjs/clusters/general-commissioning.js.map +1 -1
  127. package/dist/cjs/clusters/general-diagnostics.d.ts +51 -52
  128. package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
  129. package/dist/cjs/clusters/general-diagnostics.js +13 -13
  130. package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
  131. package/dist/cjs/clusters/group-key-management.d.ts +28 -22
  132. package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
  133. package/dist/cjs/clusters/group-key-management.js +13 -10
  134. package/dist/cjs/clusters/group-key-management.js.map +1 -1
  135. package/dist/cjs/clusters/groups.d.ts +0 -12
  136. package/dist/cjs/clusters/groups.d.ts.map +1 -1
  137. package/dist/cjs/clusters/groups.js +1 -7
  138. package/dist/cjs/clusters/groups.js.map +1 -1
  139. package/dist/cjs/clusters/icd-management.d.ts +809 -145
  140. package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
  141. package/dist/cjs/clusters/icd-management.js +182 -34
  142. package/dist/cjs/clusters/icd-management.js.map +1 -1
  143. package/dist/cjs/clusters/identify.d.ts +12 -1
  144. package/dist/cjs/clusters/identify.d.ts.map +1 -1
  145. package/dist/cjs/clusters/identify.js +13 -2
  146. package/dist/cjs/clusters/identify.js.map +1 -1
  147. package/dist/cjs/clusters/illuminance-measurement.js +1 -1
  148. package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
  149. package/dist/cjs/clusters/index.d.ts +1 -5
  150. package/dist/cjs/clusters/index.d.ts.map +1 -1
  151. package/dist/cjs/clusters/index.js +3 -15
  152. package/dist/cjs/clusters/index.js.map +1 -1
  153. package/dist/cjs/clusters/joint-fabric-administrator.d.ts +424 -0
  154. package/dist/cjs/clusters/joint-fabric-administrator.d.ts.map +1 -0
  155. package/dist/cjs/clusters/joint-fabric-administrator.js +285 -0
  156. package/dist/cjs/clusters/joint-fabric-administrator.js.map +6 -0
  157. package/dist/cjs/clusters/joint-fabric-datastore.d.ts +1960 -805
  158. package/dist/cjs/clusters/joint-fabric-datastore.d.ts.map +1 -1
  159. package/dist/cjs/clusters/joint-fabric-datastore.js +990 -172
  160. package/dist/cjs/clusters/joint-fabric-datastore.js.map +2 -2
  161. package/dist/cjs/clusters/label.d.ts +9 -6
  162. package/dist/cjs/clusters/label.d.ts.map +1 -1
  163. package/dist/cjs/clusters/label.js +3 -2
  164. package/dist/cjs/clusters/label.js.map +1 -1
  165. package/dist/cjs/clusters/laundry-washer-controls.d.ts +9 -9
  166. package/dist/cjs/clusters/laundry-washer-controls.js +4 -4
  167. package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
  168. package/dist/cjs/clusters/laundry-washer-mode.d.ts +2 -2
  169. package/dist/cjs/clusters/level-control.d.ts +11 -15
  170. package/dist/cjs/clusters/level-control.d.ts.map +1 -1
  171. package/dist/cjs/clusters/level-control.js +8 -9
  172. package/dist/cjs/clusters/level-control.js.map +1 -1
  173. package/dist/cjs/clusters/media-playback.d.ts +138 -12
  174. package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
  175. package/dist/cjs/clusters/media-playback.js +41 -4
  176. package/dist/cjs/clusters/media-playback.js.map +1 -1
  177. package/dist/cjs/clusters/messages.d.ts +7 -7
  178. package/dist/cjs/clusters/messages.js +3 -3
  179. package/dist/cjs/clusters/microwave-oven-control.js +4 -4
  180. package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
  181. package/dist/cjs/clusters/microwave-oven-mode.d.ts +9 -0
  182. package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
  183. package/dist/cjs/clusters/microwave-oven-mode.js +3 -0
  184. package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
  185. package/dist/cjs/clusters/mode-base.d.ts +31 -2
  186. package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
  187. package/dist/cjs/clusters/mode-base.js +15 -2
  188. package/dist/cjs/clusters/mode-base.js.map +1 -1
  189. package/dist/cjs/clusters/mode-select.d.ts +7 -7
  190. package/dist/cjs/clusters/mode-select.js +2 -2
  191. package/dist/cjs/clusters/network-commissioning.d.ts +259 -201
  192. package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
  193. package/dist/cjs/clusters/network-commissioning.js +41 -27
  194. package/dist/cjs/clusters/network-commissioning.js.map +1 -1
  195. package/dist/cjs/clusters/occupancy-sensing.d.ts +14 -20
  196. package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
  197. package/dist/cjs/clusters/occupancy-sensing.js +4 -6
  198. package/dist/cjs/clusters/occupancy-sensing.js.map +1 -1
  199. package/dist/cjs/clusters/on-off.js +4 -4
  200. package/dist/cjs/clusters/on-off.js.map +1 -1
  201. package/dist/cjs/clusters/operational-credentials.d.ts +367 -77
  202. package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
  203. package/dist/cjs/clusters/operational-credentials.js +182 -38
  204. package/dist/cjs/clusters/operational-credentials.js.map +1 -1
  205. package/dist/cjs/clusters/operational-state.d.ts +29 -49
  206. package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
  207. package/dist/cjs/clusters/operational-state.js +7 -10
  208. package/dist/cjs/clusters/operational-state.js.map +1 -1
  209. package/dist/cjs/clusters/ota-software-update-provider.d.ts +54 -22
  210. package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
  211. package/dist/cjs/clusters/ota-software-update-provider.js +27 -11
  212. package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
  213. package/dist/cjs/clusters/ota-software-update-requestor.d.ts +12 -10
  214. package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
  215. package/dist/cjs/clusters/ota-software-update-requestor.js +6 -5
  216. package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
  217. package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +5 -5
  218. package/dist/cjs/clusters/oven-cavity-operational-state.js +3 -3
  219. package/dist/cjs/clusters/oven-mode.d.ts +150 -0
  220. package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
  221. package/dist/cjs/clusters/oven-mode.js +51 -1
  222. package/dist/cjs/clusters/oven-mode.js.map +1 -1
  223. package/dist/cjs/clusters/power-source.d.ts +18 -6
  224. package/dist/cjs/clusters/power-source.d.ts.map +1 -1
  225. package/dist/cjs/clusters/power-source.js +6 -2
  226. package/dist/cjs/clusters/power-source.js.map +1 -1
  227. package/dist/cjs/clusters/pressure-measurement.d.ts +18 -9
  228. package/dist/cjs/clusters/pressure-measurement.d.ts.map +1 -1
  229. package/dist/cjs/clusters/pressure-measurement.js +10 -7
  230. package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
  231. package/dist/cjs/clusters/pump-configuration-and-control.d.ts +46 -37
  232. package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
  233. package/dist/cjs/clusters/pump-configuration-and-control.js +15 -12
  234. package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
  235. package/dist/cjs/clusters/refrigerator-alarm.d.ts +3 -3
  236. package/dist/cjs/clusters/refrigerator-alarm.js +1 -1
  237. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  238. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  239. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  240. package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  241. package/dist/cjs/clusters/resource-monitoring.js +1 -1
  242. package/dist/cjs/clusters/resource-monitoring.js.map +1 -1
  243. package/dist/cjs/clusters/rvc-clean-mode.d.ts +16 -3
  244. package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
  245. package/dist/cjs/clusters/rvc-clean-mode.js +5 -1
  246. package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
  247. package/dist/cjs/clusters/rvc-operational-state.d.ts +78 -49
  248. package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
  249. package/dist/cjs/clusters/rvc-operational-state.js +19 -11
  250. package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
  251. package/dist/cjs/clusters/rvc-run-mode.d.ts +9 -0
  252. package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
  253. package/dist/cjs/clusters/rvc-run-mode.js +3 -0
  254. package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
  255. package/dist/cjs/clusters/scenes-management.d.ts +14 -45
  256. package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
  257. package/dist/cjs/clusters/scenes-management.js +7 -22
  258. package/dist/cjs/clusters/scenes-management.js.map +1 -1
  259. package/dist/cjs/clusters/service-area.d.ts +36 -40
  260. package/dist/cjs/clusters/service-area.d.ts.map +1 -1
  261. package/dist/cjs/clusters/service-area.js +10 -12
  262. package/dist/cjs/clusters/service-area.js.map +1 -1
  263. package/dist/cjs/clusters/smoke-co-alarm.d.ts +4 -9
  264. package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
  265. package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
  266. package/dist/cjs/clusters/software-diagnostics.d.ts +52 -51
  267. package/dist/cjs/clusters/software-diagnostics.d.ts.map +1 -1
  268. package/dist/cjs/clusters/software-diagnostics.js +17 -17
  269. package/dist/cjs/clusters/software-diagnostics.js.map +1 -1
  270. package/dist/cjs/clusters/switch.d.ts +20 -17
  271. package/dist/cjs/clusters/switch.d.ts.map +1 -1
  272. package/dist/cjs/clusters/switch.js +9 -8
  273. package/dist/cjs/clusters/switch.js.map +1 -1
  274. package/dist/cjs/clusters/temperature-control.d.ts +18 -9
  275. package/dist/cjs/clusters/temperature-control.d.ts.map +1 -1
  276. package/dist/cjs/clusters/temperature-control.js +7 -4
  277. package/dist/cjs/clusters/temperature-control.js.map +1 -1
  278. package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  279. package/dist/cjs/clusters/thermostat-user-interface-configuration.js +2 -10
  280. package/dist/cjs/clusters/thermostat-user-interface-configuration.js.map +1 -1
  281. package/dist/cjs/clusters/thermostat.d.ts +406 -420
  282. package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
  283. package/dist/cjs/clusters/thermostat.js +89 -101
  284. package/dist/cjs/clusters/thermostat.js.map +1 -1
  285. package/dist/cjs/clusters/thread-border-router-management.d.ts +9 -9
  286. package/dist/cjs/clusters/thread-border-router-management.js +5 -5
  287. package/dist/cjs/clusters/thread-border-router-management.js.map +1 -1
  288. package/dist/cjs/clusters/thread-network-diagnostics.d.ts +479 -504
  289. package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
  290. package/dist/cjs/clusters/thread-network-diagnostics.js +171 -181
  291. package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
  292. package/dist/cjs/clusters/thread-network-directory.d.ts +3 -3
  293. package/dist/cjs/clusters/thread-network-directory.js +5 -5
  294. package/dist/cjs/clusters/thread-network-directory.js.map +1 -1
  295. package/dist/cjs/clusters/time-synchronization.d.ts +159 -127
  296. package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
  297. package/dist/cjs/clusters/time-synchronization.js +52 -42
  298. package/dist/cjs/clusters/time-synchronization.js.map +1 -1
  299. package/dist/cjs/clusters/unit-localization.d.ts +51 -13
  300. package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
  301. package/dist/cjs/clusters/unit-localization.js +22 -4
  302. package/dist/cjs/clusters/unit-localization.js.map +1 -1
  303. package/dist/cjs/clusters/valve-configuration-and-control.d.ts.map +1 -1
  304. package/dist/cjs/clusters/valve-configuration-and-control.js +8 -12
  305. package/dist/cjs/clusters/valve-configuration-and-control.js.map +1 -1
  306. package/dist/cjs/clusters/water-heater-management.d.ts +2 -14
  307. package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -1
  308. package/dist/cjs/clusters/water-heater-management.js +5 -9
  309. package/dist/cjs/clusters/water-heater-management.js.map +1 -1
  310. package/dist/cjs/clusters/water-heater-mode.d.ts +9 -0
  311. package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -1
  312. package/dist/cjs/clusters/water-heater-mode.js +3 -0
  313. package/dist/cjs/clusters/water-heater-mode.js.map +1 -1
  314. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  315. package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  316. package/dist/cjs/clusters/wi-fi-network-diagnostics.js +20 -26
  317. package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
  318. package/dist/cjs/clusters/wi-fi-network-management.d.ts +39 -1
  319. package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -1
  320. package/dist/cjs/clusters/wi-fi-network-management.js +22 -3
  321. package/dist/cjs/clusters/wi-fi-network-management.js.map +1 -1
  322. package/dist/cjs/clusters/window-covering.d.ts +105 -3
  323. package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
  324. package/dist/cjs/clusters/window-covering.js +35 -1
  325. package/dist/cjs/clusters/window-covering.js.map +1 -1
  326. package/dist/cjs/globals/Currency.d.ts +27 -0
  327. package/dist/cjs/globals/Currency.d.ts.map +1 -0
  328. package/dist/cjs/globals/{Tod.js → Currency.js} +8 -22
  329. package/dist/cjs/globals/Currency.js.map +6 -0
  330. package/dist/cjs/globals/Locationdesc.d.ts +7 -7
  331. package/dist/cjs/globals/Locationdesc.js +5 -5
  332. package/dist/cjs/globals/MeasurementAccuracy.d.ts +5 -5
  333. package/dist/cjs/globals/MeasurementAccuracy.js +3 -3
  334. package/dist/cjs/globals/MeasurementAccuracyRange.d.ts +10 -10
  335. package/dist/cjs/globals/MeasurementAccuracyRange.js +8 -8
  336. package/dist/cjs/globals/MeasurementType.d.ts +14 -2
  337. package/dist/cjs/globals/MeasurementType.d.ts.map +1 -1
  338. package/dist/cjs/globals/MeasurementType.js +3 -0
  339. package/dist/cjs/globals/MeasurementType.js.map +1 -1
  340. package/dist/cjs/globals/Namespace.d.ts +13 -3
  341. package/dist/cjs/globals/Namespace.d.ts.map +1 -1
  342. package/dist/cjs/globals/Namespace.js.map +1 -1
  343. package/dist/cjs/globals/Price.d.ts +30 -0
  344. package/dist/cjs/globals/Price.d.ts.map +1 -0
  345. package/dist/cjs/globals/Price.js +33 -0
  346. package/dist/cjs/globals/Price.js.map +6 -0
  347. package/dist/cjs/globals/Priority.d.ts +1 -1
  348. package/dist/cjs/globals/Semtag.d.ts +9 -9
  349. package/dist/cjs/globals/Semtag.js +7 -7
  350. package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  351. package/dist/cjs/globals/Status.d.ts +24 -5
  352. package/dist/cjs/globals/Status.d.ts.map +1 -1
  353. package/dist/cjs/globals/Status.js +3 -0
  354. package/dist/cjs/globals/Status.js.map +1 -1
  355. package/dist/cjs/globals/ThreeLevelAuto.d.ts +33 -0
  356. package/dist/cjs/globals/ThreeLevelAuto.d.ts.map +1 -0
  357. package/dist/cjs/globals/ThreeLevelAuto.js +36 -0
  358. package/dist/cjs/globals/ThreeLevelAuto.js.map +6 -0
  359. package/dist/cjs/globals/WildcardPathFlags.d.ts +2 -2
  360. package/dist/cjs/globals/WildcardPathFlags.js +1 -1
  361. package/dist/cjs/globals/index.d.ts +3 -1
  362. package/dist/cjs/globals/index.d.ts.map +1 -1
  363. package/dist/cjs/globals/index.js +3 -1
  364. package/dist/cjs/globals/index.js.map +1 -1
  365. package/dist/esm/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
  366. package/dist/esm/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
  367. package/dist/esm/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +3 -3
  368. package/dist/esm/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
  369. package/dist/esm/cluster/mutation/MutableCluster.d.ts +7 -7
  370. package/dist/esm/cluster/mutation/MutableCluster.d.ts.map +1 -1
  371. package/dist/esm/cluster/mutation/MutableCluster.js +4 -4
  372. package/dist/esm/cluster/mutation/MutableCluster.js.map +1 -1
  373. package/dist/esm/cluster/mutation/index.d.ts +1 -1
  374. package/dist/esm/cluster/mutation/index.d.ts.map +1 -1
  375. package/dist/esm/cluster/mutation/index.js +1 -1
  376. package/dist/esm/clusters/access-control.d.ts +96 -47
  377. package/dist/esm/clusters/access-control.d.ts.map +1 -1
  378. package/dist/esm/clusters/access-control.js +16 -8
  379. package/dist/esm/clusters/access-control.js.map +1 -1
  380. package/dist/esm/clusters/account-login.d.ts +20 -20
  381. package/dist/esm/clusters/account-login.js +12 -12
  382. package/dist/esm/clusters/actions.d.ts +36 -5
  383. package/dist/esm/clusters/actions.d.ts.map +1 -1
  384. package/dist/esm/clusters/actions.js +26 -1
  385. package/dist/esm/clusters/actions.js.map +1 -1
  386. package/dist/esm/clusters/administrator-commissioning.d.ts +29 -25
  387. package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
  388. package/dist/esm/clusters/administrator-commissioning.js +7 -6
  389. package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
  390. package/dist/esm/clusters/air-quality.js +1 -1
  391. package/dist/esm/clusters/air-quality.js.map +1 -1
  392. package/dist/esm/clusters/alarm-base.d.ts +4 -4
  393. package/dist/esm/clusters/alarm-base.js +2 -2
  394. package/dist/esm/clusters/application-launcher.d.ts +49 -23
  395. package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
  396. package/dist/esm/clusters/application-launcher.js +7 -3
  397. package/dist/esm/clusters/application-launcher.js.map +1 -1
  398. package/dist/esm/clusters/basic-information.d.ts +22 -19
  399. package/dist/esm/clusters/basic-information.d.ts.map +1 -1
  400. package/dist/esm/clusters/basic-information.js +22 -18
  401. package/dist/esm/clusters/basic-information.js.map +1 -1
  402. package/dist/esm/clusters/boolean-state-configuration.d.ts +15 -15
  403. package/dist/esm/clusters/boolean-state-configuration.js +3 -3
  404. package/dist/esm/clusters/bridged-device-basic-information.d.ts +56 -12
  405. package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
  406. package/dist/esm/clusters/bridged-device-basic-information.js +19 -4
  407. package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
  408. package/dist/esm/clusters/channel.d.ts +12 -0
  409. package/dist/esm/clusters/channel.d.ts.map +1 -1
  410. package/dist/esm/clusters/channel.js +4 -0
  411. package/dist/esm/clusters/channel.js.map +1 -1
  412. package/dist/esm/clusters/color-control.d.ts +128 -119
  413. package/dist/esm/clusters/color-control.d.ts.map +1 -1
  414. package/dist/esm/clusters/color-control.js +52 -68
  415. package/dist/esm/clusters/color-control.js.map +1 -1
  416. package/dist/esm/clusters/commissioner-control.d.ts +8 -4
  417. package/dist/esm/clusters/commissioner-control.d.ts.map +1 -1
  418. package/dist/esm/clusters/commissioner-control.js +5 -1
  419. package/dist/esm/clusters/commissioner-control.js.map +1 -1
  420. package/dist/esm/clusters/concentration-measurement.d.ts +7 -9
  421. package/dist/esm/clusters/concentration-measurement.d.ts.map +1 -1
  422. package/dist/esm/clusters/concentration-measurement.js +11 -12
  423. package/dist/esm/clusters/concentration-measurement.js.map +1 -1
  424. package/dist/esm/clusters/content-control.d.ts +44 -30
  425. package/dist/esm/clusters/content-control.d.ts.map +1 -1
  426. package/dist/esm/clusters/content-control.js +6 -6
  427. package/dist/esm/clusters/content-control.js.map +1 -1
  428. package/dist/esm/clusters/content-launcher.d.ts +32 -32
  429. package/dist/esm/clusters/content-launcher.js +1 -1
  430. package/dist/esm/clusters/descriptor.d.ts +43 -10
  431. package/dist/esm/clusters/descriptor.d.ts.map +1 -1
  432. package/dist/esm/clusters/descriptor.js +22 -5
  433. package/dist/esm/clusters/descriptor.js.map +1 -1
  434. package/dist/esm/clusters/device-energy-management-mode.d.ts +9 -0
  435. package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
  436. package/dist/esm/clusters/device-energy-management-mode.js +3 -0
  437. package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
  438. package/dist/esm/clusters/device-energy-management.d.ts +133 -24
  439. package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
  440. package/dist/esm/clusters/device-energy-management.js +38 -12
  441. package/dist/esm/clusters/device-energy-management.js.map +1 -1
  442. package/dist/esm/clusters/dishwasher-alarm.d.ts +3 -3
  443. package/dist/esm/clusters/dishwasher-alarm.js +1 -1
  444. package/dist/esm/clusters/dishwasher-mode.d.ts +9 -0
  445. package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
  446. package/dist/esm/clusters/dishwasher-mode.js +3 -0
  447. package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
  448. package/dist/esm/clusters/door-lock.d.ts +182 -266
  449. package/dist/esm/clusters/door-lock.d.ts.map +1 -1
  450. package/dist/esm/clusters/door-lock.js +81 -112
  451. package/dist/esm/clusters/door-lock.js.map +1 -1
  452. package/dist/esm/clusters/ecosystem-information.d.ts +93 -49
  453. package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -1
  454. package/dist/esm/clusters/ecosystem-information.js +37 -25
  455. package/dist/esm/clusters/ecosystem-information.js.map +1 -1
  456. package/dist/esm/clusters/electrical-energy-measurement.d.ts +285 -209
  457. package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
  458. package/dist/esm/clusters/electrical-energy-measurement.js +33 -13
  459. package/dist/esm/clusters/electrical-energy-measurement.js.map +2 -2
  460. package/dist/esm/clusters/electrical-power-measurement.d.ts +201 -126
  461. package/dist/esm/clusters/electrical-power-measurement.d.ts.map +1 -1
  462. package/dist/esm/clusters/electrical-power-measurement.js +45 -23
  463. package/dist/esm/clusters/electrical-power-measurement.js.map +2 -2
  464. package/dist/esm/clusters/energy-evse-mode.d.ts +9 -0
  465. package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
  466. package/dist/esm/clusters/energy-evse-mode.js +3 -0
  467. package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
  468. package/dist/esm/clusters/energy-evse.d.ts +61 -45
  469. package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
  470. package/dist/esm/clusters/energy-evse.js +28 -33
  471. package/dist/esm/clusters/energy-evse.js.map +1 -1
  472. package/dist/esm/clusters/energy-preference.d.ts +5 -9
  473. package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
  474. package/dist/esm/clusters/energy-preference.js +1 -3
  475. package/dist/esm/clusters/energy-preference.js.map +1 -1
  476. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +59 -69
  477. package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
  478. package/dist/esm/clusters/ethernet-network-diagnostics.js +21 -25
  479. package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
  480. package/dist/esm/clusters/fan-control.d.ts +334 -148
  481. package/dist/esm/clusters/fan-control.d.ts.map +1 -1
  482. package/dist/esm/clusters/fan-control.js +107 -56
  483. package/dist/esm/clusters/fan-control.js.map +1 -1
  484. package/dist/esm/clusters/flow-measurement.js +1 -1
  485. package/dist/esm/clusters/flow-measurement.js.map +1 -1
  486. package/dist/esm/clusters/general-commissioning.d.ts +90 -69
  487. package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
  488. package/dist/esm/clusters/general-commissioning.js +26 -23
  489. package/dist/esm/clusters/general-commissioning.js.map +1 -1
  490. package/dist/esm/clusters/general-diagnostics.d.ts +51 -52
  491. package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
  492. package/dist/esm/clusters/general-diagnostics.js +13 -13
  493. package/dist/esm/clusters/general-diagnostics.js.map +1 -1
  494. package/dist/esm/clusters/group-key-management.d.ts +28 -22
  495. package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
  496. package/dist/esm/clusters/group-key-management.js +13 -10
  497. package/dist/esm/clusters/group-key-management.js.map +1 -1
  498. package/dist/esm/clusters/groups.d.ts +0 -12
  499. package/dist/esm/clusters/groups.d.ts.map +1 -1
  500. package/dist/esm/clusters/groups.js +1 -7
  501. package/dist/esm/clusters/groups.js.map +1 -1
  502. package/dist/esm/clusters/icd-management.d.ts +809 -145
  503. package/dist/esm/clusters/icd-management.d.ts.map +1 -1
  504. package/dist/esm/clusters/icd-management.js +182 -34
  505. package/dist/esm/clusters/icd-management.js.map +1 -1
  506. package/dist/esm/clusters/identify.d.ts +12 -1
  507. package/dist/esm/clusters/identify.d.ts.map +1 -1
  508. package/dist/esm/clusters/identify.js +13 -2
  509. package/dist/esm/clusters/identify.js.map +1 -1
  510. package/dist/esm/clusters/illuminance-measurement.js +1 -1
  511. package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
  512. package/dist/esm/clusters/index.d.ts +1 -5
  513. package/dist/esm/clusters/index.d.ts.map +1 -1
  514. package/dist/esm/clusters/index.js +3 -15
  515. package/dist/esm/clusters/index.js.map +1 -1
  516. package/dist/esm/clusters/joint-fabric-administrator.d.ts +424 -0
  517. package/dist/esm/clusters/joint-fabric-administrator.d.ts.map +1 -0
  518. package/dist/esm/clusters/joint-fabric-administrator.js +265 -0
  519. package/dist/esm/clusters/joint-fabric-administrator.js.map +6 -0
  520. package/dist/esm/clusters/joint-fabric-datastore.d.ts +1960 -805
  521. package/dist/esm/clusters/joint-fabric-datastore.d.ts.map +1 -1
  522. package/dist/esm/clusters/joint-fabric-datastore.js +993 -175
  523. package/dist/esm/clusters/joint-fabric-datastore.js.map +2 -2
  524. package/dist/esm/clusters/label.d.ts +9 -6
  525. package/dist/esm/clusters/label.d.ts.map +1 -1
  526. package/dist/esm/clusters/label.js +3 -2
  527. package/dist/esm/clusters/label.js.map +1 -1
  528. package/dist/esm/clusters/laundry-washer-controls.d.ts +9 -9
  529. package/dist/esm/clusters/laundry-washer-controls.js +4 -4
  530. package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
  531. package/dist/esm/clusters/laundry-washer-mode.d.ts +2 -2
  532. package/dist/esm/clusters/level-control.d.ts +11 -15
  533. package/dist/esm/clusters/level-control.d.ts.map +1 -1
  534. package/dist/esm/clusters/level-control.js +8 -9
  535. package/dist/esm/clusters/level-control.js.map +1 -1
  536. package/dist/esm/clusters/media-playback.d.ts +138 -12
  537. package/dist/esm/clusters/media-playback.d.ts.map +1 -1
  538. package/dist/esm/clusters/media-playback.js +41 -4
  539. package/dist/esm/clusters/media-playback.js.map +1 -1
  540. package/dist/esm/clusters/messages.d.ts +7 -7
  541. package/dist/esm/clusters/messages.js +3 -3
  542. package/dist/esm/clusters/microwave-oven-control.js +4 -4
  543. package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
  544. package/dist/esm/clusters/microwave-oven-mode.d.ts +9 -0
  545. package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
  546. package/dist/esm/clusters/microwave-oven-mode.js +3 -0
  547. package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
  548. package/dist/esm/clusters/mode-base.d.ts +31 -2
  549. package/dist/esm/clusters/mode-base.d.ts.map +1 -1
  550. package/dist/esm/clusters/mode-base.js +15 -2
  551. package/dist/esm/clusters/mode-base.js.map +1 -1
  552. package/dist/esm/clusters/mode-select.d.ts +7 -7
  553. package/dist/esm/clusters/mode-select.js +2 -2
  554. package/dist/esm/clusters/network-commissioning.d.ts +259 -201
  555. package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
  556. package/dist/esm/clusters/network-commissioning.js +41 -27
  557. package/dist/esm/clusters/network-commissioning.js.map +1 -1
  558. package/dist/esm/clusters/occupancy-sensing.d.ts +14 -20
  559. package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
  560. package/dist/esm/clusters/occupancy-sensing.js +4 -6
  561. package/dist/esm/clusters/occupancy-sensing.js.map +1 -1
  562. package/dist/esm/clusters/on-off.js +4 -4
  563. package/dist/esm/clusters/on-off.js.map +1 -1
  564. package/dist/esm/clusters/operational-credentials.d.ts +367 -77
  565. package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
  566. package/dist/esm/clusters/operational-credentials.js +183 -39
  567. package/dist/esm/clusters/operational-credentials.js.map +1 -1
  568. package/dist/esm/clusters/operational-state.d.ts +29 -49
  569. package/dist/esm/clusters/operational-state.d.ts.map +1 -1
  570. package/dist/esm/clusters/operational-state.js +7 -10
  571. package/dist/esm/clusters/operational-state.js.map +1 -1
  572. package/dist/esm/clusters/ota-software-update-provider.d.ts +54 -22
  573. package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
  574. package/dist/esm/clusters/ota-software-update-provider.js +27 -11
  575. package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
  576. package/dist/esm/clusters/ota-software-update-requestor.d.ts +12 -10
  577. package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
  578. package/dist/esm/clusters/ota-software-update-requestor.js +6 -5
  579. package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
  580. package/dist/esm/clusters/oven-cavity-operational-state.d.ts +5 -5
  581. package/dist/esm/clusters/oven-cavity-operational-state.js +3 -3
  582. package/dist/esm/clusters/oven-mode.d.ts +150 -0
  583. package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
  584. package/dist/esm/clusters/oven-mode.js +51 -1
  585. package/dist/esm/clusters/oven-mode.js.map +1 -1
  586. package/dist/esm/clusters/power-source.d.ts +18 -6
  587. package/dist/esm/clusters/power-source.d.ts.map +1 -1
  588. package/dist/esm/clusters/power-source.js +6 -2
  589. package/dist/esm/clusters/power-source.js.map +1 -1
  590. package/dist/esm/clusters/pressure-measurement.d.ts +18 -9
  591. package/dist/esm/clusters/pressure-measurement.d.ts.map +1 -1
  592. package/dist/esm/clusters/pressure-measurement.js +10 -7
  593. package/dist/esm/clusters/pressure-measurement.js.map +1 -1
  594. package/dist/esm/clusters/pump-configuration-and-control.d.ts +46 -37
  595. package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
  596. package/dist/esm/clusters/pump-configuration-and-control.js +15 -12
  597. package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
  598. package/dist/esm/clusters/refrigerator-alarm.d.ts +3 -3
  599. package/dist/esm/clusters/refrigerator-alarm.js +1 -1
  600. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
  601. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
  602. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +3 -0
  603. package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
  604. package/dist/esm/clusters/resource-monitoring.js +1 -1
  605. package/dist/esm/clusters/resource-monitoring.js.map +1 -1
  606. package/dist/esm/clusters/rvc-clean-mode.d.ts +16 -3
  607. package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
  608. package/dist/esm/clusters/rvc-clean-mode.js +5 -1
  609. package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
  610. package/dist/esm/clusters/rvc-operational-state.d.ts +78 -49
  611. package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
  612. package/dist/esm/clusters/rvc-operational-state.js +19 -11
  613. package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
  614. package/dist/esm/clusters/rvc-run-mode.d.ts +9 -0
  615. package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
  616. package/dist/esm/clusters/rvc-run-mode.js +3 -0
  617. package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
  618. package/dist/esm/clusters/scenes-management.d.ts +14 -45
  619. package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
  620. package/dist/esm/clusters/scenes-management.js +8 -30
  621. package/dist/esm/clusters/scenes-management.js.map +1 -1
  622. package/dist/esm/clusters/service-area.d.ts +36 -40
  623. package/dist/esm/clusters/service-area.d.ts.map +1 -1
  624. package/dist/esm/clusters/service-area.js +10 -12
  625. package/dist/esm/clusters/service-area.js.map +1 -1
  626. package/dist/esm/clusters/smoke-co-alarm.d.ts +4 -9
  627. package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
  628. package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
  629. package/dist/esm/clusters/software-diagnostics.d.ts +52 -51
  630. package/dist/esm/clusters/software-diagnostics.d.ts.map +1 -1
  631. package/dist/esm/clusters/software-diagnostics.js +17 -17
  632. package/dist/esm/clusters/software-diagnostics.js.map +1 -1
  633. package/dist/esm/clusters/switch.d.ts +20 -17
  634. package/dist/esm/clusters/switch.d.ts.map +1 -1
  635. package/dist/esm/clusters/switch.js +9 -8
  636. package/dist/esm/clusters/switch.js.map +1 -1
  637. package/dist/esm/clusters/temperature-control.d.ts +18 -9
  638. package/dist/esm/clusters/temperature-control.d.ts.map +1 -1
  639. package/dist/esm/clusters/temperature-control.js +7 -4
  640. package/dist/esm/clusters/temperature-control.js.map +1 -1
  641. package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
  642. package/dist/esm/clusters/thermostat-user-interface-configuration.js +2 -10
  643. package/dist/esm/clusters/thermostat-user-interface-configuration.js.map +1 -1
  644. package/dist/esm/clusters/thermostat.d.ts +406 -420
  645. package/dist/esm/clusters/thermostat.d.ts.map +1 -1
  646. package/dist/esm/clusters/thermostat.js +89 -101
  647. package/dist/esm/clusters/thermostat.js.map +1 -1
  648. package/dist/esm/clusters/thread-border-router-management.d.ts +9 -9
  649. package/dist/esm/clusters/thread-border-router-management.js +5 -5
  650. package/dist/esm/clusters/thread-border-router-management.js.map +1 -1
  651. package/dist/esm/clusters/thread-network-diagnostics.d.ts +479 -504
  652. package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
  653. package/dist/esm/clusters/thread-network-diagnostics.js +171 -181
  654. package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
  655. package/dist/esm/clusters/thread-network-directory.d.ts +3 -3
  656. package/dist/esm/clusters/thread-network-directory.js +5 -5
  657. package/dist/esm/clusters/thread-network-directory.js.map +1 -1
  658. package/dist/esm/clusters/time-synchronization.d.ts +159 -127
  659. package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
  660. package/dist/esm/clusters/time-synchronization.js +52 -42
  661. package/dist/esm/clusters/time-synchronization.js.map +1 -1
  662. package/dist/esm/clusters/unit-localization.d.ts +51 -13
  663. package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
  664. package/dist/esm/clusters/unit-localization.js +23 -5
  665. package/dist/esm/clusters/unit-localization.js.map +1 -1
  666. package/dist/esm/clusters/valve-configuration-and-control.d.ts.map +1 -1
  667. package/dist/esm/clusters/valve-configuration-and-control.js +8 -12
  668. package/dist/esm/clusters/valve-configuration-and-control.js.map +1 -1
  669. package/dist/esm/clusters/water-heater-management.d.ts +2 -14
  670. package/dist/esm/clusters/water-heater-management.d.ts.map +1 -1
  671. package/dist/esm/clusters/water-heater-management.js +5 -9
  672. package/dist/esm/clusters/water-heater-management.js.map +1 -1
  673. package/dist/esm/clusters/water-heater-mode.d.ts +9 -0
  674. package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -1
  675. package/dist/esm/clusters/water-heater-mode.js +3 -0
  676. package/dist/esm/clusters/water-heater-mode.js.map +1 -1
  677. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +57 -72
  678. package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
  679. package/dist/esm/clusters/wi-fi-network-diagnostics.js +20 -26
  680. package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
  681. package/dist/esm/clusters/wi-fi-network-management.d.ts +39 -1
  682. package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -1
  683. package/dist/esm/clusters/wi-fi-network-management.js +22 -3
  684. package/dist/esm/clusters/wi-fi-network-management.js.map +1 -1
  685. package/dist/esm/clusters/window-covering.d.ts +105 -3
  686. package/dist/esm/clusters/window-covering.d.ts.map +1 -1
  687. package/dist/esm/clusters/window-covering.js +35 -1
  688. package/dist/esm/clusters/window-covering.js.map +1 -1
  689. package/dist/esm/globals/Currency.d.ts +27 -0
  690. package/dist/esm/globals/Currency.d.ts.map +1 -0
  691. package/dist/esm/globals/Currency.js +15 -0
  692. package/dist/esm/globals/Currency.js.map +6 -0
  693. package/dist/esm/globals/Locationdesc.d.ts +7 -7
  694. package/dist/esm/globals/Locationdesc.js +5 -5
  695. package/dist/esm/globals/MeasurementAccuracy.d.ts +5 -5
  696. package/dist/esm/globals/MeasurementAccuracy.js +3 -3
  697. package/dist/esm/globals/MeasurementAccuracyRange.d.ts +10 -10
  698. package/dist/esm/globals/MeasurementAccuracyRange.js +8 -8
  699. package/dist/esm/globals/MeasurementType.d.ts +14 -2
  700. package/dist/esm/globals/MeasurementType.d.ts.map +1 -1
  701. package/dist/esm/globals/MeasurementType.js +3 -0
  702. package/dist/esm/globals/MeasurementType.js.map +1 -1
  703. package/dist/esm/globals/Namespace.d.ts +13 -3
  704. package/dist/esm/globals/Namespace.d.ts.map +1 -1
  705. package/dist/esm/globals/Namespace.js.map +1 -1
  706. package/dist/esm/globals/Price.d.ts +30 -0
  707. package/dist/esm/globals/Price.d.ts.map +1 -0
  708. package/dist/esm/globals/Price.js +13 -0
  709. package/dist/esm/globals/Price.js.map +6 -0
  710. package/dist/esm/globals/Priority.d.ts +1 -1
  711. package/dist/esm/globals/Semtag.d.ts +9 -9
  712. package/dist/esm/globals/Semtag.js +7 -7
  713. package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
  714. package/dist/esm/globals/Status.d.ts +24 -5
  715. package/dist/esm/globals/Status.d.ts.map +1 -1
  716. package/dist/esm/globals/Status.js +3 -0
  717. package/dist/esm/globals/Status.js.map +1 -1
  718. package/dist/esm/globals/ThreeLevelAuto.d.ts +33 -0
  719. package/dist/esm/globals/ThreeLevelAuto.d.ts.map +1 -0
  720. package/dist/esm/globals/ThreeLevelAuto.js +16 -0
  721. package/dist/esm/globals/ThreeLevelAuto.js.map +6 -0
  722. package/dist/esm/globals/WildcardPathFlags.d.ts +2 -2
  723. package/dist/esm/globals/WildcardPathFlags.js +1 -1
  724. package/dist/esm/globals/index.d.ts +3 -1
  725. package/dist/esm/globals/index.d.ts.map +1 -1
  726. package/dist/esm/globals/index.js +3 -1
  727. package/dist/esm/globals/index.js.map +1 -1
  728. package/package.json +5 -5
  729. package/src/cluster/mutation/{ElementModifier.ts → ClusterTypeModifier.ts} +9 -9
  730. package/src/cluster/mutation/MutableCluster.ts +14 -14
  731. package/src/cluster/mutation/index.ts +1 -1
  732. package/src/clusters/access-control.ts +26 -21
  733. package/src/clusters/account-login.ts +16 -16
  734. package/src/clusters/actions.ts +36 -5
  735. package/src/clusters/administrator-commissioning.ts +9 -8
  736. package/src/clusters/air-quality.ts +1 -1
  737. package/src/clusters/alarm-base.ts +2 -2
  738. package/src/clusters/application-launcher.ts +7 -3
  739. package/src/clusters/basic-information.ts +23 -18
  740. package/src/clusters/boolean-state-configuration.ts +3 -3
  741. package/src/clusters/bridged-device-basic-information.ts +24 -6
  742. package/src/clusters/channel.ts +4 -0
  743. package/src/clusters/color-control.ts +53 -69
  744. package/src/clusters/commissioner-control.ts +9 -5
  745. package/src/clusters/concentration-measurement.ts +12 -13
  746. package/src/clusters/content-control.ts +8 -6
  747. package/src/clusters/content-launcher.ts +2 -2
  748. package/src/clusters/descriptor.ts +25 -7
  749. package/src/clusters/device-energy-management-mode.ts +3 -0
  750. package/src/clusters/device-energy-management.ts +63 -13
  751. package/src/clusters/dishwasher-alarm.ts +1 -1
  752. package/src/clusters/dishwasher-mode.ts +3 -0
  753. package/src/clusters/door-lock.ts +102 -126
  754. package/src/clusters/ecosystem-information.ts +59 -31
  755. package/src/clusters/electrical-energy-measurement.ts +110 -17
  756. package/src/clusters/electrical-power-measurement.ts +116 -28
  757. package/src/clusters/energy-evse-mode.ts +3 -0
  758. package/src/clusters/energy-evse.ts +33 -38
  759. package/src/clusters/energy-preference.ts +3 -3
  760. package/src/clusters/ethernet-network-diagnostics.ts +21 -25
  761. package/src/clusters/fan-control.ts +109 -71
  762. package/src/clusters/flow-measurement.ts +1 -1
  763. package/src/clusters/general-commissioning.ts +43 -28
  764. package/src/clusters/general-diagnostics.ts +14 -14
  765. package/src/clusters/group-key-management.ts +15 -12
  766. package/src/clusters/groups.ts +1 -8
  767. package/src/clusters/icd-management.ts +213 -55
  768. package/src/clusters/identify.ts +13 -2
  769. package/src/clusters/illuminance-measurement.ts +1 -1
  770. package/src/clusters/index.ts +1 -5
  771. package/src/clusters/joint-fabric-administrator.ts +470 -0
  772. package/src/clusters/joint-fabric-datastore.ts +1433 -223
  773. package/src/clusters/label.ts +3 -2
  774. package/src/clusters/laundry-washer-controls.ts +4 -4
  775. package/src/clusters/laundry-washer-mode.ts +2 -2
  776. package/src/clusters/level-control.ts +9 -10
  777. package/src/clusters/media-playback.ts +45 -4
  778. package/src/clusters/messages.ts +3 -3
  779. package/src/clusters/microwave-oven-control.ts +4 -4
  780. package/src/clusters/microwave-oven-mode.ts +3 -0
  781. package/src/clusters/mode-base.ts +15 -2
  782. package/src/clusters/mode-select.ts +3 -3
  783. package/src/clusters/network-commissioning.ts +57 -31
  784. package/src/clusters/occupancy-sensing.ts +6 -8
  785. package/src/clusters/on-off.ts +4 -4
  786. package/src/clusters/operational-credentials.ts +336 -53
  787. package/src/clusters/operational-state.ts +7 -10
  788. package/src/clusters/ota-software-update-provider.ts +27 -11
  789. package/src/clusters/ota-software-update-requestor.ts +6 -5
  790. package/src/clusters/oven-cavity-operational-state.ts +3 -3
  791. package/src/clusters/oven-mode.ts +53 -1
  792. package/src/clusters/power-source.ts +6 -2
  793. package/src/clusters/pressure-measurement.ts +10 -7
  794. package/src/clusters/pump-configuration-and-control.ts +16 -13
  795. package/src/clusters/refrigerator-alarm.ts +1 -1
  796. package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +3 -0
  797. package/src/clusters/resource-monitoring.ts +1 -1
  798. package/src/clusters/rvc-clean-mode.ts +10 -2
  799. package/src/clusters/rvc-operational-state.ts +70 -15
  800. package/src/clusters/rvc-run-mode.ts +3 -0
  801. package/src/clusters/scenes-management.ts +8 -31
  802. package/src/clusters/service-area.ts +10 -12
  803. package/src/clusters/smoke-co-alarm.ts +4 -9
  804. package/src/clusters/software-diagnostics.ts +17 -17
  805. package/src/clusters/switch.ts +11 -10
  806. package/src/clusters/temperature-control.ts +7 -4
  807. package/src/clusters/thermostat-user-interface-configuration.ts +2 -10
  808. package/src/clusters/thermostat.ts +138 -155
  809. package/src/clusters/thread-border-router-management.ts +6 -6
  810. package/src/clusters/thread-network-diagnostics.ts +171 -181
  811. package/src/clusters/thread-network-directory.ts +5 -5
  812. package/src/clusters/time-synchronization.ts +56 -44
  813. package/src/clusters/unit-localization.ts +24 -5
  814. package/src/clusters/valve-configuration-and-control.ts +8 -12
  815. package/src/clusters/water-heater-management.ts +5 -9
  816. package/src/clusters/water-heater-mode.ts +3 -0
  817. package/src/clusters/wi-fi-network-diagnostics.ts +23 -29
  818. package/src/clusters/wi-fi-network-management.ts +22 -3
  819. package/src/clusters/window-covering.ts +35 -1
  820. package/src/globals/Currency.ts +32 -0
  821. package/src/globals/Locationdesc.ts +7 -7
  822. package/src/globals/MeasurementAccuracy.ts +5 -5
  823. package/src/globals/MeasurementAccuracyRange.ts +10 -10
  824. package/src/globals/MeasurementType.ts +17 -2
  825. package/src/globals/Namespace.ts +13 -3
  826. package/src/globals/Price.ts +30 -0
  827. package/src/globals/Priority.ts +1 -1
  828. package/src/globals/Semtag.ts +9 -9
  829. package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
  830. package/src/globals/Status.ts +27 -5
  831. package/src/globals/ThreeLevelAuto.ts +37 -0
  832. package/src/globals/WildcardPathFlags.ts +2 -2
  833. package/src/globals/index.ts +3 -1
  834. package/dist/cjs/cluster/mutation/ElementModifier.d.ts.map +0 -1
  835. package/dist/cjs/clusters/ballast-configuration.d.ts +0 -243
  836. package/dist/cjs/clusters/ballast-configuration.d.ts.map +0 -1
  837. package/dist/cjs/clusters/ballast-configuration.js +0 -253
  838. package/dist/cjs/clusters/ballast-configuration.js.map +0 -6
  839. package/dist/cjs/clusters/joint-fabric-pki.d.ts +0 -172
  840. package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +0 -1
  841. package/dist/cjs/clusters/joint-fabric-pki.js +0 -120
  842. package/dist/cjs/clusters/joint-fabric-pki.js.map +0 -6
  843. package/dist/cjs/clusters/proxy-configuration.d.ts +0 -79
  844. package/dist/cjs/clusters/proxy-configuration.d.ts.map +0 -1
  845. package/dist/cjs/clusters/proxy-configuration.js +0 -73
  846. package/dist/cjs/clusters/proxy-configuration.js.map +0 -6
  847. package/dist/cjs/clusters/proxy-discovery.d.ts +0 -98
  848. package/dist/cjs/clusters/proxy-discovery.d.ts.map +0 -1
  849. package/dist/cjs/clusters/proxy-discovery.js +0 -79
  850. package/dist/cjs/clusters/proxy-discovery.js.map +0 -6
  851. package/dist/cjs/clusters/valid-proxies.d.ts +0 -84
  852. package/dist/cjs/clusters/valid-proxies.d.ts.map +0 -1
  853. package/dist/cjs/clusters/valid-proxies.js +0 -68
  854. package/dist/cjs/clusters/valid-proxies.js.map +0 -6
  855. package/dist/cjs/globals/Tod.d.ts +0 -41
  856. package/dist/cjs/globals/Tod.d.ts.map +0 -1
  857. package/dist/cjs/globals/Tod.js.map +0 -6
  858. package/dist/esm/cluster/mutation/ElementModifier.d.ts.map +0 -1
  859. package/dist/esm/clusters/ballast-configuration.d.ts +0 -243
  860. package/dist/esm/clusters/ballast-configuration.d.ts.map +0 -1
  861. package/dist/esm/clusters/ballast-configuration.js +0 -233
  862. package/dist/esm/clusters/ballast-configuration.js.map +0 -6
  863. package/dist/esm/clusters/joint-fabric-pki.d.ts +0 -172
  864. package/dist/esm/clusters/joint-fabric-pki.d.ts.map +0 -1
  865. package/dist/esm/clusters/joint-fabric-pki.js +0 -100
  866. package/dist/esm/clusters/joint-fabric-pki.js.map +0 -6
  867. package/dist/esm/clusters/proxy-configuration.d.ts +0 -79
  868. package/dist/esm/clusters/proxy-configuration.d.ts.map +0 -1
  869. package/dist/esm/clusters/proxy-configuration.js +0 -53
  870. package/dist/esm/clusters/proxy-configuration.js.map +0 -6
  871. package/dist/esm/clusters/proxy-discovery.d.ts +0 -98
  872. package/dist/esm/clusters/proxy-discovery.d.ts.map +0 -1
  873. package/dist/esm/clusters/proxy-discovery.js +0 -59
  874. package/dist/esm/clusters/proxy-discovery.js.map +0 -6
  875. package/dist/esm/clusters/valid-proxies.d.ts +0 -84
  876. package/dist/esm/clusters/valid-proxies.d.ts.map +0 -1
  877. package/dist/esm/clusters/valid-proxies.js +0 -48
  878. package/dist/esm/clusters/valid-proxies.js.map +0 -6
  879. package/dist/esm/globals/Tod.d.ts +0 -41
  880. package/dist/esm/globals/Tod.d.ts.map +0 -1
  881. package/dist/esm/globals/Tod.js +0 -29
  882. package/dist/esm/globals/Tod.js.map +0 -6
  883. package/src/clusters/ballast-configuration.ts +0 -268
  884. package/src/clusters/joint-fabric-pki.ts +0 -200
  885. package/src/clusters/proxy-configuration.ts +0 -77
  886. package/src/clusters/proxy-discovery.ts +0 -90
  887. package/src/clusters/valid-proxies.ts +0 -90
  888. package/src/globals/Tod.ts +0 -49
@@ -5,57 +5,133 @@
5
5
  */
6
6
  /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
7
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
8
- import { FabricScopedAttribute, Command } from "../cluster/Cluster.js";
9
- import { GroupKeyManagement } from "./group-key-management.js";
10
- import { AccessControl } from "./access-control.js";
8
+ import { Attribute, Command } from "../cluster/Cluster.js";
11
9
  import { TypeFromSchema } from "../tlv/TlvSchema.js";
10
+ import { Status } from "../globals/Status.js";
12
11
  import { Identity } from "#general";
13
12
  export declare namespace JointFabricDatastore {
13
+ /**
14
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.16
15
+ */
16
+ enum DatastoreGroupKeySecurityPolicy {
17
+ /**
18
+ * Message counter synchronization using trust-first
19
+ */
20
+ TrustFirst = 0
21
+ }
22
+ /**
23
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.17
24
+ */
25
+ enum DatastoreGroupKeyMulticastPolicy {
26
+ /**
27
+ * Indicates filtering of multicast messages for a specific Group ID
28
+ */
29
+ PerGroupId = 0,
30
+ /**
31
+ * Indicates not filtering of multicast messages
32
+ */
33
+ AllNodes = 1
34
+ }
35
+ /**
36
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.18
37
+ */
38
+ const TlvDatastoreGroupKeySet: import("../tlv/TlvObject.js").ObjectSchema<{
39
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
40
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
41
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
42
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
43
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
44
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
45
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
46
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
47
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
48
+ }>;
49
+ /**
50
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.18
51
+ */
52
+ interface DatastoreGroupKeySet extends TypeFromSchema<typeof TlvDatastoreGroupKeySet> {
53
+ }
14
54
  /**
15
55
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.4
16
56
  */
57
+ enum DatastoreAccessControlEntryPrivilege {
58
+ /**
59
+ * Can read and observe all (except Access Control Cluster)
60
+ */
61
+ View = 1,
62
+ /**
63
+ * @deprecated
64
+ */
65
+ ProxyView = 2,
66
+ /**
67
+ * View privileges, and can perform the primary function of this Node (except Access Control Cluster)
68
+ */
69
+ Operate = 3,
70
+ /**
71
+ * Operate privileges, and can modify persistent configuration of this Node (except Access Control Cluster)
72
+ */
73
+ Manage = 4,
74
+ /**
75
+ * Manage privileges, and can observe and modify the Access Control Cluster
76
+ */
77
+ Administer = 5
78
+ }
79
+ /**
80
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5
81
+ */
17
82
  const TlvDatastoreGroupInformationEntry: import("../tlv/TlvObject.js").ObjectSchema<{
18
83
  /**
19
84
  * The unique identifier for the group.
20
85
  *
21
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.1
86
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
22
87
  */
23
88
  groupId: import("../tlv/TlvObject.js").FieldType<number | bigint>;
24
89
  /**
25
90
  * The friendly name for the group.
26
91
  *
27
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.2
92
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
28
93
  */
29
94
  friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
30
95
  /**
31
96
  * The unique identifier for the group key set.
32
97
  *
33
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.3
98
+ * This value may be null when multicast communication is not used for the group. When GroupPermission is Admin
99
+ * or Manage, this value shall be null.
100
+ *
101
+ * A value of 0 is not allowed since this value is reserved for IPK and the group entry for this value is not
102
+ * managed by the Datastore.
103
+ *
104
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.3
34
105
  */
35
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
106
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
36
107
  /**
37
108
  * CAT value for this group. This is used for control of individual members of a group (non-broadcast commands).
38
109
  *
39
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.4
110
+ * Allowable values include the range 0x0000 to 0xEFFF, and the Administrator CAT and Anchor CAT values.
111
+ *
112
+ * This value may be null when unicast communication is not used for the group.
113
+ *
114
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.4
40
115
  */
41
- groupCat: import("../tlv/TlvObject.js").FieldType<number>;
116
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
42
117
  /**
43
118
  * Current version number for this CAT.
44
119
  *
45
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.5
120
+ * This value shall be null when GroupCAT value is null.
121
+ *
122
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.5
46
123
  */
47
- groupCatVersion: import("../tlv/TlvObject.js").FieldType<number>;
124
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
48
125
  /**
49
126
  * The permission level associated with ACL entries for this group. There should be only one Administrator group
50
127
  * per fabric, and at most one Manage group per Ecosystem (Vendor Entry).
51
128
  *
52
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.6
129
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.6
53
130
  */
54
- groupPermission: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryPrivilege>;
55
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
131
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
56
132
  }>;
57
133
  /**
58
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4
134
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5
59
135
  */
60
136
  interface DatastoreGroupInformationEntry extends TypeFromSchema<typeof TlvDatastoreGroupInformationEntry> {
61
137
  }
@@ -74,7 +150,11 @@ export declare namespace JointFabricDatastore {
74
150
  /**
75
151
  * Target device delete operation is pending
76
152
  */
77
- DeletePending = 2
153
+ DeletePending = 2,
154
+ /**
155
+ * Target device operation has failed
156
+ */
157
+ CommitFailed = 3
78
158
  }
79
159
  /**
80
160
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2
@@ -92,7 +172,13 @@ export declare namespace JointFabricDatastore {
92
172
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
93
173
  */
94
174
  updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
95
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
175
+ /**
176
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
177
+ * CommitFailure.
178
+ *
179
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
180
+ */
181
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
96
182
  }>;
97
183
  /**
98
184
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2
@@ -100,16 +186,28 @@ export declare namespace JointFabricDatastore {
100
186
  interface DatastoreStatusEntry extends TypeFromSchema<typeof TlvDatastoreStatusEntry> {
101
187
  }
102
188
  /**
103
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3
189
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14
104
190
  */
105
- const TlvDatastoreNodeKeyEntry: import("../tlv/TlvObject.js").ObjectSchema<{
106
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
191
+ const TlvDatastoreNodeInformationEntry: import("../tlv/TlvObject.js").ObjectSchema<{
107
192
  /**
108
- * Indicates whether entry in this list is pending, committed, or delete-pending.
193
+ * The unique identifier for the node.
109
194
  *
110
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.2
195
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.1
111
196
  */
112
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
197
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
198
+ /**
199
+ * Friendly name for this node which is not propagated to nodes.
200
+ *
201
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.2
202
+ */
203
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
204
+ /**
205
+ * Set to Pending prior to completing commissioning, set to Committed after commissioning complete is
206
+ * successful, or set to CommitFailed if commissioning failed with the FailureCode Field set to the error.
207
+ *
208
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.3
209
+ */
210
+ commissioningStatusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
113
211
  /**
114
212
  * This field shall contain the current state of the target device operation.
115
213
  *
@@ -122,82 +220,80 @@ export declare namespace JointFabricDatastore {
122
220
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
123
221
  */
124
222
  updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
125
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
223
+ /**
224
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
225
+ * CommitFailure.
226
+ *
227
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
228
+ */
229
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
126
230
  }>>;
127
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
128
231
  }>;
129
232
  /**
130
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3
233
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14
131
234
  */
132
- interface DatastoreNodeKeyEntry extends TypeFromSchema<typeof TlvDatastoreNodeKeyEntry> {
235
+ interface DatastoreNodeInformationEntry extends TypeFromSchema<typeof TlvDatastoreNodeInformationEntry> {
133
236
  }
134
237
  /**
135
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7
238
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15
136
239
  */
137
- const TlvDatastoreAclEntry: import("../tlv/TlvObject.js").ObjectSchema<{
240
+ const TlvDatastoreAdministratorInformationEntry: import("../tlv/TlvObject.js").ObjectSchema<{
138
241
  /**
139
- * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
242
+ * The unique identifier for the node.
140
243
  *
141
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
244
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.1
142
245
  */
143
- listId: import("../tlv/TlvObject.js").FieldType<number>;
246
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
144
247
  /**
145
- * The Access Control Entry structure.
248
+ * Friendly name for this node which is not propagated to nodes.
146
249
  *
147
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
250
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.2
148
251
  */
149
- aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
150
- privilege: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryPrivilege>;
151
- authMode: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryAuthMode>;
152
- subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
153
- targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
154
- cluster: import("../tlv/TlvObject.js").FieldType<import("../index.js").ClusterId | null>;
155
- endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
156
- deviceType: import("../tlv/TlvObject.js").FieldType<import("../index.js").DeviceTypeId | null>;
157
- }>[] | null>;
158
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
159
- }>>;
252
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
160
253
  /**
161
- * Indicates whether entry in this list is pending, committed, or delete-pending.
254
+ * The Vendor ID for the node.
162
255
  *
163
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
256
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.3
164
257
  */
165
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
166
- /**
167
- * This field shall contain the current state of the target device operation.
168
- *
169
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
170
- */
171
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
172
- /**
173
- * This field shall contain the timestamp of the last update.
174
- *
175
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
176
- */
177
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
178
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
179
- }>>;
180
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
258
+ vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
259
+ /**
260
+ * The ICAC used to issue the NOC.
261
+ *
262
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.4
263
+ */
264
+ icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
181
265
  }>;
182
266
  /**
183
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7
267
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15
184
268
  */
185
- interface DatastoreAclEntry extends TypeFromSchema<typeof TlvDatastoreAclEntry> {
269
+ interface DatastoreAdministratorInformationEntry extends TypeFromSchema<typeof TlvDatastoreAdministratorInformationEntry> {
186
270
  }
187
271
  /**
188
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5
272
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8
189
273
  */
190
- const TlvDatastoreGroupIdEntry: import("../tlv/TlvObject.js").ObjectSchema<{
274
+ const TlvDatastoreEndpointGroupIdEntry: import("../tlv/TlvObject.js").ObjectSchema<{
275
+ /**
276
+ * The unique identifier for the node.
277
+ *
278
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
279
+ */
280
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
281
+ /**
282
+ * The unique identifier for the endpoint.
283
+ *
284
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
285
+ */
286
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
191
287
  /**
192
288
  * The unique identifier for the group.
193
289
  *
194
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
290
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
195
291
  */
196
292
  groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
197
293
  /**
198
- * Indicates whether entry in this list is pending, committed, or delete-pending.
294
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
199
295
  *
200
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
296
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
201
297
  */
202
298
  statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
203
299
  /**
@@ -212,220 +308,180 @@ export declare namespace JointFabricDatastore {
212
308
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
213
309
  */
214
310
  updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
215
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
311
+ /**
312
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
313
+ * CommitFailure.
314
+ *
315
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
316
+ */
317
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
216
318
  }>>;
217
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
218
319
  }>;
219
320
  /**
220
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5
321
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8
221
322
  */
222
- interface DatastoreGroupIdEntry extends TypeFromSchema<typeof TlvDatastoreGroupIdEntry> {
323
+ interface DatastoreEndpointGroupIdEntry extends TypeFromSchema<typeof TlvDatastoreEndpointGroupIdEntry> {
223
324
  }
224
325
  /**
225
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7
326
+ * The DatastoreBindingTargetStruct represents a Binding on a specific Node (identified by the
327
+ * DatastoreEndpointBindingEntryStruct) which is managed by the Datastore. Only bindings on a specific Node that are
328
+ * fabric-scoped to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are
329
+ * specific to the Joint Fabric.
330
+ *
331
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6
226
332
  */
227
- const TlvDatastoreBindingEntry: import("../tlv/TlvObject.js").ObjectSchema<{
333
+ const TlvDatastoreBindingTarget: import("../tlv/TlvObject.js").ObjectSchema<{
228
334
  /**
229
- * The unique identifier for the Binding entry in the Datastore’s list of DatastoreBindingEntry.
335
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
336
+ * present.
230
337
  *
231
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.1
338
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
232
339
  */
233
- listId: import("../tlv/TlvObject.js").FieldType<number>;
340
+ node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
234
341
  /**
235
- * The binding target structure.
342
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
343
+ * present, this field shall NOT be present.
236
344
  *
237
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.2
345
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
238
346
  */
239
- binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
240
- node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
241
- group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
242
- endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
243
- cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../index.js").ClusterId>;
244
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
245
- }>>;
347
+ group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
246
348
  /**
247
- * Indicates whether entry in this list is pending, committed, or delete-pending.
349
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
350
+ * present, this field shall NOT be present.
248
351
  *
249
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.3
352
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
250
353
  */
251
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
252
- /**
253
- * This field shall contain the current state of the target device operation.
254
- *
255
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
256
- */
257
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
258
- /**
259
- * This field shall contain the timestamp of the last update.
260
- *
261
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
262
- */
263
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
264
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
265
- }>>;
266
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
354
+ endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
355
+ /**
356
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
357
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
358
+ * is present, the target shall be this cluster on the target endpoint(s).
359
+ *
360
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
361
+ */
362
+ cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/ClusterId.js").ClusterId>;
267
363
  }>;
268
364
  /**
269
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7
365
+ * The DatastoreBindingTargetStruct represents a Binding on a specific Node (identified by the
366
+ * DatastoreEndpointBindingEntryStruct) which is managed by the Datastore. Only bindings on a specific Node that are
367
+ * fabric-scoped to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are
368
+ * specific to the Joint Fabric.
369
+ *
370
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6
270
371
  */
271
- interface DatastoreBindingEntry extends TypeFromSchema<typeof TlvDatastoreBindingEntry> {
372
+ interface DatastoreBindingTarget extends TypeFromSchema<typeof TlvDatastoreBindingTarget> {
272
373
  }
273
374
  /**
274
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6
375
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7
275
376
  */
276
- const TlvDatastoreEndpointEntry: import("../tlv/TlvObject.js").ObjectSchema<{
377
+ const TlvDatastoreEndpointBindingEntry: import("../tlv/TlvObject.js").ObjectSchema<{
277
378
  /**
278
- * The unique identifier for the endpoint.
379
+ * The unique identifier for the node.
279
380
  *
280
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
381
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
281
382
  */
282
- endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
383
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
283
384
  /**
284
- * The unique identifier for the node.
385
+ * The unique identifier for the endpoint.
285
386
  *
286
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
387
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
287
388
  */
288
- nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
389
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
289
390
  /**
290
- * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
291
- * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
292
- * Entry.
391
+ * The unique identifier for the entry in the Datastore’s EndpointBindingList attribute, which is a list of
392
+ * DatastoreEndpointBindingEntryStruct.
293
393
  *
294
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
394
+ * This field is used to uniquely identify an entry in the EndpointBindingList attribute for the purpose of
395
+ * deletion (RemoveBindingFromEndpointForNode Command).
396
+ *
397
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
295
398
  */
296
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
399
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
297
400
  /**
298
- * Indicates whether changes to Friendly Name are pending or committed.
401
+ * The binding target structure.
299
402
  *
300
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
403
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.4
301
404
  */
302
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
405
+ binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
303
406
  /**
304
- * This field shall contain the current state of the target device operation.
407
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
408
+ * present.
305
409
  *
306
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
410
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
307
411
  */
308
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
412
+ node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
309
413
  /**
310
- * This field shall contain the timestamp of the last update.
414
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
415
+ * present, this field shall NOT be present.
311
416
  *
312
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
417
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
313
418
  */
314
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
315
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
316
- }>>;
317
- /**
318
- * List of Group IDs that this endpoint is a member of. Any changes to Group Id List (add/remove entry) must
319
- * follow the pending→committed workflow with current state reflected in the Status Entry.
320
- *
321
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.5
322
- */
323
- groupIdList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
419
+ group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
324
420
  /**
325
- * The unique identifier for the group.
421
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
422
+ * present, this field shall NOT be present.
326
423
  *
327
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
424
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
328
425
  */
329
- groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
426
+ endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
330
427
  /**
331
- * Indicates whether entry in this list is pending, committed, or delete-pending.
428
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
429
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
430
+ * is present, the target shall be this cluster on the target endpoint(s).
332
431
  *
333
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
432
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
334
433
  */
335
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
336
- /**
337
- * This field shall contain the current state of the target device operation.
338
- *
339
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
340
- */
341
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
342
- /**
343
- * This field shall contain the timestamp of the last update.
344
- *
345
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
346
- */
347
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
348
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
349
- }>>;
350
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
351
- }>[]>;
434
+ cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/ClusterId.js").ClusterId>;
435
+ }>>;
352
436
  /**
353
- * List of Binding Targets for this endpoint. Any changes to Binding List (add/remove entry) must follow the
354
- * pending→committed workflow with current state reflected in the Status Entry.
437
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
355
438
  *
356
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.6
439
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.5
357
440
  */
358
- bindingList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
441
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
359
442
  /**
360
- * The unique identifier for the Binding entry in the Datastore’s list of DatastoreBindingEntry.
443
+ * This field shall contain the current state of the target device operation.
361
444
  *
362
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.1
445
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
363
446
  */
364
- listId: import("../tlv/TlvObject.js").FieldType<number>;
447
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
365
448
  /**
366
- * The binding target structure.
449
+ * This field shall contain the timestamp of the last update.
367
450
  *
368
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.2
451
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
369
452
  */
370
- binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
371
- node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
372
- group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
373
- endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
374
- cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../index.js").ClusterId>;
375
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
376
- }>>;
453
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
377
454
  /**
378
- * Indicates whether entry in this list is pending, committed, or delete-pending.
455
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
456
+ * CommitFailure.
379
457
  *
380
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.3
458
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
381
459
  */
382
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
383
- /**
384
- * This field shall contain the current state of the target device operation.
385
- *
386
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
387
- */
388
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
389
- /**
390
- * This field shall contain the timestamp of the last update.
391
- *
392
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
393
- */
394
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
395
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
396
- }>>;
397
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
398
- }>[]>;
399
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
460
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
461
+ }>>;
400
462
  }>;
401
463
  /**
402
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6
464
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7
403
465
  */
404
- interface DatastoreEndpointEntry extends TypeFromSchema<typeof TlvDatastoreEndpointEntry> {
466
+ interface DatastoreEndpointBindingEntry extends TypeFromSchema<typeof TlvDatastoreEndpointBindingEntry> {
405
467
  }
406
468
  /**
407
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8
469
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3
408
470
  */
409
- const TlvDatastoreNodeInformationEntry: import("../tlv/TlvObject.js").ObjectSchema<{
471
+ const TlvDatastoreNodeKeySetEntry: import("../tlv/TlvObject.js").ObjectSchema<{
410
472
  /**
411
473
  * The unique identifier for the node.
412
474
  *
413
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
475
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.1
414
476
  */
415
477
  nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
478
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
416
479
  /**
417
- * Friendly name for this node which is not propagated to nodes.
480
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
418
481
  *
419
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
482
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.3
420
483
  */
421
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
422
- /**
423
- * Set to pending prior to completing commissioning, and set to completed after commissioning complete is
424
- * successful.
425
- *
426
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
427
- */
428
- commissioningStatusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
484
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
429
485
  /**
430
486
  * This field shall contain the current state of the target device operation.
431
487
  *
@@ -438,368 +494,833 @@ export declare namespace JointFabricDatastore {
438
494
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
439
495
  */
440
496
  updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
441
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
497
+ /**
498
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
499
+ * CommitFailure.
500
+ *
501
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
502
+ */
503
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
442
504
  }>>;
505
+ }>;
506
+ /**
507
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3
508
+ */
509
+ interface DatastoreNodeKeySetEntry extends TypeFromSchema<typeof TlvDatastoreNodeKeySetEntry> {
510
+ }
511
+ /**
512
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.10
513
+ */
514
+ enum DatastoreAccessControlEntryAuthMode {
515
+ /**
516
+ * Passcode authenticated session
517
+ */
518
+ Pase = 1,
519
+ /**
520
+ * Certificate authenticated session
521
+ */
522
+ Case = 2,
523
+ /**
524
+ * Group authenticated session
525
+ */
526
+ Group = 3
527
+ }
528
+ /**
529
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.11
530
+ */
531
+ const TlvDatastoreAccessControlTarget: import("../tlv/TlvObject.js").ObjectSchema<{
532
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
533
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
534
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
535
+ }>;
536
+ /**
537
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.11
538
+ */
539
+ interface DatastoreAccessControlTarget extends TypeFromSchema<typeof TlvDatastoreAccessControlTarget> {
540
+ }
541
+ /**
542
+ * The DatastoreAccessControlEntryStruct represents an ACL on a specific Node (identified by the
543
+ * DatastoreACLEntryStruct) which is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped
544
+ * to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are specific to the
545
+ * Joint Fabric.
546
+ *
547
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.12
548
+ */
549
+ const TlvDatastoreAccessControlEntry: import("../tlv/TlvObject.js").ObjectSchema<{
550
+ privilege: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
551
+ authMode: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryAuthMode>;
552
+ subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
553
+ targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
554
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
555
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
556
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
557
+ }>[] | null>;
558
+ }>;
559
+ /**
560
+ * The DatastoreAccessControlEntryStruct represents an ACL on a specific Node (identified by the
561
+ * DatastoreACLEntryStruct) which is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped
562
+ * to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are specific to the
563
+ * Joint Fabric.
564
+ *
565
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.12
566
+ */
567
+ interface DatastoreAccessControlEntry extends TypeFromSchema<typeof TlvDatastoreAccessControlEntry> {
568
+ }
569
+ /**
570
+ * The DatastoreACLEntryStruct is a holder for an ACL (DatastoreAccessControlEntryStruct) on a specific Node which
571
+ * is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped to the Joint Fabric are managed
572
+ * by the Datastore. As a result, references to nodes and groups are specific to the Joint Fabric.
573
+ *
574
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13
575
+ */
576
+ const TlvDatastoreAclEntry: import("../tlv/TlvObject.js").ObjectSchema<{
443
577
  /**
444
- * List of Key Set information for the given Node. Updates to the Group Key List must follow the
445
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
446
- * the list.
578
+ * The unique identifier for the node.
447
579
  *
448
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
580
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.1
449
581
  */
450
- nodeKeySetList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
451
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
452
- /**
453
- * Indicates whether entry in this list is pending, committed, or delete-pending.
454
- *
455
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.2
456
- */
457
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
458
- /**
459
- * This field shall contain the current state of the target device operation.
460
- *
461
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
462
- */
463
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
464
- /**
465
- * This field shall contain the timestamp of the last update.
466
- *
467
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
468
- */
469
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
470
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
471
- }>>;
472
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
473
- }>[]>;
582
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
474
583
  /**
475
- * List of ACL entries. Group membership for this node is inferred from the ACLs. Client access to a Node
476
- * Information Entry will be determined from the ACL List. Any changes to ACL List (add/remove entry) must
477
- * follow the pending→committed workflow with current state reflected in the Status Entry for the corresponding
478
- * entry in the list.
584
+ * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
479
585
  *
480
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.5
586
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.2
481
587
  */
482
- aclList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
483
- /**
484
- * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
485
- *
486
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
487
- */
488
- listId: import("../tlv/TlvObject.js").FieldType<number>;
489
- /**
490
- * The Access Control Entry structure.
491
- *
492
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
493
- */
494
- aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
495
- privilege: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryPrivilege>;
496
- authMode: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryAuthMode>;
497
- subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
498
- targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
499
- cluster: import("../tlv/TlvObject.js").FieldType<import("../index.js").ClusterId | null>;
500
- endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
501
- deviceType: import("../tlv/TlvObject.js").FieldType<import("../index.js").DeviceTypeId | null>;
502
- }>[] | null>;
503
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
504
- }>>;
505
- /**
506
- * Indicates whether entry in this list is pending, committed, or delete-pending.
507
- *
508
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
509
- */
510
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
511
- /**
512
- * This field shall contain the current state of the target device operation.
513
- *
514
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
515
- */
516
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
517
- /**
518
- * This field shall contain the timestamp of the last update.
519
- *
520
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
521
- */
522
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
523
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
524
- }>>;
525
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
526
- }>[]>;
588
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
527
589
  /**
528
- * The list of endpoints for this node. Any changes to Endpoint List (add/remove entry) must follow the
529
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
530
- * the list.
590
+ * The Access Control Entry structure.
531
591
  *
532
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.6
592
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.3
533
593
  */
534
- endpointList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
535
- /**
536
- * The unique identifier for the endpoint.
537
- *
538
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
539
- */
540
- endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
541
- /**
542
- * The unique identifier for the node.
543
- *
544
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
545
- */
546
- nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
547
- /**
548
- * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
549
- * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
550
- * Entry.
551
- *
552
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
553
- */
554
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
594
+ aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
595
+ privilege: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
596
+ authMode: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryAuthMode>;
597
+ subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
598
+ targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
599
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
600
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
601
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
602
+ }>[] | null>;
603
+ }>>;
604
+ /**
605
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
606
+ *
607
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.4
608
+ */
609
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
555
610
  /**
556
- * Indicates whether changes to Friendly Name are pending or committed.
611
+ * This field shall contain the current state of the target device operation.
557
612
  *
558
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
613
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
559
614
  */
560
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
561
- /**
562
- * This field shall contain the current state of the target device operation.
563
- *
564
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
565
- */
566
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
567
- /**
568
- * This field shall contain the timestamp of the last update.
569
- *
570
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
571
- */
572
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
573
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
574
- }>>;
615
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
575
616
  /**
576
- * List of Group IDs that this endpoint is a member of. Any changes to Group Id List (add/remove entry) must
577
- * follow the pending→committed workflow with current state reflected in the Status Entry.
617
+ * This field shall contain the timestamp of the last update.
578
618
  *
579
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.5
619
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
580
620
  */
581
- groupIdList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
582
- /**
583
- * The unique identifier for the group.
584
- *
585
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
586
- */
587
- groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
588
- /**
589
- * Indicates whether entry in this list is pending, committed, or delete-pending.
590
- *
591
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
592
- */
593
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
594
- /**
595
- * This field shall contain the current state of the target device operation.
596
- *
597
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
598
- */
599
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
600
- /**
601
- * This field shall contain the timestamp of the last update.
602
- *
603
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
604
- */
605
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
606
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
607
- }>>;
608
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
609
- }>[]>;
621
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
610
622
  /**
611
- * List of Binding Targets for this endpoint. Any changes to Binding List (add/remove entry) must follow the
612
- * pending→committed workflow with current state reflected in the Status Entry.
623
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
624
+ * CommitFailure.
613
625
  *
614
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.6
626
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
615
627
  */
616
- bindingList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
617
- /**
618
- * The unique identifier for the Binding entry in the Datastore’s list of DatastoreBindingEntry.
619
- *
620
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.1
621
- */
622
- listId: import("../tlv/TlvObject.js").FieldType<number>;
623
- /**
624
- * The binding target structure.
625
- *
626
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.2
627
- */
628
- binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
629
- node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
630
- group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
631
- endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
632
- cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../index.js").ClusterId>;
633
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
634
- }>>;
635
- /**
636
- * Indicates whether entry in this list is pending, committed, or delete-pending.
637
- *
638
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.3
639
- */
640
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
641
- /**
642
- * This field shall contain the current state of the target device operation.
643
- *
644
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
645
- */
646
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
647
- /**
648
- * This field shall contain the timestamp of the last update.
649
- *
650
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
651
- */
652
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
653
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
654
- }>>;
655
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
656
- }>[]>;
657
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
658
- }>[]>;
659
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
628
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
629
+ }>>;
660
630
  }>;
661
631
  /**
662
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8
632
+ * The DatastoreACLEntryStruct is a holder for an ACL (DatastoreAccessControlEntryStruct) on a specific Node which
633
+ * is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped to the Joint Fabric are managed
634
+ * by the Datastore. As a result, references to nodes and groups are specific to the Joint Fabric.
635
+ *
636
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13
663
637
  */
664
- interface DatastoreNodeInformationEntry extends TypeFromSchema<typeof TlvDatastoreNodeInformationEntry> {
638
+ interface DatastoreAclEntry extends TypeFromSchema<typeof TlvDatastoreAclEntry> {
665
639
  }
666
640
  /**
641
+ * The DatastoreEndpointEntryStruct represents an Endpoint on a specific Node which is managed by the Datastore.
642
+ * Only Nodes on the Joint Fabric are managed by the Datastore. As a result, references to NodeID are specific to
643
+ * the Joint Fabric.
644
+ *
667
645
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9
668
646
  */
669
- const TlvDatastoreAdministratorInformationEntry: import("../tlv/TlvObject.js").ObjectSchema<{
647
+ const TlvDatastoreEndpointEntry: import("../tlv/TlvObject.js").ObjectSchema<{
670
648
  /**
671
- * The unique identifier for the node.
649
+ * The unique identifier for the endpoint.
672
650
  *
673
651
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
674
652
  */
675
- nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
653
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
676
654
  /**
677
- * Friendly name for this node which is not propagated to nodes.
655
+ * The unique identifier for the node.
678
656
  *
679
657
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
680
658
  */
681
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
659
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
682
660
  /**
683
- * The Vendor ID for the node.
661
+ * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
662
+ * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
663
+ * Entry.
684
664
  *
685
665
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
686
666
  */
687
- vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
667
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
688
668
  /**
689
- * The ICAC used to issue the NOC.
669
+ * Indicates whether changes to Friendly Name are pending, committed, or commit-failed.
690
670
  *
691
671
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
692
672
  */
693
- icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
694
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
695
- }>;
696
- /**
697
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9
698
- */
699
- interface DatastoreAdministratorInformationEntry extends TypeFromSchema<typeof TlvDatastoreAdministratorInformationEntry> {
700
- }
701
- /**
702
- * @see {@link Cluster}
703
- */
704
- const ClusterInstance: MutableCluster<{
705
- readonly id: 1874;
706
- readonly name: "JointFabricDatastore";
707
- readonly revision: 1;
708
- readonly attributes: {
709
- /**
710
- * This shall indicate the Anchor Root CA used to sign all NOC Issuers in the Joint Fabric. A null value
711
- * indicates that the Joint Fabric is not yet formed.
712
- *
713
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.1
714
- */
715
- readonly anchorRootCa: FabricScopedAttribute<AllowSharedBufferSource, any>;
716
- /**
717
- * This shall indicate the Node identifier of the Joint Fabric Anchor Root CA.
718
- *
719
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.2
720
- */
721
- readonly anchorNodeId: FabricScopedAttribute<import("../datatype/NodeId.js").NodeId, any>;
722
- /**
723
- * This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA.
724
- *
725
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.3
726
- */
727
- readonly anchorVendorId: FabricScopedAttribute<import("../datatype/VendorId.js").VendorId, any>;
673
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
728
674
  /**
729
- * Friendly name for this fabric which can be propagated to nodes.
675
+ * This field shall contain the current state of the target device operation.
730
676
  *
731
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.4
677
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
732
678
  */
733
- readonly friendlyName: FabricScopedAttribute<string, any>;
679
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
734
680
  /**
735
- * This shall indicate the list of GroupKeySetStruct used in the Joint Fabric.
736
- *
737
- * This attribute shall contain at least one entry, the IPK, which has GroupKeySetID of 0.
681
+ * This field shall contain the timestamp of the last update.
738
682
  *
739
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.5
683
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
740
684
  */
741
- readonly groupKeySetList: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
742
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
743
- groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<GroupKeyManagement.GroupKeySecurityPolicy>;
744
- epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
745
- epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
746
- epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
747
- epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
748
- epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
749
- epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
750
- groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<GroupKeyManagement.GroupKeyMulticastPolicy>;
751
- }>[], any>;
685
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
752
686
  /**
753
- * This shall indicate the list of groups in the Joint Fabric.
687
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
688
+ * CommitFailure.
754
689
  *
755
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.6
690
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
756
691
  */
757
- readonly groupList: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
758
- /**
759
- * The unique identifier for the group.
760
- *
761
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.1
762
- */
763
- groupId: import("../tlv/TlvObject.js").FieldType<number | bigint>;
764
- /**
765
- * The friendly name for the group.
766
- *
767
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.2
692
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
693
+ }>>;
694
+ }>;
695
+ /**
696
+ * The DatastoreEndpointEntryStruct represents an Endpoint on a specific Node which is managed by the Datastore.
697
+ * Only Nodes on the Joint Fabric are managed by the Datastore. As a result, references to NodeID are specific to
698
+ * the Joint Fabric.
699
+ *
700
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.9
701
+ */
702
+ interface DatastoreEndpointEntry extends TypeFromSchema<typeof TlvDatastoreEndpointEntry> {
703
+ }
704
+ /**
705
+ * Input to the JointFabricDatastore addKeySet command
706
+ *
707
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.1
708
+ */
709
+ const TlvAddKeySetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
710
+ groupKeySet: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
711
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
712
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
713
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
714
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
715
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
716
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
717
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
718
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
719
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
720
+ }>>;
721
+ }>;
722
+ /**
723
+ * Input to the JointFabricDatastore addKeySet command
724
+ *
725
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.1
726
+ */
727
+ interface AddKeySetRequest extends TypeFromSchema<typeof TlvAddKeySetRequest> {
728
+ }
729
+ /**
730
+ * Input to the JointFabricDatastore updateKeySet command
731
+ *
732
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.2
733
+ */
734
+ const TlvUpdateKeySetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
735
+ groupKeySet: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
736
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
737
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
738
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
739
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
740
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
741
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
742
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
743
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
744
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
745
+ }>>;
746
+ }>;
747
+ /**
748
+ * Input to the JointFabricDatastore updateKeySet command
749
+ *
750
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.2
751
+ */
752
+ interface UpdateKeySetRequest extends TypeFromSchema<typeof TlvUpdateKeySetRequest> {
753
+ }
754
+ /**
755
+ * Input to the JointFabricDatastore removeKeySet command
756
+ *
757
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.3
758
+ */
759
+ const TlvRemoveKeySetRequest: import("../tlv/TlvObject.js").ObjectSchema<{
760
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
761
+ }>;
762
+ /**
763
+ * Input to the JointFabricDatastore removeKeySet command
764
+ *
765
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.3
766
+ */
767
+ interface RemoveKeySetRequest extends TypeFromSchema<typeof TlvRemoveKeySetRequest> {
768
+ }
769
+ /**
770
+ * Input to the JointFabricDatastore addGroup command
771
+ *
772
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.4
773
+ */
774
+ const TlvAddGroupRequest: import("../tlv/TlvObject.js").ObjectSchema<{
775
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
776
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
777
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
778
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
779
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
780
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
781
+ }>;
782
+ /**
783
+ * Input to the JointFabricDatastore addGroup command
784
+ *
785
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.4
786
+ */
787
+ interface AddGroupRequest extends TypeFromSchema<typeof TlvAddGroupRequest> {
788
+ }
789
+ /**
790
+ * Input to the JointFabricDatastore updateGroup command
791
+ *
792
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.5
793
+ */
794
+ const TlvUpdateGroupRequest: import("../tlv/TlvObject.js").ObjectSchema<{
795
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
796
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string | null>;
797
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
798
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
799
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
800
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
801
+ }>;
802
+ /**
803
+ * Input to the JointFabricDatastore updateGroup command
804
+ *
805
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.5
806
+ */
807
+ interface UpdateGroupRequest extends TypeFromSchema<typeof TlvUpdateGroupRequest> {
808
+ }
809
+ /**
810
+ * Input to the JointFabricDatastore removeGroup command
811
+ *
812
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.6
813
+ */
814
+ const TlvRemoveGroupRequest: import("../tlv/TlvObject.js").ObjectSchema<{
815
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
816
+ }>;
817
+ /**
818
+ * Input to the JointFabricDatastore removeGroup command
819
+ *
820
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.6
821
+ */
822
+ interface RemoveGroupRequest extends TypeFromSchema<typeof TlvRemoveGroupRequest> {
823
+ }
824
+ /**
825
+ * Input to the JointFabricDatastore addAdmin command
826
+ *
827
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.7
828
+ */
829
+ const TlvAddAdminRequest: import("../tlv/TlvObject.js").ObjectSchema<{
830
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
831
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
832
+ vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
833
+ icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
834
+ }>;
835
+ /**
836
+ * Input to the JointFabricDatastore addAdmin command
837
+ *
838
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.7
839
+ */
840
+ interface AddAdminRequest extends TypeFromSchema<typeof TlvAddAdminRequest> {
841
+ }
842
+ /**
843
+ * Input to the JointFabricDatastore updateAdmin command
844
+ *
845
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.8
846
+ */
847
+ const TlvUpdateAdminRequest: import("../tlv/TlvObject.js").ObjectSchema<{
848
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId | null>;
849
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string | null>;
850
+ icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
851
+ }>;
852
+ /**
853
+ * Input to the JointFabricDatastore updateAdmin command
854
+ *
855
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.8
856
+ */
857
+ interface UpdateAdminRequest extends TypeFromSchema<typeof TlvUpdateAdminRequest> {
858
+ }
859
+ /**
860
+ * Input to the JointFabricDatastore removeAdmin command
861
+ *
862
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.9
863
+ */
864
+ const TlvRemoveAdminRequest: import("../tlv/TlvObject.js").ObjectSchema<{
865
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
866
+ }>;
867
+ /**
868
+ * Input to the JointFabricDatastore removeAdmin command
869
+ *
870
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.9
871
+ */
872
+ interface RemoveAdminRequest extends TypeFromSchema<typeof TlvRemoveAdminRequest> {
873
+ }
874
+ /**
875
+ * Input to the JointFabricDatastore addPendingNode command
876
+ *
877
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.10
878
+ */
879
+ const TlvAddPendingNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
880
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
881
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
882
+ }>;
883
+ /**
884
+ * Input to the JointFabricDatastore addPendingNode command
885
+ *
886
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.10
887
+ */
888
+ interface AddPendingNodeRequest extends TypeFromSchema<typeof TlvAddPendingNodeRequest> {
889
+ }
890
+ /**
891
+ * Input to the JointFabricDatastore refreshNode command
892
+ *
893
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.11
894
+ */
895
+ const TlvRefreshNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
896
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
897
+ }>;
898
+ /**
899
+ * Input to the JointFabricDatastore refreshNode command
900
+ *
901
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.11
902
+ */
903
+ interface RefreshNodeRequest extends TypeFromSchema<typeof TlvRefreshNodeRequest> {
904
+ }
905
+ /**
906
+ * Input to the JointFabricDatastore updateNode command
907
+ *
908
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.12
909
+ */
910
+ const TlvUpdateNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
911
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
912
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
913
+ }>;
914
+ /**
915
+ * Input to the JointFabricDatastore updateNode command
916
+ *
917
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.12
918
+ */
919
+ interface UpdateNodeRequest extends TypeFromSchema<typeof TlvUpdateNodeRequest> {
920
+ }
921
+ /**
922
+ * Input to the JointFabricDatastore removeNode command
923
+ *
924
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.13
925
+ */
926
+ const TlvRemoveNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
927
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
928
+ }>;
929
+ /**
930
+ * Input to the JointFabricDatastore removeNode command
931
+ *
932
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.13
933
+ */
934
+ interface RemoveNodeRequest extends TypeFromSchema<typeof TlvRemoveNodeRequest> {
935
+ }
936
+ /**
937
+ * Input to the JointFabricDatastore updateEndpointForNode command
938
+ *
939
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.14
940
+ */
941
+ const TlvUpdateEndpointForNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
942
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
943
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
944
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
945
+ }>;
946
+ /**
947
+ * Input to the JointFabricDatastore updateEndpointForNode command
948
+ *
949
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.14
950
+ */
951
+ interface UpdateEndpointForNodeRequest extends TypeFromSchema<typeof TlvUpdateEndpointForNodeRequest> {
952
+ }
953
+ /**
954
+ * Input to the JointFabricDatastore addGroupIdToEndpointForNode command
955
+ *
956
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.15
957
+ */
958
+ const TlvAddGroupIdToEndpointForNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
959
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
960
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
961
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
962
+ }>;
963
+ /**
964
+ * Input to the JointFabricDatastore addGroupIdToEndpointForNode command
965
+ *
966
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.15
967
+ */
968
+ interface AddGroupIdToEndpointForNodeRequest extends TypeFromSchema<typeof TlvAddGroupIdToEndpointForNodeRequest> {
969
+ }
970
+ /**
971
+ * Input to the JointFabricDatastore removeGroupIdFromEndpointForNode command
972
+ *
973
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.16
974
+ */
975
+ const TlvRemoveGroupIdFromEndpointForNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
976
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
977
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
978
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
979
+ }>;
980
+ /**
981
+ * Input to the JointFabricDatastore removeGroupIdFromEndpointForNode command
982
+ *
983
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.16
984
+ */
985
+ interface RemoveGroupIdFromEndpointForNodeRequest extends TypeFromSchema<typeof TlvRemoveGroupIdFromEndpointForNodeRequest> {
986
+ }
987
+ /**
988
+ * Input to the JointFabricDatastore addBindingToEndpointForNode command
989
+ *
990
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.17
991
+ */
992
+ const TlvAddBindingToEndpointForNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
993
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
994
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
995
+ binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
996
+ /**
997
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
998
+ * present.
999
+ *
1000
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
1001
+ */
1002
+ node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
1003
+ /**
1004
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
1005
+ * present, this field shall NOT be present.
1006
+ *
1007
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
1008
+ */
1009
+ group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
1010
+ /**
1011
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
1012
+ * present, this field shall NOT be present.
1013
+ *
1014
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
1015
+ */
1016
+ endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1017
+ /**
1018
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
1019
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
1020
+ * is present, the target shall be this cluster on the target endpoint(s).
1021
+ *
1022
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
1023
+ */
1024
+ cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/ClusterId.js").ClusterId>;
1025
+ }>>;
1026
+ }>;
1027
+ /**
1028
+ * Input to the JointFabricDatastore addBindingToEndpointForNode command
1029
+ *
1030
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.17
1031
+ */
1032
+ interface AddBindingToEndpointForNodeRequest extends TypeFromSchema<typeof TlvAddBindingToEndpointForNodeRequest> {
1033
+ }
1034
+ /**
1035
+ * Input to the JointFabricDatastore removeBindingFromEndpointForNode command
1036
+ *
1037
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.18
1038
+ */
1039
+ const TlvRemoveBindingFromEndpointForNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
1040
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
1041
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1042
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1043
+ }>;
1044
+ /**
1045
+ * Input to the JointFabricDatastore removeBindingFromEndpointForNode command
1046
+ *
1047
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.18
1048
+ */
1049
+ interface RemoveBindingFromEndpointForNodeRequest extends TypeFromSchema<typeof TlvRemoveBindingFromEndpointForNodeRequest> {
1050
+ }
1051
+ /**
1052
+ * Input to the JointFabricDatastore addAclToNode command
1053
+ *
1054
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.19
1055
+ */
1056
+ const TlvAddAclToNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
1057
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1058
+ aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1059
+ privilege: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
1060
+ authMode: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryAuthMode>;
1061
+ subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
1062
+ targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1063
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
1064
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
1065
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
1066
+ }>[] | null>;
1067
+ }>>;
1068
+ }>;
1069
+ /**
1070
+ * Input to the JointFabricDatastore addAclToNode command
1071
+ *
1072
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.19
1073
+ */
1074
+ interface AddAclToNodeRequest extends TypeFromSchema<typeof TlvAddAclToNodeRequest> {
1075
+ }
1076
+ /**
1077
+ * Input to the JointFabricDatastore removeAclFromNode command
1078
+ *
1079
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.20
1080
+ */
1081
+ const TlvRemoveAclFromNodeRequest: import("../tlv/TlvObject.js").ObjectSchema<{
1082
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
1083
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1084
+ }>;
1085
+ /**
1086
+ * Input to the JointFabricDatastore removeAclFromNode command
1087
+ *
1088
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.20
1089
+ */
1090
+ interface RemoveAclFromNodeRequest extends TypeFromSchema<typeof TlvRemoveAclFromNodeRequest> {
1091
+ }
1092
+ /**
1093
+ * @see {@link Cluster}
1094
+ */
1095
+ const ClusterInstance: MutableCluster<{
1096
+ readonly id: 1874;
1097
+ readonly name: "JointFabricDatastore";
1098
+ readonly revision: 1;
1099
+ readonly attributes: {
1100
+ /**
1101
+ * This shall indicate the Anchor Root CA used to sign all NOC Issuers in the Joint Fabric for the accessing
1102
+ * fabric. A null value indicates that the Joint Fabric is not yet formed.
1103
+ *
1104
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.1
1105
+ */
1106
+ readonly anchorRootCa: Attribute<AllowSharedBufferSource, any>;
1107
+ /**
1108
+ * This shall indicate the Node identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
1109
+ *
1110
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.2
1111
+ */
1112
+ readonly anchorNodeId: Attribute<import("../datatype/NodeId.js").NodeId, any>;
1113
+ /**
1114
+ * This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
1115
+ *
1116
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.3
1117
+ */
1118
+ readonly anchorVendorId: Attribute<import("../datatype/VendorId.js").VendorId, any>;
1119
+ /**
1120
+ * Friendly name for the accessing fabric which can be propagated to nodes.
1121
+ *
1122
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.4
1123
+ */
1124
+ readonly friendlyName: Attribute<string, any>;
1125
+ /**
1126
+ * This shall indicate the list of DatastoreGroupKeySetStruct used in the Joint Fabric for the accessing
1127
+ * fabric.
1128
+ *
1129
+ * This attribute shall contain at least one entry, the IPK, which has GroupKeySetID of 0.
1130
+ *
1131
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.5
1132
+ */
1133
+ readonly groupKeySetList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1134
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1135
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
1136
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1137
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1138
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1139
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1140
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1141
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1142
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
1143
+ }>[], any>;
1144
+ /**
1145
+ * This shall indicate the list of groups in the Joint Fabric for the accessing fabric.
1146
+ *
1147
+ * This list must include, at a minimum, one group with GroupCAT value set to Administrator CAT and one
1148
+ * group with GroupCAT value set to Anchor CAT.
1149
+ *
1150
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.6
1151
+ */
1152
+ readonly groupList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1153
+ /**
1154
+ * The unique identifier for the group.
1155
+ *
1156
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
1157
+ */
1158
+ groupId: import("../tlv/TlvObject.js").FieldType<number | bigint>;
1159
+ /**
1160
+ * The friendly name for the group.
1161
+ *
1162
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
768
1163
  */
769
1164
  friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
770
1165
  /**
771
1166
  * The unique identifier for the group key set.
772
1167
  *
773
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.3
1168
+ * This value may be null when multicast communication is not used for the group. When GroupPermission is Admin
1169
+ * or Manage, this value shall be null.
1170
+ *
1171
+ * A value of 0 is not allowed since this value is reserved for IPK and the group entry for this value is not
1172
+ * managed by the Datastore.
1173
+ *
1174
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.3
774
1175
  */
775
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1176
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
1177
+ /**
1178
+ * CAT value for this group. This is used for control of individual members of a group (non-broadcast commands).
1179
+ *
1180
+ * Allowable values include the range 0x0000 to 0xEFFF, and the Administrator CAT and Anchor CAT values.
1181
+ *
1182
+ * This value may be null when unicast communication is not used for the group.
1183
+ *
1184
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.4
1185
+ */
1186
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
1187
+ /**
1188
+ * Current version number for this CAT.
1189
+ *
1190
+ * This value shall be null when GroupCAT value is null.
1191
+ *
1192
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.5
1193
+ */
1194
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
1195
+ /**
1196
+ * The permission level associated with ACL entries for this group. There should be only one Administrator group
1197
+ * per fabric, and at most one Manage group per Ecosystem (Vendor Entry).
1198
+ *
1199
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.6
1200
+ */
1201
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
1202
+ }>[], any>;
1203
+ /**
1204
+ * This shall indicate the list of nodes in the Joint Fabric for the accessing fabric.
1205
+ *
1206
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.7
1207
+ */
1208
+ readonly nodeList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1209
+ /**
1210
+ * The unique identifier for the node.
1211
+ *
1212
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.1
1213
+ */
1214
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1215
+ /**
1216
+ * Friendly name for this node which is not propagated to nodes.
1217
+ *
1218
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.2
1219
+ */
1220
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1221
+ /**
1222
+ * Set to Pending prior to completing commissioning, set to Committed after commissioning complete is
1223
+ * successful, or set to CommitFailed if commissioning failed with the FailureCode Field set to the error.
1224
+ *
1225
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.14.3
1226
+ */
1227
+ commissioningStatusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1228
+ /**
1229
+ * This field shall contain the current state of the target device operation.
1230
+ *
1231
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
1232
+ */
1233
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
1234
+ /**
1235
+ * This field shall contain the timestamp of the last update.
1236
+ *
1237
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
1238
+ */
1239
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
1240
+ /**
1241
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1242
+ * CommitFailure.
1243
+ *
1244
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
1245
+ */
1246
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1247
+ }>>;
1248
+ }>[], any>;
1249
+ /**
1250
+ * This shall indicate the list of administrators in the Joint Fabric for the accessing fabric.
1251
+ *
1252
+ * Only one Administrator may serve as the Anchor Root CA and Anchor Fabric Administrator and shall have
1253
+ * index value 0. All other Joint Fabric Administrators shall be referenced at index 1 or greater.
1254
+ *
1255
+ * A null value or empty list indicates that the Joint Fabric is not yet formed.
1256
+ *
1257
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.8
1258
+ */
1259
+ readonly adminList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1260
+ /**
1261
+ * The unique identifier for the node.
1262
+ *
1263
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.1
1264
+ */
1265
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1266
+ /**
1267
+ * Friendly name for this node which is not propagated to nodes.
1268
+ *
1269
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.2
1270
+ */
1271
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1272
+ /**
1273
+ * The Vendor ID for the node.
1274
+ *
1275
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.3
1276
+ */
1277
+ vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
1278
+ /**
1279
+ * The ICAC used to issue the NOC.
1280
+ *
1281
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.15.4
1282
+ */
1283
+ icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
1284
+ }>[], any>;
1285
+ /**
1286
+ * This shall indicate the current state of the Joint Fabric Datastore Cluster for the accessing fabric.
1287
+ *
1288
+ * The Committed status indicates the DataStore is ready for use. The Pending status indicates that the
1289
+ * DataStore is not yet ready for use. The DeletePending status indicates that the DataStore is in the
1290
+ * process of being transferred to another Joint Fabric Anchor Administrator.
1291
+ *
1292
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.9
1293
+ */
1294
+ readonly status: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
776
1295
  /**
777
- * CAT value for this group. This is used for control of individual members of a group (non-broadcast commands).
1296
+ * This field shall contain the current state of the target device operation.
778
1297
  *
779
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.4
1298
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
780
1299
  */
781
- groupCat: import("../tlv/TlvObject.js").FieldType<number>;
1300
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
782
1301
  /**
783
- * Current version number for this CAT.
1302
+ * This field shall contain the timestamp of the last update.
784
1303
  *
785
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.5
1304
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
786
1305
  */
787
- groupCatVersion: import("../tlv/TlvObject.js").FieldType<number>;
1306
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
788
1307
  /**
789
- * The permission level associated with ACL entries for this group. There should be only one Administrator group
790
- * per fabric, and at most one Manage group per Ecosystem (Vendor Entry).
1308
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1309
+ * CommitFailure.
791
1310
  *
792
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.6
1311
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
793
1312
  */
794
- groupPermission: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryPrivilege>;
795
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
796
- }>[], any>;
1313
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1314
+ }>, any>;
797
1315
  /**
798
- * This shall indicate the list of nodes in the Joint Fabric.
1316
+ * This shall indicate the group membership of endpoints in the accessing fabric.
799
1317
  *
800
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.7
1318
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
1319
+ * reflected in the Status Entry.
1320
+ *
1321
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.10
801
1322
  */
802
- readonly nodeList: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
1323
+ readonly endpointGroupIdList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
803
1324
  /**
804
1325
  * The unique identifier for the node.
805
1326
  *
@@ -807,18 +1328,23 @@ export declare namespace JointFabricDatastore {
807
1328
  */
808
1329
  nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
809
1330
  /**
810
- * Friendly name for this node which is not propagated to nodes.
1331
+ * The unique identifier for the endpoint.
811
1332
  *
812
1333
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
813
1334
  */
814
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1335
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
815
1336
  /**
816
- * Set to pending prior to completing commissioning, and set to completed after commissioning complete is
817
- * successful.
1337
+ * The unique identifier for the group.
818
1338
  *
819
1339
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
820
1340
  */
821
- commissioningStatusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1341
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
1342
+ /**
1343
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
1344
+ *
1345
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
1346
+ */
1347
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
822
1348
  /**
823
1349
  * This field shall contain the current state of the target device operation.
824
1350
  *
@@ -831,381 +1357,1008 @@ export declare namespace JointFabricDatastore {
831
1357
  * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
832
1358
  */
833
1359
  updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
834
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1360
+ /**
1361
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1362
+ * CommitFailure.
1363
+ *
1364
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
1365
+ */
1366
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
835
1367
  }>>;
1368
+ }>[], any>;
1369
+ /**
1370
+ * This shall indicate the binding list for endpoints in the accessing fabric.
1371
+ *
1372
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
1373
+ * reflected in the Status Entry.
1374
+ *
1375
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.11
1376
+ */
1377
+ readonly endpointBindingList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
836
1378
  /**
837
- * List of Key Set information for the given Node. Updates to the Group Key List must follow the
838
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
839
- * the list.
1379
+ * The unique identifier for the node.
840
1380
  *
841
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
1381
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
842
1382
  */
843
- nodeKeySetList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
844
- groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1383
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1384
+ /**
1385
+ * The unique identifier for the endpoint.
1386
+ *
1387
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
1388
+ */
1389
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1390
+ /**
1391
+ * The unique identifier for the entry in the Datastore’s EndpointBindingList attribute, which is a list of
1392
+ * DatastoreEndpointBindingEntryStruct.
1393
+ *
1394
+ * This field is used to uniquely identify an entry in the EndpointBindingList attribute for the purpose of
1395
+ * deletion (RemoveBindingFromEndpointForNode Command).
1396
+ *
1397
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
1398
+ */
1399
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
1400
+ /**
1401
+ * The binding target structure.
1402
+ *
1403
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.4
1404
+ */
1405
+ binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1406
+ /**
1407
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
1408
+ * present.
1409
+ *
1410
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
1411
+ */
1412
+ node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
1413
+ /**
1414
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
1415
+ * present, this field shall NOT be present.
1416
+ *
1417
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
1418
+ */
1419
+ group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
1420
+ /**
1421
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
1422
+ * present, this field shall NOT be present.
1423
+ *
1424
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
1425
+ */
1426
+ endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
845
1427
  /**
846
- * Indicates whether entry in this list is pending, committed, or delete-pending.
1428
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
1429
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
1430
+ * is present, the target shall be this cluster on the target endpoint(s).
847
1431
  *
848
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.2
1432
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
849
1433
  */
850
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
851
- /**
852
- * This field shall contain the current state of the target device operation.
853
- *
854
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
855
- */
856
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
857
- /**
858
- * This field shall contain the timestamp of the last update.
859
- *
860
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
861
- */
862
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
863
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
864
- }>>;
865
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
866
- }>[]>;
1434
+ cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/ClusterId.js").ClusterId>;
1435
+ }>>;
867
1436
  /**
868
- * List of ACL entries. Group membership for this node is inferred from the ACLs. Client access to a Node
869
- * Information Entry will be determined from the ACL List. Any changes to ACL List (add/remove entry) must
870
- * follow the pending→committed workflow with current state reflected in the Status Entry for the corresponding
871
- * entry in the list.
1437
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
872
1438
  *
873
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.5
1439
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.5
874
1440
  */
875
- aclList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1441
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
876
1442
  /**
877
- * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
1443
+ * This field shall contain the current state of the target device operation.
878
1444
  *
879
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
1445
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
880
1446
  */
881
- listId: import("../tlv/TlvObject.js").FieldType<number>;
1447
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
882
1448
  /**
883
- * The Access Control Entry structure.
1449
+ * This field shall contain the timestamp of the last update.
884
1450
  *
885
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
1451
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
886
1452
  */
887
- aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
888
- privilege: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryPrivilege>;
889
- authMode: import("../tlv/TlvObject.js").FieldType<AccessControl.AccessControlEntryAuthMode>;
890
- subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
891
- targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
892
- cluster: import("../tlv/TlvObject.js").FieldType<import("../index.js").ClusterId | null>;
893
- endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
894
- deviceType: import("../tlv/TlvObject.js").FieldType<import("../index.js").DeviceTypeId | null>;
895
- }>[] | null>;
896
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
897
- }>>;
1453
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
898
1454
  /**
899
- * Indicates whether entry in this list is pending, committed, or delete-pending.
1455
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1456
+ * CommitFailure.
900
1457
  *
901
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
1458
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
902
1459
  */
903
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
904
- /**
905
- * This field shall contain the current state of the target device operation.
906
- *
907
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
908
- */
909
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
910
- /**
911
- * This field shall contain the timestamp of the last update.
912
- *
913
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
914
- */
915
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
916
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
917
- }>>;
918
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
919
- }>[]>;
1460
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1461
+ }>>;
1462
+ }>[], any>;
1463
+ /**
1464
+ * This shall indicate the KeySet entries for nodes in the accessing fabric.
1465
+ *
1466
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
1467
+ * reflected in the Status Entry.
1468
+ *
1469
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.12
1470
+ */
1471
+ readonly nodeKeySetList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1472
+ /**
1473
+ * The unique identifier for the node.
1474
+ *
1475
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.1
1476
+ */
1477
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1478
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
920
1479
  /**
921
- * The list of endpoints for this node. Any changes to Endpoint List (add/remove entry) must follow the
922
- * pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
923
- * the list.
1480
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
924
1481
  *
925
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.8.6
1482
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.3.3
926
1483
  */
927
- endpointList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1484
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
928
1485
  /**
929
- * The unique identifier for the endpoint.
1486
+ * This field shall contain the current state of the target device operation.
930
1487
  *
931
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
1488
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
932
1489
  */
933
- endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1490
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
934
1491
  /**
935
- * The unique identifier for the node.
1492
+ * This field shall contain the timestamp of the last update.
936
1493
  *
937
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
1494
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
938
1495
  */
939
- nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1496
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
940
1497
  /**
941
- * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
942
- * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
943
- * Entry.
1498
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1499
+ * CommitFailure.
944
1500
  *
945
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
1501
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
946
1502
  */
947
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1503
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1504
+ }>>;
1505
+ }>[], any>;
1506
+ /**
1507
+ * This shall indicate the ACL entries for nodes in the accessing fabric.
1508
+ *
1509
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
1510
+ * reflected in the Status Entry.
1511
+ *
1512
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.13
1513
+ */
1514
+ readonly nodeAclList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1515
+ /**
1516
+ * The unique identifier for the node.
1517
+ *
1518
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.1
1519
+ */
1520
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1521
+ /**
1522
+ * The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
1523
+ *
1524
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.2
1525
+ */
1526
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
1527
+ /**
1528
+ * The Access Control Entry structure.
1529
+ *
1530
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.3
1531
+ */
1532
+ aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1533
+ privilege: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
1534
+ authMode: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryAuthMode>;
1535
+ subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
1536
+ targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1537
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
1538
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
1539
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
1540
+ }>[] | null>;
1541
+ }>>;
1542
+ /**
1543
+ * Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
1544
+ *
1545
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.13.4
1546
+ */
1547
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
948
1548
  /**
949
- * Indicates whether changes to Friendly Name are pending or committed.
1549
+ * This field shall contain the current state of the target device operation.
950
1550
  *
951
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
1551
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
1552
+ */
1553
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
1554
+ /**
1555
+ * This field shall contain the timestamp of the last update.
1556
+ *
1557
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
1558
+ */
1559
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
1560
+ /**
1561
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1562
+ * CommitFailure.
1563
+ *
1564
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
1565
+ */
1566
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1567
+ }>>;
1568
+ }>[], any>;
1569
+ /**
1570
+ * This shall indicate the Endpoint entries for nodes in the accessing fabric.
1571
+ *
1572
+ * Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
1573
+ * reflected in the Status Entry.
1574
+ *
1575
+ * @see {@link MatterSpecification.v141.Core} § 11.24.6.14
1576
+ */
1577
+ readonly nodeEndpointList: Attribute<import("../tlv/TlvObject.js").TypeFromFields<{
1578
+ /**
1579
+ * The unique identifier for the endpoint.
1580
+ *
1581
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
1582
+ */
1583
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1584
+ /**
1585
+ * The unique identifier for the node.
1586
+ *
1587
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
1588
+ */
1589
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1590
+ /**
1591
+ * Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
1592
+ * (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
1593
+ * Entry.
1594
+ *
1595
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
1596
+ */
1597
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1598
+ /**
1599
+ * Indicates whether changes to Friendly Name are pending, committed, or commit-failed.
1600
+ *
1601
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
1602
+ */
1603
+ statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1604
+ /**
1605
+ * This field shall contain the current state of the target device operation.
1606
+ *
1607
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
952
1608
  */
953
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
954
- /**
955
- * This field shall contain the current state of the target device operation.
956
- *
957
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
958
- */
959
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
960
- /**
961
- * This field shall contain the timestamp of the last update.
962
- *
963
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
964
- */
965
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
966
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
967
- }>>;
1609
+ state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
968
1610
  /**
969
- * List of Group IDs that this endpoint is a member of. Any changes to Group Id List (add/remove entry) must
970
- * follow the pending→committed workflow with current state reflected in the Status Entry.
1611
+ * This field shall contain the timestamp of the last update.
971
1612
  *
972
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.5
1613
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
973
1614
  */
974
- groupIdList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
975
- /**
976
- * The unique identifier for the group.
977
- *
978
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
979
- */
980
- groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
981
- /**
982
- * Indicates whether entry in this list is pending, committed, or delete-pending.
983
- *
984
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
985
- */
986
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
987
- /**
988
- * This field shall contain the current state of the target device operation.
989
- *
990
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
991
- */
992
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
993
- /**
994
- * This field shall contain the timestamp of the last update.
995
- *
996
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
997
- */
998
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
999
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1000
- }>>;
1001
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1002
- }>[]>;
1615
+ updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
1003
1616
  /**
1004
- * List of Binding Targets for this endpoint. Any changes to Binding List (add/remove entry) must follow the
1005
- * pending→committed workflow with current state reflected in the Status Entry.
1617
+ * This field shall contain the StatusCode of the last failed operation where the State field is set to
1618
+ * CommitFailure.
1006
1619
  *
1007
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.6
1620
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
1008
1621
  */
1009
- bindingList: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1010
- /**
1011
- * The unique identifier for the Binding entry in the Datastore’s list of DatastoreBindingEntry.
1012
- *
1013
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.1
1014
- */
1015
- listId: import("../tlv/TlvObject.js").FieldType<number>;
1016
- /**
1017
- * The binding target structure.
1018
- *
1019
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.2
1020
- */
1021
- binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1022
- node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
1023
- group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
1024
- endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
1025
- cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../index.js").ClusterId>;
1026
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1027
- }>>;
1028
- /**
1029
- * Indicates whether entry in this list is pending, committed, or delete-pending.
1030
- *
1031
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.4.7.3
1032
- */
1033
- statusEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1034
- /**
1035
- * This field shall contain the current state of the target device operation.
1036
- *
1037
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.1
1038
- */
1039
- state: import("../tlv/TlvObject.js").FieldType<DatastoreState>;
1040
- /**
1041
- * This field shall contain the timestamp of the last update.
1042
- *
1043
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.2.2
1044
- */
1045
- updateTimestamp: import("../tlv/TlvObject.js").FieldType<number>;
1046
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1047
- }>>;
1048
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1049
- }>[]>;
1050
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1051
- }>[]>;
1052
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1622
+ failureCode: import("../tlv/TlvObject.js").FieldType<Status>;
1623
+ }>>;
1053
1624
  }>[], any>;
1625
+ };
1626
+ readonly commands: {
1627
+ /**
1628
+ * This command shall be used to add a KeySet to the Joint Fabric Datastore Cluster of the accessing fabric.
1629
+ *
1630
+ * GroupKeySet represents the KeySet to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
1631
+ * command, the Datastore shall:
1632
+ *
1633
+ * 1. Ensure there are no KeySets in the KeySetList attribute with the given GroupKeySetID.
1634
+ *
1635
+ * 2. If a match is found, return CONSTRAINT_ERROR.
1636
+ *
1637
+ * 3. Add the Epoch Key Entry for the KeySet to the KeySetList attribute.
1638
+ *
1639
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.1
1640
+ */
1641
+ readonly addKeySet: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1642
+ groupKeySet: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1643
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1644
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
1645
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1646
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1647
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1648
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1649
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1650
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1651
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
1652
+ }>>;
1653
+ }>, void, any>;
1654
+ /**
1655
+ * This command shall be used to update a KeySet in the Joint Fabric Datastore Cluster of the accessing
1656
+ * fabric.
1657
+ *
1658
+ * GroupKeySet represents the KeySet to be updated in the Joint Fabric Datastore Cluster. Upon receipt of
1659
+ * this command, the Datastore shall:
1660
+ *
1661
+ * 1. Find the Epoch Key Entry for the KeySet in the KeySetList attribute with the given GroupKeySetID,
1662
+ * and update any changed fields.
1663
+ *
1664
+ * 2. If entry is not found, return NOT_FOUND.
1665
+ *
1666
+ * 3. If any fields are changed as a result of this command:
1667
+ *
1668
+ * a. Iterate through each Node Information Entry:
1669
+ *
1670
+ * i. If the NodeKeySetList contains an entry with the given GroupKeySetID:
1671
+ *
1672
+ * A. Update the Status on the given DatastoreNodeKeySetEntryStruct tp Pending.
1673
+ *
1674
+ * B. Update the GroupKeySet on the given Node with the new values.
1675
+ *
1676
+ * I. If successful, update the Status on this DatastoreNodeKeySetEntryStruct to Committed.
1677
+ *
1678
+ * II. If not successful, update the State field of the StatusEntry on this
1679
+ * DatastoreNodeKeySetEntryStruct to CommitFailed and FailureCode code to the returned error.
1680
+ * The pending change shall be applied in a subsequent Node Refresh.
1681
+ *
1682
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.2
1683
+ */
1684
+ readonly updateKeySet: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1685
+ groupKeySet: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
1686
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1687
+ groupKeySecurityPolicy: import("../tlv/TlvObject.js").FieldType<DatastoreGroupKeySecurityPolicy>;
1688
+ epochKey0: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1689
+ epochStartTime0: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1690
+ epochKey1: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1691
+ epochStartTime1: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1692
+ epochKey2: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1693
+ epochStartTime2: import("../tlv/TlvObject.js").FieldType<number | bigint | null>;
1694
+ groupKeyMulticastPolicy: import("../tlv/TlvObject.js").OptionalFieldType<DatastoreGroupKeyMulticastPolicy>;
1695
+ }>>;
1696
+ }>, void, any>;
1697
+ /**
1698
+ * This command shall be used to remove a KeySet from the Joint Fabric Datastore Cluster of the accessing
1699
+ * fabric.
1700
+ *
1701
+ * GroupKeySetID represents the unique identifier for the KeySet to be removed from the Joint Fabric
1702
+ * Datastore Cluster.
1703
+ *
1704
+ * Attempt to remove the IPK, which has GroupKeySetID of 0, shall fail with response CONSTRAINT_ERROR.
1705
+ *
1706
+ * Upon receipt of this command, the Datastore shall:
1707
+ *
1708
+ * 1. If entry is not found, return NOT_FOUND.
1709
+ *
1710
+ * 2. Ensure there are no Nodes using this KeySet. To do this:
1711
+ *
1712
+ * a. Iterate through each Node Information Entry:
1713
+ *
1714
+ * i. If the NodeKeySetList list contains an entry with the given GroupKeySetID, and the entry does
1715
+ * NOT have Status DeletePending, then return CONSTRAINT_ERROR.
1716
+ *
1717
+ * 3. Remove the DatastoreGroupKeySetStruct for the given GroupKeySetID from the GroupKeySetList
1718
+ * attribute.
1719
+ *
1720
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.3
1721
+ */
1722
+ readonly removeKeySet: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1723
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number>;
1724
+ }>, void, any>;
1725
+ /**
1726
+ * This command shall be used to add a group to the Joint Fabric Datastore Cluster of the accessing fabric.
1727
+ *
1728
+ * GroupInformationEntry represents the group to be added to the Joint Fabric Datastore Cluster.
1729
+ *
1730
+ * GroupCAT values shall fall within the range 1 to 65534. Attempts to add a group with a GroupCAT value of
1731
+ * Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
1732
+ *
1733
+ * Upon receipt of this command, the Datastore shall:
1734
+ *
1735
+ * 1. Ensure there are no Groups in the GroupList attribute with the given GroupID. If a match is found,
1736
+ * return CONSTRAINT_ERROR.
1737
+ *
1738
+ * 2. Add the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to the GroupList
1739
+ * attribute.
1740
+ *
1741
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.4
1742
+ */
1743
+ readonly addGroup: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1744
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
1745
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1746
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
1747
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
1748
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
1749
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
1750
+ }>, void, any>;
1751
+ /**
1752
+ * This command shall be used to update a group in the Joint Fabric Datastore Cluster of the accessing
1753
+ * fabric.
1754
+ *
1755
+ * GroupID represents the group to be updated in the Joint Fabric Datastore Cluster. NULL values for the
1756
+ * additional parameters will be ignored (not updated).
1757
+ *
1758
+ * GroupCAT values shall fall within the range 1 to 65534. Attempts to update the GroupCAT on an existing
1759
+ * group which has a GroupCAT value of Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
1760
+ *
1761
+ * Attempts to set the GroupCAT to Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
1762
+ *
1763
+ * Upon receipt of this command, the Datastore shall:
1764
+ *
1765
+ * 1. If entry is not found, return NOT_FOUND.
1766
+ *
1767
+ * 2. Update the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to match the
1768
+ * non-NULL fields passed in.
1769
+ *
1770
+ * 3. If any fields are changed as a result of this command:
1771
+ *
1772
+ * a. Iterate through each Node Information Entry:
1773
+ *
1774
+ * i. If the GroupKeySetID changed:
1775
+ *
1776
+ * I. Add a DatastoreNodeKeySetEntryStruct with the new GroupKeySetID, and Status set to Pending.
1777
+ *
1778
+ * II. Add this KeySet to the Node.
1779
+ *
1780
+ * 1. If successful, Set the Status to Committed for this entry in the NodeKeySetList.
1781
+ *
1782
+ * 2. If not successful, Set the Status to CommitFailed and the FailureCode to the returned error. The
1783
+ * pending change shall be applied in a subsequent Node Refresh.
1784
+ *
1785
+ * A. If the NodeKeySetList list contains an entry with the previous GroupKeySetID:
1786
+ *
1787
+ * III. Set the Status set to DeletePending.
1788
+ *
1789
+ * IV. Remove this KeySet from the Node.
1790
+ *
1791
+ * 1. If successful, Remove this entry from the NodeKeySetList.
1792
+ *
1793
+ * 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
1794
+ *
1795
+ * ii. If the GroupCAT, GroupCATVersion or GroupPermission changed:
1796
+ *
1797
+ * A. If the ACLList contains an entry for this Group, update the ACL List Entry in the Datastore with the
1798
+ * new values and Status Pending, update the ACL attribute on the given Node with the new values. If
1799
+ * the update succeeds, set the Status to Committed on the ACLList Entry in the Datastore.
1800
+ *
1801
+ * iii. If the FriendlyName changed:
1802
+ *
1803
+ * A. Iterate through each Endpoint Information Entry:
1804
+ *
1805
+ * I. If the GroupIDList contains an entry with the given GroupID:
1806
+ *
1807
+ * 1. Update the GroupIDList Entry in the Datastore with the new values and Status
1808
+ *
1809
+ * ### Pending
1810
+ *
1811
+ * 2. Update the Groups on the given Node with the new values.
1812
+ *
1813
+ * 1. If the update succeeds, set the Status to Committed on the GroupIDList Entry in the Datastore.
1814
+ *
1815
+ * 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
1816
+ *
1817
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.5
1818
+ */
1819
+ readonly updateGroup: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1820
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
1821
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string | null>;
1822
+ groupKeySetId: import("../tlv/TlvObject.js").FieldType<number | null>;
1823
+ groupCat: import("../tlv/TlvObject.js").FieldType<number | null>;
1824
+ groupCatVersion: import("../tlv/TlvObject.js").FieldType<number | null>;
1825
+ groupPermission: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
1826
+ }>, void, any>;
1054
1827
  /**
1055
- * This shall indicate the list of administrators in the Joint Fabric.
1828
+ * This command shall be used to remove a group from the Joint Fabric Datastore Cluster of the accessing
1829
+ * fabric.
1830
+ *
1831
+ * GroupID represents the unique identifier for the group to be removed from the Joint Fabric Datastore
1832
+ * Cluster.
1833
+ *
1834
+ * Attempts to remove a group with GroupCAT value set to Administrator CAT or Anchor CAT shall fail with
1835
+ * CONSTRAINT_ERROR.
1836
+ *
1837
+ * Upon receipt of this command, the Datastore shall:
1838
+ *
1839
+ * 1. If entry is not found, return NOT_FOUND.
1840
+ *
1841
+ * 2. Ensure there are no Nodes in this group. To do this:
1056
1842
  *
1057
- * Only one Administrator may serve as the Anchor Root CA and Anchor Fabric Administrator and shall have
1058
- * index value 0. All other Joint Fabric Administrators shall be referenced at index 1 or greater.
1843
+ * a. Iterate through each Node Information Entry:
1059
1844
  *
1060
- * A null value or empty list indicates that the Joint Fabric is not yet formed.
1845
+ * i. If the GroupIDList contains an entry with the given GroupID, and the entry does NOT have Status
1846
+ * DeletePending, then return CONSTRAINT_ERROR.
1061
1847
  *
1062
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.8
1848
+ * 3. Remove the DatastoreGroupInformationEntryStruct for the Group with the given GroupID from the
1849
+ * GroupList attribute.
1850
+ *
1851
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.6
1063
1852
  */
1064
- readonly adminList: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
1065
- /**
1066
- * The unique identifier for the node.
1067
- *
1068
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
1069
- */
1070
- nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1071
- /**
1072
- * Friendly name for this node which is not propagated to nodes.
1073
- *
1074
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
1075
- */
1076
- friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1077
- /**
1078
- * The Vendor ID for the node.
1079
- *
1080
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
1081
- */
1082
- vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
1083
- /**
1084
- * The ICAC used to issue the NOC.
1085
- *
1086
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
1087
- */
1088
- icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
1089
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1090
- }>[], any>;
1853
+ readonly removeGroup: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1854
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
1855
+ }>, void, any>;
1091
1856
  /**
1092
- * This shall indicate the current state of the Joint Fabric Datastore Cluster.
1857
+ * This command shall be used to add an admin to the Joint Fabric Datastore Cluster of the accessing fabric.
1093
1858
  *
1094
- * The Committed status indicates the DataStore is ready for use. The Pending status indicates that the
1095
- * DataStore is not yet ready for use. The DeletePending status indicates that the DataStore is in the
1096
- * process of being transferred to another Joint Fabric Anchor Administrator.
1859
+ * NodeID, FriendlyName, VendorID and ICAC represent the admin to be added to the Joint Fabric Datastore
1860
+ * Cluster.
1097
1861
  *
1098
- * @see {@link MatterSpecification.v141.Core} § 11.24.6.9
1862
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.7
1099
1863
  */
1100
- readonly statusEntry: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
1101
- /**
1102
- * The unique identifier for the node.
1103
- *
1104
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
1105
- */
1864
+ readonly addAdmin: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1106
1865
  nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1107
- /**
1108
- * Friendly name for this node which is not propagated to nodes.
1109
- *
1110
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
1111
- */
1112
1866
  friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1113
- /**
1114
- * The Vendor ID for the node.
1115
- *
1116
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
1117
- */
1118
1867
  vendorId: import("../tlv/TlvObject.js").FieldType<import("../datatype/VendorId.js").VendorId>;
1119
- /**
1120
- * The ICAC used to issue the NOC.
1121
- *
1122
- * @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
1123
- */
1124
1868
  icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
1125
- fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
1126
- }>, any>;
1127
- };
1128
- readonly commands: {
1129
- /**
1130
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1131
- */
1132
- readonly section112471: Command<void, void, any>;
1133
- /**
1134
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1135
- */
1136
- readonly section112472: Command<void, void, any>;
1137
- /**
1138
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1139
- */
1140
- readonly section112473: Command<void, void, any>;
1869
+ }>, void, any>;
1141
1870
  /**
1142
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1143
- */
1144
- readonly section112474: Command<void, void, any>;
1145
- /**
1146
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1147
- */
1148
- readonly section112475: Command<void, void, any>;
1149
- /**
1150
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1151
- */
1152
- readonly section112476: Command<void, void, any>;
1153
- /**
1154
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1155
- */
1156
- readonly section112477: Command<void, void, any>;
1157
- /**
1158
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1871
+ * This command shall be used to update an admin in the Joint Fabric Datastore Cluster of the accessing
1872
+ * fabric.
1873
+ *
1874
+ * NodeID represents the admin to be updated in the Joint Fabric Datastore Cluster. NULL values for the
1875
+ * additional parameters will be ignored (not updated).
1876
+ *
1877
+ * If entry is not found, return NOT_FOUND.
1878
+ *
1879
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.8
1159
1880
  */
1160
- readonly section112478: Command<void, void, any>;
1881
+ readonly updateAdmin: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1882
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId | null>;
1883
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string | null>;
1884
+ icac: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource | null>;
1885
+ }>, void, any>;
1161
1886
  /**
1162
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1887
+ * This command shall be used to remove an admin from the Joint Fabric Datastore Cluster of the accessing
1888
+ * fabric.
1889
+ *
1890
+ * NodeID represents the unique identifier for the admin to be removed from the Joint Fabric Datastore
1891
+ * Cluster.
1892
+ *
1893
+ * If entry is not found, return NOT_FOUND.
1894
+ *
1895
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.9
1163
1896
  */
1164
- readonly section112479: Command<void, void, any>;
1897
+ readonly removeAdmin: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1898
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1899
+ }>, void, any>;
1165
1900
  /**
1166
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1901
+ * The command shall be used to add a node to the Joint Fabric Datastore Cluster of the accessing fabric.
1902
+ *
1903
+ * NodeID represents the node to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
1904
+ * command, the Datastore shall:
1905
+ *
1906
+ * 1. Update CommissioningStatusEntry of the Node Information Entry with the given NodeID to Pending.
1907
+ *
1908
+ * If a Node Information Entry exists for the given NodeID, this command shall return INVALID_CONSTRAINT.
1909
+ *
1910
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.10
1167
1911
  */
1168
- readonly section1124710: Command<void, void, any>;
1912
+ readonly addPendingNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
1913
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
1914
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
1915
+ }>, void, any>;
1169
1916
  /**
1170
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
1917
+ * The command shall be used to request that Datastore information relating to a Node of the accessing
1918
+ * fabric is refreshed.
1919
+ *
1920
+ * Upon receipt of this command, the Datastore shall:
1921
+ *
1922
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
1923
+ *
1924
+ * 2. Update the CommissioningStatusEntry for the Node Information Entry to Pending.
1925
+ *
1926
+ * 3. Ensure the Endpoint List for the Node Information Entry with the given NodeID matches Endpoint list
1927
+ * on the given Node. This involves the following steps:
1928
+ *
1929
+ * a. Read the PartsList of the Descriptor cluster from the Node.
1930
+ *
1931
+ * b. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that does
1932
+ * not match an Endpoint ID in the PartsList, remove the Endpoint Information Entry.
1933
+ *
1934
+ * c. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that
1935
+ * matches an Endpoint ID in the PartsList:
1936
+ *
1937
+ * i. Check that each entry in Node’s Group List occurs in the GroupIDList of the Endpoint Information
1938
+ * Entry.
1939
+ *
1940
+ * A. Add any missing entries to the GroupIDList of the Endpoint Information Entry.
1941
+ *
1942
+ * B. For any entries in the GroupIDList with Status of Pending:
1943
+ *
1944
+ * I. Add the corresponding change to the Node’s Group List.
1945
+ *
1946
+ * 1. If successful, mark the Status to Committed.
1947
+ *
1948
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
1949
+ * error shall be handled in a subsequent Node Refresh.
1950
+ *
1951
+ * C. For any entries in the GroupIDList with Status of DeletePending:
1952
+ *
1953
+ * 1. If successful, remove the corresponding entry from the Node’s Group List.
1954
+ *
1955
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
1956
+ * error shall be handled in a subsequent Node Refresh.
1957
+ *
1958
+ * D. For any entries in the GroupIDList with Status of CommitFailure:
1959
+ *
1960
+ * I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
1961
+ * GroupIDList.
1962
+ *
1963
+ * II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a subsequent
1964
+ * Node Refresh.
1965
+ *
1966
+ * ii. Check that each entry in Node’s Binding List occurs in the BindingList of the Endpoint Information
1967
+ * Entry.
1968
+ *
1969
+ * A. Add any missing entries to the BindingList of the Endpoint Information Entry.
1970
+ *
1971
+ * B. For any entries in the BindingList with Status of Pending:
1972
+ *
1973
+ * I. Add the corresponding change to the Node’s Binding List.
1974
+ *
1975
+ * 1. If successful, mark the Status to Committed.
1976
+ *
1977
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1978
+ * The error shall be handled in a subsequent Node Refresh.
1979
+ *
1980
+ * C. For any entries in the BindingList with Status of DeletePending:
1981
+ *
1982
+ * 1. If successful, remove the corresponding entry from the Node’s BindingList.
1983
+ *
1984
+ * 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
1985
+ * The error shall be handled in a subsequent Node Refresh.
1986
+ *
1987
+ * D. For any entries in the BindingList with Status of CommitFailure:
1988
+ *
1989
+ * I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
1990
+ * BindingList.
1991
+ *
1992
+ * II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
1993
+ * subsequent Node Refresh.
1994
+ *
1995
+ * 4. Ensure the GroupKeySetList for the Node Information Entry with the given NodeID matches the Group Keys
1996
+ * on the given Node. This involves the following steps:
1997
+ *
1998
+ * a. Read the Group Keys from the Node.
1999
+ *
2000
+ * b. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a Pending
2001
+ * Status:
2002
+ *
2003
+ * i. Add the corresponding DatastoreGroupKeySetStruct to the Node’s Group Key list.
2004
+ *
2005
+ * A. If successful, mark the Status to Committed.
2006
+ *
2007
+ * B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2008
+ * The error shall be handled in a subsequent Node Refresh.
2009
+ *
2010
+ * c. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a CommitFailure
2011
+ * Status:
2012
+ *
2013
+ * i. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
2014
+ * GroupKeySetList.
2015
+ *
2016
+ * ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
2017
+ * subsequent Node Refresh.
2018
+ *
2019
+ * d. All remaining entries in the GroupKeySetList should be replaced by the remaining entries on the
2020
+ * Node.
2021
+ *
2022
+ * 5. Ensure the ACLList for the Node Information Entry with the given NodeID matches the ACL attribute on
2023
+ * the given Node. This involves the following steps:
2024
+ *
2025
+ * a. Read the ACL attribute on the Node.
2026
+ *
2027
+ * b. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a Pending Status:
2028
+ *
2029
+ * i. Add the corresponding DatastoreACLEntryStruct to the Node’s ACL attribute.
2030
+ *
2031
+ * A. If successful, mark the Status to Committed.
2032
+ *
2033
+ * B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2034
+ * The error shall be handled in a subsequent Node Refresh.
2035
+ *
2036
+ * c. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a CommitFailure
2037
+ * Status:
2038
+ *
2039
+ * i. A CommitFailure with an unrecoverable FailureCode (i.e. RESOURCE_EXHAUSTED, CONSTRAINT_ERROR)
2040
+ * shall be handled by removing the entry from the ACLList.
2041
+ *
2042
+ * ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
2043
+ * subsequent Node Refresh.
2044
+ *
2045
+ * d. All remaining entries in the ACLList should be replaced by the remaining entries on the Node.
2046
+ *
2047
+ * 6. Update the CommissioningStatusEntry for the Node Information Entry to Committed.
2048
+ *
2049
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.11
1171
2050
  */
1172
- readonly section1124711: Command<void, void, any>;
2051
+ readonly refreshNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2052
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2053
+ }>, void, any>;
1173
2054
  /**
1174
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2055
+ * The command shall be used to update the friendly name for a node in the Joint Fabric Datastore Cluster of
2056
+ * the accessing fabric.
2057
+ *
2058
+ * NodeID represents the node to be updated in the Joint Fabric Datastore Cluster.
2059
+ *
2060
+ * If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
2061
+ *
2062
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.12
1175
2063
  */
1176
- readonly section1124712: Command<void, void, any>;
2064
+ readonly updateNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2065
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2066
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
2067
+ }>, void, any>;
1177
2068
  /**
1178
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2069
+ * This command shall be used to remove a node from the Joint Fabric Datastore Cluster of the accessing
2070
+ * fabric.
2071
+ *
2072
+ * NodeID represents the unique identifier for the node to be removed from the Joint Fabric Datastore
2073
+ * Cluster.
2074
+ *
2075
+ * If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
2076
+ *
2077
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.13
1179
2078
  */
1180
- readonly section1124713: Command<void, void, any>;
2079
+ readonly removeNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2080
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2081
+ }>, void, any>;
1181
2082
  /**
1182
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2083
+ * This command shall be used to update the state of an endpoint for a node in the Joint Fabric Datastore
2084
+ * Cluster of the accessing fabric.
2085
+ *
2086
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
2087
+ * Cluster.
2088
+ *
2089
+ * NodeID represents the unique identifier for the node to which the endpoint belongs.
2090
+ *
2091
+ * If an Endpoint Information Entry does not exist for the given NodeID and EndpointID, this command shall
2092
+ * return NOT_FOUND.
2093
+ *
2094
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.14
1183
2095
  */
1184
- readonly section1124714: Command<void, void, any>;
2096
+ readonly updateEndpointForNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2097
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2098
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2099
+ friendlyName: import("../tlv/TlvObject.js").FieldType<string>;
2100
+ }>, void, any>;
1185
2101
  /**
1186
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2102
+ * This command shall be used to add a Group ID to an endpoint for a node in the Joint Fabric Datastore
2103
+ * Cluster of the accessing fabric.
2104
+ *
2105
+ * GroupID represents the unique identifier for the group to be added to the endpoint.
2106
+ *
2107
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
2108
+ * Cluster.
2109
+ *
2110
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
2111
+ * command, the Datastore shall:
2112
+ *
2113
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
2114
+ * return NOT_FOUND.
2115
+ *
2116
+ * 2. Ensure the Group Key List for the Node Information Entry with the given NodeID includes the KeySet
2117
+ * for the given Group ID. If it does not:
2118
+ *
2119
+ * a. Add an entry for the KeySet of the given Group ID to the Group Key List for the Node. The new
2120
+ * entry’s status shall be set to Pending.
2121
+ *
2122
+ * b. Add a Group Key Entry for this KeySet to the given Node ID.
2123
+ *
2124
+ * i. If this succeeds, update the new KeySet entry in the Datastore to Committed.
2125
+ *
2126
+ * ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
2127
+ *
2128
+ * 3. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID
2129
+ * includes an entry for the given Group. If it does not:
2130
+ *
2131
+ * a. Add a Group entry for the given Group ID to the Group List for the Endpoint and Node. The new
2132
+ * entry’s status shall be set to Pending.
2133
+ *
2134
+ * b. Add this Group entry to the given Endpoint ID on the given Node ID.
2135
+ *
2136
+ * i. If this succeeds, update the new Group entry in the Datastore to Committed.
2137
+ *
2138
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2139
+ * The error shall be handled in a subsequent Node Refresh.
2140
+ *
2141
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.15
1187
2142
  */
1188
- readonly section1124715: Command<void, void, any>;
2143
+ readonly addGroupIdToEndpointForNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2144
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2145
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2146
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
2147
+ }>, void, any>;
1189
2148
  /**
1190
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2149
+ * This command shall be used to remove a Group ID from an endpoint for a node in the Joint Fabric Datastore
2150
+ * Cluster of the accessing fabric.
2151
+ *
2152
+ * GroupID represents the unique identifier for the group to be removed from the endpoint.
2153
+ *
2154
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
2155
+ * Cluster.
2156
+ *
2157
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
2158
+ * command, the Datastore shall:
2159
+ *
2160
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
2161
+ * return NOT_FOUND.
2162
+ *
2163
+ * 2. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID does
2164
+ * not include an entry for the given Group. If it does:
2165
+ *
2166
+ * a. Update the status to DeletePending of the Group entry for the given Group ID in the Group List.
2167
+ *
2168
+ * b. Remove this Group entry for the given Endpoint ID on the given Node ID.
2169
+ *
2170
+ * i. If this succeeds, remove the Group entry for the given Group ID in the Group List for this
2171
+ * NodeID and EndpointID in the Datastore.
2172
+ *
2173
+ * ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
2174
+ *
2175
+ * 3. Ensure the Group Key List for the Node Information Entry with the given NodeID does not include the
2176
+ * KeySet for the given Group ID. If it does:
2177
+ *
2178
+ * a. Update the status to DeletePending for the entry for the KeySet of the given Group ID in the Node
2179
+ * Group Key List.
2180
+ *
2181
+ * b. Remove the Group Key Entry for this KeySet from the given Node ID.
2182
+ *
2183
+ * i. If this succeeds, remove the KeySet entry for the given Node ID.
2184
+ *
2185
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2186
+ * The error shall be handled in a subsequent Node Refresh.
2187
+ *
2188
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.16
1191
2189
  */
1192
- readonly section1124716: Command<void, void, any>;
2190
+ readonly removeGroupIdFromEndpointForNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2191
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2192
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2193
+ groupId: import("../tlv/TlvObject.js").FieldType<import("../datatype/GroupId.js").GroupId>;
2194
+ }>, void, any>;
1193
2195
  /**
1194
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2196
+ * This command shall be used to add a binding to an endpoint for a node in the Joint Fabric Datastore
2197
+ * Cluster of the accessing fabric.
2198
+ *
2199
+ * Binding represents the binding to be added to the endpoint.
2200
+ *
2201
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
2202
+ * Cluster.
2203
+ *
2204
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
2205
+ * command, the Datastore shall:
2206
+ *
2207
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
2208
+ * return NOT_FOUND.
2209
+ *
2210
+ * 2. Ensure the Binding List for the Node Information Entry with the given NodeID includes the given
2211
+ * Binding. If it does not:
2212
+ *
2213
+ * a. Add the Binding to the Binding List for the Node Information Entry for the given NodeID. The new
2214
+ * entry’s status shall be set to Pending.
2215
+ *
2216
+ * b. Add this Binding to the given Node ID.
2217
+ *
2218
+ * i. If this succeeds, update the new Binding in the Datastore to Committed.
2219
+ *
2220
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2221
+ * The error shall be handled in a subsequent Node Refresh.
2222
+ *
2223
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.17
1195
2224
  */
1196
- readonly section1124717: Command<void, void, any>;
2225
+ readonly addBindingToEndpointForNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2226
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2227
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2228
+ binding: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
2229
+ /**
2230
+ * This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
2231
+ * present.
2232
+ *
2233
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
2234
+ */
2235
+ node: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/NodeId.js").NodeId>;
2236
+ /**
2237
+ * This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
2238
+ * present, this field shall NOT be present.
2239
+ *
2240
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
2241
+ */
2242
+ group: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/GroupId.js").GroupId>;
2243
+ /**
2244
+ * This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
2245
+ * present, this field shall NOT be present.
2246
+ *
2247
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
2248
+ */
2249
+ endpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2250
+ /**
2251
+ * This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
2252
+ * is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
2253
+ * is present, the target shall be this cluster on the target endpoint(s).
2254
+ *
2255
+ * @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
2256
+ */
2257
+ cluster: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/ClusterId.js").ClusterId>;
2258
+ }>>;
2259
+ }>, void, any>;
1197
2260
  /**
1198
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2261
+ * This command shall be used to remove a binding from an endpoint for a node in the Joint Fabric Datastore
2262
+ * Cluster of the accessing fabric.
2263
+ *
2264
+ * ListID represents the unique identifier for the binding entry in the Datastore’s EndpointBindingList
2265
+ * attribute to be removed from the endpoint.
2266
+ *
2267
+ * EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
2268
+ * Cluster.
2269
+ *
2270
+ * NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
2271
+ * command, the Datastore shall:
2272
+ *
2273
+ * 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
2274
+ * return NOT_FOUND.
2275
+ *
2276
+ * 2. Ensure the Binding List for the Node Information Entry with the given NodeID does not include an
2277
+ * entry with the given ListID. If it does:
2278
+ *
2279
+ * a. Update the status to DeletePending for the given Binding in the Binding List.
2280
+ *
2281
+ * b. Remove this Binding from the given Node ID.
2282
+ *
2283
+ * i. If this succeeds, remove the given Binding from the Binding List.
2284
+ *
2285
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2286
+ * The error shall be handled in a subsequent Node Refresh.
2287
+ *
2288
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.18
1199
2289
  */
1200
- readonly section1124718: Command<void, void, any>;
2290
+ readonly removeBindingFromEndpointForNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2291
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
2292
+ endpointId: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
2293
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2294
+ }>, void, any>;
1201
2295
  /**
1202
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2296
+ * This command shall be used to add an ACL to a node in the Joint Fabric Datastore Cluster of the accessing
2297
+ * fabric.
2298
+ *
2299
+ * NodeID represents the unique identifier for the node to which the ACL is to be added. ACLEntry represents
2300
+ * the ACL to be added to the Joint Fabric Datastore Cluster.
2301
+ *
2302
+ * Upon receipt of this command, the Datastore shall:
2303
+ *
2304
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
2305
+ *
2306
+ * 2. Ensure the ACL List for the given NodeID includes the given ACLEntry. If it does not:
2307
+ *
2308
+ * a. Add the ACLEntry to the ACL List for the given NodeID. The new entry’s status shall be set to
2309
+ * Pending.
2310
+ *
2311
+ * b. Add this ACLEntry to the given Node ID.
2312
+ *
2313
+ * i. If this succeeds, update the new ACLEntry in the Datastore to Committed.
2314
+ *
2315
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2316
+ * The error shall be handled in a subsequent Node Refresh.
2317
+ *
2318
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.19
1203
2319
  */
1204
- readonly section1124719: Command<void, void, any>;
2320
+ readonly addAclToNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2321
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2322
+ aclEntry: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
2323
+ privilege: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryPrivilege>;
2324
+ authMode: import("../tlv/TlvObject.js").FieldType<DatastoreAccessControlEntryAuthMode>;
2325
+ subjects: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId[] | null>;
2326
+ targets: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
2327
+ cluster: import("../tlv/TlvObject.js").FieldType<import("../datatype/ClusterId.js").ClusterId | null>;
2328
+ endpoint: import("../tlv/TlvObject.js").FieldType<import("../datatype/EndpointNumber.js").EndpointNumber | null>;
2329
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../datatype/DeviceTypeId.js").DeviceTypeId | null>;
2330
+ }>[] | null>;
2331
+ }>>;
2332
+ }>, void, any>;
1205
2333
  /**
1206
- * @see {@link MatterSpecification.v141.Core} § 11.24.7
2334
+ * This command shall be used to remove an ACL from a node in the Joint Fabric Datastore Cluster of the
2335
+ * accessing fabric.
2336
+ *
2337
+ * ListID represents the unique identifier for the DatastoreACLEntryStruct to be removed from the
2338
+ * Datastore’s list of DatastoreACLEntry.
2339
+ *
2340
+ * NodeID represents the unique identifier for the node from which the ACL is to be removed. Upon receipt of
2341
+ * this command, the Datastore shall:
2342
+ *
2343
+ * 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
2344
+ *
2345
+ * 2. Ensure the ACL List for the given NodeID does not include the given ACLEntry. If it does:
2346
+ *
2347
+ * a. Update the status to DeletePending for the given ACLEntry in the ACL List.
2348
+ *
2349
+ * b. Remove this ACLEntry from the given Node ID.
2350
+ *
2351
+ * i. If this succeeds, remove the given ACLEntry from the Node ACL List.
2352
+ *
2353
+ * ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
2354
+ * The error shall be handled in a subsequent Node Refresh.
2355
+ *
2356
+ * @see {@link MatterSpecification.v141.Core} § 11.24.7.20
1207
2357
  */
1208
- readonly section1124720: Command<void, void, any>;
2358
+ readonly removeAclFromNode: Command<import("../tlv/TlvObject.js").TypeFromFields<{
2359
+ listId: import("../tlv/TlvObject.js").FieldType<number>;
2360
+ nodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
2361
+ }>, void, any>;
1209
2362
  };
1210
2363
  }, []>;
1211
2364
  /**
@@ -1225,6 +2378,8 @@ export declare namespace JointFabricDatastore {
1225
2378
  * The Admin level of access to the Joint Fabric Datastore cluster server shall be limited to JF Administrator Nodes
1226
2379
  * identified using the Administrator CAT.
1227
2380
  *
2381
+ * NOTE Support for Joint Fabric Datastore cluster is provisional.
2382
+ *
1228
2383
  * @see {@link MatterSpecification.v141.Core} § 11.24
1229
2384
  */
1230
2385
  interface Cluster extends Identity<typeof ClusterInstance> {