@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,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { InternalError } from "@matter/general";
|
|
7
|
+
import { AntiReplayWindow } from "./AntiReplayWindow.js";
|
|
8
|
+
import { DTLS_1_2_VERSION } from "./DtlsRecord.js";
|
|
9
|
+
const KEY_LEN = 16;
|
|
10
|
+
const SALT_LEN = 4;
|
|
11
|
+
const NONCE_LEN = 12;
|
|
12
|
+
const AAD_LEN = 13;
|
|
13
|
+
const MAX_EPOCH = 65535;
|
|
14
|
+
const MAX_SEQ = (1n << 48n) - 1n;
|
|
15
|
+
function copyExpect(name, value, expectedLen) {
|
|
16
|
+
if (value.length !== expectedLen) {
|
|
17
|
+
throw new InternalError(`DtlsCipherState ${name} must be ${expectedLen} bytes, got ${value.length}`);
|
|
18
|
+
}
|
|
19
|
+
return new Uint8Array(value);
|
|
20
|
+
}
|
|
21
|
+
class DtlsCipherState {
|
|
22
|
+
role;
|
|
23
|
+
#clientWriteKey;
|
|
24
|
+
#serverWriteKey;
|
|
25
|
+
#clientWriteSalt;
|
|
26
|
+
#serverWriteSalt;
|
|
27
|
+
#writeEpoch = 0;
|
|
28
|
+
#writeSeq = 0n;
|
|
29
|
+
#readEpoch = 0;
|
|
30
|
+
#readWindow;
|
|
31
|
+
constructor(role, inputs) {
|
|
32
|
+
this.role = role;
|
|
33
|
+
this.#clientWriteKey = copyExpect("clientWriteKey", inputs.clientWriteKey, KEY_LEN);
|
|
34
|
+
this.#serverWriteKey = copyExpect("serverWriteKey", inputs.serverWriteKey, KEY_LEN);
|
|
35
|
+
this.#clientWriteSalt = copyExpect("clientWriteSalt", inputs.clientWriteSalt, SALT_LEN);
|
|
36
|
+
this.#serverWriteSalt = copyExpect("serverWriteSalt", inputs.serverWriteSalt, SALT_LEN);
|
|
37
|
+
}
|
|
38
|
+
get writeEpoch() {
|
|
39
|
+
return this.#writeEpoch;
|
|
40
|
+
}
|
|
41
|
+
get readEpoch() {
|
|
42
|
+
return this.#readEpoch;
|
|
43
|
+
}
|
|
44
|
+
/** Most recently allocated outbound seq, or `-1n` before the first allocation in the current epoch. */
|
|
45
|
+
get lastWriteSeq() {
|
|
46
|
+
return this.#writeSeq - 1n;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Allocate the next outbound sequence number for the current write epoch and bump
|
|
50
|
+
* the counter. Throws if the 48-bit space is exhausted within an epoch.
|
|
51
|
+
*/
|
|
52
|
+
nextWriteSeq() {
|
|
53
|
+
if (this.#writeSeq > MAX_SEQ) {
|
|
54
|
+
throw new InternalError(
|
|
55
|
+
`DtlsCipherState write sequence_number space exhausted at epoch ${this.#writeEpoch}`
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
const seq = this.#writeSeq;
|
|
59
|
+
this.#writeSeq += 1n;
|
|
60
|
+
return seq;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Increment the outbound epoch (called once after sending ChangeCipherSpec) and reset
|
|
64
|
+
* the seq counter to 0 (RFC 6347 §4.1.2.5).
|
|
65
|
+
*/
|
|
66
|
+
advanceWriteEpoch() {
|
|
67
|
+
if (this.#writeEpoch >= MAX_EPOCH) {
|
|
68
|
+
throw new InternalError(`DtlsCipherState write epoch overflow`);
|
|
69
|
+
}
|
|
70
|
+
this.#writeEpoch += 1;
|
|
71
|
+
this.#writeSeq = 0n;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Increment the inbound epoch (called once after receiving ChangeCipherSpec) and
|
|
75
|
+
* reset the read-side anti-replay window for the new epoch.
|
|
76
|
+
*/
|
|
77
|
+
advanceReadEpoch() {
|
|
78
|
+
if (this.#readEpoch >= MAX_EPOCH) {
|
|
79
|
+
throw new InternalError(`DtlsCipherState read epoch overflow`);
|
|
80
|
+
}
|
|
81
|
+
this.#readEpoch += 1;
|
|
82
|
+
this.#readWindow = new AntiReplayWindow();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Test+mark an inbound (epoch, seqNum) pair. Returns false on replay or wrong epoch
|
|
86
|
+
* so callers can drop the record per RFC 6347 §4.1.2.6. Plaintext epoch=0 records
|
|
87
|
+
* are accepted unconditionally — they carry no MAC and replay is meaningless.
|
|
88
|
+
*/
|
|
89
|
+
acceptIncoming(epoch, seqNum) {
|
|
90
|
+
if (epoch !== this.#readEpoch) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
if (epoch === 0) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
if (this.#readWindow === void 0) {
|
|
97
|
+
this.#readWindow = new AntiReplayWindow();
|
|
98
|
+
}
|
|
99
|
+
return this.#readWindow.check(seqNum);
|
|
100
|
+
}
|
|
101
|
+
encryptParams() {
|
|
102
|
+
return this.role === "client" ? { key: this.#clientWriteKey, salt: this.#clientWriteSalt } : { key: this.#serverWriteKey, salt: this.#serverWriteSalt };
|
|
103
|
+
}
|
|
104
|
+
decryptParams() {
|
|
105
|
+
return this.role === "client" ? { key: this.#serverWriteKey, salt: this.#serverWriteSalt } : { key: this.#clientWriteKey, salt: this.#clientWriteSalt };
|
|
106
|
+
}
|
|
107
|
+
nonceFor(salt, epoch, seqNum) {
|
|
108
|
+
if (salt.length !== SALT_LEN) {
|
|
109
|
+
throw new InternalError(`DtlsCipherState nonceFor: salt must be ${SALT_LEN} bytes, got ${salt.length}`);
|
|
110
|
+
}
|
|
111
|
+
if (epoch < 0 || epoch > MAX_EPOCH) {
|
|
112
|
+
throw new InternalError(`DtlsCipherState nonceFor: epoch ${epoch} out of range`);
|
|
113
|
+
}
|
|
114
|
+
if (seqNum < 0n || seqNum > MAX_SEQ) {
|
|
115
|
+
throw new InternalError(`DtlsCipherState nonceFor: seqNum ${seqNum} out of range`);
|
|
116
|
+
}
|
|
117
|
+
const out = new Uint8Array(NONCE_LEN);
|
|
118
|
+
out.set(salt, 0);
|
|
119
|
+
out[4] = epoch >>> 8 & 255;
|
|
120
|
+
out[5] = epoch & 255;
|
|
121
|
+
for (let i = 0; i < 6; i++) {
|
|
122
|
+
out[6 + i] = Number(seqNum >> BigInt((5 - i) * 8) & 0xffn);
|
|
123
|
+
}
|
|
124
|
+
return out;
|
|
125
|
+
}
|
|
126
|
+
aadFor(type, epoch, seqNum, plaintextLen) {
|
|
127
|
+
if (epoch < 0 || epoch > MAX_EPOCH) {
|
|
128
|
+
throw new InternalError(`DtlsCipherState aadFor: epoch ${epoch} out of range`);
|
|
129
|
+
}
|
|
130
|
+
if (seqNum < 0n || seqNum > MAX_SEQ) {
|
|
131
|
+
throw new InternalError(`DtlsCipherState aadFor: seqNum ${seqNum} out of range`);
|
|
132
|
+
}
|
|
133
|
+
if (plaintextLen < 0 || plaintextLen > 65535) {
|
|
134
|
+
throw new InternalError(`DtlsCipherState aadFor: plaintextLen ${plaintextLen} out of range`);
|
|
135
|
+
}
|
|
136
|
+
const out = new Uint8Array(AAD_LEN);
|
|
137
|
+
out[0] = epoch >>> 8 & 255;
|
|
138
|
+
out[1] = epoch & 255;
|
|
139
|
+
for (let i = 0; i < 6; i++) {
|
|
140
|
+
out[2 + i] = Number(seqNum >> BigInt((5 - i) * 8) & 0xffn);
|
|
141
|
+
}
|
|
142
|
+
out[8] = type;
|
|
143
|
+
out[9] = DTLS_1_2_VERSION.major;
|
|
144
|
+
out[10] = DTLS_1_2_VERSION.minor;
|
|
145
|
+
out[11] = plaintextLen >>> 8 & 255;
|
|
146
|
+
out[12] = plaintextLen & 255;
|
|
147
|
+
return out;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
export {
|
|
151
|
+
DtlsCipherState
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=DtlsCipherState.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/dtls/record/DtlsCipherState.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AAEjC,SAAS,wBAAoD;AAmB7D,MAAM,UAAU;AAChB,MAAM,WAAW;AACjB,MAAM,YAAY;AAClB,MAAM,UAAU;AAChB,MAAM,YAAY;AAClB,MAAM,WAAW,MAAM,OAAO;AAE9B,SAAS,WAAW,MAAc,OAAmB,aAAiC;AAClF,MAAI,MAAM,WAAW,aAAa;AAC9B,UAAM,IAAI,cAAc,mBAAmB,IAAI,YAAY,WAAW,eAAe,MAAM,MAAM,EAAE;AAAA,EACvG;AACA,SAAO,IAAI,WAAW,KAAK;AAC/B;AAiBO,MAAM,gBAAiD;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACT,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,aAAa;AAAA,EACb;AAAA,EAEA,YAAY,MAA2B,QAA+B;AAClE,SAAK,OAAO;AACZ,SAAK,kBAAkB,WAAW,kBAAkB,OAAO,gBAAgB,OAAO;AAClF,SAAK,kBAAkB,WAAW,kBAAkB,OAAO,gBAAgB,OAAO;AAClF,SAAK,mBAAmB,WAAW,mBAAmB,OAAO,iBAAiB,QAAQ;AACtF,SAAK,mBAAmB,WAAW,mBAAmB,OAAO,iBAAiB,QAAQ;AAAA,EAC1F;AAAA,EAEA,IAAI,aAAqB;AACrB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAoB;AACpB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,IAAI,eAAuB;AACvB,WAAO,KAAK,YAAY;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAuB;AACnB,QAAI,KAAK,YAAY,SAAS;AAC1B,YAAM,IAAI;AAAA,QACN,kEAAkE,KAAK,WAAW;AAAA,MACtF;AAAA,IACJ;AACA,UAAM,MAAM,KAAK;AACjB,SAAK,aAAa;AAClB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,oBAA0B;AACtB,QAAI,KAAK,eAAe,WAAW;AAC/B,YAAM,IAAI,cAAc,sCAAsC;AAAA,IAClE;AACA,SAAK,eAAe;AACpB,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,mBAAyB;AACrB,QAAI,KAAK,cAAc,WAAW;AAC9B,YAAM,IAAI,cAAc,qCAAqC;AAAA,IACjE;AACA,SAAK,cAAc;AACnB,SAAK,cAAc,IAAI,iBAAiB;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,eAAe,OAAe,QAAyB;AACnD,QAAI,UAAU,KAAK,YAAY;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,UAAU,GAAG;AACb,aAAO;AAAA,IACX;AACA,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,IAAI,iBAAiB;AAAA,IAC5C;AACA,WAAO,KAAK,YAAY,MAAM,MAAM;AAAA,EACxC;AAAA,EAEA,gBAAuD;AACnD,WAAO,KAAK,SAAS,WACf,EAAE,KAAK,KAAK,iBAAiB,MAAM,KAAK,iBAAiB,IACzD,EAAE,KAAK,KAAK,iBAAiB,MAAM,KAAK,iBAAiB;AAAA,EACnE;AAAA,EAEA,gBAAuD;AACnD,WAAO,KAAK,SAAS,WACf,EAAE,KAAK,KAAK,iBAAiB,MAAM,KAAK,iBAAiB,IACzD,EAAE,KAAK,KAAK,iBAAiB,MAAM,KAAK,iBAAiB;AAAA,EACnE;AAAA,EAEA,SAAS,MAAkB,OAAe,QAA4B;AAClE,QAAI,KAAK,WAAW,UAAU;AAC1B,YAAM,IAAI,cAAc,0CAA0C,QAAQ,eAAe,KAAK,MAAM,EAAE;AAAA,IAC1G;AACA,QAAI,QAAQ,KAAK,QAAQ,WAAW;AAChC,YAAM,IAAI,cAAc,mCAAmC,KAAK,eAAe;AAAA,IACnF;AACA,QAAI,SAAS,MAAM,SAAS,SAAS;AACjC,YAAM,IAAI,cAAc,oCAAoC,MAAM,eAAe;AAAA,IACrF;AACA,UAAM,MAAM,IAAI,WAAW,SAAS;AACpC,QAAI,IAAI,MAAM,CAAC;AACf,QAAI,CAAC,IAAK,UAAU,IAAK;AACzB,QAAI,CAAC,IAAI,QAAQ;AACjB,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,UAAI,IAAI,CAAC,IAAI,OAAQ,UAAU,QAAQ,IAAI,KAAK,CAAC,IAAK,KAAK;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAmB,OAAe,QAAgB,cAAkC;AACvF,QAAI,QAAQ,KAAK,QAAQ,WAAW;AAChC,YAAM,IAAI,cAAc,iCAAiC,KAAK,eAAe;AAAA,IACjF;AACA,QAAI,SAAS,MAAM,SAAS,SAAS;AACjC,YAAM,IAAI,cAAc,kCAAkC,MAAM,eAAe;AAAA,IACnF;AACA,QAAI,eAAe,KAAK,eAAe,OAAQ;AAC3C,YAAM,IAAI,cAAc,wCAAwC,YAAY,eAAe;AAAA,IAC/F;AACA,UAAM,MAAM,IAAI,WAAW,OAAO;AAClC,QAAI,CAAC,IAAK,UAAU,IAAK;AACzB,QAAI,CAAC,IAAI,QAAQ;AACjB,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AACxB,UAAI,IAAI,CAAC,IAAI,OAAQ,UAAU,QAAQ,IAAI,KAAK,CAAC,IAAK,KAAK;AAAA,IAC/D;AACA,QAAI,CAAC,IAAI;AACT,QAAI,CAAC,IAAI,iBAAiB;AAC1B,QAAI,EAAE,IAAI,iBAAiB;AAC3B,QAAI,EAAE,IAAK,iBAAiB,IAAK;AACjC,QAAI,EAAE,IAAI,eAAe;AACzB,WAAO;AAAA,EACX;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MatterError } from "@matter/general";
|
|
7
|
+
import { ContentType } from "./ContentType.js";
|
|
8
|
+
/**
|
|
9
|
+
* DTLS 1.2 protocol version on the wire is `{ major: 0xfe, minor: 0xfd }`,
|
|
10
|
+
* the 1's-complement convention TLS uses (RFC 6347 §4.1).
|
|
11
|
+
*/
|
|
12
|
+
export declare const DTLS_1_2_VERSION: Readonly<{
|
|
13
|
+
major: 254;
|
|
14
|
+
minor: 253;
|
|
15
|
+
}>;
|
|
16
|
+
/** Maximum length of the DTLSCiphertext.fragment field (RFC 6347 §4.1). */
|
|
17
|
+
export declare const DTLS_MAX_FRAGMENT_LEN: number;
|
|
18
|
+
/** 8-byte explicit AEAD nonce + 8-byte CCM-8 tag overhead per RFC 6655 §3. */
|
|
19
|
+
export declare const DTLS_AEAD_OVERHEAD = 16;
|
|
20
|
+
/** Length of the DTLS record header (RFC 6347 §4.1). */
|
|
21
|
+
export declare const DTLS_HEADER_LEN = 13;
|
|
22
|
+
/**
|
|
23
|
+
* Minimal cipher-state surface the record codec needs. The full {@link DtlsCipherState}
|
|
24
|
+
* class implements this and adds key-block bookkeeping; this interface lets the codec
|
|
25
|
+
* accept either the class or a stand-in test double without forcing a circular import.
|
|
26
|
+
*
|
|
27
|
+
* `acceptIncoming`, when present, is invoked after a successful AEAD decrypt to apply
|
|
28
|
+
* the RFC 6347 §4.1.2.6 anti-replay window. Returning `false` causes the codec to throw
|
|
29
|
+
* a {@link DtlsReplayError}.
|
|
30
|
+
*/
|
|
31
|
+
export interface DtlsRecordCipherState {
|
|
32
|
+
/** AES key + 4-byte salt to use for outbound (encrypt) records. */
|
|
33
|
+
encryptParams(): {
|
|
34
|
+
key: Uint8Array;
|
|
35
|
+
salt: Uint8Array;
|
|
36
|
+
};
|
|
37
|
+
/** AES key + 4-byte salt to use for inbound (decrypt) records. */
|
|
38
|
+
decryptParams(): {
|
|
39
|
+
key: Uint8Array;
|
|
40
|
+
salt: Uint8Array;
|
|
41
|
+
};
|
|
42
|
+
/** Build the 12-byte CCM nonce: salt(4) || epoch(2) || seq(6). */
|
|
43
|
+
nonceFor(salt: Uint8Array, epoch: number, seqNum: bigint): Uint8Array;
|
|
44
|
+
/** Build the 13-byte DTLS AAD: epoch||seq(8) || type(1) || version(2) || plaintextLen(2). */
|
|
45
|
+
aadFor(type: ContentType, epoch: number, seqNum: bigint, plaintextLen: number): Uint8Array;
|
|
46
|
+
/** Optional read-side replay-window check; absent on test doubles or pre-handshake states. */
|
|
47
|
+
acceptIncoming?(epoch: number, seqNum: bigint): boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Thrown by {@link DtlsRecord.decode} when a successfully-decrypted record is rejected
|
|
51
|
+
* by the read-side anti-replay window. Distinguishable from AEAD failures so the caller
|
|
52
|
+
* can log/drop without treating the record as a fatal error.
|
|
53
|
+
*/
|
|
54
|
+
export declare class DtlsReplayError extends MatterError {
|
|
55
|
+
readonly epoch: number;
|
|
56
|
+
readonly sequenceNumber: bigint;
|
|
57
|
+
constructor(epoch: number, sequenceNumber: bigint);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Decoded DTLS 1.2 record (RFC 6347 §4.1).
|
|
61
|
+
* `fragment` is always the *plaintext* payload — for epoch=0 records it is the wire bytes
|
|
62
|
+
* verbatim, for epoch>0 records it is the AEAD-decrypted body.
|
|
63
|
+
*/
|
|
64
|
+
export interface DtlsRecord {
|
|
65
|
+
type: ContentType;
|
|
66
|
+
epoch: number;
|
|
67
|
+
sequenceNumber: bigint;
|
|
68
|
+
fragment: Uint8Array;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* DTLS 1.2 record-layer codec.
|
|
72
|
+
*
|
|
73
|
+
* `encode` frames a record as `header(13) || fragment`; for `epoch > 0` the fragment is
|
|
74
|
+
* `explicit_nonce(8) || ciphertext(plaintext_len) || tag(8)` per RFC 6655 §3.
|
|
75
|
+
*
|
|
76
|
+
* `decode` parses one record off the front of the buffer and returns it together with
|
|
77
|
+
* the number of consumed bytes, so a caller can split multiple records concatenated in
|
|
78
|
+
* one UDP datagram. When the supplied state implements {@link DtlsRecordCipherState.acceptIncoming},
|
|
79
|
+
* decode invokes it after AEAD success and throws {@link DtlsReplayError} on rejection.
|
|
80
|
+
*/
|
|
81
|
+
export declare namespace DtlsRecord {
|
|
82
|
+
function encode(record: DtlsRecord, state?: DtlsRecordCipherState): Uint8Array;
|
|
83
|
+
interface DecodeResult {
|
|
84
|
+
record: DtlsRecord;
|
|
85
|
+
consumed: number;
|
|
86
|
+
}
|
|
87
|
+
function decode(bytes: Uint8Array, state?: DtlsRecordCipherState): DecodeResult;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=DtlsRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DtlsRecord.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/DtlsRecord.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAiB,MAAM,kBAAkB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;EAA8C,CAAC;AAE5E,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,QAAU,CAAC;AAE7C,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wDAAwD;AACxD,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC,mEAAmE;IACnE,aAAa,IAAI;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IACvD,kEAAkE;IAClE,aAAa,IAAI;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IACvD,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IACtE,6FAA6F;IAC7F,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC;IAC3F,8FAA8F;IAC9F,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3D;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,YAAY,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAKhD;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;CACxB;AAkCD;;;;;;;;;;GAUG;AACH,yBAAiB,UAAU,CAAC,CAAC;IACzB,SAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAmDpF;IAED,UAAiB,YAAY;QACzB,MAAM,EAAE,UAAU,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KACpB;IAED,SAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,qBAAqB,GAAG,YAAY,CAoErF;CACJ"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { InternalError, MatterError } from "@matter/general";
|
|
7
|
+
import { DtlsError } from "../channel/DtlsChannel.js";
|
|
8
|
+
import { AesCcm8 } from "./AesCcm8.js";
|
|
9
|
+
import { isContentType } from "./ContentType.js";
|
|
10
|
+
const DTLS_1_2_VERSION = Object.freeze({ major: 254, minor: 253 });
|
|
11
|
+
const DTLS_MAX_FRAGMENT_LEN = 1 << 14;
|
|
12
|
+
const DTLS_AEAD_OVERHEAD = 16;
|
|
13
|
+
const DTLS_HEADER_LEN = 13;
|
|
14
|
+
class DtlsReplayError extends MatterError {
|
|
15
|
+
epoch;
|
|
16
|
+
sequenceNumber;
|
|
17
|
+
constructor(epoch, sequenceNumber) {
|
|
18
|
+
super(`DTLS replay or wrong-epoch record at epoch=${epoch} seq=${sequenceNumber}`);
|
|
19
|
+
this.name = "DtlsReplayError";
|
|
20
|
+
this.epoch = epoch;
|
|
21
|
+
this.sequenceNumber = sequenceNumber;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const MAX_EPOCH = 65535;
|
|
25
|
+
const MAX_SEQ = (1n << 48n) - 1n;
|
|
26
|
+
function writeUint16BE(buf, offset, value) {
|
|
27
|
+
buf[offset] = value >>> 8 & 255;
|
|
28
|
+
buf[offset + 1] = value & 255;
|
|
29
|
+
}
|
|
30
|
+
function readUint16BE(buf, offset) {
|
|
31
|
+
return buf[offset] << 8 | buf[offset + 1];
|
|
32
|
+
}
|
|
33
|
+
function writeUint48BE(buf, offset, value) {
|
|
34
|
+
if (value < 0n || value > MAX_SEQ) {
|
|
35
|
+
throw new InternalError(`DTLS sequence_number out of range: ${value}`);
|
|
36
|
+
}
|
|
37
|
+
buf[offset] = Number(value >> 40n & 0xffn);
|
|
38
|
+
buf[offset + 1] = Number(value >> 32n & 0xffn);
|
|
39
|
+
buf[offset + 2] = Number(value >> 24n & 0xffn);
|
|
40
|
+
buf[offset + 3] = Number(value >> 16n & 0xffn);
|
|
41
|
+
buf[offset + 4] = Number(value >> 8n & 0xffn);
|
|
42
|
+
buf[offset + 5] = Number(value & 0xffn);
|
|
43
|
+
}
|
|
44
|
+
function readUint48BE(buf, offset) {
|
|
45
|
+
let v = 0n;
|
|
46
|
+
for (let i = 0; i < 6; i++) {
|
|
47
|
+
v = v << 8n | BigInt(buf[offset + i]);
|
|
48
|
+
}
|
|
49
|
+
return v;
|
|
50
|
+
}
|
|
51
|
+
var DtlsRecord;
|
|
52
|
+
((DtlsRecord2) => {
|
|
53
|
+
function encode(record, state) {
|
|
54
|
+
if (record.epoch < 0 || record.epoch > MAX_EPOCH) {
|
|
55
|
+
throw new InternalError(`DTLS epoch out of range: ${record.epoch}`);
|
|
56
|
+
}
|
|
57
|
+
if (record.sequenceNumber < 0n || record.sequenceNumber > MAX_SEQ) {
|
|
58
|
+
throw new InternalError(`DTLS sequence_number out of range: ${record.sequenceNumber}`);
|
|
59
|
+
}
|
|
60
|
+
if (!isContentType(record.type)) {
|
|
61
|
+
throw new InternalError(`DTLS unknown ContentType: ${record.type}`);
|
|
62
|
+
}
|
|
63
|
+
let fragment;
|
|
64
|
+
if (record.epoch === 0) {
|
|
65
|
+
if (record.fragment.length > DTLS_MAX_FRAGMENT_LEN) {
|
|
66
|
+
throw new InternalError(
|
|
67
|
+
`DTLS plaintext fragment too large: ${record.fragment.length} > ${DTLS_MAX_FRAGMENT_LEN}`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
fragment = record.fragment;
|
|
71
|
+
} else {
|
|
72
|
+
if (state === void 0) {
|
|
73
|
+
throw new InternalError(`DTLS encode at epoch ${record.epoch} requires cipher state`);
|
|
74
|
+
}
|
|
75
|
+
const plaintextLen = record.fragment.length;
|
|
76
|
+
if (plaintextLen + DTLS_AEAD_OVERHEAD > DTLS_MAX_FRAGMENT_LEN) {
|
|
77
|
+
throw new InternalError(
|
|
78
|
+
`DTLS encrypted fragment too large: ${plaintextLen + DTLS_AEAD_OVERHEAD} > ${DTLS_MAX_FRAGMENT_LEN}`
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
const { key, salt } = state.encryptParams();
|
|
82
|
+
const nonce = state.nonceFor(salt, record.epoch, record.sequenceNumber);
|
|
83
|
+
const aad = state.aadFor(record.type, record.epoch, record.sequenceNumber, plaintextLen);
|
|
84
|
+
const cipherWithTag = AesCcm8.encrypt({ key, nonce, aad, plaintext: record.fragment });
|
|
85
|
+
fragment = new Uint8Array(8 + cipherWithTag.length);
|
|
86
|
+
fragment[0] = record.epoch >>> 8 & 255;
|
|
87
|
+
fragment[1] = record.epoch & 255;
|
|
88
|
+
writeUint48BE(fragment, 2, record.sequenceNumber);
|
|
89
|
+
fragment.set(cipherWithTag, 8);
|
|
90
|
+
}
|
|
91
|
+
const out = new Uint8Array(DTLS_HEADER_LEN + fragment.length);
|
|
92
|
+
out[0] = record.type;
|
|
93
|
+
out[1] = DTLS_1_2_VERSION.major;
|
|
94
|
+
out[2] = DTLS_1_2_VERSION.minor;
|
|
95
|
+
writeUint16BE(out, 3, record.epoch);
|
|
96
|
+
writeUint48BE(out, 5, record.sequenceNumber);
|
|
97
|
+
writeUint16BE(out, 11, fragment.length);
|
|
98
|
+
out.set(fragment, DTLS_HEADER_LEN);
|
|
99
|
+
return out;
|
|
100
|
+
}
|
|
101
|
+
DtlsRecord2.encode = encode;
|
|
102
|
+
function decode(bytes, state) {
|
|
103
|
+
if (bytes.length < DTLS_HEADER_LEN) {
|
|
104
|
+
throw new DtlsError(`DTLS record header truncated: have ${bytes.length}, need ${DTLS_HEADER_LEN}`);
|
|
105
|
+
}
|
|
106
|
+
const type = bytes[0];
|
|
107
|
+
if (!isContentType(type)) {
|
|
108
|
+
throw new DtlsError(`DTLS unknown ContentType: ${type}`);
|
|
109
|
+
}
|
|
110
|
+
const major = bytes[1];
|
|
111
|
+
const minor = bytes[2];
|
|
112
|
+
if (major !== DTLS_1_2_VERSION.major || minor !== DTLS_1_2_VERSION.minor) {
|
|
113
|
+
throw new DtlsError(
|
|
114
|
+
`DTLS unsupported version ${major.toString(16)}.${minor.toString(16)}; only DTLS 1.2 is supported`
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
const epoch = readUint16BE(bytes, 3);
|
|
118
|
+
const sequenceNumber = readUint48BE(bytes, 5);
|
|
119
|
+
const length = readUint16BE(bytes, 11);
|
|
120
|
+
if (length > DTLS_MAX_FRAGMENT_LEN) {
|
|
121
|
+
throw new DtlsError(`DTLS fragment length ${length} exceeds limit ${DTLS_MAX_FRAGMENT_LEN}`);
|
|
122
|
+
}
|
|
123
|
+
const total = DTLS_HEADER_LEN + length;
|
|
124
|
+
if (bytes.length < total) {
|
|
125
|
+
throw new DtlsError(`DTLS record truncated: header says ${length}, have ${bytes.length - DTLS_HEADER_LEN}`);
|
|
126
|
+
}
|
|
127
|
+
let fragment;
|
|
128
|
+
if (epoch === 0) {
|
|
129
|
+
fragment = bytes.slice(DTLS_HEADER_LEN, total);
|
|
130
|
+
} else {
|
|
131
|
+
if (state === void 0) {
|
|
132
|
+
throw new InternalError(`DTLS decode at epoch ${epoch} requires cipher state`);
|
|
133
|
+
}
|
|
134
|
+
if (length < DTLS_AEAD_OVERHEAD) {
|
|
135
|
+
throw new DtlsError(
|
|
136
|
+
`DTLS encrypted fragment ${length} bytes < ${DTLS_AEAD_OVERHEAD}-byte AEAD overhead`
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
const explicitNonce = bytes.subarray(DTLS_HEADER_LEN, DTLS_HEADER_LEN + 8);
|
|
140
|
+
const cipherWithTag = bytes.subarray(DTLS_HEADER_LEN + 8, total);
|
|
141
|
+
const plaintextLen = cipherWithTag.length - 8;
|
|
142
|
+
const { key, salt } = state.decryptParams();
|
|
143
|
+
const wireEpoch = explicitNonce[0] << 8 | explicitNonce[1];
|
|
144
|
+
let wireSeq = 0n;
|
|
145
|
+
for (let i = 2; i < 8; i++) {
|
|
146
|
+
wireSeq = wireSeq << 8n | BigInt(explicitNonce[i]);
|
|
147
|
+
}
|
|
148
|
+
if (wireEpoch !== epoch || wireSeq !== sequenceNumber) {
|
|
149
|
+
throw new DtlsError(
|
|
150
|
+
`DTLS explicit nonce ${wireEpoch}/${wireSeq} disagrees with header ${epoch}/${sequenceNumber}`
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
const nonce = state.nonceFor(salt, epoch, sequenceNumber);
|
|
154
|
+
const aad = state.aadFor(type, epoch, sequenceNumber, plaintextLen);
|
|
155
|
+
fragment = AesCcm8.decrypt({ key, nonce, aad, ciphertextWithTag: cipherWithTag });
|
|
156
|
+
if (state.acceptIncoming !== void 0 && !state.acceptIncoming(epoch, sequenceNumber)) {
|
|
157
|
+
throw new DtlsReplayError(epoch, sequenceNumber);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
record: { type, epoch, sequenceNumber, fragment },
|
|
162
|
+
consumed: total
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
DtlsRecord2.decode = decode;
|
|
166
|
+
})(DtlsRecord || (DtlsRecord = {}));
|
|
167
|
+
export {
|
|
168
|
+
DTLS_1_2_VERSION,
|
|
169
|
+
DTLS_AEAD_OVERHEAD,
|
|
170
|
+
DTLS_HEADER_LEN,
|
|
171
|
+
DTLS_MAX_FRAGMENT_LEN,
|
|
172
|
+
DtlsRecord,
|
|
173
|
+
DtlsReplayError
|
|
174
|
+
};
|
|
175
|
+
//# sourceMappingURL=DtlsRecord.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/dtls/record/DtlsRecord.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["DtlsRecord"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* DTLS 1.2 record layer for `TLS_ECJPAKE_WITH_AES_128_CCM_8`. Internal to `dtls/`;
|
|
8
|
+
* not re-exported from the package public API surface until the {@link DtlsChannel}
|
|
9
|
+
* interface ships in sub-batch 5.
|
|
10
|
+
*/
|
|
11
|
+
export { AntiReplayWindow } from "./AntiReplayWindow.js";
|
|
12
|
+
export { ContentType, isContentType } from "./ContentType.js";
|
|
13
|
+
export { DtlsCipherState, type DtlsCipherStateInputs } from "./DtlsCipherState.js";
|
|
14
|
+
export { DTLS_1_2_VERSION, DTLS_AEAD_OVERHEAD, DTLS_HEADER_LEN, DTLS_MAX_FRAGMENT_LEN, DtlsRecord, DtlsReplayError, type DtlsRecordCipherState, } from "./DtlsRecord.js";
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dtls/record/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,KAAK,qBAAqB,GAC7B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AntiReplayWindow } from "./AntiReplayWindow.js";
|
|
7
|
+
import { ContentType, isContentType } from "./ContentType.js";
|
|
8
|
+
import { DtlsCipherState } from "./DtlsCipherState.js";
|
|
9
|
+
import {
|
|
10
|
+
DTLS_1_2_VERSION,
|
|
11
|
+
DTLS_AEAD_OVERHEAD,
|
|
12
|
+
DTLS_HEADER_LEN,
|
|
13
|
+
DTLS_MAX_FRAGMENT_LEN,
|
|
14
|
+
DtlsRecord,
|
|
15
|
+
DtlsReplayError
|
|
16
|
+
} from "./DtlsRecord.js";
|
|
17
|
+
export {
|
|
18
|
+
AntiReplayWindow,
|
|
19
|
+
ContentType,
|
|
20
|
+
DTLS_1_2_VERSION,
|
|
21
|
+
DTLS_AEAD_OVERHEAD,
|
|
22
|
+
DTLS_HEADER_LEN,
|
|
23
|
+
DTLS_MAX_FRAGMENT_LEN,
|
|
24
|
+
DtlsCipherState,
|
|
25
|
+
DtlsRecord,
|
|
26
|
+
DtlsReplayError,
|
|
27
|
+
isContentType
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* `@matter/thread-br-client` — Thread Border Router discovery, dataset codec, and
|
|
8
|
+
* read-only network diagnostics (MeshCoP/CoAP over DTLS-EC-JPAKE, and OTBR REST).
|
|
9
|
+
* See the package README for a consumer getting-started.
|
|
10
|
+
*/
|
|
11
|
+
export { BorderRouterRegistry } from "./discovery/index.js";
|
|
12
|
+
export type { BorderRouterEntry } from "./discovery/index.js";
|
|
13
|
+
export { MeshCopTlvType, MeshCopTlvTypeName, OperationalDataset, SecurityPolicy, ThreadDatasetError, } from "./dataset/index.js";
|
|
14
|
+
export { ThreadCredentialsRegistry } from "./credentials/index.js";
|
|
15
|
+
export type { ThreadNetworkCredentials } from "./credentials/index.js";
|
|
16
|
+
export { ThreadTlvError } from "./tlv/BasicTlvCodec.js";
|
|
17
|
+
export { NetworkDiagTlvType, NetworkDiagTlvTypeName } from "./tlv/networkDiagTlvTypes.js";
|
|
18
|
+
export { ALL_THREAD_NODES_REALM_LOCAL, ALL_THREAD_ROUTERS_REALM_LOCAL, deriveMeshLocalAddress, formatIp6, } from "./util/meshLocalAddr.js";
|
|
19
|
+
export { DefaultTlvSet, MeshCopDiagnosticSource, ThreadDiagError, connectMeshcop } from "./diagnostic/index.js";
|
|
20
|
+
export type { ConnectMeshcopOpts, DiagnosticResponse, DiagnosticSource, EnergyScanEntry, EnergyScanOpts, MeshcopHandle, PanIdConflict, PanIdQueryOpts, QueryMulticastHandle, QueryMulticastOptions, } from "./diagnostic/index.js";
|
|
21
|
+
export type { ChildTableEntry, Connectivity, LeaderData, MacCounters, MleCounters, Mode, ParentPriority, Route64, Route64Entry, } from "./tlv/diag/index.js";
|
|
22
|
+
export { Pskc } from "./crypto/index.js";
|
|
23
|
+
export { DtlsError, connectDtls } from "./dtls/channel/index.js";
|
|
24
|
+
export type { DtlsChannel, DtlsConnectOpts } from "./dtls/channel/index.js";
|
|
25
|
+
export { Commissioner, CommissionerKeepAliveError, CommissionerProtocolError, CommissionerRejectedError, CommissionerTimeoutError, } from "./commissioner/index.js";
|
|
26
|
+
export type { CommissionerOpts } from "./commissioner/index.js";
|
|
27
|
+
export { CoapTimeoutError } from "./coap/index.js";
|
|
28
|
+
export { OtbrRestClient, OtbrRestDiagnosticSource, OtbrRestError, OtbrRestProbe } from "./otbr-rest/index.js";
|
|
29
|
+
export type { OtbrDatasetHex, OtbrJoiner, OtbrLeaderData, OtbrNodeInfo, OtbrRestCapability, OtbrRestClientOptions, OtbrRestErrorCode, OtbrRestErrorOptions, } from "./otbr-rest/index.js";
|
|
30
|
+
export { ExtPanIdLockManager, decodeStateBitmap, rankBrs, selectBr, selectSource } from "./selection/index.js";
|
|
31
|
+
export type { DecodedStateBitmap, SelectSourceOpts } from "./selection/index.js";
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EACH,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE1F,OAAO,EACH,4BAA4B,EAC5B,8BAA8B,EAC9B,sBAAsB,EACtB,SAAS,GACZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAChH,YAAY,EACR,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,qBAAqB,GACxB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACR,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,IAAI,EACJ,cAAc,EACd,OAAO,EACP,YAAY,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EACH,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9G,YAAY,EACR,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/G,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BorderRouterRegistry } from "./discovery/index.js";
|
|
7
|
+
import {
|
|
8
|
+
MeshCopTlvType,
|
|
9
|
+
MeshCopTlvTypeName,
|
|
10
|
+
OperationalDataset,
|
|
11
|
+
SecurityPolicy,
|
|
12
|
+
ThreadDatasetError
|
|
13
|
+
} from "./dataset/index.js";
|
|
14
|
+
import { ThreadCredentialsRegistry } from "./credentials/index.js";
|
|
15
|
+
import { ThreadTlvError } from "./tlv/BasicTlvCodec.js";
|
|
16
|
+
import { NetworkDiagTlvType, NetworkDiagTlvTypeName } from "./tlv/networkDiagTlvTypes.js";
|
|
17
|
+
import {
|
|
18
|
+
ALL_THREAD_NODES_REALM_LOCAL,
|
|
19
|
+
ALL_THREAD_ROUTERS_REALM_LOCAL,
|
|
20
|
+
deriveMeshLocalAddress,
|
|
21
|
+
formatIp6
|
|
22
|
+
} from "./util/meshLocalAddr.js";
|
|
23
|
+
import { DefaultTlvSet, MeshCopDiagnosticSource, ThreadDiagError, connectMeshcop } from "./diagnostic/index.js";
|
|
24
|
+
import { Pskc } from "./crypto/index.js";
|
|
25
|
+
import { DtlsError, connectDtls } from "./dtls/channel/index.js";
|
|
26
|
+
import {
|
|
27
|
+
Commissioner,
|
|
28
|
+
CommissionerKeepAliveError,
|
|
29
|
+
CommissionerProtocolError,
|
|
30
|
+
CommissionerRejectedError,
|
|
31
|
+
CommissionerTimeoutError
|
|
32
|
+
} from "./commissioner/index.js";
|
|
33
|
+
import { CoapTimeoutError } from "./coap/index.js";
|
|
34
|
+
import { OtbrRestClient, OtbrRestDiagnosticSource, OtbrRestError, OtbrRestProbe } from "./otbr-rest/index.js";
|
|
35
|
+
import { ExtPanIdLockManager, decodeStateBitmap, rankBrs, selectBr, selectSource } from "./selection/index.js";
|
|
36
|
+
export {
|
|
37
|
+
ALL_THREAD_NODES_REALM_LOCAL,
|
|
38
|
+
ALL_THREAD_ROUTERS_REALM_LOCAL,
|
|
39
|
+
BorderRouterRegistry,
|
|
40
|
+
CoapTimeoutError,
|
|
41
|
+
Commissioner,
|
|
42
|
+
CommissionerKeepAliveError,
|
|
43
|
+
CommissionerProtocolError,
|
|
44
|
+
CommissionerRejectedError,
|
|
45
|
+
CommissionerTimeoutError,
|
|
46
|
+
DefaultTlvSet,
|
|
47
|
+
DtlsError,
|
|
48
|
+
ExtPanIdLockManager,
|
|
49
|
+
MeshCopDiagnosticSource,
|
|
50
|
+
MeshCopTlvType,
|
|
51
|
+
MeshCopTlvTypeName,
|
|
52
|
+
NetworkDiagTlvType,
|
|
53
|
+
NetworkDiagTlvTypeName,
|
|
54
|
+
OperationalDataset,
|
|
55
|
+
OtbrRestClient,
|
|
56
|
+
OtbrRestDiagnosticSource,
|
|
57
|
+
OtbrRestError,
|
|
58
|
+
OtbrRestProbe,
|
|
59
|
+
Pskc,
|
|
60
|
+
SecurityPolicy,
|
|
61
|
+
ThreadCredentialsRegistry,
|
|
62
|
+
ThreadDatasetError,
|
|
63
|
+
ThreadDiagError,
|
|
64
|
+
ThreadTlvError,
|
|
65
|
+
connectDtls,
|
|
66
|
+
connectMeshcop,
|
|
67
|
+
decodeStateBitmap,
|
|
68
|
+
deriveMeshLocalAddress,
|
|
69
|
+
formatIp6,
|
|
70
|
+
rankBrs,
|
|
71
|
+
selectBr,
|
|
72
|
+
selectSource
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,SAAS,4BAA4B;AAGrC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAS,iCAAiC;AAG1C,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB,8BAA8B;AAE3D;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAGP,SAAS,eAAe,yBAAyB,iBAAiB,sBAAsB;AA2BxF,SAAS,YAAY;AAErB,SAAS,WAAW,mBAAmB;AAGvC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAGP,SAAS,wBAAwB;AAEjC,SAAS,gBAAgB,0BAA0B,eAAe,qBAAqB;AAYvF,SAAS,qBAAqB,mBAAmB,SAAS,UAAU,oBAAoB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Snapshot of an OTBR REST endpoint as observed by {@link OtbrRestProbe}.
|
|
8
|
+
*
|
|
9
|
+
* `keyFormat` reflects the case convention the BR's REST surface uses on the
|
|
10
|
+
* wire (older OTBR builds = pascal, post-2024 builds = camel). The probe
|
|
11
|
+
* detects this from the presence/absence of `/api/actions` — see
|
|
12
|
+
* python-otbr-api `_async_detect_case`.
|
|
13
|
+
*/
|
|
14
|
+
export interface OtbrRestCapability {
|
|
15
|
+
baseUrl: string;
|
|
16
|
+
keyFormat: "camel" | "pascal";
|
|
17
|
+
apiVersion?: string;
|
|
18
|
+
probedAt: number;
|
|
19
|
+
networkName: string;
|
|
20
|
+
extPanId: Uint8Array;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=OtbrRestCapability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OtbrRestCapability.d.ts","sourceRoot":"","sources":["../../../src/otbr-rest/OtbrRestCapability.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;CACxB"}
|