@matter/protocol 0.16.0-alpha.0-20250807-37b08c9bb → 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 +9 -9
  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
@@ -5,82 +5,53 @@
5
5
  */
6
6
  import {
7
7
  AsyncCache,
8
- Diagnostic,
9
- DnsCodec,
10
8
  DnsMessageType,
11
9
  DnsRecordType,
12
10
  isDeepEqual,
13
11
  Logger,
14
12
  MatterAggregateError,
15
- MAX_MDNS_MESSAGE_SIZE,
16
- Time,
17
- UdpMulticastServer
13
+ ObserverGroup,
14
+ Time
18
15
  } from "#general";
19
16
  const logger = Logger.get("MdnsServer");
20
- const MDNS_BROADCAST_IPV4 = "224.0.0.251";
21
- const MDNS_BROADCAST_IPV6 = "ff02::fb";
22
- const MDNS_BROADCAST_PORT = 5353;
23
- var AnnouncementType = /* @__PURE__ */ ((AnnouncementType2) => {
24
- AnnouncementType2[AnnouncementType2["Commissionable"] = 0] = "Commissionable";
25
- AnnouncementType2[AnnouncementType2["Operative"] = 1] = "Operative";
26
- return AnnouncementType2;
27
- })(AnnouncementType || {});
28
17
  class MdnsServer {
29
- static async create(network, options) {
30
- const { enableIpv4 = true, netInterface } = options ?? {};
31
- return new MdnsServer(
32
- network,
33
- await UdpMulticastServer.create({
34
- network,
35
- netInterface,
36
- broadcastAddressIpv4: enableIpv4 ? MDNS_BROADCAST_IPV4 : void 0,
37
- broadcastAddressIpv6: MDNS_BROADCAST_IPV6,
38
- listeningPort: MDNS_BROADCAST_PORT
39
- }),
40
- netInterface
41
- );
42
- }
18
+ #observers = new ObserverGroup();
43
19
  #recordsGenerator = /* @__PURE__ */ new Map();
44
20
  #records = new AsyncCache(
45
21
  "MDNS discovery",
46
22
  async (multicastInterface) => {
47
- const portTypeMap = /* @__PURE__ */ new Map();
48
- for (const [announceTypePort, generator] of this.#recordsGenerator) {
49
- portTypeMap.set(announceTypePort, await generator(multicastInterface));
23
+ const serviceRecords = /* @__PURE__ */ new Map();
24
+ const addrs = await this.network.getIpMac(multicastInterface);
25
+ if (addrs === void 0) {
26
+ return serviceRecords;
27
+ }
28
+ for (const [service, generator] of this.#recordsGenerator) {
29
+ serviceRecords.set(service, generator(multicastInterface, addrs));
50
30
  }
51
- return portTypeMap;
31
+ return serviceRecords;
52
32
  },
53
33
  15 * 60 * 1e3
54
34
  );
55
35
  #recordLastSentAsMulticastAnswer = /* @__PURE__ */ new Map();
56
36
  #recordLastSentAsUnicastAnswer = /* @__PURE__ */ new Map();
57
- #network;
58
- #multicastServer;
59
- #netInterface;
60
- constructor(network, multicastServer, netInterface) {
61
- multicastServer.onMessage(
62
- (message, remoteIp, netInterface2) => void this.#handleDnsMessage(message, remoteIp, netInterface2)
63
- );
64
- this.#network = network;
65
- this.#multicastServer = multicastServer;
66
- this.#netInterface = netInterface;
37
+ #socket;
38
+ constructor(socket) {
39
+ this.#socket = socket;
40
+ this.#observers.on(this.#socket.receipt, this.#handleMessage.bind(this));
67
41
  }
68
- buildDnsRecordKey(record, netInterface, unicastTarget) {
69
- return `${record.name}-${record.recordClass}-${record.recordType}-${netInterface}-${unicastTarget}`;
42
+ get network() {
43
+ return this.#socket.network;
70
44
  }
71
- buildTypePortKey(type, port) {
72
- return `${port}-${type}`;
45
+ get supportsIpv4() {
46
+ return this.#socket.supportsIpv4;
73
47
  }
74
- isKeyForPort(key, port) {
75
- return key.startsWith(`${port}-`);
48
+ buildDnsRecordKey(record, netInterface, unicastTarget) {
49
+ return `${record.name}-${record.recordClass}-${record.recordType}-${netInterface}-${unicastTarget}`;
76
50
  }
77
- async #handleDnsMessage(messageBytes, remoteIp, netInterface) {
78
- if (netInterface === void 0) return;
79
- const records = await this.#records.get(netInterface);
51
+ async #handleMessage(message) {
52
+ const records = await this.#records.get(message.sourceIntf);
80
53
  if (records.size === 0) return;
81
- const message = DnsCodec.decode(messageBytes);
82
- if (message === void 0) return;
83
- const { transactionId, messageType, queries, answers: knownAnswers } = message;
54
+ const { sourceIntf, sourceIp, transactionId, messageType, queries, answers: knownAnswers } = message;
84
55
  if (messageType !== DnsMessageType.Query && messageType !== DnsMessageType.TruncatedQuery) return;
85
56
  if (queries.length === 0) return;
86
57
  for (const portRecords of records.values()) {
@@ -106,8 +77,8 @@ class MdnsServer {
106
77
  const now = Time.nowMs();
107
78
  let uniCastResponse = queries.filter((query) => !query.uniCastResponse).length === 0;
108
79
  const answersTimeSinceLastSent = answers.map((answer) => ({
109
- timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer, netInterface)) ?? 0),
110
- timeSinceLastUniCast: now - (this.#recordLastSentAsUnicastAnswer.get(this.buildDnsRecordKey(answer, netInterface, remoteIp)) ?? 0),
80
+ timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer, sourceIntf)) ?? 0),
81
+ timeSinceLastUniCast: now - (this.#recordLastSentAsUnicastAnswer.get(this.buildDnsRecordKey(answer, sourceIntf, sourceIp)) ?? 0),
111
82
  ttl: answer.ttl
112
83
  }));
113
84
  if (uniCastResponse && answersTimeSinceLastSent.some(
@@ -119,29 +90,26 @@ class MdnsServer {
119
90
  answers = answers.filter((_, index) => answersTimeSinceLastSent[index].timeSinceLastMultiCast > 1e3);
120
91
  if (answers.length === 0) continue;
121
92
  answers.forEach(
122
- (answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, netInterface), now)
93
+ (answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, sourceIntf), now)
123
94
  );
124
95
  } else {
125
96
  answers = answers.filter((_, index) => answersTimeSinceLastSent[index].timeSinceLastUniCast > 1e3);
126
97
  if (answers.length === 0) continue;
127
98
  answers.forEach(
128
- (answer) => this.#recordLastSentAsUnicastAnswer.set(
129
- this.buildDnsRecordKey(answer, netInterface, remoteIp),
130
- now
131
- )
99
+ (answer) => this.#recordLastSentAsUnicastAnswer.set(this.buildDnsRecordKey(answer, sourceIntf, sourceIp), now)
132
100
  );
133
101
  }
134
- this.#sendRecords(
102
+ this.#socket.send(
135
103
  {
136
104
  messageType: DnsMessageType.Response,
137
105
  transactionId,
138
106
  answers,
139
107
  additionalRecords
140
108
  },
141
- netInterface,
142
- uniCastResponse ? remoteIp : void 0
109
+ sourceIntf,
110
+ uniCastResponse ? sourceIp : void 0
143
111
  ).catch((error) => {
144
- logger.warn(`Failed to send mDNS response to ${remoteIp}`, error);
112
+ logger.warn(`Failed to send mDNS response to ${sourceIp}`, error);
145
113
  });
146
114
  await Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
147
115
  }
@@ -149,7 +117,7 @@ class MdnsServer {
149
117
  async #announceRecordsForInterface(netInterface, records) {
150
118
  const answers = records.filter(({ recordType }) => recordType === DnsRecordType.PTR);
151
119
  const additionalRecords = records.filter(({ recordType }) => recordType !== DnsRecordType.PTR);
152
- await this.#sendRecords(
120
+ await this.#socket.send(
153
121
  {
154
122
  messageType: DnsMessageType.Response,
155
123
  answers,
@@ -158,115 +126,63 @@ class MdnsServer {
158
126
  netInterface
159
127
  );
160
128
  }
161
- async #sendRecords(dnsMessageData, netInterface, unicastTarget) {
162
- const { answers = [], additionalRecords = [] } = dnsMessageData;
163
- const answersToSend = [...answers];
164
- const additionalRecordsToSend = [...additionalRecords];
165
- const dnsMessageDataToSend = {
166
- ...dnsMessageData,
167
- answers: [],
168
- additionalRecords: []
169
- };
170
- const emptyDnsMessage = DnsCodec.encode(dnsMessageDataToSend);
171
- let dnsMessageSize = emptyDnsMessage.length;
172
- while (true) {
173
- if (answersToSend.length > 0) {
174
- const nextAnswer = answersToSend.shift();
175
- if (nextAnswer === void 0) {
176
- break;
177
- }
178
- const nextAnswerEncoded = DnsCodec.encodeRecord(nextAnswer);
179
- dnsMessageSize += nextAnswerEncoded.length;
180
- if (dnsMessageSize > MAX_MDNS_MESSAGE_SIZE) {
181
- await this.#multicastServer.send(
182
- DnsCodec.encode(dnsMessageDataToSend),
183
- netInterface,
184
- unicastTarget
185
- );
186
- dnsMessageDataToSend.answers.length = 0;
187
- dnsMessageSize = emptyDnsMessage.length + nextAnswerEncoded.length;
188
- }
189
- dnsMessageDataToSend.answers.push(nextAnswerEncoded);
190
- } else {
191
- break;
192
- }
193
- }
194
- for (const additionalRecord of additionalRecordsToSend) {
195
- const additionalRecordEncoded = DnsCodec.encodeRecord(additionalRecord);
196
- dnsMessageSize += additionalRecordEncoded.length;
197
- if (dnsMessageSize > MAX_MDNS_MESSAGE_SIZE) {
198
- break;
199
- }
200
- dnsMessageDataToSend.additionalRecords.push(additionalRecordEncoded);
201
- }
202
- await this.#multicastServer.send(DnsCodec.encode(dnsMessageDataToSend), netInterface, unicastTarget);
203
- }
204
- async announce(announcedNetPort) {
129
+ async broadcast(...services) {
205
130
  await MatterAggregateError.allSettled(
206
131
  (await this.#getMulticastInterfacesForAnnounce()).map(async ({ name: netInterface }) => {
207
132
  const records = await this.#records.get(netInterface);
208
- for (const [portType, portTypeRecords] of records) {
209
- if (announcedNetPort !== void 0 && !this.isKeyForPort(portType, announcedNetPort)) continue;
210
- await this.#announceRecordsForInterface(netInterface, portTypeRecords);
133
+ for (const [service, serviceRecords] of records) {
134
+ if (services.length && !services.includes(service)) continue;
135
+ await this.#announceRecordsForInterface(netInterface, serviceRecords);
211
136
  await Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
212
137
  }
213
138
  }),
214
- "Error happened when announcing MDNS messages"
139
+ "Error announcing MDNS messages"
215
140
  ).catch((error) => logger.error(error));
216
141
  }
217
- async expireAnnouncements(options) {
218
- const { announcedNetPort, type, forInstance: instanceToExpire } = options ?? {};
142
+ async expireAnnouncements(...services) {
219
143
  await MatterAggregateError.allSettled(
220
144
  this.#records.keys().map(async (netInterface) => {
221
145
  const records = await this.#records.get(netInterface);
222
- for (const [portType, portTypeRecords] of records) {
223
- if (announcedNetPort !== void 0 && !this.isKeyForPort(portType, announcedNetPort)) continue;
224
- if (announcedNetPort !== void 0 && type !== void 0 && portType !== this.buildTypePortKey(type, announcedNetPort))
225
- continue;
226
- const recordsToProcess = instanceToExpire !== void 0 ? portTypeRecords.filter(
227
- ({ forInstance }) => forInstance !== void 0 && instanceToExpire === forInstance
228
- ) : portTypeRecords;
146
+ for (const [service, serviceRecords] of records) {
147
+ if (services.length && !services.includes(service)) continue;
229
148
  const instanceSet = /* @__PURE__ */ new Set();
230
- recordsToProcess.forEach((record) => {
149
+ serviceRecords.forEach((record) => {
231
150
  record.ttl = 0;
232
151
  if (record.recordType === DnsRecordType.TXT) {
233
152
  instanceSet.add(record.name);
234
153
  }
235
154
  });
236
- const instanceName = instanceSet.size > 1 ? "multiple" : instanceSet.size === 1 ? Array.from(instanceSet.values())[0] : "";
237
- logger.debug(
238
- `Expiring records`,
239
- Diagnostic.dict({
240
- instanceName,
241
- port: announcedNetPort,
242
- netInterface
243
- })
244
- );
245
- await this.#announceRecordsForInterface(netInterface, portTypeRecords);
246
- this.#recordsGenerator.delete(portType);
155
+ await this.#announceRecordsForInterface(netInterface, serviceRecords);
156
+ this.#recordsGenerator.delete(service);
247
157
  await Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
248
158
  }
249
159
  }),
250
160
  "Error happened when expiring MDNS announcements"
251
161
  ).catch((error) => logger.error(error));
252
- await this.#records.clear();
253
- this.#recordLastSentAsMulticastAnswer.clear();
254
- this.#recordLastSentAsUnicastAnswer.clear();
162
+ await this.#resetServices(services);
255
163
  }
256
- async setRecordsGenerator(hostPort, type, generator) {
164
+ async setRecordsGenerator(service, generator) {
257
165
  await this.#records.clear();
258
166
  this.#recordLastSentAsMulticastAnswer.clear();
259
167
  this.#recordLastSentAsUnicastAnswer.clear();
260
- this.#recordsGenerator.set(this.buildTypePortKey(type, hostPort), generator);
168
+ this.#recordsGenerator.set(service, generator);
169
+ }
170
+ async #resetServices(services) {
171
+ for (const service of services) {
172
+ await this.#records.delete(service);
173
+ this.#recordLastSentAsMulticastAnswer.delete(service);
174
+ this.#recordLastSentAsUnicastAnswer.delete(service);
175
+ }
261
176
  }
262
177
  async close() {
178
+ this.#observers.close();
263
179
  await this.#records.close();
264
180
  this.#recordLastSentAsMulticastAnswer.clear();
265
181
  this.#recordLastSentAsUnicastAnswer.clear();
266
- await this.#multicastServer.close();
267
182
  }
268
183
  #getMulticastInterfacesForAnnounce() {
269
- return this.#netInterface === void 0 ? this.#network.getNetInterfaces() : [{ name: this.#netInterface }];
184
+ const { netInterface } = this.#socket;
185
+ return netInterface === void 0 ? this.network.getNetInterfaces() : [{ name: netInterface }];
270
186
  }
271
187
  #queryRecords({ name, recordType }, records) {
272
188
  if (recordType === DnsRecordType.ANY) {
@@ -277,10 +193,6 @@ class MdnsServer {
277
193
  }
278
194
  }
279
195
  export {
280
- AnnouncementType,
281
- MDNS_BROADCAST_IPV4,
282
- MDNS_BROADCAST_IPV6,
283
- MDNS_BROADCAST_PORT,
284
196
  MdnsServer
285
197
  };
286
198
  //# sourceMappingURL=MdnsServer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsServer.ts"],
4
- "mappings": "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",
5
- "names": ["AnnouncementType", "netInterface"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -4,17 +4,16 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Construction, Diagnostic, Environment, Environmental } from "#general";
7
- import { MdnsBroadcaster } from "../mdns/MdnsBroadcaster.js";
8
- import { MdnsScanner } from "../mdns/MdnsScanner.js";
7
+ import { MdnsServer } from "../mdns/MdnsServer.js";
8
+ import { MdnsClient } from "./MdnsClient.js";
9
9
  export declare class MdnsService {
10
10
  #private;
11
11
  readonly limitedToNetInterface?: string;
12
12
  get enableIpv4(): boolean;
13
13
  constructor(environment: Environment, options?: MdnsService.Options);
14
14
  static [Environmental.create](environment: Environment): MdnsService;
15
- createInstanceBroadcaster(port: number): import("./MdnsInstanceBroadcaster.js").MdnsInstanceBroadcaster;
16
- get broadcaster(): MdnsBroadcaster;
17
- get scanner(): MdnsScanner;
15
+ get server(): MdnsServer;
16
+ get client(): MdnsClient;
18
17
  get [Diagnostic.value](): string;
19
18
  get construction(): Construction<MdnsService>;
20
19
  [Symbol.asyncDispose](): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsService.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,YAAY,EAEZ,UAAU,EACV,WAAW,EACX,aAAa,EAMhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,qBAAa,WAAW;;IAMpB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAExC,IAAI,UAAU,YAEb;gBAEW,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IA0BnE,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,yBAAyB,CAAC,IAAI,EAAE,MAAM;IAItC,IAAI,WAAW,oBAEd;IAED,IAAI,OAAO,gBAEV;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,YAAY,8BAEf;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC;CAoB9B;AAED,yBAAiB,WAAW,CAAC;IACzB,UAAiB,OAAO;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB;CACJ"}
1
+ {"version":3,"file":"MdnsService.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EAMhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,qBAAa,WAAW;;IAOpB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAExC,IAAI,UAAU,YAEb;gBAEW,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IAsBnE,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,MAAM,eAET;IAED,IAAI,MAAM,eAET;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,YAAY,8BAEf;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC;CAwB9B;AAED,yBAAiB,WAAW,CAAC;IACzB,UAAiB,OAAO;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB;CACJ"}
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import {
7
7
  Construction,
8
- Crypto,
9
8
  Diagnostic,
10
9
  Environmental,
11
10
  Logger,
@@ -14,12 +13,14 @@ import {
14
13
  Network,
15
14
  VariableService
16
15
  } from "#general";
17
- import { MdnsBroadcaster } from "../mdns/MdnsBroadcaster.js";
18
- import { MdnsScanner } from "../mdns/MdnsScanner.js";
16
+ import { MdnsServer } from "../mdns/MdnsServer.js";
17
+ import { MdnsClient } from "./MdnsClient.js";
18
+ import { MdnsSocket } from "./MdnsSocket.js";
19
19
  const logger = Logger.get("MDNS");
20
20
  class MdnsService {
21
- #broadcaster;
22
- #scanner;
21
+ #socket;
22
+ #server;
23
+ #client;
23
24
  #env;
24
25
  #construction;
25
26
  #enableIpv4;
@@ -29,6 +30,7 @@ class MdnsService {
29
30
  }
30
31
  constructor(environment, options) {
31
32
  this.#env = environment;
33
+ const network = environment.get(Network);
32
34
  const rootEnvironment = environment.root;
33
35
  rootEnvironment.set(MdnsService, this);
34
36
  rootEnvironment.runtime.add(this);
@@ -36,29 +38,22 @@ class MdnsService {
36
38
  this.#enableIpv4 = vars.boolean("mdns.ipv4") ?? options?.ipv4 ?? true;
37
39
  this.limitedToNetInterface = vars.get("mdns.networkInterface", options?.networkInterface);
38
40
  this.#construction = Construction(this, async () => {
39
- const crypto = environment.get(Crypto);
40
- const network = environment.get(Network);
41
- this.#broadcaster = await MdnsBroadcaster.create(crypto, network, {
42
- enableIpv4: this.enableIpv4,
43
- multicastInterface: this.limitedToNetInterface
44
- });
45
- this.#scanner = await MdnsScanner.create(network, {
41
+ this.#socket = await MdnsSocket.create(network, {
46
42
  enableIpv4: this.enableIpv4,
47
43
  netInterface: this.limitedToNetInterface
48
44
  });
45
+ this.#server = new MdnsServer(this.#socket);
46
+ this.#client = new MdnsClient(this.#socket);
49
47
  });
50
48
  }
51
49
  static [Environmental.create](environment) {
52
50
  return new this(environment);
53
51
  }
54
- createInstanceBroadcaster(port) {
55
- return this.broadcaster.createInstanceBroadcaster(port);
56
- }
57
- get broadcaster() {
58
- return this.#construction.assert("MDNS service", this.#broadcaster);
52
+ get server() {
53
+ return this.#construction.assert("MDNS service", this.#server);
59
54
  }
60
- get scanner() {
61
- return this.#construction.assert("MDNS service", this.#scanner);
55
+ get client() {
56
+ return this.#construction.assert("MDNS service", this.#client);
62
57
  }
63
58
  get [Diagnostic.value]() {
64
59
  return "MDNS";
@@ -70,20 +65,23 @@ class MdnsService {
70
65
  this.#env.delete(MdnsService, this);
71
66
  await this.#construction.close(async () => {
72
67
  const broadcasterDisposal = MaybePromise.then(
73
- this.#broadcaster?.close(),
68
+ this.#server?.close(),
74
69
  void 0,
75
- (e) => logger.error("Error disposing of MDNS broadcaster", e)
70
+ (e) => logger.error("Error disposing of MDNS server", e)
76
71
  );
77
72
  const scannerDisposal = MaybePromise.then(
78
- this.#scanner?.close(),
73
+ this.#client?.close(),
79
74
  void 0,
80
- (e) => logger.error("Error disposing of MDNS scanner", e)
75
+ (e) => logger.error("Error disposing of MDNS client", e)
81
76
  );
82
77
  await MatterAggregateError.allSettled(
83
78
  [broadcasterDisposal, scannerDisposal],
84
79
  "Error disposing MDNS services"
85
80
  ).catch((error) => logger.error(error));
86
- this.#broadcaster = this.#scanner = void 0;
81
+ if (this.#socket) {
82
+ await this.#socket?.close();
83
+ }
84
+ this.#server = this.#client = void 0;
87
85
  });
88
86
  }
89
87
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsService.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAE5B,MAAM,SAAS,OAAO,IAAI,MAAM;AAEzB,MAAM,YAAY;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EAET,IAAI,aAAa;AACb,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,aAA0B,SAA+B;AACjE,SAAK,OAAO;AACZ,UAAM,kBAAkB,YAAY;AACpC,oBAAgB,IAAI,aAAa,IAAI;AACrC,oBAAgB,QAAQ,IAAI,IAAI;AAEhC,UAAM,OAAO,YAAY,IAAI,eAAe;AAC5C,SAAK,cAAc,KAAK,QAAQ,WAAW,KAAK,SAAS,QAAQ;AACjE,SAAK,wBAAwB,KAAK,IAAI,yBAAyB,SAAS,gBAAgB;AAExF,SAAK,gBAAgB,aAAa,MAAM,YAAY;AAChD,YAAM,SAAS,YAAY,IAAI,MAAM;AACrC,YAAM,UAAU,YAAY,IAAI,OAAO;AAEvC,WAAK,eAAe,MAAM,gBAAgB,OAAO,QAAQ,SAAS;AAAA,QAC9D,YAAY,KAAK;AAAA,QACjB,oBAAoB,KAAK;AAAA,MAC7B,CAAC;AAED,WAAK,WAAW,MAAM,YAAY,OAAO,SAAS;AAAA,QAC9C,YAAY,KAAK;AAAA,QACjB,cAAc,KAAK;AAAA,MACvB,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,aAA0B;AACpD,WAAO,IAAI,KAAK,WAAW;AAAA,EAC/B;AAAA,EAEA,0BAA0B,MAAc;AACpC,WAAO,KAAK,YAAY,0BAA0B,IAAI;AAAA,EAC1D;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,cAAc,OAAO,gBAAgB,KAAK,YAAY;AAAA,EACtE;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,cAAc,OAAO,gBAAgB,KAAK,QAAQ;AAAA,EAClE;AAAA,EAEA,KAAK,WAAW,KAAK,IAAI;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAO,OAAO,YAAY,IAAI;AAC1B,SAAK,KAAK,OAAO,aAAa,IAAI;AAElC,UAAM,KAAK,cAAc,MAAM,YAAY;AACvC,YAAM,sBAAsB,aAAa;AAAA,QAAK,KAAK,cAAc,MAAM;AAAA,QAAG;AAAA,QAAW,OACjF,OAAO,MAAM,uCAAuC,CAAC;AAAA,MACzD;AAEA,YAAM,kBAAkB,aAAa;AAAA,QAAK,KAAK,UAAU,MAAM;AAAA,QAAG;AAAA,QAAW,OACzE,OAAO,MAAM,mCAAmC,CAAC;AAAA,MACrD;AAEA,YAAM,qBAAqB;AAAA,QACvB,CAAC,qBAAqB,eAAe;AAAA,QACrC;AAAA,MACJ,EAAE,MAAM,WAAS,OAAO,MAAM,KAAK,CAAC;AAEpC,WAAK,eAAe,KAAK,WAAW;AAAA,IACxC,CAAC;AAAA,EACL;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAE3B,MAAM,SAAS,OAAO,IAAI,MAAM;AAEzB,MAAM,YAAY;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EAET,IAAI,aAAa;AACb,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,YAAY,aAA0B,SAA+B;AACjE,SAAK,OAAO;AACZ,UAAM,UAAU,YAAY,IAAI,OAAO;AACvC,UAAM,kBAAkB,YAAY;AACpC,oBAAgB,IAAI,aAAa,IAAI;AACrC,oBAAgB,QAAQ,IAAI,IAAI;AAEhC,UAAM,OAAO,YAAY,IAAI,eAAe;AAC5C,SAAK,cAAc,KAAK,QAAQ,WAAW,KAAK,SAAS,QAAQ;AACjE,SAAK,wBAAwB,KAAK,IAAI,yBAAyB,SAAS,gBAAgB;AAExF,SAAK,gBAAgB,aAAa,MAAM,YAAY;AAChD,WAAK,UAAU,MAAM,WAAW,OAAO,SAAS;AAAA,QAC5C,YAAY,KAAK;AAAA,QACjB,cAAc,KAAK;AAAA,MACvB,CAAC;AAED,WAAK,UAAU,IAAI,WAAW,KAAK,OAAO;AAC1C,WAAK,UAAU,IAAI,WAAW,KAAK,OAAO;AAAA,IAC9C,CAAC;AAAA,EACL;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,aAA0B;AACpD,WAAO,IAAI,KAAK,WAAW;AAAA,EAC/B;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,cAAc,OAAO,gBAAgB,KAAK,OAAO;AAAA,EACjE;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK,cAAc,OAAO,gBAAgB,KAAK,OAAO;AAAA,EACjE;AAAA,EAEA,KAAK,WAAW,KAAK,IAAI;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAO,OAAO,YAAY,IAAI;AAC1B,SAAK,KAAK,OAAO,aAAa,IAAI;AAElC,UAAM,KAAK,cAAc,MAAM,YAAY;AACvC,YAAM,sBAAsB,aAAa;AAAA,QAAK,KAAK,SAAS,MAAM;AAAA,QAAG;AAAA,QAAW,OAC5E,OAAO,MAAM,kCAAkC,CAAC;AAAA,MACpD;AAEA,YAAM,kBAAkB,aAAa;AAAA,QAAK,KAAK,SAAS,MAAM;AAAA,QAAG;AAAA,QAAW,OACxE,OAAO,MAAM,kCAAkC,CAAC;AAAA,MACpD;AAEA,YAAM,qBAAqB;AAAA,QACvB,CAAC,qBAAqB,eAAe;AAAA,QACrC;AAAA,MACJ,EAAE,MAAM,WAAS,OAAO,MAAM,KAAK,CAAC;AAEpC,UAAI,KAAK,SAAS;AACd,cAAM,KAAK,SAAS,MAAM;AAAA,MAC9B;AAEA,WAAK,UAAU,KAAK,UAAU;AAAA,IAClC,CAAC;AAAA,EACL;AACJ;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BasicObservable, DnsMessage, DnsMessageType, Network, UdpMulticastServer } from "#general";
7
+ /**
8
+ * Manages the UDP socket for {@link MdnsServer} and {@link MdnsClient}.
9
+ */
10
+ export declare class MdnsSocket {
11
+ #private;
12
+ static create(network: Network, options?: {
13
+ enableIpv4?: boolean;
14
+ netInterface?: string;
15
+ }): Promise<MdnsSocket>;
16
+ constructor(socket: UdpMulticastServer);
17
+ get network(): Network;
18
+ get supportsIpv4(): boolean;
19
+ get netInterface(): string | undefined;
20
+ get receipt(): BasicObservable<[message: MdnsSocket.Message], void>;
21
+ send(message: Partial<DnsMessage> & {
22
+ messageType: DnsMessageType;
23
+ }, intf?: string, unicastDest?: string): Promise<void>;
24
+ close(): Promise<void>;
25
+ }
26
+ export declare namespace MdnsSocket {
27
+ interface Message extends DnsMessage {
28
+ sourceIp: string;
29
+ sourceIntf: string;
30
+ }
31
+ }
32
+ //# sourceMappingURL=MdnsSocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsSocket.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsSocket.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,eAAe,EAGf,UAAU,EAEV,cAAc,EAKd,OAAO,EACP,kBAAkB,EACrB,MAAM,UAAU,CAAC;AAKlB;;GAEG;AACH,qBAAa,UAAU;;WASN,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAcnF,MAAM,EAAE,kBAAkB;IAKtC,IAAI,OAAO,YAEV;IAED,IAAI,YAAY,YAEf;IAED,IAAI,YAAY,uBAEf;IAED,IAAI,OAAO,yDAEV;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAiExG,KAAK;CAmCd;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,OAAQ,SAAQ,UAAU;QACvC,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACtB;CACJ"}