@matter/thread-br-client 0.0.1 → 0.17.5-alpha.0-20260706-fd4c49e2e

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 (575) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -5
  3. package/dist/cjs/coap/CoapClient.d.ts +2 -2
  4. package/dist/cjs/coap/CoapClient.d.ts.map +1 -1
  5. package/dist/cjs/coap/CoapClient.js +9 -16
  6. package/dist/cjs/coap/CoapClient.js.map +1 -1
  7. package/dist/cjs/coap/CoapMessage.d.ts +11 -6
  8. package/dist/cjs/coap/CoapMessage.d.ts.map +1 -1
  9. package/dist/cjs/coap/CoapMessage.js +8 -5
  10. package/dist/cjs/coap/CoapMessage.js.map +1 -1
  11. package/dist/cjs/commissioner/Commissioner.d.ts.map +1 -1
  12. package/dist/cjs/commissioner/Commissioner.js +5 -2
  13. package/dist/cjs/commissioner/Commissioner.js.map +1 -1
  14. package/dist/cjs/commissioner/LeadKa.d.ts +3 -3
  15. package/dist/cjs/commissioner/LeadKa.d.ts.map +1 -1
  16. package/dist/cjs/commissioner/LeadKa.js +1 -1
  17. package/dist/cjs/commissioner/LeadKa.js.map +1 -1
  18. package/dist/cjs/commissioner/LeadPet.d.ts +3 -2
  19. package/dist/cjs/commissioner/LeadPet.d.ts.map +1 -1
  20. package/dist/cjs/commissioner/LeadPet.js +4 -3
  21. package/dist/cjs/commissioner/LeadPet.js.map +1 -1
  22. package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts +5 -5
  23. package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
  24. package/dist/cjs/credentials/ThreadCredentialsRegistry.js +10 -9
  25. package/dist/cjs/credentials/ThreadCredentialsRegistry.js.map +1 -1
  26. package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts +4 -3
  27. package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
  28. package/dist/cjs/crypto/AesCmacPrf128.d.ts +4 -14
  29. package/dist/cjs/crypto/AesCmacPrf128.d.ts.map +1 -1
  30. package/dist/cjs/crypto/AesCmacPrf128.js +7 -71
  31. package/dist/cjs/crypto/AesCmacPrf128.js.map +2 -2
  32. package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts +5 -4
  33. package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
  34. package/dist/cjs/crypto/Pbkdf2AesCmac.js +5 -4
  35. package/dist/cjs/crypto/Pbkdf2AesCmac.js.map +1 -1
  36. package/dist/cjs/crypto/Pskc.d.ts +4 -3
  37. package/dist/cjs/crypto/Pskc.d.ts.map +1 -1
  38. package/dist/cjs/crypto/Pskc.js +6 -5
  39. package/dist/cjs/crypto/Pskc.js.map +1 -1
  40. package/dist/cjs/crypto/index.d.ts +1 -1
  41. package/dist/cjs/crypto/index.d.ts.map +1 -1
  42. package/dist/cjs/crypto/index.js +0 -1
  43. package/dist/cjs/crypto/index.js.map +1 -1
  44. package/dist/cjs/dataset/OperationalDataset.d.ts +10 -10
  45. package/dist/cjs/dataset/OperationalDataset.d.ts.map +1 -1
  46. package/dist/cjs/dataset/OperationalDataset.js +32 -31
  47. package/dist/cjs/dataset/OperationalDataset.js.map +1 -1
  48. package/dist/cjs/dataset/SecurityPolicy.d.ts +3 -2
  49. package/dist/cjs/dataset/SecurityPolicy.d.ts.map +1 -1
  50. package/dist/cjs/dataset/SecurityPolicy.js +5 -4
  51. package/dist/cjs/dataset/SecurityPolicy.js.map +1 -1
  52. package/dist/cjs/diagnostic/DiagnosticResponse.d.ts +5 -4
  53. package/dist/cjs/diagnostic/DiagnosticResponse.d.ts.map +1 -1
  54. package/dist/cjs/diagnostic/DiagnosticSource.d.ts +2 -2
  55. package/dist/cjs/diagnostic/DiagnosticSource.d.ts.map +1 -1
  56. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
  57. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
  58. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js +48 -43
  59. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
  60. package/dist/cjs/diagnostic/connectMeshcop.d.ts.map +1 -1
  61. package/dist/cjs/diagnostic/connectMeshcop.js +5 -12
  62. package/dist/cjs/diagnostic/connectMeshcop.js.map +1 -1
  63. package/dist/cjs/diagnostic/errors.d.ts +1 -1
  64. package/dist/cjs/diagnostic/errors.d.ts.map +1 -1
  65. package/dist/cjs/discovery/BorderRouterRegistry.d.ts.map +1 -1
  66. package/dist/cjs/discovery/BorderRouterRegistry.js +2 -4
  67. package/dist/cjs/discovery/BorderRouterRegistry.js.map +1 -1
  68. package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts +3 -3
  69. package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
  70. package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
  71. package/dist/cjs/dtls/channel/NobleDtlsChannel.js +89 -58
  72. package/dist/cjs/dtls/channel/NobleDtlsChannel.js.map +1 -1
  73. package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts +5 -4
  74. package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
  75. package/dist/cjs/dtls/ecjpake/EcJpakePms.js +4 -5
  76. package/dist/cjs/dtls/ecjpake/EcJpakePms.js.map +1 -1
  77. package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
  78. package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
  79. package/dist/cjs/dtls/ecjpake/EcJpakeRound.js +40 -29
  80. package/dist/cjs/dtls/ecjpake/EcJpakeRound.js.map +1 -1
  81. package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
  82. package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
  83. package/dist/cjs/dtls/ecjpake/SchnorrZkp.js +17 -13
  84. package/dist/cjs/dtls/ecjpake/SchnorrZkp.js.map +1 -1
  85. package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
  86. package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
  87. package/dist/cjs/dtls/handshake/ChangeCipherSpec.js +3 -1
  88. package/dist/cjs/dtls/handshake/ChangeCipherSpec.js.map +1 -1
  89. package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts +27 -4
  90. package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
  91. package/dist/cjs/dtls/handshake/ClientHelloMessage.js +3 -1
  92. package/dist/cjs/dtls/handshake/ClientHelloMessage.js.map +1 -1
  93. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
  94. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
  95. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
  96. package/dist/cjs/dtls/handshake/DtlsClient.d.ts +9 -6
  97. package/dist/cjs/dtls/handshake/DtlsClient.d.ts.map +1 -1
  98. package/dist/cjs/dtls/handshake/DtlsClient.js +99 -77
  99. package/dist/cjs/dtls/handshake/DtlsClient.js.map +1 -1
  100. package/dist/cjs/dtls/handshake/FinishedMessage.d.ts +10 -3
  101. package/dist/cjs/dtls/handshake/FinishedMessage.d.ts.map +1 -1
  102. package/dist/cjs/dtls/handshake/FinishedMessage.js +4 -2
  103. package/dist/cjs/dtls/handshake/FinishedMessage.js.map +1 -1
  104. package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts +5 -4
  105. package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
  106. package/dist/cjs/dtls/handshake/HandshakeMessage.js +13 -11
  107. package/dist/cjs/dtls/handshake/HandshakeMessage.js.map +1 -1
  108. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
  109. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
  110. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
  111. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
  112. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
  113. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
  114. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js +3 -2
  115. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
  116. package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts +4 -3
  117. package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
  118. package/dist/cjs/dtls/handshake/ServerHelloMessage.js +3 -1
  119. package/dist/cjs/dtls/handshake/ServerHelloMessage.js.map +1 -1
  120. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
  121. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
  122. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
  123. package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts +7 -5
  124. package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
  125. package/dist/cjs/dtls/prf/HandshakeTranscript.js +14 -9
  126. package/dist/cjs/dtls/prf/HandshakeTranscript.js.map +1 -1
  127. package/dist/cjs/dtls/prf/TlsPrf.d.ts +23 -22
  128. package/dist/cjs/dtls/prf/TlsPrf.d.ts.map +1 -1
  129. package/dist/cjs/dtls/prf/TlsPrf.js +33 -30
  130. package/dist/cjs/dtls/prf/TlsPrf.js.map +1 -1
  131. package/dist/cjs/dtls/record/AesCcm8.d.ts +13 -12
  132. package/dist/cjs/dtls/record/AesCcm8.d.ts.map +1 -1
  133. package/dist/cjs/dtls/record/AesCcm8.js +12 -34
  134. package/dist/cjs/dtls/record/AesCcm8.js.map +1 -1
  135. package/dist/cjs/dtls/record/DtlsCipherState.d.ts +11 -10
  136. package/dist/cjs/dtls/record/DtlsCipherState.d.ts.map +1 -1
  137. package/dist/cjs/dtls/record/DtlsCipherState.js +10 -6
  138. package/dist/cjs/dtls/record/DtlsCipherState.js.map +1 -1
  139. package/dist/cjs/dtls/record/DtlsRecord.d.ts +10 -10
  140. package/dist/cjs/dtls/record/DtlsRecord.d.ts.map +1 -1
  141. package/dist/cjs/dtls/record/DtlsRecord.js +10 -8
  142. package/dist/cjs/dtls/record/DtlsRecord.js.map +1 -1
  143. package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts +3 -4
  144. package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
  145. package/dist/cjs/otbr-rest/OtbrRestClient.d.ts +27 -8
  146. package/dist/cjs/otbr-rest/OtbrRestClient.d.ts.map +1 -1
  147. package/dist/cjs/otbr-rest/OtbrRestClient.js +50 -20
  148. package/dist/cjs/otbr-rest/OtbrRestClient.js.map +1 -1
  149. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
  150. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
  151. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js +3 -3
  152. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
  153. package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts +6 -4
  154. package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
  155. package/dist/cjs/otbr-rest/OtbrRestProbe.js +11 -43
  156. package/dist/cjs/otbr-rest/OtbrRestProbe.js.map +1 -1
  157. package/dist/cjs/otbr-rest/caseNormalizer.d.ts +7 -0
  158. package/dist/cjs/otbr-rest/caseNormalizer.d.ts.map +1 -1
  159. package/dist/cjs/otbr-rest/caseNormalizer.js +11 -0
  160. package/dist/cjs/otbr-rest/caseNormalizer.js.map +1 -1
  161. package/dist/cjs/otbr-rest/parseHexBytes.d.ts +22 -0
  162. package/dist/cjs/otbr-rest/parseHexBytes.d.ts.map +1 -0
  163. package/dist/cjs/otbr-rest/parseHexBytes.js +50 -0
  164. package/dist/cjs/otbr-rest/parseHexBytes.js.map +6 -0
  165. package/dist/cjs/otbr-rest/translation.d.ts +2 -1
  166. package/dist/cjs/otbr-rest/translation.d.ts.map +1 -1
  167. package/dist/cjs/otbr-rest/translation.js +20 -22
  168. package/dist/cjs/otbr-rest/translation.js.map +1 -1
  169. package/dist/cjs/selection/selectBr.d.ts +8 -4
  170. package/dist/cjs/selection/selectBr.d.ts.map +1 -1
  171. package/dist/cjs/selection/selectBr.js +6 -5
  172. package/dist/cjs/selection/selectBr.js.map +1 -1
  173. package/dist/cjs/selection/withExtPanIdLock.d.ts +2 -1
  174. package/dist/cjs/selection/withExtPanIdLock.d.ts.map +1 -1
  175. package/dist/cjs/selection/withExtPanIdLock.js.map +1 -1
  176. package/dist/cjs/tlv/BasicTlvCodec.d.ts +4 -4
  177. package/dist/cjs/tlv/BasicTlvCodec.d.ts.map +1 -1
  178. package/dist/cjs/tlv/BasicTlvCodec.js +13 -11
  179. package/dist/cjs/tlv/BasicTlvCodec.js.map +1 -1
  180. package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts +3 -2
  181. package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
  182. package/dist/cjs/tlv/NetworkDiagnosticTlv.js.map +1 -1
  183. package/dist/cjs/tlv/TypeListTlv.d.ts +3 -2
  184. package/dist/cjs/tlv/TypeListTlv.d.ts.map +1 -1
  185. package/dist/cjs/tlv/TypeListTlv.js +1 -1
  186. package/dist/cjs/tlv/TypeListTlv.js.map +1 -1
  187. package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
  188. package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
  189. package/dist/cjs/tlv/diag/ChildIpv6AddressList.js +5 -3
  190. package/dist/cjs/tlv/diag/ChildIpv6AddressList.js.map +1 -1
  191. package/dist/cjs/tlv/diag/ChildTable.d.ts +3 -2
  192. package/dist/cjs/tlv/diag/ChildTable.d.ts.map +1 -1
  193. package/dist/cjs/tlv/diag/ChildTable.js +7 -6
  194. package/dist/cjs/tlv/diag/ChildTable.js.map +1 -1
  195. package/dist/cjs/tlv/diag/Connectivity.d.ts +3 -2
  196. package/dist/cjs/tlv/diag/Connectivity.d.ts.map +1 -1
  197. package/dist/cjs/tlv/diag/Connectivity.js +14 -14
  198. package/dist/cjs/tlv/diag/Connectivity.js.map +1 -1
  199. package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts +3 -2
  200. package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
  201. package/dist/cjs/tlv/diag/Ipv6AddressList.js +6 -5
  202. package/dist/cjs/tlv/diag/Ipv6AddressList.js.map +1 -1
  203. package/dist/cjs/tlv/diag/LeaderData.d.ts +3 -2
  204. package/dist/cjs/tlv/diag/LeaderData.d.ts.map +1 -1
  205. package/dist/cjs/tlv/diag/LeaderData.js +8 -7
  206. package/dist/cjs/tlv/diag/LeaderData.js.map +1 -1
  207. package/dist/cjs/tlv/diag/MacCounters.d.ts +3 -2
  208. package/dist/cjs/tlv/diag/MacCounters.d.ts.map +1 -1
  209. package/dist/cjs/tlv/diag/MacCounters.js +12 -11
  210. package/dist/cjs/tlv/diag/MacCounters.js.map +1 -1
  211. package/dist/cjs/tlv/diag/MleCounters.d.ts +3 -2
  212. package/dist/cjs/tlv/diag/MleCounters.d.ts.map +1 -1
  213. package/dist/cjs/tlv/diag/MleCounters.js +18 -17
  214. package/dist/cjs/tlv/diag/MleCounters.js.map +1 -1
  215. package/dist/cjs/tlv/diag/Mode.d.ts +3 -2
  216. package/dist/cjs/tlv/diag/Mode.d.ts.map +1 -1
  217. package/dist/cjs/tlv/diag/Mode.js +5 -3
  218. package/dist/cjs/tlv/diag/Mode.js.map +1 -1
  219. package/dist/cjs/tlv/diag/NetworkData.d.ts +7 -6
  220. package/dist/cjs/tlv/diag/NetworkData.d.ts.map +1 -1
  221. package/dist/cjs/tlv/diag/NetworkData.js +23 -18
  222. package/dist/cjs/tlv/diag/NetworkData.js.map +1 -1
  223. package/dist/cjs/tlv/diag/Primitives.d.ts +15 -14
  224. package/dist/cjs/tlv/diag/Primitives.d.ts.map +1 -1
  225. package/dist/cjs/tlv/diag/Primitives.js +25 -19
  226. package/dist/cjs/tlv/diag/Primitives.js.map +1 -1
  227. package/dist/cjs/tlv/diag/Route64.d.ts +3 -2
  228. package/dist/cjs/tlv/diag/Route64.d.ts.map +1 -1
  229. package/dist/cjs/tlv/diag/Route64.js +8 -7
  230. package/dist/cjs/tlv/diag/Route64.js.map +1 -1
  231. package/dist/cjs/tlv/diag/RouterNeighbor.d.ts +3 -2
  232. package/dist/cjs/tlv/diag/RouterNeighbor.d.ts.map +1 -1
  233. package/dist/cjs/tlv/diag/RouterNeighbor.js +13 -11
  234. package/dist/cjs/tlv/diag/RouterNeighbor.js.map +1 -1
  235. package/dist/cjs/tlv/diag/Timeout.d.ts +3 -2
  236. package/dist/cjs/tlv/diag/Timeout.d.ts.map +1 -1
  237. package/dist/cjs/tlv/diag/Timeout.js +4 -3
  238. package/dist/cjs/tlv/diag/Timeout.js.map +1 -1
  239. package/dist/cjs/tlv/diag/VendorInfo.d.ts +13 -12
  240. package/dist/cjs/tlv/diag/VendorInfo.d.ts.map +1 -1
  241. package/dist/cjs/tlv/diag/VendorInfo.js +4 -3
  242. package/dist/cjs/tlv/diag/VendorInfo.js.map +1 -1
  243. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
  244. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
  245. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js +7 -4
  246. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
  247. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
  248. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
  249. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js +9 -7
  250. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
  251. package/dist/cjs/util/meshLocalAddr.d.ts +5 -4
  252. package/dist/cjs/util/meshLocalAddr.d.ts.map +1 -1
  253. package/dist/cjs/util/meshLocalAddr.js +6 -4
  254. package/dist/cjs/util/meshLocalAddr.js.map +1 -1
  255. package/dist/esm/coap/CoapClient.d.ts +2 -2
  256. package/dist/esm/coap/CoapClient.d.ts.map +1 -1
  257. package/dist/esm/coap/CoapClient.js +11 -17
  258. package/dist/esm/coap/CoapClient.js.map +1 -1
  259. package/dist/esm/coap/CoapMessage.d.ts +11 -6
  260. package/dist/esm/coap/CoapMessage.d.ts.map +1 -1
  261. package/dist/esm/coap/CoapMessage.js +8 -5
  262. package/dist/esm/coap/CoapMessage.js.map +1 -1
  263. package/dist/esm/commissioner/Commissioner.d.ts.map +1 -1
  264. package/dist/esm/commissioner/Commissioner.js +5 -2
  265. package/dist/esm/commissioner/Commissioner.js.map +1 -1
  266. package/dist/esm/commissioner/LeadKa.d.ts +3 -3
  267. package/dist/esm/commissioner/LeadKa.d.ts.map +1 -1
  268. package/dist/esm/commissioner/LeadKa.js +2 -2
  269. package/dist/esm/commissioner/LeadKa.js.map +1 -1
  270. package/dist/esm/commissioner/LeadPet.d.ts +3 -2
  271. package/dist/esm/commissioner/LeadPet.d.ts.map +1 -1
  272. package/dist/esm/commissioner/LeadPet.js +4 -3
  273. package/dist/esm/commissioner/LeadPet.js.map +1 -1
  274. package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts +5 -5
  275. package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
  276. package/dist/esm/credentials/ThreadCredentialsRegistry.js +10 -9
  277. package/dist/esm/credentials/ThreadCredentialsRegistry.js.map +1 -1
  278. package/dist/esm/credentials/ThreadNetworkCredentials.d.ts +4 -3
  279. package/dist/esm/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
  280. package/dist/esm/crypto/AesCmacPrf128.d.ts +4 -14
  281. package/dist/esm/crypto/AesCmacPrf128.d.ts.map +1 -1
  282. package/dist/esm/crypto/AesCmacPrf128.js +8 -72
  283. package/dist/esm/crypto/AesCmacPrf128.js.map +2 -2
  284. package/dist/esm/crypto/Pbkdf2AesCmac.d.ts +5 -4
  285. package/dist/esm/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
  286. package/dist/esm/crypto/Pbkdf2AesCmac.js +6 -5
  287. package/dist/esm/crypto/Pbkdf2AesCmac.js.map +1 -1
  288. package/dist/esm/crypto/Pskc.d.ts +4 -3
  289. package/dist/esm/crypto/Pskc.d.ts.map +1 -1
  290. package/dist/esm/crypto/Pskc.js +7 -6
  291. package/dist/esm/crypto/Pskc.js.map +1 -1
  292. package/dist/esm/crypto/index.d.ts +1 -1
  293. package/dist/esm/crypto/index.d.ts.map +1 -1
  294. package/dist/esm/crypto/index.js +1 -2
  295. package/dist/esm/crypto/index.js.map +1 -1
  296. package/dist/esm/dataset/OperationalDataset.d.ts +10 -10
  297. package/dist/esm/dataset/OperationalDataset.d.ts.map +1 -1
  298. package/dist/esm/dataset/OperationalDataset.js +32 -31
  299. package/dist/esm/dataset/OperationalDataset.js.map +1 -1
  300. package/dist/esm/dataset/SecurityPolicy.d.ts +3 -2
  301. package/dist/esm/dataset/SecurityPolicy.d.ts.map +1 -1
  302. package/dist/esm/dataset/SecurityPolicy.js +6 -5
  303. package/dist/esm/dataset/SecurityPolicy.js.map +1 -1
  304. package/dist/esm/diagnostic/DiagnosticResponse.d.ts +5 -4
  305. package/dist/esm/diagnostic/DiagnosticResponse.d.ts.map +1 -1
  306. package/dist/esm/diagnostic/DiagnosticSource.d.ts +2 -2
  307. package/dist/esm/diagnostic/DiagnosticSource.d.ts.map +1 -1
  308. package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
  309. package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
  310. package/dist/esm/diagnostic/MeshCopDiagnosticSource.js +49 -43
  311. package/dist/esm/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
  312. package/dist/esm/diagnostic/connectMeshcop.d.ts.map +1 -1
  313. package/dist/esm/diagnostic/connectMeshcop.js +6 -13
  314. package/dist/esm/diagnostic/connectMeshcop.js.map +1 -1
  315. package/dist/esm/diagnostic/errors.d.ts +1 -1
  316. package/dist/esm/diagnostic/errors.d.ts.map +1 -1
  317. package/dist/esm/discovery/BorderRouterRegistry.d.ts.map +1 -1
  318. package/dist/esm/discovery/BorderRouterRegistry.js +2 -4
  319. package/dist/esm/discovery/BorderRouterRegistry.js.map +1 -1
  320. package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts +3 -3
  321. package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
  322. package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
  323. package/dist/esm/dtls/channel/NobleDtlsChannel.js +90 -58
  324. package/dist/esm/dtls/channel/NobleDtlsChannel.js.map +1 -1
  325. package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts +5 -4
  326. package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
  327. package/dist/esm/dtls/ecjpake/EcJpakePms.js +5 -6
  328. package/dist/esm/dtls/ecjpake/EcJpakePms.js.map +1 -1
  329. package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
  330. package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
  331. package/dist/esm/dtls/ecjpake/EcJpakeRound.js +41 -30
  332. package/dist/esm/dtls/ecjpake/EcJpakeRound.js.map +1 -1
  333. package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
  334. package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
  335. package/dist/esm/dtls/ecjpake/SchnorrZkp.js +18 -14
  336. package/dist/esm/dtls/ecjpake/SchnorrZkp.js.map +1 -1
  337. package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
  338. package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
  339. package/dist/esm/dtls/handshake/ChangeCipherSpec.js +3 -1
  340. package/dist/esm/dtls/handshake/ChangeCipherSpec.js.map +1 -1
  341. package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts +27 -4
  342. package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
  343. package/dist/esm/dtls/handshake/ClientHelloMessage.js +4 -2
  344. package/dist/esm/dtls/handshake/ClientHelloMessage.js.map +1 -1
  345. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
  346. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
  347. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
  348. package/dist/esm/dtls/handshake/DtlsClient.d.ts +9 -6
  349. package/dist/esm/dtls/handshake/DtlsClient.d.ts.map +1 -1
  350. package/dist/esm/dtls/handshake/DtlsClient.js +100 -78
  351. package/dist/esm/dtls/handshake/DtlsClient.js.map +1 -1
  352. package/dist/esm/dtls/handshake/FinishedMessage.d.ts +10 -3
  353. package/dist/esm/dtls/handshake/FinishedMessage.d.ts.map +1 -1
  354. package/dist/esm/dtls/handshake/FinishedMessage.js +5 -3
  355. package/dist/esm/dtls/handshake/FinishedMessage.js.map +1 -1
  356. package/dist/esm/dtls/handshake/HandshakeMessage.d.ts +5 -4
  357. package/dist/esm/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
  358. package/dist/esm/dtls/handshake/HandshakeMessage.js +14 -12
  359. package/dist/esm/dtls/handshake/HandshakeMessage.js.map +1 -1
  360. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
  361. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
  362. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
  363. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
  364. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
  365. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
  366. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js +3 -2
  367. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
  368. package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts +4 -3
  369. package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
  370. package/dist/esm/dtls/handshake/ServerHelloMessage.js +3 -1
  371. package/dist/esm/dtls/handshake/ServerHelloMessage.js.map +1 -1
  372. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
  373. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
  374. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
  375. package/dist/esm/dtls/prf/HandshakeTranscript.d.ts +7 -5
  376. package/dist/esm/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
  377. package/dist/esm/dtls/prf/HandshakeTranscript.js +15 -10
  378. package/dist/esm/dtls/prf/HandshakeTranscript.js.map +1 -1
  379. package/dist/esm/dtls/prf/TlsPrf.d.ts +23 -22
  380. package/dist/esm/dtls/prf/TlsPrf.d.ts.map +1 -1
  381. package/dist/esm/dtls/prf/TlsPrf.js +34 -31
  382. package/dist/esm/dtls/prf/TlsPrf.js.map +1 -1
  383. package/dist/esm/dtls/record/AesCcm8.d.ts +13 -12
  384. package/dist/esm/dtls/record/AesCcm8.d.ts.map +1 -1
  385. package/dist/esm/dtls/record/AesCcm8.js +13 -35
  386. package/dist/esm/dtls/record/AesCcm8.js.map +1 -1
  387. package/dist/esm/dtls/record/DtlsCipherState.d.ts +11 -10
  388. package/dist/esm/dtls/record/DtlsCipherState.d.ts.map +1 -1
  389. package/dist/esm/dtls/record/DtlsCipherState.js +11 -7
  390. package/dist/esm/dtls/record/DtlsCipherState.js.map +1 -1
  391. package/dist/esm/dtls/record/DtlsRecord.d.ts +10 -10
  392. package/dist/esm/dtls/record/DtlsRecord.d.ts.map +1 -1
  393. package/dist/esm/dtls/record/DtlsRecord.js +11 -9
  394. package/dist/esm/dtls/record/DtlsRecord.js.map +1 -1
  395. package/dist/esm/otbr-rest/OtbrRestCapability.d.ts +3 -4
  396. package/dist/esm/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
  397. package/dist/esm/otbr-rest/OtbrRestClient.d.ts +27 -8
  398. package/dist/esm/otbr-rest/OtbrRestClient.d.ts.map +1 -1
  399. package/dist/esm/otbr-rest/OtbrRestClient.js +51 -21
  400. package/dist/esm/otbr-rest/OtbrRestClient.js.map +1 -1
  401. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
  402. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
  403. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js +4 -4
  404. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
  405. package/dist/esm/otbr-rest/OtbrRestProbe.d.ts +6 -4
  406. package/dist/esm/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
  407. package/dist/esm/otbr-rest/OtbrRestProbe.js +12 -44
  408. package/dist/esm/otbr-rest/OtbrRestProbe.js.map +1 -1
  409. package/dist/esm/otbr-rest/caseNormalizer.d.ts +7 -0
  410. package/dist/esm/otbr-rest/caseNormalizer.d.ts.map +1 -1
  411. package/dist/esm/otbr-rest/caseNormalizer.js +11 -0
  412. package/dist/esm/otbr-rest/caseNormalizer.js.map +1 -1
  413. package/dist/esm/otbr-rest/parseHexBytes.d.ts +22 -0
  414. package/dist/esm/otbr-rest/parseHexBytes.d.ts.map +1 -0
  415. package/dist/esm/otbr-rest/parseHexBytes.js +30 -0
  416. package/dist/esm/otbr-rest/parseHexBytes.js.map +6 -0
  417. package/dist/esm/otbr-rest/translation.d.ts +2 -1
  418. package/dist/esm/otbr-rest/translation.d.ts.map +1 -1
  419. package/dist/esm/otbr-rest/translation.js +16 -18
  420. package/dist/esm/otbr-rest/translation.js.map +1 -1
  421. package/dist/esm/selection/selectBr.d.ts +8 -4
  422. package/dist/esm/selection/selectBr.d.ts.map +1 -1
  423. package/dist/esm/selection/selectBr.js +6 -5
  424. package/dist/esm/selection/selectBr.js.map +1 -1
  425. package/dist/esm/selection/withExtPanIdLock.d.ts +2 -1
  426. package/dist/esm/selection/withExtPanIdLock.d.ts.map +1 -1
  427. package/dist/esm/selection/withExtPanIdLock.js.map +1 -1
  428. package/dist/esm/tlv/BasicTlvCodec.d.ts +4 -4
  429. package/dist/esm/tlv/BasicTlvCodec.d.ts.map +1 -1
  430. package/dist/esm/tlv/BasicTlvCodec.js +14 -12
  431. package/dist/esm/tlv/BasicTlvCodec.js.map +1 -1
  432. package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts +3 -2
  433. package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
  434. package/dist/esm/tlv/NetworkDiagnosticTlv.js.map +1 -1
  435. package/dist/esm/tlv/TypeListTlv.d.ts +3 -2
  436. package/dist/esm/tlv/TypeListTlv.d.ts.map +1 -1
  437. package/dist/esm/tlv/TypeListTlv.js +2 -2
  438. package/dist/esm/tlv/TypeListTlv.js.map +1 -1
  439. package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
  440. package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
  441. package/dist/esm/tlv/diag/ChildIpv6AddressList.js +5 -3
  442. package/dist/esm/tlv/diag/ChildIpv6AddressList.js.map +1 -1
  443. package/dist/esm/tlv/diag/ChildTable.d.ts +3 -2
  444. package/dist/esm/tlv/diag/ChildTable.d.ts.map +1 -1
  445. package/dist/esm/tlv/diag/ChildTable.js +8 -7
  446. package/dist/esm/tlv/diag/ChildTable.js.map +1 -1
  447. package/dist/esm/tlv/diag/Connectivity.d.ts +3 -2
  448. package/dist/esm/tlv/diag/Connectivity.d.ts.map +1 -1
  449. package/dist/esm/tlv/diag/Connectivity.js +14 -14
  450. package/dist/esm/tlv/diag/Connectivity.js.map +1 -1
  451. package/dist/esm/tlv/diag/Ipv6AddressList.d.ts +3 -2
  452. package/dist/esm/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
  453. package/dist/esm/tlv/diag/Ipv6AddressList.js +7 -6
  454. package/dist/esm/tlv/diag/Ipv6AddressList.js.map +1 -1
  455. package/dist/esm/tlv/diag/LeaderData.d.ts +3 -2
  456. package/dist/esm/tlv/diag/LeaderData.d.ts.map +1 -1
  457. package/dist/esm/tlv/diag/LeaderData.js +9 -8
  458. package/dist/esm/tlv/diag/LeaderData.js.map +1 -1
  459. package/dist/esm/tlv/diag/MacCounters.d.ts +3 -2
  460. package/dist/esm/tlv/diag/MacCounters.d.ts.map +1 -1
  461. package/dist/esm/tlv/diag/MacCounters.js +13 -12
  462. package/dist/esm/tlv/diag/MacCounters.js.map +1 -1
  463. package/dist/esm/tlv/diag/MleCounters.d.ts +3 -2
  464. package/dist/esm/tlv/diag/MleCounters.d.ts.map +1 -1
  465. package/dist/esm/tlv/diag/MleCounters.js +19 -18
  466. package/dist/esm/tlv/diag/MleCounters.js.map +1 -1
  467. package/dist/esm/tlv/diag/Mode.d.ts +3 -2
  468. package/dist/esm/tlv/diag/Mode.d.ts.map +1 -1
  469. package/dist/esm/tlv/diag/Mode.js +5 -3
  470. package/dist/esm/tlv/diag/Mode.js.map +1 -1
  471. package/dist/esm/tlv/diag/NetworkData.d.ts +7 -6
  472. package/dist/esm/tlv/diag/NetworkData.d.ts.map +1 -1
  473. package/dist/esm/tlv/diag/NetworkData.js +23 -18
  474. package/dist/esm/tlv/diag/NetworkData.js.map +1 -1
  475. package/dist/esm/tlv/diag/Primitives.d.ts +15 -14
  476. package/dist/esm/tlv/diag/Primitives.d.ts.map +1 -1
  477. package/dist/esm/tlv/diag/Primitives.js +26 -20
  478. package/dist/esm/tlv/diag/Primitives.js.map +1 -1
  479. package/dist/esm/tlv/diag/Route64.d.ts +3 -2
  480. package/dist/esm/tlv/diag/Route64.d.ts.map +1 -1
  481. package/dist/esm/tlv/diag/Route64.js +9 -8
  482. package/dist/esm/tlv/diag/Route64.js.map +1 -1
  483. package/dist/esm/tlv/diag/RouterNeighbor.d.ts +3 -2
  484. package/dist/esm/tlv/diag/RouterNeighbor.d.ts.map +1 -1
  485. package/dist/esm/tlv/diag/RouterNeighbor.js +13 -11
  486. package/dist/esm/tlv/diag/RouterNeighbor.js.map +1 -1
  487. package/dist/esm/tlv/diag/Timeout.d.ts +3 -2
  488. package/dist/esm/tlv/diag/Timeout.d.ts.map +1 -1
  489. package/dist/esm/tlv/diag/Timeout.js +5 -4
  490. package/dist/esm/tlv/diag/Timeout.js.map +1 -1
  491. package/dist/esm/tlv/diag/VendorInfo.d.ts +13 -12
  492. package/dist/esm/tlv/diag/VendorInfo.d.ts.map +1 -1
  493. package/dist/esm/tlv/diag/VendorInfo.js +5 -4
  494. package/dist/esm/tlv/diag/VendorInfo.js.map +1 -1
  495. package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
  496. package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
  497. package/dist/esm/tlv/meshcop/Ip6AddressTlv.js +7 -4
  498. package/dist/esm/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
  499. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
  500. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
  501. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js +10 -8
  502. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
  503. package/dist/esm/util/meshLocalAddr.d.ts +5 -4
  504. package/dist/esm/util/meshLocalAddr.d.ts.map +1 -1
  505. package/dist/esm/util/meshLocalAddr.js +7 -5
  506. package/dist/esm/util/meshLocalAddr.js.map +1 -1
  507. package/package.json +5 -5
  508. package/src/coap/CoapClient.ts +13 -20
  509. package/src/coap/CoapMessage.ts +17 -9
  510. package/src/commissioner/Commissioner.ts +5 -2
  511. package/src/commissioner/LeadKa.ts +4 -4
  512. package/src/commissioner/LeadPet.ts +6 -5
  513. package/src/credentials/ThreadCredentialsRegistry.ts +14 -13
  514. package/src/credentials/ThreadNetworkCredentials.ts +5 -3
  515. package/src/crypto/AesCmacPrf128.ts +10 -87
  516. package/src/crypto/Pbkdf2AesCmac.ts +14 -10
  517. package/src/crypto/Pskc.ts +7 -6
  518. package/src/crypto/index.ts +1 -1
  519. package/src/dataset/OperationalDataset.ts +48 -47
  520. package/src/dataset/SecurityPolicy.ts +8 -7
  521. package/src/diagnostic/DiagnosticResponse.ts +5 -4
  522. package/src/diagnostic/DiagnosticSource.ts +2 -2
  523. package/src/diagnostic/MeshCopDiagnosticSource.ts +80 -64
  524. package/src/diagnostic/connectMeshcop.ts +6 -14
  525. package/src/diagnostic/errors.ts +1 -1
  526. package/src/discovery/BorderRouterRegistry.ts +2 -4
  527. package/src/dtls/channel/DtlsConnectOpts.ts +3 -3
  528. package/src/dtls/channel/NobleDtlsChannel.ts +96 -60
  529. package/src/dtls/ecjpake/EcJpakePms.ts +5 -6
  530. package/src/dtls/ecjpake/EcJpakeRound.ts +57 -37
  531. package/src/dtls/ecjpake/SchnorrZkp.ts +43 -30
  532. package/src/dtls/handshake/ChangeCipherSpec.ts +3 -1
  533. package/src/dtls/handshake/ClientHelloMessage.ts +8 -6
  534. package/src/dtls/handshake/ClientKeyExchangeMessage.ts +2 -1
  535. package/src/dtls/handshake/DtlsClient.ts +119 -95
  536. package/src/dtls/handshake/FinishedMessage.ts +5 -3
  537. package/src/dtls/handshake/HandshakeMessage.ts +18 -16
  538. package/src/dtls/handshake/HelloVerifyRequestMessage.ts +3 -1
  539. package/src/dtls/handshake/ServerHelloDoneMessage.ts +5 -3
  540. package/src/dtls/handshake/ServerHelloMessage.ts +5 -3
  541. package/src/dtls/handshake/ServerKeyExchangeMessage.ts +2 -1
  542. package/src/dtls/prf/HandshakeTranscript.ts +18 -11
  543. package/src/dtls/prf/TlsPrf.ts +68 -54
  544. package/src/dtls/record/AesCcm8.ts +23 -49
  545. package/src/dtls/record/DtlsCipherState.ts +20 -16
  546. package/src/dtls/record/DtlsRecord.ts +17 -15
  547. package/src/otbr-rest/OtbrRestCapability.ts +4 -4
  548. package/src/otbr-rest/OtbrRestClient.ts +64 -29
  549. package/src/otbr-rest/OtbrRestDiagnosticSource.ts +5 -5
  550. package/src/otbr-rest/OtbrRestProbe.ts +12 -47
  551. package/src/otbr-rest/caseNormalizer.ts +17 -0
  552. package/src/otbr-rest/parseHexBytes.ts +47 -0
  553. package/src/otbr-rest/translation.ts +24 -22
  554. package/src/selection/selectBr.ts +26 -13
  555. package/src/selection/withExtPanIdLock.ts +1 -1
  556. package/src/tlv/BasicTlvCodec.ts +17 -15
  557. package/src/tlv/NetworkDiagnosticTlv.ts +3 -2
  558. package/src/tlv/TypeListTlv.ts +4 -4
  559. package/src/tlv/diag/ChildIpv6AddressList.ts +8 -5
  560. package/src/tlv/diag/ChildTable.ts +10 -9
  561. package/src/tlv/diag/Connectivity.ts +16 -16
  562. package/src/tlv/diag/Ipv6AddressList.ts +9 -8
  563. package/src/tlv/diag/LeaderData.ts +11 -10
  564. package/src/tlv/diag/MacCounters.ts +15 -14
  565. package/src/tlv/diag/MleCounters.ts +21 -20
  566. package/src/tlv/diag/Mode.ts +7 -5
  567. package/src/tlv/diag/NetworkData.ts +31 -26
  568. package/src/tlv/diag/Primitives.ts +42 -36
  569. package/src/tlv/diag/Route64.ts +11 -10
  570. package/src/tlv/diag/RouterNeighbor.ts +16 -13
  571. package/src/tlv/diag/Timeout.ts +7 -6
  572. package/src/tlv/diag/VendorInfo.ts +19 -18
  573. package/src/tlv/meshcop/Ip6AddressTlv.ts +9 -6
  574. package/src/tlv/meshcop/UdpEncapsulationTlv.ts +13 -11
  575. package/src/util/meshLocalAddr.ts +10 -8
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ImplementationError, InternalError } from "@matter/general";
6
+ import { Bytes, ImplementationError, InternalError } from "@matter/general";
7
7
  import { DtlsError } from "../channel/DtlsChannel.js";
8
8
  import { EcJpakePms } from "../ecjpake/EcJpakePms.js";
9
9
  import { ECJPAKE_ID_CLIENT, ECJPAKE_ID_SERVER, EcJpakeRound } from "../ecjpake/EcJpakeRound.js";
@@ -26,15 +26,16 @@ import { ServerKeyExchangeMessage } from "./ServerKeyExchangeMessage.js";
26
26
  const RANDOM_LEN = 32;
27
27
  function bigintFromBE(bytes) {
28
28
  let v = 0n;
29
- for (const byte of bytes) {
29
+ for (const byte of Bytes.of(bytes)) {
30
30
  v = v << 8n | BigInt(byte);
31
31
  }
32
32
  return v;
33
33
  }
34
34
  class DtlsClient {
35
35
  #config;
36
+ #crypto;
36
37
  #state = "initial";
37
- #transcript = new HandshakeTranscript();
38
+ #transcript;
38
39
  #handshakeMessageSeq = 0;
39
40
  #recordSeq = 0n;
40
41
  #lastFlight = new Array();
@@ -52,6 +53,8 @@ class DtlsClient {
52
53
  #cipherState;
53
54
  constructor(config) {
54
55
  this.#config = config;
56
+ this.#crypto = config.crypto;
57
+ this.#transcript = new HandshakeTranscript(this.#crypto);
55
58
  }
56
59
  state() {
57
60
  return this.#state;
@@ -68,11 +71,11 @@ class DtlsClient {
68
71
  return this.#cipherState;
69
72
  }
70
73
  /** Initial flight: ClientHello with empty cookie. */
71
- start() {
74
+ async start() {
72
75
  if (this.#state !== "initial") {
73
76
  throw new ImplementationError(`DtlsClient.start() called in state '${this.#state}'`);
74
77
  }
75
- const random = this.#config.random();
78
+ const random = Bytes.of(this.#config.random());
76
79
  if (random.length !== RANDOM_LEN) {
77
80
  throw new ImplementationError(
78
81
  `DtlsClient config.random() returned ${random.length} bytes, need ${RANDOM_LEN}`
@@ -83,34 +86,35 @@ class DtlsClient {
83
86
  const x2 = this.#config.ephemeralScalar();
84
87
  const v1 = this.#config.ephemeralScalar();
85
88
  const v2 = this.#config.ephemeralScalar();
86
- const round1 = EcJpakeRound.buildRound1({ x1, x2, v1, v2, id: ECJPAKE_ID_CLIENT });
89
+ const round1 = await EcJpakeRound.buildRound1(this.#crypto, { x1, x2, v1, v2, id: ECJPAKE_ID_CLIENT });
87
90
  this.#x2 = x2;
88
91
  this.#X1 = round1.kp1.X;
89
92
  this.#X2 = round1.kp2.X;
90
93
  this.#round1Bytes = EcJpakeRound.serializeRound1(round1.kp1, round1.kp2);
91
- const records = this.#emitClientHello(new Uint8Array(0), false);
94
+ const records = await this.#emitClientHello(new Uint8Array(0), false);
92
95
  this.#state = "sent_first_clienthello";
93
96
  return { records };
94
97
  }
95
98
  /** Re-emit the last flight bytes-identically (RFC 6347 §4.2.4). */
96
- onRetransmit() {
99
+ async onRetransmit() {
97
100
  if (this.#state === "initial" || this.#state === "established" || this.#state === "failed") {
98
101
  throw new ImplementationError(`DtlsClient.onRetransmit() called in state '${this.#state}'`);
99
102
  }
100
103
  return { records: this.#lastFlight.map((r) => r.slice()) };
101
104
  }
102
- onDatagram(bytes) {
105
+ async onDatagram(bytes) {
103
106
  if (this.#state === "established" || this.#state === "failed" || this.#state === "initial") {
104
107
  throw new ImplementationError(`DtlsClient.onDatagram() called in state '${this.#state}'`);
105
108
  }
109
+ const buf = Bytes.of(bytes);
106
110
  try {
107
111
  switch (this.#state) {
108
112
  case "sent_first_clienthello":
109
- return this.#handleHelloVerifyOrServerHello(this.#splitDatagramIntoRecords(bytes));
113
+ return await this.#handleHelloVerifyOrServerHello(await this.#splitDatagramIntoRecords(buf));
110
114
  case "sent_clienthello_with_cookie":
111
- return this.#handleServerHelloFlight(this.#splitDatagramIntoRecords(bytes));
115
+ return await this.#handleServerHelloFlight(await this.#splitDatagramIntoRecords(buf));
112
116
  case "sent_clientkeyexchange_flight":
113
- return this.#handleServerFinishedFlightLazy(bytes);
117
+ return await this.#handleServerFinishedFlightLazy(buf);
114
118
  default:
115
119
  throw new InternalError(`DtlsClient: state ${this.#state} cannot consume a datagram`);
116
120
  }
@@ -121,12 +125,12 @@ class DtlsClient {
121
125
  }
122
126
  // -----------------------------------------------------------------------
123
127
  // Datagram / record splitting
124
- #splitDatagramIntoRecords(bytes) {
128
+ async #splitDatagramIntoRecords(bytes) {
125
129
  const out = new Array();
126
130
  let p = 0;
127
131
  while (p < bytes.length) {
128
- const { record, consumed } = DtlsRecord.decode(bytes.subarray(p), this.#cipherState);
129
- out.push(record);
132
+ const { record, consumed } = await DtlsRecord.decode(this.#crypto, bytes.subarray(p), this.#cipherState);
133
+ out.push({ ...record, fragment: Bytes.of(record.fragment) });
130
134
  p += consumed;
131
135
  }
132
136
  return out;
@@ -152,7 +156,7 @@ class DtlsClient {
152
156
  }
153
157
  // -----------------------------------------------------------------------
154
158
  // Outbound encoding helpers
155
- #emitClientHello(cookie, contributesToTranscript) {
159
+ async #emitClientHello(cookie, contributesToTranscript) {
156
160
  const body = ClientHelloMessage.build({
157
161
  random: this.#clientRandom,
158
162
  cookie,
@@ -172,12 +176,14 @@ class DtlsClient {
172
176
  })
173
177
  );
174
178
  }
175
- const record = DtlsRecord.encode({
176
- type: ContentType.HANDSHAKE,
177
- epoch: 0,
178
- sequenceNumber: this.#recordSeq,
179
- fragment: handshake
180
- });
179
+ const record = Bytes.of(
180
+ await DtlsRecord.encode(this.#crypto, {
181
+ type: ContentType.HANDSHAKE,
182
+ epoch: 0,
183
+ sequenceNumber: this.#recordSeq,
184
+ fragment: handshake
185
+ })
186
+ );
181
187
  this.#recordSeq += 1n;
182
188
  this.#handshakeMessageSeq += 1;
183
189
  this.#lastFlight = [record];
@@ -185,19 +191,19 @@ class DtlsClient {
185
191
  }
186
192
  // -----------------------------------------------------------------------
187
193
  // State handlers
188
- #handleHelloVerifyOrServerHello(records) {
194
+ async #handleHelloVerifyOrServerHello(records) {
189
195
  const messages = this.#extractHandshakeMessages(records);
190
196
  if (messages.length === 0) {
191
197
  throw new DtlsError("DtlsClient: expected handshake message, got none");
192
198
  }
193
199
  if (messages[0].msgType === HandshakeType.HELLO_VERIFY_REQUEST) {
194
200
  const { cookie } = HelloVerifyRequestMessage.parse(messages[0].body);
195
- this.#transcript = new HandshakeTranscript();
196
- const records2 = this.#emitClientHello(cookie, true);
201
+ this.#transcript = new HandshakeTranscript(this.#crypto);
202
+ const records2 = await this.#emitClientHello(cookie, true);
197
203
  this.#state = "sent_clienthello_with_cookie";
198
204
  return { records: records2 };
199
205
  }
200
- this.#transcript = new HandshakeTranscript();
206
+ this.#transcript = new HandshakeTranscript(this.#crypto);
201
207
  const firstHelloBody = ClientHelloMessage.build({
202
208
  random: this.#clientRandom,
203
209
  cookie: new Uint8Array(0),
@@ -210,13 +216,13 @@ class DtlsClient {
210
216
  body: firstHelloBody
211
217
  })
212
218
  );
213
- return this.#consumeServerFlight(messages);
219
+ return await this.#consumeServerFlight(messages);
214
220
  }
215
- #handleServerHelloFlight(records) {
221
+ async #handleServerHelloFlight(records) {
216
222
  const messages = this.#extractHandshakeMessages(records);
217
- return this.#consumeServerFlight(messages);
223
+ return await this.#consumeServerFlight(messages);
218
224
  }
219
- #consumeServerFlight(messages) {
225
+ async #consumeServerFlight(messages) {
220
226
  if (messages.length < 3) {
221
227
  throw new DtlsError(
222
228
  `DtlsClient: server flight needs ServerHello+ServerKeyExchange+ServerHelloDone, got ${messages.length} message(s)`
@@ -242,14 +248,14 @@ class DtlsClient {
242
248
  const serverRound1 = EcJpakeRound.parseRound1(parsedSh.ecjpakeKkpp);
243
249
  this.#X3 = serverRound1.kp1.X;
244
250
  this.#X4 = serverRound1.kp2.X;
245
- if (!SchnorrZkp.verify({
251
+ if (!await SchnorrZkp.verify(this.#crypto, {
246
252
  zkp: serverRound1.kp1.zkp,
247
253
  publicKey: serverRound1.kp1.X,
248
254
  id: ECJPAKE_ID_SERVER
249
255
  })) {
250
256
  throw new DtlsError("DtlsClient: server round-1 KP1 ZKP verification failed");
251
257
  }
252
- if (!SchnorrZkp.verify({
258
+ if (!await SchnorrZkp.verify(this.#crypto, {
253
259
  zkp: serverRound1.kp2.zkp,
254
260
  publicKey: serverRound1.kp2.X,
255
261
  id: ECJPAKE_ID_SERVER
@@ -262,7 +268,7 @@ class DtlsClient {
262
268
  Xp2: this.#X2,
263
269
  Xm1: this.#X3
264
270
  });
265
- if (!EcJpakeRound.verifyRound2Zkp({
271
+ if (!await EcJpakeRound.verifyRound2Zkp(this.#crypto, {
266
272
  kp: skeKp,
267
273
  generator: serverGenerator,
268
274
  peerId: ECJPAKE_ID_SERVER
@@ -274,13 +280,13 @@ class DtlsClient {
274
280
  this.#transcript.appendHandshakeMessage(ske.transcriptBytes);
275
281
  this.#transcript.appendHandshakeMessage(shd.transcriptBytes);
276
282
  this.#state = "received_serverhello_flight";
277
- return this.#emitClientFlight(skeKp.X);
283
+ return await this.#emitClientFlight(skeKp.X);
278
284
  }
279
285
  /**
280
286
  * Build the client's CKE + CCS + Finished flight and arm the cipher state.
281
287
  * `serverRound2X` is the server's round-2 public point (`Xp` for the PMS derivation).
282
288
  */
283
- #emitClientFlight(serverRound2X) {
289
+ async #emitClientFlight(serverRound2X) {
284
290
  if (this.#X3 === void 0 || this.#X4 === void 0 || this.#serverRandom === void 0) {
285
291
  throw new InternalError("DtlsClient: emitClientFlight called before server flight was parsed");
286
292
  }
@@ -291,7 +297,7 @@ class DtlsClient {
291
297
  Xp2: this.#X4,
292
298
  Xm1: this.#X1
293
299
  });
294
- const clientRound2 = EcJpakeRound.buildRound2({
300
+ const clientRound2 = await EcJpakeRound.buildRound2(this.#crypto, {
295
301
  xm2: this.#x2,
296
302
  s,
297
303
  v: v3,
@@ -313,19 +319,21 @@ class DtlsClient {
313
319
  body: ckeBody
314
320
  })
315
321
  );
316
- const pms = EcJpakePms.derive({
322
+ const pms = await EcJpakePms.derive(this.#crypto, {
317
323
  Xp: serverRound2X,
318
324
  Xp2: this.#X4,
319
325
  xm2: this.#x2,
320
326
  s
321
327
  });
322
- const masterSecret = TlsPrf.masterSecret({
323
- premasterSecret: pms,
324
- clientRandom: this.#clientRandom,
325
- serverRandom: this.#serverRandom
326
- });
328
+ const masterSecret = Bytes.of(
329
+ await TlsPrf.masterSecret(this.#crypto, {
330
+ premasterSecret: pms,
331
+ clientRandom: this.#clientRandom,
332
+ serverRandom: this.#serverRandom
333
+ })
334
+ );
327
335
  this.#masterSecret = masterSecret;
328
- const keyBlock = TlsPrf.keyBlock({
336
+ const keyBlock = await TlsPrf.keyBlock(this.#crypto, {
329
337
  masterSecret,
330
338
  clientRandom: this.#clientRandom,
331
339
  serverRandom: this.#serverRandom
@@ -337,11 +345,13 @@ class DtlsClient {
337
345
  serverWriteSalt: keyBlock.serverWriteIv
338
346
  });
339
347
  this.#cipherState = cipherState;
340
- const verifyData = TlsPrf.verifyData({
341
- masterSecret,
342
- role: "client",
343
- transcriptDigest: this.#transcript.digest()
344
- });
348
+ const verifyData = Bytes.of(
349
+ await TlsPrf.verifyData(this.#crypto, {
350
+ masterSecret,
351
+ role: "client",
352
+ transcriptDigest: await this.#transcript.digest()
353
+ })
354
+ );
345
355
  const finishedBody = FinishedMessage.build(verifyData);
346
356
  const finishedMsgSeq = this.#handshakeMessageSeq;
347
357
  const finishedHandshake = HandshakeMessage.encode({
@@ -357,30 +367,37 @@ class DtlsClient {
357
367
  body: finishedBody
358
368
  })
359
369
  );
360
- const ckeRecord = DtlsRecord.encode({
361
- type: ContentType.HANDSHAKE,
362
- epoch: 0,
363
- sequenceNumber: this.#recordSeq,
364
- fragment: ckeHandshake
365
- });
370
+ const ckeRecord = Bytes.of(
371
+ await DtlsRecord.encode(this.#crypto, {
372
+ type: ContentType.HANDSHAKE,
373
+ epoch: 0,
374
+ sequenceNumber: this.#recordSeq,
375
+ fragment: ckeHandshake
376
+ })
377
+ );
366
378
  this.#recordSeq += 1n;
367
- const ccsRecord = DtlsRecord.encode({
368
- type: ContentType.CHANGE_CIPHER_SPEC,
369
- epoch: 0,
370
- sequenceNumber: this.#recordSeq,
371
- fragment: CHANGE_CIPHER_SPEC_BODY
372
- });
379
+ const ccsRecord = Bytes.of(
380
+ await DtlsRecord.encode(this.#crypto, {
381
+ type: ContentType.CHANGE_CIPHER_SPEC,
382
+ epoch: 0,
383
+ sequenceNumber: this.#recordSeq,
384
+ fragment: CHANGE_CIPHER_SPEC_BODY
385
+ })
386
+ );
373
387
  this.#recordSeq += 1n;
374
388
  cipherState.advanceWriteEpoch();
375
389
  const finishedSeq = cipherState.nextWriteSeq();
376
- const finishedRecord = DtlsRecord.encode(
377
- {
378
- type: ContentType.HANDSHAKE,
379
- epoch: cipherState.writeEpoch,
380
- sequenceNumber: finishedSeq,
381
- fragment: finishedHandshake
382
- },
383
- cipherState
390
+ const finishedRecord = Bytes.of(
391
+ await DtlsRecord.encode(
392
+ this.#crypto,
393
+ {
394
+ type: ContentType.HANDSHAKE,
395
+ epoch: cipherState.writeEpoch,
396
+ sequenceNumber: finishedSeq,
397
+ fragment: finishedHandshake
398
+ },
399
+ cipherState
400
+ )
384
401
  );
385
402
  const flight = [ckeRecord, ccsRecord, finishedRecord];
386
403
  this.#lastFlight = flight;
@@ -394,7 +411,7 @@ class DtlsClient {
394
411
  * `DtlsRecord.decode` for both records would feed CCS to the codec only after the
395
412
  * decrypt of the Finished record had already failed with a wrong-epoch error.
396
413
  */
397
- #handleServerFinishedFlightLazy(bytes) {
414
+ async #handleServerFinishedFlightLazy(bytes) {
398
415
  const cipherState = this.#cipherState;
399
416
  const masterSecret = this.#masterSecret;
400
417
  if (cipherState === void 0 || masterSecret === void 0) {
@@ -416,7 +433,7 @@ class DtlsClient {
416
433
  }
417
434
  const recordBytes = bytes.subarray(p, recordEnd);
418
435
  const stateForDecode = epoch === 0 ? void 0 : cipherState;
419
- const { record } = DtlsRecord.decode(recordBytes, stateForDecode);
436
+ const { record } = await DtlsRecord.decode(this.#crypto, recordBytes, stateForDecode);
420
437
  if (record.type === ContentType.CHANGE_CIPHER_SPEC) {
421
438
  ChangeCipherSpec.parse(record.fragment);
422
439
  cipherState.advanceReadEpoch();
@@ -430,9 +447,10 @@ class DtlsClient {
430
447
  `DtlsClient: server Finished record at epoch ${record.epoch}, expected ${cipherState.readEpoch}`
431
448
  );
432
449
  }
450
+ const fragment = Bytes.of(record.fragment);
433
451
  let q = 0;
434
- while (q < record.fragment.length) {
435
- const { message, consumed } = HandshakeMessage.decode(record.fragment.subarray(q));
452
+ while (q < fragment.length) {
453
+ const { message, consumed } = HandshakeMessage.decode(fragment.subarray(q));
436
454
  if (message.msgType !== HandshakeType.FINISHED) {
437
455
  throw new DtlsError(`DtlsClient: expected Finished, got msg_type=${message.msgType}`);
438
456
  }
@@ -446,11 +464,13 @@ class DtlsClient {
446
464
  if (serverFinishedBody === void 0) {
447
465
  throw new DtlsError("DtlsClient: server flight missing Finished message");
448
466
  }
449
- const expected = TlsPrf.verifyData({
450
- masterSecret,
451
- role: "server",
452
- transcriptDigest: this.#transcript.digest()
453
- });
467
+ const expected = Bytes.of(
468
+ await TlsPrf.verifyData(this.#crypto, {
469
+ masterSecret,
470
+ role: "server",
471
+ transcriptDigest: await this.#transcript.digest()
472
+ })
473
+ );
454
474
  const actual = FinishedMessage.parse(serverFinishedBody).verifyData;
455
475
  if (!constantTimeEqual(expected, actual)) {
456
476
  throw new DtlsError("DtlsClient: server Finished verify_data mismatch");
@@ -466,7 +486,9 @@ class DtlsClient {
466
486
  return { records: [] };
467
487
  }
468
488
  }
469
- function constantTimeEqual(a, b) {
489
+ function constantTimeEqual(rawA, rawB) {
490
+ const a = Bytes.of(rawA);
491
+ const b = Bytes.of(rawB);
470
492
  if (a.length !== b.length || a.length !== FINISHED_VERIFY_DATA_LEN) {
471
493
  return false;
472
494
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dtls/handshake/DtlsClient.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,10 +3,17 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ /**
7
+ * Finished message body codec (RFC 5246 §7.4.9). The body is exactly the
8
+ * 12-byte `verify_data` from the TLS PRF; the wider machinery — choosing
9
+ * the role label, snapshotting the transcript, computing the PRF — sits in
10
+ * `TlsPrf.verifyData` and the state machine.
11
+ */
12
+ import { Bytes } from "@matter/general";
6
13
  export declare const FinishedMessage: {
7
- build(verifyData: Uint8Array): Uint8Array;
8
- parse(body: Uint8Array): {
9
- verifyData: Uint8Array;
14
+ build(rawVerifyData: Bytes): Bytes;
15
+ parse(rawBody: Bytes): {
16
+ verifyData: Bytes;
10
17
  };
11
18
  };
12
19
  export declare const FINISHED_VERIFY_DATA_LEN = 12;
@@ -1 +1 @@
1
- {"version":3,"file":"FinishedMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/FinishedMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,eAAO,MAAM,eAAe;IACxB,KAAK,aAAa,UAAU,GAAG,UAAU;IAQzC,KAAK,OAAO,UAAU,GAAG;QAAE,UAAU,EAAE,UAAU,CAAA;KAAE;CAM7C,CAAC;AAEX,eAAO,MAAM,wBAAwB,KAAkB,CAAC"}
1
+ {"version":3,"file":"FinishedMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/FinishedMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAC;AAKvD,eAAO,MAAM,eAAe;IACxB,KAAK,gBAAgB,KAAK,GAAG,KAAK;IASlC,KAAK,UAAU,KAAK,GAAG;QAAE,UAAU,EAAE,KAAK,CAAA;KAAE;CAOtC,CAAC;AAEX,eAAO,MAAM,wBAAwB,KAAkB,CAAC"}
@@ -3,17 +3,19 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { InternalError } from "@matter/general";
6
+ import { Bytes, InternalError } from "@matter/general";
7
7
  import { DtlsError } from "../channel/DtlsChannel.js";
8
8
  const VERIFY_DATA_LEN = 12;
9
9
  const FinishedMessage = {
10
- build(verifyData) {
10
+ build(rawVerifyData) {
11
+ const verifyData = Bytes.of(rawVerifyData);
11
12
  if (verifyData.length !== VERIFY_DATA_LEN) {
12
13
  throw new InternalError(`Finished verify_data must be ${VERIFY_DATA_LEN} bytes, got ${verifyData.length}`);
13
14
  }
14
15
  return verifyData.slice();
15
16
  },
16
- parse(body) {
17
+ parse(rawBody) {
18
+ const body = Bytes.of(rawBody);
17
19
  if (body.length !== VERIFY_DATA_LEN) {
18
20
  throw new DtlsError(`Finished body must be ${VERIFY_DATA_LEN} bytes, got ${body.length}`);
19
21
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dtls/handshake/FinishedMessage.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAE1B,MAAM,kBAAkB;AAEjB,MAAM,kBAAkB;AAAA,EAC3B,MAAM,YAAoC;AACtC,QAAI,WAAW,WAAW,iBAAiB;AACvC,YAAM,IAAI,cAAc,gCAAgC,eAAe,eAAe,WAAW,MAAM,EAAE;AAAA,IAC7G;AAEA,WAAO,WAAW,MAAM;AAAA,EAC5B;AAAA,EAEA,MAAM,MAA8C;AAChD,QAAI,KAAK,WAAW,iBAAiB;AACjC,YAAM,IAAI,UAAU,yBAAyB,eAAe,eAAe,KAAK,MAAM,EAAE;AAAA,IAC5F;AACA,WAAO,EAAE,YAAY,KAAK,MAAM,EAAE;AAAA,EACtC;AACJ;AAEO,MAAM,2BAA2B;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,SAAS,OAAO,qBAAqB;AACrC,SAAS,iBAAiB;AAE1B,MAAM,kBAAkB;AAEjB,MAAM,kBAAkB;AAAA,EAC3B,MAAM,eAA6B;AAC/B,UAAM,aAAa,MAAM,GAAG,aAAa;AACzC,QAAI,WAAW,WAAW,iBAAiB;AACvC,YAAM,IAAI,cAAc,gCAAgC,eAAe,eAAe,WAAW,MAAM,EAAE;AAAA,IAC7G;AAEA,WAAO,WAAW,MAAM;AAAA,EAC5B;AAAA,EAEA,MAAM,SAAuC;AACzC,UAAM,OAAO,MAAM,GAAG,OAAO;AAC7B,QAAI,KAAK,WAAW,iBAAiB;AACjC,YAAM,IAAI,UAAU,yBAAyB,eAAe,eAAe,KAAK,MAAM,EAAE;AAAA,IAC5F;AACA,WAAO,EAAE,YAAY,KAAK,MAAM,EAAE;AAAA,EACtC;AACJ;AAEO,MAAM,2BAA2B;",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes } from "@matter/general";
6
7
  import { HandshakeType } from "./HandshakeType.js";
7
8
  /** Length of the DTLS 1.2 handshake message header (RFC 6347 §4.2.2). */
8
9
  export declare const DTLS_HANDSHAKE_HEADER_LEN = 12;
@@ -24,7 +25,7 @@ export declare const UINT24_MAX: number;
24
25
  export interface HandshakeMessage {
25
26
  msgType: HandshakeType;
26
27
  messageSeq: number;
27
- body: Uint8Array;
28
+ body: Bytes;
28
29
  }
29
30
  /**
30
31
  * DTLS 1.2 handshake message envelope codec (RFC 6347 §4.2.2).
@@ -47,12 +48,12 @@ export interface HandshakeMessage {
47
48
  * `fragment_length=length`).
48
49
  */
49
50
  export declare namespace HandshakeMessage {
50
- function encode(message: HandshakeMessage): Uint8Array;
51
- function encodeForTranscript(message: HandshakeMessage): Uint8Array;
51
+ function encode(message: HandshakeMessage): Bytes;
52
+ function encodeForTranscript(message: HandshakeMessage): Bytes;
52
53
  interface DecodeResult {
53
54
  message: HandshakeMessage;
54
55
  consumed: number;
55
56
  }
56
- function decode(bytes: Uint8Array): DecodeResult;
57
+ function decode(bytes: Bytes): DecodeResult;
57
58
  }
58
59
  //# sourceMappingURL=HandshakeMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HandshakeMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HandshakeMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEpE,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,UAAU,QAAgB,CAAC;AAKxC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CACpB;AAqBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yBAAiB,gBAAgB,CAAC,CAAC;IAC/B,SAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAmB5D;IAED,SAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAEzE;IAED,UAAiB,YAAY;QACzB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,SAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAiCtD;CACJ"}
1
+ {"version":3,"file":"HandshakeMessage.d.ts","sourceRoot":"","sources":["../../../../src/dtls/handshake/HandshakeMessage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAiB,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AAEpE,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,yEAAyE;AACzE,eAAO,MAAM,UAAU,QAAgB,CAAC;AAKxC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;CACf;AAqBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yBAAiB,gBAAgB,CAAC,CAAC;IAC/B,SAAgB,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAoBvD;IAED,SAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CAEpE;IAED,UAAiB,YAAY;QACzB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,SAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAkCjD;CACJ"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { InternalError } from "@matter/general";
6
+ import { Bytes, InternalError } from "@matter/general";
7
7
  import { DtlsError } from "../channel/DtlsChannel.js";
8
8
  import { isHandshakeType } from "./HandshakeType.js";
9
9
  const DTLS_HANDSHAKE_HEADER_LEN = 12;
@@ -28,7 +28,8 @@ function readUint24BE(buf, offset) {
28
28
  var HandshakeMessage;
29
29
  ((HandshakeMessage2) => {
30
30
  function encode(message) {
31
- const { msgType, messageSeq, body } = message;
31
+ const { msgType, messageSeq } = message;
32
+ const body = Bytes.of(message.body);
32
33
  if (!isHandshakeType(msgType)) {
33
34
  throw new InternalError(`HandshakeMessage unknown msg_type: ${msgType}`);
34
35
  }
@@ -53,35 +54,36 @@ var HandshakeMessage;
53
54
  }
54
55
  HandshakeMessage2.encodeForTranscript = encodeForTranscript;
55
56
  function decode(bytes) {
56
- if (bytes.length < DTLS_HANDSHAKE_HEADER_LEN) {
57
+ const buf = Bytes.of(bytes);
58
+ if (buf.length < DTLS_HANDSHAKE_HEADER_LEN) {
57
59
  throw new DtlsError(
58
- `HandshakeMessage header truncated: have ${bytes.length}, need ${DTLS_HANDSHAKE_HEADER_LEN}`
60
+ `HandshakeMessage header truncated: have ${buf.length}, need ${DTLS_HANDSHAKE_HEADER_LEN}`
59
61
  );
60
62
  }
61
- const msgType = bytes[0];
63
+ const msgType = buf[0];
62
64
  if (!isHandshakeType(msgType)) {
63
65
  throw new DtlsError(`HandshakeMessage unknown msg_type: ${msgType}`);
64
66
  }
65
- const length = readUint24BE(bytes, 1);
66
- const messageSeq = readUint16BE(bytes, 4);
67
- const fragmentOffset = readUint24BE(bytes, 6);
68
- const fragmentLength = readUint24BE(bytes, 9);
67
+ const length = readUint24BE(buf, 1);
68
+ const messageSeq = readUint16BE(buf, 4);
69
+ const fragmentOffset = readUint24BE(buf, 6);
70
+ const fragmentLength = readUint24BE(buf, 9);
69
71
  if (fragmentOffset !== 0 || fragmentLength !== length) {
70
72
  throw new DtlsError(
71
73
  `HandshakeMessage fragmented input not supported: offset=${fragmentOffset} fragLen=${fragmentLength} totalLen=${length}`
72
74
  );
73
75
  }
74
76
  const total = DTLS_HANDSHAKE_HEADER_LEN + length;
75
- if (bytes.length < total) {
77
+ if (buf.length < total) {
76
78
  throw new DtlsError(
77
- `HandshakeMessage body truncated: header says ${length}, have ${bytes.length - DTLS_HANDSHAKE_HEADER_LEN}`
79
+ `HandshakeMessage body truncated: header says ${length}, have ${buf.length - DTLS_HANDSHAKE_HEADER_LEN}`
78
80
  );
79
81
  }
80
82
  return {
81
83
  message: {
82
84
  msgType,
83
85
  messageSeq,
84
- body: bytes.slice(DTLS_HANDSHAKE_HEADER_LEN, total)
86
+ body: buf.slice(DTLS_HANDSHAKE_HEADER_LEN, total)
85
87
  },
86
88
  consumed: total
87
89
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dtls/handshake/HandshakeMessage.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAC1B,SAAwB,uBAAuB;AAGxC,MAAM,4BAA4B;AAGlC,MAAM,2BAA2B;AAGjC,MAAM,cAAc,KAAK,MAAM;AAGtC,MAAM,aAAa;AAmBnB,SAAS,cAAc,KAAiB,QAAgB,OAAqB;AACzE,MAAI,MAAM,IAAK,UAAU,IAAK;AAC9B,MAAI,SAAS,CAAC,IAAI,QAAQ;AAC9B;AAEA,SAAS,cAAc,KAAiB,QAAgB,OAAqB;AACzE,MAAI,MAAM,IAAK,UAAU,KAAM;AAC/B,MAAI,SAAS,CAAC,IAAK,UAAU,IAAK;AAClC,MAAI,SAAS,CAAC,IAAI,QAAQ;AAC9B;AAEA,SAAS,aAAa,KAAiB,QAAwB;AAC3D,SAAQ,IAAI,MAAM,KAAK,IAAK,IAAI,SAAS,CAAC;AAC9C;AAEA,SAAS,aAAa,KAAiB,QAAwB;AAC3D,SAAQ,IAAI,MAAM,KAAK,KAAO,IAAI,SAAS,CAAC,KAAK,IAAK,IAAI,SAAS,CAAC;AACxE;AAsBO,IAAU;AAAA,CAAV,CAAUA,sBAAV;AACI,WAAS,OAAO,SAAuC;AAC1D,UAAM,EAAE,SAAS,YAAY,KAAK,IAAI;AACtC,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC3B,YAAM,IAAI,cAAc,sCAAsC,OAAO,EAAE;AAAA,IAC3E;AACA,QAAI,aAAa,KAAK,aAAa,YAAY;AAC3C,YAAM,IAAI,cAAc,gCAAgC,UAAU,eAAe;AAAA,IACrF;AACA,QAAI,KAAK,SAAS,YAAY;AAC1B,YAAM,IAAI,cAAc,gCAAgC,KAAK,MAAM,qBAAqB;AAAA,IAC5F;AACA,UAAM,MAAM,IAAI,WAAW,4BAA4B,KAAK,MAAM;AAClE,QAAI,CAAC,IAAI;AACT,kBAAc,KAAK,GAAG,KAAK,MAAM;AACjC,kBAAc,KAAK,GAAG,UAAU;AAChC,kBAAc,KAAK,GAAG,CAAC;AACvB,kBAAc,KAAK,GAAG,KAAK,MAAM;AACjC,QAAI,IAAI,MAAM,yBAAyB;AACvC,WAAO;AAAA,EACX;AAnBO,EAAAA,kBAAS;AAqBT,WAAS,oBAAoB,SAAuC;AACvE,WAAO,OAAO,OAAO;AAAA,EACzB;AAFO,EAAAA,kBAAS;AAST,WAAS,OAAO,OAAiC;AACpD,QAAI,MAAM,SAAS,2BAA2B;AAC1C,YAAM,IAAI;AAAA,QACN,2CAA2C,MAAM,MAAM,UAAU,yBAAyB;AAAA,MAC9F;AAAA,IACJ;AACA,UAAM,UAAU,MAAM,CAAC;AACvB,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC3B,YAAM,IAAI,UAAU,sCAAsC,OAAO,EAAE;AAAA,IACvE;AACA,UAAM,SAAS,aAAa,OAAO,CAAC;AACpC,UAAM,aAAa,aAAa,OAAO,CAAC;AACxC,UAAM,iBAAiB,aAAa,OAAO,CAAC;AAC5C,UAAM,iBAAiB,aAAa,OAAO,CAAC;AAC5C,QAAI,mBAAmB,KAAK,mBAAmB,QAAQ;AACnD,YAAM,IAAI;AAAA,QACN,2DAA2D,cAAc,YAAY,cAAc,aAAa,MAAM;AAAA,MAC1H;AAAA,IACJ;AACA,UAAM,QAAQ,4BAA4B;AAC1C,QAAI,MAAM,SAAS,OAAO;AACtB,YAAM,IAAI;AAAA,QACN,gDAAgD,MAAM,UAAU,MAAM,SAAS,yBAAyB;AAAA,MAC5G;AAAA,IACJ;AACA,WAAO;AAAA,MACH,SAAS;AAAA,QACL;AAAA,QACA;AAAA,QACA,MAAM,MAAM,MAAM,2BAA2B,KAAK;AAAA,MACtD;AAAA,MACA,UAAU;AAAA,IACd;AAAA,EACJ;AAjCO,EAAAA,kBAAS;AAAA,GA/BH;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,qBAAqB;AACrC,SAAS,iBAAiB;AAC1B,SAAwB,uBAAuB;AAGxC,MAAM,4BAA4B;AAGlC,MAAM,2BAA2B;AAGjC,MAAM,cAAc,KAAK,MAAM;AAGtC,MAAM,aAAa;AAmBnB,SAAS,cAAc,KAAiB,QAAgB,OAAqB;AACzE,MAAI,MAAM,IAAK,UAAU,IAAK;AAC9B,MAAI,SAAS,CAAC,IAAI,QAAQ;AAC9B;AAEA,SAAS,cAAc,KAAiB,QAAgB,OAAqB;AACzE,MAAI,MAAM,IAAK,UAAU,KAAM;AAC/B,MAAI,SAAS,CAAC,IAAK,UAAU,IAAK;AAClC,MAAI,SAAS,CAAC,IAAI,QAAQ;AAC9B;AAEA,SAAS,aAAa,KAAiB,QAAwB;AAC3D,SAAQ,IAAI,MAAM,KAAK,IAAK,IAAI,SAAS,CAAC;AAC9C;AAEA,SAAS,aAAa,KAAiB,QAAwB;AAC3D,SAAQ,IAAI,MAAM,KAAK,KAAO,IAAI,SAAS,CAAC,KAAK,IAAK,IAAI,SAAS,CAAC;AACxE;AAsBO,IAAU;AAAA,CAAV,CAAUA,sBAAV;AACI,WAAS,OAAO,SAAkC;AACrD,UAAM,EAAE,SAAS,WAAW,IAAI;AAChC,UAAM,OAAO,MAAM,GAAG,QAAQ,IAAI;AAClC,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC3B,YAAM,IAAI,cAAc,sCAAsC,OAAO,EAAE;AAAA,IAC3E;AACA,QAAI,aAAa,KAAK,aAAa,YAAY;AAC3C,YAAM,IAAI,cAAc,gCAAgC,UAAU,eAAe;AAAA,IACrF;AACA,QAAI,KAAK,SAAS,YAAY;AAC1B,YAAM,IAAI,cAAc,gCAAgC,KAAK,MAAM,qBAAqB;AAAA,IAC5F;AACA,UAAM,MAAM,IAAI,WAAW,4BAA4B,KAAK,MAAM;AAClE,QAAI,CAAC,IAAI;AACT,kBAAc,KAAK,GAAG,KAAK,MAAM;AACjC,kBAAc,KAAK,GAAG,UAAU;AAChC,kBAAc,KAAK,GAAG,CAAC;AACvB,kBAAc,KAAK,GAAG,KAAK,MAAM;AACjC,QAAI,IAAI,MAAM,yBAAyB;AACvC,WAAO;AAAA,EACX;AApBO,EAAAA,kBAAS;AAsBT,WAAS,oBAAoB,SAAkC;AAClE,WAAO,OAAO,OAAO;AAAA,EACzB;AAFO,EAAAA,kBAAS;AAST,WAAS,OAAO,OAA4B;AAC/C,UAAM,MAAM,MAAM,GAAG,KAAK;AAC1B,QAAI,IAAI,SAAS,2BAA2B;AACxC,YAAM,IAAI;AAAA,QACN,2CAA2C,IAAI,MAAM,UAAU,yBAAyB;AAAA,MAC5F;AAAA,IACJ;AACA,UAAM,UAAU,IAAI,CAAC;AACrB,QAAI,CAAC,gBAAgB,OAAO,GAAG;AAC3B,YAAM,IAAI,UAAU,sCAAsC,OAAO,EAAE;AAAA,IACvE;AACA,UAAM,SAAS,aAAa,KAAK,CAAC;AAClC,UAAM,aAAa,aAAa,KAAK,CAAC;AACtC,UAAM,iBAAiB,aAAa,KAAK,CAAC;AAC1C,UAAM,iBAAiB,aAAa,KAAK,CAAC;AAC1C,QAAI,mBAAmB,KAAK,mBAAmB,QAAQ;AACnD,YAAM,IAAI;AAAA,QACN,2DAA2D,cAAc,YAAY,cAAc,aAAa,MAAM;AAAA,MAC1H;AAAA,IACJ;AACA,UAAM,QAAQ,4BAA4B;AAC1C,QAAI,IAAI,SAAS,OAAO;AACpB,YAAM,IAAI;AAAA,QACN,gDAAgD,MAAM,UAAU,IAAI,SAAS,yBAAyB;AAAA,MAC1G;AAAA,IACJ;AACA,WAAO;AAAA,MACH,SAAS;AAAA,QACL;AAAA,QACA;AAAA,QACA,MAAM,IAAI,MAAM,2BAA2B,KAAK;AAAA,MACpD;AAAA,MACA,UAAU;AAAA,IACd;AAAA,EACJ;AAlCO,EAAAA,kBAAS;AAAA,GAhCH;",
5
5
  "names": ["HandshakeMessage"]
6
6
  }