@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,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import type { Bytes } from "@matter/general";
7
8
  import { BasicTlv, type BasicTlvEntry } from "./BasicTlvCodec.js";
8
9
 
9
10
  /**
@@ -27,11 +28,11 @@ export type NetworkDiagnosticEntry = BasicTlvEntry;
27
28
  * records; per-TLV typed decoders are layered on top in `./diag/`.
28
29
  */
29
30
  export namespace NetworkDiagnosticTlv {
30
- export function decode(blob: Uint8Array): NetworkDiagnosticEntry[] {
31
+ export function decode(blob: Bytes): NetworkDiagnosticEntry[] {
31
32
  return BasicTlv.walk(blob);
32
33
  }
33
34
 
34
- export function encode(entries: ReadonlyArray<NetworkDiagnosticEntry>): Uint8Array {
35
+ export function encode(entries: ReadonlyArray<NetworkDiagnosticEntry>): Bytes {
35
36
  return BasicTlv.encode(entries);
36
37
  }
37
38
  }
@@ -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
 
9
9
  /**
10
10
  * Type List TLV value codec (Network Diagnostic TLV type 18).
@@ -20,7 +20,7 @@ import { InternalError } from "@matter/general";
20
20
  * `TlvInfo<kTypeList>`) and `network_diagnostic.cpp` request payload handling.
21
21
  */
22
22
  export namespace TypeListTlv {
23
- export function encode(types: ReadonlyArray<number>): Uint8Array {
23
+ export function encode(types: ReadonlyArray<number>): Bytes {
24
24
  const out = new Uint8Array(types.length);
25
25
  for (let i = 0; i < types.length; i++) {
26
26
  const t = types[i];
@@ -32,7 +32,7 @@ export namespace TypeListTlv {
32
32
  return out;
33
33
  }
34
34
 
35
- export function decode(value: Uint8Array): number[] {
36
- return Array.from(value);
35
+ export function decode(value: Bytes): number[] {
36
+ return Array.from(Bytes.of(value));
37
37
  }
38
38
  }
@@ -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
  * Decoded Child IPv6 Address List TLV (Network Diagnostic TLV type 30).
9
11
  *
@@ -15,20 +17,21 @@
15
17
  */
16
18
  export interface ChildIpv6Addresses {
17
19
  rloc16: number;
18
- addresses: Uint8Array[];
20
+ addresses: Bytes[];
19
21
  }
20
22
 
21
23
  const RLOC16_BYTES = 2;
22
24
  const IPV6_ADDRESS_BYTES = 16;
23
25
 
24
26
  export namespace ChildIpv6AddressList {
25
- export function decode(value: Uint8Array): ChildIpv6Addresses {
26
- if (value.length < RLOC16_BYTES) {
27
+ export function decode(value: Bytes): ChildIpv6Addresses {
28
+ const buf = Bytes.of(value);
29
+ if (buf.length < RLOC16_BYTES) {
27
30
  return { rloc16: 0, addresses: [] };
28
31
  }
29
32
 
30
- const rloc16 = (value[0] << 8) | value[1];
31
- const addressPayload = value.subarray(RLOC16_BYTES);
33
+ const rloc16 = (buf[0] << 8) | buf[1];
34
+ const addressPayload = buf.subarray(RLOC16_BYTES);
32
35
  const addressCount = Math.floor(addressPayload.length / IPV6_ADDRESS_BYTES);
33
36
 
34
37
  const addresses = new Array<Uint8Array>();
@@ -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
  import { Mode } from "./Mode.js";
10
10
 
@@ -47,26 +47,27 @@ function timeoutFromExponent(exp: number): number {
47
47
  }
48
48
 
49
49
  export namespace ChildTable {
50
- export function decode(value: Uint8Array): ChildTableEntry[] {
51
- if (value.length % ENTRY_BYTES !== 0) {
52
- throw new ThreadDiagError(`ChildTable TLV length ${value.length} not a multiple of ${ENTRY_BYTES}`);
50
+ export function decode(value: Bytes): ChildTableEntry[] {
51
+ const buf = Bytes.of(value);
52
+ if (buf.length % ENTRY_BYTES !== 0) {
53
+ throw new ThreadDiagError(`ChildTable TLV length ${buf.length} not a multiple of ${ENTRY_BYTES}`);
53
54
  }
54
55
  const entries = new Array<ChildTableEntry>();
55
- for (let offset = 0; offset < value.length; offset += ENTRY_BYTES) {
56
- const word = (value[offset] << 8) | value[offset + 1];
56
+ for (let offset = 0; offset < buf.length; offset += ENTRY_BYTES) {
57
+ const word = (buf[offset] << 8) | buf[offset + 1];
57
58
  const timeoutExponent = (word & TIMEOUT_MASK) >> TIMEOUT_SHIFT;
58
59
  entries.push({
59
60
  timeoutExponent,
60
61
  timeoutSeconds: timeoutFromExponent(timeoutExponent),
61
62
  incomingLinkQuality: (word & ILQ_MASK) >> ILQ_SHIFT,
62
63
  childId: word & CHILD_ID_MASK,
63
- mode: Mode.decode(value.subarray(offset + 2, offset + 3)),
64
+ mode: Mode.decode(buf.subarray(offset + 2, offset + 3)),
64
65
  });
65
66
  }
66
67
  return entries;
67
68
  }
68
69
 
69
- export function encode(entries: ReadonlyArray<ChildTableEntry>): Uint8Array {
70
+ export function encode(entries: ReadonlyArray<ChildTableEntry>): Bytes {
70
71
  const out = new Uint8Array(entries.length * ENTRY_BYTES);
71
72
  for (let i = 0; i < entries.length; i++) {
72
73
  const e = entries[i];
@@ -85,7 +86,7 @@ export namespace ChildTable {
85
86
  (e.childId & CHILD_ID_MASK);
86
87
  out[i * ENTRY_BYTES] = (word >> 8) & 0xff;
87
88
  out[i * ENTRY_BYTES + 1] = word & 0xff;
88
- out[i * ENTRY_BYTES + 2] = Mode.encode(e.mode)[0];
89
+ out[i * ENTRY_BYTES + 2] = Bytes.of(Mode.encode(e.mode))[0];
89
90
  }
90
91
  return out;
91
92
  }
@@ -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 { ThreadDiagError } from "../../diagnostic/errors.js";
8
9
 
9
10
  /**
@@ -73,32 +74,31 @@ function parentPriorityTo2Bit(prio: ParentPriority): number {
73
74
  }
74
75
 
75
76
  export namespace Connectivity {
76
- export function decode(value: Uint8Array): Connectivity {
77
- if (value.length !== MIN_SIZE && value.length !== FULL_SIZE) {
78
- throw new ThreadDiagError(
79
- `Connectivity TLV must be ${MIN_SIZE} or ${FULL_SIZE} bytes, got ${value.length}`,
80
- );
77
+ export function decode(value: Bytes): Connectivity {
78
+ const buf = Bytes.of(value);
79
+ if (buf.length !== MIN_SIZE && buf.length !== FULL_SIZE) {
80
+ throw new ThreadDiagError(`Connectivity TLV must be ${MIN_SIZE} or ${FULL_SIZE} bytes, got ${buf.length}`);
81
81
  }
82
- const priorityBits = (value[0] & FLAGS_PARENT_PRIORITY_MASK) >> FLAGS_PARENT_PRIORITY_SHIFT;
82
+ const priorityBits = (buf[0] & FLAGS_PARENT_PRIORITY_MASK) >> FLAGS_PARENT_PRIORITY_SHIFT;
83
83
  const partial: Connectivity = {
84
84
  parentPriority: parentPriorityFrom2Bit(priorityBits),
85
- linkQuality3: value[1],
86
- linkQuality2: value[2],
87
- linkQuality1: value[3],
88
- leaderCost: value[4],
89
- idSequence: value[5],
90
- activeRouters: value[6],
85
+ linkQuality3: buf[1],
86
+ linkQuality2: buf[2],
87
+ linkQuality1: buf[3],
88
+ leaderCost: buf[4],
89
+ idSequence: buf[5],
90
+ activeRouters: buf[6],
91
91
  sedBufferSize: DEFAULT_SED_BUFFER_SIZE,
92
92
  sedDatagramCount: DEFAULT_SED_DATAGRAM_COUNT,
93
93
  };
94
- if (value.length === FULL_SIZE) {
95
- partial.sedBufferSize = (value[7] << 8) | value[8];
96
- partial.sedDatagramCount = value[9];
94
+ if (buf.length === FULL_SIZE) {
95
+ partial.sedBufferSize = (buf[7] << 8) | buf[8];
96
+ partial.sedDatagramCount = buf[9];
97
97
  }
98
98
  return partial;
99
99
  }
100
100
 
101
- export function encode(c: Connectivity): Uint8Array {
101
+ export function encode(c: Connectivity): Bytes {
102
102
  const out = new Uint8Array(FULL_SIZE);
103
103
  out[0] = (parentPriorityTo2Bit(c.parentPriority) << FLAGS_PARENT_PRIORITY_SHIFT) & FLAGS_PARENT_PRIORITY_MASK;
104
104
  out[1] = c.linkQuality3 & 0xff;
@@ -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
  /**
@@ -20,23 +20,24 @@ import { ThreadDiagError } from "../../diagnostic/errors.js";
20
20
  export const IPV6_ADDRESS_BYTES = 16;
21
21
 
22
22
  export namespace Ipv6AddressList {
23
- export function decode(value: Uint8Array): Uint8Array[] {
24
- if (value.length % IPV6_ADDRESS_BYTES !== 0) {
23
+ export function decode(value: Bytes): Bytes[] {
24
+ const buf = Bytes.of(value);
25
+ if (buf.length % IPV6_ADDRESS_BYTES !== 0) {
25
26
  throw new ThreadDiagError(
26
- `IPv6 address list TLV length ${value.length} not a multiple of ${IPV6_ADDRESS_BYTES}`,
27
+ `IPv6 address list TLV length ${buf.length} not a multiple of ${IPV6_ADDRESS_BYTES}`,
27
28
  );
28
29
  }
29
30
  const out = new Array<Uint8Array>();
30
- for (let offset = 0; offset < value.length; offset += IPV6_ADDRESS_BYTES) {
31
- out.push(value.slice(offset, offset + IPV6_ADDRESS_BYTES));
31
+ for (let offset = 0; offset < buf.length; offset += IPV6_ADDRESS_BYTES) {
32
+ out.push(buf.slice(offset, offset + IPV6_ADDRESS_BYTES));
32
33
  }
33
34
  return out;
34
35
  }
35
36
 
36
- export function encode(addresses: ReadonlyArray<Uint8Array>): Uint8Array {
37
+ export function encode(addresses: ReadonlyArray<Bytes>): Bytes {
37
38
  const out = new Uint8Array(addresses.length * IPV6_ADDRESS_BYTES);
38
39
  for (let i = 0; i < addresses.length; i++) {
39
- const addr = addresses[i];
40
+ const addr = Bytes.of(addresses[i]);
40
41
  if (addr.length !== IPV6_ADDRESS_BYTES) {
41
42
  throw new InternalError(`IPv6 address must be ${IPV6_ADDRESS_BYTES} bytes, got ${addr.length}`);
42
43
  }
@@ -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
  /**
@@ -27,21 +27,22 @@ export interface LeaderData {
27
27
  }
28
28
 
29
29
  export namespace LeaderData {
30
- export function decode(value: Uint8Array): LeaderData {
31
- if (value.length !== 8) {
32
- throw new ThreadDiagError(`LeaderData TLV must be 8 bytes, got ${value.length}`);
30
+ export function decode(value: Bytes): LeaderData {
31
+ const buf = Bytes.of(value);
32
+ if (buf.length !== 8) {
33
+ throw new ThreadDiagError(`LeaderData TLV must be 8 bytes, got ${buf.length}`);
33
34
  }
34
- const partitionId = ((value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3]) >>> 0;
35
+ const partitionId = ((buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]) >>> 0;
35
36
  return {
36
37
  partitionId,
37
- weighting: value[4],
38
- dataVersion: value[5],
39
- stableDataVersion: value[6],
40
- leaderRouterId: value[7],
38
+ weighting: buf[4],
39
+ dataVersion: buf[5],
40
+ stableDataVersion: buf[6],
41
+ leaderRouterId: buf[7],
41
42
  };
42
43
  }
43
44
 
44
- export function encode(data: LeaderData): Uint8Array {
45
+ export function encode(data: LeaderData): Bytes {
45
46
  if (data.partitionId < 0 || data.partitionId > 0xffffffff) {
46
47
  throw new InternalError(`LeaderData partitionId out of range: ${data.partitionId}`);
47
48
  }
@@ -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
  /**
@@ -53,24 +53,25 @@ function writeU32BE(bytes: Uint8Array, offset: number, value: number): void {
53
53
  }
54
54
 
55
55
  export namespace MacCounters {
56
- export function decode(value: Uint8Array): MacCounters {
57
- if (value.length !== TOTAL_BYTES) {
58
- throw new ThreadDiagError(`MacCounters TLV must be ${TOTAL_BYTES} bytes, got ${value.length}`);
56
+ export function decode(value: Bytes): MacCounters {
57
+ const buf = Bytes.of(value);
58
+ if (buf.length !== TOTAL_BYTES) {
59
+ throw new ThreadDiagError(`MacCounters TLV must be ${TOTAL_BYTES} bytes, got ${buf.length}`);
59
60
  }
60
61
  return {
61
- ifInUnknownProtos: readU32BE(value, 0),
62
- ifInErrors: readU32BE(value, 4),
63
- ifOutErrors: readU32BE(value, 8),
64
- ifInUcastPkts: readU32BE(value, 12),
65
- ifInBroadcastPkts: readU32BE(value, 16),
66
- ifInDiscards: readU32BE(value, 20),
67
- ifOutUcastPkts: readU32BE(value, 24),
68
- ifOutBroadcastPkts: readU32BE(value, 28),
69
- ifOutDiscards: readU32BE(value, 32),
62
+ ifInUnknownProtos: readU32BE(buf, 0),
63
+ ifInErrors: readU32BE(buf, 4),
64
+ ifOutErrors: readU32BE(buf, 8),
65
+ ifInUcastPkts: readU32BE(buf, 12),
66
+ ifInBroadcastPkts: readU32BE(buf, 16),
67
+ ifInDiscards: readU32BE(buf, 20),
68
+ ifOutUcastPkts: readU32BE(buf, 24),
69
+ ifOutBroadcastPkts: readU32BE(buf, 28),
70
+ ifOutDiscards: readU32BE(buf, 32),
70
71
  };
71
72
  }
72
73
 
73
- export function encode(counters: MacCounters): Uint8Array {
74
+ export function encode(counters: MacCounters): Bytes {
74
75
  const out = new Uint8Array(TOTAL_BYTES);
75
76
  for (let i = 0; i < FIELD_ORDER.length; i++) {
76
77
  const v = counters[FIELD_ORDER[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
  /**
@@ -103,30 +103,31 @@ function writeU64BE(bytes: Uint8Array, offset: number, value: bigint): void {
103
103
  const U64_MAX = (1n << 64n) - 1n;
104
104
 
105
105
  export namespace MleCounters {
106
- export function decode(value: Uint8Array): MleCounters {
107
- if (value.length !== TOTAL_BYTES) {
108
- throw new ThreadDiagError(`MleCounters TLV must be ${TOTAL_BYTES} bytes, got ${value.length}`);
106
+ export function decode(value: Bytes): MleCounters {
107
+ const buf = Bytes.of(value);
108
+ if (buf.length !== TOTAL_BYTES) {
109
+ throw new ThreadDiagError(`MleCounters TLV must be ${TOTAL_BYTES} bytes, got ${buf.length}`);
109
110
  }
110
111
  return {
111
- disabledRole: readU16BE(value, 0),
112
- detachedRole: readU16BE(value, 2),
113
- childRole: readU16BE(value, 4),
114
- routerRole: readU16BE(value, 6),
115
- leaderRole: readU16BE(value, 8),
116
- attachAttempts: readU16BE(value, 10),
117
- partitionIdChanges: readU16BE(value, 12),
118
- betterPartitionAttachAttempts: readU16BE(value, 14),
119
- parentChanges: readU16BE(value, 16),
120
- trackedTime: readU64BE(value, 18),
121
- disabledTime: readU64BE(value, 26),
122
- detachedTime: readU64BE(value, 34),
123
- childTime: readU64BE(value, 42),
124
- routerTime: readU64BE(value, 50),
125
- leaderTime: readU64BE(value, 58),
112
+ disabledRole: readU16BE(buf, 0),
113
+ detachedRole: readU16BE(buf, 2),
114
+ childRole: readU16BE(buf, 4),
115
+ routerRole: readU16BE(buf, 6),
116
+ leaderRole: readU16BE(buf, 8),
117
+ attachAttempts: readU16BE(buf, 10),
118
+ partitionIdChanges: readU16BE(buf, 12),
119
+ betterPartitionAttachAttempts: readU16BE(buf, 14),
120
+ parentChanges: readU16BE(buf, 16),
121
+ trackedTime: readU64BE(buf, 18),
122
+ disabledTime: readU64BE(buf, 26),
123
+ detachedTime: readU64BE(buf, 34),
124
+ childTime: readU64BE(buf, 42),
125
+ routerTime: readU64BE(buf, 50),
126
+ leaderTime: readU64BE(buf, 58),
126
127
  };
127
128
  }
128
129
 
129
- export function encode(counters: MleCounters): Uint8Array {
130
+ export function encode(counters: MleCounters): Bytes {
130
131
  const out = new Uint8Array(TOTAL_BYTES);
131
132
  for (let i = 0; i < U16_FIELDS.length; i++) {
132
133
  const v = counters[U16_FIELDS[i]];
@@ -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 { ThreadDiagError } from "../../diagnostic/errors.js";
8
9
 
9
10
  /**
@@ -29,11 +30,12 @@ const FLAG_FULL_THREAD_DEVICE = 1 << 1;
29
30
  const FLAG_FULL_NETWORK_DATA = 1 << 0;
30
31
 
31
32
  export namespace Mode {
32
- export function decode(value: Uint8Array): Mode {
33
- if (value.length !== 1) {
34
- throw new ThreadDiagError(`Mode TLV must be 1 byte, got ${value.length}`);
33
+ export function decode(value: Bytes): Mode {
34
+ const buf = Bytes.of(value);
35
+ if (buf.length !== 1) {
36
+ throw new ThreadDiagError(`Mode TLV must be 1 byte, got ${buf.length}`);
35
37
  }
36
- const raw = value[0];
38
+ const raw = buf[0];
37
39
  return {
38
40
  rxOnWhenIdle: (raw & FLAG_RX_ON_WHEN_IDLE) !== 0,
39
41
  fullThreadDevice: (raw & FLAG_FULL_THREAD_DEVICE) !== 0,
@@ -41,7 +43,7 @@ export namespace Mode {
41
43
  };
42
44
  }
43
45
 
44
- export function encode(mode: Mode): Uint8Array {
46
+ export function encode(mode: Mode): Bytes {
45
47
  // The reserved bit must be set on transmit per Thread spec / OpenThread `DeviceMode::Set`.
46
48
  let raw = FLAG_RESERVED;
47
49
  if (mode.rxOnWhenIdle) raw |= FLAG_RX_ON_WHEN_IDLE;
@@ -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 { ThreadDiagError } from "../../diagnostic/errors.js";
8
9
 
9
10
  /**
@@ -57,7 +58,7 @@ import { ThreadDiagError } from "../../diagnostic/errors.js";
57
58
  export interface NetworkDataEntry {
58
59
  type: number;
59
60
  stable: boolean;
60
- value: Uint8Array;
61
+ value: Bytes;
61
62
  }
62
63
 
63
64
  export interface HasRouteEntry {
@@ -73,21 +74,21 @@ export interface BorderRouterEntry {
73
74
  export interface NetworkDataPrefix {
74
75
  domainId: number;
75
76
  prefixLength: number;
76
- prefix: Uint8Array;
77
+ prefix: Bytes;
77
78
  hasRoutes: HasRouteEntry[];
78
79
  borderRouters: BorderRouterEntry[];
79
80
  }
80
81
 
81
82
  export interface NetworkDataServer {
82
83
  rloc16: number;
83
- serverData: Uint8Array;
84
+ serverData: Bytes;
84
85
  }
85
86
 
86
87
  export interface NetworkDataService {
87
88
  serviceId: number;
88
89
  threadEnterprise: boolean;
89
90
  enterpriseNumber?: number;
90
- serviceData: Uint8Array;
91
+ serviceData: Bytes;
91
92
  servers: NetworkDataServer[];
92
93
  }
93
94
 
@@ -95,7 +96,7 @@ export interface ThreadNetworkData {
95
96
  entries: NetworkDataEntry[];
96
97
  prefixes: NetworkDataPrefix[];
97
98
  services: NetworkDataService[];
98
- raw: Uint8Array;
99
+ raw: Bytes;
99
100
  }
100
101
 
101
102
  const enum NetworkDataTlvType {
@@ -158,63 +159,67 @@ function parseBorderRouters(value: Uint8Array): BorderRouterEntry[] {
158
159
  return out;
159
160
  }
160
161
 
161
- function parsePrefix(value: Uint8Array): NetworkDataPrefix {
162
- const domainId = value[0];
163
- const prefixLength = value[1];
162
+ function parsePrefix(value: Bytes): NetworkDataPrefix {
163
+ const buf = Bytes.of(value);
164
+ const domainId = buf[0];
165
+ const prefixLength = buf[1];
164
166
  const prefixBytes = Math.ceil(prefixLength / 8);
165
- const prefix = value.slice(2, 2 + prefixBytes);
167
+ const prefix = buf.slice(2, 2 + prefixBytes);
166
168
 
167
169
  const hasRoutes = new Array<HasRouteEntry>();
168
170
  const borderRouters = new Array<BorderRouterEntry>();
169
- for (const sub of walkTlvs(value.subarray(2 + prefixBytes))) {
171
+ for (const sub of walkTlvs(buf.subarray(2 + prefixBytes))) {
170
172
  if (sub.type === NetworkDataTlvType.HasRoute) {
171
- hasRoutes.push(...parseHasRoutes(sub.value));
173
+ hasRoutes.push(...parseHasRoutes(Bytes.of(sub.value)));
172
174
  } else if (sub.type === NetworkDataTlvType.BorderRouter) {
173
- borderRouters.push(...parseBorderRouters(sub.value));
175
+ borderRouters.push(...parseBorderRouters(Bytes.of(sub.value)));
174
176
  }
175
177
  }
176
178
  return { domainId, prefixLength, prefix, hasRoutes, borderRouters };
177
179
  }
178
180
 
179
- function parseService(value: Uint8Array): NetworkDataService {
180
- const flags = value[0];
181
+ function parseService(value: Bytes): NetworkDataService {
182
+ const buf = Bytes.of(value);
183
+ const flags = buf[0];
181
184
  const threadEnterprise = (flags & SERVICE_THREAD_FLAG) !== 0;
182
185
  const serviceId = flags & SERVICE_ID_MASK;
183
186
 
184
187
  let offset = 1;
185
188
  let enterpriseNumber: number | undefined;
186
189
  if (!threadEnterprise) {
187
- if (value.length < 5) {
188
- throw new ThreadDiagError(`Truncated Service TLV: ${value.length} bytes, need 5 for enterprise number`);
190
+ if (buf.length < 5) {
191
+ throw new ThreadDiagError(`Truncated Service TLV: ${buf.length} bytes, need 5 for enterprise number`);
189
192
  }
190
- enterpriseNumber = ((value[1] << 24) | (value[2] << 16) | (value[3] << 8) | value[4]) >>> 0;
193
+ enterpriseNumber = ((buf[1] << 24) | (buf[2] << 16) | (buf[3] << 8) | buf[4]) >>> 0;
191
194
  offset = 5;
192
195
  }
193
- if (offset >= value.length) {
196
+ if (offset >= buf.length) {
194
197
  throw new ThreadDiagError(`Truncated Service TLV: missing service data length at offset ${offset}`);
195
198
  }
196
- const serviceDataLength = value[offset];
199
+ const serviceDataLength = buf[offset];
197
200
  offset += 1;
198
- const serviceData = value.slice(offset, offset + serviceDataLength);
201
+ const serviceData = buf.slice(offset, offset + serviceDataLength);
199
202
  offset += serviceDataLength;
200
203
 
201
204
  const servers = new Array<NetworkDataServer>();
202
- for (const sub of walkTlvs(value.subarray(offset))) {
205
+ for (const sub of walkTlvs(buf.subarray(offset))) {
203
206
  if (sub.type === NetworkDataTlvType.Server) {
204
- if (sub.value.length < 2) continue;
205
- servers.push({ rloc16: (sub.value[0] << 8) | sub.value[1], serverData: sub.value.slice(2) });
207
+ const serverValue = Bytes.of(sub.value);
208
+ if (serverValue.length < 2) continue;
209
+ servers.push({ rloc16: (serverValue[0] << 8) | serverValue[1], serverData: serverValue.slice(2) });
206
210
  }
207
211
  }
208
212
  return { serviceId, threadEnterprise, enterpriseNumber, serviceData, servers };
209
213
  }
210
214
 
211
215
  export namespace NetworkData {
212
- export function decode(value: Uint8Array): ThreadNetworkData {
213
- const raw = value.slice();
216
+ export function decode(value: Bytes): ThreadNetworkData {
217
+ const buf = Bytes.of(value);
218
+ const raw = buf.slice();
214
219
 
215
220
  let entries: NetworkDataEntry[];
216
221
  try {
217
- entries = walkTlvs(value);
222
+ entries = walkTlvs(buf);
218
223
  } catch {
219
224
  // A truncated top-level stream must not abort the whole node's diagnostic
220
225
  // decode; `raw` preserves the bytes for any consumer that wants them.