@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
@@ -54,7 +54,9 @@ function encodeOption(out, delta, value) {
54
54
  var CoapMessage;
55
55
  ((CoapMessage2) => {
56
56
  function encode(msg) {
57
- const tokenLength = msg.token.length;
57
+ const token = Bytes.of(msg.token);
58
+ const payload = Bytes.of(msg.payload);
59
+ const tokenLength = token.length;
58
60
  if (tokenLength > 8) {
59
61
  throw new CoapError(`CoAP token too long: ${tokenLength} (max 8)`);
60
62
  }
@@ -62,7 +64,7 @@ var CoapMessage;
62
64
  out.push(VERSION << 6 | TYPE_TO_BITS[msg.type] << 4 | tokenLength);
63
65
  out.push(encodeCode(msg.code));
64
66
  out.push(msg.messageId >> 8 & 255, msg.messageId & 255);
65
- pushAll(out, msg.token);
67
+ pushAll(out, token);
66
68
  if (msg.uriPath !== void 0) {
67
69
  let lastOptionNumber = 0;
68
70
  for (const segment of msg.uriPath) {
@@ -70,14 +72,15 @@ var CoapMessage;
70
72
  lastOptionNumber = OPTION_URI_PATH;
71
73
  }
72
74
  }
73
- if (msg.payload.length > 0) {
75
+ if (payload.length > 0) {
74
76
  out.push(PAYLOAD_MARKER);
75
- pushAll(out, msg.payload);
77
+ pushAll(out, payload);
76
78
  }
77
79
  return Uint8Array.from(out);
78
80
  }
79
81
  CoapMessage2.encode = encode;
80
- function decode(bytes) {
82
+ function decode(input) {
83
+ const bytes = Bytes.of(input);
81
84
  if (bytes.length < 4) {
82
85
  throw new CoapError(`CoAP message too short: ${bytes.length} bytes`);
83
86
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/coap/CoapMessage.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["CoapMessage"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Commissioner.d.ts","sourceRoot":"","sources":["../../../src/commissioner/Commissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,WAAW,EAAyB,YAAY,EAAc,MAAM,iBAAiB,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQxD,sGAAsG;AACtG,qBAAa,yBAA0B,SAAQ,WAAW;IACtD,cAGC;CACJ;AAED,kGAAkG;AAClG,qBAAa,wBAAyB,SAAQ,YAAY;IACtD,cAGC;CACJ;AAED,uGAAuG;AACvG,qBAAa,0BAA2B,SAAQ,WAAW;CAAG;AAE9D,MAAM,WAAW,gBAAgB;IAC7B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;;IACrB,MAAM,CAAC,QAAQ,CAAC,eAAe,mBAAmB;IAOlD;;;OAGG;IACH,YAAY,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,gBAAgB,EAMpD;IAED;;;;;;;;;;;;OAYG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAwChC;IAED;;;;;;;;;;OAUG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhD;IAED;;;;;;;;OAQG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB9C;IAED;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CActE;CACJ"}
1
+ {"version":3,"file":"Commissioner.d.ts","sourceRoot":"","sources":["../../../src/commissioner/Commissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,WAAW,EAAyB,YAAY,EAAc,MAAM,iBAAiB,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQxD,sGAAsG;AACtG,qBAAa,yBAA0B,SAAQ,WAAW;IACtD,cAGC;CACJ;AAED,kGAAkG;AAClG,qBAAa,wBAAyB,SAAQ,YAAY;IACtD,cAGC;CACJ;AAED,uGAAuG;AACvG,qBAAa,0BAA2B,SAAQ,WAAW;CAAG;AAE9D,MAAM,WAAW,gBAAgB;IAC7B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,qBAAa,YAAY;;IACrB,MAAM,CAAC,QAAQ,CAAC,eAAe,mBAAmB;IAOlD;;;OAGG;IACH,YAAY,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,gBAAgB,EAMpD;IAED;;;;;;;;;;;;OAYG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAwChC;IAED;;;;;;;;;;OAUG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhD;IAED;;;;;;;;OAQG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB9C;IAED;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CActE;CACJ"}
@@ -57,7 +57,7 @@ class Commissioner {
57
57
  uriPath: ["c", "cp"],
58
58
  payload: LeadPet.buildRequest(Commissioner.COMMISSIONER_ID)
59
59
  });
60
- logger.debug(`[ThreadDiag] COMM_PET response code=${response.code} payloadLen=${response.payload.length}`);
60
+ logger.debug(`COMM_PET response code=${response.code} payloadLen=${response.payload.byteLength}`);
61
61
  const parsed = LeadPet.parseResponse(response.payload);
62
62
  if (parsed.state === "accept") {
63
63
  return parsed.sessionId;
@@ -120,7 +120,10 @@ class Commissioner {
120
120
  sessionBytes[1] = sessionId & 255;
121
121
  const releasePayload = BasicTlv.encode([
122
122
  { type: MeshCopTlvType.COMMISSIONER_SESSION_ID, value: sessionBytes },
123
- { type: MeshCopTlvType.COMMISSIONER_ID, value: new TextEncoder().encode(Commissioner.COMMISSIONER_ID) }
123
+ {
124
+ type: MeshCopTlvType.COMMISSIONER_ID,
125
+ value: new TextEncoder().encode(Commissioner.COMMISSIONER_ID)
126
+ }
124
127
  ]);
125
128
  await this.#coap.request({
126
129
  type: "CON",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/commissioner/Commissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MatterError } from "@matter/general";
6
+ import { Bytes, MatterError } from "@matter/general";
7
7
  /** Thrown when a commissioner BR response (LeadKa/LeadPet) cannot be parsed. */
8
8
  export declare class CommissionerProtocolError extends MatterError {
9
9
  }
@@ -11,7 +11,7 @@ export interface LeadKaResponse {
11
11
  state: "accept" | "reject" | "pending";
12
12
  }
13
13
  export declare namespace LeadKa {
14
- function buildRequest(sessionId: number): Uint8Array;
15
- function parseResponse(payload: Uint8Array): LeadKaResponse;
14
+ function buildRequest(sessionId: number): Bytes;
15
+ function parseResponse(payload: Bytes): LeadKaResponse;
16
16
  }
17
17
  //# sourceMappingURL=LeadKa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeadKa.d.ts","sourceRoot":"","sources":["../../../src/commissioner/LeadKa.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,gFAAgF;AAChF,qBAAa,yBAA0B,SAAQ,WAAW;CAAG;AAE7D,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC1C;AAKD,yBAAiB,MAAM,CAAC,CAAC;IACrB,SAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAW1D;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,cAAc,CAYjE;CACJ"}
1
+ {"version":3,"file":"LeadKa.d.ts","sourceRoot":"","sources":["../../../src/commissioner/LeadKa.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAIrD,gFAAgF;AAChF,qBAAa,yBAA0B,SAAQ,WAAW;CAAG;AAE7D,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC1C;AAKD,yBAAiB,MAAM,CAAC,CAAC;IACrB,SAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAWrD;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,cAAc,CAY5D;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 { MatterError } from "@matter/general";
6
+ import { Bytes, MatterError } from "@matter/general";
7
7
  import { MeshCopTlvType } from "../dataset/meshcopTlvTypes.js";
8
8
  import { BasicTlv } from "../tlv/BasicTlvCodec.js";
9
9
  class CommissionerProtocolError extends MatterError {
@@ -25,7 +25,7 @@ var LeadKa;
25
25
  const entries = BasicTlv.walk(payload);
26
26
  for (const entry of entries) {
27
27
  if (entry.type === MeshCopTlvType.STATE) {
28
- const byte = entry.value[0];
28
+ const byte = Bytes.of(entry.value)[0];
29
29
  if (byte === 1) return { state: "accept" };
30
30
  if (byte === 255) return { state: "reject" };
31
31
  if (byte === 0) return { state: "pending" };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/commissioner/LeadKa.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAGlB,MAAM,kCAAkC,YAAY;AAAC;AAO5D,MAAM,eAAe;AAEd,IAAU;AAAA,CAAV,CAAUA,YAAV;AACI,WAAS,aAAa,WAA+B;AACxD,UAAM,eAAe,IAAI,WAAW,CAAC;AACrC,iBAAa,CAAC,IAAK,aAAa,IAAK;AACrC,iBAAa,CAAC,IAAI,YAAY;AAI9B,WAAO,SAAS,OAAO;AAAA,MACnB,EAAE,MAAM,eAAe,OAAO,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;AAAA,MACpE,EAAE,MAAM,eAAe,yBAAyB,OAAO,aAAa;AAAA,IACxE,CAAC;AAAA,EACL;AAXO,EAAAA,QAAS;AAaT,WAAS,cAAc,SAAqC;AAC/D,UAAM,UAAU,SAAS,KAAK,OAAO;AACrC,eAAW,SAAS,SAAS;AACzB,UAAI,MAAM,SAAS,eAAe,OAAO;AACrC,cAAM,OAAO,MAAM,MAAM,CAAC;AAC1B,YAAI,SAAS,EAAM,QAAO,EAAE,OAAO,SAAS;AAC5C,YAAI,SAAS,IAAM,QAAO,EAAE,OAAO,SAAS;AAC5C,YAAI,SAAS,EAAM,QAAO,EAAE,OAAO,UAAU;AAC7C,cAAM,IAAI,0BAA0B,8BAA8B,IAAI,EAAE;AAAA,MAC5E;AAAA,IACJ;AACA,UAAM,IAAI,0BAA0B,oCAAoC;AAAA,EAC5E;AAZO,EAAAA,QAAS;AAAA,GAdH;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,mBAAmB;AACnC,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAGlB,MAAM,kCAAkC,YAAY;AAAC;AAO5D,MAAM,eAAe;AAEd,IAAU;AAAA,CAAV,CAAUA,YAAV;AACI,WAAS,aAAa,WAA0B;AACnD,UAAM,eAAe,IAAI,WAAW,CAAC;AACrC,iBAAa,CAAC,IAAK,aAAa,IAAK;AACrC,iBAAa,CAAC,IAAI,YAAY;AAI9B,WAAO,SAAS,OAAO;AAAA,MACnB,EAAE,MAAM,eAAe,OAAO,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE;AAAA,MACpE,EAAE,MAAM,eAAe,yBAAyB,OAAO,aAAa;AAAA,IACxE,CAAC;AAAA,EACL;AAXO,EAAAA,QAAS;AAaT,WAAS,cAAc,SAAgC;AAC1D,UAAM,UAAU,SAAS,KAAK,OAAO;AACrC,eAAW,SAAS,SAAS;AACzB,UAAI,MAAM,SAAS,eAAe,OAAO;AACrC,cAAM,OAAO,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;AACpC,YAAI,SAAS,EAAM,QAAO,EAAE,OAAO,SAAS;AAC5C,YAAI,SAAS,IAAM,QAAO,EAAE,OAAO,SAAS;AAC5C,YAAI,SAAS,EAAM,QAAO,EAAE,OAAO,UAAU;AAC7C,cAAM,IAAI,0BAA0B,8BAA8B,IAAI,EAAE;AAAA,MAC5E;AAAA,IACJ;AACA,UAAM,IAAI,0BAA0B,oCAAoC;AAAA,EAC5E;AAZO,EAAAA,QAAS;AAAA,GAdH;",
5
5
  "names": ["LeadKa"]
6
6
  }
@@ -3,12 +3,13 @@
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
  export interface LeadPetResponse {
7
8
  state: "accept" | "reject" | "pending";
8
9
  sessionId?: number;
9
10
  }
10
11
  export declare namespace LeadPet {
11
- function buildRequest(commissionerId: string): Uint8Array;
12
- function parseResponse(payload: Uint8Array): LeadPetResponse;
12
+ function buildRequest(commissionerId: string): Bytes;
13
+ function parseResponse(payload: Bytes): LeadPetResponse;
13
14
  }
14
15
  //# sourceMappingURL=LeadPet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeadPet.d.ts","sourceRoot":"","sources":["../../../src/commissioner/LeadPet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yBAAiB,OAAO,CAAC,CAAC;IACtB,SAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAI/D;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CA4BlE;CACJ"}
1
+ {"version":3,"file":"LeadPet.d.ts","sourceRoot":"","sources":["../../../src/commissioner/LeadPet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKxC,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yBAAiB,OAAO,CAAC,CAAC;IACtB,SAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAI1D;IAED,SAAgB,aAAa,CAAC,OAAO,EAAE,KAAK,GAAG,eAAe,CA6B7D;CACJ"}
@@ -21,17 +21,18 @@ var LeadPet;
21
21
  let sessionId;
22
22
  for (const entry of entries) {
23
23
  if (entry.type === MeshCopTlvType.STATE) {
24
- const byte = entry.value[0];
24
+ const byte = Bytes.of(entry.value)[0];
25
25
  if (byte === 1) state = "accept";
26
26
  else if (byte === 255) state = "reject";
27
27
  else if (byte === 0) state = "pending";
28
28
  else throw new CommissionerProtocolError(`LeadPet: unknown state byte ${byte}`);
29
29
  } else if (entry.type === MeshCopTlvType.COMMISSIONER_SESSION_ID) {
30
- sessionId = entry.value[0] << 8 | entry.value[1];
30
+ const sessionIdBytes = Bytes.of(entry.value);
31
+ sessionId = sessionIdBytes[0] << 8 | sessionIdBytes[1];
31
32
  }
32
33
  }
33
34
  if (state === void 0) {
34
- const tlvSummary = entries.length === 0 ? "none" : entries.map((e) => `t=0x${e.type.toString(16)}/${e.value.length}b`).join(",");
35
+ const tlvSummary = entries.length === 0 ? "none" : entries.map((e) => `t=0x${e.type.toString(16)}/${e.value.byteLength}b`).join(",");
35
36
  throw new CommissionerProtocolError(
36
37
  `LeadPet: response missing STATE TLV (payload=${Bytes.toHex(payload)}, tlvs=[${tlvSummary}])`
37
38
  );
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/commissioner/LeadPet.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,iCAAiC;AAOnC,IAAU;AAAA,CAAV,CAAUA,aAAV;AACI,WAAS,aAAa,gBAAoC;AAC7D,WAAO,SAAS,OAAO;AAAA,MACnB,EAAE,MAAM,eAAe,iBAAiB,OAAO,IAAI,YAAY,EAAE,OAAO,cAAc,EAAE;AAAA,IAC5F,CAAC;AAAA,EACL;AAJO,EAAAA,SAAS;AAMT,WAAS,cAAc,SAAsC;AAChE,UAAM,UAAU,SAAS,KAAK,OAAO;AACrC,QAAI;AACJ,QAAI;AAEJ,eAAW,SAAS,SAAS;AACzB,UAAI,MAAM,SAAS,eAAe,OAAO;AACrC,cAAM,OAAO,MAAM,MAAM,CAAC;AAC1B,YAAI,SAAS,EAAM,SAAQ;AAAA,iBAClB,SAAS,IAAM,SAAQ;AAAA,iBACvB,SAAS,EAAM,SAAQ;AAAA,YAC3B,OAAM,IAAI,0BAA0B,+BAA+B,IAAI,EAAE;AAAA,MAClF,WAAW,MAAM,SAAS,eAAe,yBAAyB;AAC9D,oBAAa,MAAM,MAAM,CAAC,KAAK,IAAK,MAAM,MAAM,CAAC;AAAA,MACrD;AAAA,IACJ;AAEA,QAAI,UAAU,QAAW;AACrB,YAAM,aACF,QAAQ,WAAW,IACb,SACA,QAAQ,IAAI,OAAK,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,MAAM,GAAG,EAAE,KAAK,GAAG;AACpF,YAAM,IAAI;AAAA,QACN,gDAAgD,MAAM,MAAM,OAAO,CAAC,WAAW,UAAU;AAAA,MAC7F;AAAA,IACJ;AAEA,WAAO,UAAU,WAAW,EAAE,OAAO,UAAU,IAAI,EAAE,MAAM;AAAA,EAC/D;AA5BO,EAAAA,SAAS;AAAA,GAPH;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,iCAAiC;AAOnC,IAAU;AAAA,CAAV,CAAUA,aAAV;AACI,WAAS,aAAa,gBAA+B;AACxD,WAAO,SAAS,OAAO;AAAA,MACnB,EAAE,MAAM,eAAe,iBAAiB,OAAO,IAAI,YAAY,EAAE,OAAO,cAAc,EAAE;AAAA,IAC5F,CAAC;AAAA,EACL;AAJO,EAAAA,SAAS;AAMT,WAAS,cAAc,SAAiC;AAC3D,UAAM,UAAU,SAAS,KAAK,OAAO;AACrC,QAAI;AACJ,QAAI;AAEJ,eAAW,SAAS,SAAS;AACzB,UAAI,MAAM,SAAS,eAAe,OAAO;AACrC,cAAM,OAAO,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC;AACpC,YAAI,SAAS,EAAM,SAAQ;AAAA,iBAClB,SAAS,IAAM,SAAQ;AAAA,iBACvB,SAAS,EAAM,SAAQ;AAAA,YAC3B,OAAM,IAAI,0BAA0B,+BAA+B,IAAI,EAAE;AAAA,MAClF,WAAW,MAAM,SAAS,eAAe,yBAAyB;AAC9D,cAAM,iBAAiB,MAAM,GAAG,MAAM,KAAK;AAC3C,oBAAa,eAAe,CAAC,KAAK,IAAK,eAAe,CAAC;AAAA,MAC3D;AAAA,IACJ;AAEA,QAAI,UAAU,QAAW;AACrB,YAAM,aACF,QAAQ,WAAW,IACb,SACA,QAAQ,IAAI,OAAK,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,UAAU,GAAG,EAAE,KAAK,GAAG;AACxF,YAAM,IAAI;AAAA,QACN,gDAAgD,MAAM,MAAM,OAAO,CAAC,WAAW,UAAU;AAAA,MAC7F;AAAA,IACJ;AAEA,WAAO,UAAU,WAAW,EAAE,OAAO,UAAU,IAAI,EAAE,MAAM;AAAA,EAC/D;AA7BO,EAAAA,SAAS;AAAA,GAPH;",
5
5
  "names": ["LeadPet"]
6
6
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Observable } from "@matter/general";
6
+ import { Bytes, Observable } from "@matter/general";
7
7
  import type { OperationalDataset } from "../dataset/OperationalDataset.js";
8
8
  import type { ThreadNetworkCredentials } from "./ThreadNetworkCredentials.js";
9
9
  /**
@@ -17,7 +17,7 @@ export declare class ThreadCredentialsRegistry {
17
17
  #private;
18
18
  readonly events: {
19
19
  registered: Observable<[creds: ThreadNetworkCredentials], void>;
20
- unregistered: Observable<[extPanId: Uint8Array<ArrayBufferLike>], void>;
20
+ unregistered: Observable<[extPanId: AllowSharedBufferSource], void>;
21
21
  };
22
22
  /**
23
23
  * Register credentials extracted from a parsed Operational Dataset.
@@ -41,9 +41,9 @@ export declare class ThreadCredentialsRegistry {
41
41
  */
42
42
  registerCredentials(creds: ThreadNetworkCredentials): void;
43
43
  /** Remove an entry. No-op if absent. */
44
- unregister(extPanId: Uint8Array): void;
45
- /** Lookup by extPanId. Comparison is by Uint8Array equality, not reference. */
46
- getCredentials(extPanId: Uint8Array): ThreadNetworkCredentials | undefined;
44
+ unregister(extPanId: Bytes): void;
45
+ /** Lookup by extPanId. Comparison is by byte equality, not reference. */
46
+ getCredentials(extPanId: Bytes): ThreadNetworkCredentials | undefined;
47
47
  /** Defensive snapshot — caller cannot mutate the registry through it. */
48
48
  list(): ReadonlyArray<ThreadNetworkCredentials>;
49
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadCredentialsRegistry.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadCredentialsRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAA8B,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;GAMG;AACH,qBAAa,yBAAyB;;IAElC,QAAQ,CAAC,MAAM;QACX,UAAU;QACV,YAAY;MACd;IAEF;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAiB1C;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAWzD;IAED,wCAAwC;IACxC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI,CAKrC;IAED,+EAA+E;IAC/E,cAAc,CAAC,QAAQ,EAAE,UAAU,GAAG,wBAAwB,GAAG,SAAS,CAEzE;IAED,yEAAyE;IACzE,IAAI,IAAI,aAAa,CAAC,wBAAwB,CAAC,CAE9C;CACJ"}
1
+ {"version":3,"file":"ThreadCredentialsRegistry.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadCredentialsRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAuB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;GAMG;AACH,qBAAa,yBAAyB;;IAElC,QAAQ,CAAC,MAAM;QACX,UAAU;QACV,YAAY;MACd;IAEF;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAiB1C;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAWzD;IAED,wCAAwC;IACxC,UAAU,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,CAKhC;IAED,yEAAyE;IACzE,cAAc,CAAC,QAAQ,EAAE,KAAK,GAAG,wBAAwB,GAAG,SAAS,CAEpE;IAED,yEAAyE;IACzE,IAAI,IAAI,aAAa,CAAC,wBAAwB,CAAC,CAE9C;CACJ"}
@@ -49,10 +49,10 @@ class ThreadCredentialsRegistry {
49
49
  */
50
50
  registerCredentials(creds) {
51
51
  const stored = {
52
- extPanId: creds.extPanId.slice(),
52
+ extPanId: Bytes.of(creds.extPanId).slice(),
53
53
  networkName: creds.networkName,
54
- pskc: creds.pskc.slice(),
55
- meshLocalPrefix: creds.meshLocalPrefix?.slice(),
54
+ pskc: Bytes.of(creds.pskc).slice(),
55
+ meshLocalPrefix: creds.meshLocalPrefix === void 0 ? void 0 : Bytes.of(creds.meshLocalPrefix).slice(),
56
56
  activeTimestamp: creds.activeTimestamp
57
57
  };
58
58
  this.#byExtPanId.set(keyOf(stored.extPanId), stored);
@@ -63,9 +63,9 @@ class ThreadCredentialsRegistry {
63
63
  const key = keyOf(extPanId);
64
64
  if (!this.#byExtPanId.has(key)) return;
65
65
  this.#byExtPanId.delete(key);
66
- this.events.unregistered.emit(extPanId.slice());
66
+ this.events.unregistered.emit(Bytes.of(extPanId).slice());
67
67
  }
68
- /** Lookup by extPanId. Comparison is by Uint8Array equality, not reference. */
68
+ /** Lookup by extPanId. Comparison is by byte equality, not reference. */
69
69
  getCredentials(extPanId) {
70
70
  return this.#byExtPanId.get(keyOf(extPanId));
71
71
  }
@@ -79,14 +79,15 @@ function keyOf(extPanId) {
79
79
  }
80
80
  function snapshot(creds) {
81
81
  return {
82
- extPanId: creds.extPanId.slice(),
82
+ extPanId: Bytes.of(creds.extPanId).slice(),
83
83
  networkName: creds.networkName,
84
- pskc: creds.pskc.slice(),
85
- meshLocalPrefix: creds.meshLocalPrefix?.slice(),
84
+ pskc: Bytes.of(creds.pskc).slice(),
85
+ meshLocalPrefix: creds.meshLocalPrefix === void 0 ? void 0 : Bytes.of(creds.meshLocalPrefix).slice(),
86
86
  activeTimestamp: creds.activeTimestamp
87
87
  };
88
88
  }
89
- function bytesToBigint(bytes) {
89
+ function bytesToBigint(input) {
90
+ const bytes = Bytes.of(input);
90
91
  let result = 0n;
91
92
  for (const b of bytes) {
92
93
  result = result << 8n | BigInt(b);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/credentials/ThreadCredentialsRegistry.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,qBAAqB,kBAAkB;AAWhD,MAAM,0BAA0B;AAAA,EAC1B,cAAc,oBAAI,IAAsC;AAAA,EACxD,SAAS;AAAA,IACd,YAAY,IAAI,WAA8C;AAAA,IAC9D,cAAc,IAAI,WAAmC;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,SAAS,SAAmC;AACxC,QAAI,QAAQ,aAAa,QAAW;AAChC,YAAM,IAAI,oBAAoB,0DAA0D;AAAA,IAC5F;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACnC,YAAM,IAAI,oBAAoB,6DAA6D;AAAA,IAC/F;AACA,QAAI,QAAQ,SAAS,QAAW;AAC5B,YAAM,IAAI,oBAAoB,sDAAsD;AAAA,IACxF;AACA,SAAK,oBAAoB;AAAA,MACrB,UAAU,QAAQ;AAAA,MAClB,aAAa,QAAQ;AAAA,MACrB,MAAM,QAAQ;AAAA,MACd,iBAAiB,QAAQ;AAAA,MACzB,iBAAiB,QAAQ,oBAAoB,SAAY,SAAY,cAAc,QAAQ,eAAe;AAAA,IAC9G,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,oBAAoB,OAAuC;AACvD,UAAM,SAAmC;AAAA,MACrC,UAAU,MAAM,SAAS,MAAM;AAAA,MAC/B,aAAa,MAAM;AAAA,MACnB,MAAM,MAAM,KAAK,MAAM;AAAA,MACvB,iBAAiB,MAAM,iBAAiB,MAAM;AAAA,MAC9C,iBAAiB,MAAM;AAAA,IAC3B;AACA,SAAK,YAAY,IAAI,MAAM,OAAO,QAAQ,GAAG,MAAM;AAEnD,SAAK,OAAO,WAAW,KAAK,SAAS,MAAM,CAAC;AAAA,EAChD;AAAA;AAAA,EAGA,WAAW,UAA4B;AACnC,UAAM,MAAM,MAAM,QAAQ;AAC1B,QAAI,CAAC,KAAK,YAAY,IAAI,GAAG,EAAG;AAChC,SAAK,YAAY,OAAO,GAAG;AAC3B,SAAK,OAAO,aAAa,KAAK,SAAS,MAAM,CAAC;AAAA,EAClD;AAAA;AAAA,EAGA,eAAe,UAA4D;AACvE,WAAO,KAAK,YAAY,IAAI,MAAM,QAAQ,CAAC;AAAA,EAC/C;AAAA;AAAA,EAGA,OAAgD;AAC5C,WAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,EAC/C;AACJ;AAEA,SAAS,MAAM,UAA8B;AACzC,SAAO,MAAM,MAAM,QAAQ;AAC/B;AAEA,SAAS,SAAS,OAA2D;AACzE,SAAO;AAAA,IACH,UAAU,MAAM,SAAS,MAAM;AAAA,IAC/B,aAAa,MAAM;AAAA,IACnB,MAAM,MAAM,KAAK,MAAM;AAAA,IACvB,iBAAiB,MAAM,iBAAiB,MAAM;AAAA,IAC9C,iBAAiB,MAAM;AAAA,EAC3B;AACJ;AAIA,SAAS,cAAc,OAA2B;AAC9C,MAAI,SAAS;AACb,aAAW,KAAK,OAAO;AACnB,aAAU,UAAU,KAAM,OAAO,CAAC;AAAA,EACtC;AACA,SAAO;AACX;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,qBAAqB,kBAAkB;AAWhD,MAAM,0BAA0B;AAAA,EAC1B,cAAc,oBAAI,IAAsC;AAAA,EACxD,SAAS;AAAA,IACd,YAAY,IAAI,WAA8C;AAAA,IAC9D,cAAc,IAAI,WAA8B;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,SAAS,SAAmC;AACxC,QAAI,QAAQ,aAAa,QAAW;AAChC,YAAM,IAAI,oBAAoB,0DAA0D;AAAA,IAC5F;AACA,QAAI,QAAQ,gBAAgB,QAAW;AACnC,YAAM,IAAI,oBAAoB,6DAA6D;AAAA,IAC/F;AACA,QAAI,QAAQ,SAAS,QAAW;AAC5B,YAAM,IAAI,oBAAoB,sDAAsD;AAAA,IACxF;AACA,SAAK,oBAAoB;AAAA,MACrB,UAAU,QAAQ;AAAA,MAClB,aAAa,QAAQ;AAAA,MACrB,MAAM,QAAQ;AAAA,MACd,iBAAiB,QAAQ;AAAA,MACzB,iBAAiB,QAAQ,oBAAoB,SAAY,SAAY,cAAc,QAAQ,eAAe;AAAA,IAC9G,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,oBAAoB,OAAuC;AACvD,UAAM,SAAmC;AAAA,MACrC,UAAU,MAAM,GAAG,MAAM,QAAQ,EAAE,MAAM;AAAA,MACzC,aAAa,MAAM;AAAA,MACnB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,MAAM;AAAA,MACjC,iBAAiB,MAAM,oBAAoB,SAAY,SAAY,MAAM,GAAG,MAAM,eAAe,EAAE,MAAM;AAAA,MACzG,iBAAiB,MAAM;AAAA,IAC3B;AACA,SAAK,YAAY,IAAI,MAAM,OAAO,QAAQ,GAAG,MAAM;AAEnD,SAAK,OAAO,WAAW,KAAK,SAAS,MAAM,CAAC;AAAA,EAChD;AAAA;AAAA,EAGA,WAAW,UAAuB;AAC9B,UAAM,MAAM,MAAM,QAAQ;AAC1B,QAAI,CAAC,KAAK,YAAY,IAAI,GAAG,EAAG;AAChC,SAAK,YAAY,OAAO,GAAG;AAC3B,SAAK,OAAO,aAAa,KAAK,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;AAAA,EAC5D;AAAA;AAAA,EAGA,eAAe,UAAuD;AAClE,WAAO,KAAK,YAAY,IAAI,MAAM,QAAQ,CAAC;AAAA,EAC/C;AAAA;AAAA,EAGA,OAAgD;AAC5C,WAAO,MAAM,KAAK,KAAK,YAAY,OAAO,CAAC;AAAA,EAC/C;AACJ;AAEA,SAAS,MAAM,UAAyB;AACpC,SAAO,MAAM,MAAM,QAAQ;AAC/B;AAEA,SAAS,SAAS,OAA2D;AACzE,SAAO;AAAA,IACH,UAAU,MAAM,GAAG,MAAM,QAAQ,EAAE,MAAM;AAAA,IACzC,aAAa,MAAM;AAAA,IACnB,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,MAAM;AAAA,IACjC,iBAAiB,MAAM,oBAAoB,SAAY,SAAY,MAAM,GAAG,MAAM,eAAe,EAAE,MAAM;AAAA,IACzG,iBAAiB,MAAM;AAAA,EAC3B;AACJ;AAIA,SAAS,cAAc,OAAsB;AACzC,QAAM,QAAQ,MAAM,GAAG,KAAK;AAC5B,MAAI,SAAS;AACb,aAAW,KAAK,OAAO;AACnB,aAAU,UAAU,KAAM,OAAO,CAAC;AAAA,EACtC;AACA,SAAO;AACX;",
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 type { Bytes } from "@matter/general";
6
7
  /**
7
8
  * Credentials needed to authenticate against a Thread network's commissioner.
8
9
  *
@@ -12,14 +13,14 @@
12
13
  */
13
14
  export interface ThreadNetworkCredentials {
14
15
  /** 8-byte extended PAN ID — primary registry key. */
15
- extPanId: Uint8Array;
16
+ extPanId: Bytes;
16
17
  /** Thread network name (UTF-8, ≤16 bytes). */
17
18
  networkName: string;
18
19
  /** 16-byte EC-JPAKE password (PSKc). Sensitive — redact when logging. */
19
- pskc: Uint8Array;
20
+ pskc: Bytes;
20
21
  /** 8-byte mesh-local prefix, used to derive node mesh-local addresses for
21
22
  * UDP-proxy unicast diagnostics. Absent if the dataset omits it. */
22
- meshLocalPrefix?: Uint8Array;
23
+ meshLocalPrefix?: Bytes;
23
24
  /** Active timestamp from the dataset, used for change detection. */
24
25
  activeTimestamp?: bigint;
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadNetworkCredentials.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadNetworkCredentials.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACrC,qDAAqD;IACrD,QAAQ,EAAE,UAAU,CAAC;IACrB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB;yEACqE;IACrE,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"ThreadNetworkCredentials.d.ts","sourceRoot":"","sources":["../../../src/credentials/ThreadNetworkCredentials.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACrC,qDAAqD;IACrD,QAAQ,EAAE,KAAK,CAAC;IAChB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,IAAI,EAAE,KAAK,CAAC;IACZ;yEACqE;IACrE,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B"}
@@ -3,22 +3,12 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes, Crypto } from "@matter/general";
6
7
  /**
7
- * AES-CMAC per RFC 4493.
8
- *
9
- * Block-cipher-based MAC with a 128-bit AES key and a 16-byte tag. Empty messages
10
- * are explicitly supported and pad to a single all-zero block XORed with K2.
11
- */
12
- export declare namespace AesCmac {
13
- function compute(key: Uint8Array, message: Uint8Array): Uint8Array;
14
- }
15
- /**
16
- * AES-CMAC-PRF-128 per RFC 4615.
17
- *
18
- * Lifts AES-CMAC into a variable-length-key PRF: a 16-byte key is used directly,
19
- * any other key is first compressed via CMAC under an all-zero key.
8
+ * AES-CMAC-PRF-128 per RFC 4615: a 16-byte key is used directly; any other length is
9
+ * first compressed via CMAC under an all-zero key. Built on {@link Crypto.cmac}.
20
10
  */
21
11
  export declare namespace AesCmacPrf128 {
22
- function compute(key: Uint8Array, message: Uint8Array): Uint8Array;
12
+ function compute(crypto: Crypto, key: Bytes, message: Bytes): Bytes;
23
13
  }
24
14
  //# sourceMappingURL=AesCmacPrf128.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AesCmacPrf128.d.ts","sourceRoot":"","sources":["../../../src/crypto/AesCmacPrf128.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH;;;;;GAKG;AACH,yBAAiB,OAAO,CAAC,CAAC;IACtB,SAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CA6BxE;CACJ;AAED;;;;;GAKG;AACH,yBAAiB,aAAa,CAAC,CAAC;IAC5B,SAAgB,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAMxE;CACJ"}
1
+ {"version":3,"file":"AesCmacPrf128.d.ts","sourceRoot":"","sources":["../../../src/crypto/AesCmacPrf128.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIhD;;;GAGG;AACH,yBAAiB,aAAa,CAAC,CAAC;IAC5B,SAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,KAAK,CAOzE;CACJ"}
@@ -3,85 +3,21 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { InternalError } from "@matter/general";
7
- import { createCipheriv } from "node:crypto";
8
- const BLOCK_SIZE = 16;
9
- const RB = 135;
10
- const ZERO_BLOCK = new Uint8Array(BLOCK_SIZE);
11
- function aesEcbEncryptBlock(key, block) {
12
- const cipher = createCipheriv("aes-128-ecb", key, null);
13
- cipher.setAutoPadding(false);
14
- const out = cipher.update(block);
15
- cipher.final();
16
- return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);
17
- }
18
- function leftShift1(input) {
19
- const out = new Uint8Array(input.length);
20
- let carry = 0;
21
- for (let i = input.length - 1; i >= 0; i--) {
22
- const b = input[i];
23
- out[i] = b << 1 & 255 | carry;
24
- carry = (b & 128) >> 7;
25
- }
26
- return out;
27
- }
28
- function xorInto(target, source, offset = 0) {
29
- for (let i = 0; i < BLOCK_SIZE; i++) {
30
- target[i] ^= source[offset + i];
31
- }
32
- }
33
- function generateSubkeys(key) {
34
- const l = aesEcbEncryptBlock(key, ZERO_BLOCK);
35
- const k1 = leftShift1(l);
36
- if ((l[0] & 128) !== 0) k1[BLOCK_SIZE - 1] ^= RB;
37
- const k2 = leftShift1(k1);
38
- if ((k1[0] & 128) !== 0) k2[BLOCK_SIZE - 1] ^= RB;
39
- return { k1, k2 };
40
- }
41
- var AesCmac;
42
- ((AesCmac2) => {
43
- function compute(key, message) {
44
- if (key.length !== 16) {
45
- throw new InternalError(`AES-CMAC key must be 16 bytes, got ${key.length}`);
46
- }
47
- const { k1, k2 } = generateSubkeys(key);
48
- const numBlocks = Math.max(1, Math.ceil(message.length / BLOCK_SIZE));
49
- const lastBlockComplete = message.length > 0 && message.length % BLOCK_SIZE === 0;
50
- const lastBlock = new Uint8Array(BLOCK_SIZE);
51
- const lastBlockOffset = (numBlocks - 1) * BLOCK_SIZE;
52
- if (lastBlockComplete) {
53
- lastBlock.set(message.subarray(lastBlockOffset, lastBlockOffset + BLOCK_SIZE));
54
- xorInto(lastBlock, k1);
55
- } else {
56
- const remaining = message.length - lastBlockOffset;
57
- lastBlock.set(message.subarray(lastBlockOffset, lastBlockOffset + remaining));
58
- lastBlock[remaining] = 128;
59
- xorInto(lastBlock, k2);
60
- }
61
- const x = new Uint8Array(BLOCK_SIZE);
62
- for (let i = 0; i < numBlocks - 1; i++) {
63
- xorInto(x, message, i * BLOCK_SIZE);
64
- const enc = aesEcbEncryptBlock(key, x);
65
- x.set(enc);
66
- }
67
- xorInto(x, lastBlock);
68
- return aesEcbEncryptBlock(key, x);
69
- }
70
- AesCmac2.compute = compute;
71
- })(AesCmac || (AesCmac = {}));
6
+ import { Bytes } from "@matter/general";
7
+ const ZERO_BLOCK = new Uint8Array(16);
72
8
  var AesCmacPrf128;
73
9
  ((AesCmacPrf1282) => {
74
- function compute(key, message) {
75
- if (key.length === 16) {
76
- return AesCmac.compute(key, message);
10
+ function compute(crypto, key, message) {
11
+ const keyBytes = Bytes.of(key);
12
+ if (keyBytes.length === 16) {
13
+ return crypto.cmac(keyBytes, message);
77
14
  }
78
- const derivedKey = AesCmac.compute(ZERO_BLOCK, key);
79
- return AesCmac.compute(derivedKey, message);
15
+ const derivedKey = crypto.cmac(ZERO_BLOCK, keyBytes);
16
+ return crypto.cmac(derivedKey, message);
80
17
  }
81
18
  AesCmacPrf1282.compute = compute;
82
19
  })(AesCmacPrf128 || (AesCmacPrf128 = {}));
83
20
  export {
84
- AesCmac,
85
21
  AesCmacPrf128
86
22
  };
87
23
  //# sourceMappingURL=AesCmacPrf128.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/AesCmacPrf128.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAE/B,MAAM,aAAa;AACnB,MAAM,KAAK;AACX,MAAM,aAAa,IAAI,WAAW,UAAU;AAE5C,SAAS,mBAAmB,KAAiB,OAA+B;AACxE,QAAM,SAAS,eAAe,eAAe,KAAK,IAAI;AACtD,SAAO,eAAe,KAAK;AAC3B,QAAM,MAAM,OAAO,OAAO,KAAK;AAC/B,SAAO,MAAM;AACb,SAAO,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY,IAAI,UAAU;AACpE;AAEA,SAAS,WAAW,OAA+B;AAC/C,QAAM,MAAM,IAAI,WAAW,MAAM,MAAM;AACvC,MAAI,QAAQ;AACZ,WAAS,IAAI,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK;AACxC,UAAM,IAAI,MAAM,CAAC;AACjB,QAAI,CAAC,IAAM,KAAK,IAAK,MAAQ;AAC7B,aAAS,IAAI,QAAS;AAAA,EAC1B;AACA,SAAO;AACX;AAEA,SAAS,QAAQ,QAAoB,QAAoB,SAAS,GAAS;AACvE,WAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACjC,WAAO,CAAC,KAAK,OAAO,SAAS,CAAC;AAAA,EAClC;AACJ;AAEA,SAAS,gBAAgB,KAAqD;AAC1E,QAAM,IAAI,mBAAmB,KAAK,UAAU;AAC5C,QAAM,KAAK,WAAW,CAAC;AACvB,OAAK,EAAE,CAAC,IAAI,SAAU,EAAG,IAAG,aAAa,CAAC,KAAK;AAC/C,QAAM,KAAK,WAAW,EAAE;AACxB,OAAK,GAAG,CAAC,IAAI,SAAU,EAAG,IAAG,aAAa,CAAC,KAAK;AAChD,SAAO,EAAE,IAAI,GAAG;AACpB;AAQO,IAAU;AAAA,CAAV,CAAUA,aAAV;AACI,WAAS,QAAQ,KAAiB,SAAiC;AACtE,QAAI,IAAI,WAAW,IAAI;AACnB,YAAM,IAAI,cAAc,sCAAsC,IAAI,MAAM,EAAE;AAAA,IAC9E;AACA,UAAM,EAAE,IAAI,GAAG,IAAI,gBAAgB,GAAG;AAEtC,UAAM,YAAY,KAAK,IAAI,GAAG,KAAK,KAAK,QAAQ,SAAS,UAAU,CAAC;AACpE,UAAM,oBAAoB,QAAQ,SAAS,KAAK,QAAQ,SAAS,eAAe;AAEhF,UAAM,YAAY,IAAI,WAAW,UAAU;AAC3C,UAAM,mBAAmB,YAAY,KAAK;AAC1C,QAAI,mBAAmB;AACnB,gBAAU,IAAI,QAAQ,SAAS,iBAAiB,kBAAkB,UAAU,CAAC;AAC7E,cAAQ,WAAW,EAAE;AAAA,IACzB,OAAO;AACH,YAAM,YAAY,QAAQ,SAAS;AACnC,gBAAU,IAAI,QAAQ,SAAS,iBAAiB,kBAAkB,SAAS,CAAC;AAC5E,gBAAU,SAAS,IAAI;AACvB,cAAQ,WAAW,EAAE;AAAA,IACzB;AAEA,UAAM,IAAI,IAAI,WAAW,UAAU;AACnC,aAAS,IAAI,GAAG,IAAI,YAAY,GAAG,KAAK;AACpC,cAAQ,GAAG,SAAS,IAAI,UAAU;AAClC,YAAM,MAAM,mBAAmB,KAAK,CAAC;AACrC,QAAE,IAAI,GAAG;AAAA,IACb;AACA,YAAQ,GAAG,SAAS;AACpB,WAAO,mBAAmB,KAAK,CAAC;AAAA,EACpC;AA7BO,EAAAA,SAAS;AAAA,GADH;AAuCV,IAAU;AAAA,CAAV,CAAUC,mBAAV;AACI,WAAS,QAAQ,KAAiB,SAAiC;AACtE,QAAI,IAAI,WAAW,IAAI;AACnB,aAAO,QAAQ,QAAQ,KAAK,OAAO;AAAA,IACvC;AACA,UAAM,aAAa,QAAQ,QAAQ,YAAY,GAAG;AAClD,WAAO,QAAQ,QAAQ,YAAY,OAAO;AAAA,EAC9C;AANO,EAAAA,eAAS;AAAA,GADH;",
5
- "names": ["AesCmac", "AesCmacPrf128"]
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAqB;AAE9B,MAAM,aAAa,IAAI,WAAW,EAAE;AAM7B,IAAU;AAAA,CAAV,CAAUA,mBAAV;AACI,WAAS,QAAQ,QAAgB,KAAY,SAAuB;AACvE,UAAM,WAAW,MAAM,GAAG,GAAG;AAC7B,QAAI,SAAS,WAAW,IAAI;AACxB,aAAO,OAAO,KAAK,UAAU,OAAO;AAAA,IACxC;AACA,UAAM,aAAa,OAAO,KAAK,YAAY,QAAQ;AACnD,WAAO,OAAO,KAAK,YAAY,OAAO;AAAA,EAC1C;AAPO,EAAAA,eAAS;AAAA,GADH;",
5
+ "names": ["AesCmacPrf128"]
6
6
  }
@@ -3,16 +3,17 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes, Crypto } from "@matter/general";
6
7
  /**
7
8
  * PBKDF2 (RFC 8018 §5.2) using AES-CMAC-PRF-128 as the underlying PRF.
8
9
  *
9
10
  * Hand-rolled because Node's `crypto.pbkdf2` is hardwired to HMAC. The PRF here
10
11
  * always emits 16 bytes, so each output block needs one PRF call per iteration.
11
12
  */
12
- export declare function pbkdf2AesCmac(args: {
13
- password: Uint8Array;
14
- salt: Uint8Array;
13
+ export declare function pbkdf2AesCmac(crypto: Crypto, args: {
14
+ password: Bytes;
15
+ salt: Bytes;
15
16
  iterations: number;
16
17
  dkLen: number;
17
- }): Uint8Array;
18
+ }): Bytes;
18
19
  //# sourceMappingURL=Pbkdf2AesCmac.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pbkdf2AesCmac.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pbkdf2AesCmac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAChC,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB,GAAG,UAAU,CAkCb"}
1
+ {"version":3,"file":"Pbkdf2AesCmac.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pbkdf2AesCmac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAKrE;;;;;GAKG;AACH,wBAAgB,aAAa,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACF,QAAQ,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB,GACF,KAAK,CAmCP"}
@@ -3,11 +3,12 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { ImplementationError } from "@matter/general";
6
+ import { Bytes, ImplementationError } from "@matter/general";
7
7
  import { AesCmacPrf128 } from "./AesCmacPrf128.js";
8
8
  const HLEN = 16;
9
- function pbkdf2AesCmac(args) {
10
- const { password, salt, iterations, dkLen } = args;
9
+ function pbkdf2AesCmac(crypto, args) {
10
+ const { password, iterations, dkLen } = args;
11
+ const salt = Bytes.of(args.salt);
11
12
  if (!Number.isInteger(iterations) || iterations <= 0) {
12
13
  throw new ImplementationError(`iterations must be a positive integer, got ${iterations}`);
13
14
  }
@@ -26,10 +27,10 @@ function pbkdf2AesCmac(args) {
26
27
  saltedBlock[salt.length + 1] = i >>> 16 & 255;
27
28
  saltedBlock[salt.length + 2] = i >>> 8 & 255;
28
29
  saltedBlock[salt.length + 3] = i & 255;
29
- let u = AesCmacPrf128.compute(password, saltedBlock);
30
+ let u = Bytes.of(AesCmacPrf128.compute(crypto, password, saltedBlock));
30
31
  const t = new Uint8Array(u);
31
32
  for (let j = 1; j < iterations; j++) {
32
- u = AesCmacPrf128.compute(password, u);
33
+ u = Bytes.of(AesCmacPrf128.compute(crypto, password, u));
33
34
  for (let k = 0; k < HLEN; k++) t[k] ^= u[k];
34
35
  }
35
36
  out.set(t, (i - 1) * HLEN);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Pbkdf2AesCmac.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AACpC,SAAS,qBAAqB;AAE9B,MAAM,OAAO;AAQN,SAAS,cAAc,MAKf;AACX,QAAM,EAAE,UAAU,MAAM,YAAY,MAAM,IAAI;AAC9C,MAAI,CAAC,OAAO,UAAU,UAAU,KAAK,cAAc,GAAG;AAClD,UAAM,IAAI,oBAAoB,8CAA8C,UAAU,EAAE;AAAA,EAC5F;AACA,MAAI,CAAC,OAAO,UAAU,KAAK,KAAK,SAAS,GAAG;AACxC,UAAM,IAAI,oBAAoB,yCAAyC,KAAK,EAAE;AAAA,EAClF;AAEA,MAAI,QAAQ,aAAa,MAAM;AAC3B,UAAM,IAAI,oBAAoB,SAAS,KAAK,yBAAyB;AAAA,EACzE;AAEA,QAAM,YAAY,KAAK,KAAK,QAAQ,IAAI;AACxC,QAAM,MAAM,IAAI,WAAW,YAAY,IAAI;AAC3C,QAAM,cAAc,IAAI,WAAW,KAAK,SAAS,CAAC;AAClD,cAAY,IAAI,MAAM,CAAC;AAEvB,WAAS,IAAI,GAAG,KAAK,WAAW,KAAK;AACjC,gBAAY,KAAK,MAAM,IAAK,MAAM,KAAM;AACxC,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,KAAM;AAC5C,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,IAAK;AAC3C,gBAAY,KAAK,SAAS,CAAC,IAAI,IAAI;AAEnC,QAAI,IAAI,cAAc,QAAQ,UAAU,WAAW;AACnD,UAAM,IAAI,IAAI,WAAW,CAAC;AAC1B,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACjC,UAAI,cAAc,QAAQ,UAAU,CAAC;AACrC,eAAS,IAAI,GAAG,IAAI,MAAM,IAAK,GAAE,CAAC,KAAK,EAAE,CAAC;AAAA,IAC9C;AACA,QAAI,IAAI,IAAI,IAAI,KAAK,IAAI;AAAA,EAC7B;AAEA,SAAO,IAAI,SAAS,GAAG,KAAK;AAChC;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAe,2BAA2B;AACnD,SAAS,qBAAqB;AAE9B,MAAM,OAAO;AAQN,SAAS,cACZ,QACA,MAMK;AACL,QAAM,EAAE,UAAU,YAAY,MAAM,IAAI;AACxC,QAAM,OAAO,MAAM,GAAG,KAAK,IAAI;AAC/B,MAAI,CAAC,OAAO,UAAU,UAAU,KAAK,cAAc,GAAG;AAClD,UAAM,IAAI,oBAAoB,8CAA8C,UAAU,EAAE;AAAA,EAC5F;AACA,MAAI,CAAC,OAAO,UAAU,KAAK,KAAK,SAAS,GAAG;AACxC,UAAM,IAAI,oBAAoB,yCAAyC,KAAK,EAAE;AAAA,EAClF;AAEA,MAAI,QAAQ,aAAa,MAAM;AAC3B,UAAM,IAAI,oBAAoB,SAAS,KAAK,yBAAyB;AAAA,EACzE;AAEA,QAAM,YAAY,KAAK,KAAK,QAAQ,IAAI;AACxC,QAAM,MAAM,IAAI,WAAW,YAAY,IAAI;AAC3C,QAAM,cAAc,IAAI,WAAW,KAAK,SAAS,CAAC;AAClD,cAAY,IAAI,MAAM,CAAC;AAEvB,WAAS,IAAI,GAAG,KAAK,WAAW,KAAK;AACjC,gBAAY,KAAK,MAAM,IAAK,MAAM,KAAM;AACxC,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,KAAM;AAC5C,gBAAY,KAAK,SAAS,CAAC,IAAK,MAAM,IAAK;AAC3C,gBAAY,KAAK,SAAS,CAAC,IAAI,IAAI;AAEnC,QAAI,IAAI,MAAM,GAAG,cAAc,QAAQ,QAAQ,UAAU,WAAW,CAAC;AACrE,UAAM,IAAI,IAAI,WAAW,CAAC;AAC1B,aAAS,IAAI,GAAG,IAAI,YAAY,KAAK;AACjC,UAAI,MAAM,GAAG,cAAc,QAAQ,QAAQ,UAAU,CAAC,CAAC;AACvD,eAAS,IAAI,GAAG,IAAI,MAAM,IAAK,GAAE,CAAC,KAAK,EAAE,CAAC;AAAA,IAC9C;AACA,QAAI,IAAI,IAAI,IAAI,KAAK,IAAI;AAAA,EAC7B;AAEA,SAAO,IAAI,SAAS,GAAG,KAAK;AAChC;",
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, Crypto } from "@matter/general";
6
7
  /**
7
8
  * Thread MeshCoP PSKc derivation.
8
9
  *
@@ -12,10 +13,10 @@
12
13
  * || networkName` ordering is wrong).
13
14
  */
14
15
  export declare namespace Pskc {
15
- function derive(args: {
16
+ function derive(crypto: Crypto, args: {
16
17
  passphrase: string;
17
- extPanId: Uint8Array;
18
+ extPanId: Bytes;
18
19
  networkName: string;
19
- }): Uint8Array;
20
+ }): Bytes;
20
21
  }
21
22
  //# sourceMappingURL=Pskc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pskc.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pskc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;;;;;GAOG;AACH,yBAAiB,IAAI,CAAC,CAAC;IACnB,SAAgB,MAAM,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CA4B1G;CACJ"}
1
+ {"version":3,"file":"Pskc.d.ts","sourceRoot":"","sources":["../../../src/crypto/Pskc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAuB,MAAM,iBAAiB,CAAC;AAYrE;;;;;;;GAOG;AACH,yBAAiB,IAAI,CAAC,CAAC;IACnB,SAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CA6BhH;CACJ"}