@matter/protocol 0.16.0-alpha.0-20250817-1b000357c → 0.16.0-alpha.0-20250820-24939dd26
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/dist/cjs/action/Val.d.ts +6 -0
- package/dist/cjs/action/Val.d.ts.map +1 -1
- package/dist/cjs/action/Val.js.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.d.ts +1 -1
- package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +4 -4
- package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
- package/dist/cjs/action/client/ClientSubscription.d.ts +2 -1
- package/dist/cjs/action/client/ClientSubscription.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientSubscriptionHandler.js +2 -2
- package/dist/cjs/action/client/ClientSubscriptionHandler.js.map +1 -1
- package/dist/cjs/action/client/ClientSubscriptions.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientSubscriptions.js +11 -7
- package/dist/cjs/action/client/ClientSubscriptions.js.map +1 -1
- package/dist/cjs/action/request/Subscribe.d.ts +6 -6
- package/dist/cjs/action/request/Subscribe.d.ts.map +1 -1
- package/dist/cjs/action/request/Subscribe.js +11 -9
- package/dist/cjs/action/request/Subscribe.js.map +1 -1
- package/dist/cjs/advertisement/Advertisement.d.ts +3 -3
- package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -1
- package/dist/cjs/advertisement/Advertisement.js +5 -5
- package/dist/cjs/advertisement/Advertisement.js.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertisement.js +7 -6
- package/dist/cjs/advertisement/ble/BleAdvertisement.js.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +9 -9
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.js +4 -4
- package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +7 -7
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +2 -2
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +4 -4
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
- package/dist/cjs/ble/Ble.d.ts +2 -2
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/ble/BleConsts.d.ts +4 -4
- package/dist/cjs/ble/BleConsts.d.ts.map +1 -1
- package/dist/cjs/ble/BleConsts.js +7 -7
- package/dist/cjs/ble/BleConsts.js.map +1 -1
- package/dist/cjs/ble/BtpSessionHandler.js +2 -2
- package/dist/cjs/ble/BtpSessionHandler.js.map +1 -1
- package/dist/cjs/certificate/AttestationCertificateManager.js +3 -3
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +2 -2
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/kinds/OperationalBase.js +2 -2
- package/dist/cjs/certificate/kinds/OperationalBase.js.map +1 -1
- package/dist/cjs/cluster/client/ClusterClient.js +5 -5
- package/dist/cjs/cluster/client/ClusterClient.js.map +1 -1
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +3 -3
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/cjs/cluster/client/EventClient.d.ts +2 -1
- package/dist/cjs/cluster/client/EventClient.d.ts.map +1 -1
- package/dist/cjs/cluster/client/EventClient.js +3 -3
- package/dist/cjs/cluster/client/EventClient.js.map +1 -1
- package/dist/cjs/common/FailsafeContext.d.ts +4 -4
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +8 -8
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/common/FailsafeTimer.d.ts +3 -3
- package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeTimer.js +8 -8
- package/dist/cjs/common/FailsafeTimer.js.map +1 -1
- package/dist/cjs/common/Scanner.d.ts +7 -7
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/common/Scanner.js.map +1 -1
- package/dist/cjs/events/OccurrenceManager.js +1 -1
- package/dist/cjs/events/OccurrenceManager.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +8 -3
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/groups/FabricGroups.d.ts +1 -1
- package/dist/cjs/groups/FabricGroups.js +1 -1
- package/dist/cjs/groups/Groups.d.ts +1 -1
- package/dist/cjs/groups/KeySets.d.ts +3 -3
- package/dist/cjs/groups/KeySets.d.ts.map +1 -1
- package/dist/cjs/groups/KeySets.js +12 -4
- package/dist/cjs/groups/KeySets.js.map +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts +9 -9
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +33 -33
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +10 -10
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +15 -15
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/interaction/Subscription.d.ts +3 -4
- package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
- package/dist/cjs/interaction/Subscription.js +9 -12
- package/dist/cjs/interaction/Subscription.js.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.d.ts +3 -3
- package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.js +3 -3
- package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsClient.d.ts +9 -9
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsClient.js +86 -82
- package/dist/cjs/mdns/MdnsClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +11 -9
- package/dist/cjs/mdns/MdnsServer.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +7 -7
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +37 -35
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +4 -4
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js +12 -17
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/InteractionQueue.d.ts.map +1 -1
- package/dist/cjs/peer/InteractionQueue.js +2 -2
- package/dist/cjs/peer/InteractionQueue.js.map +1 -1
- package/dist/cjs/peer/PeerAddress.d.ts +1 -1
- package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddress.js +3 -0
- package/dist/cjs/peer/PeerAddress.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts +2 -2
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +25 -25
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +2 -5
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.d.ts +4 -4
- package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.js +3 -3
- package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts +5 -5
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +19 -15
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +6 -6
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +35 -33
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +9 -9
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js +18 -18
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +6 -3
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +5 -5
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +7 -7
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +19 -19
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionIntervals.d.ts +7 -6
- package/dist/cjs/session/SessionIntervals.d.ts.map +1 -1
- package/dist/cjs/session/SessionIntervals.js +8 -8
- package/dist/cjs/session/SessionIntervals.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +2 -2
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +6 -6
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts +6 -4
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +19 -13
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +4 -4
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +1 -1
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.js +4 -7
- package/dist/cjs/session/pase/PaseMessenger.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +3 -3
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/Val.d.ts +6 -0
- package/dist/esm/action/Val.d.ts.map +1 -1
- package/dist/esm/action/Val.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +5 -5
- package/dist/esm/action/client/ClientInteraction.js.map +1 -1
- package/dist/esm/action/client/ClientSubscription.d.ts +2 -1
- package/dist/esm/action/client/ClientSubscription.d.ts.map +1 -1
- package/dist/esm/action/client/ClientSubscriptionHandler.js +2 -2
- package/dist/esm/action/client/ClientSubscriptionHandler.js.map +1 -1
- package/dist/esm/action/client/ClientSubscriptions.d.ts.map +1 -1
- package/dist/esm/action/client/ClientSubscriptions.js +14 -8
- package/dist/esm/action/client/ClientSubscriptions.js.map +1 -1
- package/dist/esm/action/request/Subscribe.d.ts +6 -6
- package/dist/esm/action/request/Subscribe.d.ts.map +1 -1
- package/dist/esm/action/request/Subscribe.js +12 -10
- package/dist/esm/action/request/Subscribe.js.map +1 -1
- package/dist/esm/advertisement/Advertisement.d.ts +3 -3
- package/dist/esm/advertisement/Advertisement.d.ts.map +1 -1
- package/dist/esm/advertisement/Advertisement.js +16 -7
- package/dist/esm/advertisement/Advertisement.js.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertisement.js +7 -6
- package/dist/esm/advertisement/ble/BleAdvertisement.js.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +9 -9
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.js +6 -6
- package/dist/esm/advertisement/ble/BleAdvertiser.js.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +17 -8
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +2 -2
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +14 -6
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
- package/dist/esm/ble/Ble.d.ts +2 -2
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js +5 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/ble/BleConsts.d.ts +4 -4
- package/dist/esm/ble/BleConsts.d.ts.map +1 -1
- package/dist/esm/ble/BleConsts.js +8 -8
- package/dist/esm/ble/BleConsts.js.map +1 -1
- package/dist/esm/ble/BtpSessionHandler.js +4 -4
- package/dist/esm/ble/BtpSessionHandler.js.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.js +3 -3
- package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +2 -2
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/kinds/OperationalBase.js +2 -2
- package/dist/esm/certificate/kinds/OperationalBase.js.map +1 -1
- package/dist/esm/cluster/client/ClusterClient.js +5 -5
- package/dist/esm/cluster/client/ClusterClient.js.map +1 -1
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts +3 -3
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/esm/cluster/client/EventClient.d.ts +2 -1
- package/dist/esm/cluster/client/EventClient.d.ts.map +1 -1
- package/dist/esm/cluster/client/EventClient.js +3 -3
- package/dist/esm/cluster/client/EventClient.js.map +1 -1
- package/dist/esm/common/FailsafeContext.d.ts +4 -4
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js +9 -8
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/common/FailsafeTimer.d.ts +3 -3
- package/dist/esm/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/esm/common/FailsafeTimer.js +8 -8
- package/dist/esm/common/FailsafeTimer.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +7 -7
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/common/Scanner.js +5 -1
- package/dist/esm/common/Scanner.js.map +1 -1
- package/dist/esm/events/OccurrenceManager.js +1 -1
- package/dist/esm/events/OccurrenceManager.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts +8 -3
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/groups/FabricGroups.d.ts +1 -1
- package/dist/esm/groups/FabricGroups.js +1 -1
- package/dist/esm/groups/Groups.d.ts +1 -1
- package/dist/esm/groups/KeySets.d.ts +3 -3
- package/dist/esm/groups/KeySets.d.ts.map +1 -1
- package/dist/esm/groups/KeySets.js +13 -5
- package/dist/esm/groups/KeySets.js.map +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts +9 -9
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +34 -33
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +10 -10
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +16 -15
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/interaction/Subscription.d.ts +3 -4
- package/dist/esm/interaction/Subscription.d.ts.map +1 -1
- package/dist/esm/interaction/Subscription.js +9 -12
- package/dist/esm/interaction/Subscription.js.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.d.ts +3 -3
- package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.js +4 -4
- package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
- package/dist/esm/mdns/MdnsClient.d.ts +9 -9
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsClient.js +94 -82
- package/dist/esm/mdns/MdnsClient.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +14 -9
- package/dist/esm/mdns/MdnsServer.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +11 -8
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +44 -35
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +4 -4
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js +20 -18
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/InteractionQueue.d.ts.map +1 -1
- package/dist/esm/peer/InteractionQueue.js +3 -3
- package/dist/esm/peer/InteractionQueue.js.map +1 -1
- package/dist/esm/peer/PeerAddress.d.ts +1 -1
- package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddress.js +3 -0
- package/dist/esm/peer/PeerAddress.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts +2 -2
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +29 -26
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +2 -2
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +3 -6
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.d.ts +4 -4
- package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.js +4 -4
- package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts +5 -5
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +20 -16
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +6 -6
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +39 -34
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +9 -9
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js +19 -19
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +6 -3
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +5 -5
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +7 -7
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +27 -20
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionIntervals.d.ts +7 -6
- package/dist/esm/session/SessionIntervals.d.ts.map +1 -1
- package/dist/esm/session/SessionIntervals.js +8 -8
- package/dist/esm/session/SessionIntervals.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +2 -2
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +6 -6
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts +6 -4
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +20 -14
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseServer.js +4 -4
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +1 -1
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.js +5 -11
- package/dist/esm/session/pase/PaseMessenger.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +4 -3
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/Val.ts +5 -0
- package/src/action/client/ClientInteraction.ts +4 -4
- package/src/action/client/ClientSubscription.ts +2 -1
- package/src/action/client/ClientSubscriptionHandler.ts +2 -2
- package/src/action/client/ClientSubscriptions.ts +14 -8
- package/src/action/request/Subscribe.ts +17 -15
- package/src/advertisement/Advertisement.ts +18 -8
- package/src/advertisement/ble/BleAdvertisement.ts +7 -6
- package/src/advertisement/ble/BleAdvertiser.ts +10 -10
- package/src/advertisement/mdns/MdnsAdvertisement.ts +20 -9
- package/src/advertisement/mdns/MdnsAdvertiser.ts +17 -7
- package/src/ble/Ble.ts +11 -2
- package/src/ble/BleConsts.ts +5 -5
- package/src/ble/BtpSessionHandler.ts +4 -4
- package/src/certificate/AttestationCertificateManager.ts +3 -3
- package/src/certificate/CertificateAuthority.ts +2 -2
- package/src/certificate/kinds/OperationalBase.ts +3 -3
- package/src/cluster/client/ClusterClient.ts +8 -8
- package/src/cluster/client/ClusterClientTypes.ts +3 -3
- package/src/cluster/client/EventClient.ts +5 -5
- package/src/common/FailsafeContext.ts +11 -13
- package/src/common/FailsafeTimer.ts +11 -13
- package/src/common/Scanner.ts +16 -7
- package/src/events/OccurrenceManager.ts +1 -1
- package/src/groups/FabricGroups.ts +1 -1
- package/src/groups/KeySets.ts +14 -6
- package/src/interaction/InteractionClient.ts +46 -44
- package/src/interaction/InteractionMessenger.ts +24 -22
- package/src/interaction/Subscription.ts +10 -14
- package/src/interaction/SubscriptionClient.ts +6 -6
- package/src/mdns/MdnsClient.ts +105 -82
- package/src/mdns/MdnsServer.ts +14 -9
- package/src/peer/ControllerCommissioner.ts +12 -9
- package/src/peer/ControllerCommissioningFlow.ts +48 -39
- package/src/peer/ControllerDiscovery.ts +22 -18
- package/src/peer/InteractionQueue.ts +3 -3
- package/src/peer/PeerAddress.ts +7 -3
- package/src/peer/PeerSet.ts +34 -28
- package/src/protocol/DeviceCommissioner.ts +2 -2
- package/src/protocol/ExchangeManager.ts +3 -6
- package/src/protocol/ExchangeProvider.ts +6 -6
- package/src/protocol/MessageChannel.ts +26 -21
- package/src/protocol/MessageExchange.ts +42 -38
- package/src/securechannel/SecureChannelMessenger.ts +17 -23
- package/src/session/NodeSession.ts +5 -5
- package/src/session/Session.ts +31 -21
- package/src/session/SessionIntervals.ts +11 -11
- package/src/session/SessionManager.ts +10 -9
- package/src/session/case/CaseClient.ts +29 -16
- package/src/session/case/CaseServer.ts +4 -4
- package/src/session/pase/PaseClient.ts +1 -1
- package/src/session/pase/PaseMessenger.ts +5 -11
- package/src/session/pase/PaseServer.ts +4 -3
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { ImplementationError } from "
|
|
7
|
+
import { Duration, Hours, ImplementationError, Millis, Seconds } from "#general";
|
|
8
8
|
|
|
9
9
|
export interface SessionIntervals {
|
|
10
10
|
/**
|
|
@@ -13,7 +13,7 @@ export interface SessionIntervals {
|
|
|
13
13
|
*
|
|
14
14
|
* Default: 500ms
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
idleInterval: Duration;
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Minimum amount of time between sender retries when the destination node is active. This SHALL be greater than or
|
|
@@ -21,27 +21,27 @@ export interface SessionIntervals {
|
|
|
21
21
|
*
|
|
22
22
|
* Default: 300ms
|
|
23
23
|
*/
|
|
24
|
-
|
|
24
|
+
activeInterval: Duration;
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Minimum amount of time the node SHOULD stay active after network activity.
|
|
28
28
|
*
|
|
29
29
|
* Default: 4000ms
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
activeThreshold: Duration;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
export function SessionIntervals(intervals?: Partial<SessionIntervals>): SessionIntervals {
|
|
35
35
|
const reified = { ...SessionIntervals.defaults, ...intervals };
|
|
36
|
-
const {
|
|
36
|
+
const { idleInterval, activeInterval, activeThreshold } = reified;
|
|
37
37
|
|
|
38
|
-
if (
|
|
38
|
+
if (idleInterval && idleInterval > Hours.one) {
|
|
39
39
|
throw new ImplementationError("Session Idle Interval must be less than 1 hour");
|
|
40
40
|
}
|
|
41
|
-
if (
|
|
41
|
+
if (activeInterval && activeInterval > Hours.one) {
|
|
42
42
|
throw new ImplementationError("Session Active Interval must be less than 1 hour");
|
|
43
43
|
}
|
|
44
|
-
if (
|
|
44
|
+
if (activeThreshold && activeThreshold > Seconds(65535)) {
|
|
45
45
|
throw new ImplementationError("Session Active Threshold must be less than 65535 seconds");
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -50,8 +50,8 @@ export function SessionIntervals(intervals?: Partial<SessionIntervals>): Session
|
|
|
50
50
|
|
|
51
51
|
export namespace SessionIntervals {
|
|
52
52
|
export const defaults = {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
idleInterval: Millis(500),
|
|
54
|
+
activeInterval: Millis(300),
|
|
55
|
+
activeThreshold: Seconds(4),
|
|
56
56
|
};
|
|
57
57
|
}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
BasicSet,
|
|
12
12
|
Bytes,
|
|
13
13
|
Construction,
|
|
14
|
+
Duration,
|
|
14
15
|
Environment,
|
|
15
16
|
Environmental,
|
|
16
17
|
Lifecycle,
|
|
@@ -74,9 +75,9 @@ type ResumptionStorageRecord = {
|
|
|
74
75
|
fabricId: FabricId;
|
|
75
76
|
peerNodeId: NodeId;
|
|
76
77
|
sessionParameters: {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
idleInterval: Duration;
|
|
79
|
+
activeInterval: Duration;
|
|
80
|
+
activeThreshold: Duration;
|
|
80
81
|
dataModelRevision: number;
|
|
81
82
|
interactionModelRevision: number;
|
|
82
83
|
specificationVersion: number;
|
|
@@ -575,9 +576,9 @@ export class SessionManager {
|
|
|
575
576
|
fabricId,
|
|
576
577
|
peerNodeId,
|
|
577
578
|
sessionParameters: {
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
579
|
+
idleInterval,
|
|
580
|
+
activeInterval,
|
|
581
|
+
activeThreshold,
|
|
581
582
|
dataModelRevision,
|
|
582
583
|
interactionModelRevision,
|
|
583
584
|
specificationVersion,
|
|
@@ -607,9 +608,9 @@ export class SessionManager {
|
|
|
607
608
|
peerNodeId,
|
|
608
609
|
sessionParameters: {
|
|
609
610
|
// Make sure to initialize default values when restoring an older resumption record
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
611
|
+
idleInterval: idleInterval ?? SessionIntervals.defaults.idleInterval,
|
|
612
|
+
activeInterval: activeInterval ?? SessionIntervals.defaults.activeInterval,
|
|
613
|
+
activeThreshold: activeThreshold ?? SessionIntervals.defaults.activeThreshold,
|
|
613
614
|
dataModelRevision: dataModelRevision ?? FALLBACK_DATAMODEL_REVISION,
|
|
614
615
|
interactionModelRevision: interactionModelRevision ?? FALLBACK_INTERACTIONMODEL_REVISION,
|
|
615
616
|
specificationVersion: specificationVersion ?? FALLBACK_SPECIFICATION_VERSION,
|
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
import { Icac } from "#certificate/kinds/Icac.js";
|
|
8
8
|
import { Noc } from "#certificate/kinds/Noc.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Fabric } from "#fabric/Fabric.js";
|
|
10
|
+
import { Bytes, Diagnostic, Duration, Logger, PublicKey, UnexpectedDataError } from "#general";
|
|
11
|
+
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
12
|
+
import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
|
|
10
13
|
import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
|
|
14
|
+
import { NodeSession } from "#session/NodeSession.js";
|
|
11
15
|
import { SessionManager } from "#session/SessionManager.js";
|
|
12
16
|
import { NodeId, SecureChannelStatusCode } from "#types";
|
|
13
|
-
import { Fabric } from "../../fabric/Fabric.js";
|
|
14
|
-
import { MessageExchange } from "../../protocol/MessageExchange.js";
|
|
15
17
|
import {
|
|
16
18
|
KDFSR1_KEY_INFO,
|
|
17
19
|
KDFSR2_INFO,
|
|
@@ -36,13 +38,13 @@ export class CaseClient {
|
|
|
36
38
|
this.#sessions = sessions;
|
|
37
39
|
}
|
|
38
40
|
|
|
39
|
-
async pair(exchange: MessageExchange, fabric: Fabric, peerNodeId: NodeId,
|
|
40
|
-
const messenger = new CaseClientMessenger(exchange,
|
|
41
|
+
async pair(exchange: MessageExchange, fabric: Fabric, peerNodeId: NodeId, expectedProcessingTime?: Duration) {
|
|
42
|
+
const messenger = new CaseClientMessenger(exchange, expectedProcessingTime);
|
|
41
43
|
|
|
42
44
|
try {
|
|
43
45
|
return await this.#doPair(messenger, exchange, fabric, peerNodeId);
|
|
44
46
|
} catch (error) {
|
|
45
|
-
if (!(error instanceof ChannelStatusResponseError)) {
|
|
47
|
+
if (!(error instanceof ChannelStatusResponseError || error instanceof RetransmissionLimitReachedError)) {
|
|
46
48
|
await messenger.sendError(SecureChannelStatusCode.InvalidParam);
|
|
47
49
|
}
|
|
48
50
|
throw error;
|
|
@@ -126,10 +128,7 @@ export class CaseClient {
|
|
|
126
128
|
caseAuthenticatedTags,
|
|
127
129
|
});
|
|
128
130
|
await messenger.sendSuccess();
|
|
129
|
-
|
|
130
|
-
`Case client: Session ${secureSession.id} successfully resumed with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(fabric.nodeId)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
|
|
131
|
-
secureSession.parameterDiagnostics(),
|
|
132
|
-
);
|
|
131
|
+
this.#logNewSession("Resumed", secureSession, messenger, fabric, peerNodeId);
|
|
133
132
|
|
|
134
133
|
resumptionRecord.resumptionId = resumptionId; /* update resumptionId */
|
|
135
134
|
resumptionRecord.sessionParameters = secureSession.parameters; /* update mrpParams */
|
|
@@ -239,12 +238,7 @@ export class CaseClient {
|
|
|
239
238
|
peerSessionParameters: sessionParameters,
|
|
240
239
|
caseAuthenticatedTags,
|
|
241
240
|
});
|
|
242
|
-
|
|
243
|
-
`Case client Session ${secureSession.id} established successfully with ${messenger.getChannelName()} for Fabric ${NodeId.toHexString(
|
|
244
|
-
fabric.nodeId,
|
|
245
|
-
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)} with parameters`,
|
|
246
|
-
secureSession.parameterDiagnostics(),
|
|
247
|
-
);
|
|
241
|
+
this.#logNewSession("New", secureSession, messenger, fabric, peerNodeId);
|
|
248
242
|
resumptionRecord = {
|
|
249
243
|
fabric,
|
|
250
244
|
peerNodeId,
|
|
@@ -260,4 +254,23 @@ export class CaseClient {
|
|
|
260
254
|
|
|
261
255
|
return { session: secureSession, resumed };
|
|
262
256
|
}
|
|
257
|
+
|
|
258
|
+
#logNewSession(
|
|
259
|
+
operation: "New" | "Resumed",
|
|
260
|
+
session: NodeSession,
|
|
261
|
+
messenger: CaseClientMessenger,
|
|
262
|
+
fabric: Fabric,
|
|
263
|
+
peerNodeId: NodeId,
|
|
264
|
+
) {
|
|
265
|
+
logger.info(
|
|
266
|
+
`${operation} session with`,
|
|
267
|
+
Diagnostic.strong(PeerAddress({ fabricIndex: fabric.fabricIndex, nodeId: peerNodeId }).toString()),
|
|
268
|
+
Diagnostic.dict({
|
|
269
|
+
id: session.id,
|
|
270
|
+
address: messenger.channelName,
|
|
271
|
+
fabric: `${NodeId.toHexString(fabric.nodeId)} (#${fabric.fabricIndex})`,
|
|
272
|
+
...session.parameterDiagnostics,
|
|
273
|
+
}),
|
|
274
|
+
);
|
|
275
|
+
}
|
|
263
276
|
}
|
|
@@ -64,7 +64,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
async #handleSigma1(messenger: CaseServerMessenger) {
|
|
67
|
-
logger.info(`Received pairing request from ${messenger.
|
|
67
|
+
logger.info(`Received pairing request from ${messenger.channelName}`);
|
|
68
68
|
|
|
69
69
|
// Initialize context with information from peer
|
|
70
70
|
const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
|
|
@@ -86,7 +86,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
logger.info(
|
|
89
|
-
`Invalid resumption ID or resume MIC received from ${messenger.
|
|
89
|
+
`Invalid resumption ID or resume MIC received from ${messenger.channelName}`,
|
|
90
90
|
context.peerResumptionId,
|
|
91
91
|
context.peerResumeMic,
|
|
92
92
|
);
|
|
@@ -152,7 +152,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
logger.info(
|
|
155
|
-
`Session ${secureSession.id} resumed with ${cx.messenger.
|
|
155
|
+
`Session ${secureSession.id} resumed with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
|
|
156
156
|
fabric.nodeId,
|
|
157
157
|
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
158
158
|
"with CATs",
|
|
@@ -274,7 +274,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
274
274
|
caseAuthenticatedTags,
|
|
275
275
|
});
|
|
276
276
|
logger.info(
|
|
277
|
-
`Session ${secureSession.id} created with ${cx.messenger.
|
|
277
|
+
`Session ${secureSession.id} created with ${cx.messenger.channelName} for Fabric ${NodeId.toHexString(
|
|
278
278
|
fabric.nodeId,
|
|
279
279
|
)} (index ${fabric.fabricIndex}) and PeerNode ${NodeId.toHexString(peerNodeId)}`,
|
|
280
280
|
"with CATs",
|
|
@@ -115,7 +115,7 @@ export class PaseClient {
|
|
|
115
115
|
peerSessionParameters: sessionParameters,
|
|
116
116
|
});
|
|
117
117
|
await messenger.close();
|
|
118
|
-
logger.info(`Pase client: Paired successfully with ${messenger.
|
|
118
|
+
logger.info(`Pase client: Paired successfully with ${messenger.channelName}.`);
|
|
119
119
|
|
|
120
120
|
return secureSession;
|
|
121
121
|
}
|
|
@@ -6,10 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { Bytes } from "#general";
|
|
8
8
|
import { SecureMessageType, TypeFromSchema } from "#types";
|
|
9
|
-
import {
|
|
10
|
-
DEFAULT_NORMAL_PROCESSING_TIME_MS,
|
|
11
|
-
SecureChannelMessenger,
|
|
12
|
-
} from "../../securechannel/SecureChannelMessenger.js";
|
|
9
|
+
import { DEFAULT_NORMAL_PROCESSING_TIME, SecureChannelMessenger } from "../../securechannel/SecureChannelMessenger.js";
|
|
13
10
|
import {
|
|
14
11
|
TlvPasePake1,
|
|
15
12
|
TlvPasePake2,
|
|
@@ -29,16 +26,13 @@ type PasePake3 = TypeFromSchema<typeof TlvPasePake3>;
|
|
|
29
26
|
|
|
30
27
|
export class PaseServerMessenger extends SecureChannelMessenger {
|
|
31
28
|
async readPbkdfParamRequest() {
|
|
32
|
-
const { payload } = await this.nextMessage(
|
|
33
|
-
SecureMessageType.PbkdfParamRequest,
|
|
34
|
-
DEFAULT_NORMAL_PROCESSING_TIME_MS,
|
|
35
|
-
);
|
|
29
|
+
const { payload } = await this.nextMessage(SecureMessageType.PbkdfParamRequest, DEFAULT_NORMAL_PROCESSING_TIME);
|
|
36
30
|
return { requestPayload: payload, request: TlvPbkdfParamRequest.decode(payload) };
|
|
37
31
|
}
|
|
38
32
|
|
|
39
33
|
async sendPbkdfParamResponse(response: PbkdfParamResponse) {
|
|
40
34
|
return this.send(response, SecureMessageType.PbkdfParamResponse, TlvPbkdfParamResponse, {
|
|
41
|
-
|
|
35
|
+
expectedProcessingTime: DEFAULT_NORMAL_PROCESSING_TIME,
|
|
42
36
|
});
|
|
43
37
|
}
|
|
44
38
|
|
|
@@ -58,14 +52,14 @@ export class PaseServerMessenger extends SecureChannelMessenger {
|
|
|
58
52
|
export class PaseClientMessenger extends SecureChannelMessenger {
|
|
59
53
|
sendPbkdfParamRequest(request: PbkdfParamRequest) {
|
|
60
54
|
return this.send(request, SecureMessageType.PbkdfParamRequest, TlvPbkdfParamRequest, {
|
|
61
|
-
|
|
55
|
+
expectedProcessingTime: DEFAULT_NORMAL_PROCESSING_TIME,
|
|
62
56
|
});
|
|
63
57
|
}
|
|
64
58
|
|
|
65
59
|
async readPbkdfParamResponse() {
|
|
66
60
|
const { payload } = await this.nextMessage(
|
|
67
61
|
SecureMessageType.PbkdfParamResponse,
|
|
68
|
-
|
|
62
|
+
DEFAULT_NORMAL_PROCESSING_TIME,
|
|
69
63
|
);
|
|
70
64
|
return { responsePayload: payload, response: TlvPbkdfParamResponse.decode(payload) };
|
|
71
65
|
}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Logger,
|
|
12
12
|
MatterFlowError,
|
|
13
13
|
PbkdfParameters,
|
|
14
|
+
Seconds,
|
|
14
15
|
Spake2p,
|
|
15
16
|
Time,
|
|
16
17
|
Timer,
|
|
@@ -27,7 +28,7 @@ const { bytesToNumberBE } = ec;
|
|
|
27
28
|
|
|
28
29
|
const logger = Logger.get("PaseServer");
|
|
29
30
|
|
|
30
|
-
const PASE_PAIRING_TIMEOUT_MS =
|
|
31
|
+
const PASE_PAIRING_TIMEOUT_MS = Seconds(60);
|
|
31
32
|
const PASE_COMMISSIONING_MAX_ERRORS = 20;
|
|
32
33
|
|
|
33
34
|
export class MaximumPasePairingErrorsReachedError extends MatterFlowError {}
|
|
@@ -102,7 +103,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
private async handlePairingRequest(crypto: Crypto, messenger: PaseServerMessenger) {
|
|
105
|
-
logger.info(`Received pairing request from ${messenger.
|
|
106
|
+
logger.info(`Received pairing request from ${messenger.channelName}.`);
|
|
106
107
|
|
|
107
108
|
this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
|
|
108
109
|
this.cancelPairing(messenger),
|
|
@@ -173,7 +174,7 @@ export class PaseServer implements ProtocolHandler {
|
|
|
173
174
|
isResumption: false,
|
|
174
175
|
peerSessionParameters: initiatorSessionParams,
|
|
175
176
|
});
|
|
176
|
-
logger.info(`Session ${responderSessionId} created with ${messenger.
|
|
177
|
+
logger.info(`Session ${responderSessionId} created with ${messenger.channelName}.`);
|
|
177
178
|
|
|
178
179
|
await messenger.sendSuccess();
|
|
179
180
|
await messenger.close();
|