@matter/protocol 0.11.0-alpha.0-20241005-e3e4e4a7a
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/LICENSE +201 -0
- package/dist/cjs/MatterDevice.d.ts +79 -0
- package/dist/cjs/MatterDevice.d.ts.map +1 -0
- package/dist/cjs/MatterDevice.js +253 -0
- package/dist/cjs/MatterDevice.js.map +6 -0
- package/dist/cjs/ble/Ble.d.ts +29 -0
- package/dist/cjs/ble/Ble.d.ts.map +1 -0
- package/dist/cjs/ble/Ble.js +50 -0
- package/dist/cjs/ble/Ble.js.map +6 -0
- package/dist/cjs/ble/BleConsts.d.ts +32 -0
- package/dist/cjs/ble/BleConsts.d.ts.map +1 -0
- package/dist/cjs/ble/BleConsts.js +53 -0
- package/dist/cjs/ble/BleConsts.js.map +6 -0
- package/dist/cjs/ble/BtpSessionHandler.d.ts +87 -0
- package/dist/cjs/ble/BtpSessionHandler.d.ts.map +1 -0
- package/dist/cjs/ble/BtpSessionHandler.js +432 -0
- package/dist/cjs/ble/BtpSessionHandler.js.map +6 -0
- package/dist/cjs/ble/index.d.ts +9 -0
- package/dist/cjs/ble/index.d.ts.map +1 -0
- package/dist/cjs/ble/index.js +26 -0
- package/dist/cjs/ble/index.js.map +6 -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 +171 -0
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +6 -0
- package/dist/cjs/certificate/CertificateManager.d.ts +575 -0
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/CertificateManager.js +810 -0
- package/dist/cjs/certificate/CertificateManager.js.map +6 -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 +54 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.js.map +6 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts +14 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/cjs/certificate/ChipPAAuthorities.js +57 -0
- package/dist/cjs/certificate/ChipPAAuthorities.js.map +6 -0
- package/dist/cjs/certificate/DeviceCertification.d.ts +30 -0
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -0
- package/dist/cjs/certificate/DeviceCertification.js +103 -0
- package/dist/cjs/certificate/DeviceCertification.js.map +6 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts +33 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/RootCertificateManager.js +142 -0
- package/dist/cjs/certificate/RootCertificateManager.js.map +6 -0
- package/dist/cjs/certificate/index.d.ts +12 -0
- package/dist/cjs/certificate/index.d.ts.map +1 -0
- package/dist/cjs/certificate/index.js +29 -0
- package/dist/cjs/certificate/index.js.map +6 -0
- package/dist/cjs/cluster/client/AttributeClient.d.ts +61 -0
- package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/AttributeClient.js +177 -0
- package/dist/cjs/cluster/client/AttributeClient.js.map +6 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts +10 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/ClusterClient.js +281 -0
- package/dist/cjs/cluster/client/ClusterClient.js.map +6 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +171 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.js +22 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.js.map +6 -0
- package/dist/cjs/cluster/client/EventClient.d.ts +41 -0
- package/dist/cjs/cluster/client/EventClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/EventClient.js +94 -0
- package/dist/cjs/cluster/client/EventClient.js.map +6 -0
- package/dist/cjs/cluster/client/index.d.ts +10 -0
- package/dist/cjs/cluster/client/index.d.ts.map +1 -0
- package/dist/cjs/cluster/client/index.js +27 -0
- package/dist/cjs/cluster/client/index.js.map +6 -0
- package/dist/cjs/cluster/index.d.ts +8 -0
- package/dist/cjs/cluster/index.d.ts.map +1 -0
- package/dist/cjs/cluster/index.js +25 -0
- package/dist/cjs/cluster/index.js.map +6 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts +307 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/AttributeServer.js +734 -0
- package/dist/cjs/cluster/server/AttributeServer.js.map +6 -0
- package/dist/cjs/cluster/server/ClusterDatasource.d.ts +16 -0
- package/dist/cjs/cluster/server/ClusterDatasource.d.ts.map +1 -0
- package/dist/cjs/cluster/server/ClusterDatasource.js +22 -0
- package/dist/cjs/cluster/server/ClusterDatasource.js.map +6 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts +40 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/ClusterServer.js +22 -0
- package/dist/cjs/cluster/server/ClusterServer.js.map +6 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts +34 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/CommandServer.js +76 -0
- package/dist/cjs/cluster/server/CommandServer.js.map +6 -0
- package/dist/cjs/cluster/server/EventServer.d.ts +41 -0
- package/dist/cjs/cluster/server/EventServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/EventServer.js +149 -0
- package/dist/cjs/cluster/server/EventServer.js.map +6 -0
- package/dist/cjs/cluster/server/index.d.ts +11 -0
- package/dist/cjs/cluster/server/index.d.ts.map +1 -0
- package/dist/cjs/cluster/server/index.js +28 -0
- package/dist/cjs/cluster/server/index.js.map +6 -0
- package/dist/cjs/codec/BtpCodec.d.ts +78 -0
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -0
- package/dist/cjs/codec/BtpCodec.js +254 -0
- package/dist/cjs/codec/BtpCodec.js.map +6 -0
- package/dist/cjs/codec/MessageCodec.d.ts +63 -0
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -0
- package/dist/cjs/codec/MessageCodec.js +220 -0
- package/dist/cjs/codec/MessageCodec.js.map +6 -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 +36 -0
- package/dist/cjs/codec/index.js.map +6 -0
- package/dist/cjs/common/FailsafeContext.d.ts +79 -0
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -0
- package/dist/cjs/common/FailsafeContext.js +237 -0
- package/dist/cjs/common/FailsafeContext.js.map +6 -0
- package/dist/cjs/common/FailsafeTimer.d.ts +25 -0
- package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -0
- package/dist/cjs/common/FailsafeTimer.js +91 -0
- package/dist/cjs/common/FailsafeTimer.js.map +6 -0
- package/dist/cjs/common/InstanceBroadcaster.d.ts +273 -0
- package/dist/cjs/common/InstanceBroadcaster.d.ts.map +1 -0
- package/dist/cjs/common/InstanceBroadcaster.js +139 -0
- package/dist/cjs/common/InstanceBroadcaster.js.map +6 -0
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts +21 -0
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts.map +1 -0
- package/dist/cjs/common/OperationalCredentialsTypes.js +45 -0
- package/dist/cjs/common/OperationalCredentialsTypes.js.map +6 -0
- package/dist/cjs/common/Scanner.d.ts +121 -0
- package/dist/cjs/common/Scanner.d.ts.map +1 -0
- package/dist/cjs/common/Scanner.js +51 -0
- package/dist/cjs/common/Scanner.js.map +6 -0
- package/dist/cjs/common/index.d.ts +12 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +29 -0
- package/dist/cjs/common/index.js.map +6 -0
- package/dist/cjs/endpoint/EndpointInterface.d.ts +37 -0
- package/dist/cjs/endpoint/EndpointInterface.d.ts.map +1 -0
- package/dist/cjs/endpoint/EndpointInterface.js +22 -0
- package/dist/cjs/endpoint/EndpointInterface.js.map +6 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.d.ts +31 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.d.ts.map +1 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.js +236 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.js.map +6 -0
- package/dist/cjs/endpoint/index.d.ts +8 -0
- package/dist/cjs/endpoint/index.d.ts.map +1 -0
- package/dist/cjs/endpoint/index.js +25 -0
- package/dist/cjs/endpoint/index.js.map +6 -0
- package/dist/cjs/fabric/Fabric.d.ts +121 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -0
- package/dist/cjs/fabric/Fabric.js +427 -0
- package/dist/cjs/fabric/Fabric.js.map +6 -0
- package/dist/cjs/fabric/FabricManager.d.ts +44 -0
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -0
- package/dist/cjs/fabric/FabricManager.js +209 -0
- package/dist/cjs/fabric/FabricManager.js.map +6 -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 +25 -0
- package/dist/cjs/fabric/index.js.map +6 -0
- package/dist/cjs/index.d.ts +20 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/interaction/AccessControlManager.d.ts +49 -0
- package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -0
- package/dist/cjs/interaction/AccessControlManager.js +248 -0
- package/dist/cjs/interaction/AccessControlManager.js.map +6 -0
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts +52 -0
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/cjs/interaction/AttributeDataDecoder.js +185 -0
- package/dist/cjs/interaction/AttributeDataDecoder.js.map +6 -0
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts +71 -0
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -0
- package/dist/cjs/interaction/AttributeDataEncoder.js +190 -0
- package/dist/cjs/interaction/AttributeDataEncoder.js.map +6 -0
- package/dist/cjs/interaction/EventDataDecoder.d.ts +30 -0
- package/dist/cjs/interaction/EventDataDecoder.d.ts.map +1 -0
- package/dist/cjs/interaction/EventDataDecoder.js +103 -0
- package/dist/cjs/interaction/EventDataDecoder.js.map +6 -0
- package/dist/cjs/interaction/EventHandler.d.ts +42 -0
- package/dist/cjs/interaction/EventHandler.d.ts.map +1 -0
- package/dist/cjs/interaction/EventHandler.js +112 -0
- package/dist/cjs/interaction/EventHandler.js.map +6 -0
- package/dist/cjs/interaction/InteractionClient.d.ts +294 -0
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionClient.js +829 -0
- package/dist/cjs/interaction/InteractionClient.js.map +6 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.d.ts +59 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.js +341 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.js.map +6 -0
- package/dist/cjs/interaction/InteractionMessenger.d.ts +315 -0
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionMessenger.js +484 -0
- package/dist/cjs/interaction/InteractionMessenger.js.map +6 -0
- package/dist/cjs/interaction/InteractionServer.d.ts +97 -0
- package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionServer.js +1026 -0
- package/dist/cjs/interaction/InteractionServer.js.map +6 -0
- package/dist/cjs/interaction/ServerSubscription.d.ts +121 -0
- package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -0
- package/dist/cjs/interaction/ServerSubscription.js +672 -0
- package/dist/cjs/interaction/ServerSubscription.js.map +6 -0
- package/dist/cjs/interaction/Subscription.d.ts +44 -0
- package/dist/cjs/interaction/Subscription.d.ts.map +1 -0
- package/dist/cjs/interaction/Subscription.js +85 -0
- package/dist/cjs/interaction/Subscription.js.map +6 -0
- package/dist/cjs/interaction/SubscriptionOptions.d.ts +43 -0
- package/dist/cjs/interaction/SubscriptionOptions.d.ts.map +1 -0
- package/dist/cjs/interaction/SubscriptionOptions.js +46 -0
- package/dist/cjs/interaction/SubscriptionOptions.js.map +6 -0
- package/dist/cjs/interaction/index.d.ts +17 -0
- package/dist/cjs/interaction/index.d.ts.map +1 -0
- package/dist/cjs/interaction/index.js +34 -0
- package/dist/cjs/interaction/index.js.map +6 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +34 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsBroadcaster.js +338 -0
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +6 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +19 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsConsts.js +52 -0
- package/dist/cjs/mdns/MdnsConsts.js.map +6 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +87 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +6 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts +79 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsScanner.js +842 -0
- package/dist/cjs/mdns/MdnsScanner.js.map +6 -0
- package/dist/cjs/mdns/MdnsServer.d.ts +29 -0
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsServer.js +275 -0
- package/dist/cjs/mdns/MdnsServer.js.map +6 -0
- package/dist/cjs/mdns/MdnsService.d.ts +28 -0
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsService.js +95 -0
- package/dist/cjs/mdns/MdnsService.js.map +6 -0
- package/dist/cjs/mdns/index.d.ts +12 -0
- package/dist/cjs/mdns/index.d.ts.map +1 -0
- package/dist/cjs/mdns/index.js +29 -0
- package/dist/cjs/mdns/index.js.map +6 -0
- package/dist/cjs/package.json +10 -0
- package/dist/cjs/peer/ControllerCommissioner.d.ts +82 -0
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerCommissioner.js +224 -0
- package/dist/cjs/peer/ControllerCommissioner.js.map +6 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +88 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.js +849 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +6 -0
- package/dist/cjs/peer/ControllerDiscovery.d.ts +43 -0
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerDiscovery.js +192 -0
- package/dist/cjs/peer/ControllerDiscovery.js.map +6 -0
- package/dist/cjs/peer/OperationalPeer.d.ts +28 -0
- package/dist/cjs/peer/OperationalPeer.d.ts.map +1 -0
- package/dist/cjs/peer/OperationalPeer.js +22 -0
- package/dist/cjs/peer/OperationalPeer.js.map +6 -0
- package/dist/cjs/peer/PeerAddress.d.ts +30 -0
- package/dist/cjs/peer/PeerAddress.d.ts.map +1 -0
- package/dist/cjs/peer/PeerAddress.js +71 -0
- package/dist/cjs/peer/PeerAddress.js.map +6 -0
- package/dist/cjs/peer/PeerSet.d.ts +98 -0
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -0
- package/dist/cjs/peer/PeerSet.js +500 -0
- package/dist/cjs/peer/PeerSet.js.map +6 -0
- package/dist/cjs/peer/PeerStore.d.ts +17 -0
- package/dist/cjs/peer/PeerStore.d.ts.map +1 -0
- package/dist/cjs/peer/PeerStore.js +31 -0
- package/dist/cjs/peer/PeerStore.js.map +6 -0
- package/dist/cjs/peer/index.d.ts +13 -0
- package/dist/cjs/peer/index.d.ts.map +1 -0
- package/dist/cjs/peer/index.js +30 -0
- package/dist/cjs/peer/index.js.map +6 -0
- package/dist/cjs/protocol/ChannelManager.d.ts +30 -0
- package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ChannelManager.js +168 -0
- package/dist/cjs/protocol/ChannelManager.js.map +6 -0
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts +43 -0
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -0
- package/dist/cjs/protocol/DeviceAdvertiser.js +185 -0
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +6 -0
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +49 -0
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -0
- package/dist/cjs/protocol/DeviceCommissioner.js +198 -0
- package/dist/cjs/protocol/DeviceCommissioner.js.map +6 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts +73 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ExchangeManager.js +407 -0
- package/dist/cjs/protocol/ExchangeManager.js.map +6 -0
- package/dist/cjs/protocol/MessageCounter.d.ts +57 -0
- package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageCounter.js +104 -0
- package/dist/cjs/protocol/MessageCounter.js.map +6 -0
- package/dist/cjs/protocol/MessageExchange.d.ts +84 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageExchange.js +508 -0
- package/dist/cjs/protocol/MessageExchange.js.map +6 -0
- package/dist/cjs/protocol/MessageReceptionState.d.ts +65 -0
- package/dist/cjs/protocol/MessageReceptionState.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageReceptionState.js +173 -0
- package/dist/cjs/protocol/MessageReceptionState.js.map +6 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts +13 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/cjs/protocol/ProtocolHandler.js +22 -0
- package/dist/cjs/protocol/ProtocolHandler.js.map +6 -0
- package/dist/cjs/protocol/index.d.ts +14 -0
- package/dist/cjs/protocol/index.d.ts.map +1 -0
- package/dist/cjs/protocol/index.js +31 -0
- package/dist/cjs/protocol/index.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +53 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js +143 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +31 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.js +140 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js +53 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
- package/dist/cjs/securechannel/index.d.ts +9 -0
- package/dist/cjs/securechannel/index.d.ts.map +1 -0
- package/dist/cjs/securechannel/index.js +26 -0
- package/dist/cjs/securechannel/index.js.map +6 -0
- package/dist/cjs/session/InsecureSession.d.ts +38 -0
- package/dist/cjs/session/InsecureSession.d.ts.map +1 -0
- package/dist/cjs/session/InsecureSession.js +95 -0
- package/dist/cjs/session/InsecureSession.js.map +6 -0
- package/dist/cjs/session/SecureSession.d.ts +81 -0
- package/dist/cjs/session/SecureSession.d.ts.map +1 -0
- package/dist/cjs/session/SecureSession.js +291 -0
- package/dist/cjs/session/SecureSession.js.map +6 -0
- package/dist/cjs/session/Session.d.ts +102 -0
- package/dist/cjs/session/Session.d.ts.map +1 -0
- package/dist/cjs/session/Session.js +141 -0
- package/dist/cjs/session/Session.js.map +6 -0
- package/dist/cjs/session/SessionManager.d.ts +132 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -0
- package/dist/cjs/session/SessionManager.js +410 -0
- package/dist/cjs/session/SessionManager.js.map +6 -0
- package/dist/cjs/session/case/CaseClient.d.ts +18 -0
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseClient.js +216 -0
- package/dist/cjs/session/case/CaseClient.js.map +6 -0
- package/dist/cjs/session/case/CaseMessages.d.ts +82 -0
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessages.js +97 -0
- package/dist/cjs/session/case/CaseMessages.js.map +6 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts +79 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessenger.js +74 -0
- package/dist/cjs/session/case/CaseMessenger.js.map +6 -0
- package/dist/cjs/session/case/CaseServer.d.ts +18 -0
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseServer.js +232 -0
- package/dist/cjs/session/case/CaseServer.js.map +6 -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 +35 -0
- package/dist/cjs/session/index.js.map +6 -0
- package/dist/cjs/session/pase/PaseClient.d.ts +18 -0
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseClient.js +101 -0
- package/dist/cjs/session/pase/PaseClient.js.map +6 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts +85 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessages.js +88 -0
- package/dist/cjs/session/pase/PaseMessages.js.map +6 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts +75 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessenger.js +86 -0
- package/dist/cjs/session/pase/PaseMessenger.js.map +6 -0
- package/dist/cjs/session/pase/PaseServer.d.ts +29 -0
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseServer.js +159 -0
- package/dist/cjs/session/pase/PaseServer.js.map +6 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/MatterDevice.d.ts +79 -0
- package/dist/esm/MatterDevice.d.ts.map +1 -0
- package/dist/esm/MatterDevice.js +239 -0
- package/dist/esm/MatterDevice.js.map +6 -0
- package/dist/esm/ble/Ble.d.ts +29 -0
- package/dist/esm/ble/Ble.d.ts.map +1 -0
- package/dist/esm/ble/Ble.js +30 -0
- package/dist/esm/ble/Ble.js.map +6 -0
- package/dist/esm/ble/BleConsts.d.ts +32 -0
- package/dist/esm/ble/BleConsts.d.ts.map +1 -0
- package/dist/esm/ble/BleConsts.js +33 -0
- package/dist/esm/ble/BleConsts.js.map +6 -0
- package/dist/esm/ble/BtpSessionHandler.d.ts +87 -0
- package/dist/esm/ble/BtpSessionHandler.d.ts.map +1 -0
- package/dist/esm/ble/BtpSessionHandler.js +419 -0
- package/dist/esm/ble/BtpSessionHandler.js.map +6 -0
- package/dist/esm/ble/index.d.ts +9 -0
- package/dist/esm/ble/index.d.ts.map +1 -0
- package/dist/esm/ble/index.js +9 -0
- package/dist/esm/ble/index.js.map +6 -0
- package/dist/esm/certificate/AttestationCertificateManager.d.ts +28 -0
- package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/AttestationCertificateManager.js +155 -0
- package/dist/esm/certificate/AttestationCertificateManager.js.map +6 -0
- package/dist/esm/certificate/CertificateManager.d.ts +575 -0
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/CertificateManager.js +837 -0
- package/dist/esm/certificate/CertificateManager.js.map +6 -0
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +5 -0
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -0
- package/dist/esm/certificate/CertificationDeclarationManager.js +34 -0
- package/dist/esm/certificate/CertificationDeclarationManager.js.map +6 -0
- package/dist/esm/certificate/ChipPAAuthorities.d.ts +14 -0
- package/dist/esm/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/esm/certificate/ChipPAAuthorities.js +37 -0
- package/dist/esm/certificate/ChipPAAuthorities.js.map +6 -0
- package/dist/esm/certificate/DeviceCertification.d.ts +30 -0
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -0
- package/dist/esm/certificate/DeviceCertification.js +83 -0
- package/dist/esm/certificate/DeviceCertification.js.map +6 -0
- package/dist/esm/certificate/RootCertificateManager.d.ts +33 -0
- package/dist/esm/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/RootCertificateManager.js +139 -0
- package/dist/esm/certificate/RootCertificateManager.js.map +6 -0
- package/dist/esm/certificate/index.d.ts +12 -0
- package/dist/esm/certificate/index.d.ts.map +1 -0
- package/dist/esm/certificate/index.js +12 -0
- package/dist/esm/certificate/index.js.map +6 -0
- package/dist/esm/cluster/client/AttributeClient.d.ts +61 -0
- package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/AttributeClient.js +157 -0
- package/dist/esm/cluster/client/AttributeClient.js.map +6 -0
- package/dist/esm/cluster/client/ClusterClient.d.ts +10 -0
- package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/ClusterClient.js +267 -0
- package/dist/esm/cluster/client/ClusterClient.js.map +6 -0
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts +171 -0
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -0
- package/dist/esm/cluster/client/ClusterClientTypes.js +6 -0
- package/dist/esm/cluster/client/ClusterClientTypes.js.map +6 -0
- package/dist/esm/cluster/client/EventClient.d.ts +41 -0
- package/dist/esm/cluster/client/EventClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/EventClient.js +74 -0
- package/dist/esm/cluster/client/EventClient.js.map +6 -0
- package/dist/esm/cluster/client/index.d.ts +10 -0
- package/dist/esm/cluster/client/index.d.ts.map +1 -0
- package/dist/esm/cluster/client/index.js +10 -0
- package/dist/esm/cluster/client/index.js.map +6 -0
- package/dist/esm/cluster/index.d.ts +8 -0
- package/dist/esm/cluster/index.d.ts.map +1 -0
- package/dist/esm/cluster/index.js +8 -0
- package/dist/esm/cluster/index.js.map +6 -0
- package/dist/esm/cluster/server/AttributeServer.d.ts +307 -0
- package/dist/esm/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/AttributeServer.js +718 -0
- package/dist/esm/cluster/server/AttributeServer.js.map +6 -0
- package/dist/esm/cluster/server/ClusterDatasource.d.ts +16 -0
- package/dist/esm/cluster/server/ClusterDatasource.d.ts.map +1 -0
- package/dist/esm/cluster/server/ClusterDatasource.js +6 -0
- package/dist/esm/cluster/server/ClusterDatasource.js.map +6 -0
- package/dist/esm/cluster/server/ClusterServer.d.ts +40 -0
- package/dist/esm/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/ClusterServer.js +6 -0
- package/dist/esm/cluster/server/ClusterServer.js.map +6 -0
- package/dist/esm/cluster/server/CommandServer.d.ts +34 -0
- package/dist/esm/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/CommandServer.js +56 -0
- package/dist/esm/cluster/server/CommandServer.js.map +6 -0
- package/dist/esm/cluster/server/EventServer.d.ts +41 -0
- package/dist/esm/cluster/server/EventServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/EventServer.js +137 -0
- package/dist/esm/cluster/server/EventServer.js.map +6 -0
- package/dist/esm/cluster/server/index.d.ts +11 -0
- package/dist/esm/cluster/server/index.d.ts.map +1 -0
- package/dist/esm/cluster/server/index.js +11 -0
- package/dist/esm/cluster/server/index.js.map +6 -0
- package/dist/esm/codec/BtpCodec.d.ts +78 -0
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -0
- package/dist/esm/codec/BtpCodec.js +234 -0
- package/dist/esm/codec/BtpCodec.js.map +6 -0
- package/dist/esm/codec/MessageCodec.d.ts +63 -0
- package/dist/esm/codec/MessageCodec.d.ts.map +1 -0
- package/dist/esm/codec/MessageCodec.js +200 -0
- package/dist/esm/codec/MessageCodec.js.map +6 -0
- package/dist/esm/codec/index.d.ts +9 -0
- package/dist/esm/codec/index.d.ts.map +1 -0
- package/dist/esm/codec/index.js +15 -0
- package/dist/esm/codec/index.js.map +6 -0
- package/dist/esm/common/FailsafeContext.d.ts +79 -0
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -0
- package/dist/esm/common/FailsafeContext.js +217 -0
- package/dist/esm/common/FailsafeContext.js.map +6 -0
- package/dist/esm/common/FailsafeTimer.d.ts +25 -0
- package/dist/esm/common/FailsafeTimer.d.ts.map +1 -0
- package/dist/esm/common/FailsafeTimer.js +71 -0
- package/dist/esm/common/FailsafeTimer.js.map +6 -0
- package/dist/esm/common/InstanceBroadcaster.d.ts +273 -0
- package/dist/esm/common/InstanceBroadcaster.d.ts.map +1 -0
- package/dist/esm/common/InstanceBroadcaster.js +119 -0
- package/dist/esm/common/InstanceBroadcaster.js.map +6 -0
- package/dist/esm/common/OperationalCredentialsTypes.d.ts +21 -0
- package/dist/esm/common/OperationalCredentialsTypes.d.ts.map +1 -0
- package/dist/esm/common/OperationalCredentialsTypes.js +25 -0
- package/dist/esm/common/OperationalCredentialsTypes.js.map +6 -0
- package/dist/esm/common/Scanner.d.ts +121 -0
- package/dist/esm/common/Scanner.d.ts.map +1 -0
- package/dist/esm/common/Scanner.js +31 -0
- package/dist/esm/common/Scanner.js.map +6 -0
- package/dist/esm/common/index.d.ts +12 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +12 -0
- package/dist/esm/common/index.js.map +6 -0
- package/dist/esm/endpoint/EndpointInterface.d.ts +37 -0
- package/dist/esm/endpoint/EndpointInterface.d.ts.map +1 -0
- package/dist/esm/endpoint/EndpointInterface.js +6 -0
- package/dist/esm/endpoint/EndpointInterface.js.map +6 -0
- package/dist/esm/endpoint/EndpointStructureLogger.d.ts +31 -0
- package/dist/esm/endpoint/EndpointStructureLogger.d.ts.map +1 -0
- package/dist/esm/endpoint/EndpointStructureLogger.js +216 -0
- package/dist/esm/endpoint/EndpointStructureLogger.js.map +6 -0
- package/dist/esm/endpoint/index.d.ts +8 -0
- package/dist/esm/endpoint/index.d.ts.map +1 -0
- package/dist/esm/endpoint/index.js +8 -0
- package/dist/esm/endpoint/index.js.map +6 -0
- package/dist/esm/fabric/Fabric.d.ts +121 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -0
- package/dist/esm/fabric/Fabric.js +422 -0
- package/dist/esm/fabric/Fabric.js.map +6 -0
- package/dist/esm/fabric/FabricManager.d.ts +44 -0
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -0
- package/dist/esm/fabric/FabricManager.js +200 -0
- package/dist/esm/fabric/FabricManager.js.map +6 -0
- package/dist/esm/fabric/index.d.ts +8 -0
- package/dist/esm/fabric/index.d.ts.map +1 -0
- package/dist/esm/fabric/index.js +8 -0
- package/dist/esm/fabric/index.js.map +6 -0
- package/dist/esm/index.d.ts +20 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +20 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/interaction/AccessControlManager.d.ts +49 -0
- package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -0
- package/dist/esm/interaction/AccessControlManager.js +228 -0
- package/dist/esm/interaction/AccessControlManager.js.map +6 -0
- package/dist/esm/interaction/AttributeDataDecoder.d.ts +52 -0
- package/dist/esm/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/esm/interaction/AttributeDataDecoder.js +171 -0
- package/dist/esm/interaction/AttributeDataDecoder.js.map +6 -0
- package/dist/esm/interaction/AttributeDataEncoder.d.ts +71 -0
- package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -0
- package/dist/esm/interaction/AttributeDataEncoder.js +174 -0
- package/dist/esm/interaction/AttributeDataEncoder.js.map +6 -0
- package/dist/esm/interaction/EventDataDecoder.d.ts +30 -0
- package/dist/esm/interaction/EventDataDecoder.d.ts.map +1 -0
- package/dist/esm/interaction/EventDataDecoder.js +87 -0
- package/dist/esm/interaction/EventDataDecoder.js.map +6 -0
- package/dist/esm/interaction/EventHandler.d.ts +42 -0
- package/dist/esm/interaction/EventHandler.d.ts.map +1 -0
- package/dist/esm/interaction/EventHandler.js +96 -0
- package/dist/esm/interaction/EventHandler.js.map +6 -0
- package/dist/esm/interaction/InteractionClient.d.ts +294 -0
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionClient.js +827 -0
- package/dist/esm/interaction/InteractionClient.js.map +6 -0
- package/dist/esm/interaction/InteractionEndpointStructure.d.ts +59 -0
- package/dist/esm/interaction/InteractionEndpointStructure.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionEndpointStructure.js +343 -0
- package/dist/esm/interaction/InteractionEndpointStructure.js.map +6 -0
- package/dist/esm/interaction/InteractionMessenger.d.ts +315 -0
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionMessenger.js +489 -0
- package/dist/esm/interaction/InteractionMessenger.js.map +6 -0
- package/dist/esm/interaction/InteractionServer.d.ts +97 -0
- package/dist/esm/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionServer.js +1027 -0
- package/dist/esm/interaction/InteractionServer.js.map +6 -0
- package/dist/esm/interaction/ServerSubscription.d.ts +121 -0
- package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -0
- package/dist/esm/interaction/ServerSubscription.js +669 -0
- package/dist/esm/interaction/ServerSubscription.js.map +6 -0
- package/dist/esm/interaction/Subscription.d.ts +44 -0
- package/dist/esm/interaction/Subscription.d.ts.map +1 -0
- package/dist/esm/interaction/Subscription.js +65 -0
- package/dist/esm/interaction/Subscription.js.map +6 -0
- package/dist/esm/interaction/SubscriptionOptions.d.ts +43 -0
- package/dist/esm/interaction/SubscriptionOptions.d.ts.map +1 -0
- package/dist/esm/interaction/SubscriptionOptions.js +26 -0
- package/dist/esm/interaction/SubscriptionOptions.js.map +6 -0
- package/dist/esm/interaction/index.d.ts +17 -0
- package/dist/esm/interaction/index.d.ts.map +1 -0
- package/dist/esm/interaction/index.js +17 -0
- package/dist/esm/interaction/index.js.map +6 -0
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +34 -0
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsBroadcaster.js +351 -0
- package/dist/esm/mdns/MdnsBroadcaster.js.map +6 -0
- package/dist/esm/mdns/MdnsConsts.d.ts +19 -0
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsConsts.js +32 -0
- package/dist/esm/mdns/MdnsConsts.js.map +6 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js +67 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +6 -0
- package/dist/esm/mdns/MdnsScanner.d.ts +79 -0
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsScanner.js +847 -0
- package/dist/esm/mdns/MdnsScanner.js.map +6 -0
- package/dist/esm/mdns/MdnsServer.d.ts +29 -0
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsServer.js +266 -0
- package/dist/esm/mdns/MdnsServer.js.map +6 -0
- package/dist/esm/mdns/MdnsService.d.ts +28 -0
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsService.js +83 -0
- package/dist/esm/mdns/MdnsService.js.map +6 -0
- package/dist/esm/mdns/index.d.ts +12 -0
- package/dist/esm/mdns/index.d.ts.map +1 -0
- package/dist/esm/mdns/index.js +12 -0
- package/dist/esm/mdns/index.js.map +6 -0
- package/dist/esm/package.json +10 -0
- package/dist/esm/peer/ControllerCommissioner.d.ts +82 -0
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -0
- package/dist/esm/peer/ControllerCommissioner.js +211 -0
- package/dist/esm/peer/ControllerCommissioner.js.map +6 -0
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts +88 -0
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -0
- package/dist/esm/peer/ControllerCommissioningFlow.js +832 -0
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +6 -0
- package/dist/esm/peer/ControllerDiscovery.d.ts +43 -0
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -0
- package/dist/esm/peer/ControllerDiscovery.js +172 -0
- package/dist/esm/peer/ControllerDiscovery.js.map +6 -0
- package/dist/esm/peer/OperationalPeer.d.ts +28 -0
- package/dist/esm/peer/OperationalPeer.d.ts.map +1 -0
- package/dist/esm/peer/OperationalPeer.js +6 -0
- package/dist/esm/peer/OperationalPeer.js.map +6 -0
- package/dist/esm/peer/PeerAddress.d.ts +30 -0
- package/dist/esm/peer/PeerAddress.d.ts.map +1 -0
- package/dist/esm/peer/PeerAddress.js +51 -0
- package/dist/esm/peer/PeerAddress.js.map +6 -0
- package/dist/esm/peer/PeerSet.d.ts +98 -0
- package/dist/esm/peer/PeerSet.d.ts.map +1 -0
- package/dist/esm/peer/PeerSet.js +495 -0
- package/dist/esm/peer/PeerSet.js.map +6 -0
- package/dist/esm/peer/PeerStore.d.ts +17 -0
- package/dist/esm/peer/PeerStore.d.ts.map +1 -0
- package/dist/esm/peer/PeerStore.js +11 -0
- package/dist/esm/peer/PeerStore.js.map +6 -0
- package/dist/esm/peer/index.d.ts +13 -0
- package/dist/esm/peer/index.d.ts.map +1 -0
- package/dist/esm/peer/index.js +13 -0
- package/dist/esm/peer/index.js.map +6 -0
- package/dist/esm/protocol/ChannelManager.d.ts +30 -0
- package/dist/esm/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/esm/protocol/ChannelManager.js +148 -0
- package/dist/esm/protocol/ChannelManager.js.map +6 -0
- package/dist/esm/protocol/DeviceAdvertiser.d.ts +43 -0
- package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -0
- package/dist/esm/protocol/DeviceAdvertiser.js +173 -0
- package/dist/esm/protocol/DeviceAdvertiser.js.map +6 -0
- package/dist/esm/protocol/DeviceCommissioner.d.ts +49 -0
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -0
- package/dist/esm/protocol/DeviceCommissioner.js +187 -0
- package/dist/esm/protocol/DeviceCommissioner.js.map +6 -0
- package/dist/esm/protocol/ExchangeManager.d.ts +73 -0
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/esm/protocol/ExchangeManager.js +398 -0
- package/dist/esm/protocol/ExchangeManager.js.map +6 -0
- package/dist/esm/protocol/MessageCounter.d.ts +57 -0
- package/dist/esm/protocol/MessageCounter.d.ts.map +1 -0
- package/dist/esm/protocol/MessageCounter.js +84 -0
- package/dist/esm/protocol/MessageCounter.js.map +6 -0
- package/dist/esm/protocol/MessageExchange.d.ts +84 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/esm/protocol/MessageExchange.js +504 -0
- package/dist/esm/protocol/MessageExchange.js.map +6 -0
- package/dist/esm/protocol/MessageReceptionState.d.ts +65 -0
- package/dist/esm/protocol/MessageReceptionState.d.ts.map +1 -0
- package/dist/esm/protocol/MessageReceptionState.js +153 -0
- package/dist/esm/protocol/MessageReceptionState.js.map +6 -0
- package/dist/esm/protocol/ProtocolHandler.d.ts +13 -0
- package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/esm/protocol/ProtocolHandler.js +6 -0
- package/dist/esm/protocol/ProtocolHandler.js.map +6 -0
- package/dist/esm/protocol/index.d.ts +14 -0
- package/dist/esm/protocol/index.d.ts.map +1 -0
- package/dist/esm/protocol/index.js +14 -0
- package/dist/esm/protocol/index.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +53 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js +128 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts +31 -0
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelProtocol.js +127 -0
- package/dist/esm/securechannel/SecureChannelProtocol.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js +33 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
- package/dist/esm/securechannel/index.d.ts +9 -0
- package/dist/esm/securechannel/index.d.ts.map +1 -0
- package/dist/esm/securechannel/index.js +9 -0
- package/dist/esm/securechannel/index.js.map +6 -0
- package/dist/esm/session/InsecureSession.d.ts +38 -0
- package/dist/esm/session/InsecureSession.d.ts.map +1 -0
- package/dist/esm/session/InsecureSession.js +75 -0
- package/dist/esm/session/InsecureSession.js.map +6 -0
- package/dist/esm/session/SecureSession.d.ts +81 -0
- package/dist/esm/session/SecureSession.d.ts.map +1 -0
- package/dist/esm/session/SecureSession.js +281 -0
- package/dist/esm/session/SecureSession.js.map +6 -0
- package/dist/esm/session/Session.d.ts +102 -0
- package/dist/esm/session/Session.d.ts.map +1 -0
- package/dist/esm/session/Session.js +121 -0
- package/dist/esm/session/Session.js.map +6 -0
- package/dist/esm/session/SessionManager.d.ts +132 -0
- package/dist/esm/session/SessionManager.d.ts.map +1 -0
- package/dist/esm/session/SessionManager.js +411 -0
- package/dist/esm/session/SessionManager.js.map +6 -0
- package/dist/esm/session/case/CaseClient.d.ts +18 -0
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -0
- package/dist/esm/session/case/CaseClient.js +208 -0
- package/dist/esm/session/case/CaseClient.js.map +6 -0
- package/dist/esm/session/case/CaseMessages.d.ts +82 -0
- package/dist/esm/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/esm/session/case/CaseMessages.js +83 -0
- package/dist/esm/session/case/CaseMessages.js.map +6 -0
- package/dist/esm/session/case/CaseMessenger.d.ts +79 -0
- package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/esm/session/case/CaseMessenger.js +54 -0
- package/dist/esm/session/case/CaseMessenger.js.map +6 -0
- package/dist/esm/session/case/CaseServer.d.ts +18 -0
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -0
- package/dist/esm/session/case/CaseServer.js +224 -0
- package/dist/esm/session/case/CaseServer.js.map +6 -0
- package/dist/esm/session/index.d.ts +18 -0
- package/dist/esm/session/index.d.ts.map +1 -0
- package/dist/esm/session/index.js +18 -0
- package/dist/esm/session/index.js.map +6 -0
- package/dist/esm/session/pase/PaseClient.d.ts +18 -0
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseClient.js +81 -0
- package/dist/esm/session/pase/PaseClient.js.map +6 -0
- package/dist/esm/session/pase/PaseMessages.d.ts +85 -0
- package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseMessages.js +68 -0
- package/dist/esm/session/pase/PaseMessages.js.map +6 -0
- package/dist/esm/session/pase/PaseMessenger.d.ts +75 -0
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseMessenger.js +75 -0
- package/dist/esm/session/pase/PaseMessenger.js.map +6 -0
- package/dist/esm/session/pase/PaseServer.d.ts +29 -0
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseServer.js +148 -0
- package/dist/esm/session/pase/PaseServer.js.map +6 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +83 -0
- package/src/MatterDevice.ts +319 -0
- package/src/ble/Ble.ts +40 -0
- package/src/ble/BleConsts.ts +41 -0
- package/src/ble/BtpSessionHandler.ts +490 -0
- package/src/ble/index.ts +9 -0
- package/src/certificate/AttestationCertificateManager.ts +166 -0
- package/src/certificate/CertificateManager.ts +1136 -0
- package/src/certificate/CertificationDeclarationManager.ts +52 -0
- package/src/certificate/ChipPAAuthorities.ts +35 -0
- package/src/certificate/DeviceCertification.ts +116 -0
- package/src/certificate/RootCertificateManager.ts +179 -0
- package/src/certificate/index.ts +12 -0
- package/src/cluster/client/AttributeClient.ts +196 -0
- package/src/cluster/client/ClusterClient.ts +354 -0
- package/src/cluster/client/ClusterClientTypes.ts +257 -0
- package/src/cluster/client/EventClient.ts +110 -0
- package/src/cluster/client/index.ts +10 -0
- package/src/cluster/index.ts +8 -0
- package/src/cluster/server/AttributeServer.ts +986 -0
- package/src/cluster/server/ClusterDatasource.ts +17 -0
- package/src/cluster/server/ClusterServer.ts +46 -0
- package/src/cluster/server/CommandServer.ts +89 -0
- package/src/cluster/server/EventServer.ts +198 -0
- package/src/cluster/server/index.ts +11 -0
- package/src/codec/BtpCodec.ts +333 -0
- package/src/codec/MessageCodec.ts +276 -0
- package/src/codec/index.ts +9 -0
- package/src/common/FailsafeContext.ts +330 -0
- package/src/common/FailsafeTimer.ts +91 -0
- package/src/common/InstanceBroadcaster.ts +220 -0
- package/src/common/OperationalCredentialsTypes.ts +24 -0
- package/src/common/Scanner.ts +188 -0
- package/src/common/index.ts +12 -0
- package/src/endpoint/EndpointInterface.ts +41 -0
- package/src/endpoint/EndpointStructureLogger.ts +277 -0
- package/src/endpoint/index.ts +8 -0
- package/src/fabric/Fabric.ts +528 -0
- package/src/fabric/FabricManager.ts +231 -0
- package/src/fabric/index.ts +8 -0
- package/src/index.ts +20 -0
- package/src/interaction/AccessControlManager.ts +343 -0
- package/src/interaction/AttributeDataDecoder.ts +266 -0
- package/src/interaction/AttributeDataEncoder.ts +268 -0
- package/src/interaction/EventDataDecoder.ts +133 -0
- package/src/interaction/EventHandler.ts +141 -0
- package/src/interaction/InteractionClient.ts +1215 -0
- package/src/interaction/InteractionEndpointStructure.ts +462 -0
- package/src/interaction/InteractionMessenger.ts +592 -0
- package/src/interaction/InteractionServer.ts +1428 -0
- package/src/interaction/ServerSubscription.ts +908 -0
- package/src/interaction/Subscription.ts +89 -0
- package/src/interaction/SubscriptionOptions.ts +49 -0
- package/src/interaction/index.ts +17 -0
- package/src/mdns/MdnsBroadcaster.ts +415 -0
- package/src/mdns/MdnsConsts.ts +24 -0
- package/src/mdns/MdnsInstanceBroadcaster.ts +88 -0
- package/src/mdns/MdnsScanner.ts +1042 -0
- package/src/mdns/MdnsServer.ts +322 -0
- package/src/mdns/MdnsService.ts +102 -0
- package/src/mdns/index.ts +12 -0
- package/src/peer/ControllerCommissioner.ts +372 -0
- package/src/peer/ControllerCommissioningFlow.ts +1127 -0
- package/src/peer/ControllerDiscovery.ts +231 -0
- package/src/peer/OperationalPeer.ts +32 -0
- package/src/peer/PeerAddress.ts +78 -0
- package/src/peer/PeerSet.ts +684 -0
- package/src/peer/PeerStore.ts +19 -0
- package/src/peer/index.ts +13 -0
- package/src/protocol/ChannelManager.ts +168 -0
- package/src/protocol/DeviceAdvertiser.ts +208 -0
- package/src/protocol/DeviceCommissioner.ts +280 -0
- package/src/protocol/ExchangeManager.ts +493 -0
- package/src/protocol/MessageCounter.ts +128 -0
- package/src/protocol/MessageExchange.ts +662 -0
- package/src/protocol/MessageReceptionState.ts +207 -0
- package/src/protocol/ProtocolHandler.ts +14 -0
- package/src/protocol/index.ts +14 -0
- package/src/securechannel/SecureChannelMessenger.ts +166 -0
- package/src/securechannel/SecureChannelProtocol.ts +150 -0
- package/src/securechannel/SecureChannelStatusMessageSchema.ts +40 -0
- package/src/securechannel/index.ts +10 -0
- package/src/session/InsecureSession.ts +96 -0
- package/src/session/SecureSession.ts +349 -0
- package/src/session/Session.ts +188 -0
- package/src/session/SessionManager.ts +559 -0
- package/src/session/case/CaseClient.ts +235 -0
- package/src/session/case/CaseMessages.ts +81 -0
- package/src/session/case/CaseMessenger.ts +57 -0
- package/src/session/case/CaseServer.ts +269 -0
- package/src/session/index.ts +21 -0
- package/src/session/pase/PaseClient.ts +100 -0
- package/src/session/pase/PaseMessages.ts +72 -0
- package/src/session/pase/PaseMessenger.ts +86 -0
- package/src/session/pase/PaseServer.ts +187 -0
- package/src/tsconfig.json +20 -0
|
@@ -0,0 +1,849 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ControllerCommissioningFlow_exports = {};
|
|
20
|
+
__export(ControllerCommissioningFlow_exports, {
|
|
21
|
+
CommissioningError: () => CommissioningError,
|
|
22
|
+
ControllerCommissioningFlow: () => ControllerCommissioningFlow
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(ControllerCommissioningFlow_exports);
|
|
25
|
+
var import_basic_information = require("#clusters/basic-information");
|
|
26
|
+
var import_descriptor = require("#clusters/descriptor");
|
|
27
|
+
var import_general_commissioning = require("#clusters/general-commissioning");
|
|
28
|
+
var import_network_commissioning = require("#clusters/network-commissioning");
|
|
29
|
+
var import_operational_credentials = require("#clusters/operational-credentials");
|
|
30
|
+
var import_time_synchronization = require("#clusters/time-synchronization");
|
|
31
|
+
var import_general = require("#general");
|
|
32
|
+
var import_types = require("#types");
|
|
33
|
+
var import_CertificateManager = require("../certificate/CertificateManager.js");
|
|
34
|
+
var import_ClusterClient = require("../cluster/client/ClusterClient.js");
|
|
35
|
+
var import_OperationalCredentialsTypes = require("../common/OperationalCredentialsTypes.js");
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
39
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
40
|
+
*/
|
|
41
|
+
const logger = import_general.Logger.get("ControllerCommissioner");
|
|
42
|
+
var CommissioningStepResultCode = /* @__PURE__ */ ((CommissioningStepResultCode2) => {
|
|
43
|
+
CommissioningStepResultCode2[CommissioningStepResultCode2["Success"] = 0] = "Success";
|
|
44
|
+
CommissioningStepResultCode2[CommissioningStepResultCode2["Failure"] = 1] = "Failure";
|
|
45
|
+
CommissioningStepResultCode2[CommissioningStepResultCode2["Skipped"] = 2] = "Skipped";
|
|
46
|
+
CommissioningStepResultCode2[CommissioningStepResultCode2["Stop"] = 3] = "Stop";
|
|
47
|
+
return CommissioningStepResultCode2;
|
|
48
|
+
})(CommissioningStepResultCode || {});
|
|
49
|
+
class CommissioningError extends import_general.MatterError {
|
|
50
|
+
}
|
|
51
|
+
class RecoverableCommissioningError extends CommissioningError {
|
|
52
|
+
}
|
|
53
|
+
const DEFAULT_FAILSAFE_TIME_MS = 6e4;
|
|
54
|
+
class ControllerCommissioningFlow {
|
|
55
|
+
#interactionClient;
|
|
56
|
+
#certificateManager;
|
|
57
|
+
#fabric;
|
|
58
|
+
#transitionToCase;
|
|
59
|
+
#commissioningOptions;
|
|
60
|
+
#commissioningSteps = new Array();
|
|
61
|
+
#commissioningStepResults = /* @__PURE__ */ new Map();
|
|
62
|
+
#clusterClients = /* @__PURE__ */ new Map();
|
|
63
|
+
#commissioningStartedTime;
|
|
64
|
+
#commissioningExpiryTime;
|
|
65
|
+
#lastFailSafeTime;
|
|
66
|
+
#lastBreadcrumb = 1;
|
|
67
|
+
#collectedCommissioningData = {};
|
|
68
|
+
#failSafeTimeMs = DEFAULT_FAILSAFE_TIME_MS;
|
|
69
|
+
constructor(interactionClient, certificateManager, fabric, commissioningOptions, transitionToCase) {
|
|
70
|
+
this.#interactionClient = interactionClient;
|
|
71
|
+
this.#certificateManager = certificateManager;
|
|
72
|
+
this.#fabric = fabric;
|
|
73
|
+
this.#transitionToCase = transitionToCase;
|
|
74
|
+
this.#commissioningOptions = commissioningOptions;
|
|
75
|
+
logger.debug(`Commissioning options: ${import_general.Logger.toJSON(commissioningOptions)}`);
|
|
76
|
+
this.#initializeCommissioningSteps();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Execute the commissioning process in the defined order. The steps are sorted before execution based on the step
|
|
80
|
+
* number and sub step number.
|
|
81
|
+
* If >50% of the failsafe time has passed, the failsafe timer is re-armed (50% of 60s default are 30s and each
|
|
82
|
+
* action is allowed to take 30s at minimum based on specs).
|
|
83
|
+
*/
|
|
84
|
+
async executeCommissioning() {
|
|
85
|
+
this.#sortSteps();
|
|
86
|
+
for (const step of this.#commissioningSteps) {
|
|
87
|
+
logger.info(`Executing commissioning step ${step.stepNumber}.${step.subStepNumber}: ${step.name}`);
|
|
88
|
+
try {
|
|
89
|
+
const result = await step.stepLogic();
|
|
90
|
+
this.#setCommissioningStepResult(step, result);
|
|
91
|
+
if (this.#lastFailSafeTime !== void 0) {
|
|
92
|
+
const timeSinceLastArmFailsafe = import_general.Time.nowMs() - this.#lastFailSafeTime;
|
|
93
|
+
if (this.#commissioningExpiryTime !== void 0 && import_general.Time.nowMs() > this.#commissioningExpiryTime) {
|
|
94
|
+
logger.error(
|
|
95
|
+
`Commissioning step ${step.stepNumber}.${step.subStepNumber}: ${step.name} succeeded, but commissioning took too long in general!`
|
|
96
|
+
);
|
|
97
|
+
throw new CommissioningError(`Commissioning took too long!`);
|
|
98
|
+
}
|
|
99
|
+
if (timeSinceLastArmFailsafe > this.#failSafeTimeMs / 2) {
|
|
100
|
+
logger.info(
|
|
101
|
+
`After Commissioning step ${step.stepNumber}.${step.subStepNumber}: ${step.name} succeeded, ${Math.floor(
|
|
102
|
+
timeSinceLastArmFailsafe / 1e3
|
|
103
|
+
)}s elapsed since last arm failsafe, re-arming failsafe`
|
|
104
|
+
);
|
|
105
|
+
await this.#armFailsafe();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (result.code === 3 /* Stop */) {
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
} catch (error) {
|
|
112
|
+
if (error instanceof RecoverableCommissioningError) {
|
|
113
|
+
logger.error(
|
|
114
|
+
`Commissioning step ${step.stepNumber}.${step.subStepNumber}: ${step.name} failed with recoverable error: ${error.message} ... Continuing with process`
|
|
115
|
+
);
|
|
116
|
+
} else if (error instanceof CommissioningError || error instanceof import_types.StatusResponseError) {
|
|
117
|
+
logger.error(
|
|
118
|
+
`Commissioning step ${step.stepNumber}.${step.subStepNumber}: ${step.name} failed with error: ${error.message} ... Aborting commissioning`
|
|
119
|
+
);
|
|
120
|
+
await this.#resetFailsafeTimer();
|
|
121
|
+
import_types.StatusResponseError.accept(error);
|
|
122
|
+
const commError = new CommissioningError(error.message);
|
|
123
|
+
commError.stack = error.stack;
|
|
124
|
+
throw commError;
|
|
125
|
+
} else {
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Helper method to create ClusterClients. If not feature specific and for the Root Endpoint they are also reused.
|
|
133
|
+
*/
|
|
134
|
+
#getClusterClient(cluster, endpointId = (0, import_types.EndpointNumber)(0), isFeatureSpecific = false) {
|
|
135
|
+
if (!isFeatureSpecific && endpointId === 0) {
|
|
136
|
+
const clusterClient = this.#clusterClients.get(cluster.id);
|
|
137
|
+
if (clusterClient !== void 0) {
|
|
138
|
+
logger.debug(
|
|
139
|
+
`Returning existing cluster client for cluster ${cluster.name} (endpoint ${endpointId}, isFeatureSpecific ${isFeatureSpecific})`
|
|
140
|
+
);
|
|
141
|
+
return clusterClient;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
logger.debug(
|
|
145
|
+
`Creating new cluster client for cluster ${cluster.name} (endpoint ${endpointId}, isFeatureSpecific ${isFeatureSpecific})`
|
|
146
|
+
);
|
|
147
|
+
const client = (0, import_ClusterClient.ClusterClient)(cluster, endpointId, this.#interactionClient);
|
|
148
|
+
this.#clusterClients.set(cluster.id, client);
|
|
149
|
+
return client;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Initialize commissioning steps and add them in the default order
|
|
153
|
+
*/
|
|
154
|
+
#initializeCommissioningSteps() {
|
|
155
|
+
this.#commissioningSteps.push({
|
|
156
|
+
stepNumber: 0,
|
|
157
|
+
subStepNumber: 1,
|
|
158
|
+
name: "GetInitialData",
|
|
159
|
+
stepLogic: () => this.#getInitialData()
|
|
160
|
+
});
|
|
161
|
+
this.#commissioningSteps.push({
|
|
162
|
+
stepNumber: 3,
|
|
163
|
+
subStepNumber: 1,
|
|
164
|
+
name: "GeneralCommissioning.ArmFailsafe",
|
|
165
|
+
stepLogic: () => this.#armFailsafe()
|
|
166
|
+
});
|
|
167
|
+
this.#commissioningSteps.push({
|
|
168
|
+
stepNumber: 5,
|
|
169
|
+
subStepNumber: 1,
|
|
170
|
+
name: "GeneralCommissioning.ConfigureRegulatoryInformation",
|
|
171
|
+
stepLogic: () => this.#configureRegulatoryInformation()
|
|
172
|
+
});
|
|
173
|
+
this.#commissioningSteps.push({
|
|
174
|
+
stepNumber: 5,
|
|
175
|
+
subStepNumber: 2,
|
|
176
|
+
name: "TimeSynchronization.SynchronizeTime",
|
|
177
|
+
stepLogic: () => this.#synchronizeTime()
|
|
178
|
+
});
|
|
179
|
+
this.#commissioningSteps.push({
|
|
180
|
+
stepNumber: 6,
|
|
181
|
+
subStepNumber: 1,
|
|
182
|
+
name: "OperationalCredentials.DeviceAttestation",
|
|
183
|
+
stepLogic: () => this.#deviceAttestation()
|
|
184
|
+
});
|
|
185
|
+
this.#commissioningSteps.push({
|
|
186
|
+
stepNumber: 7,
|
|
187
|
+
subStepNumber: 1,
|
|
188
|
+
name: "OperationalCredentials.Certificates",
|
|
189
|
+
stepLogic: () => this.#certificates()
|
|
190
|
+
});
|
|
191
|
+
this.#commissioningSteps.push({
|
|
192
|
+
stepNumber: 10,
|
|
193
|
+
subStepNumber: 1,
|
|
194
|
+
name: "AccessControl",
|
|
195
|
+
stepLogic: () => this.#configureAccessControlLists()
|
|
196
|
+
});
|
|
197
|
+
if (this.#interactionClient.channelType === import_general.ChannelType.BLE) {
|
|
198
|
+
this.#commissioningSteps.push({
|
|
199
|
+
stepNumber: 11,
|
|
200
|
+
subStepNumber: 1,
|
|
201
|
+
name: "NetworkCommissioning.Validate",
|
|
202
|
+
stepLogic: () => this.#validateNetwork()
|
|
203
|
+
});
|
|
204
|
+
if (this.#commissioningOptions.wifiNetwork !== void 0) {
|
|
205
|
+
this.#commissioningSteps.push({
|
|
206
|
+
stepNumber: 11,
|
|
207
|
+
subStepNumber: 2,
|
|
208
|
+
name: "NetworkCommissioning.Wifi",
|
|
209
|
+
stepLogic: () => this.#configureNetworkWifi()
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
if (this.#commissioningOptions.threadNetwork !== void 0) {
|
|
213
|
+
this.#commissioningSteps.push({
|
|
214
|
+
stepNumber: 11,
|
|
215
|
+
subStepNumber: 3,
|
|
216
|
+
name: "NetworkCommissioning.Thread",
|
|
217
|
+
stepLogic: () => this.#configureNetworkThread()
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
} else {
|
|
221
|
+
logger.info(
|
|
222
|
+
`Skipping NetworkCommissioning steps because the device is already on IP network (${this.#interactionClient.channelType})`
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
this.#commissioningSteps.push({
|
|
226
|
+
stepNumber: 12,
|
|
227
|
+
subStepNumber: 1,
|
|
228
|
+
name: "Reconnect",
|
|
229
|
+
stepLogic: () => this.#reconnectWithDevice()
|
|
230
|
+
});
|
|
231
|
+
this.#commissioningSteps.push({
|
|
232
|
+
stepNumber: 15,
|
|
233
|
+
subStepNumber: 1,
|
|
234
|
+
name: "GeneralCommissioning.Complete",
|
|
235
|
+
stepLogic: () => this.#completeCommissioning()
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
#sortSteps() {
|
|
239
|
+
this.#commissioningSteps.sort((a, b) => {
|
|
240
|
+
if (a.stepNumber !== b.stepNumber) return a.stepNumber - b.stepNumber;
|
|
241
|
+
return a.subStepNumber - b.subStepNumber;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
#setCommissioningStepResult(step, result) {
|
|
245
|
+
this.#commissioningStepResults.set(`${step.stepNumber}-${step.subStepNumber}`, result);
|
|
246
|
+
}
|
|
247
|
+
getCommissioningStepResult(stepNumber, subStepNumber) {
|
|
248
|
+
return this.#commissioningStepResults.get(`${stepNumber}-${subStepNumber}`);
|
|
249
|
+
}
|
|
250
|
+
/** Helper method to check for errorCode/debugTest responses and throw error on failure */
|
|
251
|
+
#ensureOperationalCredentialsSuccess(context, { statusCode, debugText, fabricIndex }) {
|
|
252
|
+
logger.debug(
|
|
253
|
+
`Commissioning step ${context} returned ${statusCode}, ${debugText}${fabricIndex !== void 0 ? `, fabricIndex: ${fabricIndex}` : ""}`
|
|
254
|
+
);
|
|
255
|
+
if (statusCode === import_operational_credentials.OperationalCredentials.NodeOperationalCertStatus.Ok) return;
|
|
256
|
+
throw new CommissioningError(
|
|
257
|
+
`Commission error for "${context}": ${statusCode}, ${debugText}${fabricIndex !== void 0 ? `, fabricIndex: ${fabricIndex}` : ""}`
|
|
258
|
+
);
|
|
259
|
+
}
|
|
260
|
+
/** Helper method to check for errorCode/debugTest responses and throw error on failure */
|
|
261
|
+
#ensureGeneralCommissioningSuccess(context, { errorCode, debugText }) {
|
|
262
|
+
logger.debug(`Commissioning step ${context} returned ${errorCode}, ${debugText}`);
|
|
263
|
+
if (errorCode === import_general_commissioning.GeneralCommissioning.CommissioningError.Ok) return;
|
|
264
|
+
throw new CommissioningError(`Commission error for "${context}": ${errorCode}, ${debugText}`);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Initial Step to receive some common data used by other steps
|
|
268
|
+
*/
|
|
269
|
+
async #getInitialData() {
|
|
270
|
+
const descriptorClient = this.#getClusterClient(import_descriptor.Descriptor.Cluster);
|
|
271
|
+
this.#collectedCommissioningData.rootPartsList = await descriptorClient.getPartsListAttribute();
|
|
272
|
+
this.#collectedCommissioningData.rootServerList = await descriptorClient.getServerListAttribute();
|
|
273
|
+
const networkData = await this.#interactionClient.getMultipleAttributes({
|
|
274
|
+
attributes: [
|
|
275
|
+
{
|
|
276
|
+
clusterId: import_network_commissioning.NetworkCommissioning.Complete.id,
|
|
277
|
+
attributeId: import_network_commissioning.NetworkCommissioning.Complete.attributes.featureMap.id
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
clusterId: import_network_commissioning.NetworkCommissioning.Complete.id,
|
|
281
|
+
attributeId: import_network_commissioning.NetworkCommissioning.Complete.attributes.networks.id
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
});
|
|
285
|
+
const networkFeatures = new Array();
|
|
286
|
+
const networkStatus = new Array();
|
|
287
|
+
for (const {
|
|
288
|
+
path: { endpointId, attributeId },
|
|
289
|
+
value
|
|
290
|
+
} of networkData) {
|
|
291
|
+
if (attributeId === import_network_commissioning.NetworkCommissioning.Complete.attributes.featureMap.id) {
|
|
292
|
+
networkFeatures.push({ endpointId, value });
|
|
293
|
+
} else if (attributeId === import_network_commissioning.NetworkCommissioning.Complete.attributes.networks.id) {
|
|
294
|
+
networkStatus.push({ endpointId, value });
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
this.#collectedCommissioningData.networkFeatures = networkFeatures;
|
|
298
|
+
this.#collectedCommissioningData.networkStatus = networkStatus;
|
|
299
|
+
const basicInfoClient = this.#getClusterClient(import_basic_information.BasicInformation.Cluster);
|
|
300
|
+
this.#collectedCommissioningData.vendorId = await basicInfoClient.getVendorIdAttribute();
|
|
301
|
+
this.#collectedCommissioningData.productId = await basicInfoClient.getProductIdAttribute();
|
|
302
|
+
this.#collectedCommissioningData.productName = await basicInfoClient.getProductNameAttribute();
|
|
303
|
+
const generalCommissioningClient = this.#getClusterClient(import_general_commissioning.GeneralCommissioning.Cluster);
|
|
304
|
+
this.#collectedCommissioningData.supportsConcurrentConnection = await generalCommissioningClient.getSupportsConcurrentConnectionAttribute();
|
|
305
|
+
return {
|
|
306
|
+
code: 0 /* Success */,
|
|
307
|
+
breadcrumb: this.#lastBreadcrumb
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Step 3
|
|
312
|
+
* Upon completion of PASE session establishment, the Commissionee SHALL autonomously arm the Fail-safe timer for a
|
|
313
|
+
* timeout of 60 seconds. This is to guard against the Commissioner aborting the Commissioning process without
|
|
314
|
+
* arming the fail-safe, which may leave the device unable to accept additional connections.
|
|
315
|
+
* A Commissioner MAY obtain device information including guidance on the fail-safe value from the Commissionee by
|
|
316
|
+
* reading BasicCommissioningInfo attribute (see Section 11.9.5.2, “BasicCommissioningInfo Attribute”) prior to
|
|
317
|
+
* invoking the ArmFailSafe command.
|
|
318
|
+
*/
|
|
319
|
+
async #armFailsafe() {
|
|
320
|
+
const client = this.#getClusterClient(import_general_commissioning.GeneralCommissioning.Cluster);
|
|
321
|
+
if (this.#collectedCommissioningData.basicCommissioningInfo === void 0) {
|
|
322
|
+
const basicCommissioningInfo = await client.getBasicCommissioningInfoAttribute();
|
|
323
|
+
this.#collectedCommissioningData.basicCommissioningInfo = basicCommissioningInfo;
|
|
324
|
+
this.#failSafeTimeMs = basicCommissioningInfo.failSafeExpiryLengthSeconds * 1e3;
|
|
325
|
+
this.#commissioningStartedTime = import_general.Time.nowMs();
|
|
326
|
+
this.#commissioningExpiryTime = this.#commissioningStartedTime + basicCommissioningInfo.maxCumulativeFailsafeSeconds * 1e3;
|
|
327
|
+
}
|
|
328
|
+
this.#ensureGeneralCommissioningSuccess(
|
|
329
|
+
"armFailSafe",
|
|
330
|
+
await client.armFailSafe({
|
|
331
|
+
breadcrumb: this.#lastBreadcrumb,
|
|
332
|
+
expiryLengthSeconds: this.#collectedCommissioningData.basicCommissioningInfo?.failSafeExpiryLengthSeconds
|
|
333
|
+
})
|
|
334
|
+
);
|
|
335
|
+
this.#lastFailSafeTime = import_general.Time.nowMs();
|
|
336
|
+
return {
|
|
337
|
+
code: 0 /* Success */,
|
|
338
|
+
breadcrumb: this.#lastBreadcrumb
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
async #resetFailsafeTimer() {
|
|
342
|
+
try {
|
|
343
|
+
const client = this.#getClusterClient(import_general_commissioning.GeneralCommissioning.Cluster);
|
|
344
|
+
await client.armFailSafe({
|
|
345
|
+
breadcrumb: this.#lastBreadcrumb,
|
|
346
|
+
expiryLengthSeconds: 0
|
|
347
|
+
});
|
|
348
|
+
} catch (error) {
|
|
349
|
+
logger.error(`Error while resetting failsafe timer`, error);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Step 5 - 1
|
|
354
|
+
* Commissioner SHALL configure regulatory information in the Commissionee if it has at least one instance of
|
|
355
|
+
* Network Commissioning cluster on any endpoint with either the WI (i.e. Wi-Fi) or TH (i.e. Thread) feature flags
|
|
356
|
+
* set in its FeatureMap.
|
|
357
|
+
* The regulatory information is configured using SetRegulatoryConfig (see Section 11.9.6.4,
|
|
358
|
+
* “SetRegulatoryConfig Command”).
|
|
359
|
+
*/
|
|
360
|
+
async #configureRegulatoryInformation() {
|
|
361
|
+
if (this.#collectedCommissioningData.networkFeatures === void 0) {
|
|
362
|
+
throw new CommissioningError("No network features collected. This should never happen.");
|
|
363
|
+
}
|
|
364
|
+
const hasRadioNetwork = this.#collectedCommissioningData.networkFeatures.some(
|
|
365
|
+
({ value: { wiFiNetworkInterface, threadNetworkInterface } }) => wiFiNetworkInterface || threadNetworkInterface
|
|
366
|
+
);
|
|
367
|
+
if (hasRadioNetwork) {
|
|
368
|
+
const client = this.#getClusterClient(import_general_commissioning.GeneralCommissioning.Cluster);
|
|
369
|
+
let locationCapability = await client.getLocationCapabilityAttribute();
|
|
370
|
+
if (locationCapability === import_general_commissioning.GeneralCommissioning.RegulatoryLocationType.IndoorOutdoor) {
|
|
371
|
+
locationCapability = this.#commissioningOptions.regulatoryLocation;
|
|
372
|
+
} else {
|
|
373
|
+
logger.debug(
|
|
374
|
+
`Device does not support a configurable regulatory location type. Location is set to "${locationCapability === import_general_commissioning.GeneralCommissioning.RegulatoryLocationType.Indoor ? "Indoor" : "Outdoor"}"`
|
|
375
|
+
);
|
|
376
|
+
}
|
|
377
|
+
let countryCode = this.#commissioningOptions.regulatoryCountryCode;
|
|
378
|
+
const regulatoryResult = await client.setRegulatoryConfig(
|
|
379
|
+
{
|
|
380
|
+
breadcrumb: this.#lastBreadcrumb++,
|
|
381
|
+
newRegulatoryConfig: locationCapability,
|
|
382
|
+
countryCode
|
|
383
|
+
},
|
|
384
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
385
|
+
);
|
|
386
|
+
if (regulatoryResult.errorCode === import_general_commissioning.GeneralCommissioning.CommissioningError.ValueOutsideRange && countryCode !== "XX") {
|
|
387
|
+
logger.debug(
|
|
388
|
+
`Device does not support a configurable country code. Use "XX" instead of "${countryCode}"`
|
|
389
|
+
);
|
|
390
|
+
countryCode = "XX";
|
|
391
|
+
this.#ensureGeneralCommissioningSuccess(
|
|
392
|
+
"setRegulatoryConfig",
|
|
393
|
+
await client.setRegulatoryConfig(
|
|
394
|
+
{
|
|
395
|
+
breadcrumb: this.#lastBreadcrumb,
|
|
396
|
+
newRegulatoryConfig: locationCapability,
|
|
397
|
+
countryCode
|
|
398
|
+
},
|
|
399
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
400
|
+
)
|
|
401
|
+
);
|
|
402
|
+
} else {
|
|
403
|
+
this.#ensureGeneralCommissioningSuccess("setRegulatoryConfig", regulatoryResult);
|
|
404
|
+
}
|
|
405
|
+
return {
|
|
406
|
+
code: 0 /* Success */,
|
|
407
|
+
breadcrumb: this.#lastBreadcrumb
|
|
408
|
+
};
|
|
409
|
+
}
|
|
410
|
+
return {
|
|
411
|
+
code: 2 /* Skipped */,
|
|
412
|
+
breadcrumb: this.#lastBreadcrumb
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Step 5 - 2
|
|
417
|
+
* Commissioner SHOULD configure UTC time, timezone, and DST offset, if the Commissionee supports the time cluster.
|
|
418
|
+
* The order of configuration of this information is not critical. The UTC time is configured using SetUtcTime
|
|
419
|
+
* command (see Section 11.16.9.1, “SetUtcTime Command”) while timezone and DST offset are set through TimeZone
|
|
420
|
+
* (see Section 11.16.8.6, “TimeZone Attribute”) and DstOffset attribute (see Section 11.16.8.7,
|
|
421
|
+
* “DSTOffset Attribute”), respectively.
|
|
422
|
+
*/
|
|
423
|
+
async #synchronizeTime() {
|
|
424
|
+
if (this.#collectedCommissioningData.rootServerList !== void 0 && this.#collectedCommissioningData.rootServerList.find(
|
|
425
|
+
(clusterId) => clusterId === import_time_synchronization.TimeSynchronizationCluster.id
|
|
426
|
+
)) {
|
|
427
|
+
logger.debug("TimeSynchronization cluster is supported");
|
|
428
|
+
}
|
|
429
|
+
return {
|
|
430
|
+
code: 2 /* Skipped */,
|
|
431
|
+
breadcrumb: this.#lastBreadcrumb
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Step 6
|
|
436
|
+
* Commissioner SHALL establish the authenticity of the Commissionee as a certified Matter device (see Section
|
|
437
|
+
* 6.2.3, “Device Attestation Procedure”).
|
|
438
|
+
*/
|
|
439
|
+
async #deviceAttestation() {
|
|
440
|
+
const operationalCredentialsClusterClient = this.#getClusterClient(import_operational_credentials.OperationalCredentials.Cluster);
|
|
441
|
+
const { certificate: deviceAttestation } = await operationalCredentialsClusterClient.certificateChainRequest(
|
|
442
|
+
{
|
|
443
|
+
certificateType: import_operational_credentials.OperationalCredentials.CertificateChainType.DacCertificate
|
|
444
|
+
},
|
|
445
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
446
|
+
);
|
|
447
|
+
const { certificate: productAttestation } = await operationalCredentialsClusterClient.certificateChainRequest(
|
|
448
|
+
{
|
|
449
|
+
certificateType: import_operational_credentials.OperationalCredentials.CertificateChainType.PaiCertificate
|
|
450
|
+
},
|
|
451
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
452
|
+
);
|
|
453
|
+
const { attestationElements, attestationSignature } = await operationalCredentialsClusterClient.attestationRequest(
|
|
454
|
+
{
|
|
455
|
+
attestationNonce: import_general.Crypto.getRandomData(32)
|
|
456
|
+
},
|
|
457
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
458
|
+
);
|
|
459
|
+
if (deviceAttestation.length === 0 || productAttestation.length === 0 || attestationElements.length === 0 || attestationSignature.length === 0) {
|
|
460
|
+
throw new CommissioningError("Device Attestation data missing from device");
|
|
461
|
+
}
|
|
462
|
+
return {
|
|
463
|
+
code: 0 /* Success */,
|
|
464
|
+
breadcrumb: this.#lastBreadcrumb
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Step 7-9
|
|
469
|
+
* 7: Following the Device Attestation Procedure yielding a decision to proceed with commissioning, the Commissioner
|
|
470
|
+
* SHALL request operational CSR from Commissionee using the CSRRequest command (see Section 11.17.6.5,
|
|
471
|
+
* “CSRRequest Command”). The CSRRequest command will cause the generation of a new operational key pair at the
|
|
472
|
+
* Commissionee.
|
|
473
|
+
* 8: Commissioner SHALL generate or otherwise obtain an Operational Certificate containing Operational ID after
|
|
474
|
+
* receiving the CSRResponse command from the Commissionee (see Section 11.17.6.5, “CSRRequest Command”), using
|
|
475
|
+
* implementation-specific means.
|
|
476
|
+
* 9: Commissioner SHALL install operational credentials (see Figure 38, “Node Operational Credentials flow”) on
|
|
477
|
+
* the Commissionee using the AddTrustedRootCertificate and AddNOC commands.
|
|
478
|
+
*/
|
|
479
|
+
async #certificates() {
|
|
480
|
+
const operationalCredentialsClusterClient = this.#getClusterClient(import_operational_credentials.OperationalCredentials.Cluster);
|
|
481
|
+
const { nocsrElements, attestationSignature: csrSignature } = await operationalCredentialsClusterClient.csrRequest(
|
|
482
|
+
{ csrNonce: import_general.Crypto.getRandomData(32) },
|
|
483
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
484
|
+
);
|
|
485
|
+
if (nocsrElements.length === 0 || csrSignature.length === 0) {
|
|
486
|
+
throw new import_general.UnexpectedDataError("Invalid response from device");
|
|
487
|
+
}
|
|
488
|
+
const { certSigningRequest } = import_OperationalCredentialsTypes.TlvCertSigningRequest.decode(nocsrElements);
|
|
489
|
+
const operationalPublicKey = import_CertificateManager.CertificateManager.getPublicKeyFromCsr(certSigningRequest);
|
|
490
|
+
await operationalCredentialsClusterClient.addTrustedRootCertificate(
|
|
491
|
+
{
|
|
492
|
+
rootCaCertificate: this.#certificateManager.rootCert
|
|
493
|
+
},
|
|
494
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
495
|
+
);
|
|
496
|
+
const peerOperationalCert = this.#certificateManager.generateNoc(
|
|
497
|
+
operationalPublicKey,
|
|
498
|
+
this.#fabric.fabricId,
|
|
499
|
+
this.#interactionClient.address.nodeId
|
|
500
|
+
);
|
|
501
|
+
this.#ensureOperationalCredentialsSuccess(
|
|
502
|
+
"addNoc",
|
|
503
|
+
await operationalCredentialsClusterClient.addNoc(
|
|
504
|
+
{
|
|
505
|
+
nocValue: peerOperationalCert,
|
|
506
|
+
icacValue: new Uint8Array(0),
|
|
507
|
+
ipkValue: this.#fabric.identityProtectionKey,
|
|
508
|
+
adminVendorId: this.#fabric.rootVendorId,
|
|
509
|
+
caseAdminSubject: this.#fabric.rootNodeId
|
|
510
|
+
},
|
|
511
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
512
|
+
)
|
|
513
|
+
);
|
|
514
|
+
return {
|
|
515
|
+
code: 0 /* Success */,
|
|
516
|
+
breadcrumb: this.#lastBreadcrumb
|
|
517
|
+
};
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Step 10
|
|
521
|
+
* Commissioner MAY configure the Access Control List (see Access Control Cluster) on the Commissionee in any way
|
|
522
|
+
* it sees fit, if the singular entry added by the AddNOC command in the previous step granting Administer
|
|
523
|
+
* privilege over CASE authentication type for the Node ID provided with the command is not sufficient to express
|
|
524
|
+
* its desired access control policies.
|
|
525
|
+
*/
|
|
526
|
+
async #configureAccessControlLists() {
|
|
527
|
+
return {
|
|
528
|
+
code: 2 /* Skipped */,
|
|
529
|
+
breadcrumb: this.#lastBreadcrumb
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Step 11-12
|
|
534
|
+
* 11: If the Commissionee both supports it and requires it, the Commissioner SHALL configure the operational network
|
|
535
|
+
* at the Commissionee using commands such as AddOrUpdateWiFiNetwork (see Section 11.8.7.3, “AddOrUpdateWiFiNetwork
|
|
536
|
+
* Command”) and AddOrUpdateThreadNetwork (see Section 11.8.7.4, “AddOrUpdateThreadNetwork Command”).
|
|
537
|
+
* A Commissionee requires network commissioning if it is not already on the desired operational network.
|
|
538
|
+
* A Commissionee supports network commissioning if it has any NetworkCommissioning cluster instances.
|
|
539
|
+
* A Commissioner MAY learn about the networks visible to the Commissionee using ScanNetworks command
|
|
540
|
+
* (see Section 11.8.7.1, “ScanNetworks Command”).
|
|
541
|
+
* 12: The Commissioner SHALL trigger the Commissionee to connect to the operational network using ConnectNetwork
|
|
542
|
+
* command (see Section 11.8.7.9, “ConnectNetwork Command”) unless the Commissionee is already on the desired operational network.
|
|
543
|
+
*/
|
|
544
|
+
async #validateNetwork() {
|
|
545
|
+
if (this.#collectedCommissioningData.networkFeatures === void 0 || this.#collectedCommissioningData.networkStatus === void 0) {
|
|
546
|
+
throw new CommissioningError("No network features or status collected. This should never happen.");
|
|
547
|
+
}
|
|
548
|
+
if (this.#commissioningOptions.wifiNetwork === void 0 && this.#commissioningOptions.threadNetwork === void 0) {
|
|
549
|
+
const anyEthernetInterface = this.#collectedCommissioningData.networkFeatures.length === 0 || this.#collectedCommissioningData.networkFeatures.some(
|
|
550
|
+
({ value: { ethernetNetworkInterface } }) => ethernetNetworkInterface === true
|
|
551
|
+
);
|
|
552
|
+
const anyInterfaceConnected = this.#collectedCommissioningData.networkStatus.length === 0 || this.#collectedCommissioningData.networkStatus.some(
|
|
553
|
+
({ value }) => value.some(({ connected }) => connected)
|
|
554
|
+
);
|
|
555
|
+
if (!anyEthernetInterface && !anyInterfaceConnected) {
|
|
556
|
+
throw new CommissioningError(
|
|
557
|
+
"No Wi-Fi/Thread network credentials are configured for commissioning and no Ethernet interface is available on the device and no interface already connected."
|
|
558
|
+
);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
return {
|
|
562
|
+
code: 0 /* Success */,
|
|
563
|
+
breadcrumb: this.#lastBreadcrumb
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
async #configureNetworkWifi() {
|
|
567
|
+
if (this.#commissioningOptions.wifiNetwork === void 0) {
|
|
568
|
+
logger.debug("WiFi network is not configured");
|
|
569
|
+
return {
|
|
570
|
+
code: 2 /* Skipped */,
|
|
571
|
+
breadcrumb: this.#lastBreadcrumb
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
if (this.#collectedCommissioningData.networkFeatures !== void 0 && this.#collectedCommissioningData.networkStatus !== void 0) {
|
|
575
|
+
const rootNetworkFeatures = this.#collectedCommissioningData.networkFeatures.find(
|
|
576
|
+
({ endpointId }) => endpointId === 0
|
|
577
|
+
)?.value;
|
|
578
|
+
const rootNetworkStatus = this.#collectedCommissioningData.networkStatus.find(
|
|
579
|
+
({ endpointId }) => endpointId === 0
|
|
580
|
+
)?.value;
|
|
581
|
+
logger.debug(
|
|
582
|
+
`Root Networks found: ${import_general.Logger.toJSON(rootNetworkFeatures)} - ${import_general.Logger.toJSON(rootNetworkStatus)}`
|
|
583
|
+
);
|
|
584
|
+
if (rootNetworkFeatures?.wiFiNetworkInterface !== true) {
|
|
585
|
+
logger.debug("Commissionee does not support any WiFi network interface");
|
|
586
|
+
return {
|
|
587
|
+
code: 2 /* Skipped */,
|
|
588
|
+
breadcrumb: this.#lastBreadcrumb
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
if (rootNetworkStatus !== void 0 && rootNetworkStatus.length > 0 && rootNetworkStatus[0].connected) {
|
|
592
|
+
logger.debug("Commissionee is already connected to the WiFi network");
|
|
593
|
+
this.#collectedCommissioningData.successfullyConnectedToNetwork = true;
|
|
594
|
+
return {
|
|
595
|
+
code: 2 /* Skipped */,
|
|
596
|
+
breadcrumb: this.#lastBreadcrumb
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
logger.debug("Configuring WiFi network ...");
|
|
601
|
+
const networkCommissioningClusterClient = this.#getClusterClient(
|
|
602
|
+
import_network_commissioning.NetworkCommissioning.Cluster.with("WiFiNetworkInterface"),
|
|
603
|
+
(0, import_types.EndpointNumber)(0),
|
|
604
|
+
true
|
|
605
|
+
);
|
|
606
|
+
const ssid = import_general.Bytes.fromString(this.#commissioningOptions.wifiNetwork.wifiSsid);
|
|
607
|
+
const credentials = import_general.Bytes.fromString(this.#commissioningOptions.wifiNetwork.wifiCredentials);
|
|
608
|
+
const { networkingStatus, wiFiScanResults, debugText } = await networkCommissioningClusterClient.scanNetworks(
|
|
609
|
+
{
|
|
610
|
+
ssid,
|
|
611
|
+
breadcrumb: this.#lastBreadcrumb++
|
|
612
|
+
},
|
|
613
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
614
|
+
);
|
|
615
|
+
if (networkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
616
|
+
throw new CommissioningError(`Commissionee failed to scan for WiFi networks: ${debugText}`);
|
|
617
|
+
}
|
|
618
|
+
if (wiFiScanResults === void 0 || wiFiScanResults.length === 0) {
|
|
619
|
+
throw new CommissioningError(
|
|
620
|
+
`Commissionee did not return any WiFi networks for the requested SSID ${this.#commissioningOptions.wifiNetwork.wifiSsid}`
|
|
621
|
+
);
|
|
622
|
+
}
|
|
623
|
+
const {
|
|
624
|
+
networkingStatus: addNetworkingStatus,
|
|
625
|
+
debugText: addDebugText,
|
|
626
|
+
networkIndex
|
|
627
|
+
} = await networkCommissioningClusterClient.addOrUpdateWiFiNetwork(
|
|
628
|
+
{
|
|
629
|
+
ssid,
|
|
630
|
+
credentials,
|
|
631
|
+
breadcrumb: this.#lastBreadcrumb++
|
|
632
|
+
},
|
|
633
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
634
|
+
);
|
|
635
|
+
if (addNetworkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
636
|
+
throw new CommissioningError(`Commissionee failed to add WiFi network: ${addDebugText}`);
|
|
637
|
+
}
|
|
638
|
+
if (networkIndex === void 0) {
|
|
639
|
+
throw new CommissioningError(`Commissionee did not return network index`);
|
|
640
|
+
}
|
|
641
|
+
logger.debug(
|
|
642
|
+
`Commissionee added WiFi network ${this.#commissioningOptions.wifiNetwork.wifiSsid} with network index ${networkIndex}`
|
|
643
|
+
);
|
|
644
|
+
const updatedNetworks = await networkCommissioningClusterClient.getNetworksAttribute();
|
|
645
|
+
if (updatedNetworks[networkIndex] === void 0) {
|
|
646
|
+
throw new CommissioningError(`Commissionee did not return network with index ${networkIndex}`);
|
|
647
|
+
}
|
|
648
|
+
const { networkId, connected } = updatedNetworks[networkIndex];
|
|
649
|
+
if (connected) {
|
|
650
|
+
this.#collectedCommissioningData.successfullyConnectedToNetwork = true;
|
|
651
|
+
logger.debug(
|
|
652
|
+
`Commissionee is already connected to WiFi network ${this.#commissioningOptions.wifiNetwork.wifiSsid} (networkId ${import_general.Bytes.toHex(networkId)})`
|
|
653
|
+
);
|
|
654
|
+
return {
|
|
655
|
+
code: 0 /* Success */,
|
|
656
|
+
breadcrumb: this.#lastBreadcrumb
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
const connectResult = await networkCommissioningClusterClient.connectNetwork(
|
|
660
|
+
{
|
|
661
|
+
networkId,
|
|
662
|
+
breadcrumb: this.#lastBreadcrumb++
|
|
663
|
+
},
|
|
664
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
665
|
+
);
|
|
666
|
+
if (connectResult.networkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
667
|
+
throw new CommissioningError(`Commissionee failed to connect to WiFi network: ${connectResult.debugText}`);
|
|
668
|
+
}
|
|
669
|
+
this.#collectedCommissioningData.successfullyConnectedToNetwork = true;
|
|
670
|
+
logger.debug(
|
|
671
|
+
`Commissionee successfully connected to WiFi network ${this.#commissioningOptions.wifiNetwork.wifiSsid} (networkId ${import_general.Bytes.toHex(networkId)})`
|
|
672
|
+
);
|
|
673
|
+
return {
|
|
674
|
+
code: 0 /* Success */,
|
|
675
|
+
breadcrumb: this.#lastBreadcrumb
|
|
676
|
+
};
|
|
677
|
+
}
|
|
678
|
+
async #configureNetworkThread() {
|
|
679
|
+
if (this.#collectedCommissioningData.successfullyConnectedToNetwork) {
|
|
680
|
+
logger.debug("Node is already connected to a network. Skipping Thread configuration.");
|
|
681
|
+
return {
|
|
682
|
+
code: 2 /* Skipped */,
|
|
683
|
+
breadcrumb: this.#lastBreadcrumb
|
|
684
|
+
};
|
|
685
|
+
}
|
|
686
|
+
if (this.#commissioningOptions.threadNetwork === void 0) {
|
|
687
|
+
logger.debug("Thread network is not configured");
|
|
688
|
+
return {
|
|
689
|
+
code: 2 /* Skipped */,
|
|
690
|
+
breadcrumb: this.#lastBreadcrumb
|
|
691
|
+
};
|
|
692
|
+
}
|
|
693
|
+
if (this.#collectedCommissioningData.networkFeatures !== void 0 && this.#collectedCommissioningData.networkStatus !== void 0) {
|
|
694
|
+
const rootNetworkFeatures = this.#collectedCommissioningData.networkFeatures.find(
|
|
695
|
+
({ endpointId }) => endpointId === 0
|
|
696
|
+
)?.value;
|
|
697
|
+
const rootNetworkStatus = this.#collectedCommissioningData.networkStatus.find(
|
|
698
|
+
({ endpointId }) => endpointId === 0
|
|
699
|
+
)?.value;
|
|
700
|
+
logger.debug(
|
|
701
|
+
`Root Networks found: ${import_general.Logger.toJSON(rootNetworkFeatures)} - ${import_general.Logger.toJSON(rootNetworkStatus)}`
|
|
702
|
+
);
|
|
703
|
+
if (rootNetworkFeatures?.threadNetworkInterface !== true) {
|
|
704
|
+
logger.debug("Commissionee does not support any Thread network interface");
|
|
705
|
+
return {
|
|
706
|
+
code: 2 /* Skipped */,
|
|
707
|
+
breadcrumb: this.#lastBreadcrumb
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
if (rootNetworkStatus !== void 0 && rootNetworkStatus.length > 0 && rootNetworkStatus[0].connected) {
|
|
711
|
+
logger.debug("Commissionee is already connected to the Thread network");
|
|
712
|
+
return {
|
|
713
|
+
code: 2 /* Skipped */,
|
|
714
|
+
breadcrumb: this.#lastBreadcrumb
|
|
715
|
+
};
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
logger.debug("Configuring Thread network ...");
|
|
719
|
+
const networkCommissioningClusterClient = this.#getClusterClient(
|
|
720
|
+
import_network_commissioning.NetworkCommissioning.Cluster.with("ThreadNetworkInterface"),
|
|
721
|
+
(0, import_types.EndpointNumber)(0),
|
|
722
|
+
true
|
|
723
|
+
);
|
|
724
|
+
const { networkingStatus, threadScanResults, debugText } = await networkCommissioningClusterClient.scanNetworks(
|
|
725
|
+
{ breadcrumb: this.#lastBreadcrumb++ },
|
|
726
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
727
|
+
);
|
|
728
|
+
if (networkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
729
|
+
throw new CommissioningError(`Commissionee failed to scan for Thread networks: ${debugText}`);
|
|
730
|
+
}
|
|
731
|
+
if (threadScanResults === void 0 || threadScanResults.length === 0) {
|
|
732
|
+
throw new CommissioningError(
|
|
733
|
+
`Commissionee did not return any Thread networks for the requested Network ${this.#commissioningOptions.threadNetwork.networkName}`
|
|
734
|
+
);
|
|
735
|
+
}
|
|
736
|
+
const wantedNetworkFound = threadScanResults.find(
|
|
737
|
+
({ networkName }) => networkName === this.#commissioningOptions.threadNetwork?.networkName
|
|
738
|
+
);
|
|
739
|
+
if (wantedNetworkFound === void 0) {
|
|
740
|
+
throw new CommissioningError(
|
|
741
|
+
`Commissionee did not return the requested Network ${this.#commissioningOptions.threadNetwork.networkName}: ${import_general.Logger.toJSON(threadScanResults)}`
|
|
742
|
+
);
|
|
743
|
+
}
|
|
744
|
+
logger.debug(
|
|
745
|
+
`Commissionee found wanted Thread network ${this.#commissioningOptions.threadNetwork.networkName}: ${import_general.Logger.toJSON(wantedNetworkFound)}`
|
|
746
|
+
);
|
|
747
|
+
const {
|
|
748
|
+
networkingStatus: addNetworkingStatus,
|
|
749
|
+
debugText: addDebugText,
|
|
750
|
+
networkIndex
|
|
751
|
+
} = await networkCommissioningClusterClient.addOrUpdateThreadNetwork(
|
|
752
|
+
{
|
|
753
|
+
operationalDataset: import_general.Bytes.fromHex(this.#commissioningOptions.threadNetwork.operationalDataset),
|
|
754
|
+
breadcrumb: this.#lastBreadcrumb++
|
|
755
|
+
},
|
|
756
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
757
|
+
);
|
|
758
|
+
if (addNetworkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
759
|
+
throw new CommissioningError(`Commissionee failed to add Thread network: ${addDebugText}`);
|
|
760
|
+
}
|
|
761
|
+
if (networkIndex === void 0) {
|
|
762
|
+
throw new CommissioningError(`Commissionee did not return network index`);
|
|
763
|
+
}
|
|
764
|
+
logger.debug(
|
|
765
|
+
`Commissionee added Thread network ${this.#commissioningOptions.threadNetwork.networkName} with network index ${networkIndex}`
|
|
766
|
+
);
|
|
767
|
+
const updatedNetworks = await networkCommissioningClusterClient.getNetworksAttribute();
|
|
768
|
+
if (updatedNetworks[networkIndex] === void 0) {
|
|
769
|
+
throw new CommissioningError(`Commissionee did not return network with index ${networkIndex}`);
|
|
770
|
+
}
|
|
771
|
+
const { networkId, connected } = updatedNetworks[networkIndex];
|
|
772
|
+
if (connected) {
|
|
773
|
+
logger.debug(
|
|
774
|
+
`Commissionee is already connected to Thread network ${this.#commissioningOptions.threadNetwork.networkName} (networkId ${import_general.Bytes.toHex(networkId)})`
|
|
775
|
+
);
|
|
776
|
+
return {
|
|
777
|
+
code: 0 /* Success */,
|
|
778
|
+
breadcrumb: this.#lastBreadcrumb
|
|
779
|
+
};
|
|
780
|
+
}
|
|
781
|
+
const connectResult = await networkCommissioningClusterClient.connectNetwork(
|
|
782
|
+
{
|
|
783
|
+
networkId,
|
|
784
|
+
breadcrumb: this.#lastBreadcrumb++
|
|
785
|
+
},
|
|
786
|
+
{ useExtendedFailSafeMessageResponseTimeout: true }
|
|
787
|
+
);
|
|
788
|
+
if (connectResult.networkingStatus !== import_network_commissioning.NetworkCommissioning.NetworkCommissioningStatus.Success) {
|
|
789
|
+
throw new CommissioningError(
|
|
790
|
+
`Commissionee failed to connect to Thread network: ${connectResult.debugText}`
|
|
791
|
+
);
|
|
792
|
+
}
|
|
793
|
+
logger.debug(
|
|
794
|
+
`Commissionee successfully connected to Thread network ${this.#commissioningOptions.threadNetwork.networkName} (networkId ${import_general.Bytes.toHex(networkId)})`
|
|
795
|
+
);
|
|
796
|
+
return {
|
|
797
|
+
code: 0 /* Success */,
|
|
798
|
+
breadcrumb: this.#lastBreadcrumb
|
|
799
|
+
};
|
|
800
|
+
}
|
|
801
|
+
/**
|
|
802
|
+
* Step 13-14
|
|
803
|
+
* 13: Finalization of the Commissioning process begins. An Administrator configured in the ACL of the Commissionee
|
|
804
|
+
* by the Commissioner SHALL use Operational Discovery to discover the Commissionee. This Administrator MAY be
|
|
805
|
+
* the Commissioner itself, or another Node to which the Commissioner has delegated the task.
|
|
806
|
+
* 14: The Administrator SHALL open a CASE (see Section 4.13.2, “Certificate Authenticated Session Establishment
|
|
807
|
+
* (CASE)”) session with the Commissionee over the operational network.
|
|
808
|
+
*
|
|
809
|
+
*/
|
|
810
|
+
async #reconnectWithDevice() {
|
|
811
|
+
logger.debug("Reconnecting with device ...");
|
|
812
|
+
const transitionResult = await this.#transitionToCase(this.#interactionClient.address);
|
|
813
|
+
if (transitionResult === void 0) {
|
|
814
|
+
logger.debug("CASE commissioning handled externally, terminating commissioning flow");
|
|
815
|
+
return {
|
|
816
|
+
code: 3 /* Stop */,
|
|
817
|
+
breadcrumb: this.#lastBreadcrumb
|
|
818
|
+
};
|
|
819
|
+
}
|
|
820
|
+
this.#interactionClient = transitionResult;
|
|
821
|
+
this.#clusterClients.clear();
|
|
822
|
+
logger.debug("Successfully reconnected with device ...");
|
|
823
|
+
return {
|
|
824
|
+
code: 0 /* Success */,
|
|
825
|
+
breadcrumb: this.#lastBreadcrumb
|
|
826
|
+
};
|
|
827
|
+
}
|
|
828
|
+
/**
|
|
829
|
+
* Step 15
|
|
830
|
+
* The Administrator having established a CASE session with the Commissionee over the operational network in the
|
|
831
|
+
* previous steps SHALL invoke the CommissioningComplete command (see Section 11.9.6.6,
|
|
832
|
+
* “CommissioningComplete Command”). A success response after invocation of the CommissioningComplete command ends
|
|
833
|
+
* the commissioning process.
|
|
834
|
+
*/
|
|
835
|
+
async #completeCommissioning() {
|
|
836
|
+
const generalCommissioningClusterClient = this.#getClusterClient(import_general_commissioning.GeneralCommissioning.Cluster);
|
|
837
|
+
this.#ensureGeneralCommissioningSuccess(
|
|
838
|
+
"commissioningComplete",
|
|
839
|
+
await generalCommissioningClusterClient.commissioningComplete(void 0, {
|
|
840
|
+
useExtendedFailSafeMessageResponseTimeout: true
|
|
841
|
+
})
|
|
842
|
+
);
|
|
843
|
+
return {
|
|
844
|
+
code: 0 /* Success */,
|
|
845
|
+
breadcrumb: this.#lastBreadcrumb
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
//# sourceMappingURL=ControllerCommissioningFlow.js.map
|