@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
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { InternalError } from "@matter/general";
7
+ import { Bytes, InternalError } from "@matter/general";
8
8
  import { ThreadDiagError } from "../../diagnostic/errors.js";
9
9
 
10
10
  /**
@@ -24,49 +24,52 @@ import { ThreadDiagError } from "../../diagnostic/errors.js";
24
24
  * `Client::GetNextDiagTlv` parser.
25
25
  */
26
26
 
27
- function eui64Decode(value: Uint8Array, name: string): Uint8Array {
28
- if (value.length !== 8) {
29
- throw new ThreadDiagError(`${name} TLV must be 8 bytes, got ${value.length}`);
27
+ function eui64Decode(value: Bytes, name: string): Bytes {
28
+ const buf = Bytes.of(value);
29
+ if (buf.length !== 8) {
30
+ throw new ThreadDiagError(`${name} TLV must be 8 bytes, got ${buf.length}`);
30
31
  }
31
- return value.slice();
32
+ return buf.slice();
32
33
  }
33
34
 
34
- function eui64Encode(addr: Uint8Array, name: string): Uint8Array {
35
- if (addr.length !== 8) {
36
- throw new InternalError(`${name} must be 8 bytes, got ${addr.length}`);
35
+ function eui64Encode(addr: Bytes, name: string): Bytes {
36
+ const buf = Bytes.of(addr);
37
+ if (buf.length !== 8) {
38
+ throw new InternalError(`${name} must be 8 bytes, got ${buf.length}`);
37
39
  }
38
- return addr.slice();
40
+ return buf.slice();
39
41
  }
40
42
 
41
43
  export namespace ExtMacAddress {
42
- export function decode(value: Uint8Array): Uint8Array {
44
+ export function decode(value: Bytes): Bytes {
43
45
  return eui64Decode(value, "ExtMacAddress");
44
46
  }
45
47
 
46
- export function encode(addr: Uint8Array): Uint8Array {
48
+ export function encode(addr: Bytes): Bytes {
47
49
  return eui64Encode(addr, "ExtMacAddress");
48
50
  }
49
51
  }
50
52
 
51
53
  export namespace Eui64 {
52
- export function decode(value: Uint8Array): Uint8Array {
54
+ export function decode(value: Bytes): Bytes {
53
55
  return eui64Decode(value, "Eui64");
54
56
  }
55
57
 
56
- export function encode(addr: Uint8Array): Uint8Array {
58
+ export function encode(addr: Bytes): Bytes {
57
59
  return eui64Encode(addr, "Eui64");
58
60
  }
59
61
  }
60
62
 
61
63
  export namespace Address16 {
62
- export function decode(value: Uint8Array): number {
63
- if (value.length !== 2) {
64
- throw new ThreadDiagError(`Address16 TLV must be 2 bytes, got ${value.length}`);
64
+ export function decode(value: Bytes): number {
65
+ const buf = Bytes.of(value);
66
+ if (buf.length !== 2) {
67
+ throw new ThreadDiagError(`Address16 TLV must be 2 bytes, got ${buf.length}`);
65
68
  }
66
- return (value[0] << 8) | value[1];
69
+ return (buf[0] << 8) | buf[1];
67
70
  }
68
71
 
69
- export function encode(rloc16: number): Uint8Array {
72
+ export function encode(rloc16: number): Bytes {
70
73
  if (!Number.isInteger(rloc16) || rloc16 < 0 || rloc16 > 0xffff) {
71
74
  throw new InternalError(`Address16 out of range: ${rloc16}`);
72
75
  }
@@ -75,14 +78,15 @@ export namespace Address16 {
75
78
  }
76
79
 
77
80
  export namespace BatteryLevel {
78
- export function decode(value: Uint8Array): number {
79
- if (value.length !== 1) {
80
- throw new ThreadDiagError(`BatteryLevel TLV must be 1 byte, got ${value.length}`);
81
+ export function decode(value: Bytes): number {
82
+ const buf = Bytes.of(value);
83
+ if (buf.length !== 1) {
84
+ throw new ThreadDiagError(`BatteryLevel TLV must be 1 byte, got ${buf.length}`);
81
85
  }
82
- return value[0];
86
+ return buf[0];
83
87
  }
84
88
 
85
- export function encode(percent: number): Uint8Array {
89
+ export function encode(percent: number): Bytes {
86
90
  if (!Number.isInteger(percent) || percent < 0 || percent > 0xff) {
87
91
  throw new InternalError(`BatteryLevel out of range: ${percent}`);
88
92
  }
@@ -91,14 +95,15 @@ export namespace BatteryLevel {
91
95
  }
92
96
 
93
97
  export namespace SupplyVoltage {
94
- export function decode(value: Uint8Array): number {
95
- if (value.length !== 2) {
96
- throw new ThreadDiagError(`SupplyVoltage TLV must be 2 bytes, got ${value.length}`);
98
+ export function decode(value: Bytes): number {
99
+ const buf = Bytes.of(value);
100
+ if (buf.length !== 2) {
101
+ throw new ThreadDiagError(`SupplyVoltage TLV must be 2 bytes, got ${buf.length}`);
97
102
  }
98
- return (value[0] << 8) | value[1];
103
+ return (buf[0] << 8) | buf[1];
99
104
  }
100
105
 
101
- export function encode(millivolts: number): Uint8Array {
106
+ export function encode(millivolts: number): Bytes {
102
107
  if (!Number.isInteger(millivolts) || millivolts < 0 || millivolts > 0xffff) {
103
108
  throw new InternalError(`SupplyVoltage out of range: ${millivolts}`);
104
109
  }
@@ -107,14 +112,15 @@ export namespace SupplyVoltage {
107
112
  }
108
113
 
109
114
  export namespace MaxChildTimeout {
110
- export function decode(value: Uint8Array): number {
111
- if (value.length !== 4) {
112
- throw new ThreadDiagError(`MaxChildTimeout TLV must be 4 bytes, got ${value.length}`);
115
+ export function decode(value: Bytes): number {
116
+ const buf = Bytes.of(value);
117
+ if (buf.length !== 4) {
118
+ throw new ThreadDiagError(`MaxChildTimeout TLV must be 4 bytes, got ${buf.length}`);
113
119
  }
114
- return ((value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3]) >>> 0;
120
+ return ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) >>> 0;
115
121
  }
116
122
 
117
- export function encode(seconds: number): Uint8Array {
123
+ export function encode(seconds: number): Bytes {
118
124
  if (!Number.isInteger(seconds) || seconds < 0 || seconds > 0xffffffff) {
119
125
  throw new InternalError(`MaxChildTimeout out of range: ${seconds}`);
120
126
  }
@@ -128,11 +134,11 @@ export namespace MaxChildTimeout {
128
134
  }
129
135
 
130
136
  export namespace ChannelPages {
131
- export function decode(value: Uint8Array): number[] {
132
- return Array.from(value);
137
+ export function decode(value: Bytes): number[] {
138
+ return Array.from(Bytes.of(value));
133
139
  }
134
140
 
135
- export function encode(pages: ReadonlyArray<number>): Uint8Array {
141
+ export function encode(pages: ReadonlyArray<number>): Bytes {
136
142
  const out = new Uint8Array(pages.length);
137
143
  for (let i = 0; i < pages.length; i++) {
138
144
  const p = pages[i];
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { InternalError } from "@matter/general";
7
+ import { Bytes, InternalError } from "@matter/general";
8
8
  import { ThreadDiagError } from "../../diagnostic/errors.js";
9
9
 
10
10
  /**
@@ -60,27 +60,28 @@ function setRouterIdBit(mask: Uint8Array, routerId: number): void {
60
60
  }
61
61
 
62
62
  export namespace Route64 {
63
- export function decode(value: Uint8Array): Route64 {
64
- if (value.length < HEADER_BYTES) {
65
- throw new ThreadDiagError(`Route64 TLV too short: ${value.length} bytes (need >=${HEADER_BYTES})`);
63
+ export function decode(value: Bytes): Route64 {
64
+ const buf = Bytes.of(value);
65
+ if (buf.length < HEADER_BYTES) {
66
+ throw new ThreadDiagError(`Route64 TLV too short: ${buf.length} bytes (need >=${HEADER_BYTES})`);
66
67
  }
67
- const idSequence = value[0];
68
- const mask = value.subarray(1, HEADER_BYTES);
68
+ const idSequence = buf[0];
69
+ const mask = buf.subarray(1, HEADER_BYTES);
69
70
 
70
71
  const allocatedIds = new Array<number>();
71
72
  for (let id = 0; id <= MAX_ROUTER_ID; id++) {
72
73
  if (isRouterIdSet(mask, id)) allocatedIds.push(id);
73
74
  }
74
75
 
75
- if (value.length !== HEADER_BYTES + allocatedIds.length) {
76
+ if (buf.length !== HEADER_BYTES + allocatedIds.length) {
76
77
  throw new ThreadDiagError(
77
- `Route64 TLV size mismatch: ${value.length} bytes for ${allocatedIds.length} allocated routers`,
78
+ `Route64 TLV size mismatch: ${buf.length} bytes for ${allocatedIds.length} allocated routers`,
78
79
  );
79
80
  }
80
81
 
81
82
  const entries = new Array<Route64Entry>();
82
83
  for (let i = 0; i < allocatedIds.length; i++) {
83
- const data = value[HEADER_BYTES + i];
84
+ const data = buf[HEADER_BYTES + i];
84
85
  entries.push({
85
86
  routerId: allocatedIds[i],
86
87
  linkQualityOut: (data & LINK_QUALITY_OUT_MASK) >> LINK_QUALITY_OUT_SHIFT,
@@ -91,7 +92,7 @@ export namespace Route64 {
91
92
  return { idSequence, entries };
92
93
  }
93
94
 
94
- export function encode(route: Route64): Uint8Array {
95
+ export function encode(route: Route64): Bytes {
95
96
  const sortedEntries = [...route.entries].sort((a, b) => a.routerId - b.routerId);
96
97
 
97
98
  const out = new Uint8Array(HEADER_BYTES + sortedEntries.length);
@@ -4,6 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Bytes } from "@matter/general";
8
+
7
9
  /**
8
10
  * One decoded Router Neighbor entry from Network Diagnostic TLV type 31.
9
11
  *
@@ -24,7 +26,7 @@
24
26
  export interface RouterNeighborEntry {
25
27
  rloc16: number;
26
28
  /** 8-byte IEEE EUI-64 extended address. */
27
- extAddress: Uint8Array;
29
+ extAddress: Bytes;
28
30
  version: number;
29
31
  /** Seconds elapsed since link establishment. */
30
32
  connectionTime: number;
@@ -47,24 +49,25 @@ const ENTRY_BYTES = 24;
47
49
  const FLAGS_TRACK_ERR_RATE = 0x80; // kFlagsTrackErrRate = 1 << 7
48
50
 
49
51
  export namespace RouterNeighbor {
50
- export function decode(value: Uint8Array): RouterNeighborEntry[] {
51
- const entryCount = Math.floor(value.length / ENTRY_BYTES);
52
+ export function decode(value: Bytes): RouterNeighborEntry[] {
53
+ const buf = Bytes.of(value);
54
+ const entryCount = Math.floor(buf.length / ENTRY_BYTES);
52
55
  const entries = new Array<RouterNeighborEntry>();
53
56
 
54
57
  for (let i = 0; i < entryCount; i++) {
55
58
  const off = i * ENTRY_BYTES;
56
- const flags = value[off];
57
- const rloc16 = (value[off + 1] << 8) | value[off + 2];
58
- const extAddress = value.slice(off + 3, off + 11);
59
- const version = (value[off + 11] << 8) | value[off + 12];
59
+ const flags = buf[off];
60
+ const rloc16 = (buf[off + 1] << 8) | buf[off + 2];
61
+ const extAddress = buf.slice(off + 3, off + 11);
62
+ const version = (buf[off + 11] << 8) | buf[off + 12];
60
63
  const connectionTime =
61
- ((value[off + 13] << 24) | (value[off + 14] << 16) | (value[off + 15] << 8) | value[off + 16]) >>> 0;
62
- const linkMargin = value[off + 17];
64
+ ((buf[off + 13] << 24) | (buf[off + 14] << 16) | (buf[off + 15] << 8) | buf[off + 16]) >>> 0;
65
+ const linkMargin = buf[off + 17];
63
66
  // int8 signed decode: values >= 128 are negative (two's complement).
64
- const averageRssi = value[off + 18] > 127 ? value[off + 18] - 256 : value[off + 18];
65
- const lastRssi = value[off + 19] > 127 ? value[off + 19] - 256 : value[off + 19];
66
- const frameErrorRate = (value[off + 20] << 8) | value[off + 21];
67
- const messageErrorRate = (value[off + 22] << 8) | value[off + 23];
67
+ const averageRssi = buf[off + 18] > 127 ? buf[off + 18] - 256 : buf[off + 18];
68
+ const lastRssi = buf[off + 19] > 127 ? buf[off + 19] - 256 : buf[off + 19];
69
+ const frameErrorRate = (buf[off + 20] << 8) | buf[off + 21];
70
+ const messageErrorRate = (buf[off + 22] << 8) | buf[off + 23];
68
71
 
69
72
  entries.push({
70
73
  rloc16,
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { InternalError } from "@matter/general";
7
+ import { Bytes, InternalError } from "@matter/general";
8
8
  import { ThreadDiagError } from "../../diagnostic/errors.js";
9
9
 
10
10
  /**
@@ -15,14 +15,15 @@ import { ThreadDiagError } from "../../diagnostic/errors.js";
15
15
  * `network_diagnostic.cpp` parser.
16
16
  */
17
17
  export namespace Timeout {
18
- export function decode(value: Uint8Array): number {
19
- if (value.length !== 4) {
20
- throw new ThreadDiagError(`Timeout TLV must be 4 bytes, got ${value.length}`);
18
+ export function decode(value: Bytes): number {
19
+ const buf = Bytes.of(value);
20
+ if (buf.length !== 4) {
21
+ throw new ThreadDiagError(`Timeout TLV must be 4 bytes, got ${buf.length}`);
21
22
  }
22
- return ((value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3]) >>> 0;
23
+ return ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) >>> 0;
23
24
  }
24
25
 
25
- export function encode(seconds: number): Uint8Array {
26
+ export function encode(seconds: number): Bytes {
26
27
  if (!Number.isInteger(seconds) || seconds < 0 || seconds > 0xffffffff) {
27
28
  throw new InternalError(`Timeout TLV out of range: ${seconds}`);
28
29
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { InternalError } from "@matter/general";
7
+ import { Bytes, InternalError } from "@matter/general";
8
8
  import { ThreadDiagError } from "../../diagnostic/errors.js";
9
9
 
10
10
  /**
@@ -28,11 +28,11 @@ import { ThreadDiagError } from "../../diagnostic/errors.js";
28
28
  const TEXT_DECODER = new TextDecoder("utf-8", { fatal: false });
29
29
  const TEXT_ENCODER = new TextEncoder();
30
30
 
31
- function decodeUtf8(value: Uint8Array): string {
31
+ function decodeUtf8(value: Bytes): string {
32
32
  return TEXT_DECODER.decode(value);
33
33
  }
34
34
 
35
- function encodeUtf8(text: string, maxBytes: number, name: string): Uint8Array {
35
+ function encodeUtf8(text: string, maxBytes: number, name: string): Bytes {
36
36
  const encoded = TEXT_ENCODER.encode(text);
37
37
  if (encoded.length > maxBytes) {
38
38
  throw new InternalError(`${name} value too long: ${encoded.length} bytes (max ${maxBytes})`);
@@ -47,14 +47,15 @@ export const THREAD_STACK_VERSION_MAX = 64;
47
47
  export const VENDOR_APP_URL_MAX = 96;
48
48
 
49
49
  export namespace Version {
50
- export function decode(value: Uint8Array): number {
51
- if (value.length !== 2) {
52
- throw new ThreadDiagError(`Version TLV must be 2 bytes, got ${value.length}`);
50
+ export function decode(value: Bytes): number {
51
+ const buf = Bytes.of(value);
52
+ if (buf.length !== 2) {
53
+ throw new ThreadDiagError(`Version TLV must be 2 bytes, got ${buf.length}`);
53
54
  }
54
- return (value[0] << 8) | value[1];
55
+ return (buf[0] << 8) | buf[1];
55
56
  }
56
57
 
57
- export function encode(version: number): Uint8Array {
58
+ export function encode(version: number): Bytes {
58
59
  if (!Number.isInteger(version) || version < 0 || version > 0xffff) {
59
60
  throw new InternalError(`Version TLV out of range: ${version}`);
60
61
  }
@@ -63,51 +64,51 @@ export namespace Version {
63
64
  }
64
65
 
65
66
  export namespace VendorName {
66
- export function decode(value: Uint8Array): string {
67
+ export function decode(value: Bytes): string {
67
68
  return decodeUtf8(value);
68
69
  }
69
70
 
70
- export function encode(name: string): Uint8Array {
71
+ export function encode(name: string): Bytes {
71
72
  return encodeUtf8(name, VENDOR_NAME_MAX, "VendorName");
72
73
  }
73
74
  }
74
75
 
75
76
  export namespace VendorModel {
76
- export function decode(value: Uint8Array): string {
77
+ export function decode(value: Bytes): string {
77
78
  return decodeUtf8(value);
78
79
  }
79
80
 
80
- export function encode(model: string): Uint8Array {
81
+ export function encode(model: string): Bytes {
81
82
  return encodeUtf8(model, VENDOR_MODEL_MAX, "VendorModel");
82
83
  }
83
84
  }
84
85
 
85
86
  export namespace VendorSwVersion {
86
- export function decode(value: Uint8Array): string {
87
+ export function decode(value: Bytes): string {
87
88
  return decodeUtf8(value);
88
89
  }
89
90
 
90
- export function encode(version: string): Uint8Array {
91
+ export function encode(version: string): Bytes {
91
92
  return encodeUtf8(version, VENDOR_SW_VERSION_MAX, "VendorSwVersion");
92
93
  }
93
94
  }
94
95
 
95
96
  export namespace ThreadStackVersion {
96
- export function decode(value: Uint8Array): string {
97
+ export function decode(value: Bytes): string {
97
98
  return decodeUtf8(value);
98
99
  }
99
100
 
100
- export function encode(version: string): Uint8Array {
101
+ export function encode(version: string): Bytes {
101
102
  return encodeUtf8(version, THREAD_STACK_VERSION_MAX, "ThreadStackVersion");
102
103
  }
103
104
  }
104
105
 
105
106
  export namespace VendorAppUrl {
106
- export function decode(value: Uint8Array): string {
107
+ export function decode(value: Bytes): string {
107
108
  return decodeUtf8(value);
108
109
  }
109
110
 
110
- export function encode(url: string): Uint8Array {
111
+ export function encode(url: string): Bytes {
111
112
  return encodeUtf8(url, VENDOR_APP_URL_MAX, "VendorAppUrl");
112
113
  }
113
114
  }
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Bytes } from "@matter/general";
7
8
  import { ThreadTlvError } from "../BasicTlvCodec.js";
8
9
 
9
10
  /**
@@ -18,14 +19,16 @@ import { ThreadTlvError } from "../BasicTlvCodec.js";
18
19
  * `src/core/meshcop/meshcop_tlvs.hpp` `IPv6AddressTlv` (`kIPv6Address = 49`).
19
20
  */
20
21
  export namespace Ip6AddressTlv {
21
- export function encode(addr: Uint8Array): Uint8Array {
22
- assertLength(addr);
23
- return addr.slice();
22
+ export function encode(addr: Bytes): Bytes {
23
+ const buf = Bytes.of(addr);
24
+ assertLength(buf);
25
+ return buf.slice();
24
26
  }
25
27
 
26
- export function decode(bytes: Uint8Array): Uint8Array {
27
- assertLength(bytes);
28
- return bytes.slice();
28
+ export function decode(bytes: Bytes): Bytes {
29
+ const buf = Bytes.of(bytes);
30
+ assertLength(buf);
31
+ return buf.slice();
29
32
  }
30
33
  }
31
34
 
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { InternalError } from "@matter/general";
7
+ import { Bytes, InternalError } from "@matter/general";
8
8
  import { ThreadTlvError } from "../BasicTlvCodec.js";
9
9
 
10
10
  /**
@@ -22,30 +22,32 @@ import { ThreadTlvError } from "../BasicTlvCodec.js";
22
22
  export interface UdpEncapsulation {
23
23
  sourcePort: number;
24
24
  destinationPort: number;
25
- payload: Uint8Array;
25
+ payload: Bytes;
26
26
  }
27
27
 
28
28
  export namespace UdpEncapsulationTlv {
29
- export function encode({ sourcePort, destinationPort, payload }: UdpEncapsulation): Uint8Array {
29
+ export function encode({ sourcePort, destinationPort, payload }: UdpEncapsulation): Bytes {
30
30
  assertPort(sourcePort, "sourcePort");
31
31
  assertPort(destinationPort, "destinationPort");
32
- const out = new Uint8Array(4 + payload.length);
32
+ const payloadBytes = Bytes.of(payload);
33
+ const out = new Uint8Array(4 + payloadBytes.length);
33
34
  out[0] = (sourcePort >> 8) & 0xff;
34
35
  out[1] = sourcePort & 0xff;
35
36
  out[2] = (destinationPort >> 8) & 0xff;
36
37
  out[3] = destinationPort & 0xff;
37
- out.set(payload, 4);
38
+ out.set(payloadBytes, 4);
38
39
  return out;
39
40
  }
40
41
 
41
- export function decode(bytes: Uint8Array): UdpEncapsulation {
42
- if (bytes.length < 4) {
43
- throw new ThreadTlvError(`UdpEncapsulationTlv: value must be at least 4 bytes, got ${bytes.length}`);
42
+ export function decode(bytes: Bytes): UdpEncapsulation {
43
+ const buf = Bytes.of(bytes);
44
+ if (buf.length < 4) {
45
+ throw new ThreadTlvError(`UdpEncapsulationTlv: value must be at least 4 bytes, got ${buf.length}`);
44
46
  }
45
47
  return {
46
- sourcePort: (bytes[0] << 8) | bytes[1],
47
- destinationPort: (bytes[2] << 8) | bytes[3],
48
- payload: bytes.slice(4),
48
+ sourcePort: (buf[0] << 8) | buf[1],
49
+ destinationPort: (buf[2] << 8) | buf[3],
50
+ payload: buf.slice(4),
49
51
  };
50
52
  }
51
53
  }
@@ -4,18 +4,18 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { ImplementationError } from "@matter/general";
7
+ import { Bytes, ImplementationError } from "@matter/general";
8
8
 
9
9
  /**
10
10
  * Realm-local all-Thread-nodes multicast address (`ff03::1`).
11
11
  */
12
- export const ALL_THREAD_NODES_REALM_LOCAL: Uint8Array = realmLocal(0x01);
12
+ export const ALL_THREAD_NODES_REALM_LOCAL: Bytes = realmLocal(0x01);
13
13
 
14
14
  /**
15
15
  * Realm-local all-Thread-routers multicast address (`ff03::2`). Diagnostic
16
16
  * multicast queries (`MGMT_DIAG_GET.qry`) target this group.
17
17
  */
18
- export const ALL_THREAD_ROUTERS_REALM_LOCAL: Uint8Array = realmLocal(0x02);
18
+ export const ALL_THREAD_ROUTERS_REALM_LOCAL: Bytes = realmLocal(0x02);
19
19
 
20
20
  /**
21
21
  * Derive the mesh-local IPv6 address of a node from its RLOC16.
@@ -23,15 +23,16 @@ export const ALL_THREAD_ROUTERS_REALM_LOCAL: Uint8Array = realmLocal(0x02);
23
23
  * Layout: `mlPrefix(8) || 0x0000 00FF FE00 || rloc16(2 BE)` — the well-known
24
24
  * Thread RLOC interface identifier with the locator in the low 16 bits.
25
25
  */
26
- export function deriveMeshLocalAddress(mlPrefix: Uint8Array, rloc16: number): Uint8Array {
27
- if (mlPrefix.length !== 8) {
28
- throw new ImplementationError(`deriveMeshLocalAddress: mlPrefix must be 8 bytes, got ${mlPrefix.length}`);
26
+ export function deriveMeshLocalAddress(mlPrefix: Bytes, rloc16: number): Bytes {
27
+ const prefix = Bytes.of(mlPrefix);
28
+ if (prefix.length !== 8) {
29
+ throw new ImplementationError(`deriveMeshLocalAddress: mlPrefix must be 8 bytes, got ${prefix.length}`);
29
30
  }
30
31
  if (!Number.isInteger(rloc16) || rloc16 < 0 || rloc16 > 0xffff) {
31
32
  throw new ImplementationError(`deriveMeshLocalAddress: rloc16 out of range: ${rloc16}`);
32
33
  }
33
34
  const addr = new Uint8Array(16);
34
- addr.set(mlPrefix, 0);
35
+ addr.set(prefix, 0);
35
36
  addr[11] = 0xff;
36
37
  addr[12] = 0xfe;
37
38
  addr[14] = (rloc16 >> 8) & 0xff;
@@ -43,7 +44,8 @@ export function deriveMeshLocalAddress(mlPrefix: Uint8Array, rloc16: number): Ui
43
44
  * Format a 16-byte IPv6 address as colon-separated hextets with leading zeros
44
45
  * trimmed. No `::` compression — for logs, where unambiguity beats brevity.
45
46
  */
46
- export function formatIp6(addr: Uint8Array): string {
47
+ export function formatIp6(input: Bytes): string {
48
+ const addr = Bytes.of(input);
47
49
  if (addr.length !== 16) {
48
50
  throw new ImplementationError(`formatIp6: address must be 16 bytes, got ${addr.length}`);
49
51
  }