@matter/protocol 0.14.0 → 0.14.1-alpha.0-20250606-a9bcd03f9

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 (312) hide show
  1. package/dist/cjs/action/server/AccessControl.d.ts +5 -7
  2. package/dist/cjs/action/server/AccessControl.d.ts.map +1 -1
  3. package/dist/cjs/action/server/AccessControl.js.map +1 -1
  4. package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
  5. package/dist/cjs/action/server/AttributeWriteResponse.js +23 -0
  6. package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
  7. package/dist/cjs/action/server/CommandInvokeResponse.d.ts.map +1 -1
  8. package/dist/cjs/action/server/CommandInvokeResponse.js +24 -1
  9. package/dist/cjs/action/server/CommandInvokeResponse.js.map +1 -1
  10. package/dist/cjs/action/server/DataResponse.d.ts +1 -1
  11. package/dist/cjs/action/server/DataResponse.d.ts.map +1 -1
  12. package/dist/cjs/action/server/Subject.d.ts +25 -0
  13. package/dist/cjs/action/server/Subject.d.ts.map +1 -0
  14. package/dist/cjs/action/server/Subject.js +54 -0
  15. package/dist/cjs/action/server/Subject.js.map +6 -0
  16. package/dist/cjs/action/server/index.d.ts +1 -0
  17. package/dist/cjs/action/server/index.d.ts.map +1 -1
  18. package/dist/cjs/action/server/index.js +1 -0
  19. package/dist/cjs/action/server/index.js.map +1 -1
  20. package/dist/cjs/certificate/DeviceCertification.d.ts +2 -2
  21. package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
  22. package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
  23. package/dist/cjs/cluster/client/AttributeClient.d.ts +3 -3
  24. package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -1
  25. package/dist/cjs/cluster/client/AttributeClient.js +14 -2
  26. package/dist/cjs/cluster/client/AttributeClient.js.map +1 -1
  27. package/dist/cjs/cluster/client/ClusterClient.d.ts +3 -2
  28. package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -1
  29. package/dist/cjs/cluster/client/ClusterClient.js +60 -1
  30. package/dist/cjs/cluster/client/ClusterClient.js.map +1 -1
  31. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +33 -8
  32. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  33. package/dist/cjs/cluster/client/EventClient.d.ts +3 -3
  34. package/dist/cjs/cluster/client/EventClient.d.ts.map +1 -1
  35. package/dist/cjs/cluster/client/EventClient.js +7 -0
  36. package/dist/cjs/cluster/client/EventClient.js.map +1 -1
  37. package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
  38. package/dist/cjs/codec/MessageCodec.js +31 -6
  39. package/dist/cjs/codec/MessageCodec.js.map +1 -1
  40. package/dist/cjs/fabric/Fabric.d.ts +20 -30
  41. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  42. package/dist/cjs/fabric/Fabric.js +38 -62
  43. package/dist/cjs/fabric/Fabric.js.map +2 -2
  44. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
  45. package/dist/cjs/fabric/FabricManager.js +10 -4
  46. package/dist/cjs/fabric/FabricManager.js.map +1 -1
  47. package/dist/cjs/groups/FabricGroupsManager.d.ts +46 -0
  48. package/dist/cjs/groups/FabricGroupsManager.d.ts.map +1 -0
  49. package/dist/cjs/groups/FabricGroupsManager.js +155 -0
  50. package/dist/cjs/groups/FabricGroupsManager.js.map +6 -0
  51. package/dist/cjs/groups/Groups.d.ts +34 -0
  52. package/dist/cjs/groups/Groups.d.ts.map +1 -0
  53. package/dist/cjs/groups/Groups.js +89 -0
  54. package/dist/cjs/groups/Groups.js.map +6 -0
  55. package/dist/cjs/groups/KeySets.d.ts +64 -0
  56. package/dist/cjs/groups/KeySets.d.ts.map +1 -0
  57. package/dist/cjs/groups/KeySets.js +179 -0
  58. package/dist/cjs/groups/KeySets.js.map +6 -0
  59. package/dist/cjs/groups/MessagingState.d.ts +24 -0
  60. package/dist/cjs/groups/MessagingState.d.ts.map +1 -0
  61. package/dist/cjs/groups/MessagingState.js +91 -0
  62. package/dist/cjs/groups/MessagingState.js.map +6 -0
  63. package/dist/cjs/groups/index.d.ts +8 -0
  64. package/dist/cjs/groups/index.d.ts.map +1 -0
  65. package/dist/cjs/groups/index.js +25 -0
  66. package/dist/cjs/groups/index.js.map +6 -0
  67. package/dist/cjs/index.d.ts +1 -0
  68. package/dist/cjs/index.d.ts.map +1 -1
  69. package/dist/cjs/index.js +1 -0
  70. package/dist/cjs/index.js.map +1 -1
  71. package/dist/cjs/interaction/AccessControlManager.d.ts +4 -13
  72. package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -1
  73. package/dist/cjs/interaction/AccessControlManager.js +38 -47
  74. package/dist/cjs/interaction/AccessControlManager.js.map +1 -1
  75. package/dist/cjs/interaction/InteractionClient.d.ts +5 -4
  76. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  77. package/dist/cjs/interaction/InteractionClient.js +53 -3
  78. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  79. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  80. package/dist/cjs/interaction/InteractionMessenger.js +15 -0
  81. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  82. package/dist/cjs/interaction/Subscription.d.ts +3 -3
  83. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  84. package/dist/cjs/interaction/Subscription.js.map +1 -1
  85. package/dist/cjs/peer/PeerAddress.d.ts +1 -0
  86. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  87. package/dist/cjs/peer/PeerAddress.js +5 -0
  88. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  89. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  90. package/dist/cjs/peer/PeerSet.js +31 -2
  91. package/dist/cjs/peer/PeerSet.js.map +1 -1
  92. package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -1
  93. package/dist/cjs/protocol/ChannelManager.js +7 -8
  94. package/dist/cjs/protocol/ChannelManager.js.map +1 -1
  95. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  96. package/dist/cjs/protocol/ExchangeManager.js +39 -25
  97. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  98. package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
  99. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  100. package/dist/cjs/protocol/MessageExchange.js +32 -4
  101. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  102. package/dist/cjs/protocol/MessageReceptionState.d.ts +1 -1
  103. package/dist/cjs/securechannel/SecureChannelProtocol.js +1 -1
  104. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  105. package/dist/cjs/session/GroupSession.d.ts +56 -0
  106. package/dist/cjs/session/GroupSession.d.ts.map +1 -0
  107. package/dist/cjs/session/GroupSession.js +188 -0
  108. package/dist/cjs/session/GroupSession.js.map +6 -0
  109. package/dist/cjs/session/InsecureSession.d.ts +2 -1
  110. package/dist/cjs/session/InsecureSession.d.ts.map +1 -1
  111. package/dist/cjs/session/InsecureSession.js +3 -2
  112. package/dist/cjs/session/InsecureSession.js.map +1 -1
  113. package/dist/cjs/session/NodeSession.d.ts +88 -0
  114. package/dist/cjs/session/NodeSession.d.ts.map +1 -0
  115. package/dist/cjs/session/NodeSession.js +318 -0
  116. package/dist/cjs/session/NodeSession.js.map +6 -0
  117. package/dist/cjs/session/SecureSession.d.ts +10 -75
  118. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  119. package/dist/cjs/session/SecureSession.js +9 -280
  120. package/dist/cjs/session/SecureSession.js.map +2 -2
  121. package/dist/cjs/session/Session.d.ts +6 -5
  122. package/dist/cjs/session/Session.d.ts.map +1 -1
  123. package/dist/cjs/session/Session.js +11 -1
  124. package/dist/cjs/session/Session.js.map +1 -1
  125. package/dist/cjs/session/SessionManager.d.ts +27 -9
  126. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  127. package/dist/cjs/session/SessionManager.js +83 -5
  128. package/dist/cjs/session/SessionManager.js.map +2 -2
  129. package/dist/cjs/session/case/CaseClient.d.ts +1 -1
  130. package/dist/cjs/session/case/CaseClient.js +2 -2
  131. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  132. package/dist/cjs/session/index.d.ts +2 -0
  133. package/dist/cjs/session/index.d.ts.map +1 -1
  134. package/dist/cjs/session/index.js +2 -0
  135. package/dist/cjs/session/index.js.map +1 -1
  136. package/dist/cjs/session/pase/PaseClient.d.ts +1 -1
  137. package/dist/esm/action/server/AccessControl.d.ts +5 -7
  138. package/dist/esm/action/server/AccessControl.d.ts.map +1 -1
  139. package/dist/esm/action/server/AccessControl.js.map +1 -1
  140. package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
  141. package/dist/esm/action/server/AttributeWriteResponse.js +23 -0
  142. package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
  143. package/dist/esm/action/server/CommandInvokeResponse.d.ts.map +1 -1
  144. package/dist/esm/action/server/CommandInvokeResponse.js +24 -1
  145. package/dist/esm/action/server/CommandInvokeResponse.js.map +1 -1
  146. package/dist/esm/action/server/DataResponse.d.ts +1 -1
  147. package/dist/esm/action/server/DataResponse.d.ts.map +1 -1
  148. package/dist/esm/action/server/Subject.d.ts +25 -0
  149. package/dist/esm/action/server/Subject.d.ts.map +1 -0
  150. package/dist/esm/action/server/Subject.js +34 -0
  151. package/dist/esm/action/server/Subject.js.map +6 -0
  152. package/dist/esm/action/server/index.d.ts +1 -0
  153. package/dist/esm/action/server/index.d.ts.map +1 -1
  154. package/dist/esm/action/server/index.js +1 -0
  155. package/dist/esm/action/server/index.js.map +1 -1
  156. package/dist/esm/certificate/DeviceCertification.d.ts +2 -2
  157. package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
  158. package/dist/esm/certificate/DeviceCertification.js.map +1 -1
  159. package/dist/esm/cluster/client/AttributeClient.d.ts +3 -3
  160. package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -1
  161. package/dist/esm/cluster/client/AttributeClient.js +13 -1
  162. package/dist/esm/cluster/client/AttributeClient.js.map +1 -1
  163. package/dist/esm/cluster/client/ClusterClient.d.ts +3 -2
  164. package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -1
  165. package/dist/esm/cluster/client/ClusterClient.js +61 -2
  166. package/dist/esm/cluster/client/ClusterClient.js.map +1 -1
  167. package/dist/esm/cluster/client/ClusterClientTypes.d.ts +33 -8
  168. package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  169. package/dist/esm/cluster/client/EventClient.d.ts +3 -3
  170. package/dist/esm/cluster/client/EventClient.d.ts.map +1 -1
  171. package/dist/esm/cluster/client/EventClient.js +7 -0
  172. package/dist/esm/cluster/client/EventClient.js.map +1 -1
  173. package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
  174. package/dist/esm/codec/MessageCodec.js +41 -7
  175. package/dist/esm/codec/MessageCodec.js.map +1 -1
  176. package/dist/esm/fabric/Fabric.d.ts +20 -30
  177. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  178. package/dist/esm/fabric/Fabric.js +38 -62
  179. package/dist/esm/fabric/Fabric.js.map +2 -2
  180. package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
  181. package/dist/esm/fabric/FabricManager.js +10 -4
  182. package/dist/esm/fabric/FabricManager.js.map +1 -1
  183. package/dist/esm/groups/FabricGroupsManager.d.ts +46 -0
  184. package/dist/esm/groups/FabricGroupsManager.d.ts.map +1 -0
  185. package/dist/esm/groups/FabricGroupsManager.js +135 -0
  186. package/dist/esm/groups/FabricGroupsManager.js.map +6 -0
  187. package/dist/esm/groups/Groups.d.ts +34 -0
  188. package/dist/esm/groups/Groups.d.ts.map +1 -0
  189. package/dist/esm/groups/Groups.js +69 -0
  190. package/dist/esm/groups/Groups.js.map +6 -0
  191. package/dist/esm/groups/KeySets.d.ts +64 -0
  192. package/dist/esm/groups/KeySets.d.ts.map +1 -0
  193. package/dist/esm/groups/KeySets.js +159 -0
  194. package/dist/esm/groups/KeySets.js.map +6 -0
  195. package/dist/esm/groups/MessagingState.d.ts +24 -0
  196. package/dist/esm/groups/MessagingState.d.ts.map +1 -0
  197. package/dist/esm/groups/MessagingState.js +71 -0
  198. package/dist/esm/groups/MessagingState.js.map +6 -0
  199. package/dist/esm/groups/index.d.ts +8 -0
  200. package/dist/esm/groups/index.d.ts.map +1 -0
  201. package/dist/esm/groups/index.js +8 -0
  202. package/dist/esm/groups/index.js.map +6 -0
  203. package/dist/esm/index.d.ts +1 -0
  204. package/dist/esm/index.d.ts.map +1 -1
  205. package/dist/esm/index.js +1 -0
  206. package/dist/esm/index.js.map +1 -1
  207. package/dist/esm/interaction/AccessControlManager.d.ts +4 -13
  208. package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -1
  209. package/dist/esm/interaction/AccessControlManager.js +39 -48
  210. package/dist/esm/interaction/AccessControlManager.js.map +1 -1
  211. package/dist/esm/interaction/InteractionClient.d.ts +5 -4
  212. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  213. package/dist/esm/interaction/InteractionClient.js +54 -4
  214. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  215. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  216. package/dist/esm/interaction/InteractionMessenger.js +15 -0
  217. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  218. package/dist/esm/interaction/Subscription.d.ts +3 -3
  219. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  220. package/dist/esm/interaction/Subscription.js.map +1 -1
  221. package/dist/esm/peer/PeerAddress.d.ts +1 -0
  222. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  223. package/dist/esm/peer/PeerAddress.js +5 -0
  224. package/dist/esm/peer/PeerAddress.js.map +1 -1
  225. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  226. package/dist/esm/peer/PeerSet.js +33 -3
  227. package/dist/esm/peer/PeerSet.js.map +1 -1
  228. package/dist/esm/protocol/ChannelManager.d.ts.map +1 -1
  229. package/dist/esm/protocol/ChannelManager.js +7 -8
  230. package/dist/esm/protocol/ChannelManager.js.map +1 -1
  231. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  232. package/dist/esm/protocol/ExchangeManager.js +41 -27
  233. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  234. package/dist/esm/protocol/MessageExchange.d.ts +1 -1
  235. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  236. package/dist/esm/protocol/MessageExchange.js +39 -5
  237. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  238. package/dist/esm/protocol/MessageReceptionState.d.ts +1 -1
  239. package/dist/esm/securechannel/SecureChannelProtocol.js +2 -2
  240. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  241. package/dist/esm/session/GroupSession.d.ts +56 -0
  242. package/dist/esm/session/GroupSession.d.ts.map +1 -0
  243. package/dist/esm/session/GroupSession.js +177 -0
  244. package/dist/esm/session/GroupSession.js.map +6 -0
  245. package/dist/esm/session/InsecureSession.d.ts +2 -1
  246. package/dist/esm/session/InsecureSession.d.ts.map +1 -1
  247. package/dist/esm/session/InsecureSession.js +3 -2
  248. package/dist/esm/session/InsecureSession.js.map +1 -1
  249. package/dist/esm/session/NodeSession.d.ts +88 -0
  250. package/dist/esm/session/NodeSession.d.ts.map +1 -0
  251. package/dist/esm/session/NodeSession.js +298 -0
  252. package/dist/esm/session/NodeSession.js.map +6 -0
  253. package/dist/esm/session/SecureSession.d.ts +10 -75
  254. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  255. package/dist/esm/session/SecureSession.js +10 -291
  256. package/dist/esm/session/SecureSession.js.map +2 -2
  257. package/dist/esm/session/Session.d.ts +6 -5
  258. package/dist/esm/session/Session.d.ts.map +1 -1
  259. package/dist/esm/session/Session.js +12 -2
  260. package/dist/esm/session/Session.js.map +1 -1
  261. package/dist/esm/session/SessionManager.d.ts +27 -9
  262. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  263. package/dist/esm/session/SessionManager.js +84 -6
  264. package/dist/esm/session/SessionManager.js.map +1 -1
  265. package/dist/esm/session/case/CaseClient.d.ts +1 -1
  266. package/dist/esm/session/case/CaseClient.js +2 -2
  267. package/dist/esm/session/case/CaseClient.js.map +1 -1
  268. package/dist/esm/session/index.d.ts +2 -0
  269. package/dist/esm/session/index.d.ts.map +1 -1
  270. package/dist/esm/session/index.js +2 -0
  271. package/dist/esm/session/index.js.map +1 -1
  272. package/dist/esm/session/pase/PaseClient.d.ts +1 -1
  273. package/package.json +6 -6
  274. package/src/action/server/AccessControl.ts +4 -7
  275. package/src/action/server/AttributeWriteResponse.ts +29 -7
  276. package/src/action/server/CommandInvokeResponse.ts +28 -7
  277. package/src/action/server/DataResponse.ts +1 -1
  278. package/src/action/server/Subject.ts +45 -0
  279. package/src/action/server/index.ts +1 -0
  280. package/src/certificate/DeviceCertification.ts +2 -2
  281. package/src/cluster/client/AttributeClient.ts +15 -3
  282. package/src/cluster/client/ClusterClient.ts +90 -4
  283. package/src/cluster/client/ClusterClientTypes.ts +38 -9
  284. package/src/cluster/client/EventClient.ts +9 -2
  285. package/src/codec/MessageCodec.ts +49 -8
  286. package/src/fabric/Fabric.ts +51 -85
  287. package/src/fabric/FabricManager.ts +11 -4
  288. package/src/groups/FabricGroupsManager.ts +164 -0
  289. package/src/groups/Groups.ts +81 -0
  290. package/src/groups/KeySets.ts +194 -0
  291. package/src/groups/MessagingState.ts +76 -0
  292. package/src/groups/index.ts +8 -0
  293. package/src/index.ts +1 -0
  294. package/src/interaction/AccessControlManager.ts +49 -81
  295. package/src/interaction/InteractionClient.ts +66 -6
  296. package/src/interaction/InteractionMessenger.ts +15 -0
  297. package/src/interaction/Subscription.ts +3 -3
  298. package/src/peer/PeerAddress.ts +4 -0
  299. package/src/peer/PeerSet.ts +39 -4
  300. package/src/protocol/ChannelManager.ts +7 -9
  301. package/src/protocol/ExchangeManager.ts +51 -35
  302. package/src/protocol/MessageExchange.ts +42 -7
  303. package/src/protocol/MessageReceptionState.ts +2 -2
  304. package/src/securechannel/SecureChannelProtocol.ts +2 -2
  305. package/src/session/GroupSession.ts +223 -0
  306. package/src/session/InsecureSession.ts +3 -2
  307. package/src/session/NodeSession.ts +367 -0
  308. package/src/session/SecureSession.ts +14 -363
  309. package/src/session/Session.ts +17 -6
  310. package/src/session/SessionManager.ts +94 -14
  311. package/src/session/case/CaseClient.ts +2 -2
  312. package/src/session/index.ts +2 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/MessageCodec.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,YAAY,YAAY,YAAY,QAAQ,qBAAqB,2BAA2B;AAE5G,SAAS,SAAS,yBAAyB,QAAQ,4BAA4B,yBAAyB;AACxG,SAAS,mBAAmB;AAgD5B,MAAM,iBAAiB;AAEhB,IAAK,cAAL,kBAAKA,iBAAL;AACH,EAAAA,0BAAA,WAAQ,KAAR;AACA,EAAAA,0BAAA,aAAU,KAAV;AAFQ,SAAAA;AAAA,GAAA;AAKZ,MAAM,mBAAmB;AAEzB,IAAW,mBAAX,kBAAWC,sBAAX;AACI,EAAAA,oCAAA,mBAAgB,KAAhB;AACA,EAAAA,oCAAA,oBAAiB,KAAjB;AACA,EAAAA,oCAAA,qBAAkB,KAAlB;AACA,EAAAA,oCAAA,cAAW,KAAX;AACA,EAAAA,oCAAA,iBAAc,OAAd;AALO,SAAAA;AAAA,GAAA;AAQX,IAAW,oBAAX,kBAAWC,uBAAX;AACI,EAAAA,sCAAA,wBAAqB,KAArB;AACA,EAAAA,sCAAA,kBAAe,KAAf;AACA,EAAAA,sCAAA,iBAAc,KAAd;AACA,EAAAA,sCAAA,wBAAqB,KAArB;AACA,EAAAA,sCAAA,iBAAc,MAAd;AALO,SAAAA;AAAA,GAAA;AAQX,IAAW,eAAX,kBAAWC,kBAAX;AACI,EAAAA,4BAAA,4BAAyB,OAAzB;AACA,EAAAA,4BAAA,sBAAmB,MAAnB;AACA,EAAAA,4BAAA,yBAAsB,MAAtB;AAHO,SAAAA;AAAA,GAAA;AAMX,SAAS,0BAA0B,YAAoB,aAAqD;AACxG,QAAM,aAAa,WAAW,IAAI,WAAW;AAC7C,QAAM,OAAO,GAAG,WAAW,IAAI,UAAU,CAAC,IAAI,UAAU;AACxD,UAAQ,YAAY;AAAA,IAChB,KAAK,4BAA4B;AAC7B,aAAO,EAAE,MAAM,KAAK,MAAM,kBAAkB,WAAW,KAAK,UAAU,GAAG;AAAA,IAC7E;AAAA,IACA,KAAK,yBAAyB;AAC1B,aAAO,EAAE,MAAM,KAAK,KAAK,YAAY,WAAW,KAAK,UAAU,GAAG;AAAA,IACtE;AAAA;AAAA,IAEA;AACI,aAAO,EAAE,KAAK;AAAA,EACtB;AACJ;AAEO,MAAM,aAAa;AAAA,EACtB,OAAO,aAAa,MAAiC;AACjD,UAAM,SAAS,IAAI,WAAW,MAAM,OAAO,MAAM;AACjD,UAAM,SAAS,KAAK,mBAAmB,MAAM;AAE7C,QAAI,mBAA2C;AAC/C,QAAI,OAAO,sBAAsB;AAC7B,YAAM,kBAAkB,OAAO,WAAW;AAC1C,yBAAmB,OAAO,cAAc,eAAe;AAAA,IAC3D;AAEA,UAAM,qBAAqB,OAAO;AAClC,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAO,cAAc,EAAE,QAAQ,mBAAmB,GAAkC;AAChF,UAAM,SAAS,IAAI,WAAW,oBAAoB,OAAO,MAAM;AAC/D,UAAM,gBAAgB,KAAK,oBAAoB,MAAM;AACrD,QAAI,oBAA4C;AAChD,QAAI,cAAc,qBAAqB;AACnC,YAAM,kBAAkB,OAAO,WAAW;AAC1C,0BAAoB,OAAO,cAAc,eAAe;AAAA,IAC5D;AACA,WAAO;AAAA,MACH,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA,SAAS,OAAO;AAAA,IACpB;AAAA,EACJ;AAAA,EAEA,OAAO,cAAc,EAAE,cAAc,eAAe,SAAS,kBAAkB,GAAoB;AAC/F,QAAI,sBAAsB,UAAa,cAAc,qBAAqB;AACtE,YAAM,IAAI,oBAAoB,4DAA4D;AAAA,IAC9F;AAEA,WAAO;AAAA,MACH,QAAQ;AAAA,MACR,oBAAoB,MAAM,OAAO,KAAK,oBAAoB,aAAa,GAAG,OAAO;AAAA,IACrF;AAAA,EACJ;AAAA,EAEA,OAAO,aAAa,EAAE,QAAQ,oBAAoB,iBAAiB,GAAuB;AACtF,QAAI,qBAAqB,UAAa,OAAO,sBAAsB;AAC/D,YAAM,IAAI,oBAAoB,0DAA0D;AAAA,IAC5F;AACA,WAAO,MAAM,OAAO,KAAK,mBAAmB,MAAM,GAAG,kBAAkB;AAAA,EAC3E;AAAA,EAEA,OAAe,mBAAmB,QAAwD;AAEtF,UAAM,QAAQ,OAAO,UAAU;AAC/B,UAAM,WAAW,QAAQ,0BAAiC;AAC1D,UAAM,iBAAiB,QAAQ,2BAAoC;AACnE,UAAM,kBAAkB,QAAQ,4BAAqC;AACrE,UAAM,mBAAmB,QAAQ,6BAAsC;AAEvE,QAAI,iBAAiB;AACjB,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AACJ,QAAI,YAAY,eAAgB,OAAM,IAAI,oBAAoB,8BAA8B,OAAO,GAAG;AAEtG,UAAM,YAAY,OAAO,WAAW;AACpC,UAAM,gBAAgB,OAAO,UAAU;AACvC,UAAM,YAAY,OAAO,WAAW;AACpC,UAAM,eAAe,kBAAkB,OAAO,OAAO,WAAW,CAAC,IAAI;AACrE,UAAM,aAAa,gBAAgB,OAAO,OAAO,WAAW,CAAC,IAAI;AACjE,UAAM,cAAc,iBAAiB,QAAQ,OAAO,WAAW,CAAC,IAAI;AAEpE,UAAM,cAAc,gBAAgB;AACpC,QAAI,gBAAgB,iBAAqB,gBAAgB;AACrD,YAAM,IAAI,oBAAoB,4BAA4B,WAAW,EAAE;AAC3E,UAAM,0BAA0B,gBAAgB,sCAAyC;AACzF,QAAI,uBAAwB,OAAM,IAAI,oBAAoB,oCAAoC;AAC9F,UAAM,oBAAoB,gBAAgB,+BAAmC;AAC7E,QAAI,iBAAkB,OAAM,IAAI,oBAAoB,gCAAgC;AACpF,UAAM,wBAAwB,gBAAgB,kCAAsC;AAEpF,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAe,oBAAoB,QAAkD;AACjF,UAAM,gBAAgB,OAAO,UAAU;AACvC,UAAM,sBAAsB,gBAAgB,gCAA0C;AACtF,UAAM,gBAAgB,gBAAgB,0BAAoC;AAC1E,UAAM,eAAe,gBAAgB,yBAAmC;AACxE,UAAM,uBAAuB,gBAAgB,gCAA0C;AACvF,UAAM,eAAe,gBAAgB,0BAAmC;AAExE,UAAM,cAAc,OAAO,UAAU;AACrC,UAAM,aAAa,OAAO,WAAW;AACrC,UAAM,WAAW,cAAc,OAAO,WAAW,IAAI;AACrD,UAAM,aAAc,YAAY,KAAM,OAAO,WAAW;AACxD,UAAM,iBAAiB,eAAe,OAAO,WAAW,IAAI;AAE5D,WAAO;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAO,mBAAmB;AAAA,IACtB,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAAiB;AACb,UAAM,SAAS,IAAI,WAAW,OAAO,MAAM;AAC3C,UAAM,QACD,kBAAkB,KAClB,gBAAgB,SAAY,yBAAkC,MAC9D,eAAe,SAAY,wBAAiC,MAC5D,iBAAiB,SAAY,0BAAmC;AACrE,UAAM,gBAAgB;AAEtB,WAAO,WAAW,KAAK;AACvB,WAAO,YAAY,SAAS;AAC5B,WAAO,WAAW,aAAa;AAC/B,WAAO,YAAY,cAAc;AACjC,QAAI,iBAAiB,OAAW,QAAO,YAAY,YAAY;AAC/D,QAAI,eAAe,OAAW,QAAO,YAAY,UAAU;AAC3D,QAAI,gBAAgB,OAAW,QAAO,YAAY,WAAW;AAC7D,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA,EAEA,OAAO,mBACH;AAAA,IACI,cAAc,EAAE,WAAW,UAAU;AAAA,IACrC,eAAe,EAAE,YAAY,aAAa,YAAY,gBAAgB,YAAY;AAAA,IAClF;AAAA,EACJ,GACA,YACF;AACE,UAAM,YAAY,CAAC,CAAC,YAAY;AAChC,UAAM,UAAU,YAAY;AAC5B,UAAM,MAAM,EAAE,GAAG,WAAW;AAC5B,WAAO,IAAI;AACX,WAAO,IAAI;AACX,UAAM,EAAE,MAAM,KAAK,QAAQ,IAAI,0BAA0B,YAAY,WAAW;AAChF,WAAO,WAAW;AAAA,MACd;AAAA,QACI,KAAK,WAAW;AAAA,QAChB,GAAG;AAAA,QACH,OAAO,GAAG,SAAS,IAAI,UAAU,IAAI,SAAS;AAAA,QAC9C;AAAA,QACA,OAAO;AAAA,QACP,UAAU,WAAW,QAAQ;AAAA,UACzB,QAAQ;AAAA,UACR,KAAK;AAAA,QACT,CAAC;AAAA,QACD,MAAM,QAAQ,SAAS,QAAQ,SAAS;AAAA,QACxC,SAAS,QAAQ,SAAS,UAAU;AAAA,MACxC;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAe,oBAAoB;AAAA,IAC/B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,EACpB,GAAkB;AACd,UAAM,SAAS,IAAI,WAAW,OAAO,MAAM;AAC3C,UAAM,YAAY,aAAa,eAAe;AAC9C,UAAM,SACD,qBAAqB,6BAAuC,MAC5D,wBAAwB,SAAY,uBAAiC,MACrE,cAAc,sBAAgC,MAC9C,aAAa,mBAAmB,uBAAgC;AAErE,WAAO,WAAW,KAAK;AACvB,WAAO,WAAW,WAAW;AAC7B,WAAO,YAAY,UAAU;AAC7B,QAAI,aAAa,kBAAkB;AAC/B,aAAO,YAAY,UAAU;AAAA,IACjC,OAAO;AACH,aAAO,YAAY,UAAU;AAAA,IACjC;AACA,QAAI,wBAAwB,OAAW,QAAO,YAAY,mBAAmB;AAC7E,WAAO,OAAO,YAAY;AAAA,EAC9B;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["SessionType", "PacketHeaderFlag", "PayloadHeaderFlag", "SecurityFlag"]
6
6
  }
@@ -3,11 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { GroupKeyManagement } from "#clusters/group-key-management";
7
- import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey } from "#general";
6
+ import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey, StorageContext } from "#general";
7
+ import { FabricGroupsManager } from "#groups/FabricGroupsManager.js";
8
8
  import { PeerAddress } from "#peer/PeerAddress.js";
9
- import { FabricId, FabricIndex, NodeId, VendorId } from "#types";
10
- import { SecureSession } from "../session/SecureSession.js";
9
+ import { Session } from "#session/Session.js";
10
+ import { FabricId, FabricIndex, GroupId, NodeId, VendorId } from "#types";
11
11
  export declare class PublicKeyError extends MatterError {
12
12
  }
13
13
  export type ExposedFabricInformation = {
@@ -36,44 +36,34 @@ export declare class Fabric {
36
36
  get config(): Fabric.Config;
37
37
  get label(): string;
38
38
  setLabel(label: string): Promise<void>;
39
+ set storage(storage: StorageContext);
40
+ get storage(): StorageContext | undefined;
41
+ get groups(): FabricGroupsManager;
39
42
  get publicKey(): Uint8Array<ArrayBufferLike>;
40
43
  sign(data: Uint8Array): MaybePromise<Uint8Array<ArrayBufferLike>>;
41
44
  verifyCredentials(operationalCert: Uint8Array, intermediateCACert?: Uint8Array): Promise<void>;
42
45
  matchesFabricIdAndRootPublicKey(fabricId: FabricId, rootPublicKey: Uint8Array): boolean;
43
46
  matchesKeyPair(keyPair: Key): boolean;
44
- getDestinationId(nodeId: NodeId, random: Uint8Array): MaybePromise<Uint8Array<ArrayBufferLike>>;
45
- addSession(session: SecureSession): void;
46
- removeSession(session: SecureSession): void;
47
+ /**
48
+ * Returns the destination IDs for a given nodeId, random value and optional groupId.
49
+ * When groupId is provided, it returns the time-wise valid operational keys for that groupId.
50
+ */
51
+ currentDestinationIdFor(nodeId: NodeId, random: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
52
+ /**
53
+ * Returns the destination IDs for a given nodeId, random value and optional groupId.
54
+ * When groupId is provided, it returns all operational keys for that groupId.
55
+ */
56
+ destinationIdsFor(nodeId: NodeId, random: Uint8Array): Promise<Uint8Array<ArrayBufferLike>[]>;
57
+ addSession(session: Session): void;
58
+ removeSession(session: Session): void;
47
59
  addRemoveCallback(callback: () => MaybePromise<void>): void;
48
60
  deleteRemoveCallback(callback: () => MaybePromise<void>): void;
49
61
  set persistCallback(callback: (isUpdate?: boolean) => MaybePromise<void>);
50
62
  remove(currentSessionId?: number): Promise<void>;
51
63
  persist(isUpdate?: boolean): MaybePromise<void> | undefined;
52
- getGroupKeySet(groupKeySetId: number): import("#types").TypeFromFields<{
53
- groupKeySetId: import("#types").FieldType<number>;
54
- groupKeySecurityPolicy: import("#types").FieldType<GroupKeyManagement.GroupKeySecurityPolicy>;
55
- epochKey0: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
56
- epochStartTime0: import("#types").FieldType<number | bigint | null>;
57
- epochKey1: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
58
- epochStartTime1: import("#types").FieldType<number | bigint | null>;
59
- epochKey2: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
60
- epochStartTime2: import("#types").FieldType<number | bigint | null>;
61
- groupKeyMulticastPolicy: import("#types").OptionalFieldType<GroupKeyManagement.GroupKeyMulticastPolicy>;
62
- }> | undefined;
63
- private getGroupSetForIpk;
64
- getAllGroupKeySets(): import("#types").TypeFromFields<{
65
- groupKeySetId: import("#types").FieldType<number>;
66
- groupKeySecurityPolicy: import("#types").FieldType<GroupKeyManagement.GroupKeySecurityPolicy>;
67
- epochKey0: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
68
- epochStartTime0: import("#types").FieldType<number | bigint | null>;
69
- epochKey1: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
70
- epochStartTime1: import("#types").FieldType<number | bigint | null>;
71
- epochKey2: import("#types").FieldType<Uint8Array<ArrayBufferLike> | null>;
72
- epochStartTime2: import("#types").FieldType<number | bigint | null>;
73
- groupKeyMulticastPolicy: import("#types").OptionalFieldType<GroupKeyManagement.GroupKeyMulticastPolicy>;
74
- }>[];
75
64
  get externalInformation(): ExposedFabricInformation;
76
65
  addressOf(nodeId: NodeId): PeerAddress;
66
+ groupAddressOf(groupId: GroupId): PeerAddress;
77
67
  }
78
68
  export declare class FabricBuilder {
79
69
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ import {
9
9
  TlvOperationalCertificate,
10
10
  TlvRootCertificate
11
11
  } from "#certificate/CertificateManager.js";
12
- import { GroupKeyManagement } from "#clusters/group-key-management";
13
12
  import {
14
13
  Bytes,
15
14
  Crypto,
@@ -22,40 +21,13 @@ import {
22
21
  MatterFlowError,
23
22
  PrivateKey
24
23
  } from "#general";
24
+ import { FabricGroupsManager, GROUP_SECURITY_INFO } from "#groups/FabricGroupsManager.js";
25
25
  import { PeerAddress } from "#peer/PeerAddress.js";
26
- import { CaseAuthenticatedTag, FabricId } from "#types";
26
+ import { CaseAuthenticatedTag, FabricId, GroupId, NodeId } from "#types";
27
27
  const logger = Logger.get("Fabric");
28
28
  const COMPRESSED_FABRIC_ID_INFO = Bytes.fromString("CompressedFabric");
29
- const GROUP_SECURITY_INFO = Bytes.fromString("GroupKey v1.0");
30
29
  class PublicKeyError extends MatterError {
31
30
  }
32
- var OperationalGroupKeySet;
33
- ((OperationalGroupKeySet2) => {
34
- OperationalGroupKeySet2.asTlvGroupSet = (operationalGroupSet) => {
35
- const {
36
- groupKeySetId,
37
- epochKey0,
38
- epochStartTime0,
39
- epochKey1,
40
- epochStartTime1,
41
- epochKey2,
42
- epochStartTime2,
43
- groupKeySecurityPolicy,
44
- groupKeyMulticastPolicy
45
- } = operationalGroupSet;
46
- return {
47
- groupKeySetId,
48
- epochKey0,
49
- epochStartTime0,
50
- epochKey1,
51
- epochStartTime1,
52
- epochKey2,
53
- epochStartTime2,
54
- groupKeySecurityPolicy,
55
- groupKeyMulticastPolicy
56
- };
57
- };
58
- })(OperationalGroupKeySet || (OperationalGroupKeySet = {}));
59
31
  class Fabric {
60
32
  fabricIndex;
61
33
  fabricId;
@@ -71,9 +43,11 @@ class Fabric {
71
43
  operationalCert;
72
44
  #keyPair;
73
45
  #sessions = /* @__PURE__ */ new Set();
46
+ #groupManager;
74
47
  #label;
75
48
  #removeCallbacks = new Array();
76
49
  #persistCallback;
50
+ #storage;
77
51
  constructor(config) {
78
52
  this.fabricIndex = config.fabricIndex;
79
53
  this.fabricId = config.fabricId;
@@ -89,6 +63,7 @@ class Fabric {
89
63
  this.operationalCert = config.operationalCert;
90
64
  this.#label = config.label;
91
65
  this.#keyPair = PrivateKey(config.keyPair);
66
+ this.#groupManager = new FabricGroupsManager(this);
92
67
  }
93
68
  get config() {
94
69
  return {
@@ -121,6 +96,16 @@ class Fabric {
121
96
  this.#label = label;
122
97
  await this.persist();
123
98
  }
99
+ set storage(storage) {
100
+ this.#storage = storage;
101
+ this.#groupManager.storage = storage;
102
+ }
103
+ get storage() {
104
+ return this.#storage;
105
+ }
106
+ get groups() {
107
+ return this.#groupManager;
108
+ }
124
109
  get publicKey() {
125
110
  return this.#keyPair.publicKey;
126
111
  }
@@ -142,13 +127,29 @@ class Fabric {
142
127
  matchesKeyPair(keyPair) {
143
128
  return Bytes.areEqual(this.#keyPair.publicKey, keyPair.publicKey) && Bytes.areEqual(this.#keyPair.privateKey, keyPair.privateKey);
144
129
  }
145
- getDestinationId(nodeId, random) {
130
+ #generateSalt(nodeId, random) {
146
131
  const writer = new DataWriter(Endian.Little);
147
132
  writer.writeByteArray(random);
148
133
  writer.writeByteArray(this.rootPublicKey);
149
134
  writer.writeUInt64(this.fabricId);
150
135
  writer.writeUInt64(nodeId);
151
- return Crypto.hmac(this.operationalIdentityProtectionKey, writer.toByteArray());
136
+ return writer.toByteArray();
137
+ }
138
+ /**
139
+ * Returns the destination IDs for a given nodeId, random value and optional groupId.
140
+ * When groupId is provided, it returns the time-wise valid operational keys for that groupId.
141
+ */
142
+ async currentDestinationIdFor(nodeId, random) {
143
+ return await Crypto.hmac(this.groups.keySets.currentKeyForId(0).key, this.#generateSalt(nodeId, random));
144
+ }
145
+ /**
146
+ * Returns the destination IDs for a given nodeId, random value and optional groupId.
147
+ * When groupId is provided, it returns all operational keys for that groupId.
148
+ */
149
+ async destinationIdsFor(nodeId, random) {
150
+ const salt = this.#generateSalt(nodeId, random);
151
+ const destinationIds = this.groups.keySets.allKeysForId(0).map(({ key }) => Crypto.hmac(key, salt));
152
+ return await Promise.all(destinationIds);
152
153
  }
153
154
  addSession(session) {
154
155
  this.#sessions.add(session);
@@ -179,35 +180,6 @@ class Fabric {
179
180
  persist(isUpdate = true) {
180
181
  return this.#persistCallback?.(isUpdate);
181
182
  }
182
- getGroupKeySet(groupKeySetId) {
183
- if (groupKeySetId === 0) {
184
- return OperationalGroupKeySet.asTlvGroupSet(this.getGroupSetForIpk());
185
- }
186
- return void 0;
187
- }
188
- getGroupSetForIpk() {
189
- return {
190
- groupKeySetId: 0,
191
- epochKey0: this.identityProtectionKey,
192
- operationalEpochKey0: this.operationalIdentityProtectionKey,
193
- epochStartTime0: 0,
194
- // or do we need to track Fabric creation date?
195
- groupSessionId0: null,
196
- epochKey1: null,
197
- operationalEpochKey1: null,
198
- epochStartTime1: null,
199
- groupSessionId1: null,
200
- epochKey2: null,
201
- operationalEpochKey2: null,
202
- epochStartTime2: null,
203
- groupSessionId2: null,
204
- groupKeySecurityPolicy: GroupKeyManagement.GroupKeySecurityPolicy.TrustFirst,
205
- groupKeyMulticastPolicy: GroupKeyManagement.GroupKeyMulticastPolicy.PerGroupId
206
- };
207
- }
208
- getAllGroupKeySets() {
209
- return [OperationalGroupKeySet.asTlvGroupSet(this.getGroupSetForIpk())];
210
- }
211
183
  get externalInformation() {
212
184
  return {
213
185
  fabricIndex: this.fabricIndex,
@@ -221,6 +193,10 @@ class Fabric {
221
193
  addressOf(nodeId) {
222
194
  return PeerAddress({ fabricIndex: this.fabricIndex, nodeId });
223
195
  }
196
+ groupAddressOf(groupId) {
197
+ GroupId.assertGroupId(groupId);
198
+ return PeerAddress({ fabricIndex: this.fabricIndex, nodeId: NodeId.fromGroupId(groupId) });
199
+ }
224
200
  }
225
201
  class FabricBuilder {
226
202
  #keyPair;
@@ -345,7 +321,7 @@ class FabricBuilder {
345
321
  if (this.#operationalCert === void 0 || this.#fabricId === void 0 || this.#nodeId === void 0)
346
322
  throw new InternalError("operationalCert needs to be set");
347
323
  this.#fabricIndex = fabricIndex;
348
- const saltWriter = new DataWriter(Endian.Big);
324
+ const saltWriter = new DataWriter();
349
325
  saltWriter.writeUInt64(this.#fabricId);
350
326
  const operationalId = await Crypto.hkdf(
351
327
  this.#rootPublicKey.slice(1),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/fabric/Fabric.ts"],
4
- "mappings": "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",
5
- "names": ["OperationalGroupKeySet"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FabricManager.d.ts","sourceRoot":"","sources":["../../../src/fabric/FabricManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,GAAG,EACH,WAAW,EAEX,YAAY,EACZ,UAAU,EACV,cAAc,EAEjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,oBAAqB,SAAQ,WAAW;CAAG;AAExD,oBAAY,YAAY;IACpB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,OAAO,IAAA;CACV;AAED,qBAAa,aAAa;;gBAaV,OAAO,CAAC,EAAE,cAAc;IA2BpC,IAAI,YAAY,gCAEf;IAEK,CAAC,YAAY,CAAC,SAAS,CAAC;IAI9B,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,IAAI,MAAM;;;;;MAET;IAEK,KAAK;IAOX,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;IAOtC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;IAWtC,mBAAmB;IAanB,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC;IAmBpC,SAAS,CAAC,MAAM,EAAE,MAAM;IAyBlB,YAAY,CAAC,WAAW,EAAE,WAAW;IAa3C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAMjB,IAAI,OAAO,aAIV;IAED,IAAI,MAAM,WAET;IAED,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;IAI3C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;IAIlC,2BAA2B,CAAC,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU;IAYxF,aAAa,CAAC,OAAO,EAAE,GAAG;IAW1B,WAAW,CAAC,KAAK,EAAE,WAAW;IAIxB,YAAY,CAAC,MAAM,EAAE,MAAM;IAc3B,YAAY,CAAC,WAAW,EAAE,WAAW;CAS9C"}
1
+ {"version":3,"file":"FabricManager.d.ts","sourceRoot":"","sources":["../../../src/fabric/FabricManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,YAAY,EACZ,WAAW,EACX,aAAa,EAEb,GAAG,EACH,WAAW,EAEX,YAAY,EACZ,UAAU,EACV,cAAc,EAEjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qDAAqD;AACrD,qBAAa,mBAAoB,SAAQ,WAAW;CAAG;AACvD,qBAAa,oBAAqB,SAAQ,WAAW;CAAG;AAExD,oBAAY,YAAY;IACpB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,OAAO,IAAA;CACV;AAED,qBAAa,aAAa;;gBAaV,OAAO,CAAC,EAAE,cAAc;IA2BpC,IAAI,YAAY,gCAEf;IAEK,CAAC,YAAY,CAAC,SAAS,CAAC;IAI9B,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,IAAI,MAAM;;;;;MAET;IAEK,KAAK;IAOX,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;IAOtC,GAAG,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW;IAWtC,mBAAmB;IAanB,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC;IAmBpC,SAAS,CAAC,MAAM,EAAE,MAAM;IA4BlB,YAAY,CAAC,WAAW,EAAE,WAAW;IAc3C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAMjB,IAAI,OAAO,aAIV;IAED,IAAI,MAAM,WAET;IAED,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO;IAI3C,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC;IAIlC,2BAA2B,CAAC,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU;IAaxF,aAAa,CAAC,OAAO,EAAE,GAAG;IAW1B,WAAW,CAAC,KAAK,EAAE,WAAW;IAMxB,YAAY,CAAC,MAAM,EAAE,MAAM;IAc3B,YAAY,CAAC,WAAW,EAAE,WAAW;CAS9C"}
@@ -141,6 +141,9 @@ class FabricManager {
141
141
  }
142
142
  });
143
143
  };
144
+ if (this.#storage !== void 0) {
145
+ fabric.storage = this.#storage.createContext(`fabric-${fabricIndex}`);
146
+ }
144
147
  if (this.#initializationDone) {
145
148
  this.#events.added.emit(fabric);
146
149
  }
@@ -154,6 +157,7 @@ class FabricManager {
154
157
  );
155
158
  this.#fabrics.delete(fabricIndex);
156
159
  await this.persistFabrics();
160
+ await fabric.storage?.clearAll();
157
161
  this.#events.deleted.emit(fabric);
158
162
  }
159
163
  [Symbol.iterator]() {
@@ -176,9 +180,10 @@ class FabricManager {
176
180
  async findFabricFromDestinationId(destinationId, initiatorRandom) {
177
181
  this.#construction.assert();
178
182
  for (const fabric of this.#fabrics.values()) {
179
- const candidateDestinationId = await fabric.getDestinationId(fabric.nodeId, initiatorRandom);
180
- if (!Bytes.areEqual(candidateDestinationId, destinationId)) continue;
181
- return fabric;
183
+ const candidateDestinationIds = await fabric.destinationIdsFor(fabric.nodeId, initiatorRandom);
184
+ if (candidateDestinationIds.some((candidate) => Bytes.areEqual(candidate, destinationId))) {
185
+ return fabric;
186
+ }
182
187
  }
183
188
  throw new FabricNotFoundError();
184
189
  }
@@ -192,7 +197,8 @@ class FabricManager {
192
197
  return void 0;
193
198
  }
194
199
  findByIndex(index) {
195
- return Array.from(this.#fabrics.values()).find((fabric) => fabric.fabricIndex === index);
200
+ this.#construction.assert();
201
+ return this.#fabrics.get(index);
196
202
  }
197
203
  async updateFabric(fabric) {
198
204
  await this.#construction;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/fabric/FabricManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["FabricAction"]
6
6
  }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Fabric } from "#fabric/Fabric.js";
7
+ import { BasicMap, StorageContext } from "#general";
8
+ import { GroupKeySet, KeySets, OperationalKeySet } from "#groups/KeySets.js";
9
+ import { MessagingState } from "#groups/MessagingState.js";
10
+ import { GroupId } from "#types";
11
+ export declare const GROUP_SECURITY_INFO: Uint8Array<ArrayBufferLike>;
12
+ /**
13
+ * Class that contains an operational view on the Group Keys for a fabric
14
+ */
15
+ export declare class FabricGroupsManager {
16
+ #private;
17
+ constructor(fabric: Fabric, storage?: StorageContext);
18
+ set storage(storage: StorageContext);
19
+ /** Operative lookup of the group key sets by their id. */
20
+ get keySets(): KeySets<OperationalKeySet>;
21
+ get messaging(): MessagingState;
22
+ /** Operative lookup of the group key set id and the key by a group session Id. */
23
+ get sessions(): Map<number, {
24
+ keySetId: number;
25
+ key: Uint8Array;
26
+ }[]>;
27
+ get groupKeyIdMap(): BasicMap<GroupId, number>;
28
+ set groupKeyIdMap(map: Map<GroupId, number>);
29
+ get endpoints(): Map<GroupId, import("#types").EndpointNumber[]>;
30
+ currentKeyForGroup(groupId: GroupId): {
31
+ keySetId: number;
32
+ key: Uint8Array;
33
+ sessionId?: number;
34
+ startTime: number | bigint;
35
+ };
36
+ subjectForGroup(id: GroupId, keySetId: number): import("../index.js").Subject;
37
+ multicastAddressFor(groupId: GroupId): string;
38
+ /**
39
+ * Sets new group key set data and pre-calculates all operative data like session ids and operational keys.
40
+ * Overwriting the existing one if it exists.
41
+ */
42
+ setFromGroupKeySet(groupKeySet: GroupKeySet): Promise<void>;
43
+ /** Removes a group key set by its id and cleans up the counters and data. */
44
+ removeGroupKeySet(groupKeySetId: number): Promise<boolean>;
45
+ }
46
+ //# sourceMappingURL=FabricGroupsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FabricGroupsManager.d.ts","sourceRoot":"","sources":["../../../src/groups/FabricGroupsManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAiD,cAAc,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,eAAO,MAAM,mBAAmB,6BAAoC,CAAC;AAErE;;GAEG;AACH,qBAAa,mBAAmB;;gBAQhB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IA6BpD,IAAI,OAAO,CAAC,OAAO,EAAE,cAAc,EAElC;IAED,0DAA0D;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAExC;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,kFAAkF;IAClF,IAAI,QAAQ;;;SAEX;IAED,IAAI,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAE7C;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI,SAAS,oDAEZ;IAED,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;IAInC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAI7C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgB7C;;;OAGG;IACG,kBAAkB,CAAC,WAAW,EAAE,WAAW;IA8BjD,6EAA6E;IACvE,iBAAiB,CAAC,aAAa,EAAE,MAAM;CAoBhD"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes, Crypto, InternalError, MatterFlowError } from "#general";
7
+ import { KeySets } from "#groups/KeySets.js";
8
+ import { MessagingState } from "#groups/MessagingState.js";
9
+ import { Groups } from "./Groups.js";
10
+ const GROUP_SECURITY_INFO = Bytes.fromString("GroupKey v1.0");
11
+ class FabricGroupsManager {
12
+ #fabric;
13
+ #groups;
14
+ #messagingState;
15
+ /** Operationally enhanced variants of the group key sets based on their ID. */
16
+ #keySets = new KeySets();
17
+ constructor(fabric, storage) {
18
+ this.#fabric = fabric;
19
+ this.#groups = new Groups(fabric, this.#keySets);
20
+ this.#messagingState = new MessagingState(storage);
21
+ this.#keySets.add({
22
+ groupKeySetId: 0,
23
+ epochKey0: fabric.identityProtectionKey,
24
+ operationalEpochKey0: fabric.operationalIdentityProtectionKey,
25
+ epochStartTime0: 0,
26
+ // 0 is always ok, but only for the IPK key
27
+ groupSessionId0: null,
28
+ epochKey1: null,
29
+ operationalEpochKey1: null,
30
+ epochStartTime1: null,
31
+ groupSessionId1: null,
32
+ epochKey2: null,
33
+ operationalEpochKey2: null,
34
+ epochStartTime2: null,
35
+ groupSessionId2: null,
36
+ groupKeySecurityPolicy: 0,
37
+ // GroupKeyManagement.GroupKeySecurityPolicy.TrustFirst, the other option is provisional
38
+ groupKeyMulticastPolicy: 0
39
+ // GroupKeyManagement.GroupKeyMulticastPolicy.PerGroupId, provisional!
40
+ });
41
+ if (storage !== void 0) {
42
+ this.storage = storage;
43
+ }
44
+ }
45
+ set storage(storage) {
46
+ this.#messagingState.storage = storage;
47
+ }
48
+ /** Operative lookup of the group key sets by their id. */
49
+ get keySets() {
50
+ return this.#keySets;
51
+ }
52
+ get messaging() {
53
+ return this.#messagingState;
54
+ }
55
+ /** Operative lookup of the group key set id and the key by a group session Id. */
56
+ get sessions() {
57
+ return this.#keySets.sessions;
58
+ }
59
+ get groupKeyIdMap() {
60
+ return this.#groups.idMap;
61
+ }
62
+ set groupKeyIdMap(map) {
63
+ this.#groups.idMap = map;
64
+ }
65
+ get endpoints() {
66
+ return this.#groups.endpointMap;
67
+ }
68
+ currentKeyForGroup(groupId) {
69
+ return this.#groups.currentKeyForId(groupId);
70
+ }
71
+ subjectForGroup(id, keySetId) {
72
+ return this.#groups.subjectForGroup(id, keySetId);
73
+ }
74
+ multicastAddressFor(groupId) {
75
+ return this.#groups.multicastAddress(groupId);
76
+ }
77
+ /*
78
+ TODO for Controller to generate new epochs
79
+ addGroupEpoch(groupKeySetId: number, startTimeMs = Time.nowMs()) {
80
+ // TODO for Controller to generate new epochs
81
+ const epochKey = Crypto.getRandomData(CRYPTO_SYMMETRIC_KEY_LENGTH);
82
+ const operationalEpochKey = Crypto.hkdf(epochKey, this.#fabric.operationalId, GROUP_SECURITY_INFO);
83
+ const epochStartTime = startTimeMs * 1000;
84
+ logger.debug(`addGroupEpoch: epochStartTime=${epochStartTime}`, operationalEpochKey);
85
+ // TODO extend in structure and such
86
+ }
87
+ */
88
+ /**
89
+ * Sets new group key set data and pre-calculates all operative data like session ids and operational keys.
90
+ * Overwriting the existing one if it exists.
91
+ */
92
+ async setFromGroupKeySet(groupKeySet) {
93
+ const { groupKeySetId, epochKey0, epochKey1, epochKey2 } = groupKeySet;
94
+ if (epochKey0 === null) {
95
+ throw new MatterFlowError("EpochKey0 must be set");
96
+ }
97
+ await this.#cleanUpCounters(groupKeySetId);
98
+ const operationalId = this.#fabric.operationalId;
99
+ const operationalEpochKey0 = await Crypto.hkdf(epochKey0, operationalId, GROUP_SECURITY_INFO);
100
+ const operationalEpochKey1 = epochKey1 !== null ? await Crypto.hkdf(epochKey1, operationalId, GROUP_SECURITY_INFO) : null;
101
+ const operationalEpochKey2 = epochKey2 !== null ? await Crypto.hkdf(epochKey2, operationalId, GROUP_SECURITY_INFO) : null;
102
+ this.#keySets.add({
103
+ ...groupKeySet,
104
+ operationalEpochKey0,
105
+ groupSessionId0: await this.#keySets.sessionIdFromKey(operationalEpochKey0),
106
+ operationalEpochKey1,
107
+ groupSessionId1: operationalEpochKey1 !== null ? await this.#keySets.sessionIdFromKey(operationalEpochKey1) : null,
108
+ operationalEpochKey2,
109
+ groupSessionId2: operationalEpochKey2 !== null ? await this.#keySets.sessionIdFromKey(operationalEpochKey2) : null
110
+ });
111
+ }
112
+ /** Removes a group key set by its id and cleans up the counters and data. */
113
+ async removeGroupKeySet(groupKeySetId) {
114
+ if (groupKeySetId === 0) {
115
+ throw new InternalError("Cannot remove the group key set 0.");
116
+ }
117
+ await this.#cleanUpCounters(groupKeySetId, true);
118
+ return this.#keySets.delete("groupKeySetId", groupKeySetId);
119
+ }
120
+ /** Cleans up the counters and data for a group key set by its id. */
121
+ async #cleanUpCounters(groupKeySetId, forDelete = false) {
122
+ if (this.#keySets.forId(groupKeySetId) === void 0) {
123
+ return;
124
+ }
125
+ const operationalKeys = this.#keySets.allKeysForId(groupKeySetId);
126
+ for (const { key } of operationalKeys) {
127
+ await this.#messagingState.removeCounter(key, forDelete);
128
+ }
129
+ }
130
+ }
131
+ export {
132
+ FabricGroupsManager,
133
+ GROUP_SECURITY_INFO
134
+ };
135
+ //# sourceMappingURL=FabricGroupsManager.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/groups/FabricGroupsManager.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }