@matter/protocol 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250810-5c91a95d2
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/advertisement/Advertisement.d.ts +119 -0
- package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertisement.js +267 -0
- package/dist/cjs/advertisement/Advertisement.js.map +6 -0
- package/dist/cjs/advertisement/Advertiser.d.ts +50 -0
- package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertiser.js +81 -0
- package/dist/cjs/advertisement/Advertiser.js.map +6 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/cjs/advertisement/CommissioningMode.js +35 -0
- package/dist/cjs/advertisement/CommissioningMode.js.map +6 -0
- package/dist/cjs/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/cjs/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/cjs/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +5 -12
- package/dist/cjs/advertisement/PairingHintBitmap.js.map +6 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/cjs/advertisement/ServiceDescription.js +61 -0
- package/dist/cjs/advertisement/ServiceDescription.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js +85 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js +83 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/ble/index.d.ts +8 -0
- package/dist/cjs/advertisement/ble/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/index.js +25 -0
- package/dist/cjs/advertisement/ble/index.js.map +6 -0
- package/dist/cjs/advertisement/index.d.ts +13 -0
- package/dist/cjs/advertisement/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/index.js +30 -0
- package/dist/cjs/advertisement/index.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js +104 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js +70 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +145 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +166 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js +55 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/index.d.ts +11 -0
- package/dist/cjs/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/index.js +28 -0
- package/dist/cjs/advertisement/mdns/index.js.map +6 -0
- package/dist/cjs/ble/Ble.d.ts +7 -5
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
- package/dist/cjs/codec/BtpCodec.js +4 -4
- package/dist/cjs/codec/BtpCodec.js.map +1 -1
- package/dist/cjs/common/Scanner.d.ts +1 -25
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/common/Scanner.js +1 -18
- package/dist/cjs/common/Scanner.js.map +1 -1
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js +45 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/cjs/common/index.d.ts +1 -1
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/index.js +1 -1
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +1 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +7 -0
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/{esm/mdns/MdnsScanner.d.ts → cjs/mdns/MdnsClient.d.ts} +11 -14
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/cjs/mdns/{MdnsScanner.js → MdnsClient.js} +35 -90
- package/dist/cjs/mdns/MdnsClient.js.map +6 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +11 -2
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsConsts.js +31 -4
- package/dist/cjs/mdns/MdnsConsts.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts +13 -22
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +55 -140
- package/dist/cjs/mdns/MdnsServer.js.map +2 -2
- package/dist/cjs/mdns/MdnsService.d.ts +4 -5
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsService.js +22 -23
- package/dist/cjs/mdns/MdnsService.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts +32 -0
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsSocket.js +144 -0
- package/dist/cjs/mdns/MdnsSocket.js.map +6 -0
- package/dist/cjs/mdns/index.d.ts +2 -3
- package/dist/cjs/mdns/index.d.ts.map +1 -1
- package/dist/cjs/mdns/index.js +2 -3
- package/dist/cjs/mdns/index.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +2 -2
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +10 -5
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.js +130 -129
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +44 -44
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +1 -1
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +6 -8
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +1 -0
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +3 -0
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +3 -33
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +4 -9
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionIntervals.d.ts +36 -0
- package/dist/cjs/session/SessionIntervals.d.ts.map +1 -0
- package/dist/cjs/session/SessionIntervals.js +51 -0
- package/dist/cjs/session/SessionIntervals.js.map +6 -0
- package/dist/cjs/session/SessionManager.d.ts +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +11 -12
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.js +2 -2
- package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
- package/dist/esm/advertisement/Advertisement.d.ts +119 -0
- package/dist/esm/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertisement.js +247 -0
- package/dist/esm/advertisement/Advertisement.js.map +6 -0
- package/dist/esm/advertisement/Advertiser.d.ts +50 -0
- package/dist/esm/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertiser.js +61 -0
- package/dist/esm/advertisement/Advertiser.js.map +6 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/esm/advertisement/CommissioningMode.js +15 -0
- package/dist/esm/advertisement/CommissioningMode.js.map +6 -0
- package/dist/esm/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/esm/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/esm/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +2 -9
- package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map} +3 -3
- package/dist/esm/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/esm/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/esm/advertisement/ServiceDescription.js +41 -0
- package/dist/esm/advertisement/ServiceDescription.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js +65 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js +63 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/ble/index.d.ts +8 -0
- package/dist/esm/advertisement/ble/index.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/index.js +8 -0
- package/dist/esm/advertisement/ble/index.js.map +6 -0
- package/dist/esm/advertisement/index.d.ts +13 -0
- package/dist/esm/advertisement/index.d.ts.map +1 -0
- package/dist/esm/advertisement/index.js +13 -0
- package/dist/esm/advertisement/index.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +95 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js +54 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +125 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +146 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js +40 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/index.d.ts +11 -0
- package/dist/esm/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/index.js +11 -0
- package/dist/esm/advertisement/mdns/index.js.map +6 -0
- package/dist/esm/ble/Ble.d.ts +7 -5
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/codec/BtpCodec.d.ts +1 -1
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
- package/dist/esm/codec/BtpCodec.js +4 -4
- package/dist/esm/codec/BtpCodec.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +1 -25
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/common/Scanner.js +1 -18
- package/dist/esm/common/Scanner.js.map +1 -1
- package/dist/esm/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/esm/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/esm/common/SupportedTransportsBitmap.js +25 -0
- package/dist/esm/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/esm/common/index.d.ts +1 -1
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/index.js +1 -1
- package/dist/esm/fabric/Fabric.d.ts +1 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +7 -0
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{cjs/mdns/MdnsScanner.d.ts → esm/mdns/MdnsClient.d.ts} +11 -14
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/esm/mdns/{MdnsScanner.js → MdnsClient.js} +34 -92
- package/dist/esm/mdns/MdnsClient.js.map +6 -0
- package/dist/esm/mdns/MdnsConsts.d.ts +11 -2
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsConsts.js +31 -4
- package/dist/esm/mdns/MdnsConsts.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts +13 -22
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +57 -145
- package/dist/esm/mdns/MdnsServer.js.map +2 -2
- package/dist/esm/mdns/MdnsService.d.ts +4 -5
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsService.js +22 -24
- package/dist/esm/mdns/MdnsService.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts +32 -0
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsSocket.js +133 -0
- package/dist/esm/mdns/MdnsSocket.js.map +6 -0
- package/dist/esm/mdns/index.d.ts +2 -3
- package/dist/esm/mdns/index.d.ts.map +1 -1
- package/dist/esm/mdns/index.js +2 -3
- package/dist/esm/mdns/index.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +2 -2
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +10 -5
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.js +131 -139
- package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +47 -47
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +1 -1
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +6 -12
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +1 -0
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +3 -0
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +3 -33
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +4 -9
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionIntervals.d.ts +36 -0
- package/dist/esm/session/SessionIntervals.d.ts.map +1 -0
- package/dist/esm/session/SessionIntervals.js +31 -0
- package/dist/esm/session/SessionIntervals.js.map +6 -0
- package/dist/esm/session/SessionManager.d.ts +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +10 -14
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/pase/PaseMessages.js +1 -1
- package/package.json +6 -6
- package/src/advertisement/Advertisement.ts +348 -0
- package/src/advertisement/Advertiser.ts +83 -0
- package/src/advertisement/CommissioningMode.ts +11 -0
- package/src/{common/InstanceBroadcaster.ts → advertisement/PairingHintBitmap.ts} +1 -92
- package/src/advertisement/ServiceDescription.ts +110 -0
- package/src/advertisement/ble/BleAdvertisement.ts +90 -0
- package/src/advertisement/ble/BleAdvertiser.ts +116 -0
- package/src/advertisement/ble/index.ts +8 -0
- package/src/advertisement/index.ts +13 -0
- package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +118 -0
- package/src/advertisement/mdns/CommissionerMdnsAdvertisement.ts +73 -0
- package/src/advertisement/mdns/MdnsAdvertisement.ts +167 -0
- package/src/advertisement/mdns/MdnsAdvertiser.ts +248 -0
- package/src/advertisement/mdns/OperationalMdnsAdvertisement.ts +50 -0
- package/src/advertisement/mdns/index.ts +11 -0
- package/src/ble/Ble.ts +8 -5
- package/src/codec/BtpCodec.ts +4 -3
- package/src/common/Scanner.ts +1 -17
- package/src/common/SupportedTransportsBitmap.ts +25 -0
- package/src/common/index.ts +1 -1
- package/src/fabric/Fabric.ts +8 -0
- package/src/index.ts +1 -0
- package/src/mdns/{MdnsScanner.ts → MdnsClient.ts} +34 -103
- package/src/mdns/MdnsConsts.ts +27 -2
- package/src/mdns/MdnsServer.ts +79 -184
- package/src/mdns/MdnsService.ts +24 -27
- package/src/mdns/MdnsSocket.ts +179 -0
- package/src/mdns/index.ts +2 -3
- package/src/peer/ControllerCommissioner.ts +2 -2
- package/src/peer/ControllerDiscovery.ts +3 -3
- package/src/peer/PeerSet.ts +15 -9
- package/src/protocol/DeviceAdvertiser.ts +161 -151
- package/src/protocol/DeviceCommissioner.ts +65 -75
- package/src/protocol/ExchangeManager.ts +1 -1
- package/src/protocol/MessageExchange.ts +8 -14
- package/src/session/NodeSession.ts +4 -0
- package/src/session/Session.ts +6 -42
- package/src/session/SessionIntervals.ts +57 -0
- package/src/session/SessionManager.ts +9 -13
- package/src/session/pase/PaseMessages.ts +1 -1
- package/dist/cjs/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/common/InstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsBroadcaster.js +0 -365
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +0 -87
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsScanner.js.map +0 -6
- package/dist/esm/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.js +0 -378
- package/dist/esm/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js +0 -67
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsScanner.js.map +0 -6
- package/src/mdns/MdnsBroadcaster.ts +0 -451
- package/src/mdns/MdnsInstanceBroadcaster.ts +0 -88
|
@@ -3,63 +3,65 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { Advertisement } from "#advertisement/Advertisement.js";
|
|
7
|
+
import { ServiceDescription } from "#advertisement/ServiceDescription.js";
|
|
7
8
|
import { FabricManager } from "#fabric/FabricManager.js";
|
|
8
|
-
import {
|
|
9
|
-
AsyncObservable,
|
|
10
|
-
Diagnostic,
|
|
11
|
-
Environmental,
|
|
12
|
-
Logger,
|
|
13
|
-
MatterAggregateError,
|
|
14
|
-
Mutex,
|
|
15
|
-
ObserverGroup,
|
|
16
|
-
Time
|
|
17
|
-
} from "#general";
|
|
9
|
+
import { Environmental, MatterAggregateError, ObserverGroup } from "#general";
|
|
18
10
|
import { SessionManager } from "#session/SessionManager.js";
|
|
19
|
-
import { DEVICE_ANNOUNCEMENT_DURATION_MS, DEVICE_ANNOUNCEMENT_INTERVAL_MS } from "#types";
|
|
20
|
-
const logger = Logger.get("DeviceAdvertiser");
|
|
21
11
|
class DeviceAdvertiser {
|
|
22
12
|
#context;
|
|
23
|
-
#
|
|
24
|
-
#timedOut = AsyncObservable();
|
|
25
|
-
#operationalModeEnabled = new AsyncObservable();
|
|
26
|
-
#operationalModeEnded = new AsyncObservable();
|
|
13
|
+
#advertisers = /* @__PURE__ */ new Set();
|
|
27
14
|
#observers = new ObserverGroup();
|
|
28
|
-
#
|
|
29
|
-
#startTime = null;
|
|
15
|
+
#isOperational = false;
|
|
30
16
|
#isClosing = false;
|
|
31
|
-
#
|
|
32
|
-
// Currently we do not put much effort into synchronizing announcements as it probably isn't really necessary. But
|
|
33
|
-
// this mutex prevents automated announcements from piling up and allows us to ensure announcements are complete on
|
|
34
|
-
// close
|
|
35
|
-
#mutex = new Mutex(this);
|
|
17
|
+
#commissioningService;
|
|
36
18
|
constructor(context) {
|
|
37
19
|
this.#context = context;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// Announcement needs to await a previous announcement because otherwise in testing at least announcement
|
|
43
|
-
// may crash if started simultaneously
|
|
44
|
-
this.#mutex.run(this.advertise.bind(this))
|
|
45
|
-
)
|
|
46
|
-
);
|
|
47
|
-
this.#observers.on(this.#context.fabrics.events.deleted, () => {
|
|
48
|
-
if (this.#context.fabrics.length === 0) {
|
|
49
|
-
this.#mutex.run(this.#exitOperationalMode.bind(this));
|
|
50
|
-
} else {
|
|
51
|
-
this.#mutex.run(() => this.advertise(true));
|
|
20
|
+
const { fabrics, sessions } = this.#context;
|
|
21
|
+
this.#observers.on(fabrics.events.added, (fabric) => {
|
|
22
|
+
if (!this.#isOperational) {
|
|
23
|
+
return;
|
|
52
24
|
}
|
|
25
|
+
this.#advertiseFabric(fabric, "startup");
|
|
53
26
|
});
|
|
54
|
-
this.#observers.on(
|
|
55
|
-
|
|
56
|
-
|
|
27
|
+
this.#observers.on(fabrics.events.deleted, (fabric) => {
|
|
28
|
+
Advertisement.cancelAll(this.#advertisements((ad) => ad.isOperational() && ad.description.fabric === fabric));
|
|
29
|
+
});
|
|
30
|
+
this.#observers.on(sessions.sessions.added, (session) => {
|
|
31
|
+
const fabricIndex = session.fabric?.fabricIndex;
|
|
32
|
+
const fabric = fabricIndex ? fabrics.findByIndex(fabricIndex) : void 0;
|
|
33
|
+
if (!fabric) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
for (const advertiser of this.#advertisers) {
|
|
37
|
+
const ad = advertiser.advertisementForFabric(fabric);
|
|
38
|
+
if (ad) {
|
|
39
|
+
ad.serviceConnected();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
this.#observers.on(sessions.sessions.deleted, (session) => {
|
|
44
|
+
const fabricIndex = session.fabric?.fabricIndex;
|
|
45
|
+
const fabric = fabricIndex ? fabrics.findByIndex(fabricIndex) : void 0;
|
|
46
|
+
if (fabric) {
|
|
47
|
+
if (fabric.hasSessionForPeer(session.peerNodeId)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
for (const advertiser of this.#advertisers) {
|
|
51
|
+
const ad = advertiser.advertisementForFabric(fabric);
|
|
52
|
+
if (ad) {
|
|
53
|
+
ad.serviceDisconnected();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.#startCommissioningAdvertisement();
|
|
57
59
|
});
|
|
58
|
-
this.#observers.on(
|
|
59
|
-
if (
|
|
60
|
-
|
|
61
|
-
this.#mutex.run(this.startAdvertising.bind(this));
|
|
60
|
+
this.#observers.on(sessions.retry, (session) => {
|
|
61
|
+
if (!session.isSecure || !session.fabric) {
|
|
62
|
+
return;
|
|
62
63
|
}
|
|
64
|
+
this.#advertiseFabric(session.associatedFabric, "retransmit");
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
toString() {
|
|
@@ -74,125 +76,115 @@ class DeviceAdvertiser {
|
|
|
74
76
|
return instance;
|
|
75
77
|
}
|
|
76
78
|
/**
|
|
77
|
-
*
|
|
79
|
+
* Advertise the device as commissionable.
|
|
78
80
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
enterCommissioningMode(description) {
|
|
82
|
+
this.#commissioningService = description;
|
|
83
|
+
this.#startCommissioningAdvertisement();
|
|
81
84
|
}
|
|
82
85
|
/**
|
|
83
|
-
*
|
|
86
|
+
* Begin automatic broadcast for commissioning if in commissionable mode.
|
|
84
87
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
88
|
+
#startCommissioningAdvertisement() {
|
|
89
|
+
if (this.#isClosing) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (this.#commissioningService === void 0) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
for (const advertiser of this.#advertisers) {
|
|
96
|
+
advertiser.advertise(this.#commissioningService, "startup");
|
|
97
|
+
}
|
|
87
98
|
}
|
|
88
99
|
/**
|
|
89
|
-
*
|
|
100
|
+
* Cease advertising the device as commissionable.
|
|
90
101
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
async enterCommissioningMode(mode, deviceData) {
|
|
95
|
-
this.#commissioningMode = mode;
|
|
96
|
-
for (const broadcaster of this.#broadcasters) {
|
|
97
|
-
await broadcaster.setCommissionMode(mode, deviceData);
|
|
98
|
-
}
|
|
99
|
-
await this.startAdvertising();
|
|
100
|
-
}
|
|
101
|
-
async exitCommissioningMode() {
|
|
102
|
-
this.#commissioningMode = CommissioningMode.NotCommissioning;
|
|
103
|
-
this.#interval.stop();
|
|
104
|
-
this.#startTime = null;
|
|
105
|
-
for (const broadcaster of this.#broadcasters) {
|
|
106
|
-
await broadcaster.expireCommissioningAnnouncement();
|
|
102
|
+
exitCommissioningMode() {
|
|
103
|
+
if (!this.#commissioningService) {
|
|
104
|
+
return;
|
|
107
105
|
}
|
|
106
|
+
this.#commissioningService = void 0;
|
|
107
|
+
return Advertisement.closeAll(this.#advertisements((ad) => ad.isCommissioning()));
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Advertise the device as operational.
|
|
111
|
+
*/
|
|
112
|
+
enterOperationalMode() {
|
|
113
|
+
if (this.#isOperational) {
|
|
114
|
+
return;
|
|
113
115
|
}
|
|
114
|
-
this.#
|
|
115
|
-
this.#
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (this.#commissioningMode !== CommissioningMode.NotCommissioning) {
|
|
126
|
-
for (const broadcaster of this.#broadcasters) {
|
|
127
|
-
await broadcaster.announce();
|
|
128
|
-
}
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
116
|
+
this.#isOperational = true;
|
|
117
|
+
this.#startOperationalAdvertisement();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Begin automatic broadcast for fabrics if in operational mode.
|
|
121
|
+
*/
|
|
122
|
+
#startOperationalAdvertisement() {
|
|
123
|
+
if (!this.#isOperational) {
|
|
124
|
+
return;
|
|
131
125
|
}
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"Announcing",
|
|
141
|
-
Diagnostic.dict({ fabricIndex: fabric.fabricIndex, fabricId: fabric.fabricId })
|
|
142
|
-
);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
for (const broadcaster of this.#broadcasters) {
|
|
146
|
-
await broadcaster.setFabrics(fabrics.fabrics);
|
|
147
|
-
if (fabricsWithoutSessions > 0 || this.#commissioningMode !== CommissioningMode.NotCommissioning) {
|
|
148
|
-
await broadcaster.announce();
|
|
149
|
-
}
|
|
126
|
+
const fabricsAdvertised = new Set(
|
|
127
|
+
this.#advertisements((ad) => ad.isOperational()).map(
|
|
128
|
+
(ad) => ad.description.fabric
|
|
129
|
+
)
|
|
130
|
+
);
|
|
131
|
+
for (const fabric of this.#context.fabrics) {
|
|
132
|
+
if (!fabricsAdvertised.has(fabric)) {
|
|
133
|
+
this.#advertiseFabric(fabric, "startup");
|
|
150
134
|
}
|
|
151
|
-
} else {
|
|
152
|
-
await this.#exitOperationalMode();
|
|
153
|
-
await this.#operationalModeEnded.emit();
|
|
154
135
|
}
|
|
155
136
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
await broadcaster.announce();
|
|
137
|
+
/**
|
|
138
|
+
* Cease advertising the device as operational.
|
|
139
|
+
*/
|
|
140
|
+
exitOperationalMode() {
|
|
141
|
+
if (!this.#isOperational) {
|
|
142
|
+
return;
|
|
163
143
|
}
|
|
144
|
+
this.#isOperational = false;
|
|
145
|
+
Advertisement.cancelAll(this.#advertisements((ad) => ad.isOperational()));
|
|
164
146
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
147
|
+
/**
|
|
148
|
+
* Reset automatic advertisement.
|
|
149
|
+
*
|
|
150
|
+
* This is useful when there is a network change.
|
|
151
|
+
*/
|
|
152
|
+
restartAdvertisement() {
|
|
153
|
+
this.#startCommissioningAdvertisement();
|
|
154
|
+
this.#startOperationalAdvertisement();
|
|
169
155
|
}
|
|
170
156
|
async close() {
|
|
171
157
|
this.#isClosing = true;
|
|
172
|
-
await this.#mutex;
|
|
173
158
|
this.#observers.close();
|
|
174
|
-
this
|
|
175
|
-
|
|
159
|
+
await this.clearAdvertisers();
|
|
160
|
+
}
|
|
161
|
+
hasAdvertiser(advertiser) {
|
|
162
|
+
return this.#advertisers.has(advertiser);
|
|
163
|
+
}
|
|
164
|
+
addAdvertiser(advertiser) {
|
|
165
|
+
this.#advertisers.add(advertiser);
|
|
176
166
|
}
|
|
177
|
-
|
|
178
|
-
|
|
167
|
+
async deleteAdvertiser(advertiser) {
|
|
168
|
+
this.#advertisers.delete(advertiser);
|
|
169
|
+
await advertiser.close();
|
|
179
170
|
}
|
|
180
|
-
|
|
181
|
-
this.#
|
|
171
|
+
async clearAdvertisers() {
|
|
172
|
+
const advertisers = [...this.#advertisers];
|
|
173
|
+
this.#advertisers.clear();
|
|
174
|
+
await MatterAggregateError.allSettled(advertisers.map((advertiser) => advertiser.close()));
|
|
182
175
|
}
|
|
183
|
-
|
|
184
|
-
if (this.#
|
|
185
|
-
|
|
176
|
+
#advertiseFabric(fabric, event) {
|
|
177
|
+
if (this.#isClosing) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
for (const advertiser of this.#advertisers) {
|
|
181
|
+
advertiser.advertise(ServiceDescription.Operational({ fabric }), event);
|
|
186
182
|
}
|
|
187
183
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
"Error closing broadcasters"
|
|
193
|
-
).catch((error) => logger.error(error));
|
|
194
|
-
this.#broadcasters.clear();
|
|
195
|
-
await closed;
|
|
184
|
+
#advertisements(predicate) {
|
|
185
|
+
return [...this.#advertisers].flatMap(
|
|
186
|
+
(advertiser) => predicate ? advertiser.filter(predicate) : [...advertiser.advertisements]
|
|
187
|
+
);
|
|
196
188
|
}
|
|
197
189
|
}
|
|
198
190
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/DeviceAdvertiser.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -43,7 +43,6 @@ export declare class DeviceCommissioner {
|
|
|
43
43
|
beginTimed(failsafeContext: FailsafeContext): void;
|
|
44
44
|
get isFailsafeArmed(): boolean;
|
|
45
45
|
assertFailsafeArmed(message?: string): void;
|
|
46
|
-
reactivateAdvertiser(): void;
|
|
47
46
|
endCommissioning(): Promise<void>;
|
|
48
47
|
close(): Promise<void>;
|
|
49
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EACH,WAAW,EACX,aAAa,EAKb,YAAY,EAIf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAqE,MAAM,QAAQ,CAAC;AAEjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;GAEG;AACH,8BAAsB,2BAA2B;IAC7C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;;gBASf,OAAO,EAAE,yBAAyB;IAU9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAY9C,IAAI,eAAe,oBAGlB;IAEK,0BAA0B,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,MAAM,YAAY;IAgB1C,uBAAuB,CAAC,wBAAwB,CAAC,EAAE,MAAM,YAAY;IAoB3E,UAAU,CAAC,eAAe,EAAE,eAAe;IAY3C,IAAI,eAAe,YAElB;IAED,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM;IAmF9B,gBAAgB;IAsBhB,KAAK;CAkBd"}
|
|
@@ -3,22 +3,23 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { CommissioningMode } from "#advertisement/CommissioningMode.js";
|
|
7
|
+
import { ServiceDescription } from "#advertisement/ServiceDescription.js";
|
|
6
8
|
import { AdministratorCommissioning } from "#clusters/administrator-commissioning";
|
|
7
|
-
import { CommissioningMode } from "#common/InstanceBroadcaster.js";
|
|
8
9
|
import { FabricManager } from "#fabric/FabricManager.js";
|
|
9
10
|
import {
|
|
10
|
-
Diagnostic,
|
|
11
11
|
Environmental,
|
|
12
12
|
InternalError,
|
|
13
13
|
Lifecycle,
|
|
14
14
|
Logger,
|
|
15
15
|
MatterFlowError,
|
|
16
|
-
ObserverGroup
|
|
16
|
+
ObserverGroup,
|
|
17
|
+
Time
|
|
17
18
|
} from "#general";
|
|
18
19
|
import { SecureChannelProtocol } from "#securechannel/SecureChannelProtocol.js";
|
|
19
20
|
import { PaseServer } from "#session/pase/PaseServer.js";
|
|
20
21
|
import { SessionManager } from "#session/SessionManager.js";
|
|
21
|
-
import { StatusCode, StatusResponseError } from "#types";
|
|
22
|
+
import { STANDARD_COMMISSIONING_TIMEOUT_S, StatusCode, StatusResponseError } from "#types";
|
|
22
23
|
import { DeviceAdvertiser } from "./DeviceAdvertiser.js";
|
|
23
24
|
const logger = Logger.get("DeviceCommissioner");
|
|
24
25
|
class CommissioningConfigProvider {
|
|
@@ -30,26 +31,13 @@ class DeviceCommissioner {
|
|
|
30
31
|
#activeDiscriminator;
|
|
31
32
|
#activeCommissioningEndCallback;
|
|
32
33
|
#observers = new ObserverGroup(this);
|
|
34
|
+
#commissioningTimeout;
|
|
33
35
|
constructor(context) {
|
|
34
36
|
this.#context = context;
|
|
35
|
-
this.#observers.on(this.#context.advertiser.timedOut, this.endCommissioning);
|
|
36
|
-
this.#observers.on(this.#context.fabrics.events.deleted, async () => {
|
|
37
|
-
if (this.#context.fabrics.length === 0 || this.#windowStatus !== AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
|
|
38
|
-
this.reactivateAdvertiser();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
this.#observers.on(this.#context.advertiser.operationalModeEnded, this.allowBasicCommissioning);
|
|
42
37
|
this.#observers.on(this.#context.secureChannelProtocol.tooManyPaseErrors, async () => {
|
|
43
38
|
logger.info("Maximum number of PASE pairing errors reached, canceling commissioning");
|
|
44
39
|
await this.endCommissioning();
|
|
45
40
|
});
|
|
46
|
-
this.#observers.on(this.#context.sessions.sessions.deleted, (session) => {
|
|
47
|
-
const currentFabricIndex = session.fabric?.fabricIndex;
|
|
48
|
-
const existingSessionFabric = currentFabricIndex === void 0 ? void 0 : this.#context.fabrics.findByIndex(currentFabricIndex)?.fabricIndex;
|
|
49
|
-
if (this.#context.fabrics.length > 0 || session.isPase || !existingSessionFabric) {
|
|
50
|
-
this.#context.advertiser.startAdvertising().catch((error) => logger.warn(`Error while announcing`, error));
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
41
|
}
|
|
54
42
|
static [Environmental.create](env) {
|
|
55
43
|
const instance = new DeviceCommissioner({
|
|
@@ -69,11 +57,11 @@ class DeviceCommissioner {
|
|
|
69
57
|
async allowEnhancedCommissioning(discriminator, paseServer, commissioningEndCallback) {
|
|
70
58
|
if (this.#windowStatus === AdministratorCommissioning.CommissioningWindowStatus.BasicWindowOpen) {
|
|
71
59
|
throw new MatterFlowError(
|
|
72
|
-
"Basic commissioning window is already open! Cannot set
|
|
60
|
+
"Basic commissioning window is already open! Cannot set enhanced commissioning mode."
|
|
73
61
|
);
|
|
74
62
|
}
|
|
75
63
|
this.#context.secureChannelProtocol.setPaseCommissioner(paseServer);
|
|
76
|
-
|
|
64
|
+
this.#becomeCommissionable(
|
|
77
65
|
AdministratorCommissioning.CommissioningWindowStatus.EnhancedWindowOpen,
|
|
78
66
|
commissioningEndCallback,
|
|
79
67
|
discriminator
|
|
@@ -82,7 +70,7 @@ class DeviceCommissioner {
|
|
|
82
70
|
async allowBasicCommissioning(commissioningEndCallback) {
|
|
83
71
|
if (this.#windowStatus === AdministratorCommissioning.CommissioningWindowStatus.EnhancedWindowOpen) {
|
|
84
72
|
throw new MatterFlowError(
|
|
85
|
-
"Enhanced commissioning window is already open! Cannot set
|
|
73
|
+
"Enhanced commissioning window is already open! Cannot set basic commissioning mode."
|
|
86
74
|
);
|
|
87
75
|
}
|
|
88
76
|
this.#context.secureChannelProtocol.setPaseCommissioner(
|
|
@@ -91,20 +79,13 @@ class DeviceCommissioner {
|
|
|
91
79
|
salt: this.#context.fabrics.crypto.randomBytes(32)
|
|
92
80
|
})
|
|
93
81
|
);
|
|
94
|
-
|
|
82
|
+
this.#becomeCommissionable(
|
|
95
83
|
AdministratorCommissioning.CommissioningWindowStatus.BasicWindowOpen,
|
|
96
84
|
commissioningEndCallback
|
|
97
85
|
);
|
|
98
86
|
}
|
|
99
87
|
beginTimed(failsafeContext) {
|
|
100
88
|
this.#failsafeContext = failsafeContext;
|
|
101
|
-
this.#context.fabrics.events.added.on((fabric) => {
|
|
102
|
-
const fabrics = this.#context.fabrics.fabrics;
|
|
103
|
-
this.#context.advertiser.advertiseFabrics(fabrics, true).catch(
|
|
104
|
-
(error) => logger.warn(`Error sending Fabric announcement for Index ${fabric.fabricIndex}`, error)
|
|
105
|
-
);
|
|
106
|
-
logger.info("Announce done", Diagnostic.dict({ fabric: fabric.fabricId, fabricIndex: fabric.fabricIndex }));
|
|
107
|
-
});
|
|
108
89
|
failsafeContext.commissioned.on(async () => await this.endCommissioning());
|
|
109
90
|
failsafeContext.construction.change.on((status) => {
|
|
110
91
|
if (status === Lifecycle.Status.Destroyed) {
|
|
@@ -122,28 +103,39 @@ class DeviceCommissioner {
|
|
|
122
103
|
StatusCode.FailsafeRequired
|
|
123
104
|
);
|
|
124
105
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
this.#enterCommissioningMode(this.#windowStatus, this.#activeDiscriminator).catch(
|
|
130
|
-
(error) => logger.warn("Error sending announcement:", error)
|
|
131
|
-
);
|
|
132
|
-
}
|
|
133
|
-
async #enterCommissioningMode(windowStatus, discriminator) {
|
|
106
|
+
#enterCommissioningMode(windowStatus, discriminator) {
|
|
107
|
+
this.#cancelTimeout();
|
|
134
108
|
this.#windowStatus = windowStatus;
|
|
135
109
|
const commissioningConfig = this.#context.commissioningConfig.values;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
110
|
+
const advertisementWindowS = commissioningConfig.advertisementWindowS ?? STANDARD_COMMISSIONING_TIMEOUT_S;
|
|
111
|
+
const mode = windowStatus === AdministratorCommissioning.CommissioningWindowStatus.EnhancedWindowOpen ? CommissioningMode.Enhanced : CommissioningMode.Basic;
|
|
112
|
+
this.#context.advertiser.enterCommissioningMode(
|
|
113
|
+
ServiceDescription.Commissionable({
|
|
139
114
|
...commissioningConfig.productDescription,
|
|
115
|
+
mode,
|
|
140
116
|
discriminator: discriminator ?? commissioningConfig.discriminator
|
|
141
|
-
}
|
|
117
|
+
})
|
|
118
|
+
);
|
|
119
|
+
this.#commissioningTimeout = Time.getTimer(
|
|
120
|
+
"Commissioning timeout",
|
|
121
|
+
advertisementWindowS,
|
|
122
|
+
this.endCommissioning.bind(this)
|
|
142
123
|
);
|
|
143
124
|
}
|
|
144
|
-
|
|
125
|
+
#becomeCommissionable(windowStatus, activeCommissioningEndCallback, discriminator) {
|
|
126
|
+
if (this.#windowStatus !== AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
|
|
127
|
+
if (this.#windowStatus !== windowStatus) {
|
|
128
|
+
throw new InternalError(
|
|
129
|
+
`Commissioning mode ${windowStatus} request but already in mode ${this.#windowStatus}`
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
if (this.#activeCommissioningEndCallback && this.#activeCommissioningEndCallback !== activeCommissioningEndCallback) {
|
|
133
|
+
throw new InternalError(`Already in commissioning mode with a different callback`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
145
136
|
if (this.#windowStatus === windowStatus && (discriminator === void 0 || discriminator === this.#activeDiscriminator)) {
|
|
146
|
-
|
|
137
|
+
this.#enterCommissioningMode(this.#windowStatus, this.#activeDiscriminator);
|
|
138
|
+
return;
|
|
147
139
|
}
|
|
148
140
|
if (this.#windowStatus !== AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
|
|
149
141
|
throw new InternalError(`Commissioning window already open with different mode (${this.#windowStatus})!`);
|
|
@@ -153,13 +145,13 @@ class DeviceCommissioner {
|
|
|
153
145
|
}
|
|
154
146
|
this.#activeCommissioningEndCallback = activeCommissioningEndCallback;
|
|
155
147
|
this.#activeDiscriminator = discriminator;
|
|
156
|
-
|
|
148
|
+
this.#enterCommissioningMode(windowStatus, discriminator);
|
|
157
149
|
}
|
|
158
150
|
async endCommissioning() {
|
|
159
151
|
if (this.#windowStatus === AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
|
|
160
152
|
return;
|
|
161
153
|
}
|
|
162
|
-
|
|
154
|
+
this.#cancelTimeout();
|
|
163
155
|
this.#context.secureChannelProtocol.removePaseCommissioner();
|
|
164
156
|
this.#windowStatus = AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen;
|
|
165
157
|
if (this.#activeCommissioningEndCallback !== void 0) {
|
|
@@ -168,9 +160,10 @@ class DeviceCommissioner {
|
|
|
168
160
|
await activeCommissioningEndCallback();
|
|
169
161
|
}
|
|
170
162
|
await this.#context.advertiser.exitCommissioningMode();
|
|
171
|
-
logger.
|
|
163
|
+
logger.debug("No longer commissioning");
|
|
172
164
|
}
|
|
173
165
|
async close() {
|
|
166
|
+
this.#cancelTimeout();
|
|
174
167
|
this.#observers.close();
|
|
175
168
|
await this.endCommissioning();
|
|
176
169
|
if (this.#failsafeContext) {
|
|
@@ -178,6 +171,13 @@ class DeviceCommissioner {
|
|
|
178
171
|
this.#failsafeContext = void 0;
|
|
179
172
|
}
|
|
180
173
|
}
|
|
174
|
+
#cancelTimeout() {
|
|
175
|
+
if (!this.#commissioningTimeout) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
this.#commissioningTimeout.stop();
|
|
179
|
+
this.#commissioningTimeout = void 0;
|
|
180
|
+
}
|
|
181
181
|
}
|
|
182
182
|
export {
|
|
183
183
|
CommissioningConfigProvider,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/DeviceCommissioner.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -323,7 +323,7 @@ class ExchangeManager {
|
|
|
323
323
|
return {
|
|
324
324
|
channel,
|
|
325
325
|
localSessionParameters: this.#sessionManager.sessionParameters,
|
|
326
|
-
|
|
326
|
+
retry: (number) => this.#sessionManager.retry.emit(channel.session, number)
|
|
327
327
|
};
|
|
328
328
|
}
|
|
329
329
|
#addListener(transportInterface) {
|