@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.
Files changed (366) hide show
  1. package/dist/cjs/advertisement/Advertisement.d.ts +119 -0
  2. package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -0
  3. package/dist/cjs/advertisement/Advertisement.js +267 -0
  4. package/dist/cjs/advertisement/Advertisement.js.map +6 -0
  5. package/dist/cjs/advertisement/Advertiser.d.ts +50 -0
  6. package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -0
  7. package/dist/cjs/advertisement/Advertiser.js +81 -0
  8. package/dist/cjs/advertisement/Advertiser.js.map +6 -0
  9. package/dist/cjs/advertisement/CommissioningMode.d.ts +11 -0
  10. package/dist/cjs/advertisement/CommissioningMode.d.ts.map +1 -0
  11. package/dist/cjs/advertisement/CommissioningMode.js +35 -0
  12. package/dist/cjs/advertisement/CommissioningMode.js.map +6 -0
  13. package/dist/cjs/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
  14. package/dist/cjs/advertisement/PairingHintBitmap.d.ts.map +1 -0
  15. package/dist/cjs/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +5 -12
  16. package/dist/cjs/advertisement/PairingHintBitmap.js.map +6 -0
  17. package/dist/cjs/advertisement/ServiceDescription.d.ts +70 -0
  18. package/dist/cjs/advertisement/ServiceDescription.d.ts.map +1 -0
  19. package/dist/cjs/advertisement/ServiceDescription.js +61 -0
  20. package/dist/cjs/advertisement/ServiceDescription.js.map +6 -0
  21. package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts +16 -0
  22. package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
  23. package/dist/cjs/advertisement/ble/BleAdvertisement.js +85 -0
  24. package/dist/cjs/advertisement/ble/BleAdvertisement.js.map +6 -0
  25. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +66 -0
  26. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
  27. package/dist/cjs/advertisement/ble/BleAdvertiser.js +83 -0
  28. package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +6 -0
  29. package/dist/cjs/advertisement/ble/index.d.ts +8 -0
  30. package/dist/cjs/advertisement/ble/index.d.ts.map +1 -0
  31. package/dist/cjs/advertisement/ble/index.js +25 -0
  32. package/dist/cjs/advertisement/ble/index.js.map +6 -0
  33. package/dist/cjs/advertisement/index.d.ts +13 -0
  34. package/dist/cjs/advertisement/index.d.ts.map +1 -0
  35. package/dist/cjs/advertisement/index.js +30 -0
  36. package/dist/cjs/advertisement/index.js.map +6 -0
  37. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
  38. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
  39. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js +104 -0
  40. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
  41. package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
  42. package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
  43. package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js +70 -0
  44. package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
  45. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
  46. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
  47. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +145 -0
  48. package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
  49. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
  50. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
  51. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +166 -0
  52. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
  53. package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
  54. package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
  55. package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js +55 -0
  56. package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
  57. package/dist/cjs/advertisement/mdns/index.d.ts +11 -0
  58. package/dist/cjs/advertisement/mdns/index.d.ts.map +1 -0
  59. package/dist/cjs/advertisement/mdns/index.js +28 -0
  60. package/dist/cjs/advertisement/mdns/index.js.map +6 -0
  61. package/dist/cjs/ble/Ble.d.ts +7 -5
  62. package/dist/cjs/ble/Ble.d.ts.map +1 -1
  63. package/dist/cjs/ble/Ble.js.map +1 -1
  64. package/dist/cjs/codec/BtpCodec.d.ts +1 -1
  65. package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
  66. package/dist/cjs/codec/BtpCodec.js +4 -4
  67. package/dist/cjs/codec/BtpCodec.js.map +1 -1
  68. package/dist/cjs/common/Scanner.d.ts +1 -25
  69. package/dist/cjs/common/Scanner.d.ts.map +1 -1
  70. package/dist/cjs/common/Scanner.js +1 -18
  71. package/dist/cjs/common/Scanner.js.map +1 -1
  72. package/dist/cjs/common/SupportedTransportsBitmap.d.ts +33 -0
  73. package/dist/cjs/common/SupportedTransportsBitmap.d.ts.map +1 -0
  74. package/dist/cjs/common/SupportedTransportsBitmap.js +45 -0
  75. package/dist/cjs/common/SupportedTransportsBitmap.js.map +6 -0
  76. package/dist/cjs/common/index.d.ts +1 -1
  77. package/dist/cjs/common/index.d.ts.map +1 -1
  78. package/dist/cjs/common/index.js +1 -1
  79. package/dist/cjs/common/index.js.map +1 -1
  80. package/dist/cjs/fabric/Fabric.d.ts +1 -0
  81. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  82. package/dist/cjs/fabric/Fabric.js +7 -0
  83. package/dist/cjs/fabric/Fabric.js.map +1 -1
  84. package/dist/cjs/index.d.ts +1 -0
  85. package/dist/cjs/index.d.ts.map +1 -1
  86. package/dist/cjs/index.js +1 -0
  87. package/dist/cjs/index.js.map +1 -1
  88. package/dist/{esm/mdns/MdnsScanner.d.ts → cjs/mdns/MdnsClient.d.ts} +11 -14
  89. package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -0
  90. package/dist/cjs/mdns/{MdnsScanner.js → MdnsClient.js} +35 -90
  91. package/dist/cjs/mdns/MdnsClient.js.map +6 -0
  92. package/dist/cjs/mdns/MdnsConsts.d.ts +11 -2
  93. package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
  94. package/dist/cjs/mdns/MdnsConsts.js +31 -4
  95. package/dist/cjs/mdns/MdnsConsts.js.map +1 -1
  96. package/dist/cjs/mdns/MdnsServer.d.ts +13 -22
  97. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  98. package/dist/cjs/mdns/MdnsServer.js +55 -140
  99. package/dist/cjs/mdns/MdnsServer.js.map +2 -2
  100. package/dist/cjs/mdns/MdnsService.d.ts +4 -5
  101. package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
  102. package/dist/cjs/mdns/MdnsService.js +22 -23
  103. package/dist/cjs/mdns/MdnsService.js.map +1 -1
  104. package/dist/cjs/mdns/MdnsSocket.d.ts +32 -0
  105. package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -0
  106. package/dist/cjs/mdns/MdnsSocket.js +144 -0
  107. package/dist/cjs/mdns/MdnsSocket.js.map +6 -0
  108. package/dist/cjs/mdns/index.d.ts +2 -3
  109. package/dist/cjs/mdns/index.d.ts.map +1 -1
  110. package/dist/cjs/mdns/index.js +2 -3
  111. package/dist/cjs/mdns/index.js.map +1 -1
  112. package/dist/cjs/peer/ControllerCommissioner.js +2 -2
  113. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  114. package/dist/cjs/peer/ControllerDiscovery.d.ts +3 -3
  115. package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
  116. package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
  117. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  118. package/dist/cjs/peer/PeerSet.js +10 -5
  119. package/dist/cjs/peer/PeerSet.js.map +1 -1
  120. package/dist/cjs/protocol/DeviceAdvertiser.d.ts +23 -18
  121. package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
  122. package/dist/cjs/protocol/DeviceAdvertiser.js +130 -129
  123. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  124. package/dist/cjs/protocol/DeviceCommissioner.d.ts +0 -1
  125. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  126. package/dist/cjs/protocol/DeviceCommissioner.js +44 -44
  127. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  128. package/dist/cjs/protocol/ExchangeManager.js +1 -1
  129. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  130. package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
  131. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  132. package/dist/cjs/protocol/MessageExchange.js +6 -8
  133. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  134. package/dist/cjs/session/NodeSession.d.ts +1 -0
  135. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  136. package/dist/cjs/session/NodeSession.js +3 -0
  137. package/dist/cjs/session/NodeSession.js.map +1 -1
  138. package/dist/cjs/session/Session.d.ts +3 -33
  139. package/dist/cjs/session/Session.d.ts.map +1 -1
  140. package/dist/cjs/session/Session.js +4 -9
  141. package/dist/cjs/session/Session.js.map +1 -1
  142. package/dist/cjs/session/SessionIntervals.d.ts +36 -0
  143. package/dist/cjs/session/SessionIntervals.d.ts.map +1 -0
  144. package/dist/cjs/session/SessionIntervals.js +51 -0
  145. package/dist/cjs/session/SessionIntervals.js.map +6 -0
  146. package/dist/cjs/session/SessionManager.d.ts +1 -1
  147. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  148. package/dist/cjs/session/SessionManager.js +11 -12
  149. package/dist/cjs/session/SessionManager.js.map +1 -1
  150. package/dist/cjs/session/pase/PaseMessages.js +2 -2
  151. package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
  152. package/dist/esm/advertisement/Advertisement.d.ts +119 -0
  153. package/dist/esm/advertisement/Advertisement.d.ts.map +1 -0
  154. package/dist/esm/advertisement/Advertisement.js +247 -0
  155. package/dist/esm/advertisement/Advertisement.js.map +6 -0
  156. package/dist/esm/advertisement/Advertiser.d.ts +50 -0
  157. package/dist/esm/advertisement/Advertiser.d.ts.map +1 -0
  158. package/dist/esm/advertisement/Advertiser.js +61 -0
  159. package/dist/esm/advertisement/Advertiser.js.map +6 -0
  160. package/dist/esm/advertisement/CommissioningMode.d.ts +11 -0
  161. package/dist/esm/advertisement/CommissioningMode.d.ts.map +1 -0
  162. package/dist/esm/advertisement/CommissioningMode.js +15 -0
  163. package/dist/esm/advertisement/CommissioningMode.js.map +6 -0
  164. package/dist/esm/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
  165. package/dist/esm/advertisement/PairingHintBitmap.d.ts.map +1 -0
  166. package/dist/esm/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +2 -9
  167. package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map} +3 -3
  168. package/dist/esm/advertisement/ServiceDescription.d.ts +70 -0
  169. package/dist/esm/advertisement/ServiceDescription.d.ts.map +1 -0
  170. package/dist/esm/advertisement/ServiceDescription.js +41 -0
  171. package/dist/esm/advertisement/ServiceDescription.js.map +6 -0
  172. package/dist/esm/advertisement/ble/BleAdvertisement.d.ts +16 -0
  173. package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
  174. package/dist/esm/advertisement/ble/BleAdvertisement.js +65 -0
  175. package/dist/esm/advertisement/ble/BleAdvertisement.js.map +6 -0
  176. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +66 -0
  177. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
  178. package/dist/esm/advertisement/ble/BleAdvertiser.js +63 -0
  179. package/dist/esm/advertisement/ble/BleAdvertiser.js.map +6 -0
  180. package/dist/esm/advertisement/ble/index.d.ts +8 -0
  181. package/dist/esm/advertisement/ble/index.d.ts.map +1 -0
  182. package/dist/esm/advertisement/ble/index.js +8 -0
  183. package/dist/esm/advertisement/ble/index.js.map +6 -0
  184. package/dist/esm/advertisement/index.d.ts +13 -0
  185. package/dist/esm/advertisement/index.d.ts.map +1 -0
  186. package/dist/esm/advertisement/index.js +13 -0
  187. package/dist/esm/advertisement/index.js.map +6 -0
  188. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
  189. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
  190. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +95 -0
  191. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
  192. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
  193. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
  194. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js +54 -0
  195. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
  196. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
  197. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
  198. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +125 -0
  199. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
  200. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
  201. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
  202. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +146 -0
  203. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
  204. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
  205. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
  206. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js +40 -0
  207. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
  208. package/dist/esm/advertisement/mdns/index.d.ts +11 -0
  209. package/dist/esm/advertisement/mdns/index.d.ts.map +1 -0
  210. package/dist/esm/advertisement/mdns/index.js +11 -0
  211. package/dist/esm/advertisement/mdns/index.js.map +6 -0
  212. package/dist/esm/ble/Ble.d.ts +7 -5
  213. package/dist/esm/ble/Ble.d.ts.map +1 -1
  214. package/dist/esm/ble/Ble.js.map +1 -1
  215. package/dist/esm/codec/BtpCodec.d.ts +1 -1
  216. package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
  217. package/dist/esm/codec/BtpCodec.js +4 -4
  218. package/dist/esm/codec/BtpCodec.js.map +1 -1
  219. package/dist/esm/common/Scanner.d.ts +1 -25
  220. package/dist/esm/common/Scanner.d.ts.map +1 -1
  221. package/dist/esm/common/Scanner.js +1 -18
  222. package/dist/esm/common/Scanner.js.map +1 -1
  223. package/dist/esm/common/SupportedTransportsBitmap.d.ts +33 -0
  224. package/dist/esm/common/SupportedTransportsBitmap.d.ts.map +1 -0
  225. package/dist/esm/common/SupportedTransportsBitmap.js +25 -0
  226. package/dist/esm/common/SupportedTransportsBitmap.js.map +6 -0
  227. package/dist/esm/common/index.d.ts +1 -1
  228. package/dist/esm/common/index.d.ts.map +1 -1
  229. package/dist/esm/common/index.js +1 -1
  230. package/dist/esm/fabric/Fabric.d.ts +1 -0
  231. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  232. package/dist/esm/fabric/Fabric.js +7 -0
  233. package/dist/esm/fabric/Fabric.js.map +1 -1
  234. package/dist/esm/index.d.ts +1 -0
  235. package/dist/esm/index.d.ts.map +1 -1
  236. package/dist/esm/index.js +1 -0
  237. package/dist/esm/index.js.map +1 -1
  238. package/dist/{cjs/mdns/MdnsScanner.d.ts → esm/mdns/MdnsClient.d.ts} +11 -14
  239. package/dist/esm/mdns/MdnsClient.d.ts.map +1 -0
  240. package/dist/esm/mdns/{MdnsScanner.js → MdnsClient.js} +34 -92
  241. package/dist/esm/mdns/MdnsClient.js.map +6 -0
  242. package/dist/esm/mdns/MdnsConsts.d.ts +11 -2
  243. package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
  244. package/dist/esm/mdns/MdnsConsts.js +31 -4
  245. package/dist/esm/mdns/MdnsConsts.js.map +1 -1
  246. package/dist/esm/mdns/MdnsServer.d.ts +13 -22
  247. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  248. package/dist/esm/mdns/MdnsServer.js +57 -145
  249. package/dist/esm/mdns/MdnsServer.js.map +2 -2
  250. package/dist/esm/mdns/MdnsService.d.ts +4 -5
  251. package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
  252. package/dist/esm/mdns/MdnsService.js +22 -24
  253. package/dist/esm/mdns/MdnsService.js.map +1 -1
  254. package/dist/esm/mdns/MdnsSocket.d.ts +32 -0
  255. package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -0
  256. package/dist/esm/mdns/MdnsSocket.js +133 -0
  257. package/dist/esm/mdns/MdnsSocket.js.map +6 -0
  258. package/dist/esm/mdns/index.d.ts +2 -3
  259. package/dist/esm/mdns/index.d.ts.map +1 -1
  260. package/dist/esm/mdns/index.js +2 -3
  261. package/dist/esm/mdns/index.js.map +1 -1
  262. package/dist/esm/peer/ControllerCommissioner.js +2 -2
  263. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  264. package/dist/esm/peer/ControllerDiscovery.d.ts +3 -3
  265. package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
  266. package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
  267. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  268. package/dist/esm/peer/PeerSet.js +10 -5
  269. package/dist/esm/peer/PeerSet.js.map +1 -1
  270. package/dist/esm/protocol/DeviceAdvertiser.d.ts +23 -18
  271. package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
  272. package/dist/esm/protocol/DeviceAdvertiser.js +131 -139
  273. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  274. package/dist/esm/protocol/DeviceCommissioner.d.ts +0 -1
  275. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  276. package/dist/esm/protocol/DeviceCommissioner.js +47 -47
  277. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  278. package/dist/esm/protocol/ExchangeManager.js +1 -1
  279. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  280. package/dist/esm/protocol/MessageExchange.d.ts +1 -1
  281. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  282. package/dist/esm/protocol/MessageExchange.js +6 -12
  283. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  284. package/dist/esm/session/NodeSession.d.ts +1 -0
  285. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  286. package/dist/esm/session/NodeSession.js +3 -0
  287. package/dist/esm/session/NodeSession.js.map +1 -1
  288. package/dist/esm/session/Session.d.ts +3 -33
  289. package/dist/esm/session/Session.d.ts.map +1 -1
  290. package/dist/esm/session/Session.js +4 -9
  291. package/dist/esm/session/Session.js.map +1 -1
  292. package/dist/esm/session/SessionIntervals.d.ts +36 -0
  293. package/dist/esm/session/SessionIntervals.d.ts.map +1 -0
  294. package/dist/esm/session/SessionIntervals.js +31 -0
  295. package/dist/esm/session/SessionIntervals.js.map +6 -0
  296. package/dist/esm/session/SessionManager.d.ts +1 -1
  297. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  298. package/dist/esm/session/SessionManager.js +10 -14
  299. package/dist/esm/session/SessionManager.js.map +1 -1
  300. package/dist/esm/session/pase/PaseMessages.js +1 -1
  301. package/package.json +6 -6
  302. package/src/advertisement/Advertisement.ts +348 -0
  303. package/src/advertisement/Advertiser.ts +83 -0
  304. package/src/advertisement/CommissioningMode.ts +11 -0
  305. package/src/{common/InstanceBroadcaster.ts → advertisement/PairingHintBitmap.ts} +1 -92
  306. package/src/advertisement/ServiceDescription.ts +110 -0
  307. package/src/advertisement/ble/BleAdvertisement.ts +90 -0
  308. package/src/advertisement/ble/BleAdvertiser.ts +116 -0
  309. package/src/advertisement/ble/index.ts +8 -0
  310. package/src/advertisement/index.ts +13 -0
  311. package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +118 -0
  312. package/src/advertisement/mdns/CommissionerMdnsAdvertisement.ts +73 -0
  313. package/src/advertisement/mdns/MdnsAdvertisement.ts +167 -0
  314. package/src/advertisement/mdns/MdnsAdvertiser.ts +248 -0
  315. package/src/advertisement/mdns/OperationalMdnsAdvertisement.ts +50 -0
  316. package/src/advertisement/mdns/index.ts +11 -0
  317. package/src/ble/Ble.ts +8 -5
  318. package/src/codec/BtpCodec.ts +4 -3
  319. package/src/common/Scanner.ts +1 -17
  320. package/src/common/SupportedTransportsBitmap.ts +25 -0
  321. package/src/common/index.ts +1 -1
  322. package/src/fabric/Fabric.ts +8 -0
  323. package/src/index.ts +1 -0
  324. package/src/mdns/{MdnsScanner.ts → MdnsClient.ts} +34 -103
  325. package/src/mdns/MdnsConsts.ts +27 -2
  326. package/src/mdns/MdnsServer.ts +79 -184
  327. package/src/mdns/MdnsService.ts +24 -27
  328. package/src/mdns/MdnsSocket.ts +179 -0
  329. package/src/mdns/index.ts +2 -3
  330. package/src/peer/ControllerCommissioner.ts +2 -2
  331. package/src/peer/ControllerDiscovery.ts +3 -3
  332. package/src/peer/PeerSet.ts +15 -9
  333. package/src/protocol/DeviceAdvertiser.ts +161 -151
  334. package/src/protocol/DeviceCommissioner.ts +65 -75
  335. package/src/protocol/ExchangeManager.ts +1 -1
  336. package/src/protocol/MessageExchange.ts +8 -14
  337. package/src/session/NodeSession.ts +4 -0
  338. package/src/session/Session.ts +6 -42
  339. package/src/session/SessionIntervals.ts +57 -0
  340. package/src/session/SessionManager.ts +9 -13
  341. package/src/session/pase/PaseMessages.ts +1 -1
  342. package/dist/cjs/common/InstanceBroadcaster.d.ts.map +0 -1
  343. package/dist/cjs/common/InstanceBroadcaster.js.map +0 -6
  344. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +0 -34
  345. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +0 -1
  346. package/dist/cjs/mdns/MdnsBroadcaster.js +0 -365
  347. package/dist/cjs/mdns/MdnsBroadcaster.js.map +0 -6
  348. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
  349. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
  350. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +0 -87
  351. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +0 -6
  352. package/dist/cjs/mdns/MdnsScanner.d.ts.map +0 -1
  353. package/dist/cjs/mdns/MdnsScanner.js.map +0 -6
  354. package/dist/esm/common/InstanceBroadcaster.d.ts.map +0 -1
  355. package/dist/esm/mdns/MdnsBroadcaster.d.ts +0 -34
  356. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +0 -1
  357. package/dist/esm/mdns/MdnsBroadcaster.js +0 -378
  358. package/dist/esm/mdns/MdnsBroadcaster.js.map +0 -6
  359. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
  360. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
  361. package/dist/esm/mdns/MdnsInstanceBroadcaster.js +0 -67
  362. package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +0 -6
  363. package/dist/esm/mdns/MdnsScanner.d.ts.map +0 -1
  364. package/dist/esm/mdns/MdnsScanner.js.map +0 -6
  365. package/src/mdns/MdnsBroadcaster.ts +0 -451
  366. package/src/mdns/MdnsInstanceBroadcaster.ts +0 -88
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/common/InstanceBroadcaster.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAA4E;AAGvF,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;AAwD9D,IAAK,oBAAL,kBAAKA,uBAAL;AACH,EAAAA,sCAAA,sBAAmB,KAAnB;AACA,EAAAA,sCAAA,WAAQ,KAAR;AACA,EAAAA,sCAAA,cAAW,KAAX;AAHQ,SAAAA;AAAA,GAAA;",
5
- "names": ["CommissioningMode"]
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,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./BleAdvertisement.js";
7
+ export * from "./BleAdvertiser.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -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,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./BleAdvertisement.js";
7
+ export * from "./BleAdvertiser.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/advertisement/ble/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -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,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/advertisement/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -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"}