@project-chip/matter.js 0.2.1 → 0.3.0
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 +58 -12
- package/dist/cjs/MatterController.d.ts +46 -0
- package/dist/cjs/MatterController.d.ts.map +1 -0
- package/dist/cjs/MatterController.js +211 -0
- package/dist/cjs/MatterDevice.d.ts +64 -0
- package/dist/cjs/MatterDevice.d.ts.map +1 -0
- package/dist/cjs/MatterDevice.js +198 -0
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts +28 -0
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/AttestationCertificateManager.js +146 -0
- package/dist/cjs/certificate/CertificateManager.d.ts +202 -0
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/CertificateManager.js +344 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +5 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.js +30 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts +9 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/cjs/certificate/ChipPAAuthorities.js +20 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts +20 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/RootCertificateManager.js +98 -0
- package/dist/cjs/certificate/index.d.ts +11 -0
- package/dist/cjs/certificate/index.d.ts.map +1 -0
- package/dist/cjs/certificate/index.js +26 -0
- package/dist/{dts → cjs}/cluster/AccessControlCluster.d.ts +19 -14
- package/dist/cjs/cluster/AccessControlCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/AccessControlCluster.js +11 -11
- package/dist/cjs/cluster/ActionsCluster.d.ts +206 -0
- package/dist/cjs/cluster/ActionsCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/ActionsCluster.js +225 -0
- package/dist/cjs/cluster/AdminCommissioningCluster.d.ts +63 -0
- package/dist/cjs/cluster/AdminCommissioningCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/AdminCommissioningCluster.js +69 -0
- package/dist/{dts → cjs}/cluster/BasicInformationCluster.d.ts +10 -5
- package/dist/cjs/cluster/BasicInformationCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/BasicInformationCluster.js +10 -10
- package/dist/cjs/cluster/BindingCluster.d.ts +28 -0
- package/dist/cjs/cluster/BindingCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/BindingCluster.js +6 -6
- package/dist/cjs/cluster/BooleanStateCluster.d.ts +26 -0
- package/dist/cjs/cluster/BooleanStateCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/BooleanStateCluster.js +34 -0
- package/dist/{dts → cjs}/cluster/BridgedDeviceBasicInformationCluster.d.ts +10 -5
- package/dist/cjs/cluster/BridgedDeviceBasicInformationCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/BridgedDeviceBasicInformationCluster.js +8 -8
- package/dist/{dts → cjs}/cluster/Cluster.d.ts +25 -10
- package/dist/cjs/cluster/Cluster.d.ts.map +1 -0
- package/dist/cjs/cluster/Cluster.js +17 -13
- package/dist/cjs/cluster/ClusterHelper.d.ts +1083 -0
- package/dist/cjs/cluster/ClusterHelper.d.ts.map +1 -0
- package/dist/cjs/cluster/ClusterHelper.js +86 -0
- package/dist/cjs/cluster/DescriptorCluster.d.ts +30 -0
- package/dist/cjs/cluster/DescriptorCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/DescriptorCluster.js +5 -5
- package/dist/cjs/cluster/FlowMeasurementCluster.d.ts +24 -0
- package/dist/cjs/cluster/FlowMeasurementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/FlowMeasurementCluster.js +31 -0
- package/dist/{dts → cjs}/cluster/GeneralCommissioningCluster.d.ts +12 -7
- package/dist/cjs/cluster/GeneralCommissioningCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/GeneralCommissioningCluster.js +7 -6
- package/dist/cjs/cluster/GeneralDiagnosticsCluster.d.ts +116 -0
- package/dist/cjs/cluster/GeneralDiagnosticsCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/GeneralDiagnosticsCluster.js +129 -0
- package/dist/cjs/cluster/GroupKeyManagementCluster.d.ts +91 -0
- package/dist/cjs/cluster/GroupKeyManagementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/GroupKeyManagementCluster.js +98 -0
- package/dist/{dts → cjs}/cluster/GroupsCluster.d.ts +18 -23
- package/dist/cjs/cluster/GroupsCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/GroupsCluster.js +5 -22
- package/dist/{dts → cjs}/cluster/IdentifyCluster.d.ts +13 -6
- package/dist/cjs/cluster/IdentifyCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/IdentifyCluster.js +12 -6
- package/dist/cjs/cluster/IlluminanceMeasurementCluster.d.ts +25 -0
- package/dist/cjs/cluster/IlluminanceMeasurementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/IlluminanceMeasurementCluster.js +33 -0
- package/dist/cjs/cluster/LabelCluster.d.ts +43 -0
- package/dist/cjs/cluster/LabelCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/LabelCluster.js +5 -5
- package/dist/cjs/cluster/LevelControlCluster.d.ts +379 -0
- package/dist/cjs/cluster/LevelControlCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/LevelControlCluster.js +138 -0
- package/dist/cjs/cluster/NetworkCommissioningCluster.d.ts +170 -0
- package/dist/cjs/cluster/NetworkCommissioningCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/NetworkCommissioningCluster.js +178 -0
- package/dist/cjs/cluster/OccupancySensingCluster.d.ts +56 -0
- package/dist/cjs/cluster/OccupancySensingCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/OccupancySensingCluster.js +62 -0
- package/dist/{dts → cjs}/cluster/OnOffCluster.d.ts +10 -5
- package/dist/cjs/cluster/OnOffCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/OnOffCluster.js +45 -23
- package/dist/{dts → cjs}/cluster/OperationalCredentialsCluster.d.ts +44 -29
- package/dist/cjs/cluster/OperationalCredentialsCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/OperationalCredentialsCluster.js +70 -56
- package/dist/cjs/cluster/PowerSourceCluster.d.ts +301 -0
- package/dist/cjs/cluster/PowerSourceCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/PowerSourceCluster.js +132 -0
- package/dist/cjs/cluster/PowerSourceConfigurationCluster.d.ts +26 -0
- package/dist/cjs/cluster/PowerSourceConfigurationCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/PowerSourceConfigurationCluster.js +31 -0
- package/dist/cjs/cluster/PressureMeasurementCluster.d.ts +36 -0
- package/dist/cjs/cluster/PressureMeasurementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/PressureMeasurementCluster.js +64 -0
- package/dist/{dts → cjs}/cluster/ScenesCluster.d.ts +46 -41
- package/dist/cjs/cluster/ScenesCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/ScenesCluster.js +9 -9
- package/dist/cjs/cluster/TemperatureMeasurementCluster.d.ts +24 -0
- package/dist/cjs/cluster/TemperatureMeasurementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/TemperatureMeasurementCluster.js +31 -0
- package/dist/cjs/cluster/WaterContentMeasurementCluster.d.ts +58 -0
- package/dist/cjs/cluster/WaterContentMeasurementCluster.d.ts.map +1 -0
- package/dist/cjs/cluster/WaterContentMeasurementCluster.js +58 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts +28 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/ClusterClient.js +2 -0
- package/dist/cjs/cluster/index.d.ts +46 -0
- package/dist/cjs/cluster/index.d.ts.map +1 -0
- package/dist/cjs/cluster/index.js +66 -0
- package/dist/cjs/cluster/server/AdminCommissioningServer.d.ts +10 -0
- package/dist/cjs/cluster/server/AdminCommissioningServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/AdminCommissioningServer.js +39 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts +43 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/AttributeServer.js +81 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts +62 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/ClusterServer.js +19 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts +25 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/CommandServer.js +39 -0
- package/dist/cjs/cluster/server/GeneralCommissioningServer.d.ts +9 -0
- package/dist/cjs/cluster/server/GeneralCommissioningServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/GeneralCommissioningServer.js +69 -0
- package/dist/cjs/cluster/server/GroupsServer.d.ts +9 -0
- package/dist/cjs/cluster/server/GroupsServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/GroupsServer.js +149 -0
- package/dist/cjs/cluster/server/LevelControlServer.d.ts +9 -0
- package/dist/cjs/cluster/server/LevelControlServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/LevelControlServer.js +58 -0
- package/dist/cjs/cluster/server/NetworkCommissioningServer.d.ts +9 -0
- package/dist/cjs/cluster/server/NetworkCommissioningServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/NetworkCommissioningServer.js +40 -0
- package/dist/cjs/cluster/server/OnOffServer.d.ts +9 -0
- package/dist/cjs/cluster/server/OnOffServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/OnOffServer.js +47 -0
- package/dist/cjs/cluster/server/OperationalCredentialsServer.d.ts +16 -0
- package/dist/cjs/cluster/server/OperationalCredentialsServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/OperationalCredentialsServer.js +107 -0
- package/dist/cjs/codec/DerCodec.d.ts +82 -0
- package/dist/cjs/codec/DerCodec.d.ts.map +1 -0
- package/dist/cjs/codec/DerCodec.js +176 -0
- package/dist/cjs/codec/DnsCodec.d.ts +71 -0
- package/dist/cjs/codec/DnsCodec.d.ts.map +1 -0
- package/dist/cjs/codec/DnsCodec.js +249 -0
- package/dist/cjs/codec/MessageCodec.d.ts +48 -0
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -0
- package/dist/cjs/codec/MessageCodec.js +117 -0
- package/dist/cjs/codec/index.d.ts +9 -0
- package/dist/cjs/codec/index.d.ts.map +1 -0
- package/dist/cjs/codec/index.js +24 -0
- package/dist/cjs/common/Broadcaster.d.ts +14 -0
- package/dist/cjs/common/Broadcaster.d.ts.map +1 -0
- package/dist/cjs/common/Broadcaster.js +7 -0
- package/dist/cjs/common/DeviceTypes.d.ts +73 -0
- package/dist/cjs/common/DeviceTypes.d.ts.map +1 -0
- package/dist/cjs/common/DeviceTypes.js +998 -0
- package/dist/cjs/common/MatterError.d.ts +9 -0
- package/dist/cjs/common/MatterError.d.ts.map +1 -0
- package/dist/cjs/common/MatterError.js +12 -0
- package/dist/cjs/common/Scanner.d.ts +16 -0
- package/dist/cjs/common/Scanner.d.ts.map +1 -0
- package/dist/cjs/common/Scanner.js +7 -0
- package/dist/cjs/common/TryCatchHandler.d.ts +29 -0
- package/dist/cjs/common/TryCatchHandler.d.ts.map +1 -0
- package/dist/cjs/common/TryCatchHandler.js +66 -0
- package/dist/cjs/common/index.d.ts +11 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +26 -0
- package/dist/cjs/crypto/Crypto.d.ts +69 -0
- package/dist/cjs/crypto/Crypto.d.ts.map +1 -0
- package/dist/cjs/crypto/Crypto.js +50 -0
- package/dist/cjs/crypto/CryptoConstants.d.ts +19 -0
- package/dist/cjs/crypto/CryptoConstants.d.ts.map +1 -0
- package/dist/cjs/crypto/CryptoConstants.js +21 -0
- package/dist/cjs/crypto/Spake2p.d.ts +42 -0
- package/dist/cjs/crypto/Spake2p.d.ts.map +1 -0
- package/dist/cjs/crypto/Spake2p.js +119 -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 +24 -0
- package/dist/{dts/common → cjs/datatype}/AttributeId.d.ts +2 -1
- package/dist/cjs/datatype/AttributeId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/AttributeId.js +1 -1
- package/dist/{dts/common → cjs/datatype}/ClusterId.d.ts +2 -1
- package/dist/cjs/datatype/ClusterId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/ClusterId.js +1 -1
- package/dist/cjs/datatype/CommandId.d.ts +18 -0
- package/dist/cjs/datatype/CommandId.d.ts.map +1 -0
- package/dist/cjs/datatype/CommandId.js +23 -0
- package/dist/{dts/common → cjs/datatype}/DeviceTypeId.d.ts +2 -1
- package/dist/cjs/datatype/DeviceTypeId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/DeviceTypeId.js +1 -1
- package/dist/{dts/common → cjs/datatype}/EndpointNumber.d.ts +2 -1
- package/dist/cjs/datatype/EndpointNumber.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/EndpointNumber.js +1 -1
- package/dist/cjs/datatype/EventId.d.ts +18 -0
- package/dist/cjs/datatype/EventId.d.ts.map +1 -0
- package/dist/cjs/datatype/EventId.js +23 -0
- package/dist/{dts/common → cjs/datatype}/FabricId.d.ts +2 -1
- package/dist/cjs/datatype/FabricId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/FabricId.js +1 -1
- package/dist/{dts/common → cjs/datatype}/FabricIndex.d.ts +3 -1
- package/dist/cjs/datatype/FabricIndex.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/FabricIndex.js +3 -2
- package/dist/{dts/common → cjs/datatype}/GroupId.d.ts +2 -1
- package/dist/cjs/datatype/GroupId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/GroupId.js +1 -1
- package/dist/{dts/common → cjs/datatype}/NodeId.d.ts +4 -1
- package/dist/cjs/datatype/NodeId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/NodeId.js +19 -2
- package/dist/{dts/common → cjs/datatype}/SubjectId.d.ts +3 -2
- package/dist/cjs/datatype/SubjectId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/SubjectId.js +1 -1
- package/dist/{dts/common → cjs/datatype}/VendorId.d.ts +2 -1
- package/dist/cjs/datatype/VendorId.d.ts.map +1 -0
- package/dist/cjs/{common → datatype}/VendorId.js +1 -1
- package/dist/cjs/datatype/index.d.ts +18 -0
- package/dist/cjs/datatype/index.d.ts.map +1 -0
- package/dist/cjs/datatype/index.js +34 -0
- package/dist/cjs/fabric/Fabric.d.ts +95 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -0
- package/dist/cjs/fabric/Fabric.js +210 -0
- package/dist/cjs/fabric/FabricManager.d.ts +30 -0
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -0
- package/dist/cjs/fabric/FabricManager.js +85 -0
- package/dist/cjs/fabric/index.d.ts +8 -0
- package/dist/cjs/fabric/index.d.ts.map +1 -0
- package/dist/cjs/fabric/index.js +23 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +29 -0
- package/dist/cjs/log/Logger.d.ts +45 -0
- package/dist/cjs/log/Logger.d.ts.map +1 -0
- package/dist/cjs/log/Logger.js +115 -0
- package/dist/cjs/log/index.d.ts +7 -0
- package/dist/cjs/log/index.d.ts.map +1 -0
- package/dist/cjs/log/index.js +22 -0
- package/dist/cjs/math/ReedSolomon.d.ts +12 -0
- package/dist/cjs/math/ReedSolomon.d.ts.map +1 -0
- package/dist/cjs/math/ReedSolomon.js +96 -0
- package/dist/cjs/math/Verhoeff.d.ts +17 -0
- package/dist/cjs/math/Verhoeff.d.ts.map +1 -0
- package/dist/cjs/math/Verhoeff.js +51 -0
- package/dist/cjs/math/index.d.ts +8 -0
- package/dist/cjs/math/index.d.ts.map +1 -0
- package/dist/cjs/math/index.js +23 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +21 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsBroadcaster.js +137 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +11 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsConsts.js +15 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts +22 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsScanner.js +98 -0
- package/dist/cjs/mdns/MdnsServer.d.ts +26 -0
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsServer.js +96 -0
- package/dist/cjs/mdns/index.d.ts +10 -0
- package/dist/cjs/mdns/index.d.ts.map +1 -0
- package/dist/cjs/mdns/index.js +25 -0
- package/dist/cjs/net/Channel.d.ts +10 -0
- package/dist/cjs/net/Channel.d.ts.map +1 -0
- package/dist/cjs/net/Channel.js +7 -0
- package/dist/cjs/net/NetInterface.d.ts +15 -0
- package/dist/cjs/net/NetInterface.d.ts.map +1 -0
- package/dist/cjs/net/NetInterface.js +7 -0
- package/dist/cjs/net/Network.d.ts +16 -0
- package/dist/cjs/net/Network.d.ts.map +1 -0
- package/dist/cjs/net/Network.js +12 -0
- package/dist/cjs/net/UdpChannel.d.ts +19 -0
- package/dist/cjs/net/UdpChannel.d.ts.map +1 -0
- package/dist/cjs/net/UdpChannel.js +7 -0
- package/dist/cjs/net/UdpInterface.d.ts +26 -0
- package/dist/cjs/net/UdpInterface.d.ts.map +1 -0
- package/dist/cjs/net/UdpInterface.js +50 -0
- package/dist/cjs/net/UdpMulticastServer.d.ts +29 -0
- package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -0
- package/dist/cjs/net/UdpMulticastServer.js +74 -0
- package/dist/cjs/net/fake/NetworkFake.d.ts +19 -0
- package/dist/cjs/net/fake/NetworkFake.d.ts.map +1 -0
- package/dist/cjs/net/fake/NetworkFake.js +28 -0
- package/dist/cjs/net/fake/SimulatedNetwork.d.ts +17 -0
- package/dist/cjs/net/fake/SimulatedNetwork.d.ts.map +1 -0
- package/dist/cjs/net/fake/SimulatedNetwork.js +56 -0
- package/dist/cjs/net/fake/UdpChannelFake.d.ts +22 -0
- package/dist/cjs/net/fake/UdpChannelFake.d.ts.map +1 -0
- package/dist/cjs/net/fake/UdpChannelFake.js +53 -0
- package/dist/cjs/net/index.d.ts +15 -0
- package/dist/cjs/net/index.d.ts.map +1 -0
- package/dist/cjs/net/index.js +30 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/protocol/ChannelManager.d.ts +23 -0
- package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ChannelManager.js +49 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts +58 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ExchangeManager.js +150 -0
- package/dist/cjs/protocol/MessageExchange.d.ts +51 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageExchange.js +240 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts +12 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/cjs/protocol/ProtocolHandler.js +7 -0
- package/dist/cjs/protocol/index.d.ts +10 -0
- package/dist/cjs/protocol/index.d.ts.map +1 -0
- package/dist/cjs/protocol/index.js +25 -0
- package/dist/cjs/protocol/interaction/AttributeDataDecoder.d.ts +39 -0
- package/dist/cjs/protocol/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/AttributeDataDecoder.js +143 -0
- package/dist/cjs/protocol/interaction/InteractionClient.d.ts +63 -0
- package/dist/cjs/protocol/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/InteractionClient.js +285 -0
- package/dist/cjs/protocol/interaction/InteractionMessenger.d.ts +250 -0
- package/dist/cjs/protocol/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/InteractionMessenger.js +297 -0
- package/dist/cjs/protocol/interaction/InteractionProtocol.d.ts +484 -0
- package/dist/cjs/protocol/interaction/InteractionProtocol.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/InteractionProtocol.js +189 -0
- package/dist/cjs/protocol/interaction/InteractionServer.d.ts +71 -0
- package/dist/cjs/protocol/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/InteractionServer.js +369 -0
- package/dist/cjs/protocol/interaction/SubscriptionHandler.d.ts +38 -0
- package/dist/cjs/protocol/interaction/SubscriptionHandler.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/SubscriptionHandler.js +174 -0
- package/dist/cjs/protocol/interaction/index.d.ts +12 -0
- package/dist/cjs/protocol/interaction/index.d.ts.map +1 -0
- package/dist/cjs/protocol/interaction/index.js +29 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessages.d.ts +63 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessages.d.ts.map +1 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessages.js +9 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessenger.d.ts +31 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/cjs/protocol/securechannel/SecureChannelMessenger.js +96 -0
- package/dist/cjs/protocol/securechannel/SecureChannelProtocol.d.ts +21 -0
- package/dist/cjs/protocol/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/cjs/protocol/securechannel/SecureChannelProtocol.js +49 -0
- package/dist/cjs/protocol/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/cjs/protocol/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/cjs/protocol/securechannel/SecureChannelStatusMessageSchema.js +30 -0
- package/dist/cjs/protocol/securechannel/index.d.ts +10 -0
- package/dist/cjs/protocol/securechannel/index.d.ts.map +1 -0
- package/dist/cjs/protocol/securechannel/index.js +26 -0
- package/dist/cjs/schema/Base38Schema.d.ts +17 -0
- package/dist/cjs/schema/Base38Schema.d.ts.map +1 -0
- package/dist/cjs/schema/Base38Schema.js +96 -0
- package/dist/{dts → cjs}/schema/BitmapSchema.d.ts +8 -5
- package/dist/cjs/schema/BitmapSchema.d.ts.map +1 -0
- package/dist/cjs/schema/BitmapSchema.js +29 -19
- package/dist/cjs/schema/PairingCodeSchema.d.ts +55 -0
- package/dist/cjs/schema/PairingCodeSchema.d.ts.map +1 -0
- package/dist/cjs/schema/PairingCodeSchema.js +73 -0
- package/dist/cjs/schema/QrCodeSchema.d.ts +13 -0
- package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -0
- package/dist/cjs/schema/QrCodeSchema.js +203 -0
- package/dist/{dts → cjs}/schema/Schema.d.ts +2 -1
- package/dist/cjs/schema/Schema.d.ts.map +1 -0
- package/dist/cjs/schema/Schema.js +2 -1
- package/dist/cjs/schema/index.d.ts +11 -0
- package/dist/cjs/schema/index.d.ts.map +1 -0
- package/dist/cjs/schema/index.js +27 -0
- package/dist/cjs/session/SecureSession.d.ts +53 -0
- package/dist/cjs/session/SecureSession.d.ts.map +1 -0
- package/dist/cjs/session/SecureSession.js +135 -0
- package/dist/cjs/session/Session.d.ts +38 -0
- package/dist/cjs/session/Session.d.ts.map +1 -0
- package/dist/cjs/session/Session.js +17 -0
- package/dist/cjs/session/SessionManager.d.ts +41 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -0
- package/dist/cjs/session/SessionManager.js +111 -0
- package/dist/cjs/session/UnsecureSession.d.ts +35 -0
- package/dist/cjs/session/UnsecureSession.d.ts.map +1 -0
- package/dist/cjs/session/UnsecureSession.js +68 -0
- package/dist/cjs/session/case/CaseClient.d.ts +13 -0
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseClient.js +97 -0
- package/dist/cjs/session/case/CaseMessages.d.ts +63 -0
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessages.js +78 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts +62 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessenger.js +62 -0
- package/dist/cjs/session/case/CaseServer.d.ts +14 -0
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseServer.js +115 -0
- package/dist/cjs/session/index.d.ts +18 -0
- package/dist/cjs/session/index.d.ts.map +1 -0
- package/dist/cjs/session/index.js +36 -0
- package/dist/cjs/session/pase/PaseClient.d.ts +12 -0
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseClient.js +56 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts +44 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessages.js +52 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts +67 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessenger.js +66 -0
- package/dist/cjs/session/pase/PaseServer.d.ts +23 -0
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseServer.js +90 -0
- package/dist/{dts → cjs}/spec/Specifications.d.ts +2 -1
- package/dist/cjs/spec/Specifications.d.ts.map +1 -0
- package/dist/cjs/spec/Specifications.js +1 -1
- package/dist/cjs/spec/index.d.ts +7 -0
- package/dist/cjs/spec/index.d.ts.map +1 -0
- package/dist/cjs/spec/index.js +22 -0
- package/dist/cjs/storage/Storage.d.ts +13 -0
- package/dist/cjs/storage/Storage.d.ts.map +1 -0
- package/dist/cjs/storage/Storage.js +6 -0
- package/dist/cjs/storage/StorageBackendMemory.d.ts +16 -0
- package/dist/cjs/storage/StorageBackendMemory.d.ts.map +1 -0
- package/dist/cjs/storage/StorageBackendMemory.js +49 -0
- package/dist/cjs/storage/StorageContext.d.ts +16 -0
- package/dist/cjs/storage/StorageContext.d.ts.map +1 -0
- package/dist/cjs/storage/StorageContext.js +30 -0
- package/dist/cjs/storage/StorageManager.d.ts +16 -0
- package/dist/cjs/storage/StorageManager.d.ts.map +1 -0
- package/dist/cjs/storage/StorageManager.js +43 -0
- package/dist/cjs/storage/StringifyTools.d.ts +17 -0
- package/dist/cjs/storage/StringifyTools.d.ts.map +1 -0
- package/dist/cjs/storage/StringifyTools.js +48 -0
- package/dist/cjs/storage/index.d.ts +11 -0
- package/dist/cjs/storage/index.d.ts.map +1 -0
- package/dist/cjs/storage/index.js +26 -0
- package/dist/cjs/time/Time.d.ts +26 -0
- package/dist/cjs/time/Time.d.ts.map +1 -0
- package/dist/cjs/time/Time.js +16 -0
- package/dist/cjs/time/TimeFake.d.ts +20 -0
- package/dist/cjs/time/TimeFake.d.ts.map +1 -0
- package/dist/cjs/time/TimeFake.js +96 -0
- package/dist/cjs/time/index.d.ts +8 -0
- package/dist/cjs/time/index.d.ts.map +1 -0
- package/dist/cjs/time/index.js +23 -0
- package/dist/{dts → cjs}/tlv/TlvAny.d.ts +2 -1
- package/dist/cjs/tlv/TlvAny.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvAny.js +1 -1
- package/dist/{dts → cjs}/tlv/TlvArray.d.ts +2 -1
- package/dist/cjs/tlv/TlvArray.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvArray.js +1 -1
- package/dist/{dts → cjs}/tlv/TlvBoolean.d.ts +2 -1
- package/dist/cjs/tlv/TlvBoolean.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvBoolean.js +1 -1
- package/dist/{dts → cjs}/tlv/TlvCodec.d.ts +2 -1
- package/dist/cjs/tlv/TlvCodec.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvCodec.js +98 -45
- package/dist/cjs/tlv/TlvNoArguments.d.ts +17 -0
- package/dist/cjs/tlv/TlvNoArguments.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvNoArguments.js +24 -0
- package/dist/{dts → cjs}/tlv/TlvNullable.d.ts +3 -2
- package/dist/cjs/tlv/TlvNullable.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvNullable.js +2 -2
- package/dist/{dts → cjs}/tlv/TlvNumber.d.ts +8 -2
- package/dist/cjs/tlv/TlvNumber.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvNumber.js +3 -4
- package/dist/{dts → cjs}/tlv/TlvObject.d.ts +3 -2
- package/dist/cjs/tlv/TlvObject.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvObject.js +2 -3
- package/dist/{dts → cjs}/tlv/TlvSchema.d.ts +3 -2
- package/dist/cjs/tlv/TlvSchema.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvSchema.js +2 -2
- package/dist/{dts → cjs}/tlv/TlvString.d.ts +3 -2
- package/dist/cjs/tlv/TlvString.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvString.js +4 -4
- package/dist/{dts → cjs}/tlv/TlvVoid.d.ts +2 -1
- package/dist/cjs/tlv/TlvVoid.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvVoid.js +1 -1
- package/dist/{dts → cjs}/tlv/TlvWrapper.d.ts +2 -1
- package/dist/cjs/tlv/TlvWrapper.d.ts.map +1 -0
- package/dist/cjs/tlv/TlvWrapper.js +1 -1
- package/dist/cjs/tlv/index.d.ts +18 -0
- package/dist/cjs/tlv/index.d.ts.map +1 -0
- package/dist/cjs/tlv/index.js +33 -0
- package/dist/{dts → cjs}/util/ByteArray.d.ts +2 -1
- package/dist/cjs/util/ByteArray.d.ts.map +1 -0
- package/dist/cjs/util/ByteArray.js +1 -1
- package/dist/cjs/util/Cache.d.ts +20 -0
- package/dist/cjs/util/Cache.d.ts.map +1 -0
- package/dist/cjs/util/Cache.js +48 -0
- package/dist/{dts → cjs}/util/DataReader.d.ts +2 -1
- package/dist/cjs/util/DataReader.d.ts.map +1 -0
- package/dist/cjs/util/DataReader.js +1 -1
- package/dist/{dts → cjs}/util/DataWriter.d.ts +2 -1
- package/dist/cjs/util/DataWriter.d.ts.map +1 -0
- package/dist/cjs/util/DataWriter.js +1 -1
- package/dist/cjs/util/Ip.d.ts +11 -0
- package/dist/cjs/util/Ip.d.ts.map +1 -0
- package/dist/cjs/util/Ip.js +69 -0
- package/dist/{dts → cjs}/util/Number.d.ts +2 -1
- package/dist/cjs/util/Number.d.ts.map +1 -0
- package/dist/cjs/util/Number.js +1 -1
- package/dist/cjs/util/Promises.d.ts +14 -0
- package/dist/cjs/util/Promises.d.ts.map +1 -0
- package/dist/cjs/util/Promises.js +30 -0
- package/dist/cjs/util/Queue.d.ts +17 -0
- package/dist/cjs/util/Queue.d.ts.map +1 -0
- package/dist/cjs/util/Queue.js +61 -0
- package/dist/cjs/util/Singleton.d.ts +7 -0
- package/dist/cjs/util/Singleton.d.ts.map +1 -0
- package/dist/cjs/util/Singleton.js +17 -0
- package/dist/cjs/util/Stream.d.ts +13 -0
- package/dist/cjs/util/Stream.d.ts.map +1 -0
- package/dist/cjs/util/Stream.js +12 -0
- package/dist/cjs/util/String.d.ts +7 -0
- package/dist/cjs/util/String.d.ts.map +1 -0
- package/dist/cjs/util/String.js +12 -0
- package/dist/{dts → cjs}/util/Type.d.ts +6 -1
- package/dist/cjs/util/Type.d.ts.map +1 -0
- package/dist/cjs/util/Type.js +1 -1
- package/dist/cjs/util/index.d.ts +18 -0
- package/dist/cjs/util/index.d.ts.map +1 -0
- package/dist/cjs/util/index.js +33 -0
- package/dist/es/MatterController.d.ts +46 -0
- package/dist/es/MatterController.d.ts.map +1 -0
- package/dist/es/MatterController.js +207 -0
- package/dist/es/MatterDevice.d.ts +64 -0
- package/dist/es/MatterDevice.d.ts.map +1 -0
- package/dist/es/MatterDevice.js +194 -0
- package/dist/es/certificate/AttestationCertificateManager.d.ts +28 -0
- package/dist/es/certificate/AttestationCertificateManager.d.ts.map +1 -0
- package/dist/es/certificate/AttestationCertificateManager.js +142 -0
- package/dist/es/certificate/CertificateManager.d.ts +202 -0
- package/dist/es/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/es/certificate/CertificateManager.js +332 -0
- package/dist/es/certificate/CertificationDeclarationManager.d.ts +5 -0
- package/dist/es/certificate/CertificationDeclarationManager.d.ts.map +1 -0
- package/dist/es/certificate/CertificationDeclarationManager.js +26 -0
- package/dist/es/certificate/ChipPAAuthorities.d.ts +9 -0
- package/dist/es/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/es/certificate/ChipPAAuthorities.js +17 -0
- package/dist/es/certificate/RootCertificateManager.d.ts +20 -0
- package/dist/es/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/es/certificate/RootCertificateManager.js +94 -0
- package/dist/es/certificate/index.d.ts +11 -0
- package/dist/es/certificate/index.d.ts.map +1 -0
- package/dist/es/certificate/index.js +10 -0
- package/dist/es/cluster/AccessControlCluster.d.ts +113 -0
- package/dist/es/cluster/AccessControlCluster.d.ts.map +1 -0
- package/dist/es/cluster/AccessControlCluster.js +12 -12
- package/dist/es/cluster/ActionsCluster.d.ts +206 -0
- package/dist/es/cluster/ActionsCluster.d.ts.map +1 -0
- package/dist/es/cluster/ActionsCluster.js +222 -0
- package/dist/es/cluster/AdminCommissioningCluster.d.ts +63 -0
- package/dist/es/cluster/AdminCommissioningCluster.d.ts.map +1 -0
- package/dist/es/cluster/AdminCommissioningCluster.js +66 -0
- package/dist/es/cluster/BasicInformationCluster.d.ts +62 -0
- package/dist/es/cluster/BasicInformationCluster.d.ts.map +1 -0
- package/dist/es/cluster/BasicInformationCluster.js +10 -10
- package/dist/es/cluster/BindingCluster.d.ts +28 -0
- package/dist/es/cluster/BindingCluster.d.ts.map +1 -0
- package/dist/es/cluster/BindingCluster.js +6 -6
- package/dist/es/cluster/BooleanStateCluster.d.ts +26 -0
- package/dist/es/cluster/BooleanStateCluster.d.ts.map +1 -0
- package/dist/es/cluster/BooleanStateCluster.js +31 -0
- package/dist/es/cluster/BridgedDeviceBasicInformationCluster.d.ts +58 -0
- package/dist/es/cluster/BridgedDeviceBasicInformationCluster.d.ts.map +1 -0
- package/dist/es/cluster/BridgedDeviceBasicInformationCluster.js +8 -8
- package/dist/es/cluster/Cluster.d.ts +124 -0
- package/dist/es/cluster/Cluster.d.ts.map +1 -0
- package/dist/es/cluster/Cluster.js +16 -12
- package/dist/es/cluster/ClusterHelper.d.ts +1083 -0
- package/dist/es/cluster/ClusterHelper.d.ts.map +1 -0
- package/dist/es/cluster/ClusterHelper.js +81 -0
- package/dist/es/cluster/DescriptorCluster.d.ts +30 -0
- package/dist/es/cluster/DescriptorCluster.d.ts.map +1 -0
- package/dist/es/cluster/DescriptorCluster.js +5 -5
- package/dist/es/cluster/FlowMeasurementCluster.d.ts +24 -0
- package/dist/es/cluster/FlowMeasurementCluster.d.ts.map +1 -0
- package/dist/es/cluster/FlowMeasurementCluster.js +28 -0
- package/dist/es/cluster/GeneralCommissioningCluster.d.ts +99 -0
- package/dist/es/cluster/GeneralCommissioningCluster.d.ts.map +1 -0
- package/dist/es/cluster/GeneralCommissioningCluster.js +8 -7
- package/dist/es/cluster/GeneralDiagnosticsCluster.d.ts +116 -0
- package/dist/es/cluster/GeneralDiagnosticsCluster.d.ts.map +1 -0
- package/dist/es/cluster/GeneralDiagnosticsCluster.js +126 -0
- package/dist/es/cluster/GroupKeyManagementCluster.d.ts +91 -0
- package/dist/es/cluster/GroupKeyManagementCluster.d.ts.map +1 -0
- package/dist/es/cluster/GroupKeyManagementCluster.js +95 -0
- package/dist/es/cluster/GroupsCluster.d.ts +87 -0
- package/dist/es/cluster/GroupsCluster.d.ts.map +1 -0
- package/dist/es/cluster/GroupsCluster.js +6 -23
- package/dist/es/cluster/IdentifyCluster.d.ts +67 -0
- package/dist/es/cluster/IdentifyCluster.d.ts.map +1 -0
- package/dist/es/cluster/IdentifyCluster.js +11 -5
- package/dist/es/cluster/IlluminanceMeasurementCluster.d.ts +25 -0
- package/dist/es/cluster/IlluminanceMeasurementCluster.d.ts.map +1 -0
- package/dist/es/cluster/IlluminanceMeasurementCluster.js +30 -0
- package/dist/es/cluster/LabelCluster.d.ts +43 -0
- package/dist/es/cluster/LabelCluster.d.ts.map +1 -0
- package/dist/es/cluster/LabelCluster.js +5 -5
- package/dist/es/cluster/LevelControlCluster.d.ts +379 -0
- package/dist/es/cluster/LevelControlCluster.d.ts.map +1 -0
- package/dist/es/cluster/LevelControlCluster.js +135 -0
- package/dist/es/cluster/NetworkCommissioningCluster.d.ts +170 -0
- package/dist/es/cluster/NetworkCommissioningCluster.d.ts.map +1 -0
- package/dist/es/cluster/NetworkCommissioningCluster.js +175 -0
- package/dist/es/cluster/OccupancySensingCluster.d.ts +56 -0
- package/dist/es/cluster/OccupancySensingCluster.d.ts.map +1 -0
- package/dist/es/cluster/OccupancySensingCluster.js +59 -0
- package/dist/es/cluster/OnOffCluster.d.ts +90 -0
- package/dist/es/cluster/OnOffCluster.d.ts.map +1 -0
- package/dist/es/cluster/OnOffCluster.js +42 -20
- package/dist/es/cluster/OperationalCredentialsCluster.d.ts +163 -0
- package/dist/es/cluster/OperationalCredentialsCluster.d.ts.map +1 -0
- package/dist/es/cluster/OperationalCredentialsCluster.js +70 -56
- package/dist/es/cluster/PowerSourceCluster.d.ts +301 -0
- package/dist/es/cluster/PowerSourceCluster.d.ts.map +1 -0
- package/dist/es/cluster/PowerSourceCluster.js +129 -0
- package/dist/es/cluster/PowerSourceConfigurationCluster.d.ts +26 -0
- package/dist/es/cluster/PowerSourceConfigurationCluster.d.ts.map +1 -0
- package/dist/es/cluster/PowerSourceConfigurationCluster.js +28 -0
- package/dist/es/cluster/PressureMeasurementCluster.d.ts +36 -0
- package/dist/es/cluster/PressureMeasurementCluster.d.ts.map +1 -0
- package/dist/es/cluster/PressureMeasurementCluster.js +61 -0
- package/dist/es/cluster/ScenesCluster.d.ts +205 -0
- package/dist/es/cluster/ScenesCluster.d.ts.map +1 -0
- package/dist/es/cluster/ScenesCluster.js +10 -10
- package/dist/es/cluster/TemperatureMeasurementCluster.d.ts +24 -0
- package/dist/es/cluster/TemperatureMeasurementCluster.d.ts.map +1 -0
- package/dist/es/cluster/TemperatureMeasurementCluster.js +28 -0
- package/dist/es/cluster/WaterContentMeasurementCluster.d.ts +58 -0
- package/dist/es/cluster/WaterContentMeasurementCluster.d.ts.map +1 -0
- package/dist/es/cluster/WaterContentMeasurementCluster.js +55 -0
- package/dist/es/cluster/client/ClusterClient.d.ts +28 -0
- package/dist/es/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/es/cluster/client/ClusterClient.js +1 -0
- package/dist/es/cluster/index.d.ts +46 -0
- package/dist/es/cluster/index.d.ts.map +1 -0
- package/dist/es/cluster/index.js +50 -0
- package/dist/es/cluster/server/AdminCommissioningServer.d.ts +10 -0
- package/dist/es/cluster/server/AdminCommissioningServer.d.ts.map +1 -0
- package/dist/es/cluster/server/AdminCommissioningServer.js +35 -0
- package/dist/es/cluster/server/AttributeServer.d.ts +43 -0
- package/dist/es/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/es/cluster/server/AttributeServer.js +76 -0
- package/dist/es/cluster/server/ClusterServer.d.ts +62 -0
- package/dist/es/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/es/cluster/server/ClusterServer.js +15 -0
- package/dist/es/cluster/server/CommandServer.d.ts +25 -0
- package/dist/es/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/es/cluster/server/CommandServer.js +35 -0
- package/dist/es/cluster/server/GeneralCommissioningServer.d.ts +9 -0
- package/dist/es/cluster/server/GeneralCommissioningServer.d.ts.map +1 -0
- package/dist/es/cluster/server/GeneralCommissioningServer.js +66 -0
- package/dist/es/cluster/server/GroupsServer.d.ts +9 -0
- package/dist/es/cluster/server/GroupsServer.d.ts.map +1 -0
- package/dist/es/cluster/server/GroupsServer.js +145 -0
- package/dist/es/cluster/server/LevelControlServer.d.ts +9 -0
- package/dist/es/cluster/server/LevelControlServer.d.ts.map +1 -0
- package/dist/es/cluster/server/LevelControlServer.js +54 -0
- package/dist/es/cluster/server/NetworkCommissioningServer.d.ts +9 -0
- package/dist/es/cluster/server/NetworkCommissioningServer.d.ts.map +1 -0
- package/dist/es/cluster/server/NetworkCommissioningServer.js +36 -0
- package/dist/es/cluster/server/OnOffServer.d.ts +9 -0
- package/dist/es/cluster/server/OnOffServer.d.ts.map +1 -0
- package/dist/es/cluster/server/OnOffServer.js +43 -0
- package/dist/es/cluster/server/OperationalCredentialsServer.d.ts +16 -0
- package/dist/es/cluster/server/OperationalCredentialsServer.d.ts.map +1 -0
- package/dist/es/cluster/server/OperationalCredentialsServer.js +103 -0
- package/dist/es/codec/DerCodec.d.ts +82 -0
- package/dist/es/codec/DerCodec.d.ts.map +1 -0
- package/dist/es/codec/DerCodec.js +159 -0
- package/dist/es/codec/DnsCodec.d.ts +71 -0
- package/dist/es/codec/DnsCodec.d.ts.map +1 -0
- package/dist/es/codec/DnsCodec.js +240 -0
- package/dist/es/codec/MessageCodec.d.ts +48 -0
- package/dist/es/codec/MessageCodec.d.ts.map +1 -0
- package/dist/es/codec/MessageCodec.js +113 -0
- package/dist/es/codec/index.d.ts +9 -0
- package/dist/es/codec/index.d.ts.map +1 -0
- package/dist/es/codec/index.js +8 -0
- package/dist/es/common/Broadcaster.d.ts +14 -0
- package/dist/es/common/Broadcaster.d.ts.map +1 -0
- package/dist/es/common/Broadcaster.js +6 -0
- package/dist/es/common/DeviceTypes.d.ts +73 -0
- package/dist/es/common/DeviceTypes.d.ts.map +1 -0
- package/dist/es/common/DeviceTypes.js +971 -0
- package/dist/es/common/MatterError.d.ts +9 -0
- package/dist/es/common/MatterError.d.ts.map +1 -0
- package/dist/es/common/MatterError.js +8 -0
- package/dist/es/common/Scanner.d.ts +16 -0
- package/dist/es/common/Scanner.d.ts.map +1 -0
- package/dist/es/common/Scanner.js +6 -0
- package/dist/es/common/TryCatchHandler.d.ts +29 -0
- package/dist/es/common/TryCatchHandler.d.ts.map +1 -0
- package/dist/es/common/TryCatchHandler.js +61 -0
- package/dist/es/common/index.d.ts +11 -0
- package/dist/es/common/index.d.ts.map +1 -0
- package/dist/es/common/index.js +10 -0
- package/dist/es/crypto/Crypto.d.ts +69 -0
- package/dist/es/crypto/Crypto.d.ts.map +1 -0
- package/dist/es/crypto/Crypto.js +43 -0
- package/dist/es/crypto/CryptoConstants.d.ts +19 -0
- package/dist/es/crypto/CryptoConstants.d.ts.map +1 -0
- package/dist/es/crypto/CryptoConstants.js +18 -0
- package/dist/es/crypto/Spake2p.d.ts +42 -0
- package/dist/es/crypto/Spake2p.d.ts.map +1 -0
- package/dist/es/crypto/Spake2p.js +112 -0
- package/dist/es/crypto/index.d.ts +9 -0
- package/dist/es/crypto/index.d.ts.map +1 -0
- package/dist/es/crypto/index.js +8 -0
- package/dist/es/datatype/AttributeId.d.ts +18 -0
- package/dist/es/datatype/AttributeId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/AttributeId.js +1 -1
- package/dist/es/datatype/ClusterId.d.ts +19 -0
- package/dist/es/datatype/ClusterId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/ClusterId.js +1 -1
- package/dist/es/datatype/CommandId.d.ts +18 -0
- package/dist/es/datatype/CommandId.d.ts.map +1 -0
- package/dist/es/datatype/CommandId.js +19 -0
- package/dist/es/datatype/DeviceTypeId.d.ts +18 -0
- package/dist/es/datatype/DeviceTypeId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/DeviceTypeId.js +1 -1
- package/dist/es/datatype/EndpointNumber.d.ts +18 -0
- package/dist/es/datatype/EndpointNumber.d.ts.map +1 -0
- package/dist/es/{common → datatype}/EndpointNumber.js +1 -1
- package/dist/es/datatype/EventId.d.ts +18 -0
- package/dist/es/datatype/EventId.d.ts.map +1 -0
- package/dist/es/datatype/EventId.js +19 -0
- package/dist/es/datatype/FabricId.d.ts +19 -0
- package/dist/es/datatype/FabricId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/FabricId.js +1 -1
- package/dist/es/datatype/FabricIndex.d.ts +24 -0
- package/dist/es/datatype/FabricIndex.d.ts.map +1 -0
- package/dist/es/{common → datatype}/FabricIndex.js +3 -2
- package/dist/es/datatype/GroupId.d.ts +25 -0
- package/dist/es/datatype/GroupId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/GroupId.js +1 -1
- package/dist/es/datatype/NodeId.d.ts +22 -0
- package/dist/es/datatype/NodeId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/NodeId.js +19 -2
- package/dist/es/datatype/SubjectId.d.ts +16 -0
- package/dist/es/datatype/SubjectId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/SubjectId.js +1 -1
- package/dist/es/datatype/VendorId.d.ts +20 -0
- package/dist/es/datatype/VendorId.d.ts.map +1 -0
- package/dist/es/{common → datatype}/VendorId.js +1 -1
- package/dist/es/datatype/index.d.ts +18 -0
- package/dist/es/datatype/index.d.ts.map +1 -0
- package/dist/es/datatype/index.js +18 -0
- package/dist/es/fabric/Fabric.d.ts +95 -0
- package/dist/es/fabric/Fabric.d.ts.map +1 -0
- package/dist/es/fabric/Fabric.js +205 -0
- package/dist/es/fabric/FabricManager.d.ts +30 -0
- package/dist/es/fabric/FabricManager.d.ts.map +1 -0
- package/dist/es/fabric/FabricManager.js +80 -0
- package/dist/es/fabric/index.d.ts +8 -0
- package/dist/es/fabric/index.d.ts.map +1 -0
- package/dist/es/fabric/index.js +7 -0
- package/dist/es/index.d.ts +9 -0
- package/dist/es/index.d.ts.map +1 -0
- package/dist/es/index.js +10 -0
- package/dist/es/log/Logger.d.ts +45 -0
- package/dist/es/log/Logger.d.ts.map +1 -0
- package/dist/es/log/Logger.js +88 -0
- package/dist/es/log/index.d.ts +7 -0
- package/dist/es/log/index.d.ts.map +1 -0
- package/dist/es/log/index.js +6 -0
- package/dist/es/math/ReedSolomon.d.ts +12 -0
- package/dist/es/math/ReedSolomon.d.ts.map +1 -0
- package/dist/es/math/ReedSolomon.js +92 -0
- package/dist/es/math/Verhoeff.d.ts +17 -0
- package/dist/es/math/Verhoeff.d.ts.map +1 -0
- package/dist/es/math/Verhoeff.js +47 -0
- package/dist/es/math/index.d.ts +8 -0
- package/dist/es/math/index.d.ts.map +1 -0
- package/dist/es/math/index.js +7 -0
- package/dist/es/mdns/MdnsBroadcaster.d.ts +21 -0
- package/dist/es/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/es/mdns/MdnsBroadcaster.js +133 -0
- package/dist/es/mdns/MdnsConsts.d.ts +11 -0
- package/dist/es/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/es/mdns/MdnsConsts.js +10 -0
- package/dist/es/mdns/MdnsScanner.d.ts +22 -0
- package/dist/es/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/es/mdns/MdnsScanner.js +94 -0
- package/dist/es/mdns/MdnsServer.d.ts +26 -0
- package/dist/es/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/es/mdns/MdnsServer.js +92 -0
- package/dist/es/mdns/index.d.ts +10 -0
- package/dist/es/mdns/index.d.ts.map +1 -0
- package/dist/es/mdns/index.js +9 -0
- package/dist/es/net/Channel.d.ts +10 -0
- package/dist/es/net/Channel.d.ts.map +1 -0
- package/dist/es/net/Channel.js +6 -0
- package/dist/es/net/NetInterface.d.ts +15 -0
- package/dist/es/net/NetInterface.d.ts.map +1 -0
- package/dist/es/net/NetInterface.js +6 -0
- package/dist/es/net/Network.d.ts +16 -0
- package/dist/es/net/Network.d.ts.map +1 -0
- package/dist/es/net/Network.js +8 -0
- package/dist/es/net/UdpChannel.d.ts +19 -0
- package/dist/es/net/UdpChannel.d.ts.map +1 -0
- package/dist/es/net/UdpChannel.js +6 -0
- package/dist/es/net/UdpInterface.d.ts +26 -0
- package/dist/es/net/UdpInterface.d.ts.map +1 -0
- package/dist/es/net/UdpInterface.js +46 -0
- package/dist/es/net/UdpMulticastServer.d.ts +29 -0
- package/dist/es/net/UdpMulticastServer.d.ts.map +1 -0
- package/dist/es/net/UdpMulticastServer.js +70 -0
- package/dist/es/net/fake/NetworkFake.d.ts +19 -0
- package/dist/es/net/fake/NetworkFake.d.ts.map +1 -0
- package/dist/es/net/fake/NetworkFake.js +24 -0
- package/dist/es/net/fake/SimulatedNetwork.d.ts +17 -0
- package/dist/es/net/fake/SimulatedNetwork.d.ts.map +1 -0
- package/dist/es/net/fake/SimulatedNetwork.js +52 -0
- package/dist/es/net/fake/UdpChannelFake.d.ts +22 -0
- package/dist/es/net/fake/UdpChannelFake.d.ts.map +1 -0
- package/dist/es/net/fake/UdpChannelFake.js +49 -0
- package/dist/es/net/index.d.ts +15 -0
- package/dist/es/net/index.d.ts.map +1 -0
- package/dist/es/net/index.js +14 -0
- package/dist/es/protocol/ChannelManager.d.ts +23 -0
- package/dist/es/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/es/protocol/ChannelManager.js +44 -0
- package/dist/es/protocol/ExchangeManager.d.ts +58 -0
- package/dist/es/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/es/protocol/ExchangeManager.js +142 -0
- package/dist/es/protocol/MessageExchange.d.ts +51 -0
- package/dist/es/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/es/protocol/MessageExchange.js +234 -0
- package/dist/es/protocol/ProtocolHandler.d.ts +12 -0
- package/dist/es/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/es/protocol/ProtocolHandler.js +6 -0
- package/dist/es/protocol/index.d.ts +10 -0
- package/dist/es/protocol/index.d.ts.map +1 -0
- package/dist/es/protocol/index.js +9 -0
- package/dist/es/protocol/interaction/AttributeDataDecoder.d.ts +39 -0
- package/dist/es/protocol/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/es/protocol/interaction/AttributeDataDecoder.js +134 -0
- package/dist/es/protocol/interaction/InteractionClient.d.ts +63 -0
- package/dist/es/protocol/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/es/protocol/interaction/InteractionClient.js +279 -0
- package/dist/es/protocol/interaction/InteractionMessenger.d.ts +250 -0
- package/dist/es/protocol/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/es/protocol/interaction/InteractionMessenger.js +290 -0
- package/dist/es/protocol/interaction/InteractionProtocol.d.ts +484 -0
- package/dist/es/protocol/interaction/InteractionProtocol.d.ts.map +1 -0
- package/dist/es/protocol/interaction/InteractionProtocol.js +186 -0
- package/dist/es/protocol/interaction/InteractionServer.d.ts +71 -0
- package/dist/es/protocol/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/es/protocol/interaction/InteractionServer.js +362 -0
- package/dist/es/protocol/interaction/SubscriptionHandler.d.ts +38 -0
- package/dist/es/protocol/interaction/SubscriptionHandler.d.ts.map +1 -0
- package/dist/es/protocol/interaction/SubscriptionHandler.js +170 -0
- package/dist/es/protocol/interaction/index.d.ts +12 -0
- package/dist/es/protocol/interaction/index.d.ts.map +1 -0
- package/dist/es/protocol/interaction/index.js +13 -0
- package/dist/es/protocol/securechannel/SecureChannelMessages.d.ts +63 -0
- package/dist/es/protocol/securechannel/SecureChannelMessages.d.ts.map +1 -0
- package/dist/es/protocol/securechannel/SecureChannelMessages.js +6 -0
- package/dist/es/protocol/securechannel/SecureChannelMessenger.d.ts +31 -0
- package/dist/es/protocol/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/es/protocol/securechannel/SecureChannelMessenger.js +91 -0
- package/dist/es/protocol/securechannel/SecureChannelProtocol.d.ts +21 -0
- package/dist/es/protocol/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/es/protocol/securechannel/SecureChannelProtocol.js +45 -0
- package/dist/es/protocol/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/es/protocol/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/es/protocol/securechannel/SecureChannelStatusMessageSchema.js +26 -0
- package/dist/es/protocol/securechannel/index.d.ts +10 -0
- package/dist/es/protocol/securechannel/index.d.ts.map +1 -0
- package/dist/es/protocol/securechannel/index.js +10 -0
- package/dist/es/schema/Base38Schema.d.ts +17 -0
- package/dist/es/schema/Base38Schema.d.ts.map +1 -0
- package/dist/es/schema/Base38Schema.js +93 -0
- package/dist/es/schema/BitmapSchema.d.ts +62 -0
- package/dist/es/schema/BitmapSchema.d.ts.map +1 -0
- package/dist/es/schema/BitmapSchema.js +26 -18
- package/dist/es/schema/PairingCodeSchema.d.ts +55 -0
- package/dist/es/schema/PairingCodeSchema.d.ts.map +1 -0
- package/dist/es/schema/PairingCodeSchema.js +70 -0
- package/dist/es/schema/QrCodeSchema.d.ts +13 -0
- package/dist/es/schema/QrCodeSchema.d.ts.map +1 -0
- package/dist/es/schema/QrCodeSchema.js +199 -0
- package/dist/es/schema/Schema.d.ts +17 -0
- package/dist/es/schema/Schema.d.ts.map +1 -0
- package/dist/es/schema/Schema.js +2 -1
- package/dist/es/schema/index.d.ts +11 -0
- package/dist/es/schema/index.d.ts.map +1 -0
- package/dist/es/schema/index.js +11 -0
- package/dist/es/session/SecureSession.d.ts +53 -0
- package/dist/es/session/SecureSession.d.ts.map +1 -0
- package/dist/es/session/SecureSession.js +131 -0
- package/dist/es/session/Session.d.ts +38 -0
- package/dist/es/session/Session.d.ts.map +1 -0
- package/dist/es/session/Session.js +14 -0
- package/dist/es/session/SessionManager.d.ts +41 -0
- package/dist/es/session/SessionManager.d.ts.map +1 -0
- package/dist/es/session/SessionManager.js +107 -0
- package/dist/es/session/UnsecureSession.d.ts +35 -0
- package/dist/es/session/UnsecureSession.d.ts.map +1 -0
- package/dist/es/session/UnsecureSession.js +64 -0
- package/dist/es/session/case/CaseClient.d.ts +13 -0
- package/dist/es/session/case/CaseClient.d.ts.map +1 -0
- package/dist/es/session/case/CaseClient.js +93 -0
- package/dist/es/session/case/CaseMessages.d.ts +63 -0
- package/dist/es/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/es/session/case/CaseMessages.js +75 -0
- package/dist/es/session/case/CaseMessenger.d.ts +62 -0
- package/dist/es/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/es/session/case/CaseMessenger.js +57 -0
- package/dist/es/session/case/CaseServer.d.ts +14 -0
- package/dist/es/session/case/CaseServer.d.ts.map +1 -0
- package/dist/es/session/case/CaseServer.js +111 -0
- package/dist/es/session/index.d.ts +18 -0
- package/dist/es/session/index.d.ts.map +1 -0
- package/dist/es/session/index.js +20 -0
- package/dist/es/session/pase/PaseClient.d.ts +12 -0
- package/dist/es/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/es/session/pase/PaseClient.js +52 -0
- package/dist/es/session/pase/PaseMessages.d.ts +44 -0
- package/dist/es/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/es/session/pase/PaseMessages.js +49 -0
- package/dist/es/session/pase/PaseMessenger.d.ts +67 -0
- package/dist/es/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/es/session/pase/PaseMessenger.js +61 -0
- package/dist/es/session/pase/PaseServer.d.ts +23 -0
- package/dist/es/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/es/session/pase/PaseServer.js +83 -0
- package/dist/es/spec/Specifications.d.ts +15 -0
- package/dist/es/spec/Specifications.d.ts.map +1 -0
- package/dist/es/spec/Specifications.js +1 -1
- package/dist/es/spec/index.d.ts +7 -0
- package/dist/es/spec/index.d.ts.map +1 -0
- package/dist/es/spec/index.js +6 -0
- package/dist/es/storage/Storage.d.ts +13 -0
- package/dist/es/storage/Storage.d.ts.map +1 -0
- package/dist/es/storage/Storage.js +2 -0
- package/dist/es/storage/StorageBackendMemory.d.ts +16 -0
- package/dist/es/storage/StorageBackendMemory.d.ts.map +1 -0
- package/dist/es/storage/StorageBackendMemory.js +45 -0
- package/dist/es/storage/StorageContext.d.ts +16 -0
- package/dist/es/storage/StorageContext.d.ts.map +1 -0
- package/dist/es/storage/StorageContext.js +26 -0
- package/dist/es/storage/StorageManager.d.ts +16 -0
- package/dist/es/storage/StorageManager.d.ts.map +1 -0
- package/dist/es/storage/StorageManager.js +39 -0
- package/dist/es/storage/StringifyTools.d.ts +17 -0
- package/dist/es/storage/StringifyTools.d.ts.map +1 -0
- package/dist/es/storage/StringifyTools.js +43 -0
- package/dist/es/storage/index.d.ts +11 -0
- package/dist/es/storage/index.d.ts.map +1 -0
- package/dist/es/storage/index.js +10 -0
- package/dist/es/time/Time.d.ts +26 -0
- package/dist/es/time/Time.d.ts.map +1 -0
- package/dist/es/time/Time.js +12 -0
- package/dist/es/time/TimeFake.d.ts +20 -0
- package/dist/es/time/TimeFake.d.ts.map +1 -0
- package/dist/es/time/TimeFake.js +92 -0
- package/dist/es/time/index.d.ts +8 -0
- package/dist/es/time/index.d.ts.map +1 -0
- package/dist/es/time/index.js +7 -0
- package/dist/es/tlv/TlvAny.d.ts +15 -0
- package/dist/es/tlv/TlvAny.d.ts.map +1 -0
- package/dist/es/tlv/TlvAny.js +1 -1
- package/dist/es/tlv/TlvArray.d.ts +30 -0
- package/dist/es/tlv/TlvArray.d.ts.map +1 -0
- package/dist/es/tlv/TlvArray.js +1 -1
- package/dist/es/tlv/TlvBoolean.d.ts +20 -0
- package/dist/es/tlv/TlvBoolean.d.ts.map +1 -0
- package/dist/es/tlv/TlvBoolean.js +1 -1
- package/dist/es/tlv/TlvCodec.d.ts +99 -0
- package/dist/es/tlv/TlvCodec.d.ts.map +1 -0
- package/dist/es/tlv/TlvCodec.js +98 -45
- package/dist/es/tlv/TlvNoArguments.d.ts +17 -0
- package/dist/es/tlv/TlvNoArguments.d.ts.map +1 -0
- package/dist/es/tlv/TlvNoArguments.js +20 -0
- package/dist/es/tlv/TlvNullable.d.ts +22 -0
- package/dist/es/tlv/TlvNullable.d.ts.map +1 -0
- package/dist/es/tlv/TlvNullable.js +2 -2
- package/dist/es/tlv/TlvNumber.d.ts +54 -0
- package/dist/es/tlv/TlvNumber.d.ts.map +1 -0
- package/dist/es/tlv/TlvNumber.js +3 -4
- package/dist/es/tlv/TlvObject.d.ts +62 -0
- package/dist/es/tlv/TlvObject.d.ts.map +1 -0
- package/dist/es/tlv/TlvObject.js +2 -3
- package/dist/es/tlv/TlvSchema.d.ts +68 -0
- package/dist/es/tlv/TlvSchema.d.ts.map +1 -0
- package/dist/es/tlv/TlvSchema.js +2 -2
- package/dist/es/tlv/TlvString.d.ts +39 -0
- package/dist/es/tlv/TlvString.d.ts.map +1 -0
- package/dist/es/tlv/TlvString.js +3 -3
- package/dist/es/tlv/TlvVoid.d.ts +19 -0
- package/dist/es/tlv/TlvVoid.d.ts.map +1 -0
- package/dist/es/tlv/TlvVoid.js +1 -1
- package/dist/es/tlv/TlvWrapper.d.ts +17 -0
- package/dist/es/tlv/TlvWrapper.d.ts.map +1 -0
- package/dist/es/tlv/TlvWrapper.js +1 -1
- package/dist/es/tlv/index.d.ts +18 -0
- package/dist/es/tlv/index.d.ts.map +1 -0
- package/dist/es/tlv/index.js +17 -0
- package/dist/es/util/ByteArray.d.ts +31 -0
- package/dist/es/util/ByteArray.d.ts.map +1 -0
- package/dist/es/util/ByteArray.js +2 -2
- package/dist/es/util/Cache.d.ts +20 -0
- package/dist/es/util/Cache.d.ts.map +1 -0
- package/dist/es/util/Cache.js +44 -0
- package/dist/es/util/DataReader.d.ts +30 -0
- package/dist/es/util/DataReader.d.ts.map +1 -0
- package/dist/es/util/DataReader.js +1 -1
- package/dist/es/util/DataWriter.d.ts +27 -0
- package/dist/es/util/DataWriter.d.ts.map +1 -0
- package/dist/es/util/DataWriter.js +1 -1
- package/dist/es/util/Ip.d.ts +11 -0
- package/dist/es/util/Ip.d.ts.map +1 -0
- package/dist/es/util/Ip.js +61 -0
- package/dist/es/util/Number.d.ts +24 -0
- package/dist/es/util/Number.d.ts.map +1 -0
- package/dist/es/util/Number.js +1 -1
- package/dist/es/util/Promises.d.ts +14 -0
- package/dist/es/util/Promises.d.ts.map +1 -0
- package/dist/es/util/Promises.js +26 -0
- package/dist/es/util/Queue.d.ts +17 -0
- package/dist/es/util/Queue.d.ts.map +1 -0
- package/dist/es/util/Queue.js +57 -0
- package/dist/es/util/Singleton.d.ts +7 -0
- package/dist/es/util/Singleton.d.ts.map +1 -0
- package/dist/es/util/Singleton.js +13 -0
- package/dist/es/util/Stream.d.ts +13 -0
- package/dist/es/util/Stream.d.ts.map +1 -0
- package/dist/es/util/Stream.js +8 -0
- package/dist/es/util/String.d.ts +7 -0
- package/dist/es/util/String.d.ts.map +1 -0
- package/dist/es/util/String.js +8 -0
- package/dist/es/util/Type.d.ts +15 -0
- package/dist/es/util/Type.d.ts.map +1 -0
- package/dist/es/util/Type.js +1 -1
- package/dist/es/util/index.d.ts +18 -0
- package/dist/es/util/index.d.ts.map +1 -0
- package/dist/es/util/index.js +17 -0
- package/package.json +74 -14
- package/dist/cjs/matter.js +0 -50
- package/dist/cjs/protocol/InteractionProtocol.js +0 -136
- package/dist/dts/cluster/BindingCluster.d.ts +0 -23
- package/dist/dts/cluster/DescriptorCluster.d.ts +0 -25
- package/dist/dts/cluster/LabelCluster.d.ts +0 -34
- package/dist/dts/matter.d.ts +0 -34
- package/dist/dts/protocol/InteractionProtocol.d.ts +0 -159
- package/dist/es/matter.js +0 -34
- package/dist/es/protocol/InteractionProtocol.js +0 -133
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CaseClient = void 0;
|
|
18
|
+
const CertificateManager_js_1 = require("../../certificate/CertificateManager.js");
|
|
19
|
+
const Crypto_js_1 = require("../../crypto/Crypto.js");
|
|
20
|
+
const CaseMessages_js_1 = require("./CaseMessages.js");
|
|
21
|
+
const CaseMessenger_js_1 = require("./CaseMessenger.js");
|
|
22
|
+
const ByteArray_js_1 = require("../../util/ByteArray.js");
|
|
23
|
+
const Logger_js_1 = require("../../log/Logger.js");
|
|
24
|
+
const logger = Logger_js_1.Logger.get("CaseClient");
|
|
25
|
+
class CaseClient {
|
|
26
|
+
pair(client, exchange, fabric, peerNodeId) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
const messenger = new CaseMessenger_js_1.CaseClientMessenger(exchange);
|
|
29
|
+
// Generate pairing info
|
|
30
|
+
const random = Crypto_js_1.Crypto.getRandom();
|
|
31
|
+
const sessionId = client.getNextAvailableSessionId();
|
|
32
|
+
const { operationalIdentityProtectionKey, operationalCert: nodeOpCert, intermediateCACert } = fabric;
|
|
33
|
+
const { publicKey: ecdhPublicKey, ecdh } = Crypto_js_1.Crypto.ecdhGeneratePublicKey();
|
|
34
|
+
// Send sigma1
|
|
35
|
+
let sigma1Bytes;
|
|
36
|
+
let resumptionRecord = client.findResumptionRecordByNodeId(peerNodeId);
|
|
37
|
+
if (resumptionRecord !== undefined) {
|
|
38
|
+
const { sharedSecret, resumptionId } = resumptionRecord;
|
|
39
|
+
const resumeKey = yield Crypto_js_1.Crypto.hkdf(sharedSecret, ByteArray_js_1.ByteArray.concat(random, resumptionId), CaseMessages_js_1.KDFSR1_KEY_INFO);
|
|
40
|
+
const resumeMic = Crypto_js_1.Crypto.encrypt(resumeKey, new ByteArray_js_1.ByteArray(0), CaseMessages_js_1.RESUME1_MIC_NONCE);
|
|
41
|
+
sigma1Bytes = yield messenger.sendSigma1({ sessionId, destinationId: fabric.getDestinationId(peerNodeId, random), ecdhPublicKey, random, resumptionId, resumeMic });
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
sigma1Bytes = yield messenger.sendSigma1({ sessionId, destinationId: fabric.getDestinationId(peerNodeId, random), ecdhPublicKey, random });
|
|
45
|
+
}
|
|
46
|
+
let secureSession;
|
|
47
|
+
const { sigma2Bytes, sigma2, sigma2Resume } = yield messenger.readSigma2();
|
|
48
|
+
if (sigma2Resume !== undefined) {
|
|
49
|
+
// Process sigma2 resume
|
|
50
|
+
if (resumptionRecord === undefined)
|
|
51
|
+
throw new Error("Received an unexpected sigma2Resume");
|
|
52
|
+
const { sharedSecret, fabric } = resumptionRecord;
|
|
53
|
+
const { sessionId: peerSessionId, resumptionId, resumeMic } = sigma2Resume;
|
|
54
|
+
const resumeSalt = ByteArray_js_1.ByteArray.concat(random, resumptionId);
|
|
55
|
+
const resumeKey = yield Crypto_js_1.Crypto.hkdf(sharedSecret, resumeSalt, CaseMessages_js_1.KDFSR2_KEY_INFO);
|
|
56
|
+
Crypto_js_1.Crypto.decrypt(resumeKey, resumeMic, CaseMessages_js_1.RESUME2_MIC_NONCE);
|
|
57
|
+
const secureSessionSalt = ByteArray_js_1.ByteArray.concat(random, resumptionRecord.resumptionId);
|
|
58
|
+
secureSession = yield client.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, secureSessionSalt, true, true);
|
|
59
|
+
yield messenger.sendSuccess();
|
|
60
|
+
logger.info(`Case client: session resumed with ${messenger.getChannelName()}`);
|
|
61
|
+
resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Process sigma2
|
|
65
|
+
const { ecdhPublicKey: peerEcdhPublicKey, encrypted: peerEncrypted, random: peerRandom, sessionId: peerSessionId } = sigma2;
|
|
66
|
+
const sharedSecret = Crypto_js_1.Crypto.ecdhGenerateSecret(peerEcdhPublicKey, ecdh);
|
|
67
|
+
const sigma2Salt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, peerRandom, peerEcdhPublicKey, Crypto_js_1.Crypto.hash(sigma1Bytes));
|
|
68
|
+
const sigma2Key = yield Crypto_js_1.Crypto.hkdf(sharedSecret, sigma2Salt, CaseMessages_js_1.KDFSR2_INFO);
|
|
69
|
+
const peerEncryptedData = Crypto_js_1.Crypto.decrypt(sigma2Key, peerEncrypted, CaseMessages_js_1.TBE_DATA2_NONCE);
|
|
70
|
+
const { nodeOpCert: peerNewOpCert, intermediateCACert: peerIntermediateCACert, signature: peerSignature, resumptionId: peerResumptionId } = CaseMessages_js_1.TlvEncryptedDataSigma2.decode(peerEncryptedData);
|
|
71
|
+
const peerSignatureData = CaseMessages_js_1.TlvSignedData.encode({ nodeOpCert: peerNewOpCert, intermediateCACert: peerIntermediateCACert, ecdhPublicKey: peerEcdhPublicKey, peerEcdhPublicKey: ecdhPublicKey });
|
|
72
|
+
const { ellipticCurvePublicKey: peerPublicKey, subject: { nodeId: peerNodeIdCert } } = CertificateManager_js_1.TlvOperationalCertificate.decode(peerNewOpCert);
|
|
73
|
+
if (peerNodeIdCert.id !== peerNodeId.id)
|
|
74
|
+
throw new Error("The node ID in the peer certificate doesn't match the expected peer node ID");
|
|
75
|
+
Crypto_js_1.Crypto.verifySpki(peerPublicKey, peerSignatureData, peerSignature);
|
|
76
|
+
// Generate and send sigma3
|
|
77
|
+
const sigma3Salt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, Crypto_js_1.Crypto.hash([sigma1Bytes, sigma2Bytes]));
|
|
78
|
+
const sigma3Key = yield Crypto_js_1.Crypto.hkdf(sharedSecret, sigma3Salt, CaseMessages_js_1.KDFSR3_INFO);
|
|
79
|
+
const signatureData = CaseMessages_js_1.TlvSignedData.encode({ nodeOpCert, intermediateCACert, ecdhPublicKey, peerEcdhPublicKey });
|
|
80
|
+
const signature = fabric.sign(signatureData);
|
|
81
|
+
const encryptedData = CaseMessages_js_1.TlvEncryptedDataSigma3.encode({ nodeOpCert, intermediateCACert, signature });
|
|
82
|
+
const encrypted = Crypto_js_1.Crypto.encrypt(sigma3Key, encryptedData, CaseMessages_js_1.TBE_DATA3_NONCE);
|
|
83
|
+
const sigma3Bytes = yield messenger.sendSigma3({ encrypted });
|
|
84
|
+
yield messenger.waitForSuccess();
|
|
85
|
+
// All good! Create secure session
|
|
86
|
+
const secureSessionSalt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, Crypto_js_1.Crypto.hash([sigma1Bytes, sigma2Bytes, sigma3Bytes]));
|
|
87
|
+
secureSession = yield client.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, secureSessionSalt, true, false);
|
|
88
|
+
logger.info(`Case client: Paired succesfully with ${messenger.getChannelName()}`);
|
|
89
|
+
resumptionRecord = { fabric, peerNodeId, sharedSecret, resumptionId: peerResumptionId };
|
|
90
|
+
}
|
|
91
|
+
messenger.close();
|
|
92
|
+
client.saveResumptionRecord(resumptionRecord);
|
|
93
|
+
return secureSession;
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.CaseClient = CaseClient;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export declare const KDFSR1_KEY_INFO: Uint8Array;
|
|
2
|
+
export declare const KDFSR2_KEY_INFO: Uint8Array;
|
|
3
|
+
export declare const RESUME1_MIC_NONCE: Uint8Array;
|
|
4
|
+
export declare const RESUME2_MIC_NONCE: Uint8Array;
|
|
5
|
+
export declare const KDFSR2_INFO: Uint8Array;
|
|
6
|
+
export declare const KDFSR3_INFO: Uint8Array;
|
|
7
|
+
export declare const TBE_DATA2_NONCE: Uint8Array;
|
|
8
|
+
export declare const TBE_DATA3_NONCE: Uint8Array;
|
|
9
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
10
|
+
export declare const TlvCaseSigma1: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
11
|
+
random: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
12
|
+
sessionId: import("../../tlv/TlvObject.js").FieldType<number>;
|
|
13
|
+
destinationId: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
14
|
+
ecdhPublicKey: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
15
|
+
mrpParams: import("../../tlv/TlvObject.js").OptionalFieldType<{
|
|
16
|
+
idleRetransTimeoutMs?: number | undefined;
|
|
17
|
+
activeRetransTimeoutMs?: number | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
resumptionId: import("../../tlv/TlvObject.js").OptionalFieldType<Uint8Array>;
|
|
20
|
+
resumeMic: import("../../tlv/TlvObject.js").OptionalFieldType<Uint8Array>;
|
|
21
|
+
}>;
|
|
22
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
23
|
+
export declare const TlvCaseSigma2: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
24
|
+
random: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
25
|
+
sessionId: import("../../tlv/TlvObject.js").FieldType<number>;
|
|
26
|
+
ecdhPublicKey: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
27
|
+
encrypted: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
28
|
+
mrpParams: import("../../tlv/TlvObject.js").OptionalFieldType<{
|
|
29
|
+
idleRetransTimeoutMs?: number | undefined;
|
|
30
|
+
activeRetransTimeoutMs?: number | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
}>;
|
|
33
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
34
|
+
export declare const TlvCaseSigma2Resume: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
35
|
+
resumptionId: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
36
|
+
resumeMic: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
37
|
+
sessionId: import("../../tlv/TlvObject.js").FieldType<number>;
|
|
38
|
+
}>;
|
|
39
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
40
|
+
export declare const TlvCaseSigma3: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
41
|
+
encrypted: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
42
|
+
}>;
|
|
43
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
44
|
+
export declare const TlvSignedData: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
45
|
+
nodeOpCert: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
46
|
+
intermediateCACert: import("../../tlv/TlvObject.js").OptionalFieldType<Uint8Array>;
|
|
47
|
+
ecdhPublicKey: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
48
|
+
peerEcdhPublicKey: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
49
|
+
}>;
|
|
50
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
51
|
+
export declare const TlvEncryptedDataSigma2: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
52
|
+
nodeOpCert: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
53
|
+
intermediateCACert: import("../../tlv/TlvObject.js").OptionalFieldType<Uint8Array>;
|
|
54
|
+
signature: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
55
|
+
resumptionId: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
56
|
+
}>;
|
|
57
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
58
|
+
export declare const TlvEncryptedDataSigma3: import("../../tlv/TlvObject.js").ObjectSchema<{
|
|
59
|
+
nodeOpCert: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
60
|
+
intermediateCACert: import("../../tlv/TlvObject.js").OptionalFieldType<Uint8Array>;
|
|
61
|
+
signature: import("../../tlv/TlvObject.js").FieldType<Uint8Array>;
|
|
62
|
+
}>;
|
|
63
|
+
//# sourceMappingURL=CaseMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CaseMessages.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessages.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe,YAAwC,CAAC;AACrE,eAAO,MAAM,eAAe,YAAwC,CAAC;AACrE,eAAO,MAAM,iBAAiB,YAAwC,CAAC;AACvE,eAAO,MAAM,iBAAiB,YAAwC,CAAC;AACvE,eAAO,MAAM,WAAW,YAAiC,CAAC;AAC1D,eAAO,MAAM,WAAW,YAAiC,CAAC;AAC1D,eAAO,MAAM,eAAe,YAAwC,CAAC;AACrE,eAAO,MAAM,eAAe,YAAwC,CAAC;AAWrE,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;;;EAQxB,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;;;;;;;;EAMxB,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB;;;;EAI9B,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;EAExB,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;;;;EAKxB,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB;;;;;EAKjC,CAAC;AAEH,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TlvEncryptedDataSigma3 = exports.TlvEncryptedDataSigma2 = exports.TlvSignedData = exports.TlvCaseSigma3 = exports.TlvCaseSigma2Resume = exports.TlvCaseSigma2 = exports.TlvCaseSigma1 = exports.TBE_DATA3_NONCE = exports.TBE_DATA2_NONCE = exports.KDFSR3_INFO = exports.KDFSR2_INFO = exports.RESUME2_MIC_NONCE = exports.RESUME1_MIC_NONCE = exports.KDFSR2_KEY_INFO = exports.KDFSR1_KEY_INFO = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
7
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
const CryptoConstants_js_1 = require("../../crypto/CryptoConstants.js");
|
|
10
|
+
const TlvNumber_js_1 = require("../../tlv/TlvNumber.js");
|
|
11
|
+
const TlvObject_js_1 = require("../../tlv/TlvObject.js");
|
|
12
|
+
const TlvString_js_1 = require("../../tlv/TlvString.js");
|
|
13
|
+
const ByteArray_js_1 = require("../../util/ByteArray.js");
|
|
14
|
+
const CASE_SIGNATURE_LENGTH = CryptoConstants_js_1.CRYPTO_GROUP_SIZE_BYTES * 2;
|
|
15
|
+
const CASE2_ENCRYPTED_LENGTH = 800 + CryptoConstants_js_1.CRYPTO_AEAD_MIC_LENGTH_BYTES + CASE_SIGNATURE_LENGTH; // NOC + ICAC + CASE-Sig + Mic
|
|
16
|
+
exports.KDFSR1_KEY_INFO = ByteArray_js_1.ByteArray.fromString("Sigma1_Resume");
|
|
17
|
+
exports.KDFSR2_KEY_INFO = ByteArray_js_1.ByteArray.fromString("Sigma2_Resume");
|
|
18
|
+
exports.RESUME1_MIC_NONCE = ByteArray_js_1.ByteArray.fromString("NCASE_SigmaS1");
|
|
19
|
+
exports.RESUME2_MIC_NONCE = ByteArray_js_1.ByteArray.fromString("NCASE_SigmaS2");
|
|
20
|
+
exports.KDFSR2_INFO = ByteArray_js_1.ByteArray.fromString("Sigma2");
|
|
21
|
+
exports.KDFSR3_INFO = ByteArray_js_1.ByteArray.fromString("Sigma3");
|
|
22
|
+
exports.TBE_DATA2_NONCE = ByteArray_js_1.ByteArray.fromString("NCASE_Sigma2N");
|
|
23
|
+
exports.TBE_DATA3_NONCE = ByteArray_js_1.ByteArray.fromString("NCASE_Sigma3N");
|
|
24
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 2.12.5 */
|
|
25
|
+
const TlvSedParameters = (0, TlvObject_js_1.TlvObject)({
|
|
26
|
+
/** Maximum sleep interval of node when in idle mode. */
|
|
27
|
+
idleRetransTimeoutMs: (0, TlvObject_js_1.TlvOptionalField)(1, TlvNumber_js_1.TlvUInt32),
|
|
28
|
+
/** Maximum sleep interval of node when in active mode. */
|
|
29
|
+
activeRetransTimeoutMs: (0, TlvObject_js_1.TlvOptionalField)(2, TlvNumber_js_1.TlvUInt32), /* default: 300ms */
|
|
30
|
+
});
|
|
31
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
32
|
+
exports.TlvCaseSigma1 = (0, TlvObject_js_1.TlvObject)({
|
|
33
|
+
random: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString.bound({ length: 32 })),
|
|
34
|
+
sessionId: (0, TlvObject_js_1.TlvField)(2, TlvNumber_js_1.TlvUInt16),
|
|
35
|
+
destinationId: (0, TlvObject_js_1.TlvField)(3, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_HASH_LEN_BYTES })),
|
|
36
|
+
ecdhPublicKey: (0, TlvObject_js_1.TlvField)(4, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
37
|
+
mrpParams: (0, TlvObject_js_1.TlvOptionalField)(5, TlvSedParameters),
|
|
38
|
+
resumptionId: (0, TlvObject_js_1.TlvOptionalField)(6, TlvString_js_1.TlvByteString.bound({ length: 16 })),
|
|
39
|
+
resumeMic: (0, TlvObject_js_1.TlvOptionalField)(7, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_AEAD_MIC_LENGTH_BYTES })),
|
|
40
|
+
});
|
|
41
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
42
|
+
exports.TlvCaseSigma2 = (0, TlvObject_js_1.TlvObject)({
|
|
43
|
+
random: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString.bound({ length: 32 })),
|
|
44
|
+
sessionId: (0, TlvObject_js_1.TlvField)(2, TlvNumber_js_1.TlvUInt16),
|
|
45
|
+
ecdhPublicKey: (0, TlvObject_js_1.TlvField)(3, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
46
|
+
encrypted: (0, TlvObject_js_1.TlvField)(4, TlvString_js_1.TlvByteString.bound({ maxLength: CASE2_ENCRYPTED_LENGTH })),
|
|
47
|
+
mrpParams: (0, TlvObject_js_1.TlvOptionalField)(5, TlvSedParameters),
|
|
48
|
+
});
|
|
49
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
50
|
+
exports.TlvCaseSigma2Resume = (0, TlvObject_js_1.TlvObject)({
|
|
51
|
+
resumptionId: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString.bound({ length: 16 })),
|
|
52
|
+
resumeMic: (0, TlvObject_js_1.TlvField)(2, TlvString_js_1.TlvByteString.bound({ length: 16 })),
|
|
53
|
+
sessionId: (0, TlvObject_js_1.TlvField)(3, TlvNumber_js_1.TlvUInt16),
|
|
54
|
+
});
|
|
55
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
56
|
+
exports.TlvCaseSigma3 = (0, TlvObject_js_1.TlvObject)({
|
|
57
|
+
encrypted: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString),
|
|
58
|
+
});
|
|
59
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
60
|
+
exports.TlvSignedData = (0, TlvObject_js_1.TlvObject)({
|
|
61
|
+
nodeOpCert: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString),
|
|
62
|
+
intermediateCACert: (0, TlvObject_js_1.TlvOptionalField)(2, TlvString_js_1.TlvByteString),
|
|
63
|
+
ecdhPublicKey: (0, TlvObject_js_1.TlvField)(3, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
64
|
+
peerEcdhPublicKey: (0, TlvObject_js_1.TlvField)(4, TlvString_js_1.TlvByteString.bound({ length: CryptoConstants_js_1.CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
65
|
+
});
|
|
66
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
67
|
+
exports.TlvEncryptedDataSigma2 = (0, TlvObject_js_1.TlvObject)({
|
|
68
|
+
nodeOpCert: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString),
|
|
69
|
+
intermediateCACert: (0, TlvObject_js_1.TlvOptionalField)(2, TlvString_js_1.TlvByteString),
|
|
70
|
+
signature: (0, TlvObject_js_1.TlvField)(3, TlvString_js_1.TlvByteString.bound({ length: CASE_SIGNATURE_LENGTH })),
|
|
71
|
+
resumptionId: (0, TlvObject_js_1.TlvField)(4, TlvString_js_1.TlvByteString.bound({ length: 16 })),
|
|
72
|
+
});
|
|
73
|
+
/** @see {@link MatterCoreSpecificationV1_0} § 4.13.2.3 */
|
|
74
|
+
exports.TlvEncryptedDataSigma3 = (0, TlvObject_js_1.TlvObject)({
|
|
75
|
+
nodeOpCert: (0, TlvObject_js_1.TlvField)(1, TlvString_js_1.TlvByteString),
|
|
76
|
+
intermediateCACert: (0, TlvObject_js_1.TlvOptionalField)(2, TlvString_js_1.TlvByteString),
|
|
77
|
+
signature: (0, TlvObject_js_1.TlvField)(3, TlvString_js_1.TlvByteString.bound({ length: CASE_SIGNATURE_LENGTH })),
|
|
78
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MatterController } from "../../MatterController.js";
|
|
7
|
+
import { MatterDevice } from "../../MatterDevice.js";
|
|
8
|
+
import { TlvCaseSigma1, TlvCaseSigma2Resume, TlvCaseSigma2, TlvCaseSigma3 } from "./CaseMessages.js";
|
|
9
|
+
import { SecureChannelMessenger } from "../../protocol/securechannel/SecureChannelMessenger.js";
|
|
10
|
+
import { TypeFromSchema } from "../../tlv/TlvSchema.js";
|
|
11
|
+
export declare class CaseServerMessenger extends SecureChannelMessenger<MatterDevice> {
|
|
12
|
+
readSigma1(): Promise<{
|
|
13
|
+
sigma1Bytes: Uint8Array;
|
|
14
|
+
sigma1: {
|
|
15
|
+
sessionId: number;
|
|
16
|
+
random: Uint8Array;
|
|
17
|
+
destinationId: Uint8Array;
|
|
18
|
+
ecdhPublicKey: Uint8Array;
|
|
19
|
+
mrpParams?: {
|
|
20
|
+
idleRetransTimeoutMs?: number | undefined;
|
|
21
|
+
activeRetransTimeoutMs?: number | undefined;
|
|
22
|
+
} | undefined;
|
|
23
|
+
resumptionId?: Uint8Array | undefined;
|
|
24
|
+
resumeMic?: Uint8Array | undefined;
|
|
25
|
+
};
|
|
26
|
+
}>;
|
|
27
|
+
sendSigma2(sigma2: TypeFromSchema<typeof TlvCaseSigma2>): Promise<Uint8Array>;
|
|
28
|
+
sendSigma2Resume(sigma2Resume: TypeFromSchema<typeof TlvCaseSigma2Resume>): Promise<Uint8Array>;
|
|
29
|
+
readSigma3(): Promise<{
|
|
30
|
+
sigma3Bytes: Uint8Array;
|
|
31
|
+
sigma3: {
|
|
32
|
+
encrypted: Uint8Array;
|
|
33
|
+
};
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
export declare class CaseClientMessenger extends SecureChannelMessenger<MatterController> {
|
|
37
|
+
sendSigma1(sigma1: TypeFromSchema<typeof TlvCaseSigma1>): Promise<Uint8Array>;
|
|
38
|
+
readSigma2(): Promise<{
|
|
39
|
+
sigma2Bytes: Uint8Array;
|
|
40
|
+
sigma2: {
|
|
41
|
+
sessionId: number;
|
|
42
|
+
random: Uint8Array;
|
|
43
|
+
ecdhPublicKey: Uint8Array;
|
|
44
|
+
encrypted: Uint8Array;
|
|
45
|
+
mrpParams?: {
|
|
46
|
+
idleRetransTimeoutMs?: number | undefined;
|
|
47
|
+
activeRetransTimeoutMs?: number | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
};
|
|
50
|
+
sigma2Resume?: undefined;
|
|
51
|
+
} | {
|
|
52
|
+
sigma2Resume: {
|
|
53
|
+
sessionId: number;
|
|
54
|
+
resumptionId: Uint8Array;
|
|
55
|
+
resumeMic: Uint8Array;
|
|
56
|
+
};
|
|
57
|
+
sigma2Bytes?: undefined;
|
|
58
|
+
sigma2?: undefined;
|
|
59
|
+
}>;
|
|
60
|
+
sendSigma3(sigma3: TypeFromSchema<typeof TlvCaseSigma3>): Promise<Uint8Array>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=CaseMessenger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CaseMessenger.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,qBAAa,mBAAoB,SAAQ,sBAAsB,CAAC,YAAY,CAAC;IACnE,UAAU;;;;;;;;;;;;;;;IAKhB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;IAIvD,gBAAgB,CAAC,YAAY,EAAE,cAAc,CAAC,OAAO,mBAAmB,CAAC;IAInE,UAAU;;;;;;CAInB;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB,CAAC,gBAAgB,CAAC;IAC7E,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;IAIjD,UAAU;;;;;;;;;;;;;;;;;;;;;;IAYhB,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,aAAa,CAAC;CAG1D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CaseClientMessenger = exports.CaseServerMessenger = void 0;
|
|
18
|
+
const CaseMessages_js_1 = require("./CaseMessages.js");
|
|
19
|
+
const SecureChannelMessenger_js_1 = require("../../protocol/securechannel/SecureChannelMessenger.js");
|
|
20
|
+
class CaseServerMessenger extends SecureChannelMessenger_js_1.SecureChannelMessenger {
|
|
21
|
+
readSigma1() {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const { payload } = yield this.nextMessage(48 /* MessageType.Sigma1 */);
|
|
24
|
+
return { sigma1Bytes: payload, sigma1: CaseMessages_js_1.TlvCaseSigma1.decode(payload) };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
sendSigma2(sigma2) {
|
|
28
|
+
return this.send(sigma2, 49 /* MessageType.Sigma2 */, CaseMessages_js_1.TlvCaseSigma2);
|
|
29
|
+
}
|
|
30
|
+
sendSigma2Resume(sigma2Resume) {
|
|
31
|
+
return this.send(sigma2Resume, 51 /* MessageType.Sigma2Resume */, CaseMessages_js_1.TlvCaseSigma2Resume);
|
|
32
|
+
}
|
|
33
|
+
readSigma3() {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const { payload } = yield this.nextMessage(50 /* MessageType.Sigma3 */);
|
|
36
|
+
return { sigma3Bytes: payload, sigma3: CaseMessages_js_1.TlvCaseSigma3.decode(payload) };
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.CaseServerMessenger = CaseServerMessenger;
|
|
41
|
+
class CaseClientMessenger extends SecureChannelMessenger_js_1.SecureChannelMessenger {
|
|
42
|
+
sendSigma1(sigma1) {
|
|
43
|
+
return this.send(sigma1, 48 /* MessageType.Sigma1 */, CaseMessages_js_1.TlvCaseSigma1);
|
|
44
|
+
}
|
|
45
|
+
readSigma2() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
const { payload, payloadHeader: { messageType } } = yield this.nextMessage();
|
|
48
|
+
switch (messageType) {
|
|
49
|
+
case 49 /* MessageType.Sigma2 */:
|
|
50
|
+
return { sigma2Bytes: payload, sigma2: CaseMessages_js_1.TlvCaseSigma2.decode(payload) };
|
|
51
|
+
case 51 /* MessageType.Sigma2Resume */:
|
|
52
|
+
return { sigma2Resume: CaseMessages_js_1.TlvCaseSigma2Resume.decode(payload) };
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(`Received unexpected message type: ${messageType}, expected: ${49 /* MessageType.Sigma2 */} or ${51 /* MessageType.Sigma2Resume */}`);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
sendSigma3(sigma3) {
|
|
59
|
+
return this.send(sigma3, 50 /* MessageType.Sigma3 */, CaseMessages_js_1.TlvCaseSigma3);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.CaseClientMessenger = CaseClientMessenger;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MatterDevice } from "../../MatterDevice.js";
|
|
7
|
+
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
8
|
+
import { ProtocolHandler } from "../../protocol/ProtocolHandler.js";
|
|
9
|
+
export declare class CaseServer implements ProtocolHandler<MatterDevice> {
|
|
10
|
+
onNewExchange(exchange: MessageExchange<MatterDevice>): Promise<void>;
|
|
11
|
+
getId(): number;
|
|
12
|
+
private handleSigma1;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=CaseServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CaseServer.d.ts","sourceRoot":"","sources":["../../../../src/session/case/CaseServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAUpE,qBAAa,UAAW,YAAW,eAAe,CAAC,YAAY,CAAC;IACtD,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;IAU3D,KAAK,IAAI,MAAM;YAID,YAAY;CAgF7B"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.CaseServer = void 0;
|
|
18
|
+
const Crypto_js_1 = require("../../crypto/Crypto.js");
|
|
19
|
+
const CaseMessenger_js_1 = require("./CaseMessenger.js");
|
|
20
|
+
const CaseMessages_js_1 = require("./CaseMessages.js");
|
|
21
|
+
const CertificateManager_js_1 = require("../../certificate/CertificateManager.js");
|
|
22
|
+
const SecureChannelMessages_js_1 = require("../../protocol/securechannel/SecureChannelMessages.js");
|
|
23
|
+
const ByteArray_js_1 = require("../../util/ByteArray.js");
|
|
24
|
+
const Logger_js_1 = require("../../log/Logger.js");
|
|
25
|
+
const logger = Logger_js_1.Logger.get("CaseServer");
|
|
26
|
+
class CaseServer {
|
|
27
|
+
onNewExchange(exchange) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
const messenger = new CaseMessenger_js_1.CaseServerMessenger(exchange);
|
|
30
|
+
try {
|
|
31
|
+
yield this.handleSigma1(exchange.session.getContext(), messenger);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
logger.error("An error occurred during the commissioning", error);
|
|
35
|
+
yield messenger.sendError();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
getId() {
|
|
40
|
+
return SecureChannelMessages_js_1.SECURE_CHANNEL_PROTOCOL_ID;
|
|
41
|
+
}
|
|
42
|
+
handleSigma1(server, messenger) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
logger.info(`Case server: Received pairing request from ${messenger.getChannelName()}`);
|
|
45
|
+
// Generate pairing info
|
|
46
|
+
const sessionId = server.getNextAvailableSessionId();
|
|
47
|
+
const random = Crypto_js_1.Crypto.getRandom();
|
|
48
|
+
// Read and process sigma 1
|
|
49
|
+
const { sigma1Bytes, sigma1 } = yield messenger.readSigma1();
|
|
50
|
+
const { sessionId: peerSessionId, resumptionId: peerResumptionId, resumeMic: peerResumeMic, destinationId, random: peerRandom, ecdhPublicKey: peerEcdhPublicKey, mrpParams } = sigma1;
|
|
51
|
+
// Try to resume a previous session
|
|
52
|
+
const resumptionId = Crypto_js_1.Crypto.getRandomData(16);
|
|
53
|
+
let resumptionRecord;
|
|
54
|
+
// We try to resume the session
|
|
55
|
+
if (peerResumptionId !== undefined && peerResumeMic !== undefined && (resumptionRecord = server.findResumptionRecordById(peerResumptionId)) !== undefined) {
|
|
56
|
+
const { sharedSecret, fabric, peerNodeId } = resumptionRecord;
|
|
57
|
+
const peerResumeKey = yield Crypto_js_1.Crypto.hkdf(sharedSecret, ByteArray_js_1.ByteArray.concat(peerRandom, peerResumptionId), CaseMessages_js_1.KDFSR1_KEY_INFO);
|
|
58
|
+
Crypto_js_1.Crypto.decrypt(peerResumeKey, peerResumeMic, CaseMessages_js_1.RESUME1_MIC_NONCE);
|
|
59
|
+
// All good! Create secure session
|
|
60
|
+
const secureSessionSalt = ByteArray_js_1.ByteArray.concat(peerRandom, peerResumptionId);
|
|
61
|
+
const secureSession = yield server.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, secureSessionSalt, false, true, mrpParams === null || mrpParams === void 0 ? void 0 : mrpParams.idleRetransTimeoutMs, mrpParams === null || mrpParams === void 0 ? void 0 : mrpParams.activeRetransTimeoutMs);
|
|
62
|
+
// Generate sigma 2 resume
|
|
63
|
+
const resumeSalt = ByteArray_js_1.ByteArray.concat(peerRandom, resumptionId);
|
|
64
|
+
const resumeKey = yield Crypto_js_1.Crypto.hkdf(sharedSecret, resumeSalt, CaseMessages_js_1.KDFSR2_KEY_INFO);
|
|
65
|
+
const resumeMic = Crypto_js_1.Crypto.encrypt(resumeKey, new ByteArray_js_1.ByteArray(0), CaseMessages_js_1.RESUME2_MIC_NONCE);
|
|
66
|
+
try {
|
|
67
|
+
yield messenger.sendSigma2Resume({ resumptionId, resumeMic, sessionId });
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// If we fail to send the resume, we destroy the session
|
|
71
|
+
secureSession.destroy();
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
logger.info(`Case server: session ${secureSession.getId()} resumed with ${messenger.getChannelName()}`);
|
|
75
|
+
resumptionRecord.resumptionId = resumptionId; /* Update the ID */
|
|
76
|
+
// Wait for success on the peer side
|
|
77
|
+
yield messenger.waitForSuccess();
|
|
78
|
+
messenger.close();
|
|
79
|
+
server.saveResumptionRecord(resumptionRecord);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
// Generate sigma 2
|
|
83
|
+
const fabric = server.findFabricFromDestinationId(destinationId, peerRandom);
|
|
84
|
+
const { operationalCert: nodeOpCert, intermediateCACert, operationalIdentityProtectionKey } = fabric;
|
|
85
|
+
const { publicKey: ecdhPublicKey, sharedSecret } = Crypto_js_1.Crypto.ecdhGeneratePublicKeyAndSecret(peerEcdhPublicKey);
|
|
86
|
+
const sigma2Salt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, random, ecdhPublicKey, Crypto_js_1.Crypto.hash(sigma1Bytes));
|
|
87
|
+
const sigma2Key = yield Crypto_js_1.Crypto.hkdf(sharedSecret, sigma2Salt, CaseMessages_js_1.KDFSR2_INFO);
|
|
88
|
+
const signatureData = CaseMessages_js_1.TlvSignedData.encode({ nodeOpCert, intermediateCACert, ecdhPublicKey, peerEcdhPublicKey });
|
|
89
|
+
const signature = fabric.sign(signatureData);
|
|
90
|
+
const encryptedData = CaseMessages_js_1.TlvEncryptedDataSigma2.encode({ nodeOpCert, intermediateCACert, signature, resumptionId });
|
|
91
|
+
const encrypted = Crypto_js_1.Crypto.encrypt(sigma2Key, encryptedData, CaseMessages_js_1.TBE_DATA2_NONCE);
|
|
92
|
+
const sigma2Bytes = yield messenger.sendSigma2({ random, sessionId, ecdhPublicKey, encrypted, mrpParams });
|
|
93
|
+
// Read and process sigma 3
|
|
94
|
+
const { sigma3Bytes, sigma3: { encrypted: peerEncrypted } } = yield messenger.readSigma3();
|
|
95
|
+
const sigma3Salt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, Crypto_js_1.Crypto.hash([sigma1Bytes, sigma2Bytes]));
|
|
96
|
+
const sigma3Key = yield Crypto_js_1.Crypto.hkdf(sharedSecret, sigma3Salt, CaseMessages_js_1.KDFSR3_INFO);
|
|
97
|
+
const peerEncryptedData = Crypto_js_1.Crypto.decrypt(sigma3Key, peerEncrypted, CaseMessages_js_1.TBE_DATA3_NONCE);
|
|
98
|
+
const { nodeOpCert: peerNewOpCert, intermediateCACert: peerIntermediateCACert, signature: peerSignature } = CaseMessages_js_1.TlvEncryptedDataSigma3.decode(peerEncryptedData);
|
|
99
|
+
fabric.verifyCredentials(peerNewOpCert, peerIntermediateCACert);
|
|
100
|
+
const peerSignatureData = CaseMessages_js_1.TlvSignedData.encode({ nodeOpCert: peerNewOpCert, intermediateCACert: peerIntermediateCACert, ecdhPublicKey: peerEcdhPublicKey, peerEcdhPublicKey: ecdhPublicKey });
|
|
101
|
+
const { ellipticCurvePublicKey: peerPublicKey, subject: { nodeId: peerNodeId } } = CertificateManager_js_1.TlvOperationalCertificate.decode(peerNewOpCert);
|
|
102
|
+
Crypto_js_1.Crypto.verifySpki(peerPublicKey, peerSignatureData, peerSignature);
|
|
103
|
+
// All good! Create secure session
|
|
104
|
+
const secureSessionSalt = ByteArray_js_1.ByteArray.concat(operationalIdentityProtectionKey, Crypto_js_1.Crypto.hash([sigma1Bytes, sigma2Bytes, sigma3Bytes]));
|
|
105
|
+
const secureSession = yield server.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, secureSessionSalt, false, false, mrpParams === null || mrpParams === void 0 ? void 0 : mrpParams.idleRetransTimeoutMs, mrpParams === null || mrpParams === void 0 ? void 0 : mrpParams.activeRetransTimeoutMs);
|
|
106
|
+
logger.info(`Case server: session ${secureSession.getId()} created with ${messenger.getChannelName()}`);
|
|
107
|
+
yield messenger.sendSuccess();
|
|
108
|
+
resumptionRecord = { peerNodeId, fabric, sharedSecret, resumptionId };
|
|
109
|
+
messenger.close();
|
|
110
|
+
server.saveResumptionRecord(resumptionRecord);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.CaseServer = CaseServer;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./SecureSession.js";
|
|
7
|
+
export * from "./SessionManager.js";
|
|
8
|
+
export * from "./Session.js";
|
|
9
|
+
export * from "./UnsecureSession.js";
|
|
10
|
+
export * from "./pase/PaseClient.js";
|
|
11
|
+
export * from "./pase/PaseMessages.js";
|
|
12
|
+
export * from "./pase/PaseMessenger.js";
|
|
13
|
+
export * from "./pase/PaseServer.js";
|
|
14
|
+
export * from "./case/CaseClient.js";
|
|
15
|
+
export * from "./case/CaseMessages.js";
|
|
16
|
+
export * from "./case/CaseMessenger.js";
|
|
17
|
+
export * from "./case/CaseServer.js";
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
5
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
// Export generic Session classes
|
|
23
|
+
__exportStar(require("./SecureSession.js"), exports);
|
|
24
|
+
__exportStar(require("./SessionManager.js"), exports);
|
|
25
|
+
__exportStar(require("./Session.js"), exports);
|
|
26
|
+
__exportStar(require("./UnsecureSession.js"), exports);
|
|
27
|
+
// Export PaseSession classes
|
|
28
|
+
__exportStar(require("./pase/PaseClient.js"), exports);
|
|
29
|
+
__exportStar(require("./pase/PaseMessages.js"), exports);
|
|
30
|
+
__exportStar(require("./pase/PaseMessenger.js"), exports);
|
|
31
|
+
__exportStar(require("./pase/PaseServer.js"), exports);
|
|
32
|
+
// Export CaseSession classes
|
|
33
|
+
__exportStar(require("./case/CaseClient.js"), exports);
|
|
34
|
+
__exportStar(require("./case/CaseMessages.js"), exports);
|
|
35
|
+
__exportStar(require("./case/CaseMessenger.js"), exports);
|
|
36
|
+
__exportStar(require("./case/CaseServer.js"), exports);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
7
|
+
import { MatterController } from "../../MatterController.js";
|
|
8
|
+
import { SecureSession } from "../SecureSession.js";
|
|
9
|
+
export declare class PaseClient {
|
|
10
|
+
pair(client: MatterController, exchange: MessageExchange<MatterController>, setupPin: number): Promise<SecureSession<MatterController>>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=PaseClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaseClient.d.ts","sourceRoot":"","sources":["../../../../src/session/pase/PaseClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,qBAAa,UAAU;IACb,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM;CA8BrG"}
|