@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
package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,
|
|
5
|
-
"names": [
|
|
3
|
+
"sources": ["../../../src/advertisement/PairingHintBitmap.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAAoB;AAE/B,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,YAAY,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,uBAAuB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,eAAe,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKxB,oBAAoB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,mBAAmB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKvB,kBAAkB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAK3B,wCAAwC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,mCAAmC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,kCAAkC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAKzC,kBAAkB,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAK5B,wCAAwC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlD,oCAAoC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,kCAAkC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAC7C;AAEO,MAAM,0BAA0B,aAAa,iBAAiB;",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { PairingHintBitmap } from "#advertisement/PairingHintBitmap.js";
|
|
7
|
+
import { SupportedTransportsBitmap } from "#common/SupportedTransportsBitmap.js";
|
|
8
|
+
import type { Fabric } from "#fabric/Fabric.js";
|
|
9
|
+
import { SessionIntervals } from "#session/SessionIntervals.js";
|
|
10
|
+
import type { ProductDescription, TypeFromPartialBitSchema } from "@matter/types";
|
|
11
|
+
import { IcdManagement } from "@matter/types/clusters/icd-management";
|
|
12
|
+
import { CommissioningMode } from "./CommissioningMode.js";
|
|
13
|
+
export type ServiceDescription = ServiceDescription.Operational | ServiceDescription.Commissionable | ServiceDescription.Commissioner;
|
|
14
|
+
export declare namespace ServiceDescription {
|
|
15
|
+
function isCommissioning(description: ServiceDescription): description is Commissionable | Commissioner;
|
|
16
|
+
function isOperational(description: ServiceDescription): description is Operational;
|
|
17
|
+
interface Base extends Partial<SessionIntervals> {
|
|
18
|
+
/**
|
|
19
|
+
* The IP port for the Matter protocol.
|
|
20
|
+
*/
|
|
21
|
+
port?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Indicate support for TCP.
|
|
24
|
+
*/
|
|
25
|
+
tcp?: SupportedTransportsBitmap;
|
|
26
|
+
/**
|
|
27
|
+
* Indicate support for ICD.
|
|
28
|
+
*/
|
|
29
|
+
icd?: IcdManagement.OperatingMode;
|
|
30
|
+
}
|
|
31
|
+
interface Commissionable extends Base, ProductDescription {
|
|
32
|
+
readonly kind: "commissionable";
|
|
33
|
+
/**
|
|
34
|
+
* The commissioning mode.
|
|
35
|
+
*/
|
|
36
|
+
readonly mode: CommissioningMode;
|
|
37
|
+
/**
|
|
38
|
+
* Device discriminator for commissionable announcements.
|
|
39
|
+
*/
|
|
40
|
+
readonly discriminator: number;
|
|
41
|
+
/**
|
|
42
|
+
* Pairing hint of the device for commissionable announcements.
|
|
43
|
+
*/
|
|
44
|
+
readonly pairingHint?: TypeFromPartialBitSchema<typeof PairingHintBitmap>;
|
|
45
|
+
/**
|
|
46
|
+
* Pairing instruction of the device for commissionable announcements.
|
|
47
|
+
*/
|
|
48
|
+
readonly pairingInstructions?: string;
|
|
49
|
+
}
|
|
50
|
+
function Commissionable(definition: Omit<Commissionable, "kind">): Commissionable;
|
|
51
|
+
interface Operational extends Base {
|
|
52
|
+
readonly kind: "operational";
|
|
53
|
+
/**
|
|
54
|
+
* The advertised fabric.
|
|
55
|
+
*/
|
|
56
|
+
readonly fabric: Fabric;
|
|
57
|
+
}
|
|
58
|
+
function Operational(definition: Omit<Operational, "kind">): Operational;
|
|
59
|
+
interface Commissioner extends Omit<ProductDescription, "deviceType">, Base {
|
|
60
|
+
readonly kind: "commissioner";
|
|
61
|
+
/**
|
|
62
|
+
* The device type.
|
|
63
|
+
*
|
|
64
|
+
* This is optional for commissioner advertisement.
|
|
65
|
+
*/
|
|
66
|
+
readonly deviceType?: number;
|
|
67
|
+
}
|
|
68
|
+
function Commissioner(definition: Omit<Commissioner, "kind">): Commissioner;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=ServiceDescription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceDescription.d.ts","sourceRoot":"","sources":["../../../src/advertisement/ServiceDescription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,CAAC,WAAW,GAC9B,kBAAkB,CAAC,cAAc,GACjC,kBAAkB,CAAC,YAAY,CAAC;AAEtC,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW,IAAI,cAAc,GAAG,YAAY,CAE7G;IAED,SAAgB,aAAa,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW,IAAI,WAAW,CAEzF;IAED,UAAiB,IAAK,SAAQ,OAAO,CAAC,gBAAgB,CAAC;QACnD;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAEhC;;WAEG;QACH,GAAG,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;KACrC;IAED,UAAiB,cAAe,SAAQ,IAAI,EAAE,kBAAkB;QAC5D,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAEhC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAEjC;;WAEG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,CAAC;QAE1E;;WAEG;QACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KACzC;IAED,SAAgB,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,cAAc,CAKvF;IAED,UAAiB,WAAY,SAAQ,IAAI;QACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAE7B;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC3B;IAED,SAAgB,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,WAAW,CAK9E;IAED,UAAiB,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,IAAI;QAC9E,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAE9B;;;;WAIG;QACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KAChC;IAED,SAAgB,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,CAKjF;CACJ"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
var ServiceDescription;
|
|
7
|
+
((ServiceDescription2) => {
|
|
8
|
+
function isCommissioning(description) {
|
|
9
|
+
return description.kind === "commissionable" || description.kind === "commissioner";
|
|
10
|
+
}
|
|
11
|
+
ServiceDescription2.isCommissioning = isCommissioning;
|
|
12
|
+
function isOperational(description) {
|
|
13
|
+
return description.kind === "operational";
|
|
14
|
+
}
|
|
15
|
+
ServiceDescription2.isOperational = isOperational;
|
|
16
|
+
function Commissionable(definition) {
|
|
17
|
+
return {
|
|
18
|
+
...definition,
|
|
19
|
+
kind: "commissionable"
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
ServiceDescription2.Commissionable = Commissionable;
|
|
23
|
+
function Operational(definition) {
|
|
24
|
+
return {
|
|
25
|
+
...definition,
|
|
26
|
+
kind: "operational"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
ServiceDescription2.Operational = Operational;
|
|
30
|
+
function Commissioner(definition) {
|
|
31
|
+
return {
|
|
32
|
+
...definition,
|
|
33
|
+
kind: "commissioner"
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
ServiceDescription2.Commissioner = Commissioner;
|
|
37
|
+
})(ServiceDescription || (ServiceDescription = {}));
|
|
38
|
+
export {
|
|
39
|
+
ServiceDescription
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=ServiceDescription.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/advertisement/ServiceDescription.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,IAAU;AAAA,CAAV,CAAUA,wBAAV;AACI,WAAS,gBAAgB,aAA+E;AAC3G,WAAO,YAAY,SAAS,oBAAoB,YAAY,SAAS;AAAA,EACzE;AAFO,EAAAA,oBAAS;AAIT,WAAS,cAAc,aAA6D;AACvF,WAAO,YAAY,SAAS;AAAA,EAChC;AAFO,EAAAA,oBAAS;AA6CT,WAAS,eAAe,YAA0D;AACrF,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAgBT,WAAS,YAAY,YAAoD;AAC5E,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAkBT,WAAS,aAAa,YAAsD;AAC/E,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAAA,GApFH;",
|
|
5
|
+
"names": ["ServiceDescription"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Advertisement } from "../Advertisement.js";
|
|
7
|
+
import { ServiceDescription } from "../ServiceDescription.js";
|
|
8
|
+
import type { BleAdvertiser } from "./BleAdvertiser.js";
|
|
9
|
+
export declare class BleAdvertisement extends Advertisement<ServiceDescription.Commissionable> {
|
|
10
|
+
#private;
|
|
11
|
+
advertiser: BleAdvertiser;
|
|
12
|
+
constructor(advertiser: BleAdvertiser, description: ServiceDescription.Commissionable);
|
|
13
|
+
protected run(context: Advertisement.ActivityContext): Promise<void>;
|
|
14
|
+
isDuplicate(): boolean;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=BleAdvertisement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BleAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/ble/BleAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IAC1E,UAAU,EAAE,aAAa,CAAC;gBAEtB,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;cAI5D,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe;IA0DnE,WAAW;CAId"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BtpCodec } from "#codec/BtpCodec.js";
|
|
7
|
+
import { Advertisement } from "../Advertisement.js";
|
|
8
|
+
const EARLY_INTERVAL_SLEEP = 3e4;
|
|
9
|
+
const LATE_INTERVAL_SLEEP = 15 * 6e4 - EARLY_INTERVAL_SLEEP;
|
|
10
|
+
const EXTENDED_INTERVAL_SLEEP = 48 * 60 * 6e4 - LATE_INTERVAL_SLEEP;
|
|
11
|
+
class BleAdvertisement extends Advertisement {
|
|
12
|
+
constructor(advertiser, description) {
|
|
13
|
+
super(advertiser, "ble:commissioning", description);
|
|
14
|
+
}
|
|
15
|
+
async run(context) {
|
|
16
|
+
const {
|
|
17
|
+
peripheral,
|
|
18
|
+
config: { earlyInterval, lateInterval, extendedInterval }
|
|
19
|
+
} = this.advertiser;
|
|
20
|
+
let aad = this.advertiser.config.aad;
|
|
21
|
+
let timeout = this.advertiser.config.timeout;
|
|
22
|
+
let advertisementData = this.#encodedAdvertisement;
|
|
23
|
+
let isExtended = false;
|
|
24
|
+
const intervals = [
|
|
25
|
+
{ sleepTime: EARLY_INTERVAL_SLEEP, broadcastInterval: earlyInterval },
|
|
26
|
+
{ sleepTime: LATE_INTERVAL_SLEEP, broadcastInterval: lateInterval },
|
|
27
|
+
{ sleepTime: EXTENDED_INTERVAL_SLEEP, broadcastInterval: extendedInterval }
|
|
28
|
+
];
|
|
29
|
+
try {
|
|
30
|
+
for (const { sleepTime, broadcastInterval } of intervals) {
|
|
31
|
+
if (!isExtended && this.isPrivacyMasked) {
|
|
32
|
+
isExtended = true;
|
|
33
|
+
advertisementData = this.#encodedAdvertisement;
|
|
34
|
+
aad = void 0;
|
|
35
|
+
}
|
|
36
|
+
await peripheral.advertise(advertisementData, aad, broadcastInterval);
|
|
37
|
+
await context.sleep("BLE advertisement interval", Math.min(timeout, sleepTime));
|
|
38
|
+
timeout -= sleepTime;
|
|
39
|
+
if ((timeout -= sleepTime) <= 0) {
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} finally {
|
|
44
|
+
await peripheral.stopAdvertising();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
get #encodedAdvertisement() {
|
|
48
|
+
const { discriminator, vendorId, productId } = this.description;
|
|
49
|
+
const { isPrivacyMasked: isExtendedAnnouncement } = this;
|
|
50
|
+
return BtpCodec.encodeBleAdvertisementData(
|
|
51
|
+
discriminator,
|
|
52
|
+
isExtendedAnnouncement ? 0 : vendorId,
|
|
53
|
+
isExtendedAnnouncement ? 0 : productId,
|
|
54
|
+
!isExtendedAnnouncement && !!this.advertiser.config.aad?.length,
|
|
55
|
+
isExtendedAnnouncement
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
isDuplicate() {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
BleAdvertisement
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=BleAdvertisement.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/advertisement/ble/BleAdvertisement.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAK9B,MAAM,uBAAuB;AAG7B,MAAM,sBAAsB,KAAK,MAAS;AAG1C,MAAM,0BAA0B,KAAK,KAAK,MAAS;AAE5C,MAAM,yBAAyB,cAAiD;AAAA,EAGnF,YAAY,YAA2B,aAAgD;AACnF,UAAM,YAAY,qBAAqB,WAAW;AAAA,EACtD;AAAA,EAEA,MAAyB,IAAI,SAAwC;AACjE,UAAM;AAAA,MACF;AAAA,MACA,QAAQ,EAAE,eAAe,cAAc,iBAAiB;AAAA,IAC5D,IAAI,KAAK;AAET,QAAI,MAAM,KAAK,WAAW,OAAO;AAEjC,QAAI,UAAU,KAAK,WAAW,OAAO;AAErC,QAAI,oBAAoB,KAAK;AAE7B,QAAI,aAAa;AAEjB,UAAM,YAAY;AAAA,MACd,EAAE,WAAW,sBAAsB,mBAAmB,cAAc;AAAA,MACpE,EAAE,WAAW,qBAAqB,mBAAmB,aAAa;AAAA,MAClE,EAAE,WAAW,yBAAyB,mBAAmB,iBAAiB;AAAA,IAC9E;AAEA,QAAI;AACA,iBAAW,EAAE,WAAW,kBAAkB,KAAK,WAAW;AAEtD,YAAI,CAAC,cAAc,KAAK,iBAAiB;AACrC,uBAAa;AACb,8BAAoB,KAAK;AACzB,gBAAM;AAAA,QACV;AAGA,cAAM,WAAW,UAAU,mBAAmB,KAAK,iBAAiB;AAGpE,cAAM,QAAQ,MAAM,8BAA8B,KAAK,IAAI,SAAS,SAAS,CAAC;AAE9E,mBAAW;AACX,aAAK,WAAW,cAAc,GAAG;AAC7B;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,YAAM,WAAW,gBAAgB;AAAA,IACrC;AAAA,EACJ;AAAA,EAEA,IAAI,wBAAwB;AACxB,UAAM,EAAE,eAAe,UAAU,UAAU,IAAI,KAAK;AACpD,UAAM,EAAE,iBAAiB,uBAAuB,IAAI;AAEpD,WAAO,SAAS;AAAA,MACZ;AAAA,MACA,yBAAyB,IAAI;AAAA,MAC7B,yBAAyB,IAAI;AAAA,MAC7B,CAAC,0BAA0B,CAAC,CAAC,KAAK,WAAW,OAAO,KAAK;AAAA,MACzD;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,cAAc;AAEV,WAAO;AAAA,EACX;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BlePeripheralInterface } from "#ble/Ble.js";
|
|
7
|
+
import { DatatypeModel } from "#model";
|
|
8
|
+
import { Advertisement } from "../Advertisement.js";
|
|
9
|
+
import { Advertiser } from "../Advertiser.js";
|
|
10
|
+
import { ServiceDescription } from "../ServiceDescription.js";
|
|
11
|
+
export declare class BleAdvertiser extends Advertiser {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(peripheral: BlePeripheralInterface, options?: BleAdvertiser.Options);
|
|
14
|
+
get peripheral(): BlePeripheralInterface;
|
|
15
|
+
get config(): BleAdvertiser.Configuration;
|
|
16
|
+
getAdvertisement(description: ServiceDescription): Advertisement | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare namespace BleAdvertiser {
|
|
19
|
+
/**
|
|
20
|
+
* Advertisement configuration.
|
|
21
|
+
*
|
|
22
|
+
* All intervals are in milliseconds.
|
|
23
|
+
*/
|
|
24
|
+
interface Configuration {
|
|
25
|
+
/**
|
|
26
|
+
* Additional advertisement data.
|
|
27
|
+
*/
|
|
28
|
+
readonly aad?: Uint8Array;
|
|
29
|
+
/**
|
|
30
|
+
* Advertisement timeout.
|
|
31
|
+
*/
|
|
32
|
+
readonly timeout: number;
|
|
33
|
+
/**
|
|
34
|
+
* Transmission interval for first 30 seconds.
|
|
35
|
+
*
|
|
36
|
+
* Per core spec 5.4.2.5.3 should be 20-60ms.
|
|
37
|
+
*/
|
|
38
|
+
readonly earlyInterval: number;
|
|
39
|
+
/**
|
|
40
|
+
* Transmission interval after first 30 seconds but before 15 minutes.
|
|
41
|
+
*
|
|
42
|
+
* Per core spec 5.4.2.5.3 should be 150-1285ms.
|
|
43
|
+
*/
|
|
44
|
+
readonly lateInterval: number;
|
|
45
|
+
/**
|
|
46
|
+
* Transmission interval after 15 minutes.
|
|
47
|
+
*
|
|
48
|
+
* Per core spec 5.4.2.5.3 should be ~1285ms.
|
|
49
|
+
*/
|
|
50
|
+
readonly extendedInterval: number;
|
|
51
|
+
}
|
|
52
|
+
interface Options extends Partial<Configuration> {
|
|
53
|
+
}
|
|
54
|
+
function Configuration(options?: Options): {
|
|
55
|
+
aad?: Uint8Array;
|
|
56
|
+
timeout: number;
|
|
57
|
+
earlyInterval: number;
|
|
58
|
+
lateInterval: number;
|
|
59
|
+
extendedInterval: number;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Data model for BLE advertiser configuration.
|
|
63
|
+
*/
|
|
64
|
+
const OptionsSchema: DatatypeModel;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=BleAdvertiser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BleAdvertiser.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/ble/BleAdvertiser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,qBAAa,aAAc,SAAQ,UAAU;;gBAK7B,UAAU,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO;IAO/E,IAAI,UAAU,2BAEb;IAED,IAAI,MAAM,gCAET;IAED,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,GAAG,SAAS;CAe/E;AAED,yBAAiB,aAAa,CAAC;IAC3B;;;;OAIG;IACH,UAAiB,aAAa;QAC1B;;WAEG;QACH,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;QAE1B;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB;;;;WAIG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;;;WAIG;QACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAE9B;;;;WAIG;QACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACrC;IAED,UAAiB,OAAQ,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;IAE1D,SAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO;cA/B5B,UAAU;iBAKP,MAAM;uBAOA,MAAM;sBAOP,MAAM;0BAOF,MAAM;MAapC;IAED;;OAEG;IACI,MAAM,aAAa,eAOzB,CAAC;CACL"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ImplementationError } from "#general";
|
|
7
|
+
import { DatatypeModel, FieldElement } from "#model";
|
|
8
|
+
import { MAXIMUM_COMMISSIONING_TIMEOUT_S } from "#types";
|
|
9
|
+
import { Advertiser } from "../Advertiser.js";
|
|
10
|
+
import { CommissioningMode } from "../CommissioningMode.js";
|
|
11
|
+
import { BleAdvertisement } from "./BleAdvertisement.js";
|
|
12
|
+
class BleAdvertiser extends Advertiser {
|
|
13
|
+
#peripheral;
|
|
14
|
+
#config;
|
|
15
|
+
#isClosed = false;
|
|
16
|
+
constructor(peripheral, options) {
|
|
17
|
+
super();
|
|
18
|
+
this.#peripheral = peripheral;
|
|
19
|
+
this.#config = BleAdvertiser.Configuration(options);
|
|
20
|
+
}
|
|
21
|
+
get peripheral() {
|
|
22
|
+
return this.#peripheral;
|
|
23
|
+
}
|
|
24
|
+
get config() {
|
|
25
|
+
return this.#config;
|
|
26
|
+
}
|
|
27
|
+
getAdvertisement(description) {
|
|
28
|
+
this.#assertOpen();
|
|
29
|
+
if (description.kind !== "commissionable" || description.mode !== CommissioningMode.Basic) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
return new BleAdvertisement(this, description);
|
|
33
|
+
}
|
|
34
|
+
#assertOpen() {
|
|
35
|
+
if (this.#isClosed) {
|
|
36
|
+
throw new ImplementationError("Illegal operation on closed BleBroadcaster");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
((BleAdvertiser2) => {
|
|
41
|
+
function Configuration(options) {
|
|
42
|
+
return {
|
|
43
|
+
timeout: MAXIMUM_COMMISSIONING_TIMEOUT_S,
|
|
44
|
+
earlyInterval: 20,
|
|
45
|
+
lateInterval: 150,
|
|
46
|
+
extendedInterval: 1285,
|
|
47
|
+
...options
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
BleAdvertiser2.Configuration = Configuration;
|
|
51
|
+
BleAdvertiser2.OptionsSchema = new DatatypeModel(
|
|
52
|
+
{ name: "BleAdvertiserOptions", type: "struct" },
|
|
53
|
+
FieldElement({ name: "add", type: "octstr" }),
|
|
54
|
+
FieldElement({ name: "timeout", type: "uint32" }),
|
|
55
|
+
FieldElement({ name: "earlyInterval", type: "uint32" }),
|
|
56
|
+
FieldElement({ name: "lateInterval", type: "uint32" }),
|
|
57
|
+
FieldElement({ name: "extendedInterval", type: "uint32" })
|
|
58
|
+
);
|
|
59
|
+
})(BleAdvertiser || (BleAdvertiser = {}));
|
|
60
|
+
export {
|
|
61
|
+
BleAdvertiser
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=BleAdvertiser.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/advertisement/ble/BleAdvertiser.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,2BAA2B;AACpC,SAAS,eAAe,oBAAoB;AAC5C,SAAS,uCAAuC;AAEhD,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAElC,SAAS,wBAAwB;AAE1B,MAAM,sBAAsB,WAAW;AAAA,EAC1C;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EAEZ,YAAY,YAAoC,SAAiC;AAC7E,UAAM;AAEN,SAAK,cAAc;AACnB,SAAK,UAAU,cAAc,cAAc,OAAO;AAAA,EACtD;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,iBAAiB,aAA4D;AACzE,SAAK,YAAY;AAEjB,QAAI,YAAY,SAAS,oBAAoB,YAAY,SAAS,kBAAkB,OAAO;AACvF;AAAA,IACJ;AAEA,WAAO,IAAI,iBAAiB,MAAM,WAAW;AAAA,EACjD;AAAA,EAEA,cAAc;AACV,QAAI,KAAK,WAAW;AAChB,YAAM,IAAI,oBAAoB,4CAA4C;AAAA,IAC9E;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,mBAAV;AAyCI,WAAS,cAAc,SAAmB;AAC7C,WAAO;AAAA,MACH,SAAS;AAAA,MACT,eAAe;AAAA,MACf,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,GAAG;AAAA,IACP;AAAA,EACJ;AARO,EAAAA,eAAS;AAaT,EAAMA,eAAA,gBAAgB,IAAI;AAAA,IAC7B,EAAE,MAAM,wBAAwB,MAAM,SAAS;AAAA,IAC/C,aAAa,EAAE,MAAM,OAAO,MAAM,SAAS,CAAC;AAAA,IAC5C,aAAa,EAAE,MAAM,WAAW,MAAM,SAAS,CAAC;AAAA,IAChD,aAAa,EAAE,MAAM,iBAAiB,MAAM,SAAS,CAAC;AAAA,IACtD,aAAa,EAAE,MAAM,gBAAgB,MAAM,SAAS,CAAC;AAAA,IACrD,aAAa,EAAE,MAAM,oBAAoB,MAAM,SAAS,CAAC;AAAA,EAC7D;AAAA,GA7Da;",
|
|
5
|
+
"names": ["BleAdvertiser"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./Advertisement.js";
|
|
7
|
+
export * from "./Advertiser.js";
|
|
8
|
+
export * from "./ble/index.js";
|
|
9
|
+
export * from "./CommissioningMode.js";
|
|
10
|
+
export * from "./mdns/index.js";
|
|
11
|
+
export * from "./PairingHintBitmap.js";
|
|
12
|
+
export * from "./ServiceDescription.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/advertisement/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from "./Advertisement.js";
|
|
7
|
+
export * from "./Advertiser.js";
|
|
8
|
+
export * from "./ble/index.js";
|
|
9
|
+
export * from "./CommissioningMode.js";
|
|
10
|
+
export * from "./mdns/index.js";
|
|
11
|
+
export * from "./PairingHintBitmap.js";
|
|
12
|
+
export * from "./ServiceDescription.js";
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Advertisement } from "#advertisement/Advertisement.js";
|
|
7
|
+
import { ServiceDescription } from "#advertisement/ServiceDescription.js";
|
|
8
|
+
import { MdnsAdvertisement } from "./MdnsAdvertisement.js";
|
|
9
|
+
import type { MdnsAdvertiser } from "./MdnsAdvertiser.js";
|
|
10
|
+
/**
|
|
11
|
+
* Advertise a node as commissionable.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CommissionableMdnsAdvertisement extends MdnsAdvertisement<ServiceDescription.Commissionable> {
|
|
14
|
+
#private;
|
|
15
|
+
instanceId: string;
|
|
16
|
+
constructor(advertiser: MdnsAdvertiser, description: ServiceDescription.Commissionable);
|
|
17
|
+
get ptrRecords(): import("#general").DnsRecord<string>[];
|
|
18
|
+
get txtValues(): Record<string, unknown>;
|
|
19
|
+
isDuplicate(other: Advertisement): other is Advertisement<ServiceDescription.Commissionable> | Advertisement<ServiceDescription.Commissioner>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=CommissionableMdnsAdvertisement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommissionableMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAc1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IACrG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;IAWtF,IAAa,UAAU,2CA4BtB;IAED,IAAa,SAAS,4BA0BrB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAiB5C"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { PairingHintBitmapSchema } from "#advertisement/PairingHintBitmap.js";
|
|
7
|
+
import { ImplementationError, PtrRecord } from "#general";
|
|
8
|
+
import {
|
|
9
|
+
DEFAULT_PAIRING_HINT,
|
|
10
|
+
getCommissionableDeviceQname,
|
|
11
|
+
getCommissioningModeQname,
|
|
12
|
+
getDeviceTypeQname,
|
|
13
|
+
getLongDiscriminatorQname,
|
|
14
|
+
getShortDiscriminatorQname,
|
|
15
|
+
getVendorQname,
|
|
16
|
+
MATTER_COMMISSION_SERVICE_QNAME,
|
|
17
|
+
PAIRING_HINTS_REQUIRING_INSTRUCTION,
|
|
18
|
+
SERVICE_DISCOVERY_QNAME
|
|
19
|
+
} from "#mdns/MdnsConsts.js";
|
|
20
|
+
import { MdnsAdvertisement } from "./MdnsAdvertisement.js";
|
|
21
|
+
class CommissionableMdnsAdvertisement extends MdnsAdvertisement {
|
|
22
|
+
instanceId;
|
|
23
|
+
constructor(advertiser, description) {
|
|
24
|
+
const instanceId = advertiser.createInstanceId();
|
|
25
|
+
const qname = getCommissionableDeviceQname(instanceId);
|
|
26
|
+
super(advertiser, qname, description);
|
|
27
|
+
this.instanceId = instanceId;
|
|
28
|
+
this.#validatePairingInstructions();
|
|
29
|
+
}
|
|
30
|
+
get ptrRecords() {
|
|
31
|
+
const { discriminator, deviceType, vendorId } = this.description;
|
|
32
|
+
const shortDiscriminator = discriminator >> 8 & 15;
|
|
33
|
+
const vendorQname = getVendorQname(vendorId);
|
|
34
|
+
const deviceTypeQname = getDeviceTypeQname(deviceType);
|
|
35
|
+
const shortDiscriminatorQname = getShortDiscriminatorQname(shortDiscriminator);
|
|
36
|
+
const longDiscriminatorQname = getLongDiscriminatorQname(discriminator);
|
|
37
|
+
const commissionModeQname = getCommissioningModeQname();
|
|
38
|
+
const records = [
|
|
39
|
+
PtrRecord(SERVICE_DISCOVERY_QNAME, MATTER_COMMISSION_SERVICE_QNAME),
|
|
40
|
+
PtrRecord(SERVICE_DISCOVERY_QNAME, deviceTypeQname),
|
|
41
|
+
PtrRecord(SERVICE_DISCOVERY_QNAME, shortDiscriminatorQname),
|
|
42
|
+
PtrRecord(SERVICE_DISCOVERY_QNAME, longDiscriminatorQname),
|
|
43
|
+
PtrRecord(SERVICE_DISCOVERY_QNAME, commissionModeQname),
|
|
44
|
+
PtrRecord(MATTER_COMMISSION_SERVICE_QNAME, this.qname),
|
|
45
|
+
PtrRecord(deviceTypeQname, this.qname),
|
|
46
|
+
PtrRecord(shortDiscriminatorQname, this.qname),
|
|
47
|
+
PtrRecord(longDiscriminatorQname, this.qname),
|
|
48
|
+
PtrRecord(commissionModeQname, this.qname)
|
|
49
|
+
];
|
|
50
|
+
if (!this.isPrivacyMasked) {
|
|
51
|
+
records.push(PtrRecord(SERVICE_DISCOVERY_QNAME, vendorQname), PtrRecord(vendorQname, this.qname));
|
|
52
|
+
}
|
|
53
|
+
return records;
|
|
54
|
+
}
|
|
55
|
+
get txtValues() {
|
|
56
|
+
const {
|
|
57
|
+
vendorId,
|
|
58
|
+
productId,
|
|
59
|
+
deviceType,
|
|
60
|
+
name,
|
|
61
|
+
discriminator,
|
|
62
|
+
mode,
|
|
63
|
+
pairingHint = DEFAULT_PAIRING_HINT,
|
|
64
|
+
pairingInstructions
|
|
65
|
+
} = this.description;
|
|
66
|
+
const values = {
|
|
67
|
+
DN: name,
|
|
68
|
+
DT: deviceType,
|
|
69
|
+
D: discriminator,
|
|
70
|
+
CM: mode,
|
|
71
|
+
PH: PairingHintBitmapSchema.encode(pairingHint),
|
|
72
|
+
PI: pairingInstructions
|
|
73
|
+
};
|
|
74
|
+
if (!this.isPrivacyMasked) {
|
|
75
|
+
values.VP = `${vendorId}+${productId}`;
|
|
76
|
+
}
|
|
77
|
+
return values;
|
|
78
|
+
}
|
|
79
|
+
isDuplicate(other) {
|
|
80
|
+
return other.isCommissioning();
|
|
81
|
+
}
|
|
82
|
+
#validatePairingInstructions() {
|
|
83
|
+
const { pairingHint, pairingInstructions } = this.description;
|
|
84
|
+
const needsInstructions = pairingHint && PAIRING_HINTS_REQUIRING_INSTRUCTION.find((hint) => pairingHint[hint] === true);
|
|
85
|
+
if (needsInstructions && !pairingInstructions) {
|
|
86
|
+
throw new ImplementationError(
|
|
87
|
+
`Pairing instructions required for pairing hint of type "${needsInstructions}"`
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export {
|
|
93
|
+
CommissionableMdnsAdvertisement
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=CommissionableMdnsAdvertisement.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,+BAA+B;AAExC,SAAS,qBAAqB,iBAAiB;AAC/C;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,yBAAyB;AAM3B,MAAM,wCAAwC,kBAAqD;AAAA,EACtG;AAAA,EAEA,YAAY,YAA4B,aAAgD;AACpF,UAAM,aAAa,WAAW,iBAAiB;AAC/C,UAAM,QAAQ,6BAA6B,UAAU;AAErD,UAAM,YAAY,OAAO,WAAW;AAEpC,SAAK,aAAa;AAElB,SAAK,6BAA6B;AAAA,EACtC;AAAA,EAEA,IAAa,aAAa;AACtB,UAAM,EAAE,eAAe,YAAY,SAAS,IAAI,KAAK;AAErD,UAAM,qBAAsB,iBAAiB,IAAK;AAClD,UAAM,cAAc,eAAe,QAAQ;AAC3C,UAAM,kBAAkB,mBAAmB,UAAU;AACrD,UAAM,0BAA0B,2BAA2B,kBAAkB;AAC7E,UAAM,yBAAyB,0BAA0B,aAAa;AACtE,UAAM,sBAAsB,0BAA0B;AAEtD,UAAM,UAAU;AAAA,MACZ,UAAU,yBAAyB,+BAA+B;AAAA,MAClE,UAAU,yBAAyB,eAAe;AAAA,MAClD,UAAU,yBAAyB,uBAAuB;AAAA,MAC1D,UAAU,yBAAyB,sBAAsB;AAAA,MACzD,UAAU,yBAAyB,mBAAmB;AAAA,MACtD,UAAU,iCAAiC,KAAK,KAAK;AAAA,MACrD,UAAU,iBAAiB,KAAK,KAAK;AAAA,MACrC,UAAU,yBAAyB,KAAK,KAAK;AAAA,MAC7C,UAAU,wBAAwB,KAAK,KAAK;AAAA,MAC5C,UAAU,qBAAqB,KAAK,KAAK;AAAA,IAC7C;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,cAAQ,KAAK,UAAU,yBAAyB,WAAW,GAAG,UAAU,aAAa,KAAK,KAAK,CAAC;AAAA,IACpG;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAa,YAAY;AACrB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,IACJ,IAAI,KAAK;AAET,UAAM,SAAkC;AAAA,MACpC,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI,wBAAwB,OAAO,WAAW;AAAA,MAC9C,IAAI;AAAA,IACR;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,aAAO,KAAK,GAAG,QAAQ,IAAI,SAAS;AAAA,IACxC;AAEA,WAAO;AAAA,EACX;AAAA,EAES,YAAY,OAAsB;AAEvC,WAAO,MAAM,gBAAgB;AAAA,EACjC;AAAA,EAEA,+BAA+B;AAC3B,UAAM,EAAE,aAAa,oBAAoB,IAAI,KAAK;AAElD,UAAM,oBACF,eAAe,oCAAoC,KAAK,UAAQ,YAAY,IAAI,MAAM,IAAI;AAE9F,QAAI,qBAAqB,CAAC,qBAAqB;AAC3C,YAAM,IAAI;AAAA,QACN,2DAA2D,iBAAiB;AAAA,MAChF;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { Advertisement } from "#advertisement/Advertisement.js";
|
|
7
|
+
import { ServiceDescription } from "#advertisement/ServiceDescription.js";
|
|
8
|
+
import { MdnsAdvertisement } from "./MdnsAdvertisement.js";
|
|
9
|
+
import type { MdnsAdvertiser } from "./MdnsAdvertiser.js";
|
|
10
|
+
/**
|
|
11
|
+
* Advertise a node as a commissioner service.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CommissionerMdnsAdvertisement extends MdnsAdvertisement<ServiceDescription.Commissioner> {
|
|
14
|
+
instanceId: string;
|
|
15
|
+
constructor(advertiser: MdnsAdvertiser, description: ServiceDescription.Commissioner);
|
|
16
|
+
get ptrRecords(): import("#general").DnsRecord<string>[];
|
|
17
|
+
get txtValues(): Record<string, unknown>;
|
|
18
|
+
isDuplicate(other: Advertisement): other is Advertisement<ServiceDescription.Commissionable> | Advertisement<ServiceDescription.Commissioner>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=CommissionerMdnsAdvertisement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommissionerMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionerMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAO1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC;IACjG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,YAAY;IASpF,IAAa,UAAU,2CAmBtB;IAED,IAAa,SAAS,4BAarB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAI5C"}
|