@matter/protocol 0.16.0-alpha.0-20250814-484abe647 → 0.16.0-alpha.0-20250815-ac9fd6eb0

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 (333) hide show
  1. package/dist/cjs/advertisement/ble/BleAdvertisement.js +1 -1
  2. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +2 -2
  3. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
  4. package/dist/cjs/ble/Ble.d.ts +2 -2
  5. package/dist/cjs/ble/Ble.d.ts.map +1 -1
  6. package/dist/cjs/ble/Ble.js.map +1 -1
  7. package/dist/cjs/ble/BtpSessionHandler.d.ts +6 -6
  8. package/dist/cjs/ble/BtpSessionHandler.d.ts.map +1 -1
  9. package/dist/cjs/ble/BtpSessionHandler.js +9 -9
  10. package/dist/cjs/ble/BtpSessionHandler.js.map +1 -1
  11. package/dist/cjs/certificate/AttestationCertificateManager.d.ts +5 -5
  12. package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -1
  13. package/dist/cjs/certificate/AttestationCertificateManager.js +2 -2
  14. package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
  15. package/dist/cjs/certificate/CertificateAuthority.d.ts +5 -5
  16. package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
  17. package/dist/cjs/certificate/CertificateAuthority.js +6 -3
  18. package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
  19. package/dist/cjs/certificate/ChipPAAuthorities.d.ts +8 -8
  20. package/dist/cjs/certificate/DeviceCertification.d.ts +9 -9
  21. package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
  22. package/dist/cjs/certificate/DeviceCertification.js +2 -3
  23. package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
  24. package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts +1 -1
  25. package/dist/cjs/certificate/kinds/AttestationCertificates.d.ts.map +1 -1
  26. package/dist/cjs/certificate/kinds/AttestationCertificates.js.map +1 -1
  27. package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts +4 -4
  28. package/dist/cjs/certificate/kinds/CertificationDeclaration.d.ts.map +1 -1
  29. package/dist/cjs/certificate/kinds/CertificationDeclaration.js.map +1 -1
  30. package/dist/cjs/certificate/kinds/Icac.d.ts +3 -3
  31. package/dist/cjs/certificate/kinds/Icac.d.ts.map +1 -1
  32. package/dist/cjs/certificate/kinds/Icac.js +2 -2
  33. package/dist/cjs/certificate/kinds/Icac.js.map +1 -1
  34. package/dist/cjs/certificate/kinds/Noc.d.ts +3 -3
  35. package/dist/cjs/certificate/kinds/Noc.d.ts.map +1 -1
  36. package/dist/cjs/certificate/kinds/Noc.js +2 -2
  37. package/dist/cjs/certificate/kinds/Noc.js.map +1 -1
  38. package/dist/cjs/certificate/kinds/OperationalBase.d.ts +2 -1
  39. package/dist/cjs/certificate/kinds/OperationalBase.d.ts.map +1 -1
  40. package/dist/cjs/certificate/kinds/OperationalBase.js +2 -2
  41. package/dist/cjs/certificate/kinds/OperationalBase.js.map +1 -1
  42. package/dist/cjs/certificate/kinds/Rcac.d.ts +3 -3
  43. package/dist/cjs/certificate/kinds/Rcac.d.ts.map +1 -1
  44. package/dist/cjs/certificate/kinds/Rcac.js +2 -2
  45. package/dist/cjs/certificate/kinds/Rcac.js.map +1 -1
  46. package/dist/cjs/certificate/kinds/X509Base.d.ts +11 -11
  47. package/dist/cjs/certificate/kinds/X509Base.d.ts.map +1 -1
  48. package/dist/cjs/certificate/kinds/X509Base.js +1 -1
  49. package/dist/cjs/certificate/kinds/X509Base.js.map +1 -1
  50. package/dist/cjs/certificate/kinds/common.d.ts +2 -2
  51. package/dist/cjs/certificate/kinds/common.d.ts.map +1 -1
  52. package/dist/cjs/certificate/kinds/common.js +2 -2
  53. package/dist/cjs/certificate/kinds/common.js.map +1 -1
  54. package/dist/cjs/certificate/kinds/definitions/base.d.ts +7 -6
  55. package/dist/cjs/certificate/kinds/definitions/base.d.ts.map +1 -1
  56. package/dist/cjs/certificate/kinds/definitions/base.js.map +1 -1
  57. package/dist/cjs/certificate/kinds/definitions/certification-declaration.d.ts +1 -1
  58. package/dist/cjs/certificate/kinds/definitions/operational.d.ts +21 -21
  59. package/dist/cjs/codec/BtpCodec.d.ts +12 -11
  60. package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
  61. package/dist/cjs/codec/BtpCodec.js +1 -1
  62. package/dist/cjs/codec/BtpCodec.js.map +1 -1
  63. package/dist/cjs/codec/MessageCodec.d.ts +8 -8
  64. package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
  65. package/dist/cjs/codec/MessageCodec.js +2 -2
  66. package/dist/cjs/codec/MessageCodec.js.map +1 -1
  67. package/dist/cjs/common/FailsafeContext.d.ts +8 -8
  68. package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
  69. package/dist/cjs/common/FailsafeContext.js.map +1 -1
  70. package/dist/cjs/common/OperationalCredentialsTypes.d.ts +8 -8
  71. package/dist/cjs/fabric/Fabric.d.ts +27 -27
  72. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  73. package/dist/cjs/fabric/Fabric.js +3 -6
  74. package/dist/cjs/fabric/Fabric.js.map +1 -1
  75. package/dist/cjs/fabric/FabricManager.d.ts +2 -2
  76. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
  77. package/dist/cjs/fabric/FabricManager.js.map +1 -1
  78. package/dist/cjs/groups/FabricGroups.d.ts +4 -4
  79. package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
  80. package/dist/cjs/groups/Groups.d.ts +1 -1
  81. package/dist/cjs/groups/KeySets.d.ts +12 -12
  82. package/dist/cjs/groups/KeySets.d.ts.map +1 -1
  83. package/dist/cjs/groups/KeySets.js.map +1 -1
  84. package/dist/cjs/groups/MessagingState.d.ts +4 -4
  85. package/dist/cjs/groups/MessagingState.d.ts.map +1 -1
  86. package/dist/cjs/groups/MessagingState.js.map +1 -1
  87. package/dist/cjs/interaction/InteractionMessenger.d.ts +3 -2
  88. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  89. package/dist/cjs/interaction/InteractionMessenger.js +9 -9
  90. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  91. package/dist/cjs/mdns/MdnsClient.d.ts +2 -2
  92. package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
  93. package/dist/cjs/mdns/MdnsClient.js.map +1 -1
  94. package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -1
  95. package/dist/cjs/mdns/MdnsSocket.js +5 -5
  96. package/dist/cjs/mdns/MdnsSocket.js.map +1 -1
  97. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  98. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  99. package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -2
  100. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  101. package/dist/cjs/protocol/ChannelManager.d.ts +2 -2
  102. package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -1
  103. package/dist/cjs/protocol/ChannelManager.js.map +1 -1
  104. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  105. package/dist/cjs/protocol/ExchangeManager.js +4 -3
  106. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  107. package/dist/cjs/protocol/MessageChannel.d.ts +3 -3
  108. package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
  109. package/dist/cjs/protocol/MessageChannel.js +2 -2
  110. package/dist/cjs/protocol/MessageChannel.js.map +1 -1
  111. package/dist/cjs/protocol/MessageExchange.d.ts +2 -2
  112. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  113. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  114. package/dist/cjs/protocol/ProtocolStatusMessage.d.ts +6 -5
  115. package/dist/cjs/protocol/ProtocolStatusMessage.d.ts.map +1 -1
  116. package/dist/cjs/protocol/ProtocolStatusMessage.js +1 -1
  117. package/dist/cjs/protocol/ProtocolStatusMessage.js.map +1 -1
  118. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -1
  119. package/dist/cjs/session/GroupSession.d.ts +5 -4
  120. package/dist/cjs/session/GroupSession.d.ts.map +1 -1
  121. package/dist/cjs/session/GroupSession.js.map +1 -1
  122. package/dist/cjs/session/InsecureSession.d.ts +1 -1
  123. package/dist/cjs/session/InsecureSession.d.ts.map +1 -1
  124. package/dist/cjs/session/InsecureSession.js.map +1 -1
  125. package/dist/cjs/session/NodeSession.d.ts +8 -8
  126. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  127. package/dist/cjs/session/NodeSession.js +7 -5
  128. package/dist/cjs/session/NodeSession.js.map +1 -1
  129. package/dist/cjs/session/Session.d.ts +4 -4
  130. package/dist/cjs/session/Session.d.ts.map +1 -1
  131. package/dist/cjs/session/Session.js.map +1 -1
  132. package/dist/cjs/session/SessionManager.d.ts +8 -8
  133. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  134. package/dist/cjs/session/SessionManager.js +1 -2
  135. package/dist/cjs/session/SessionManager.js.map +1 -1
  136. package/dist/cjs/session/case/CaseMessages.d.ts +30 -30
  137. package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -1
  138. package/dist/cjs/session/case/CaseMessenger.d.ts +18 -18
  139. package/dist/cjs/session/pase/PaseClient.d.ts +1 -1
  140. package/dist/cjs/session/pase/PaseMessages.d.ts +8 -8
  141. package/dist/cjs/session/pase/PaseMessenger.d.ts +16 -16
  142. package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
  143. package/dist/cjs/session/pase/PaseServer.d.ts +3 -3
  144. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  145. package/dist/cjs/session/pase/PaseServer.js +3 -2
  146. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  147. package/dist/esm/advertisement/ble/BleAdvertisement.js +1 -1
  148. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +2 -2
  149. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
  150. package/dist/esm/ble/Ble.d.ts +2 -2
  151. package/dist/esm/ble/Ble.d.ts.map +1 -1
  152. package/dist/esm/ble/Ble.js.map +1 -1
  153. package/dist/esm/ble/BtpSessionHandler.d.ts +6 -6
  154. package/dist/esm/ble/BtpSessionHandler.d.ts.map +1 -1
  155. package/dist/esm/ble/BtpSessionHandler.js +9 -9
  156. package/dist/esm/ble/BtpSessionHandler.js.map +1 -1
  157. package/dist/esm/certificate/AttestationCertificateManager.d.ts +5 -5
  158. package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -1
  159. package/dist/esm/certificate/AttestationCertificateManager.js +2 -2
  160. package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
  161. package/dist/esm/certificate/CertificateAuthority.d.ts +5 -5
  162. package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
  163. package/dist/esm/certificate/CertificateAuthority.js +6 -3
  164. package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
  165. package/dist/esm/certificate/ChipPAAuthorities.d.ts +8 -8
  166. package/dist/esm/certificate/DeviceCertification.d.ts +9 -9
  167. package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
  168. package/dist/esm/certificate/DeviceCertification.js +3 -4
  169. package/dist/esm/certificate/DeviceCertification.js.map +1 -1
  170. package/dist/esm/certificate/kinds/AttestationCertificates.d.ts +1 -1
  171. package/dist/esm/certificate/kinds/AttestationCertificates.d.ts.map +1 -1
  172. package/dist/esm/certificate/kinds/AttestationCertificates.js.map +1 -1
  173. package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts +4 -4
  174. package/dist/esm/certificate/kinds/CertificationDeclaration.d.ts.map +1 -1
  175. package/dist/esm/certificate/kinds/CertificationDeclaration.js.map +1 -1
  176. package/dist/esm/certificate/kinds/Icac.d.ts +3 -3
  177. package/dist/esm/certificate/kinds/Icac.d.ts.map +1 -1
  178. package/dist/esm/certificate/kinds/Icac.js +2 -2
  179. package/dist/esm/certificate/kinds/Icac.js.map +1 -1
  180. package/dist/esm/certificate/kinds/Noc.d.ts +3 -3
  181. package/dist/esm/certificate/kinds/Noc.d.ts.map +1 -1
  182. package/dist/esm/certificate/kinds/Noc.js +2 -2
  183. package/dist/esm/certificate/kinds/Noc.js.map +1 -1
  184. package/dist/esm/certificate/kinds/OperationalBase.d.ts +2 -1
  185. package/dist/esm/certificate/kinds/OperationalBase.d.ts.map +1 -1
  186. package/dist/esm/certificate/kinds/OperationalBase.js +2 -2
  187. package/dist/esm/certificate/kinds/OperationalBase.js.map +1 -1
  188. package/dist/esm/certificate/kinds/Rcac.d.ts +3 -3
  189. package/dist/esm/certificate/kinds/Rcac.d.ts.map +1 -1
  190. package/dist/esm/certificate/kinds/Rcac.js +2 -2
  191. package/dist/esm/certificate/kinds/Rcac.js.map +1 -1
  192. package/dist/esm/certificate/kinds/X509Base.d.ts +11 -11
  193. package/dist/esm/certificate/kinds/X509Base.d.ts.map +1 -1
  194. package/dist/esm/certificate/kinds/X509Base.js +1 -1
  195. package/dist/esm/certificate/kinds/X509Base.js.map +1 -1
  196. package/dist/esm/certificate/kinds/common.d.ts +2 -2
  197. package/dist/esm/certificate/kinds/common.d.ts.map +1 -1
  198. package/dist/esm/certificate/kinds/common.js +2 -2
  199. package/dist/esm/certificate/kinds/common.js.map +1 -1
  200. package/dist/esm/certificate/kinds/definitions/base.d.ts +7 -6
  201. package/dist/esm/certificate/kinds/definitions/base.d.ts.map +1 -1
  202. package/dist/esm/certificate/kinds/definitions/base.js.map +1 -1
  203. package/dist/esm/certificate/kinds/definitions/certification-declaration.d.ts +1 -1
  204. package/dist/esm/certificate/kinds/definitions/operational.d.ts +21 -21
  205. package/dist/esm/codec/BtpCodec.d.ts +12 -11
  206. package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
  207. package/dist/esm/codec/BtpCodec.js +1 -1
  208. package/dist/esm/codec/BtpCodec.js.map +1 -1
  209. package/dist/esm/codec/MessageCodec.d.ts +8 -8
  210. package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
  211. package/dist/esm/codec/MessageCodec.js +2 -2
  212. package/dist/esm/codec/MessageCodec.js.map +1 -1
  213. package/dist/esm/common/FailsafeContext.d.ts +8 -8
  214. package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
  215. package/dist/esm/common/FailsafeContext.js.map +1 -1
  216. package/dist/esm/common/OperationalCredentialsTypes.d.ts +8 -8
  217. package/dist/esm/fabric/Fabric.d.ts +27 -27
  218. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  219. package/dist/esm/fabric/Fabric.js +3 -6
  220. package/dist/esm/fabric/Fabric.js.map +1 -1
  221. package/dist/esm/fabric/FabricManager.d.ts +2 -2
  222. package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
  223. package/dist/esm/fabric/FabricManager.js.map +1 -1
  224. package/dist/esm/groups/FabricGroups.d.ts +4 -4
  225. package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
  226. package/dist/esm/groups/Groups.d.ts +1 -1
  227. package/dist/esm/groups/KeySets.d.ts +12 -12
  228. package/dist/esm/groups/KeySets.d.ts.map +1 -1
  229. package/dist/esm/groups/KeySets.js.map +1 -1
  230. package/dist/esm/groups/MessagingState.d.ts +4 -4
  231. package/dist/esm/groups/MessagingState.d.ts.map +1 -1
  232. package/dist/esm/groups/MessagingState.js.map +1 -1
  233. package/dist/esm/interaction/InteractionMessenger.d.ts +3 -2
  234. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  235. package/dist/esm/interaction/InteractionMessenger.js +9 -9
  236. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  237. package/dist/esm/mdns/MdnsClient.d.ts +2 -2
  238. package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
  239. package/dist/esm/mdns/MdnsClient.js.map +1 -1
  240. package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -1
  241. package/dist/esm/mdns/MdnsSocket.js +5 -5
  242. package/dist/esm/mdns/MdnsSocket.js.map +1 -1
  243. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  244. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  245. package/dist/esm/peer/ControllerCommissioningFlow.js +2 -2
  246. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  247. package/dist/esm/protocol/ChannelManager.d.ts +2 -2
  248. package/dist/esm/protocol/ChannelManager.d.ts.map +1 -1
  249. package/dist/esm/protocol/ChannelManager.js.map +1 -1
  250. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  251. package/dist/esm/protocol/ExchangeManager.js +5 -3
  252. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  253. package/dist/esm/protocol/MessageChannel.d.ts +3 -3
  254. package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
  255. package/dist/esm/protocol/MessageChannel.js +2 -2
  256. package/dist/esm/protocol/MessageChannel.js.map +1 -1
  257. package/dist/esm/protocol/MessageExchange.d.ts +2 -2
  258. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  259. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  260. package/dist/esm/protocol/ProtocolStatusMessage.d.ts +6 -5
  261. package/dist/esm/protocol/ProtocolStatusMessage.d.ts.map +1 -1
  262. package/dist/esm/protocol/ProtocolStatusMessage.js +1 -1
  263. package/dist/esm/protocol/ProtocolStatusMessage.js.map +1 -1
  264. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -1
  265. package/dist/esm/session/GroupSession.d.ts +5 -4
  266. package/dist/esm/session/GroupSession.d.ts.map +1 -1
  267. package/dist/esm/session/GroupSession.js.map +1 -1
  268. package/dist/esm/session/InsecureSession.d.ts +1 -1
  269. package/dist/esm/session/InsecureSession.d.ts.map +1 -1
  270. package/dist/esm/session/InsecureSession.js.map +1 -1
  271. package/dist/esm/session/NodeSession.d.ts +8 -8
  272. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  273. package/dist/esm/session/NodeSession.js +7 -5
  274. package/dist/esm/session/NodeSession.js.map +1 -1
  275. package/dist/esm/session/Session.d.ts +4 -4
  276. package/dist/esm/session/Session.d.ts.map +1 -1
  277. package/dist/esm/session/Session.js.map +1 -1
  278. package/dist/esm/session/SessionManager.d.ts +8 -8
  279. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  280. package/dist/esm/session/SessionManager.js +1 -2
  281. package/dist/esm/session/SessionManager.js.map +1 -1
  282. package/dist/esm/session/case/CaseMessages.d.ts +30 -30
  283. package/dist/esm/session/case/CaseMessages.d.ts.map +1 -1
  284. package/dist/esm/session/case/CaseMessenger.d.ts +18 -18
  285. package/dist/esm/session/pase/PaseClient.d.ts +1 -1
  286. package/dist/esm/session/pase/PaseMessages.d.ts +8 -8
  287. package/dist/esm/session/pase/PaseMessenger.d.ts +16 -16
  288. package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
  289. package/dist/esm/session/pase/PaseServer.d.ts +3 -3
  290. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  291. package/dist/esm/session/pase/PaseServer.js +3 -2
  292. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  293. package/package.json +6 -6
  294. package/src/advertisement/ble/BleAdvertisement.ts +1 -1
  295. package/src/advertisement/ble/BleAdvertiser.ts +1 -1
  296. package/src/ble/Ble.ts +2 -2
  297. package/src/ble/BtpSessionHandler.ts +20 -20
  298. package/src/certificate/AttestationCertificateManager.ts +5 -5
  299. package/src/certificate/CertificateAuthority.ts +14 -11
  300. package/src/certificate/DeviceCertification.ts +11 -13
  301. package/src/certificate/kinds/AttestationCertificates.ts +1 -1
  302. package/src/certificate/kinds/CertificationDeclaration.ts +3 -6
  303. package/src/certificate/kinds/Icac.ts +3 -3
  304. package/src/certificate/kinds/Noc.ts +3 -3
  305. package/src/certificate/kinds/OperationalBase.ts +4 -4
  306. package/src/certificate/kinds/Rcac.ts +3 -3
  307. package/src/certificate/kinds/X509Base.ts +7 -7
  308. package/src/certificate/kinds/common.ts +4 -4
  309. package/src/certificate/kinds/definitions/base.ts +7 -6
  310. package/src/codec/BtpCodec.ts +13 -13
  311. package/src/codec/MessageCodec.ts +10 -10
  312. package/src/common/FailsafeContext.ts +6 -5
  313. package/src/fabric/Fabric.ts +31 -34
  314. package/src/fabric/FabricManager.ts +1 -1
  315. package/src/groups/KeySets.ts +6 -6
  316. package/src/groups/MessagingState.ts +3 -3
  317. package/src/interaction/InteractionMessenger.ts +12 -11
  318. package/src/mdns/MdnsClient.ts +2 -2
  319. package/src/mdns/MdnsSocket.ts +7 -6
  320. package/src/peer/ControllerCommissioner.ts +2 -1
  321. package/src/peer/ControllerCommissioningFlow.ts +5 -5
  322. package/src/protocol/ChannelManager.ts +3 -3
  323. package/src/protocol/ExchangeManager.ts +7 -5
  324. package/src/protocol/MessageChannel.ts +4 -4
  325. package/src/protocol/MessageExchange.ts +2 -1
  326. package/src/protocol/ProtocolStatusMessage.ts +6 -6
  327. package/src/session/GroupSession.ts +7 -7
  328. package/src/session/InsecureSession.ts +1 -1
  329. package/src/session/NodeSession.ts +17 -15
  330. package/src/session/Session.ts +3 -3
  331. package/src/session/SessionManager.ts +9 -10
  332. package/src/session/case/CaseServer.ts +8 -8
  333. package/src/session/pase/PaseServer.ts +5 -4
@@ -7,6 +7,7 @@
7
7
  import { Message, MessageCodec, PacketHeader, SessionType } from "#codec/MessageCodec.js";
8
8
  import {
9
9
  AsyncObservable,
10
+ Bytes,
10
11
  createPromise,
11
12
  CRYPTO_AEAD_MIC_LENGTH_BYTES,
12
13
  DataReadQueue,
@@ -344,7 +345,7 @@ export class MessageExchange {
344
345
  await this.#messagesQueue.write(message);
345
346
  }
346
347
 
347
- async send(messageType: number, payload: Uint8Array, options?: ExchangeSendOptions) {
348
+ async send(messageType: number, payload: Bytes, options?: ExchangeSendOptions) {
348
349
  if (options?.requiresAck && !this.channel.usesMrp) {
349
350
  options.requiresAck = false;
350
351
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { DataReader, DataWriter, Endian } from "#general";
7
+ import { Bytes, DataReader, DataWriter, Endian } from "#general";
8
8
  import { GeneralStatusCode, Schema, VendorId } from "#types";
9
9
 
10
10
  export type ProtocolStatusMessage<T> = {
@@ -12,10 +12,10 @@ export type ProtocolStatusMessage<T> = {
12
12
  protocolId: number;
13
13
  vendorId: VendorId;
14
14
  protocolStatus: T;
15
- protocolData?: Uint8Array;
15
+ protocolData?: Bytes;
16
16
  };
17
17
 
18
- export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessage<any>> extends Schema<T, Uint8Array> {
18
+ export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessage<any>> extends Schema<T, Bytes> {
19
19
  #protocolId: number;
20
20
  #vendorId: number;
21
21
  #protocolSpecificDataAllowed: boolean;
@@ -32,7 +32,7 @@ export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessag
32
32
  this.#protocolSpecificDataAllowed = protocolSpecificDataAllowed;
33
33
  }
34
34
 
35
- override encode(message: Omit<T, "protocolId" | "vendorId">): Uint8Array {
35
+ override encode(message: Omit<T, "protocolId" | "vendorId">): Bytes {
36
36
  return super.encode({ ...message, protocolId: this.#protocolId, vendorId: this.#vendorId } as T);
37
37
  }
38
38
 
@@ -41,13 +41,13 @@ export abstract class ProtocolStatusMessageSchema<T extends ProtocolStatusMessag
41
41
  writer.writeUInt16(generalStatus);
42
42
  writer.writeUInt32((vendorId << 16) | protocolId);
43
43
  writer.writeUInt16(protocolStatus);
44
- if (this.#protocolSpecificDataAllowed && protocolData !== undefined && protocolData.length > 0) {
44
+ if (this.#protocolSpecificDataAllowed && protocolData !== undefined && protocolData.byteLength > 0) {
45
45
  writer.writeByteArray(protocolData);
46
46
  }
47
47
  return writer.toByteArray();
48
48
  }
49
49
 
50
- decodeInternal(bytes: Uint8Array) {
50
+ decodeInternal(bytes: Bytes) {
51
51
  const reader = new DataReader(bytes, Endian.Little);
52
52
  const generalStatus = reader.readUInt16();
53
53
  const vendorProtocolId = reader.readUInt32();
@@ -28,7 +28,7 @@ export class GroupSession extends SecureSession {
28
28
  readonly #id: number;
29
29
  readonly #fabric: Fabric;
30
30
  readonly #peerNodeId: NodeId;
31
- readonly #operationalGroupKey: Uint8Array;
31
+ readonly #operationalGroupKey: Bytes;
32
32
  readonly supportsMRP = false;
33
33
  readonly closingAfterExchangeFinished = false; // Group sessions do not close after exchange finished, they are long-lived
34
34
 
@@ -40,7 +40,7 @@ export class GroupSession extends SecureSession {
40
40
  fabric: Fabric;
41
41
  keySetId: number; // The Group Key Set ID that was used to encrypt the incoming group message.
42
42
  peerNodeId: NodeId; //The Target Group Node Id
43
- operationalGroupKey: Uint8Array; // The Operational Group Key that was used to encrypt the incoming group message.
43
+ operationalGroupKey: Bytes; // The Operational Group Key that was used to encrypt the incoming group message.
44
44
  }) {
45
45
  const { manager, fabric, operationalGroupKey, id, peerNodeId, keySetId } = args;
46
46
  super({
@@ -103,7 +103,7 @@ export class GroupSession extends SecureSession {
103
103
  // Group sessions do not have a specific activity notification, so we do nothing here
104
104
  }
105
105
 
106
- override updateMessageCounter(messageCounter: number, sourceNodeId: NodeId, operationalKey: Uint8Array) {
106
+ override updateMessageCounter(messageCounter: number, sourceNodeId: NodeId, operationalKey: Bytes) {
107
107
  if (sourceNodeId === undefined || operationalKey === undefined) {
108
108
  throw new InternalError("Source Node ID is required for GroupSession updateMessageCounter.");
109
109
  }
@@ -141,10 +141,10 @@ export class GroupSession extends SecureSession {
141
141
  static decode(
142
142
  fabrics: FabricManager,
143
143
  { header, applicationPayload, messageExtension }: DecodedPacket,
144
- aad: Uint8Array,
144
+ aad: Bytes,
145
145
  ): {
146
146
  message: DecodedMessage;
147
- key: Uint8Array;
147
+ key: Bytes;
148
148
  sessionId: number;
149
149
  sourceNodeId: NodeId;
150
150
  keySetId: number;
@@ -162,7 +162,7 @@ export class GroupSession extends SecureSession {
162
162
  }
163
163
  const nonce = Session.generateNonce(header.securityFlags, header.messageId, sourceNodeId);
164
164
  const sessionId = header.sessionId;
165
- const keys = new Array<{ key: Uint8Array; keySetId: number; fabric: Fabric }>();
165
+ const keys = new Array<{ key: Bytes; keySetId: number; fabric: Fabric }>();
166
166
  for (const fabric of fabrics) {
167
167
  const sessions = fabric.groups.sessions.get(sessionId);
168
168
  if (sessions?.length) {
@@ -175,7 +175,7 @@ export class GroupSession extends SecureSession {
175
175
  throw new MatterFlowError("No key candidate found for group session decryption.");
176
176
  }
177
177
  let message: DecodedMessage | undefined;
178
- let key: Uint8Array | undefined;
178
+ let key: Bytes | undefined;
179
179
  let fabric: Fabric | undefined;
180
180
  let keySetId: number | undefined;
181
181
  let found = false;
@@ -57,7 +57,7 @@ export class InsecureSession extends Session {
57
57
  return MessageCodec.encodePayload(message);
58
58
  }
59
59
 
60
- get attestationChallengeKey(): Uint8Array {
60
+ get attestationChallengeKey(): BufferSource {
61
61
  throw new MatterFlowError("Not supported on an unsecure session");
62
62
  }
63
63
 
@@ -49,9 +49,9 @@ export class NodeSession extends SecureSession {
49
49
  #fabric: Fabric | undefined;
50
50
  readonly #peerNodeId: NodeId;
51
51
  readonly #peerSessionId: number;
52
- readonly #decryptKey: Uint8Array;
53
- readonly #encryptKey: Uint8Array;
54
- readonly #attestationKey: Uint8Array;
52
+ readonly #decryptKey: Bytes;
53
+ readonly #encryptKey: Bytes;
54
+ readonly #attestationKey: Bytes;
55
55
  #caseAuthenticatedTags: CaseAuthenticatedTag[];
56
56
  #isClosing = false;
57
57
  readonly supportsMRP = true;
@@ -64,8 +64,8 @@ export class NodeSession extends SecureSession {
64
64
  fabric: Fabric | undefined;
65
65
  peerNodeId: NodeId;
66
66
  peerSessionId: number;
67
- sharedSecret: Uint8Array;
68
- salt: Uint8Array;
67
+ sharedSecret: Bytes;
68
+ salt: Bytes;
69
69
  isInitiator: boolean;
70
70
  isResumption: boolean;
71
71
  peerSessionParameters?: SessionParameterOptions;
@@ -85,11 +85,13 @@ export class NodeSession extends SecureSession {
85
85
  peerSessionParameters,
86
86
  caseAuthenticatedTags,
87
87
  } = args;
88
- const keys = await args.crypto.createHkdfKey(
89
- sharedSecret,
90
- salt,
91
- isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
92
- CRYPTO_SYMMETRIC_KEY_LENGTH * 3,
88
+ const keys = Bytes.of(
89
+ await args.crypto.createHkdfKey(
90
+ sharedSecret,
91
+ salt,
92
+ isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
93
+ CRYPTO_SYMMETRIC_KEY_LENGTH * 3,
94
+ ),
93
95
  );
94
96
  const decryptKey = isInitiator ? keys.slice(16, 32) : keys.slice(0, 16);
95
97
  const encryptKey = isInitiator ? keys.slice(0, 16) : keys.slice(16, 32);
@@ -117,9 +119,9 @@ export class NodeSession extends SecureSession {
117
119
  fabric: Fabric | undefined;
118
120
  peerNodeId: NodeId;
119
121
  peerSessionId: number;
120
- decryptKey: Uint8Array;
121
- encryptKey: Uint8Array;
122
- attestationKey: Uint8Array;
122
+ decryptKey: Bytes;
123
+ encryptKey: Bytes;
124
+ attestationKey: Bytes;
123
125
  sessionParameters?: SessionParameterOptions;
124
126
  caseAuthenticatedTags?: CaseAuthenticatedTag[];
125
127
  isInitiator: boolean;
@@ -229,7 +231,7 @@ export class NodeSession extends SecureSession {
229
231
  await this.end(true, closeAfterExchangeFinished);
230
232
  }
231
233
 
232
- decode({ header, applicationPayload, messageExtension }: DecodedPacket, aad: Uint8Array): DecodedMessage {
234
+ decode({ header, applicationPayload, messageExtension }: DecodedPacket, aad: Bytes): DecodedMessage {
233
235
  if (header.hasMessageExtensions) {
234
236
  logger.info(
235
237
  `Message extensions are not supported. Ignoring ${messageExtension ? Bytes.toHex(messageExtension) : undefined}`,
@@ -265,7 +267,7 @@ export class NodeSession extends SecureSession {
265
267
  };
266
268
  }
267
269
 
268
- get attestationChallengeKey(): Uint8Array {
270
+ get attestationChallengeKey(): Bytes {
269
271
  return this.#attestationKey;
270
272
  }
271
273
 
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  import { SupportedTransportsBitmap } from "#common/SupportedTransportsBitmap.js";
8
- import { AsyncObservable, DataWriter, Endian, InternalError, Time } from "#general";
8
+ import { AsyncObservable, Bytes, DataWriter, Endian, InternalError, Time } from "#general";
9
9
  import { NodeId, TypeFromPartialBitSchema } from "#types";
10
10
  import { DecodedMessage, DecodedPacket, Message, Packet, SessionType } from "../codec/MessageCodec.js";
11
11
  import { Fabric } from "../fabric/Fabric.js";
@@ -149,7 +149,7 @@ export abstract class Session {
149
149
  return this.messageCounter.getIncrementedCounter();
150
150
  }
151
151
 
152
- updateMessageCounter(messageCounter: number, _sourceNodeId?: NodeId, _operationalKey?: Uint8Array) {
152
+ updateMessageCounter(messageCounter: number, _sourceNodeId?: NodeId, _operationalKey?: Bytes) {
153
153
  if (this.messageReceptionState === undefined) {
154
154
  throw new InternalError("MessageReceptionState is not defined for this session");
155
155
  }
@@ -200,7 +200,7 @@ export abstract class Session {
200
200
  abstract associatedFabric: Fabric;
201
201
  abstract supportsMRP: boolean; // TODO: always false for Group Sessions
202
202
 
203
- abstract decode(packet: DecodedPacket, aad?: Uint8Array): DecodedMessage;
203
+ abstract decode(packet: DecodedPacket, aad?: Bytes): DecodedMessage;
204
204
  abstract encode(message: Message): Packet;
205
205
  abstract end(sendClose: boolean): Promise<void>;
206
206
  abstract destroy(sendClose?: boolean, closeAfterExchangeFinished?: boolean): Promise<void>;
@@ -59,8 +59,8 @@ const DEFAULT_SESSION_PARAMETERS = {
59
59
  };
60
60
 
61
61
  export interface ResumptionRecord {
62
- sharedSecret: Uint8Array;
63
- resumptionId: Uint8Array;
62
+ sharedSecret: Bytes;
63
+ resumptionId: Bytes;
64
64
  fabric: Fabric;
65
65
  peerNodeId: NodeId;
66
66
  sessionParameters: SessionParameters;
@@ -69,8 +69,8 @@ export interface ResumptionRecord {
69
69
 
70
70
  type ResumptionStorageRecord = {
71
71
  nodeId: NodeId;
72
- sharedSecret: Uint8Array;
73
- resumptionId: Uint8Array;
72
+ sharedSecret: Bytes;
73
+ resumptionId: Bytes;
74
74
  fabricId: FabricId;
75
75
  peerNodeId: NodeId;
76
76
  sessionParameters: {
@@ -265,8 +265,8 @@ export class SessionManager {
265
265
  fabric: Fabric | undefined;
266
266
  peerNodeId: NodeId;
267
267
  peerSessionId: number;
268
- sharedSecret: Uint8Array;
269
- salt: Uint8Array;
268
+ sharedSecret: Bytes;
269
+ salt: Bytes;
270
270
  isInitiator: boolean;
271
271
  isResumption: boolean;
272
272
  peerSessionParameters?: SessionParameterOptions;
@@ -408,8 +408,7 @@ export class SessionManager {
408
408
  //TODO: It can have multiple sessions for one node ...
409
409
  return [...this.#sessions].find(session => {
410
410
  if (!session.isSecure) return false;
411
- const secureSession = session;
412
- return secureSession.peerIs(address);
411
+ return session.peerIs(address);
413
412
  });
414
413
  }
415
414
 
@@ -471,7 +470,7 @@ export class SessionManager {
471
470
  * Creates or Returns the Group session based on an incoming packet.
472
471
  * The Session ID is determined by trying to decrypt te packet with possible keys.
473
472
  */
474
- groupSessionFromPacket(packet: DecodedPacket, aad: Uint8Array) {
473
+ groupSessionFromPacket(packet: DecodedPacket, aad: Bytes) {
475
474
  const groupId = packet.header.destGroupId;
476
475
  if (groupId === undefined) {
477
476
  throw new UnexpectedDataError("Group ID is required for GroupSession fromPacket.");
@@ -517,7 +516,7 @@ export class SessionManager {
517
516
  }
518
517
  }
519
518
 
520
- findResumptionRecordById(resumptionId: Uint8Array) {
519
+ findResumptionRecordById(resumptionId: Bytes) {
521
520
  this.#construction.assert();
522
521
  return [...this.#resumptionRecords.values()].find(record => Bytes.areEqual(record.resumptionId, resumptionId));
523
522
  }
@@ -305,22 +305,22 @@ export class CaseServer implements ProtocolHandler {
305
305
  class Sigma1Context {
306
306
  crypto: Crypto;
307
307
  messenger: CaseServerMessenger;
308
- bytes: Uint8Array;
308
+ bytes: Bytes;
309
309
  peerSessionId: number;
310
- peerResumptionId?: Uint8Array;
311
- peerResumeMic?: Uint8Array;
312
- destinationId: Uint8Array;
313
- peerRandom: Uint8Array;
314
- peerEcdhPublicKey: Uint8Array;
310
+ peerResumptionId?: Bytes;
311
+ peerResumeMic?: Bytes;
312
+ destinationId: Bytes;
313
+ peerRandom: Bytes;
314
+ peerEcdhPublicKey: Bytes;
315
315
  peerSessionParams?: TypeFromSchema<typeof TlvSessionParameters>;
316
316
  resumptionRecord?: ResumptionRecord;
317
317
 
318
- #localResumptionId?: Uint8Array;
318
+ #localResumptionId?: Bytes;
319
319
 
320
320
  constructor(
321
321
  crypto: Crypto,
322
322
  messenger: CaseServerMessenger,
323
- bytes: Uint8Array,
323
+ bytes: Bytes,
324
324
  sigma1: TypeFromSchema<typeof TlvCaseSigma1>,
325
325
  resumptionRecord?: ResumptionRecord,
326
326
  ) {
@@ -46,18 +46,19 @@ export class PaseServer implements ProtocolHandler {
46
46
 
47
47
  static fromVerificationValue(
48
48
  sessions: SessionManager,
49
- verificationValue: Uint8Array,
49
+ verificationValue: Bytes,
50
50
  pbkdfParameters?: PbkdfParameters,
51
51
  ) {
52
- const w0 = bytesToNumberBE(verificationValue.slice(0, 32));
53
- const L = verificationValue.slice(32, 32 + 65);
52
+ const verificationData = Bytes.of(verificationValue);
53
+ const w0 = bytesToNumberBE(verificationData.slice(0, 32));
54
+ const L = verificationData.slice(32, 32 + 65);
54
55
  return new PaseServer(sessions, w0, L, pbkdfParameters);
55
56
  }
56
57
 
57
58
  constructor(
58
59
  private sessions: SessionManager,
59
60
  private readonly w0: bigint,
60
- private readonly L: Uint8Array,
61
+ private readonly L: Bytes,
61
62
  private readonly pbkdfParameters?: PbkdfParameters,
62
63
  ) {}
63
64