@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
package/README.md
CHANGED
|
@@ -1,27 +1,73 @@
|
|
|
1
1
|
# matter.js
|
|
2
2
|
|
|
3
|
-
 [](https://raw.githubusercontent.com/project-chip/matter.js/master/LICENSE)
|
|
4
|
-
|
|
5
3
|
Implementation of Matter protocol in typescript with no native dependencies (and very limited dependencies).
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
This is the JavaScript only Core of the Matter protocol. It is used by other projects to implement Matter Nodes and Clients and add the relevant specific implementations for Network and other elements.
|
|
6
|
+
|
|
7
|
+
The following features are abstracted away to allow to be implemented environment specific:
|
|
8
|
+
* Network (UDP/MDNS)
|
|
9
|
+
* Crypto (to be split out)
|
|
10
|
+
* Storage
|
|
11
|
+
* Date/Timer
|
|
12
|
+
* Logger (Default uses "console")
|
|
13
|
+
|
|
14
|
+
## Exported functionality
|
|
15
|
+
This library exports the Matter protocol functionality as well as some helper functions as named exports:
|
|
16
|
+
|
|
17
|
+
| Export | Description |
|
|
18
|
+
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
|
|
19
|
+
| `@project-chip/matter.js` | Exports the current (legacy!) low level API to implement a Device or a Controller. This will be replaced soon by the new High Level API! |
|
|
20
|
+
| `@project-chip/matter.js/certificate` | Exports Certificate (Root-/PAA/PAI/IAC/DA-Certificates) related functionality |
|
|
21
|
+
| `@project-chip/matter.js/cluster` | Exports Matter Cluster definitions and Default Cluster-Handlers |
|
|
22
|
+
| `@project-chip/matter.js/codec` | Exports Codecs for e.g. Matter-Messages |
|
|
23
|
+
| `@project-chip/matter.js/common` | Exports certain common functionalities |
|
|
24
|
+
| `@project-chip/matter.js/crypto` | Exports Crypto related abstract functionality that needs to be implemented platform specific! |
|
|
25
|
+
| `@project-chip/matter.js/datatype` | Exports Matter Data types |
|
|
26
|
+
| `@project-chip/matter.js/fabric` | Exports Matter-Fabric functionality |
|
|
27
|
+
| `@project-chip/matter.js/interaction` | Exports Matter Interaction protocol functionality |
|
|
28
|
+
| `@project-chip/matter.js/log` | Exports Logging functionality (based on "console") |
|
|
29
|
+
| `@project-chip/matter.js/math` | Exports Math functionality used by Matter |
|
|
30
|
+
| `@project-chip/matter.js/mdns` | Exports Basic MDNS functionality (uses Network implementation) |
|
|
31
|
+
| `@project-chip/matter.js/net` | Exports Basic Network abstract functionality that needs to be implemented platform specific! |
|
|
32
|
+
| `@project-chip/matter.js/protocol` | Exports Basic Matter protocol functionality |
|
|
33
|
+
| `@project-chip/matter.js/schema` | Exports Schema definitions and functionality |
|
|
34
|
+
| `@project-chip/matter.js/securechannel` | Exports Secure Channel functionality |
|
|
35
|
+
| `@project-chip/matter.js/session` | Exports Session and Secure-Session functionality |
|
|
36
|
+
| `@project-chip/matter.js/spec` | Exports Matter Specification References |
|
|
37
|
+
| `@project-chip/matter.js/storage` | Exports Basic Storage abstract functionality that needs to be implemented platform specific! |
|
|
38
|
+
| `@project-chip/matter.js/time` | Exports Basic Time/Timer abstract functionality that needs to be implemented platform specific! |
|
|
39
|
+
| `@project-chip/matter.js/tlv` | Exports Matter TLV type definitions |
|
|
40
|
+
| `@project-chip/matter.js/util` | Exports Basic Utility functionality |
|
|
8
41
|
|
|
9
|
-
|
|
42
|
+
Both exports and the typings are exported as CommonJS and ES6 modules.
|
|
10
43
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
44
|
+
### Typescript note
|
|
45
|
+
To have Typescript and your IDE know all the relevant exported functionality you need to use the following in your tsconfig.json:
|
|
46
|
+
|
|
47
|
+
```json5
|
|
48
|
+
{
|
|
49
|
+
"compilerOptions": {
|
|
50
|
+
"moduleResolution": "node16", // Required to support package.json exports
|
|
51
|
+
"module": "node16" // Required to make sure all imports are js
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
14
55
|
|
|
15
56
|
## matter.js usage
|
|
16
57
|
|
|
17
58
|
matter.js is used at the core of those two projects:
|
|
18
59
|
* [matternode](https://github.com/project-chip/matternode): a light-weight node.js implementation of a Matter Node
|
|
19
|
-
* [node
|
|
60
|
+
* [matter-node.js](../matter-node.js/README.md): a Matter client / server running on node.js compatible with HA (Android / iOs support in progress)
|
|
20
61
|
|
|
21
|
-
##
|
|
62
|
+
## Building
|
|
22
63
|
|
|
23
|
-
|
|
64
|
+
* `npm run build`: Build all code and create CommonJS and ES6 variants in dist directory. This will built incrementally and only build the changed files.
|
|
65
|
+
* `npm run build-clean`: Clean the dist directory and build all code from scratch
|
|
66
|
+
|
|
67
|
+
## Tests
|
|
24
68
|
|
|
25
|
-
|
|
69
|
+
* `npm run test-node`: Run tests in node.js
|
|
70
|
+
* `npm run test-web`: Run tests in the browser
|
|
71
|
+
* `npm run test`: Run all tests
|
|
26
72
|
|
|
27
|
-
test-web will create a /coverage directory
|
|
73
|
+
test-web will create a /coverage directory containing the test code coverage
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ResumptionRecord } from "./session/SessionManager.js";
|
|
7
|
+
import { NetInterface } from "./net/NetInterface.js";
|
|
8
|
+
import { InteractionClient } from "./protocol/interaction/InteractionClient.js";
|
|
9
|
+
import { NodeId } from "./datatype/NodeId.js";
|
|
10
|
+
import { RootCertificateManager } from "./certificate/RootCertificateManager.js";
|
|
11
|
+
import { Scanner } from "./common/Scanner.js";
|
|
12
|
+
import { Fabric } from "./fabric/Fabric.js";
|
|
13
|
+
import { MessageChannel } from "./protocol/ExchangeManager.js";
|
|
14
|
+
import { ByteArray } from "./util/ByteArray.js";
|
|
15
|
+
import { StorageManager } from "./storage/StorageManager.js";
|
|
16
|
+
export declare class MatterController {
|
|
17
|
+
private readonly scanner;
|
|
18
|
+
private readonly netInterfaceIpv4;
|
|
19
|
+
private readonly netInterfaceIpv6;
|
|
20
|
+
private readonly certificateManager;
|
|
21
|
+
private readonly fabric;
|
|
22
|
+
private readonly storageManager;
|
|
23
|
+
static create(scanner: Scanner, netInterfaceIpv4: NetInterface, netInterfaceIpv6: NetInterface, storageManager: StorageManager): Promise<MatterController>;
|
|
24
|
+
private readonly sessionManager;
|
|
25
|
+
private readonly channelManager;
|
|
26
|
+
private readonly exchangeManager;
|
|
27
|
+
private readonly paseClient;
|
|
28
|
+
private readonly caseClient;
|
|
29
|
+
private readonly controllerStorage;
|
|
30
|
+
constructor(scanner: Scanner, netInterfaceIpv4: NetInterface, netInterfaceIpv6: NetInterface, certificateManager: RootCertificateManager, fabric: Fabric, storageManager: StorageManager);
|
|
31
|
+
commission(commissionAddress: string, commissionPort: number, _discriminator: number, setupPin: number): Promise<NodeId>;
|
|
32
|
+
resume(peerNodeId: NodeId, timeoutSeconds?: number): Promise<MessageChannel<unknown>>;
|
|
33
|
+
pair(peerNodeId: NodeId, operationalIp: string, operationalPort: number): Promise<MessageChannel<unknown>>;
|
|
34
|
+
isCommissioned(): false;
|
|
35
|
+
connect(nodeId: NodeId, timeoutSeconds?: number): Promise<InteractionClient>;
|
|
36
|
+
private ensureSuccess;
|
|
37
|
+
getNextAvailableSessionId(): any;
|
|
38
|
+
getFabric(): Fabric;
|
|
39
|
+
createSecureSession(sessionId: number, fabric: Fabric | undefined, peerNodeId: NodeId, peerSessionId: number, sharedSecret: ByteArray, salt: ByteArray, isInitiator: boolean, isResumption: boolean, idleRetransTimeoutMs?: number, activeRetransTimeoutMs?: number): any;
|
|
40
|
+
getResumptionRecord(resumptionId: ByteArray): any;
|
|
41
|
+
findResumptionRecordByNodeId(nodeId: NodeId): any;
|
|
42
|
+
saveResumptionRecord(resumptionRecord: ResumptionRecord): any;
|
|
43
|
+
announce(): void;
|
|
44
|
+
close(): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=MatterController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatterController.d.ts","sourceRoot":"","sources":["../../src/MatterController.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,gBAAgB,EAAkB,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAiB,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAE/F,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAmC,MAAM,oBAAoB,CAAC;AAG7E,OAAO,EAAqC,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAKlG,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAS7D,qBAAa,gBAAgB;IA8BrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;WAlCf,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc;IAqB3I,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiB;gBAG9B,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,YAAY,EAC9B,gBAAgB,EAAE,YAAY,EAC9B,kBAAkB,EAAE,sBAAsB,EAC1C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc;IAY7C,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA+DtG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,SAAK;IAQ9C,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAW7E,cAAc;IAIR,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;IAkBrD,OAAO,CAAC,aAAa;IAKrB,yBAAyB;IAIzB,SAAS;IAIT,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM;IAInQ,mBAAmB,CAAC,YAAY,EAAE,SAAS;IAI3C,4BAA4B,CAAC,MAAM,EAAE,MAAM;IAI3C,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB;IAIvD,QAAQ;IAIR,KAAK;CAIR"}
|
|
@@ -0,0 +1,211 @@
|
|
|
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.MatterController = void 0;
|
|
18
|
+
const SecureChannelMessages_js_1 = require("./protocol/securechannel/SecureChannelMessages.js");
|
|
19
|
+
const SessionManager_js_1 = require("./session/SessionManager.js");
|
|
20
|
+
const PaseClient_js_1 = require("./session/pase/PaseClient.js");
|
|
21
|
+
const CaseClient_js_1 = require("./session/case/CaseClient.js");
|
|
22
|
+
const InteractionClient_js_1 = require("./protocol/interaction/InteractionClient.js");
|
|
23
|
+
const FabricIndex_js_1 = require("./datatype/FabricIndex.js");
|
|
24
|
+
const NodeId_js_1 = require("./datatype/NodeId.js");
|
|
25
|
+
const VendorId_js_1 = require("./datatype/VendorId.js");
|
|
26
|
+
const Crypto_js_1 = require("./crypto/Crypto.js");
|
|
27
|
+
const CertificateManager_js_1 = require("./certificate/CertificateManager.js");
|
|
28
|
+
const RootCertificateManager_js_1 = require("./certificate/RootCertificateManager.js");
|
|
29
|
+
const Logger_js_1 = require("./log/Logger.js");
|
|
30
|
+
const Fabric_js_1 = require("./fabric/Fabric.js");
|
|
31
|
+
const ChannelManager_js_1 = require("./protocol/ChannelManager.js");
|
|
32
|
+
const ExchangeManager_js_1 = require("./protocol/ExchangeManager.js");
|
|
33
|
+
const Ip_js_1 = require("./util/Ip.js");
|
|
34
|
+
const BasicInformationCluster_js_1 = require("./cluster/BasicInformationCluster.js");
|
|
35
|
+
const GeneralCommissioningCluster_js_1 = require("./cluster/GeneralCommissioningCluster.js");
|
|
36
|
+
const OperationalCredentialsCluster_js_1 = require("./cluster/OperationalCredentialsCluster.js");
|
|
37
|
+
const ByteArray_js_1 = require("./util/ByteArray.js");
|
|
38
|
+
const FABRIC_INDEX = new FabricIndex_js_1.FabricIndex(1);
|
|
39
|
+
const FABRIC_ID = BigInt(1);
|
|
40
|
+
const CONTROLLER_NODE_ID = new NodeId_js_1.NodeId(BigInt(1));
|
|
41
|
+
const ADMIN_VENDOR_ID = new VendorId_js_1.VendorId(752);
|
|
42
|
+
const logger = Logger_js_1.Logger.get("MatterController");
|
|
43
|
+
class MatterController {
|
|
44
|
+
static create(scanner, netInterfaceIpv4, netInterfaceIpv6, storageManager) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const certificateManager = new RootCertificateManager_js_1.RootCertificateManager(storageManager);
|
|
47
|
+
const ipkValue = Crypto_js_1.Crypto.getRandomData(16);
|
|
48
|
+
const fabricBuilder = new Fabric_js_1.FabricBuilder(FABRIC_INDEX)
|
|
49
|
+
.setRootCert(certificateManager.getRootCert())
|
|
50
|
+
.setRootNodeId(CONTROLLER_NODE_ID)
|
|
51
|
+
.setIdentityProtectionKey(ipkValue)
|
|
52
|
+
.setRootVendorId(ADMIN_VENDOR_ID);
|
|
53
|
+
fabricBuilder.setOperationalCert(certificateManager.generateNoc(fabricBuilder.getPublicKey(), FABRIC_ID, CONTROLLER_NODE_ID));
|
|
54
|
+
// Check if we have a fabric stored in the storage, if yes initialize this one, else build a new one
|
|
55
|
+
const controllerStorage = storageManager.createContext("MatterController");
|
|
56
|
+
if (controllerStorage.has("fabric")) {
|
|
57
|
+
const storedFabric = Fabric_js_1.Fabric.createFromStorageObject(controllerStorage.get("fabric"));
|
|
58
|
+
return new MatterController(scanner, netInterfaceIpv4, netInterfaceIpv6, certificateManager, storedFabric, storageManager);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return new MatterController(scanner, netInterfaceIpv4, netInterfaceIpv6, certificateManager, yield fabricBuilder.build(), storageManager);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
constructor(scanner, netInterfaceIpv4, netInterfaceIpv6, certificateManager, fabric, storageManager) {
|
|
66
|
+
this.scanner = scanner;
|
|
67
|
+
this.netInterfaceIpv4 = netInterfaceIpv4;
|
|
68
|
+
this.netInterfaceIpv6 = netInterfaceIpv6;
|
|
69
|
+
this.certificateManager = certificateManager;
|
|
70
|
+
this.fabric = fabric;
|
|
71
|
+
this.storageManager = storageManager;
|
|
72
|
+
this.channelManager = new ChannelManager_js_1.ChannelManager();
|
|
73
|
+
this.paseClient = new PaseClient_js_1.PaseClient();
|
|
74
|
+
this.caseClient = new CaseClient_js_1.CaseClient();
|
|
75
|
+
this.controllerStorage = this.storageManager.createContext("MatterController");
|
|
76
|
+
this.sessionManager = new SessionManager_js_1.SessionManager(this, this.storageManager);
|
|
77
|
+
this.sessionManager.initFromStorage([this.fabric]);
|
|
78
|
+
this.exchangeManager = new ExchangeManager_js_1.ExchangeManager(this.sessionManager, this.channelManager);
|
|
79
|
+
this.exchangeManager.addNetInterface(netInterfaceIpv4);
|
|
80
|
+
this.exchangeManager.addNetInterface(netInterfaceIpv6);
|
|
81
|
+
}
|
|
82
|
+
commission(commissionAddress, commissionPort, _discriminator, setupPin) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
const paseInterface = (0, Ip_js_1.isIPv6)(commissionAddress) ? this.netInterfaceIpv6 : this.netInterfaceIpv4;
|
|
85
|
+
const paseChannel = yield paseInterface.openChannel(commissionAddress, commissionPort);
|
|
86
|
+
// Do PASE paring
|
|
87
|
+
const paseUnsecureMessageChannel = new ExchangeManager_js_1.MessageChannel(paseChannel, this.sessionManager.getUnsecureSession());
|
|
88
|
+
const paseSecureSession = yield this.paseClient.pair(this, this.exchangeManager.initiateExchangeWithChannel(paseUnsecureMessageChannel, SecureChannelMessages_js_1.SECURE_CHANNEL_PROTOCOL_ID), setupPin);
|
|
89
|
+
// Use the created secure session to do the commissioning
|
|
90
|
+
const paseSecureMessageChannel = new ExchangeManager_js_1.MessageChannel(paseChannel, paseSecureSession);
|
|
91
|
+
let interactionClient = new InteractionClient_js_1.InteractionClient(new ExchangeManager_js_1.ExchangeProvider(this.exchangeManager, paseSecureMessageChannel));
|
|
92
|
+
// Get and display the product name (just for debugging)
|
|
93
|
+
const basicClusterClient = (0, InteractionClient_js_1.ClusterClient)(interactionClient, 0, BasicInformationCluster_js_1.BasicInformationCluster);
|
|
94
|
+
const productName = yield basicClusterClient.getProductName();
|
|
95
|
+
logger.info("Paired with device:", productName);
|
|
96
|
+
// Do the commissioning
|
|
97
|
+
let generalCommissioningClusterClient = (0, InteractionClient_js_1.ClusterClient)(interactionClient, 0, GeneralCommissioningCluster_js_1.GeneralCommissioningCluster);
|
|
98
|
+
this.ensureSuccess(yield generalCommissioningClusterClient.armFailSafe({ breadcrumb: BigInt(1), expiryLengthSeconds: 60 }));
|
|
99
|
+
this.ensureSuccess(yield generalCommissioningClusterClient.setRegulatoryConfig({ breadcrumb: BigInt(2), newRegulatoryConfig: 2 /* RegulatoryLocationType.IndoorOutdoor */, countryCode: "US" }));
|
|
100
|
+
const operationalCredentialsClusterClient = (0, InteractionClient_js_1.ClusterClient)(interactionClient, 0, OperationalCredentialsCluster_js_1.OperationalCredentialsCluster);
|
|
101
|
+
const { certificate: deviceAttestation } = yield operationalCredentialsClusterClient.requestCertChain({ type: 1 /* CertificateChainType.DeviceAttestation */ });
|
|
102
|
+
// TODO: extract device public key from deviceAttestation
|
|
103
|
+
const { certificate: productAttestation } = yield operationalCredentialsClusterClient.requestCertChain({ type: 2 /* CertificateChainType.ProductAttestationIntermediate */ });
|
|
104
|
+
// TODO: validate deviceAttestation and productAttestation
|
|
105
|
+
const { elements: attestationElements, signature: attestationSignature } = yield operationalCredentialsClusterClient.requestAttestation({ attestationNonce: Crypto_js_1.Crypto.getRandomData(32) });
|
|
106
|
+
// TODO: validate attestationSignature using device public key
|
|
107
|
+
const { elements: csrElements, signature: csrSignature } = yield operationalCredentialsClusterClient.requestCertSigning({ certSigningRequestNonce: Crypto_js_1.Crypto.getRandomData(32) });
|
|
108
|
+
if (deviceAttestation.length === 0 || productAttestation.length === 0 || attestationElements.length === 0 || attestationSignature.length === 0 || csrElements.length === 0 || csrSignature.length === 0) {
|
|
109
|
+
// TODO: validate the data really
|
|
110
|
+
throw new Error("Invalid response from device");
|
|
111
|
+
}
|
|
112
|
+
// TOTO: validate csrSignature using device public key
|
|
113
|
+
const { certSigningRequest } = OperationalCredentialsCluster_js_1.TlvCertSigningRequest.decode(csrElements);
|
|
114
|
+
const operationalPublicKey = CertificateManager_js_1.CertificateManager.getPublicKeyFromCsr(certSigningRequest);
|
|
115
|
+
yield operationalCredentialsClusterClient.addRootCert({ certificate: this.certificateManager.getRootCert() });
|
|
116
|
+
const peerNodeId = new NodeId_js_1.NodeId(BigInt(1));
|
|
117
|
+
const peerOperationalCert = this.certificateManager.generateNoc(operationalPublicKey, FABRIC_ID, peerNodeId);
|
|
118
|
+
yield operationalCredentialsClusterClient.addOperationalCert({
|
|
119
|
+
operationalCert: peerOperationalCert,
|
|
120
|
+
intermediateCaCert: new ByteArray_js_1.ByteArray(0),
|
|
121
|
+
identityProtectionKey: this.fabric.identityProtectionKey,
|
|
122
|
+
adminVendorId: ADMIN_VENDOR_ID,
|
|
123
|
+
caseAdminNode: CONTROLLER_NODE_ID,
|
|
124
|
+
});
|
|
125
|
+
// Look for the device broadcast over MDNS and do CASE pairing
|
|
126
|
+
interactionClient = yield this.connect(peerNodeId, 5);
|
|
127
|
+
// Complete the commission
|
|
128
|
+
generalCommissioningClusterClient = (0, InteractionClient_js_1.ClusterClient)(interactionClient, 0, GeneralCommissioningCluster_js_1.GeneralCommissioningCluster);
|
|
129
|
+
this.ensureSuccess(yield generalCommissioningClusterClient.commissioningComplete());
|
|
130
|
+
this.controllerStorage.set("fabric", this.fabric.toStorageObject());
|
|
131
|
+
this.controllerStorage.set("fabricCommissioned", true);
|
|
132
|
+
return peerNodeId;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
resume(peerNodeId, timeoutSeconds = 60) {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
const scanResult = yield this.scanner.findDevice(this.fabric, peerNodeId, timeoutSeconds);
|
|
138
|
+
if (scanResult === undefined)
|
|
139
|
+
throw new Error("The device being commissioned cannot be found on the network");
|
|
140
|
+
const { ip: operationalIp, port: operationalPort } = scanResult;
|
|
141
|
+
return this.pair(peerNodeId, operationalIp, operationalPort);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
pair(peerNodeId, operationalIp, operationalPort) {
|
|
145
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
+
// Do CASE pairing
|
|
147
|
+
const operationalInterface = (0, Ip_js_1.isIPv6)(operationalIp) ? this.netInterfaceIpv6 : this.netInterfaceIpv4;
|
|
148
|
+
const operationalChannel = yield operationalInterface.openChannel(operationalIp, operationalPort);
|
|
149
|
+
const operationalUnsecureMessageExchange = new ExchangeManager_js_1.MessageChannel(operationalChannel, this.sessionManager.getUnsecureSession());
|
|
150
|
+
const operationalSecureSession = yield this.caseClient.pair(this, this.exchangeManager.initiateExchangeWithChannel(operationalUnsecureMessageExchange, SecureChannelMessages_js_1.SECURE_CHANNEL_PROTOCOL_ID), this.fabric, peerNodeId);
|
|
151
|
+
const channel = new ExchangeManager_js_1.MessageChannel(operationalChannel, operationalSecureSession);
|
|
152
|
+
this.channelManager.setChannel(this.fabric, peerNodeId, channel);
|
|
153
|
+
return channel;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
isCommissioned() {
|
|
157
|
+
return this.controllerStorage.get("fabricCommissioned", false);
|
|
158
|
+
}
|
|
159
|
+
connect(nodeId, timeoutSeconds) {
|
|
160
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
+
let channel;
|
|
162
|
+
try {
|
|
163
|
+
channel = this.channelManager.getChannel(this.fabric, nodeId);
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
if (error instanceof ChannelManager_js_1.NoChannelError) {
|
|
167
|
+
channel = yield this.resume(nodeId, timeoutSeconds);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
throw error;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return new InteractionClient_js_1.InteractionClient(new ExchangeManager_js_1.ExchangeProvider(this.exchangeManager, channel, () => __awaiter(this, void 0, void 0, function* () {
|
|
174
|
+
this.channelManager.removeChannel(this.fabric, nodeId);
|
|
175
|
+
yield this.resume(nodeId);
|
|
176
|
+
return this.channelManager.getChannel(this.fabric, nodeId);
|
|
177
|
+
})));
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
ensureSuccess({ errorCode, debugText }) {
|
|
181
|
+
if (errorCode === 0 /* CommissioningError.Ok */)
|
|
182
|
+
return;
|
|
183
|
+
throw new Error(`Commission error: ${errorCode}, ${debugText}`);
|
|
184
|
+
}
|
|
185
|
+
getNextAvailableSessionId() {
|
|
186
|
+
return this.sessionManager.getNextAvailableSessionId();
|
|
187
|
+
}
|
|
188
|
+
getFabric() {
|
|
189
|
+
return this.fabric;
|
|
190
|
+
}
|
|
191
|
+
createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, salt, isInitiator, isResumption, idleRetransTimeoutMs, activeRetransTimeoutMs) {
|
|
192
|
+
return this.sessionManager.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, salt, isInitiator, isResumption, idleRetransTimeoutMs, activeRetransTimeoutMs);
|
|
193
|
+
}
|
|
194
|
+
getResumptionRecord(resumptionId) {
|
|
195
|
+
return this.sessionManager.findResumptionRecordById(resumptionId);
|
|
196
|
+
}
|
|
197
|
+
findResumptionRecordByNodeId(nodeId) {
|
|
198
|
+
return this.sessionManager.findResumptionRecordByNodeId(nodeId);
|
|
199
|
+
}
|
|
200
|
+
saveResumptionRecord(resumptionRecord) {
|
|
201
|
+
return this.sessionManager.saveResumptionRecord(resumptionRecord);
|
|
202
|
+
}
|
|
203
|
+
announce() {
|
|
204
|
+
// nothing TODO
|
|
205
|
+
}
|
|
206
|
+
close() {
|
|
207
|
+
this.scanner.close();
|
|
208
|
+
this.exchangeManager.close();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.MatterController = MatterController;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Session } from "./session/Session.js";
|
|
7
|
+
import { ResumptionRecord } from "./session/SessionManager.js";
|
|
8
|
+
import { Fabric } from "./fabric/Fabric.js";
|
|
9
|
+
import { Channel } from "./net/Channel.js";
|
|
10
|
+
import { NetInterface } from "./net/NetInterface.js";
|
|
11
|
+
import { ProtocolHandler } from "./protocol/ProtocolHandler.js";
|
|
12
|
+
import { Broadcaster } from "./common/Broadcaster.js";
|
|
13
|
+
import { Scanner } from "./common/Scanner.js";
|
|
14
|
+
import { VendorId } from "./datatype/VendorId.js";
|
|
15
|
+
import { FabricIndex } from "./datatype/FabricIndex.js";
|
|
16
|
+
import { NodeId } from "./datatype/NodeId.js";
|
|
17
|
+
import { ByteArray } from "./util/ByteArray.js";
|
|
18
|
+
import { StorageManager } from "./storage/StorageManager.js";
|
|
19
|
+
export declare class MatterDevice {
|
|
20
|
+
private readonly deviceName;
|
|
21
|
+
private readonly deviceType;
|
|
22
|
+
private readonly vendorId;
|
|
23
|
+
private readonly productId;
|
|
24
|
+
private readonly discriminator;
|
|
25
|
+
private readonly storageManager;
|
|
26
|
+
private readonly scanners;
|
|
27
|
+
private readonly broadcasters;
|
|
28
|
+
private readonly netInterfaces;
|
|
29
|
+
private readonly fabricManager;
|
|
30
|
+
private readonly sessionManager;
|
|
31
|
+
private readonly channelManager;
|
|
32
|
+
private readonly exchangeManager;
|
|
33
|
+
private announceInterval;
|
|
34
|
+
private announcementStartedTime;
|
|
35
|
+
private commissioningWindowOpened;
|
|
36
|
+
constructor(deviceName: string, deviceType: number, vendorId: VendorId, productId: number, discriminator: number, storageManager: StorageManager);
|
|
37
|
+
addScanner(scanner: Scanner): this;
|
|
38
|
+
addBroadcaster(broadcaster: Broadcaster): this;
|
|
39
|
+
addNetInterface(netInterface: NetInterface): this;
|
|
40
|
+
addProtocolHandler(protocol: ProtocolHandler<MatterDevice>): this;
|
|
41
|
+
start(): Promise<void>;
|
|
42
|
+
startAnnouncement(): void;
|
|
43
|
+
announce(announceOnce?: boolean): void;
|
|
44
|
+
getNextAvailableSessionId(): any;
|
|
45
|
+
createSecureSession(sessionId: number, fabric: Fabric | undefined, peerNodeId: NodeId, peerSessionId: number, sharedSecret: ByteArray, salt: ByteArray, isInitiator: boolean, isResumption: boolean, idleRetransTimeoutMs?: number, activeRetransTimeoutMs?: number): any;
|
|
46
|
+
findFabricFromDestinationId(destinationId: ByteArray, peerRandom: ByteArray): any;
|
|
47
|
+
addFabric(fabric: Fabric): FabricIndex;
|
|
48
|
+
getFabricByIndex(fabricIndex: FabricIndex): any;
|
|
49
|
+
initiateExchange(fabric: Fabric, nodeId: NodeId, protocolId: number): any;
|
|
50
|
+
findResumptionRecordById(resumptionId: ByteArray): any;
|
|
51
|
+
saveResumptionRecord(resumptionRecord: ResumptionRecord): any;
|
|
52
|
+
armFailSafe(): any;
|
|
53
|
+
getFabricBuilder(): any;
|
|
54
|
+
getFabrics(): any;
|
|
55
|
+
completeCommission(): any;
|
|
56
|
+
isCommissioned(): boolean;
|
|
57
|
+
openCommissioningModeWindow(mode: number, discriminator: number, timeout: number): void;
|
|
58
|
+
findDevice(fabric: Fabric, nodeId: NodeId, timeOutSeconds?: number): Promise<undefined | {
|
|
59
|
+
session: Session<MatterDevice>;
|
|
60
|
+
channel: Channel<ByteArray>;
|
|
61
|
+
}>;
|
|
62
|
+
stop(): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=MatterDevice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatterDevice.d.ts","sourceRoot":"","sources":["../../src/MatterDevice.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAkB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,qBAAa,YAAY;IAajB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAjBnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,yBAAyB,CAAS;gBAGrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,cAAc;IAUnD,UAAU,CAAC,OAAO,EAAE,OAAO;IAK3B,cAAc,CAAC,WAAW,EAAE,WAAW;IAKvC,eAAe,CAAC,YAAY,EAAE,YAAY;IAM1C,kBAAkB,CAAC,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;IAKpD,KAAK;IAQX,iBAAiB;IAMjB,QAAQ,CAAC,YAAY,UAAQ;IA2C7B,yBAAyB;IAIzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,sBAAsB,CAAC,EAAE,MAAM;IAInQ,2BAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;IAI3E,SAAS,CAAC,MAAM,EAAE,MAAM;IASxB,gBAAgB,CAAC,WAAW,EAAE,WAAW;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAInE,wBAAwB,CAAC,YAAY,EAAE,SAAS;IAIhD,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB;IAIvD,WAAW;IAIX,gBAAgB;IAIhB,UAAU;IAIV,kBAAkB;IAKlB,cAAc;IAId,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAU1E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,SAAI,GAAG,OAAO,CAAC,SAAS,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;KAAE,CAAC;IAWpJ,IAAI;CAMb"}
|
|
@@ -0,0 +1,198 @@
|
|
|
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.MatterDevice = void 0;
|
|
18
|
+
const SessionManager_js_1 = require("./session/SessionManager.js");
|
|
19
|
+
const FabricManager_js_1 = require("./fabric/FabricManager.js");
|
|
20
|
+
const ChannelManager_js_1 = require("./protocol/ChannelManager.js");
|
|
21
|
+
const ExchangeManager_js_1 = require("./protocol/ExchangeManager.js");
|
|
22
|
+
const Logger_js_1 = require("./log/Logger.js");
|
|
23
|
+
const Time_js_1 = require("./time/Time.js");
|
|
24
|
+
const logger = Logger_js_1.Logger.get("MatterDevice");
|
|
25
|
+
const DEVICE_ANNOUNCEMENT_DURATION = 15 * 60 * 1000; /** 15 minutes */
|
|
26
|
+
const DEVICE_ANNOUNCEMENT_INTERVAL = 60 * 1000; /** 1 minute */
|
|
27
|
+
class MatterDevice {
|
|
28
|
+
constructor(deviceName, deviceType, vendorId, productId, discriminator, storageManager) {
|
|
29
|
+
this.deviceName = deviceName;
|
|
30
|
+
this.deviceType = deviceType;
|
|
31
|
+
this.vendorId = vendorId;
|
|
32
|
+
this.productId = productId;
|
|
33
|
+
this.discriminator = discriminator;
|
|
34
|
+
this.storageManager = storageManager;
|
|
35
|
+
this.scanners = new Array();
|
|
36
|
+
this.broadcasters = new Array();
|
|
37
|
+
this.netInterfaces = new Array();
|
|
38
|
+
this.channelManager = new ChannelManager_js_1.ChannelManager();
|
|
39
|
+
this.announceInterval = null;
|
|
40
|
+
this.announcementStartedTime = null;
|
|
41
|
+
this.commissioningWindowOpened = false;
|
|
42
|
+
this.fabricManager = new FabricManager_js_1.FabricManager(this.storageManager);
|
|
43
|
+
this.sessionManager = new SessionManager_js_1.SessionManager(this, this.storageManager);
|
|
44
|
+
this.sessionManager.initFromStorage(this.fabricManager.getFabrics());
|
|
45
|
+
this.exchangeManager = new ExchangeManager_js_1.ExchangeManager(this.sessionManager, this.channelManager);
|
|
46
|
+
}
|
|
47
|
+
addScanner(scanner) {
|
|
48
|
+
this.scanners.push(scanner);
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
addBroadcaster(broadcaster) {
|
|
52
|
+
this.broadcasters.push(broadcaster);
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
addNetInterface(netInterface) {
|
|
56
|
+
this.exchangeManager.addNetInterface(netInterface);
|
|
57
|
+
this.netInterfaces.push(netInterface);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
addProtocolHandler(protocol) {
|
|
61
|
+
this.exchangeManager.addProtocolHandler(protocol);
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
start() {
|
|
65
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
/*for (const broadcaster of this.broadcasters) {
|
|
67
|
+
broadcaster.setCommissionMode(0, this.deviceName, this.deviceType, this.vendorId, this.productId, this.discriminator);
|
|
68
|
+
broadcaster.announce();
|
|
69
|
+
}*/
|
|
70
|
+
this.startAnnouncement();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
startAnnouncement() {
|
|
74
|
+
this.announcementStartedTime = Time_js_1.Time.nowMs();
|
|
75
|
+
this.announceInterval = Time_js_1.Time.getPeriodicTimer(DEVICE_ANNOUNCEMENT_INTERVAL, () => this.announce()).start();
|
|
76
|
+
this.announce();
|
|
77
|
+
}
|
|
78
|
+
announce(announceOnce = false) {
|
|
79
|
+
var _a;
|
|
80
|
+
if (!announceOnce) {
|
|
81
|
+
// Stop announcement if duration is reached
|
|
82
|
+
if (this.announcementStartedTime !== null && Time_js_1.Time.nowMs() - this.announcementStartedTime > DEVICE_ANNOUNCEMENT_DURATION) {
|
|
83
|
+
(_a = this.announceInterval) === null || _a === void 0 ? void 0 : _a.stop();
|
|
84
|
+
this.announcementStartedTime = null;
|
|
85
|
+
logger.debug("Announcement duration reached, stop announcing");
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (this.commissioningWindowOpened) {
|
|
89
|
+
// Re-Announce but do not re-set Fabrics
|
|
90
|
+
for (const broadcaster of this.broadcasters) {
|
|
91
|
+
broadcaster.announce();
|
|
92
|
+
}
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const fabrics = this.fabricManager.getFabrics();
|
|
97
|
+
if (fabrics.length) {
|
|
98
|
+
const fabricsToAnnounce = [];
|
|
99
|
+
for (const fabric of fabrics) {
|
|
100
|
+
const session = this.sessionManager.getSessionForNode(fabric, fabric.rootNodeId);
|
|
101
|
+
if (session) {
|
|
102
|
+
// We have a session, no need to re-announce
|
|
103
|
+
logger.debug("Skipping announce for fabric", fabric.fabricId.id, "because we have a session", session.getId());
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
logger.debug("Announcing fabric", fabric.fabricId.id);
|
|
107
|
+
fabricsToAnnounce.push(fabric);
|
|
108
|
+
}
|
|
109
|
+
for (const broadcaster of this.broadcasters) {
|
|
110
|
+
broadcaster.setFabrics(fabricsToAnnounce);
|
|
111
|
+
broadcaster.announce();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// No fabric paired yeet, so announce as "ready for commissioning"
|
|
116
|
+
for (const broadcaster of this.broadcasters) {
|
|
117
|
+
broadcaster.setCommissionMode(1, this.deviceName, this.deviceType, this.vendorId, this.productId, this.discriminator);
|
|
118
|
+
broadcaster.announce();
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
getNextAvailableSessionId() {
|
|
123
|
+
return this.sessionManager.getNextAvailableSessionId();
|
|
124
|
+
}
|
|
125
|
+
createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, salt, isInitiator, isResumption, idleRetransTimeoutMs, activeRetransTimeoutMs) {
|
|
126
|
+
return this.sessionManager.createSecureSession(sessionId, fabric, peerNodeId, peerSessionId, sharedSecret, salt, isInitiator, isResumption, idleRetransTimeoutMs, activeRetransTimeoutMs);
|
|
127
|
+
}
|
|
128
|
+
findFabricFromDestinationId(destinationId, peerRandom) {
|
|
129
|
+
return this.fabricManager.findFabricFromDestinationId(destinationId, peerRandom);
|
|
130
|
+
}
|
|
131
|
+
addFabric(fabric) {
|
|
132
|
+
this.fabricManager.addFabric(fabric);
|
|
133
|
+
this.broadcasters.forEach(broadcaster => {
|
|
134
|
+
broadcaster.setFabrics([fabric]);
|
|
135
|
+
broadcaster.announce();
|
|
136
|
+
});
|
|
137
|
+
return fabric.fabricIndex;
|
|
138
|
+
}
|
|
139
|
+
getFabricByIndex(fabricIndex) {
|
|
140
|
+
return this.fabricManager.getFabrics().find(fabric => fabric.fabricIndex.index === fabricIndex.index);
|
|
141
|
+
}
|
|
142
|
+
initiateExchange(fabric, nodeId, protocolId) {
|
|
143
|
+
return this.exchangeManager.initiateExchange(fabric, nodeId, protocolId);
|
|
144
|
+
}
|
|
145
|
+
findResumptionRecordById(resumptionId) {
|
|
146
|
+
return this.sessionManager.findResumptionRecordById(resumptionId);
|
|
147
|
+
}
|
|
148
|
+
saveResumptionRecord(resumptionRecord) {
|
|
149
|
+
return this.sessionManager.saveResumptionRecord(resumptionRecord);
|
|
150
|
+
}
|
|
151
|
+
armFailSafe() {
|
|
152
|
+
return this.fabricManager.armFailSafe();
|
|
153
|
+
}
|
|
154
|
+
getFabricBuilder() {
|
|
155
|
+
return this.fabricManager.getFabricBuilder();
|
|
156
|
+
}
|
|
157
|
+
getFabrics() {
|
|
158
|
+
return this.fabricManager.getFabrics();
|
|
159
|
+
}
|
|
160
|
+
completeCommission() {
|
|
161
|
+
this.commissioningWindowOpened = false;
|
|
162
|
+
return this.fabricManager.completeCommission();
|
|
163
|
+
}
|
|
164
|
+
isCommissioned() {
|
|
165
|
+
return !!this.fabricManager.getFabrics().length;
|
|
166
|
+
}
|
|
167
|
+
openCommissioningModeWindow(mode, discriminator, timeout) {
|
|
168
|
+
this.commissioningWindowOpened = true;
|
|
169
|
+
this.broadcasters.forEach(broadcaster => {
|
|
170
|
+
broadcaster.setCommissionMode(mode, this.deviceName, this.deviceType, this.vendorId, this.productId, discriminator);
|
|
171
|
+
});
|
|
172
|
+
this.startAnnouncement();
|
|
173
|
+
Time_js_1.Time.getTimer(timeout * 1000, () => this.commissioningWindowOpened = false).start();
|
|
174
|
+
}
|
|
175
|
+
findDevice(fabric, nodeId, timeOutSeconds = 5) {
|
|
176
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
+
// TODO: return the first not undefined answer or undefined
|
|
178
|
+
const matterServer = yield this.scanners[0].findDevice(fabric, nodeId, timeOutSeconds);
|
|
179
|
+
if (matterServer === undefined)
|
|
180
|
+
return undefined;
|
|
181
|
+
const { ip, port } = matterServer;
|
|
182
|
+
const session = this.sessionManager.getSessionForNode(fabric, nodeId);
|
|
183
|
+
if (session === undefined)
|
|
184
|
+
return undefined;
|
|
185
|
+
// TODO: have the interface and scanner linked
|
|
186
|
+
return { session, channel: yield this.netInterfaces[0].openChannel(ip, port) };
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
stop() {
|
|
190
|
+
var _a;
|
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
this.exchangeManager.close();
|
|
193
|
+
(_a = this.announceInterval) === null || _a === void 0 ? void 0 : _a.stop();
|
|
194
|
+
this.broadcasters.forEach(broadcaster => broadcaster.close());
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.MatterDevice = MatterDevice;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2023 Project CHIP Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ByteArray } from "../util/ByteArray.js";
|
|
7
|
+
import { VendorId } from "../datatype/VendorId.js";
|
|
8
|
+
export declare class AttestationCertificateManager {
|
|
9
|
+
private readonly vendorId;
|
|
10
|
+
private paaCertId;
|
|
11
|
+
private readonly paaKeyPair;
|
|
12
|
+
private readonly paaKeyIdentifier;
|
|
13
|
+
private readonly paiCertId;
|
|
14
|
+
private readonly paiKeyPair;
|
|
15
|
+
private readonly paiKeyIdentifier;
|
|
16
|
+
private readonly paiCertBytes;
|
|
17
|
+
private nextCertificateId;
|
|
18
|
+
constructor(vendorId: VendorId);
|
|
19
|
+
getPAICert(): any;
|
|
20
|
+
getDACert(productId: number): {
|
|
21
|
+
keyPair: import("../crypto/Crypto.js").KeyPair;
|
|
22
|
+
dac: Uint8Array;
|
|
23
|
+
};
|
|
24
|
+
private generatePAACert;
|
|
25
|
+
private generatePAICert;
|
|
26
|
+
generateDaCert(publicKey: ByteArray, vendorId: VendorId, productId: number): Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=AttestationCertificateManager.d.ts.map
|