@matter/thread-br-client 0.0.1
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.
- package/README.md +192 -0
- package/dist/cjs/coap/CoapClient.d.ts +33 -0
- package/dist/cjs/coap/CoapClient.d.ts.map +1 -0
- package/dist/cjs/coap/CoapClient.js +281 -0
- package/dist/cjs/coap/CoapClient.js.map +6 -0
- package/dist/cjs/coap/CoapMessage.d.ts +23 -0
- package/dist/cjs/coap/CoapMessage.d.ts.map +1 -0
- package/dist/cjs/coap/CoapMessage.js +182 -0
- package/dist/cjs/coap/CoapMessage.js.map +6 -0
- package/dist/cjs/coap/index.d.ts +8 -0
- package/dist/cjs/coap/index.d.ts.map +1 -0
- package/dist/cjs/coap/index.js +31 -0
- package/dist/cjs/coap/index.js.map +6 -0
- package/dist/cjs/commissioner/Commissioner.d.ts +89 -0
- package/dist/cjs/commissioner/Commissioner.d.ts.map +1 -0
- package/dist/cjs/commissioner/Commissioner.js +188 -0
- package/dist/cjs/commissioner/Commissioner.js.map +6 -0
- package/dist/cjs/commissioner/LeadKa.d.ts +17 -0
- package/dist/cjs/commissioner/LeadKa.d.ts.map +1 -0
- package/dist/cjs/commissioner/LeadKa.js +63 -0
- package/dist/cjs/commissioner/LeadKa.js.map +6 -0
- package/dist/cjs/commissioner/LeadPet.d.ts +14 -0
- package/dist/cjs/commissioner/LeadPet.d.ts.map +1 -0
- package/dist/cjs/commissioner/LeadPet.js +66 -0
- package/dist/cjs/commissioner/LeadPet.js.map +6 -0
- package/dist/cjs/commissioner/index.d.ts +12 -0
- package/dist/cjs/commissioner/index.d.ts.map +1 -0
- package/dist/cjs/commissioner/index.js +38 -0
- package/dist/cjs/commissioner/index.js.map +6 -0
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts +50 -0
- package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts.map +1 -0
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js +119 -0
- package/dist/cjs/credentials/ThreadCredentialsRegistry.js.map +6 -0
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts +26 -0
- package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts.map +1 -0
- package/dist/cjs/credentials/ThreadNetworkCredentials.js +22 -0
- package/dist/cjs/credentials/ThreadNetworkCredentials.js.map +6 -0
- package/dist/cjs/credentials/index.d.ts +8 -0
- package/dist/cjs/credentials/index.d.ts.map +1 -0
- package/dist/cjs/credentials/index.js +30 -0
- package/dist/cjs/credentials/index.js.map +6 -0
- package/dist/cjs/crypto/AesCmacPrf128.d.ts +24 -0
- package/dist/cjs/crypto/AesCmacPrf128.d.ts.map +1 -0
- package/dist/cjs/crypto/AesCmacPrf128.js +107 -0
- package/dist/cjs/crypto/AesCmacPrf128.js.map +6 -0
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts +18 -0
- package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts.map +1 -0
- package/dist/cjs/crypto/Pbkdf2AesCmac.js +62 -0
- package/dist/cjs/crypto/Pbkdf2AesCmac.js.map +6 -0
- package/dist/cjs/crypto/Pskc.d.ts +21 -0
- package/dist/cjs/crypto/Pskc.d.ts.map +1 -0
- package/dist/cjs/crypto/Pskc.js +69 -0
- package/dist/cjs/crypto/Pskc.js.map +6 -0
- package/dist/cjs/crypto/index.d.ts +9 -0
- package/dist/cjs/crypto/index.d.ts.map +1 -0
- package/dist/cjs/crypto/index.js +35 -0
- package/dist/cjs/crypto/index.js.map +6 -0
- package/dist/cjs/dataset/OperationalDataset.d.ts +74 -0
- package/dist/cjs/dataset/OperationalDataset.d.ts.map +1 -0
- package/dist/cjs/dataset/OperationalDataset.js +244 -0
- package/dist/cjs/dataset/OperationalDataset.js.map +6 -0
- package/dist/cjs/dataset/SecurityPolicy.d.ts +22 -0
- package/dist/cjs/dataset/SecurityPolicy.d.ts.map +1 -0
- package/dist/cjs/dataset/SecurityPolicy.js +59 -0
- package/dist/cjs/dataset/SecurityPolicy.js.map +6 -0
- package/dist/cjs/dataset/errors.d.ts +10 -0
- package/dist/cjs/dataset/errors.d.ts.map +1 -0
- package/dist/cjs/dataset/errors.js +32 -0
- package/dist/cjs/dataset/errors.js.map +6 -0
- package/dist/cjs/dataset/index.d.ts +9 -0
- package/dist/cjs/dataset/index.d.ts.map +1 -0
- package/dist/cjs/dataset/index.js +36 -0
- package/dist/cjs/dataset/index.js.map +6 -0
- package/dist/cjs/dataset/meshcopTlvTypes.d.ts +61 -0
- package/dist/cjs/dataset/meshcopTlvTypes.d.ts.map +1 -0
- package/dist/cjs/dataset/meshcopTlvTypes.js +82 -0
- package/dist/cjs/dataset/meshcopTlvTypes.js.map +6 -0
- package/dist/cjs/diagnostic/DefaultTlvSet.d.ts +8 -0
- package/dist/cjs/diagnostic/DefaultTlvSet.d.ts.map +1 -0
- package/dist/cjs/diagnostic/DefaultTlvSet.js +52 -0
- package/dist/cjs/diagnostic/DefaultTlvSet.js.map +6 -0
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts +47 -0
- package/dist/cjs/diagnostic/DiagnosticResponse.d.ts.map +1 -0
- package/dist/cjs/diagnostic/DiagnosticResponse.js +22 -0
- package/dist/cjs/diagnostic/DiagnosticResponse.js.map +6 -0
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts +64 -0
- package/dist/cjs/diagnostic/DiagnosticSource.d.ts.map +1 -0
- package/dist/cjs/diagnostic/DiagnosticSource.js +34 -0
- package/dist/cjs/diagnostic/DiagnosticSource.js.map +6 -0
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts +78 -0
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -0
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js +654 -0
- package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js.map +6 -0
- package/dist/cjs/diagnostic/connectMeshcop.d.ts +38 -0
- package/dist/cjs/diagnostic/connectMeshcop.d.ts.map +1 -0
- package/dist/cjs/diagnostic/connectMeshcop.js +100 -0
- package/dist/cjs/diagnostic/connectMeshcop.js.map +6 -0
- package/dist/cjs/diagnostic/errors.d.ts +10 -0
- package/dist/cjs/diagnostic/errors.d.ts.map +1 -0
- package/dist/cjs/diagnostic/errors.js +32 -0
- package/dist/cjs/diagnostic/errors.js.map +6 -0
- package/dist/cjs/diagnostic/index.d.ts +13 -0
- package/dist/cjs/diagnostic/index.d.ts.map +1 -0
- package/dist/cjs/diagnostic/index.js +35 -0
- package/dist/cjs/diagnostic/index.js.map +6 -0
- package/dist/cjs/discovery/BorderRouterEntry.d.ts +54 -0
- package/dist/cjs/discovery/BorderRouterEntry.d.ts.map +1 -0
- package/dist/cjs/discovery/BorderRouterEntry.js +22 -0
- package/dist/cjs/discovery/BorderRouterEntry.js.map +6 -0
- package/dist/cjs/discovery/BorderRouterRegistry.d.ts +36 -0
- package/dist/cjs/discovery/BorderRouterRegistry.d.ts.map +1 -0
- package/dist/cjs/discovery/BorderRouterRegistry.js +522 -0
- package/dist/cjs/discovery/BorderRouterRegistry.js.map +6 -0
- package/dist/cjs/discovery/DnssdLikeTypes.d.ts +50 -0
- package/dist/cjs/discovery/DnssdLikeTypes.d.ts.map +1 -0
- package/dist/cjs/discovery/DnssdLikeTypes.js +22 -0
- package/dist/cjs/discovery/DnssdLikeTypes.js.map +6 -0
- package/dist/cjs/discovery/index.d.ts +8 -0
- package/dist/cjs/discovery/index.d.ts.map +1 -0
- package/dist/cjs/discovery/index.js +30 -0
- package/dist/cjs/discovery/index.js.map +6 -0
- package/dist/cjs/dtls/channel/DtlsChannel.d.ts +39 -0
- package/dist/cjs/dtls/channel/DtlsChannel.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/DtlsChannel.js +32 -0
- package/dist/cjs/dtls/channel/DtlsChannel.js.map +6 -0
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts +38 -0
- package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/DtlsConnectOpts.js +22 -0
- package/dist/cjs/dtls/channel/DtlsConnectOpts.js.map +6 -0
- package/dist/cjs/dtls/channel/DtlsRetransmitTimer.d.ts +43 -0
- package/dist/cjs/dtls/channel/DtlsRetransmitTimer.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/DtlsRetransmitTimer.js +97 -0
- package/dist/cjs/dtls/channel/DtlsRetransmitTimer.js.map +6 -0
- package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts +35 -0
- package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js +440 -0
- package/dist/cjs/dtls/channel/NobleDtlsChannel.js.map +6 -0
- package/dist/cjs/dtls/channel/connectDtls.d.ts +15 -0
- package/dist/cjs/dtls/channel/connectDtls.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/connectDtls.js +41 -0
- package/dist/cjs/dtls/channel/connectDtls.js.map +6 -0
- package/dist/cjs/dtls/channel/index.d.ts +14 -0
- package/dist/cjs/dtls/channel/index.d.ts.map +1 -0
- package/dist/cjs/dtls/channel/index.js +32 -0
- package/dist/cjs/dtls/channel/index.js.map +6 -0
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts +35 -0
- package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts.map +1 -0
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js +61 -0
- package/dist/cjs/dtls/ecjpake/EcJpakePms.js.map +6 -0
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts +119 -0
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -0
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js +248 -0
- package/dist/cjs/dtls/ecjpake/EcJpakeRound.js.map +6 -0
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts +60 -0
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -0
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js +162 -0
- package/dist/cjs/dtls/ecjpake/SchnorrZkp.js.map +6 -0
- package/dist/cjs/dtls/ecjpake/index.d.ts +28 -0
- package/dist/cjs/dtls/ecjpake/index.d.ts.map +1 -0
- package/dist/cjs/dtls/ecjpake/index.js +34 -0
- package/dist/cjs/dtls/ecjpake/index.js.map +6 -0
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts +23 -0
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js +41 -0
- package/dist/cjs/dtls/handshake/ChangeCipherSpec.js.map +6 -0
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts +34 -0
- package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js +117 -0
- package/dist/cjs/dtls/handshake/ClientHelloMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts +22 -0
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js +35 -0
- package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts +57 -0
- package/dist/cjs/dtls/handshake/DtlsClient.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/DtlsClient.js +502 -0
- package/dist/cjs/dtls/handshake/DtlsClient.js.map +6 -0
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts +13 -0
- package/dist/cjs/dtls/handshake/FinishedMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/FinishedMessage.js +48 -0
- package/dist/cjs/dtls/handshake/FinishedMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts +58 -0
- package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/HandshakeMessage.js +117 -0
- package/dist/cjs/dtls/handshake/HandshakeMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/HandshakeType.d.ts +29 -0
- package/dist/cjs/dtls/handshake/HandshakeType.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/HandshakeType.js +45 -0
- package/dist/cjs/dtls/handshake/HandshakeType.js.map +6 -0
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts +11 -0
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js +49 -0
- package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts +14 -0
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js +37 -0
- package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts +15 -0
- package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js +113 -0
- package/dist/cjs/dtls/handshake/ServerHelloMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts +24 -0
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js +35 -0
- package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js.map +6 -0
- package/dist/cjs/dtls/handshake/index.d.ts +14 -0
- package/dist/cjs/dtls/handshake/index.d.ts.map +1 -0
- package/dist/cjs/dtls/handshake/index.js +30 -0
- package/dist/cjs/dtls/handshake/index.js.map +6 -0
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts +36 -0
- package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts.map +1 -0
- package/dist/cjs/dtls/prf/HandshakeTranscript.js +55 -0
- package/dist/cjs/dtls/prf/HandshakeTranscript.js.map +6 -0
- package/dist/cjs/dtls/prf/TlsPrf.d.ts +82 -0
- package/dist/cjs/dtls/prf/TlsPrf.d.ts.map +1 -0
- package/dist/cjs/dtls/prf/TlsPrf.js +121 -0
- package/dist/cjs/dtls/prf/TlsPrf.js.map +6 -0
- package/dist/cjs/dtls/prf/index.d.ts +13 -0
- package/dist/cjs/dtls/prf/index.d.ts.map +1 -0
- package/dist/cjs/dtls/prf/index.js +32 -0
- package/dist/cjs/dtls/prf/index.js.map +6 -0
- package/dist/cjs/dtls/record/AesCcm8.d.ts +32 -0
- package/dist/cjs/dtls/record/AesCcm8.d.ts.map +1 -0
- package/dist/cjs/dtls/record/AesCcm8.js +78 -0
- package/dist/cjs/dtls/record/AesCcm8.js.map +6 -0
- package/dist/cjs/dtls/record/AntiReplayWindow.d.ts +38 -0
- package/dist/cjs/dtls/record/AntiReplayWindow.d.ts.map +1 -0
- package/dist/cjs/dtls/record/AntiReplayWindow.js +84 -0
- package/dist/cjs/dtls/record/AntiReplayWindow.js.map +6 -0
- package/dist/cjs/dtls/record/ContentType.d.ts +19 -0
- package/dist/cjs/dtls/record/ContentType.d.ts.map +1 -0
- package/dist/cjs/dtls/record/ContentType.js +39 -0
- package/dist/cjs/dtls/record/ContentType.js.map +6 -0
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts +79 -0
- package/dist/cjs/dtls/record/DtlsCipherState.d.ts.map +1 -0
- package/dist/cjs/dtls/record/DtlsCipherState.js +173 -0
- package/dist/cjs/dtls/record/DtlsCipherState.js.map +6 -0
- package/dist/cjs/dtls/record/DtlsRecord.d.ts +89 -0
- package/dist/cjs/dtls/record/DtlsRecord.d.ts.map +1 -0
- package/dist/cjs/dtls/record/DtlsRecord.js +195 -0
- package/dist/cjs/dtls/record/DtlsRecord.js.map +6 -0
- package/dist/cjs/dtls/record/index.d.ts +15 -0
- package/dist/cjs/dtls/record/index.d.ts.map +1 -0
- package/dist/cjs/dtls/record/index.js +42 -0
- package/dist/cjs/dtls/record/index.js.map +6 -0
- package/dist/cjs/index.d.ts +32 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +77 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts +22 -0
- package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/OtbrRestCapability.js +22 -0
- package/dist/cjs/otbr-rest/OtbrRestCapability.js.map +6 -0
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts +257 -0
- package/dist/cjs/otbr-rest/OtbrRestClient.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/OtbrRestClient.js +544 -0
- package/dist/cjs/otbr-rest/OtbrRestClient.js.map +6 -0
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts +88 -0
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js +156 -0
- package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js.map +6 -0
- package/dist/cjs/otbr-rest/OtbrRestError.d.ts +18 -0
- package/dist/cjs/otbr-rest/OtbrRestError.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/OtbrRestError.js +42 -0
- package/dist/cjs/otbr-rest/OtbrRestError.js.map +6 -0
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts +17 -0
- package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/OtbrRestProbe.js +96 -0
- package/dist/cjs/otbr-rest/OtbrRestProbe.js.map +6 -0
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts +12 -0
- package/dist/cjs/otbr-rest/caseNormalizer.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/caseNormalizer.js +59 -0
- package/dist/cjs/otbr-rest/caseNormalizer.js.map +6 -0
- package/dist/cjs/otbr-rest/index.d.ts +15 -0
- package/dist/cjs/otbr-rest/index.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/index.js +40 -0
- package/dist/cjs/otbr-rest/index.js.map +6 -0
- package/dist/cjs/otbr-rest/translation.d.ts +24 -0
- package/dist/cjs/otbr-rest/translation.d.ts.map +1 -0
- package/dist/cjs/otbr-rest/translation.js +301 -0
- package/dist/cjs/otbr-rest/translation.js.map +6 -0
- package/dist/cjs/package.json +6 -0
- package/dist/cjs/selection/index.d.ts +11 -0
- package/dist/cjs/selection/index.d.ts.map +1 -0
- package/dist/cjs/selection/index.js +36 -0
- package/dist/cjs/selection/index.js.map +6 -0
- package/dist/cjs/selection/selectBr.d.ts +37 -0
- package/dist/cjs/selection/selectBr.d.ts.map +1 -0
- package/dist/cjs/selection/selectBr.js +66 -0
- package/dist/cjs/selection/selectBr.js.map +6 -0
- package/dist/cjs/selection/selectSource.d.ts +32 -0
- package/dist/cjs/selection/selectSource.d.ts.map +1 -0
- package/dist/cjs/selection/selectSource.js +43 -0
- package/dist/cjs/selection/selectSource.js.map +6 -0
- package/dist/cjs/selection/withExtPanIdLock.d.ts +23 -0
- package/dist/cjs/selection/withExtPanIdLock.d.ts.map +1 -0
- package/dist/cjs/selection/withExtPanIdLock.js +50 -0
- package/dist/cjs/selection/withExtPanIdLock.js.map +6 -0
- package/dist/cjs/tlv/BasicTlvCodec.d.ts +22 -0
- package/dist/cjs/tlv/BasicTlvCodec.d.ts.map +1 -0
- package/dist/cjs/tlv/BasicTlvCodec.js +97 -0
- package/dist/cjs/tlv/BasicTlvCodec.js.map +6 -0
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts +30 -0
- package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts.map +1 -0
- package/dist/cjs/tlv/NetworkDiagnosticTlv.js +41 -0
- package/dist/cjs/tlv/NetworkDiagnosticTlv.js.map +6 -0
- package/dist/cjs/tlv/TypeListTlv.d.ts +23 -0
- package/dist/cjs/tlv/TypeListTlv.d.ts.map +1 -0
- package/dist/cjs/tlv/TypeListTlv.js +49 -0
- package/dist/cjs/tlv/TypeListTlv.js.map +6 -0
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts +22 -0
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js +48 -0
- package/dist/cjs/tlv/diag/ChildIpv6AddressList.js.map +6 -0
- package/dist/cjs/tlv/diag/ChildTable.d.ts +29 -0
- package/dist/cjs/tlv/diag/ChildTable.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/ChildTable.js +91 -0
- package/dist/cjs/tlv/diag/ChildTable.js.map +6 -0
- package/dist/cjs/tlv/diag/Connectivity.d.ts +45 -0
- package/dist/cjs/tlv/diag/Connectivity.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Connectivity.js +99 -0
- package/dist/cjs/tlv/diag/Connectivity.js.map +6 -0
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts +21 -0
- package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Ipv6AddressList.js +61 -0
- package/dist/cjs/tlv/diag/Ipv6AddressList.js.map +6 -0
- package/dist/cjs/tlv/diag/LeaderData.d.ts +28 -0
- package/dist/cjs/tlv/diag/LeaderData.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/LeaderData.js +64 -0
- package/dist/cjs/tlv/diag/LeaderData.js.map +6 -0
- package/dist/cjs/tlv/diag/MacCounters.d.ts +28 -0
- package/dist/cjs/tlv/diag/MacCounters.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/MacCounters.js +85 -0
- package/dist/cjs/tlv/diag/MacCounters.js.map +6 -0
- package/dist/cjs/tlv/diag/MleCounters.d.ts +41 -0
- package/dist/cjs/tlv/diag/MleCounters.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/MleCounters.js +118 -0
- package/dist/cjs/tlv/diag/MleCounters.js.map +6 -0
- package/dist/cjs/tlv/diag/Mode.d.ts +26 -0
- package/dist/cjs/tlv/diag/Mode.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Mode.js +57 -0
- package/dist/cjs/tlv/diag/Mode.js.map +6 -0
- package/dist/cjs/tlv/diag/NetworkData.d.ts +93 -0
- package/dist/cjs/tlv/diag/NetworkData.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/NetworkData.js +157 -0
- package/dist/cjs/tlv/diag/NetworkData.js.map +6 -0
- package/dist/cjs/tlv/diag/Primitives.d.ts +34 -0
- package/dist/cjs/tlv/diag/Primitives.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Primitives.js +163 -0
- package/dist/cjs/tlv/diag/Primitives.js.map +6 -0
- package/dist/cjs/tlv/diag/Route64.d.ts +42 -0
- package/dist/cjs/tlv/diag/Route64.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Route64.js +98 -0
- package/dist/cjs/tlv/diag/Route64.js.map +6 -0
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts +46 -0
- package/dist/cjs/tlv/diag/RouterNeighbor.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/RouterNeighbor.js +65 -0
- package/dist/cjs/tlv/diag/RouterNeighbor.js.map +6 -0
- package/dist/cjs/tlv/diag/Timeout.d.ts +17 -0
- package/dist/cjs/tlv/diag/Timeout.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/Timeout.js +53 -0
- package/dist/cjs/tlv/diag/Timeout.js.map +6 -0
- package/dist/cjs/tlv/diag/VendorInfo.d.ts +35 -0
- package/dist/cjs/tlv/diag/VendorInfo.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/VendorInfo.js +130 -0
- package/dist/cjs/tlv/diag/VendorInfo.js.map +6 -0
- package/dist/cjs/tlv/diag/index.d.ts +26 -0
- package/dist/cjs/tlv/diag/index.d.ts.map +1 -0
- package/dist/cjs/tlv/diag/index.js +67 -0
- package/dist/cjs/tlv/diag/index.js.map +6 -0
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts +21 -0
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -0
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js +48 -0
- package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js.map +6 -0
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts +27 -0
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -0
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js +62 -0
- package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js.map +6 -0
- package/dist/cjs/tlv/networkDiagTlvTypes.d.ts +59 -0
- package/dist/cjs/tlv/networkDiagTlvTypes.d.ts.map +1 -0
- package/dist/cjs/tlv/networkDiagTlvTypes.js +76 -0
- package/dist/cjs/tlv/networkDiagTlvTypes.js.map +6 -0
- package/dist/cjs/util/meshLocalAddr.d.ts +27 -0
- package/dist/cjs/util/meshLocalAddr.d.ts.map +1 -0
- package/dist/cjs/util/meshLocalAddr.js +67 -0
- package/dist/cjs/util/meshLocalAddr.js.map +6 -0
- package/dist/esm/coap/CoapClient.d.ts +33 -0
- package/dist/esm/coap/CoapClient.d.ts.map +1 -0
- package/dist/esm/coap/CoapClient.js +270 -0
- package/dist/esm/coap/CoapClient.js.map +6 -0
- package/dist/esm/coap/CoapMessage.d.ts +23 -0
- package/dist/esm/coap/CoapMessage.d.ts.map +1 -0
- package/dist/esm/coap/CoapMessage.js +162 -0
- package/dist/esm/coap/CoapMessage.js.map +6 -0
- package/dist/esm/coap/index.d.ts +8 -0
- package/dist/esm/coap/index.d.ts.map +1 -0
- package/dist/esm/coap/index.js +11 -0
- package/dist/esm/coap/index.js.map +6 -0
- package/dist/esm/commissioner/Commissioner.d.ts +89 -0
- package/dist/esm/commissioner/Commissioner.d.ts.map +1 -0
- package/dist/esm/commissioner/Commissioner.js +168 -0
- package/dist/esm/commissioner/Commissioner.js.map +6 -0
- package/dist/esm/commissioner/LeadKa.d.ts +17 -0
- package/dist/esm/commissioner/LeadKa.d.ts.map +1 -0
- package/dist/esm/commissioner/LeadKa.js +43 -0
- package/dist/esm/commissioner/LeadKa.js.map +6 -0
- package/dist/esm/commissioner/LeadPet.d.ts +14 -0
- package/dist/esm/commissioner/LeadPet.d.ts.map +1 -0
- package/dist/esm/commissioner/LeadPet.js +46 -0
- package/dist/esm/commissioner/LeadPet.js.map +6 -0
- package/dist/esm/commissioner/index.d.ts +12 -0
- package/dist/esm/commissioner/index.d.ts.map +1 -0
- package/dist/esm/commissioner/index.js +23 -0
- package/dist/esm/commissioner/index.js.map +6 -0
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts +50 -0
- package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts.map +1 -0
- package/dist/esm/credentials/ThreadCredentialsRegistry.js +99 -0
- package/dist/esm/credentials/ThreadCredentialsRegistry.js.map +6 -0
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts +26 -0
- package/dist/esm/credentials/ThreadNetworkCredentials.d.ts.map +1 -0
- package/dist/esm/credentials/ThreadNetworkCredentials.js +6 -0
- package/dist/esm/credentials/ThreadNetworkCredentials.js.map +6 -0
- package/dist/esm/credentials/index.d.ts +8 -0
- package/dist/esm/credentials/index.d.ts.map +1 -0
- package/dist/esm/credentials/index.js +10 -0
- package/dist/esm/credentials/index.js.map +6 -0
- package/dist/esm/crypto/AesCmacPrf128.d.ts +24 -0
- package/dist/esm/crypto/AesCmacPrf128.d.ts.map +1 -0
- package/dist/esm/crypto/AesCmacPrf128.js +87 -0
- package/dist/esm/crypto/AesCmacPrf128.js.map +6 -0
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts +18 -0
- package/dist/esm/crypto/Pbkdf2AesCmac.d.ts.map +1 -0
- package/dist/esm/crypto/Pbkdf2AesCmac.js +42 -0
- package/dist/esm/crypto/Pbkdf2AesCmac.js.map +6 -0
- package/dist/esm/crypto/Pskc.d.ts +21 -0
- package/dist/esm/crypto/Pskc.d.ts.map +1 -0
- package/dist/esm/crypto/Pskc.js +49 -0
- package/dist/esm/crypto/Pskc.js.map +6 -0
- package/dist/esm/crypto/index.d.ts +9 -0
- package/dist/esm/crypto/index.d.ts.map +1 -0
- package/dist/esm/crypto/index.js +15 -0
- package/dist/esm/crypto/index.js.map +6 -0
- package/dist/esm/dataset/OperationalDataset.d.ts +74 -0
- package/dist/esm/dataset/OperationalDataset.d.ts.map +1 -0
- package/dist/esm/dataset/OperationalDataset.js +224 -0
- package/dist/esm/dataset/OperationalDataset.js.map +6 -0
- package/dist/esm/dataset/SecurityPolicy.d.ts +22 -0
- package/dist/esm/dataset/SecurityPolicy.d.ts.map +1 -0
- package/dist/esm/dataset/SecurityPolicy.js +39 -0
- package/dist/esm/dataset/SecurityPolicy.js.map +6 -0
- package/dist/esm/dataset/errors.d.ts +10 -0
- package/dist/esm/dataset/errors.d.ts.map +1 -0
- package/dist/esm/dataset/errors.js +12 -0
- package/dist/esm/dataset/errors.js.map +6 -0
- package/dist/esm/dataset/index.d.ts +9 -0
- package/dist/esm/dataset/index.d.ts.map +1 -0
- package/dist/esm/dataset/index.js +16 -0
- package/dist/esm/dataset/index.js.map +6 -0
- package/dist/esm/dataset/meshcopTlvTypes.d.ts +61 -0
- package/dist/esm/dataset/meshcopTlvTypes.d.ts.map +1 -0
- package/dist/esm/dataset/meshcopTlvTypes.js +62 -0
- package/dist/esm/dataset/meshcopTlvTypes.js.map +6 -0
- package/dist/esm/diagnostic/DefaultTlvSet.d.ts +8 -0
- package/dist/esm/diagnostic/DefaultTlvSet.d.ts.map +1 -0
- package/dist/esm/diagnostic/DefaultTlvSet.js +32 -0
- package/dist/esm/diagnostic/DefaultTlvSet.js.map +6 -0
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts +47 -0
- package/dist/esm/diagnostic/DiagnosticResponse.d.ts.map +1 -0
- package/dist/esm/diagnostic/DiagnosticResponse.js +6 -0
- package/dist/esm/diagnostic/DiagnosticResponse.js.map +6 -0
- package/dist/esm/diagnostic/DiagnosticSource.d.ts +64 -0
- package/dist/esm/diagnostic/DiagnosticSource.d.ts.map +1 -0
- package/dist/esm/diagnostic/DiagnosticSource.js +14 -0
- package/dist/esm/diagnostic/DiagnosticSource.js.map +6 -0
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts +78 -0
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -0
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js +663 -0
- package/dist/esm/diagnostic/MeshCopDiagnosticSource.js.map +6 -0
- package/dist/esm/diagnostic/connectMeshcop.d.ts +38 -0
- package/dist/esm/diagnostic/connectMeshcop.d.ts.map +1 -0
- package/dist/esm/diagnostic/connectMeshcop.js +80 -0
- package/dist/esm/diagnostic/connectMeshcop.js.map +6 -0
- package/dist/esm/diagnostic/errors.d.ts +10 -0
- package/dist/esm/diagnostic/errors.d.ts.map +1 -0
- package/dist/esm/diagnostic/errors.js +12 -0
- package/dist/esm/diagnostic/errors.js.map +6 -0
- package/dist/esm/diagnostic/index.d.ts +13 -0
- package/dist/esm/diagnostic/index.d.ts.map +1 -0
- package/dist/esm/diagnostic/index.js +15 -0
- package/dist/esm/diagnostic/index.js.map +6 -0
- package/dist/esm/discovery/BorderRouterEntry.d.ts +54 -0
- package/dist/esm/discovery/BorderRouterEntry.d.ts.map +1 -0
- package/dist/esm/discovery/BorderRouterEntry.js +6 -0
- package/dist/esm/discovery/BorderRouterEntry.js.map +6 -0
- package/dist/esm/discovery/BorderRouterRegistry.d.ts +36 -0
- package/dist/esm/discovery/BorderRouterRegistry.d.ts.map +1 -0
- package/dist/esm/discovery/BorderRouterRegistry.js +508 -0
- package/dist/esm/discovery/BorderRouterRegistry.js.map +6 -0
- package/dist/esm/discovery/DnssdLikeTypes.d.ts +50 -0
- package/dist/esm/discovery/DnssdLikeTypes.d.ts.map +1 -0
- package/dist/esm/discovery/DnssdLikeTypes.js +6 -0
- package/dist/esm/discovery/DnssdLikeTypes.js.map +6 -0
- package/dist/esm/discovery/index.d.ts +8 -0
- package/dist/esm/discovery/index.d.ts.map +1 -0
- package/dist/esm/discovery/index.js +10 -0
- package/dist/esm/discovery/index.js.map +6 -0
- package/dist/esm/dtls/channel/DtlsChannel.d.ts +39 -0
- package/dist/esm/dtls/channel/DtlsChannel.d.ts.map +1 -0
- package/dist/esm/dtls/channel/DtlsChannel.js +12 -0
- package/dist/esm/dtls/channel/DtlsChannel.js.map +6 -0
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts +38 -0
- package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts.map +1 -0
- package/dist/esm/dtls/channel/DtlsConnectOpts.js +6 -0
- package/dist/esm/dtls/channel/DtlsConnectOpts.js.map +6 -0
- package/dist/esm/dtls/channel/DtlsRetransmitTimer.d.ts +43 -0
- package/dist/esm/dtls/channel/DtlsRetransmitTimer.d.ts.map +1 -0
- package/dist/esm/dtls/channel/DtlsRetransmitTimer.js +77 -0
- package/dist/esm/dtls/channel/DtlsRetransmitTimer.js.map +6 -0
- package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts +35 -0
- package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts.map +1 -0
- package/dist/esm/dtls/channel/NobleDtlsChannel.js +432 -0
- package/dist/esm/dtls/channel/NobleDtlsChannel.js.map +6 -0
- package/dist/esm/dtls/channel/connectDtls.d.ts +15 -0
- package/dist/esm/dtls/channel/connectDtls.d.ts.map +1 -0
- package/dist/esm/dtls/channel/connectDtls.js +21 -0
- package/dist/esm/dtls/channel/connectDtls.js.map +6 -0
- package/dist/esm/dtls/channel/index.d.ts +14 -0
- package/dist/esm/dtls/channel/index.d.ts.map +1 -0
- package/dist/esm/dtls/channel/index.js +12 -0
- package/dist/esm/dtls/channel/index.js.map +6 -0
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts +35 -0
- package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts.map +1 -0
- package/dist/esm/dtls/ecjpake/EcJpakePms.js +41 -0
- package/dist/esm/dtls/ecjpake/EcJpakePms.js.map +6 -0
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts +119 -0
- package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -0
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js +228 -0
- package/dist/esm/dtls/ecjpake/EcJpakeRound.js.map +6 -0
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts +60 -0
- package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -0
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js +142 -0
- package/dist/esm/dtls/ecjpake/SchnorrZkp.js.map +6 -0
- package/dist/esm/dtls/ecjpake/index.d.ts +28 -0
- package/dist/esm/dtls/ecjpake/index.d.ts.map +1 -0
- package/dist/esm/dtls/ecjpake/index.js +14 -0
- package/dist/esm/dtls/ecjpake/index.js.map +6 -0
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts +23 -0
- package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js +21 -0
- package/dist/esm/dtls/handshake/ChangeCipherSpec.js.map +6 -0
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts +34 -0
- package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ClientHelloMessage.js +97 -0
- package/dist/esm/dtls/handshake/ClientHelloMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts +22 -0
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js +15 -0
- package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/DtlsClient.d.ts +57 -0
- package/dist/esm/dtls/handshake/DtlsClient.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/DtlsClient.js +482 -0
- package/dist/esm/dtls/handshake/DtlsClient.js.map +6 -0
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts +13 -0
- package/dist/esm/dtls/handshake/FinishedMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/FinishedMessage.js +28 -0
- package/dist/esm/dtls/handshake/FinishedMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts +58 -0
- package/dist/esm/dtls/handshake/HandshakeMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/HandshakeMessage.js +97 -0
- package/dist/esm/dtls/handshake/HandshakeMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/HandshakeType.d.ts +29 -0
- package/dist/esm/dtls/handshake/HandshakeType.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/HandshakeType.js +25 -0
- package/dist/esm/dtls/handshake/HandshakeType.js.map +6 -0
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts +11 -0
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js +29 -0
- package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts +14 -0
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js +17 -0
- package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts +15 -0
- package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ServerHelloMessage.js +93 -0
- package/dist/esm/dtls/handshake/ServerHelloMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts +24 -0
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js +15 -0
- package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js.map +6 -0
- package/dist/esm/dtls/handshake/index.d.ts +14 -0
- package/dist/esm/dtls/handshake/index.d.ts.map +1 -0
- package/dist/esm/dtls/handshake/index.js +10 -0
- package/dist/esm/dtls/handshake/index.js.map +6 -0
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts +36 -0
- package/dist/esm/dtls/prf/HandshakeTranscript.d.ts.map +1 -0
- package/dist/esm/dtls/prf/HandshakeTranscript.js +35 -0
- package/dist/esm/dtls/prf/HandshakeTranscript.js.map +6 -0
- package/dist/esm/dtls/prf/TlsPrf.d.ts +82 -0
- package/dist/esm/dtls/prf/TlsPrf.d.ts.map +1 -0
- package/dist/esm/dtls/prf/TlsPrf.js +101 -0
- package/dist/esm/dtls/prf/TlsPrf.js.map +6 -0
- package/dist/esm/dtls/prf/index.d.ts +13 -0
- package/dist/esm/dtls/prf/index.d.ts.map +1 -0
- package/dist/esm/dtls/prf/index.js +12 -0
- package/dist/esm/dtls/prf/index.js.map +6 -0
- package/dist/esm/dtls/record/AesCcm8.d.ts +32 -0
- package/dist/esm/dtls/record/AesCcm8.d.ts.map +1 -0
- package/dist/esm/dtls/record/AesCcm8.js +58 -0
- package/dist/esm/dtls/record/AesCcm8.js.map +6 -0
- package/dist/esm/dtls/record/AntiReplayWindow.d.ts +38 -0
- package/dist/esm/dtls/record/AntiReplayWindow.d.ts.map +1 -0
- package/dist/esm/dtls/record/AntiReplayWindow.js +64 -0
- package/dist/esm/dtls/record/AntiReplayWindow.js.map +6 -0
- package/dist/esm/dtls/record/ContentType.d.ts +19 -0
- package/dist/esm/dtls/record/ContentType.d.ts.map +1 -0
- package/dist/esm/dtls/record/ContentType.js +19 -0
- package/dist/esm/dtls/record/ContentType.js.map +6 -0
- package/dist/esm/dtls/record/DtlsCipherState.d.ts +79 -0
- package/dist/esm/dtls/record/DtlsCipherState.d.ts.map +1 -0
- package/dist/esm/dtls/record/DtlsCipherState.js +153 -0
- package/dist/esm/dtls/record/DtlsCipherState.js.map +6 -0
- package/dist/esm/dtls/record/DtlsRecord.d.ts +89 -0
- package/dist/esm/dtls/record/DtlsRecord.d.ts.map +1 -0
- package/dist/esm/dtls/record/DtlsRecord.js +175 -0
- package/dist/esm/dtls/record/DtlsRecord.js.map +6 -0
- package/dist/esm/dtls/record/index.d.ts +15 -0
- package/dist/esm/dtls/record/index.d.ts.map +1 -0
- package/dist/esm/dtls/record/index.js +29 -0
- package/dist/esm/dtls/record/index.js.map +6 -0
- package/dist/esm/index.d.ts +32 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +74 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts +22 -0
- package/dist/esm/otbr-rest/OtbrRestCapability.d.ts.map +1 -0
- package/dist/esm/otbr-rest/OtbrRestCapability.js +6 -0
- package/dist/esm/otbr-rest/OtbrRestCapability.js.map +6 -0
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts +257 -0
- package/dist/esm/otbr-rest/OtbrRestClient.d.ts.map +1 -0
- package/dist/esm/otbr-rest/OtbrRestClient.js +524 -0
- package/dist/esm/otbr-rest/OtbrRestClient.js.map +6 -0
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts +88 -0
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -0
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js +136 -0
- package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js.map +6 -0
- package/dist/esm/otbr-rest/OtbrRestError.d.ts +18 -0
- package/dist/esm/otbr-rest/OtbrRestError.d.ts.map +1 -0
- package/dist/esm/otbr-rest/OtbrRestError.js +22 -0
- package/dist/esm/otbr-rest/OtbrRestError.js.map +6 -0
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts +17 -0
- package/dist/esm/otbr-rest/OtbrRestProbe.d.ts.map +1 -0
- package/dist/esm/otbr-rest/OtbrRestProbe.js +76 -0
- package/dist/esm/otbr-rest/OtbrRestProbe.js.map +6 -0
- package/dist/esm/otbr-rest/caseNormalizer.d.ts +12 -0
- package/dist/esm/otbr-rest/caseNormalizer.d.ts.map +1 -0
- package/dist/esm/otbr-rest/caseNormalizer.js +39 -0
- package/dist/esm/otbr-rest/caseNormalizer.js.map +6 -0
- package/dist/esm/otbr-rest/index.d.ts +15 -0
- package/dist/esm/otbr-rest/index.d.ts.map +1 -0
- package/dist/esm/otbr-rest/index.js +20 -0
- package/dist/esm/otbr-rest/index.js.map +6 -0
- package/dist/esm/otbr-rest/translation.d.ts +24 -0
- package/dist/esm/otbr-rest/translation.d.ts.map +1 -0
- package/dist/esm/otbr-rest/translation.js +281 -0
- package/dist/esm/otbr-rest/translation.js.map +6 -0
- package/dist/esm/package.json +6 -0
- package/dist/esm/selection/index.d.ts +11 -0
- package/dist/esm/selection/index.d.ts.map +1 -0
- package/dist/esm/selection/index.js +16 -0
- package/dist/esm/selection/index.js.map +6 -0
- package/dist/esm/selection/selectBr.d.ts +37 -0
- package/dist/esm/selection/selectBr.d.ts.map +1 -0
- package/dist/esm/selection/selectBr.js +46 -0
- package/dist/esm/selection/selectBr.js.map +6 -0
- package/dist/esm/selection/selectSource.d.ts +32 -0
- package/dist/esm/selection/selectSource.d.ts.map +1 -0
- package/dist/esm/selection/selectSource.js +23 -0
- package/dist/esm/selection/selectSource.js.map +6 -0
- package/dist/esm/selection/withExtPanIdLock.d.ts +23 -0
- package/dist/esm/selection/withExtPanIdLock.d.ts.map +1 -0
- package/dist/esm/selection/withExtPanIdLock.js +30 -0
- package/dist/esm/selection/withExtPanIdLock.js.map +6 -0
- package/dist/esm/tlv/BasicTlvCodec.d.ts +22 -0
- package/dist/esm/tlv/BasicTlvCodec.d.ts.map +1 -0
- package/dist/esm/tlv/BasicTlvCodec.js +77 -0
- package/dist/esm/tlv/BasicTlvCodec.js.map +6 -0
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts +30 -0
- package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts.map +1 -0
- package/dist/esm/tlv/NetworkDiagnosticTlv.js +21 -0
- package/dist/esm/tlv/NetworkDiagnosticTlv.js.map +6 -0
- package/dist/esm/tlv/TypeListTlv.d.ts +23 -0
- package/dist/esm/tlv/TypeListTlv.d.ts.map +1 -0
- package/dist/esm/tlv/TypeListTlv.js +29 -0
- package/dist/esm/tlv/TypeListTlv.js.map +6 -0
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts +22 -0
- package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -0
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js +28 -0
- package/dist/esm/tlv/diag/ChildIpv6AddressList.js.map +6 -0
- package/dist/esm/tlv/diag/ChildTable.d.ts +29 -0
- package/dist/esm/tlv/diag/ChildTable.d.ts.map +1 -0
- package/dist/esm/tlv/diag/ChildTable.js +71 -0
- package/dist/esm/tlv/diag/ChildTable.js.map +6 -0
- package/dist/esm/tlv/diag/Connectivity.d.ts +45 -0
- package/dist/esm/tlv/diag/Connectivity.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Connectivity.js +79 -0
- package/dist/esm/tlv/diag/Connectivity.js.map +6 -0
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts +21 -0
- package/dist/esm/tlv/diag/Ipv6AddressList.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Ipv6AddressList.js +41 -0
- package/dist/esm/tlv/diag/Ipv6AddressList.js.map +6 -0
- package/dist/esm/tlv/diag/LeaderData.d.ts +28 -0
- package/dist/esm/tlv/diag/LeaderData.d.ts.map +1 -0
- package/dist/esm/tlv/diag/LeaderData.js +44 -0
- package/dist/esm/tlv/diag/LeaderData.js.map +6 -0
- package/dist/esm/tlv/diag/MacCounters.d.ts +28 -0
- package/dist/esm/tlv/diag/MacCounters.d.ts.map +1 -0
- package/dist/esm/tlv/diag/MacCounters.js +65 -0
- package/dist/esm/tlv/diag/MacCounters.js.map +6 -0
- package/dist/esm/tlv/diag/MleCounters.d.ts +41 -0
- package/dist/esm/tlv/diag/MleCounters.d.ts.map +1 -0
- package/dist/esm/tlv/diag/MleCounters.js +98 -0
- package/dist/esm/tlv/diag/MleCounters.js.map +6 -0
- package/dist/esm/tlv/diag/Mode.d.ts +26 -0
- package/dist/esm/tlv/diag/Mode.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Mode.js +37 -0
- package/dist/esm/tlv/diag/Mode.js.map +6 -0
- package/dist/esm/tlv/diag/NetworkData.d.ts +93 -0
- package/dist/esm/tlv/diag/NetworkData.d.ts.map +1 -0
- package/dist/esm/tlv/diag/NetworkData.js +137 -0
- package/dist/esm/tlv/diag/NetworkData.js.map +6 -0
- package/dist/esm/tlv/diag/Primitives.d.ts +34 -0
- package/dist/esm/tlv/diag/Primitives.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Primitives.js +143 -0
- package/dist/esm/tlv/diag/Primitives.js.map +6 -0
- package/dist/esm/tlv/diag/Route64.d.ts +42 -0
- package/dist/esm/tlv/diag/Route64.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Route64.js +78 -0
- package/dist/esm/tlv/diag/Route64.js.map +6 -0
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts +46 -0
- package/dist/esm/tlv/diag/RouterNeighbor.d.ts.map +1 -0
- package/dist/esm/tlv/diag/RouterNeighbor.js +45 -0
- package/dist/esm/tlv/diag/RouterNeighbor.js.map +6 -0
- package/dist/esm/tlv/diag/Timeout.d.ts +17 -0
- package/dist/esm/tlv/diag/Timeout.d.ts.map +1 -0
- package/dist/esm/tlv/diag/Timeout.js +33 -0
- package/dist/esm/tlv/diag/Timeout.js.map +6 -0
- package/dist/esm/tlv/diag/VendorInfo.d.ts +35 -0
- package/dist/esm/tlv/diag/VendorInfo.d.ts.map +1 -0
- package/dist/esm/tlv/diag/VendorInfo.js +110 -0
- package/dist/esm/tlv/diag/VendorInfo.js.map +6 -0
- package/dist/esm/tlv/diag/index.d.ts +26 -0
- package/dist/esm/tlv/diag/index.d.ts.map +1 -0
- package/dist/esm/tlv/diag/index.js +55 -0
- package/dist/esm/tlv/diag/index.js.map +6 -0
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts +21 -0
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -0
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js +28 -0
- package/dist/esm/tlv/meshcop/Ip6AddressTlv.js.map +6 -0
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts +27 -0
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -0
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js +42 -0
- package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js.map +6 -0
- package/dist/esm/tlv/networkDiagTlvTypes.d.ts +59 -0
- package/dist/esm/tlv/networkDiagTlvTypes.d.ts.map +1 -0
- package/dist/esm/tlv/networkDiagTlvTypes.js +56 -0
- package/dist/esm/tlv/networkDiagTlvTypes.js.map +6 -0
- package/dist/esm/util/meshLocalAddr.d.ts +27 -0
- package/dist/esm/util/meshLocalAddr.d.ts.map +1 -0
- package/dist/esm/util/meshLocalAddr.js +47 -0
- package/dist/esm/util/meshLocalAddr.js.map +6 -0
- package/package.json +73 -0
- package/src/coap/CoapClient.ts +355 -0
- package/src/coap/CoapMessage.ts +190 -0
- package/src/coap/index.ts +8 -0
- package/src/commissioner/Commissioner.ts +205 -0
- package/src/commissioner/LeadKa.ts +48 -0
- package/src/commissioner/LeadPet.ts +53 -0
- package/src/commissioner/index.ts +17 -0
- package/src/credentials/ThreadCredentialsRegistry.ts +117 -0
- package/src/credentials/ThreadNetworkCredentials.ts +26 -0
- package/src/credentials/index.ts +8 -0
- package/src/crypto/AesCmacPrf128.ts +101 -0
- package/src/crypto/Pbkdf2AesCmac.ts +57 -0
- package/src/crypto/Pskc.ts +57 -0
- package/src/crypto/index.ts +9 -0
- package/src/dataset/OperationalDataset.ts +326 -0
- package/src/dataset/SecurityPolicy.ts +48 -0
- package/src/dataset/errors.ts +10 -0
- package/src/dataset/index.ts +9 -0
- package/src/dataset/meshcopTlvTypes.ts +69 -0
- package/src/diagnostic/DefaultTlvSet.ts +31 -0
- package/src/diagnostic/DiagnosticResponse.ts +45 -0
- package/src/diagnostic/DiagnosticSource.ts +66 -0
- package/src/diagnostic/MeshCopDiagnosticSource.ts +808 -0
- package/src/diagnostic/connectMeshcop.ts +122 -0
- package/src/diagnostic/errors.ts +10 -0
- package/src/diagnostic/index.ts +13 -0
- package/src/discovery/BorderRouterEntry.ts +54 -0
- package/src/discovery/BorderRouterRegistry.ts +645 -0
- package/src/discovery/DnssdLikeTypes.ts +51 -0
- package/src/discovery/index.ts +8 -0
- package/src/dtls/channel/DtlsChannel.ts +42 -0
- package/src/dtls/channel/DtlsConnectOpts.ts +50 -0
- package/src/dtls/channel/DtlsRetransmitTimer.ts +107 -0
- package/src/dtls/channel/NobleDtlsChannel.ts +519 -0
- package/src/dtls/channel/connectDtls.ts +26 -0
- package/src/dtls/channel/index.ts +15 -0
- package/src/dtls/ecjpake/EcJpakePms.ts +65 -0
- package/src/dtls/ecjpake/EcJpakeRound.ts +279 -0
- package/src/dtls/ecjpake/SchnorrZkp.ts +193 -0
- package/src/dtls/ecjpake/index.ts +29 -0
- package/src/dtls/handshake/ChangeCipherSpec.ts +32 -0
- package/src/dtls/handshake/ClientHelloMessage.ts +150 -0
- package/src/dtls/handshake/ClientKeyExchangeMessage.ts +25 -0
- package/src/dtls/handshake/DtlsClient.ts +610 -0
- package/src/dtls/handshake/FinishedMessage.ts +36 -0
- package/src/dtls/handshake/HandshakeMessage.ts +144 -0
- package/src/dtls/handshake/HandshakeType.ts +35 -0
- package/src/dtls/handshake/HelloVerifyRequestMessage.ts +47 -0
- package/src/dtls/handshake/ServerHelloDoneMessage.ts +20 -0
- package/src/dtls/handshake/ServerHelloMessage.ts +129 -0
- package/src/dtls/handshake/ServerKeyExchangeMessage.ts +31 -0
- package/src/dtls/handshake/index.ts +15 -0
- package/src/dtls/prf/HandshakeTranscript.ts +52 -0
- package/src/dtls/prf/TlsPrf.ts +173 -0
- package/src/dtls/prf/index.ts +14 -0
- package/src/dtls/record/AesCcm8.ts +83 -0
- package/src/dtls/record/AntiReplayWindow.ts +87 -0
- package/src/dtls/record/ContentType.ts +23 -0
- package/src/dtls/record/DtlsCipherState.ts +202 -0
- package/src/dtls/record/DtlsRecord.ts +249 -0
- package/src/dtls/record/index.ts +26 -0
- package/src/index.ts +93 -0
- package/src/otbr-rest/OtbrRestCapability.ts +22 -0
- package/src/otbr-rest/OtbrRestClient.ts +644 -0
- package/src/otbr-rest/OtbrRestDiagnosticSource.ts +172 -0
- package/src/otbr-rest/OtbrRestError.ts +29 -0
- package/src/otbr-rest/OtbrRestProbe.ts +85 -0
- package/src/otbr-rest/caseNormalizer.ts +49 -0
- package/src/otbr-rest/index.ts +21 -0
- package/src/otbr-rest/translation.ts +344 -0
- package/src/selection/index.ts +11 -0
- package/src/selection/selectBr.ts +77 -0
- package/src/selection/selectSource.ts +51 -0
- package/src/selection/withExtPanIdLock.ts +40 -0
- package/src/tlv/BasicTlvCodec.ts +83 -0
- package/src/tlv/NetworkDiagnosticTlv.ts +37 -0
- package/src/tlv/TypeListTlv.ts +38 -0
- package/src/tlv/diag/ChildIpv6AddressList.ts +41 -0
- package/src/tlv/diag/ChildTable.ts +92 -0
- package/src/tlv/diag/Connectivity.ts +115 -0
- package/src/tlv/diag/Ipv6AddressList.ts +47 -0
- package/src/tlv/diag/LeaderData.ts +59 -0
- package/src/tlv/diag/MacCounters.ts +84 -0
- package/src/tlv/diag/MleCounters.ts +147 -0
- package/src/tlv/diag/Mode.ts +52 -0
- package/src/tlv/diag/NetworkData.ts +241 -0
- package/src/tlv/diag/Primitives.ts +146 -0
- package/src/tlv/diag/Route64.ts +118 -0
- package/src/tlv/diag/RouterNeighbor.ts +85 -0
- package/src/tlv/diag/Timeout.ts +36 -0
- package/src/tlv/diag/VendorInfo.ts +113 -0
- package/src/tlv/diag/index.ts +59 -0
- package/src/tlv/meshcop/Ip6AddressTlv.ts +36 -0
- package/src/tlv/meshcop/UdpEncapsulationTlv.ts +57 -0
- package/src/tlv/networkDiagTlvTypes.ts +69 -0
- package/src/tsconfig.json +21 -0
- package/src/util/meshLocalAddr.ts +63 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Decoded Child IPv6 Address List TLV (Network Diagnostic TLV type 30).
|
|
9
|
+
*
|
|
10
|
+
* Layout per OpenThread `include/openthread/netdiag.h` `otNetworkDiagChildEntry`
|
|
11
|
+
* and `src/core/thread/network_diagnostic.cpp`:
|
|
12
|
+
*
|
|
13
|
+
* [0..1] uint16-be RLOC16 of the child
|
|
14
|
+
* [2..] bytes[N*16] N IPv6 addresses, each 16 bytes, network byte order
|
|
15
|
+
*/
|
|
16
|
+
export interface ChildIpv6Addresses {
|
|
17
|
+
rloc16: number;
|
|
18
|
+
addresses: Uint8Array[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const RLOC16_BYTES = 2;
|
|
22
|
+
const IPV6_ADDRESS_BYTES = 16;
|
|
23
|
+
|
|
24
|
+
export namespace ChildIpv6AddressList {
|
|
25
|
+
export function decode(value: Uint8Array): ChildIpv6Addresses {
|
|
26
|
+
if (value.length < RLOC16_BYTES) {
|
|
27
|
+
return { rloc16: 0, addresses: [] };
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const rloc16 = (value[0] << 8) | value[1];
|
|
31
|
+
const addressPayload = value.subarray(RLOC16_BYTES);
|
|
32
|
+
const addressCount = Math.floor(addressPayload.length / IPV6_ADDRESS_BYTES);
|
|
33
|
+
|
|
34
|
+
const addresses = new Array<Uint8Array>();
|
|
35
|
+
for (let i = 0; i < addressCount; i++) {
|
|
36
|
+
addresses.push(addressPayload.slice(i * IPV6_ADDRESS_BYTES, (i + 1) * IPV6_ADDRESS_BYTES));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return { rloc16, addresses };
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InternalError } from "@matter/general";
|
|
8
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
9
|
+
import { Mode } from "./Mode.js";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* One Child Table entry — 3 bytes per OpenThread `ChildTableTlvEntry`:
|
|
13
|
+
*
|
|
14
|
+
* uint16 BE: [bits 15..11 timeout-exponent][bits 10..9 incoming link quality][bits 8..0 child id]
|
|
15
|
+
* uint8 : MLE Mode bitmap (same layout as the Mode TLV)
|
|
16
|
+
*
|
|
17
|
+
* `timeout-exponent` 4..31 maps to `2^(exp - 4)` seconds; values <4 clamp to 4
|
|
18
|
+
* per OpenThread `ChildTableTlvEntry::DetermineTimeoutFromExponent`.
|
|
19
|
+
*/
|
|
20
|
+
export interface ChildTableEntry {
|
|
21
|
+
/** Timeout exponent (4..31) — wire form. {@link timeoutSeconds} is the resolved value. */
|
|
22
|
+
timeoutExponent: number;
|
|
23
|
+
/** Resolved timeout in seconds (`2^(exp-4)`). */
|
|
24
|
+
timeoutSeconds: number;
|
|
25
|
+
incomingLinkQuality: number;
|
|
26
|
+
childId: number;
|
|
27
|
+
mode: Mode;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const ENTRY_BYTES = 3;
|
|
31
|
+
const TIMEOUT_MASK = 0xf800;
|
|
32
|
+
const TIMEOUT_SHIFT = 11;
|
|
33
|
+
const ILQ_MASK = 0x0600;
|
|
34
|
+
const ILQ_SHIFT = 9;
|
|
35
|
+
const CHILD_ID_MASK = 0x01ff;
|
|
36
|
+
const TIMEOUT_EXP_MIN = 4;
|
|
37
|
+
const TIMEOUT_EXP_MAX = 0x1f;
|
|
38
|
+
|
|
39
|
+
function clampedExponent(exp: number): number {
|
|
40
|
+
if (exp < TIMEOUT_EXP_MIN) return TIMEOUT_EXP_MIN;
|
|
41
|
+
if (exp > TIMEOUT_EXP_MAX) return TIMEOUT_EXP_MAX;
|
|
42
|
+
return exp;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function timeoutFromExponent(exp: number): number {
|
|
46
|
+
return 1 << (clampedExponent(exp) - TIMEOUT_EXP_MIN);
|
|
47
|
+
}
|
|
48
|
+
|
|
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}`);
|
|
53
|
+
}
|
|
54
|
+
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];
|
|
57
|
+
const timeoutExponent = (word & TIMEOUT_MASK) >> TIMEOUT_SHIFT;
|
|
58
|
+
entries.push({
|
|
59
|
+
timeoutExponent,
|
|
60
|
+
timeoutSeconds: timeoutFromExponent(timeoutExponent),
|
|
61
|
+
incomingLinkQuality: (word & ILQ_MASK) >> ILQ_SHIFT,
|
|
62
|
+
childId: word & CHILD_ID_MASK,
|
|
63
|
+
mode: Mode.decode(value.subarray(offset + 2, offset + 3)),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return entries;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function encode(entries: ReadonlyArray<ChildTableEntry>): Uint8Array {
|
|
70
|
+
const out = new Uint8Array(entries.length * ENTRY_BYTES);
|
|
71
|
+
for (let i = 0; i < entries.length; i++) {
|
|
72
|
+
const e = entries[i];
|
|
73
|
+
if (e.timeoutExponent < 0 || e.timeoutExponent > TIMEOUT_EXP_MAX) {
|
|
74
|
+
throw new InternalError(`ChildTable timeoutExponent out of range: ${e.timeoutExponent}`);
|
|
75
|
+
}
|
|
76
|
+
if (e.incomingLinkQuality < 0 || e.incomingLinkQuality > 3) {
|
|
77
|
+
throw new InternalError(`ChildTable incomingLinkQuality out of range: ${e.incomingLinkQuality}`);
|
|
78
|
+
}
|
|
79
|
+
if (e.childId < 0 || e.childId > 0x1ff) {
|
|
80
|
+
throw new InternalError(`ChildTable childId out of range: ${e.childId}`);
|
|
81
|
+
}
|
|
82
|
+
const word =
|
|
83
|
+
((e.timeoutExponent << TIMEOUT_SHIFT) & TIMEOUT_MASK) |
|
|
84
|
+
((e.incomingLinkQuality << ILQ_SHIFT) & ILQ_MASK) |
|
|
85
|
+
(e.childId & CHILD_ID_MASK);
|
|
86
|
+
out[i * ENTRY_BYTES] = (word >> 8) & 0xff;
|
|
87
|
+
out[i * ENTRY_BYTES + 1] = word & 0xff;
|
|
88
|
+
out[i * ENTRY_BYTES + 2] = Mode.encode(e.mode)[0];
|
|
89
|
+
}
|
|
90
|
+
return out;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Decoded Connectivity TLV (Network Diagnostic TLV type 4).
|
|
11
|
+
*
|
|
12
|
+
* Layout per OpenThread `mle_tlvs.hpp` `ConnectivityTlvValue` and
|
|
13
|
+
* `mle_tlvs.cpp` `ConnectivityTlvValue::ParseFrom`:
|
|
14
|
+
*
|
|
15
|
+
* [0] flags bits 7..6 = parent priority (signed 2-bit), 5..0 reserved
|
|
16
|
+
* [1] linkQuality3 number of neighbors with link quality 3
|
|
17
|
+
* [2] linkQuality2 number of neighbors with link quality 2
|
|
18
|
+
* [3] linkQuality1 number of neighbors with link quality 1
|
|
19
|
+
* [4] leaderCost
|
|
20
|
+
* [5] idSequence
|
|
21
|
+
* [6] activeRouters
|
|
22
|
+
* [7..8] sedBufferSize uint16 BE (optional)
|
|
23
|
+
* [9] sedDatagramCount uint8 (optional)
|
|
24
|
+
*
|
|
25
|
+
* The trailing 3 bytes are optional and are included as a pair-and-byte; if
|
|
26
|
+
* absent the spec defaults are 1280 / 1.
|
|
27
|
+
*
|
|
28
|
+
* Parent priority encoding (`Preference::From2BitUint`):
|
|
29
|
+
* 0b01 (1) = high (+1), 0b00 (0) = medium (0),
|
|
30
|
+
* 0b11 (3) = low (-1), 0b10 (2) = reserved-high mapped to medium per RFC-4191.
|
|
31
|
+
*/
|
|
32
|
+
export type ParentPriority = -1 | 0 | 1;
|
|
33
|
+
|
|
34
|
+
export interface Connectivity {
|
|
35
|
+
parentPriority: ParentPriority;
|
|
36
|
+
linkQuality3: number;
|
|
37
|
+
linkQuality2: number;
|
|
38
|
+
linkQuality1: number;
|
|
39
|
+
leaderCost: number;
|
|
40
|
+
idSequence: number;
|
|
41
|
+
activeRouters: number;
|
|
42
|
+
sedBufferSize: number;
|
|
43
|
+
sedDatagramCount: number;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const FLAGS_PARENT_PRIORITY_MASK = 0xc0;
|
|
47
|
+
const FLAGS_PARENT_PRIORITY_SHIFT = 6;
|
|
48
|
+
const MIN_SIZE = 7;
|
|
49
|
+
const FULL_SIZE = 10;
|
|
50
|
+
const DEFAULT_SED_BUFFER_SIZE = 1280;
|
|
51
|
+
const DEFAULT_SED_DATAGRAM_COUNT = 1;
|
|
52
|
+
|
|
53
|
+
function parentPriorityFrom2Bit(raw: number): ParentPriority {
|
|
54
|
+
switch (raw & 0x3) {
|
|
55
|
+
case 0b01:
|
|
56
|
+
return 1;
|
|
57
|
+
case 0b11:
|
|
58
|
+
return -1;
|
|
59
|
+
default:
|
|
60
|
+
return 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function parentPriorityTo2Bit(prio: ParentPriority): number {
|
|
65
|
+
switch (prio) {
|
|
66
|
+
case 1:
|
|
67
|
+
return 0b01;
|
|
68
|
+
case -1:
|
|
69
|
+
return 0b11;
|
|
70
|
+
default:
|
|
71
|
+
return 0b00;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
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
|
+
);
|
|
81
|
+
}
|
|
82
|
+
const priorityBits = (value[0] & FLAGS_PARENT_PRIORITY_MASK) >> FLAGS_PARENT_PRIORITY_SHIFT;
|
|
83
|
+
const partial: Connectivity = {
|
|
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],
|
|
91
|
+
sedBufferSize: DEFAULT_SED_BUFFER_SIZE,
|
|
92
|
+
sedDatagramCount: DEFAULT_SED_DATAGRAM_COUNT,
|
|
93
|
+
};
|
|
94
|
+
if (value.length === FULL_SIZE) {
|
|
95
|
+
partial.sedBufferSize = (value[7] << 8) | value[8];
|
|
96
|
+
partial.sedDatagramCount = value[9];
|
|
97
|
+
}
|
|
98
|
+
return partial;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function encode(c: Connectivity): Uint8Array {
|
|
102
|
+
const out = new Uint8Array(FULL_SIZE);
|
|
103
|
+
out[0] = (parentPriorityTo2Bit(c.parentPriority) << FLAGS_PARENT_PRIORITY_SHIFT) & FLAGS_PARENT_PRIORITY_MASK;
|
|
104
|
+
out[1] = c.linkQuality3 & 0xff;
|
|
105
|
+
out[2] = c.linkQuality2 & 0xff;
|
|
106
|
+
out[3] = c.linkQuality1 & 0xff;
|
|
107
|
+
out[4] = c.leaderCost & 0xff;
|
|
108
|
+
out[5] = c.idSequence & 0xff;
|
|
109
|
+
out[6] = c.activeRouters & 0xff;
|
|
110
|
+
out[7] = (c.sedBufferSize >>> 8) & 0xff;
|
|
111
|
+
out[8] = c.sedBufferSize & 0xff;
|
|
112
|
+
out[9] = c.sedDatagramCount & 0xff;
|
|
113
|
+
return out;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InternalError } from "@matter/general";
|
|
8
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decoded IPv6 Address List TLV (Network Diagnostic TLV type 8).
|
|
12
|
+
*
|
|
13
|
+
* Concatenation of zero or more 16-byte IPv6 addresses, in interface-list
|
|
14
|
+
* order. Source: OpenThread `network_diagnostic.cpp` `Server::AppendIp6AddressList`
|
|
15
|
+
* and `Client::ParseIp6AddrList`.
|
|
16
|
+
*
|
|
17
|
+
* Each entry is the 16-byte network-order address; rendering to text form
|
|
18
|
+
* is the responsibility of higher layers.
|
|
19
|
+
*/
|
|
20
|
+
export const IPV6_ADDRESS_BYTES = 16;
|
|
21
|
+
|
|
22
|
+
export namespace Ipv6AddressList {
|
|
23
|
+
export function decode(value: Uint8Array): Uint8Array[] {
|
|
24
|
+
if (value.length % IPV6_ADDRESS_BYTES !== 0) {
|
|
25
|
+
throw new ThreadDiagError(
|
|
26
|
+
`IPv6 address list TLV length ${value.length} not a multiple of ${IPV6_ADDRESS_BYTES}`,
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
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));
|
|
32
|
+
}
|
|
33
|
+
return out;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function encode(addresses: ReadonlyArray<Uint8Array>): Uint8Array {
|
|
37
|
+
const out = new Uint8Array(addresses.length * IPV6_ADDRESS_BYTES);
|
|
38
|
+
for (let i = 0; i < addresses.length; i++) {
|
|
39
|
+
const addr = addresses[i];
|
|
40
|
+
if (addr.length !== IPV6_ADDRESS_BYTES) {
|
|
41
|
+
throw new InternalError(`IPv6 address must be ${IPV6_ADDRESS_BYTES} bytes, got ${addr.length}`);
|
|
42
|
+
}
|
|
43
|
+
out.set(addr, i * IPV6_ADDRESS_BYTES);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InternalError } from "@matter/general";
|
|
8
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decoded Leader Data TLV (Network Diagnostic TLV type 6).
|
|
12
|
+
*
|
|
13
|
+
* Layout per OpenThread `mle_tlvs.hpp` `LeaderDataTlvValue`:
|
|
14
|
+
*
|
|
15
|
+
* [0..3] uint32 BE partition ID
|
|
16
|
+
* [4] uint8 weighting
|
|
17
|
+
* [5] uint8 data version
|
|
18
|
+
* [6] uint8 stable data version
|
|
19
|
+
* [7] uint8 leader router ID
|
|
20
|
+
*/
|
|
21
|
+
export interface LeaderData {
|
|
22
|
+
partitionId: number;
|
|
23
|
+
weighting: number;
|
|
24
|
+
dataVersion: number;
|
|
25
|
+
stableDataVersion: number;
|
|
26
|
+
leaderRouterId: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
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}`);
|
|
33
|
+
}
|
|
34
|
+
const partitionId = ((value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3]) >>> 0;
|
|
35
|
+
return {
|
|
36
|
+
partitionId,
|
|
37
|
+
weighting: value[4],
|
|
38
|
+
dataVersion: value[5],
|
|
39
|
+
stableDataVersion: value[6],
|
|
40
|
+
leaderRouterId: value[7],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function encode(data: LeaderData): Uint8Array {
|
|
45
|
+
if (data.partitionId < 0 || data.partitionId > 0xffffffff) {
|
|
46
|
+
throw new InternalError(`LeaderData partitionId out of range: ${data.partitionId}`);
|
|
47
|
+
}
|
|
48
|
+
const out = new Uint8Array(8);
|
|
49
|
+
out[0] = (data.partitionId >>> 24) & 0xff;
|
|
50
|
+
out[1] = (data.partitionId >>> 16) & 0xff;
|
|
51
|
+
out[2] = (data.partitionId >>> 8) & 0xff;
|
|
52
|
+
out[3] = data.partitionId & 0xff;
|
|
53
|
+
out[4] = data.weighting & 0xff;
|
|
54
|
+
out[5] = data.dataVersion & 0xff;
|
|
55
|
+
out[6] = data.stableDataVersion & 0xff;
|
|
56
|
+
out[7] = data.leaderRouterId & 0xff;
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InternalError } from "@matter/general";
|
|
8
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decoded MAC Counters TLV (Network Diagnostic TLV type 9).
|
|
12
|
+
*
|
|
13
|
+
* Field layout per OpenThread `MacCountersTlv` (`network_diagnostic_tlvs.hpp`)
|
|
14
|
+
* — nine consecutive big-endian uint32 fields, total 36 bytes. Field names
|
|
15
|
+
* mirror the SNMP-style RFC 2233 names used by OpenThread.
|
|
16
|
+
*/
|
|
17
|
+
export interface MacCounters {
|
|
18
|
+
ifInUnknownProtos: number;
|
|
19
|
+
ifInErrors: number;
|
|
20
|
+
ifOutErrors: number;
|
|
21
|
+
ifInUcastPkts: number;
|
|
22
|
+
ifInBroadcastPkts: number;
|
|
23
|
+
ifInDiscards: number;
|
|
24
|
+
ifOutUcastPkts: number;
|
|
25
|
+
ifOutBroadcastPkts: number;
|
|
26
|
+
ifOutDiscards: number;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const FIELD_COUNT = 9;
|
|
30
|
+
const TOTAL_BYTES = FIELD_COUNT * 4;
|
|
31
|
+
|
|
32
|
+
const FIELD_ORDER: ReadonlyArray<keyof MacCounters> = [
|
|
33
|
+
"ifInUnknownProtos",
|
|
34
|
+
"ifInErrors",
|
|
35
|
+
"ifOutErrors",
|
|
36
|
+
"ifInUcastPkts",
|
|
37
|
+
"ifInBroadcastPkts",
|
|
38
|
+
"ifInDiscards",
|
|
39
|
+
"ifOutUcastPkts",
|
|
40
|
+
"ifOutBroadcastPkts",
|
|
41
|
+
"ifOutDiscards",
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
function readU32BE(bytes: Uint8Array, offset: number): number {
|
|
45
|
+
return ((bytes[offset] << 24) | (bytes[offset + 1] << 16) | (bytes[offset + 2] << 8) | bytes[offset + 3]) >>> 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function writeU32BE(bytes: Uint8Array, offset: number, value: number): void {
|
|
49
|
+
bytes[offset] = (value >>> 24) & 0xff;
|
|
50
|
+
bytes[offset + 1] = (value >>> 16) & 0xff;
|
|
51
|
+
bytes[offset + 2] = (value >>> 8) & 0xff;
|
|
52
|
+
bytes[offset + 3] = value & 0xff;
|
|
53
|
+
}
|
|
54
|
+
|
|
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}`);
|
|
59
|
+
}
|
|
60
|
+
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),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function encode(counters: MacCounters): Uint8Array {
|
|
74
|
+
const out = new Uint8Array(TOTAL_BYTES);
|
|
75
|
+
for (let i = 0; i < FIELD_ORDER.length; i++) {
|
|
76
|
+
const v = counters[FIELD_ORDER[i]];
|
|
77
|
+
if (!Number.isInteger(v) || v < 0 || v > 0xffffffff) {
|
|
78
|
+
throw new InternalError(`MacCounters.${FIELD_ORDER[i]} out of range: ${v}`);
|
|
79
|
+
}
|
|
80
|
+
writeU32BE(out, i * 4, v);
|
|
81
|
+
}
|
|
82
|
+
return out;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { InternalError } from "@matter/general";
|
|
8
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Decoded MLE Counters TLV (Network Diagnostic TLV type 34).
|
|
12
|
+
*
|
|
13
|
+
* Field layout per OpenThread `MleCountersTlv`:
|
|
14
|
+
*
|
|
15
|
+
* 9 × uint16 BE — role-entry counters and partition/parent change counters
|
|
16
|
+
* 6 × uint64 BE — millisecond accumulators per role
|
|
17
|
+
*
|
|
18
|
+
* Total 66 bytes.
|
|
19
|
+
*
|
|
20
|
+
* The 64-bit time accumulators are exposed as JS `bigint` to keep the full
|
|
21
|
+
* range without precision loss (uptime in ms can exceed 2^53 over years of
|
|
22
|
+
* runtime).
|
|
23
|
+
*/
|
|
24
|
+
export interface MleCounters {
|
|
25
|
+
disabledRole: number;
|
|
26
|
+
detachedRole: number;
|
|
27
|
+
childRole: number;
|
|
28
|
+
routerRole: number;
|
|
29
|
+
leaderRole: number;
|
|
30
|
+
attachAttempts: number;
|
|
31
|
+
partitionIdChanges: number;
|
|
32
|
+
betterPartitionAttachAttempts: number;
|
|
33
|
+
parentChanges: number;
|
|
34
|
+
trackedTime: bigint;
|
|
35
|
+
disabledTime: bigint;
|
|
36
|
+
detachedTime: bigint;
|
|
37
|
+
childTime: bigint;
|
|
38
|
+
routerTime: bigint;
|
|
39
|
+
leaderTime: bigint;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
type U16Key =
|
|
43
|
+
| "disabledRole"
|
|
44
|
+
| "detachedRole"
|
|
45
|
+
| "childRole"
|
|
46
|
+
| "routerRole"
|
|
47
|
+
| "leaderRole"
|
|
48
|
+
| "attachAttempts"
|
|
49
|
+
| "partitionIdChanges"
|
|
50
|
+
| "betterPartitionAttachAttempts"
|
|
51
|
+
| "parentChanges";
|
|
52
|
+
|
|
53
|
+
type U64Key = "trackedTime" | "disabledTime" | "detachedTime" | "childTime" | "routerTime" | "leaderTime";
|
|
54
|
+
|
|
55
|
+
const U16_FIELDS: ReadonlyArray<U16Key> = [
|
|
56
|
+
"disabledRole",
|
|
57
|
+
"detachedRole",
|
|
58
|
+
"childRole",
|
|
59
|
+
"routerRole",
|
|
60
|
+
"leaderRole",
|
|
61
|
+
"attachAttempts",
|
|
62
|
+
"partitionIdChanges",
|
|
63
|
+
"betterPartitionAttachAttempts",
|
|
64
|
+
"parentChanges",
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
const U64_FIELDS: ReadonlyArray<U64Key> = [
|
|
68
|
+
"trackedTime",
|
|
69
|
+
"disabledTime",
|
|
70
|
+
"detachedTime",
|
|
71
|
+
"childTime",
|
|
72
|
+
"routerTime",
|
|
73
|
+
"leaderTime",
|
|
74
|
+
];
|
|
75
|
+
|
|
76
|
+
const TOTAL_BYTES = U16_FIELDS.length * 2 + U64_FIELDS.length * 8;
|
|
77
|
+
const U64_OFFSET = U16_FIELDS.length * 2;
|
|
78
|
+
|
|
79
|
+
function readU16BE(bytes: Uint8Array, offset: number): number {
|
|
80
|
+
return (bytes[offset] << 8) | bytes[offset + 1];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function writeU16BE(bytes: Uint8Array, offset: number, value: number): void {
|
|
84
|
+
bytes[offset] = (value >> 8) & 0xff;
|
|
85
|
+
bytes[offset + 1] = value & 0xff;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function readU64BE(bytes: Uint8Array, offset: number): bigint {
|
|
89
|
+
let result = 0n;
|
|
90
|
+
for (let i = 0; i < 8; i++) {
|
|
91
|
+
result = (result << 8n) | BigInt(bytes[offset + i]);
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function writeU64BE(bytes: Uint8Array, offset: number, value: bigint): void {
|
|
97
|
+
for (let i = 7; i >= 0; i--) {
|
|
98
|
+
bytes[offset + i] = Number(value & 0xffn);
|
|
99
|
+
value >>= 8n;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const U64_MAX = (1n << 64n) - 1n;
|
|
104
|
+
|
|
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}`);
|
|
109
|
+
}
|
|
110
|
+
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),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export function encode(counters: MleCounters): Uint8Array {
|
|
130
|
+
const out = new Uint8Array(TOTAL_BYTES);
|
|
131
|
+
for (let i = 0; i < U16_FIELDS.length; i++) {
|
|
132
|
+
const v = counters[U16_FIELDS[i]];
|
|
133
|
+
if (!Number.isInteger(v) || v < 0 || v > 0xffff) {
|
|
134
|
+
throw new InternalError(`MleCounters.${U16_FIELDS[i]} out of range: ${v}`);
|
|
135
|
+
}
|
|
136
|
+
writeU16BE(out, i * 2, v);
|
|
137
|
+
}
|
|
138
|
+
for (let i = 0; i < U64_FIELDS.length; i++) {
|
|
139
|
+
const v = counters[U64_FIELDS[i]];
|
|
140
|
+
if (typeof v !== "bigint" || v < 0n || v > U64_MAX) {
|
|
141
|
+
throw new InternalError(`MleCounters.${U64_FIELDS[i]} out of range: ${v}`);
|
|
142
|
+
}
|
|
143
|
+
writeU64BE(out, U64_OFFSET + i * 8, v);
|
|
144
|
+
}
|
|
145
|
+
return out;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ThreadDiagError } from "../../diagnostic/errors.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Decoded MLE Mode TLV (Network Diagnostic TLV type 2).
|
|
11
|
+
*
|
|
12
|
+
* Single-byte bitmap. Layout per OpenThread `src/core/thread/mle_types.hpp`
|
|
13
|
+
* (`DeviceMode`):
|
|
14
|
+
*
|
|
15
|
+
* bit 3: rx-on-when-idle (0 = sleepy, 1 = always-on)
|
|
16
|
+
* bit 2: reserved (set on transmit, ignored on receive)
|
|
17
|
+
* bit 1: full thread device (FTD = 1, MTD = 0)
|
|
18
|
+
* bit 0: full network data (1 = full set, 0 = stable subset)
|
|
19
|
+
*/
|
|
20
|
+
export interface Mode {
|
|
21
|
+
rxOnWhenIdle: boolean;
|
|
22
|
+
fullThreadDevice: boolean;
|
|
23
|
+
fullNetworkData: boolean;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const FLAG_RX_ON_WHEN_IDLE = 1 << 3;
|
|
27
|
+
const FLAG_RESERVED = 1 << 2;
|
|
28
|
+
const FLAG_FULL_THREAD_DEVICE = 1 << 1;
|
|
29
|
+
const FLAG_FULL_NETWORK_DATA = 1 << 0;
|
|
30
|
+
|
|
31
|
+
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}`);
|
|
35
|
+
}
|
|
36
|
+
const raw = value[0];
|
|
37
|
+
return {
|
|
38
|
+
rxOnWhenIdle: (raw & FLAG_RX_ON_WHEN_IDLE) !== 0,
|
|
39
|
+
fullThreadDevice: (raw & FLAG_FULL_THREAD_DEVICE) !== 0,
|
|
40
|
+
fullNetworkData: (raw & FLAG_FULL_NETWORK_DATA) !== 0,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function encode(mode: Mode): Uint8Array {
|
|
45
|
+
// The reserved bit must be set on transmit per Thread spec / OpenThread `DeviceMode::Set`.
|
|
46
|
+
let raw = FLAG_RESERVED;
|
|
47
|
+
if (mode.rxOnWhenIdle) raw |= FLAG_RX_ON_WHEN_IDLE;
|
|
48
|
+
if (mode.fullThreadDevice) raw |= FLAG_FULL_THREAD_DEVICE;
|
|
49
|
+
if (mode.fullNetworkData) raw |= FLAG_FULL_NETWORK_DATA;
|
|
50
|
+
return new Uint8Array([raw]);
|
|
51
|
+
}
|
|
52
|
+
}
|