@matter/protocol 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250812-285b75d83

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 (408) 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/ble/BleConsts.d.ts +2 -1
  65. package/dist/cjs/ble/BleConsts.d.ts.map +1 -1
  66. package/dist/cjs/ble/BleConsts.js +3 -1
  67. package/dist/cjs/ble/BleConsts.js.map +1 -1
  68. package/dist/cjs/codec/BtpCodec.d.ts +1 -1
  69. package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
  70. package/dist/cjs/codec/BtpCodec.js +4 -4
  71. package/dist/cjs/codec/BtpCodec.js.map +1 -1
  72. package/dist/cjs/common/Scanner.d.ts +1 -25
  73. package/dist/cjs/common/Scanner.d.ts.map +1 -1
  74. package/dist/cjs/common/Scanner.js +1 -18
  75. package/dist/cjs/common/Scanner.js.map +1 -1
  76. package/dist/cjs/common/SupportedTransportsBitmap.d.ts +33 -0
  77. package/dist/cjs/common/SupportedTransportsBitmap.d.ts.map +1 -0
  78. package/dist/cjs/common/SupportedTransportsBitmap.js +45 -0
  79. package/dist/cjs/common/SupportedTransportsBitmap.js.map +6 -0
  80. package/dist/cjs/common/index.d.ts +1 -1
  81. package/dist/cjs/common/index.d.ts.map +1 -1
  82. package/dist/cjs/common/index.js +1 -1
  83. package/dist/cjs/common/index.js.map +1 -1
  84. package/dist/cjs/fabric/Fabric.d.ts +1 -0
  85. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  86. package/dist/cjs/fabric/Fabric.js +7 -0
  87. package/dist/cjs/fabric/Fabric.js.map +1 -1
  88. package/dist/cjs/index.d.ts +1 -0
  89. package/dist/cjs/index.d.ts.map +1 -1
  90. package/dist/cjs/index.js +1 -0
  91. package/dist/cjs/index.js.map +1 -1
  92. package/dist/{esm/mdns/MdnsScanner.d.ts → cjs/mdns/MdnsClient.d.ts} +11 -14
  93. package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -0
  94. package/dist/cjs/mdns/{MdnsScanner.js → MdnsClient.js} +35 -90
  95. package/dist/cjs/mdns/MdnsClient.js.map +6 -0
  96. package/dist/cjs/mdns/MdnsConsts.d.ts +11 -2
  97. package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
  98. package/dist/cjs/mdns/MdnsConsts.js +31 -4
  99. package/dist/cjs/mdns/MdnsConsts.js.map +1 -1
  100. package/dist/cjs/mdns/MdnsServer.d.ts +13 -22
  101. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  102. package/dist/cjs/mdns/MdnsServer.js +53 -150
  103. package/dist/cjs/mdns/MdnsServer.js.map +2 -2
  104. package/dist/cjs/mdns/MdnsService.d.ts +4 -5
  105. package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
  106. package/dist/cjs/mdns/MdnsService.js +22 -23
  107. package/dist/cjs/mdns/MdnsService.js.map +1 -1
  108. package/dist/cjs/mdns/MdnsSocket.d.ts +32 -0
  109. package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -0
  110. package/dist/cjs/mdns/MdnsSocket.js +144 -0
  111. package/dist/cjs/mdns/MdnsSocket.js.map +6 -0
  112. package/dist/cjs/mdns/index.d.ts +2 -3
  113. package/dist/cjs/mdns/index.d.ts.map +1 -1
  114. package/dist/cjs/mdns/index.js +2 -3
  115. package/dist/cjs/mdns/index.js.map +1 -1
  116. package/dist/cjs/peer/ControllerCommissioner.js +2 -2
  117. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  118. package/dist/cjs/peer/ControllerDiscovery.d.ts +3 -3
  119. package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
  120. package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
  121. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  122. package/dist/cjs/peer/PeerSet.js +10 -5
  123. package/dist/cjs/peer/PeerSet.js.map +1 -1
  124. package/dist/cjs/protocol/DeviceAdvertiser.d.ts +23 -18
  125. package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
  126. package/dist/cjs/protocol/DeviceAdvertiser.js +130 -129
  127. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  128. package/dist/cjs/protocol/DeviceCommissioner.d.ts +0 -1
  129. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  130. package/dist/cjs/protocol/DeviceCommissioner.js +44 -44
  131. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  132. package/dist/cjs/protocol/ExchangeManager.js +1 -1
  133. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  134. package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
  135. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  136. package/dist/cjs/protocol/MessageExchange.js +6 -8
  137. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  138. package/dist/cjs/protocol/ProtocolHandler.d.ts +4 -0
  139. package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
  140. package/dist/cjs/protocol/ProtocolStatusMessage.d.ts +8 -4
  141. package/dist/cjs/protocol/ProtocolStatusMessage.d.ts.map +1 -1
  142. package/dist/cjs/protocol/ProtocolStatusMessage.js +23 -8
  143. package/dist/cjs/protocol/ProtocolStatusMessage.js.map +1 -1
  144. package/dist/cjs/securechannel/SecureChannelMessenger.js +2 -2
  145. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  146. package/dist/cjs/securechannel/SecureChannelProtocol.js +1 -1
  147. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  148. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +3 -3
  149. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -1
  150. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js +3 -3
  151. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js.map +1 -1
  152. package/dist/cjs/session/NodeSession.d.ts +1 -0
  153. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  154. package/dist/cjs/session/NodeSession.js +3 -0
  155. package/dist/cjs/session/NodeSession.js.map +1 -1
  156. package/dist/cjs/session/Session.d.ts +3 -33
  157. package/dist/cjs/session/Session.d.ts.map +1 -1
  158. package/dist/cjs/session/Session.js +4 -9
  159. package/dist/cjs/session/Session.js.map +1 -1
  160. package/dist/cjs/session/SessionIntervals.d.ts +36 -0
  161. package/dist/cjs/session/SessionIntervals.d.ts.map +1 -0
  162. package/dist/cjs/session/SessionIntervals.js +51 -0
  163. package/dist/cjs/session/SessionIntervals.js.map +6 -0
  164. package/dist/cjs/session/SessionManager.d.ts +1 -1
  165. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  166. package/dist/cjs/session/SessionManager.js +11 -12
  167. package/dist/cjs/session/SessionManager.js.map +1 -1
  168. package/dist/cjs/session/pase/PaseMessages.js +2 -2
  169. package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
  170. package/dist/esm/advertisement/Advertisement.d.ts +119 -0
  171. package/dist/esm/advertisement/Advertisement.d.ts.map +1 -0
  172. package/dist/esm/advertisement/Advertisement.js +247 -0
  173. package/dist/esm/advertisement/Advertisement.js.map +6 -0
  174. package/dist/esm/advertisement/Advertiser.d.ts +50 -0
  175. package/dist/esm/advertisement/Advertiser.d.ts.map +1 -0
  176. package/dist/esm/advertisement/Advertiser.js +61 -0
  177. package/dist/esm/advertisement/Advertiser.js.map +6 -0
  178. package/dist/esm/advertisement/CommissioningMode.d.ts +11 -0
  179. package/dist/esm/advertisement/CommissioningMode.d.ts.map +1 -0
  180. package/dist/esm/advertisement/CommissioningMode.js +15 -0
  181. package/dist/esm/advertisement/CommissioningMode.js.map +6 -0
  182. package/dist/esm/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
  183. package/dist/esm/advertisement/PairingHintBitmap.d.ts.map +1 -0
  184. package/dist/esm/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +2 -9
  185. package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map} +3 -3
  186. package/dist/esm/advertisement/ServiceDescription.d.ts +70 -0
  187. package/dist/esm/advertisement/ServiceDescription.d.ts.map +1 -0
  188. package/dist/esm/advertisement/ServiceDescription.js +41 -0
  189. package/dist/esm/advertisement/ServiceDescription.js.map +6 -0
  190. package/dist/esm/advertisement/ble/BleAdvertisement.d.ts +16 -0
  191. package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
  192. package/dist/esm/advertisement/ble/BleAdvertisement.js +65 -0
  193. package/dist/esm/advertisement/ble/BleAdvertisement.js.map +6 -0
  194. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +66 -0
  195. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
  196. package/dist/esm/advertisement/ble/BleAdvertiser.js +63 -0
  197. package/dist/esm/advertisement/ble/BleAdvertiser.js.map +6 -0
  198. package/dist/esm/advertisement/ble/index.d.ts +8 -0
  199. package/dist/esm/advertisement/ble/index.d.ts.map +1 -0
  200. package/dist/esm/advertisement/ble/index.js +8 -0
  201. package/dist/esm/advertisement/ble/index.js.map +6 -0
  202. package/dist/esm/advertisement/index.d.ts +13 -0
  203. package/dist/esm/advertisement/index.d.ts.map +1 -0
  204. package/dist/esm/advertisement/index.js +13 -0
  205. package/dist/esm/advertisement/index.js.map +6 -0
  206. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
  207. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
  208. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +95 -0
  209. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
  210. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
  211. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
  212. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js +54 -0
  213. package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
  214. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
  215. package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
  216. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +125 -0
  217. package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
  218. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
  219. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
  220. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +146 -0
  221. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
  222. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
  223. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
  224. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js +40 -0
  225. package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
  226. package/dist/esm/advertisement/mdns/index.d.ts +11 -0
  227. package/dist/esm/advertisement/mdns/index.d.ts.map +1 -0
  228. package/dist/esm/advertisement/mdns/index.js +11 -0
  229. package/dist/esm/advertisement/mdns/index.js.map +6 -0
  230. package/dist/esm/ble/Ble.d.ts +7 -5
  231. package/dist/esm/ble/Ble.d.ts.map +1 -1
  232. package/dist/esm/ble/Ble.js.map +1 -1
  233. package/dist/esm/ble/BleConsts.d.ts +2 -1
  234. package/dist/esm/ble/BleConsts.d.ts.map +1 -1
  235. package/dist/esm/ble/BleConsts.js +3 -1
  236. package/dist/esm/ble/BleConsts.js.map +1 -1
  237. package/dist/esm/codec/BtpCodec.d.ts +1 -1
  238. package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
  239. package/dist/esm/codec/BtpCodec.js +4 -4
  240. package/dist/esm/codec/BtpCodec.js.map +1 -1
  241. package/dist/esm/common/Scanner.d.ts +1 -25
  242. package/dist/esm/common/Scanner.d.ts.map +1 -1
  243. package/dist/esm/common/Scanner.js +1 -18
  244. package/dist/esm/common/Scanner.js.map +1 -1
  245. package/dist/esm/common/SupportedTransportsBitmap.d.ts +33 -0
  246. package/dist/esm/common/SupportedTransportsBitmap.d.ts.map +1 -0
  247. package/dist/esm/common/SupportedTransportsBitmap.js +25 -0
  248. package/dist/esm/common/SupportedTransportsBitmap.js.map +6 -0
  249. package/dist/esm/common/index.d.ts +1 -1
  250. package/dist/esm/common/index.d.ts.map +1 -1
  251. package/dist/esm/common/index.js +1 -1
  252. package/dist/esm/fabric/Fabric.d.ts +1 -0
  253. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  254. package/dist/esm/fabric/Fabric.js +7 -0
  255. package/dist/esm/fabric/Fabric.js.map +1 -1
  256. package/dist/esm/index.d.ts +1 -0
  257. package/dist/esm/index.d.ts.map +1 -1
  258. package/dist/esm/index.js +1 -0
  259. package/dist/esm/index.js.map +1 -1
  260. package/dist/{cjs/mdns/MdnsScanner.d.ts → esm/mdns/MdnsClient.d.ts} +11 -14
  261. package/dist/esm/mdns/MdnsClient.d.ts.map +1 -0
  262. package/dist/esm/mdns/{MdnsScanner.js → MdnsClient.js} +34 -92
  263. package/dist/esm/mdns/MdnsClient.js.map +6 -0
  264. package/dist/esm/mdns/MdnsConsts.d.ts +11 -2
  265. package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
  266. package/dist/esm/mdns/MdnsConsts.js +31 -4
  267. package/dist/esm/mdns/MdnsConsts.js.map +1 -1
  268. package/dist/esm/mdns/MdnsServer.d.ts +13 -22
  269. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  270. package/dist/esm/mdns/MdnsServer.js +55 -155
  271. package/dist/esm/mdns/MdnsServer.js.map +2 -2
  272. package/dist/esm/mdns/MdnsService.d.ts +4 -5
  273. package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
  274. package/dist/esm/mdns/MdnsService.js +22 -24
  275. package/dist/esm/mdns/MdnsService.js.map +1 -1
  276. package/dist/esm/mdns/MdnsSocket.d.ts +32 -0
  277. package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -0
  278. package/dist/esm/mdns/MdnsSocket.js +133 -0
  279. package/dist/esm/mdns/MdnsSocket.js.map +6 -0
  280. package/dist/esm/mdns/index.d.ts +2 -3
  281. package/dist/esm/mdns/index.d.ts.map +1 -1
  282. package/dist/esm/mdns/index.js +2 -3
  283. package/dist/esm/mdns/index.js.map +1 -1
  284. package/dist/esm/peer/ControllerCommissioner.js +2 -2
  285. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  286. package/dist/esm/peer/ControllerDiscovery.d.ts +3 -3
  287. package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
  288. package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
  289. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  290. package/dist/esm/peer/PeerSet.js +10 -5
  291. package/dist/esm/peer/PeerSet.js.map +1 -1
  292. package/dist/esm/protocol/DeviceAdvertiser.d.ts +23 -18
  293. package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
  294. package/dist/esm/protocol/DeviceAdvertiser.js +131 -139
  295. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  296. package/dist/esm/protocol/DeviceCommissioner.d.ts +0 -1
  297. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  298. package/dist/esm/protocol/DeviceCommissioner.js +47 -47
  299. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  300. package/dist/esm/protocol/ExchangeManager.js +1 -1
  301. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  302. package/dist/esm/protocol/MessageExchange.d.ts +1 -1
  303. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  304. package/dist/esm/protocol/MessageExchange.js +6 -12
  305. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  306. package/dist/esm/protocol/ProtocolHandler.d.ts +4 -0
  307. package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
  308. package/dist/esm/protocol/ProtocolStatusMessage.d.ts +8 -4
  309. package/dist/esm/protocol/ProtocolStatusMessage.d.ts.map +1 -1
  310. package/dist/esm/protocol/ProtocolStatusMessage.js +24 -9
  311. package/dist/esm/protocol/ProtocolStatusMessage.js.map +1 -1
  312. package/dist/esm/securechannel/SecureChannelMessenger.js +3 -3
  313. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  314. package/dist/esm/securechannel/SecureChannelProtocol.js +2 -2
  315. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  316. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +3 -3
  317. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -1
  318. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js +3 -3
  319. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js.map +1 -1
  320. package/dist/esm/session/NodeSession.d.ts +1 -0
  321. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  322. package/dist/esm/session/NodeSession.js +3 -0
  323. package/dist/esm/session/NodeSession.js.map +1 -1
  324. package/dist/esm/session/Session.d.ts +3 -33
  325. package/dist/esm/session/Session.d.ts.map +1 -1
  326. package/dist/esm/session/Session.js +4 -9
  327. package/dist/esm/session/Session.js.map +1 -1
  328. package/dist/esm/session/SessionIntervals.d.ts +36 -0
  329. package/dist/esm/session/SessionIntervals.d.ts.map +1 -0
  330. package/dist/esm/session/SessionIntervals.js +31 -0
  331. package/dist/esm/session/SessionIntervals.js.map +6 -0
  332. package/dist/esm/session/SessionManager.d.ts +1 -1
  333. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  334. package/dist/esm/session/SessionManager.js +10 -14
  335. package/dist/esm/session/SessionManager.js.map +1 -1
  336. package/dist/esm/session/pase/PaseMessages.js +1 -1
  337. package/package.json +6 -6
  338. package/src/advertisement/Advertisement.ts +348 -0
  339. package/src/advertisement/Advertiser.ts +83 -0
  340. package/src/advertisement/CommissioningMode.ts +11 -0
  341. package/src/{common/InstanceBroadcaster.ts → advertisement/PairingHintBitmap.ts} +1 -92
  342. package/src/advertisement/ServiceDescription.ts +110 -0
  343. package/src/advertisement/ble/BleAdvertisement.ts +90 -0
  344. package/src/advertisement/ble/BleAdvertiser.ts +116 -0
  345. package/src/advertisement/ble/index.ts +8 -0
  346. package/src/advertisement/index.ts +13 -0
  347. package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +118 -0
  348. package/src/advertisement/mdns/CommissionerMdnsAdvertisement.ts +73 -0
  349. package/src/advertisement/mdns/MdnsAdvertisement.ts +167 -0
  350. package/src/advertisement/mdns/MdnsAdvertiser.ts +248 -0
  351. package/src/advertisement/mdns/OperationalMdnsAdvertisement.ts +50 -0
  352. package/src/advertisement/mdns/index.ts +11 -0
  353. package/src/ble/Ble.ts +8 -5
  354. package/src/ble/BleConsts.ts +2 -1
  355. package/src/codec/BtpCodec.ts +4 -3
  356. package/src/common/Scanner.ts +1 -17
  357. package/src/common/SupportedTransportsBitmap.ts +25 -0
  358. package/src/common/index.ts +1 -1
  359. package/src/fabric/Fabric.ts +8 -0
  360. package/src/index.ts +1 -0
  361. package/src/mdns/{MdnsScanner.ts → MdnsClient.ts} +34 -103
  362. package/src/mdns/MdnsConsts.ts +27 -2
  363. package/src/mdns/MdnsServer.ts +76 -198
  364. package/src/mdns/MdnsService.ts +24 -27
  365. package/src/mdns/MdnsSocket.ts +179 -0
  366. package/src/mdns/index.ts +2 -3
  367. package/src/peer/ControllerCommissioner.ts +2 -2
  368. package/src/peer/ControllerDiscovery.ts +3 -3
  369. package/src/peer/PeerSet.ts +15 -9
  370. package/src/protocol/DeviceAdvertiser.ts +161 -151
  371. package/src/protocol/DeviceCommissioner.ts +65 -75
  372. package/src/protocol/ExchangeManager.ts +1 -1
  373. package/src/protocol/MessageExchange.ts +8 -14
  374. package/src/protocol/ProtocolHandler.ts +7 -0
  375. package/src/protocol/ProtocolStatusMessage.ts +26 -10
  376. package/src/securechannel/SecureChannelMessenger.ts +3 -3
  377. package/src/securechannel/SecureChannelProtocol.ts +2 -2
  378. package/src/securechannel/SecureChannelStatusMessageSchema.ts +3 -3
  379. package/src/session/NodeSession.ts +4 -0
  380. package/src/session/Session.ts +6 -42
  381. package/src/session/SessionIntervals.ts +57 -0
  382. package/src/session/SessionManager.ts +9 -13
  383. package/src/session/pase/PaseMessages.ts +1 -1
  384. package/dist/cjs/common/InstanceBroadcaster.d.ts.map +0 -1
  385. package/dist/cjs/common/InstanceBroadcaster.js.map +0 -6
  386. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +0 -34
  387. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +0 -1
  388. package/dist/cjs/mdns/MdnsBroadcaster.js +0 -365
  389. package/dist/cjs/mdns/MdnsBroadcaster.js.map +0 -6
  390. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
  391. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
  392. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +0 -87
  393. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +0 -6
  394. package/dist/cjs/mdns/MdnsScanner.d.ts.map +0 -1
  395. package/dist/cjs/mdns/MdnsScanner.js.map +0 -6
  396. package/dist/esm/common/InstanceBroadcaster.d.ts.map +0 -1
  397. package/dist/esm/mdns/MdnsBroadcaster.d.ts +0 -34
  398. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +0 -1
  399. package/dist/esm/mdns/MdnsBroadcaster.js +0 -378
  400. package/dist/esm/mdns/MdnsBroadcaster.js.map +0 -6
  401. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
  402. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
  403. package/dist/esm/mdns/MdnsInstanceBroadcaster.js +0 -67
  404. package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +0 -6
  405. package/dist/esm/mdns/MdnsScanner.d.ts.map +0 -1
  406. package/dist/esm/mdns/MdnsScanner.js.map +0 -6
  407. package/src/mdns/MdnsBroadcaster.ts +0 -451
  408. package/src/mdns/MdnsInstanceBroadcaster.ts +0 -88
@@ -4,16 +4,25 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { VendorId } from "#types";
7
+ export declare const MDNS_BROADCAST_IPV4 = "224.0.0.251";
8
+ export declare const MDNS_BROADCAST_IPV6 = "ff02::fb";
9
+ export declare const MDNS_BROADCAST_PORT = 5353;
7
10
  export declare const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
8
11
  export declare const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
9
12
  export declare const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
10
13
  export declare const MATTER_SERVICE_QNAME = "_matter._tcp.local";
14
+ export declare const DEFAULT_PAIRING_HINT: {
15
+ powerCycle: boolean;
16
+ deviceManual: boolean;
17
+ };
18
+ export declare const PAIRING_HINTS_REQUIRING_INSTRUCTION: ("powerCycle" | "deviceManufacturerUrl" | "administrator" | "settingsMenuOnNode" | "customInstruction" | "deviceManual" | "pressResetButton" | "pressResetButtonWithApplicationOfPower" | "pressRestButtonForNumberOfSeconds" | "pressResetButtonUntilLightBlinks" | "pressResetButtonForNumberOfSecondsWithApplicationOfPower" | "pressResetButtonUntilLightBlinksWithApplicationOfPower" | "pressResetButtonNumberOfTimes" | "pressSetupButton" | "pressSetupButtonWithApplicationOfPower" | "pressSetupButtonForNumberOfSeconds" | "pressSetupButtonUntilLightBlinks" | "pressSetupButtonForNumberOfSecondsWithApplicationOfPower" | "pressSetupButtonUntilLightBlinksWithApplicationOfPower" | "pressSetupButtonNumberOfTimes")[];
11
19
  export declare const getFabricQname: (operationalIdString: string) => string;
12
- export declare const getDeviceMatterQname: (operationalIdString: string, nodeIdString: string) => string;
20
+ export declare const getOperationalDeviceQname: (operationalIdString: string, nodeIdString: string) => string;
13
21
  export declare const getVendorQname: (vendorId: VendorId) => string;
14
22
  export declare const getDeviceTypeQname: (deviceType: number) => string;
15
23
  export declare const getShortDiscriminatorQname: (shortDiscriminator: number) => string;
16
24
  export declare const getLongDiscriminatorQname: (longDiscriminator: number) => string;
17
25
  export declare const getCommissioningModeQname: () => string;
18
- export declare const getDeviceInstanceQname: (instanceId: string) => string;
26
+ export declare const getCommissionableDeviceQname: (instanceId: string) => string;
27
+ export declare const getCommissionerDeviceQname: (instanceId: string) => string;
19
28
  //# sourceMappingURL=MdnsConsts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsConsts.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AACtE,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,eAAO,MAAM,cAAc,GAAI,qBAAqB,MAAM,WAA4D,CAAC;AACvH,eAAO,MAAM,oBAAoB,GAAI,qBAAqB,MAAM,EAAE,cAAc,MAAM,WAClB,CAAC;AACrE,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,WAA4D,CAAC;AAC9G,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,WAA8D,CAAC;AACpH,eAAO,MAAM,0BAA0B,GAAI,oBAAoB,MAAM,WACA,CAAC;AACtE,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,WACC,CAAC;AACrE,eAAO,MAAM,yBAAyB,cAAsD,CAAC;AAC7F,eAAO,MAAM,sBAAsB,GAAI,YAAY,MAAM,WAAuD,CAAC"}
1
+ {"version":3,"file":"MdnsConsts.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AACtE,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC;AAEF,eAAO,MAAM,mCAAmC,usBAY/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,qBAAqB,MAAM,WAA4D,CAAC;AACvH,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,MAAM,EAAE,cAAc,MAAM,WACvB,CAAC;AACrE,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,WAA4D,CAAC;AAC9G,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,WAA8D,CAAC;AACpH,eAAO,MAAM,0BAA0B,GAAI,oBAAoB,MAAM,WACA,CAAC;AACtE,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,WACC,CAAC;AACrE,eAAO,MAAM,yBAAyB,cAAsD,CAAC;AAC7F,eAAO,MAAM,4BAA4B,GAAI,YAAY,MAAM,WAAuD,CAAC;AACvH,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,WAAyD,CAAC"}
@@ -18,16 +18,22 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var MdnsConsts_exports = {};
20
20
  __export(MdnsConsts_exports, {
21
+ DEFAULT_PAIRING_HINT: () => DEFAULT_PAIRING_HINT,
21
22
  MATTER_COMMISSIONER_SERVICE_QNAME: () => MATTER_COMMISSIONER_SERVICE_QNAME,
22
23
  MATTER_COMMISSION_SERVICE_QNAME: () => MATTER_COMMISSION_SERVICE_QNAME,
23
24
  MATTER_SERVICE_QNAME: () => MATTER_SERVICE_QNAME,
25
+ MDNS_BROADCAST_IPV4: () => MDNS_BROADCAST_IPV4,
26
+ MDNS_BROADCAST_IPV6: () => MDNS_BROADCAST_IPV6,
27
+ MDNS_BROADCAST_PORT: () => MDNS_BROADCAST_PORT,
28
+ PAIRING_HINTS_REQUIRING_INSTRUCTION: () => PAIRING_HINTS_REQUIRING_INSTRUCTION,
24
29
  SERVICE_DISCOVERY_QNAME: () => SERVICE_DISCOVERY_QNAME,
30
+ getCommissionableDeviceQname: () => getCommissionableDeviceQname,
31
+ getCommissionerDeviceQname: () => getCommissionerDeviceQname,
25
32
  getCommissioningModeQname: () => getCommissioningModeQname,
26
- getDeviceInstanceQname: () => getDeviceInstanceQname,
27
- getDeviceMatterQname: () => getDeviceMatterQname,
28
33
  getDeviceTypeQname: () => getDeviceTypeQname,
29
34
  getFabricQname: () => getFabricQname,
30
35
  getLongDiscriminatorQname: () => getLongDiscriminatorQname,
36
+ getOperationalDeviceQname: () => getOperationalDeviceQname,
31
37
  getShortDiscriminatorQname: () => getShortDiscriminatorQname,
32
38
  getVendorQname: () => getVendorQname
33
39
  });
@@ -37,16 +43,37 @@ module.exports = __toCommonJS(MdnsConsts_exports);
37
43
  * Copyright 2022-2025 Matter.js Authors
38
44
  * SPDX-License-Identifier: Apache-2.0
39
45
  */
46
+ const MDNS_BROADCAST_IPV4 = "224.0.0.251";
47
+ const MDNS_BROADCAST_IPV6 = "ff02::fb";
48
+ const MDNS_BROADCAST_PORT = 5353;
40
49
  const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
41
50
  const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
42
51
  const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
43
52
  const MATTER_SERVICE_QNAME = "_matter._tcp.local";
53
+ const DEFAULT_PAIRING_HINT = {
54
+ powerCycle: true,
55
+ deviceManual: true
56
+ };
57
+ const PAIRING_HINTS_REQUIRING_INSTRUCTION = Array(
58
+ "customInstruction",
59
+ "pressRestButtonForNumberOfSeconds",
60
+ "pressResetButtonUntilLightBlinks",
61
+ "pressResetButtonForNumberOfSecondsWithApplicationOfPower",
62
+ "pressResetButtonUntilLightBlinksWithApplicationOfPower",
63
+ "pressResetButtonNumberOfTimes",
64
+ "pressSetupButtonForNumberOfSeconds",
65
+ "pressSetupButtonUntilLightBlinks",
66
+ "pressSetupButtonForNumberOfSecondsWithApplicationOfPower",
67
+ "pressSetupButtonUntilLightBlinksWithApplicationOfPower",
68
+ "pressSetupButtonNumberOfTimes"
69
+ );
44
70
  const getFabricQname = (operationalIdString) => `_I${operationalIdString}._sub.${MATTER_SERVICE_QNAME}`;
45
- const getDeviceMatterQname = (operationalIdString, nodeIdString) => `${operationalIdString}-${nodeIdString}.${MATTER_SERVICE_QNAME}`;
71
+ const getOperationalDeviceQname = (operationalIdString, nodeIdString) => `${operationalIdString}-${nodeIdString}.${MATTER_SERVICE_QNAME}`;
46
72
  const getVendorQname = (vendorId) => `_V${vendorId}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
47
73
  const getDeviceTypeQname = (deviceType) => `_T${deviceType}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
48
74
  const getShortDiscriminatorQname = (shortDiscriminator) => `_S${shortDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
49
75
  const getLongDiscriminatorQname = (longDiscriminator) => `_L${longDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
50
76
  const getCommissioningModeQname = () => `_CM._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
51
- const getDeviceInstanceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSION_SERVICE_QNAME}`;
77
+ const getCommissionableDeviceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSION_SERVICE_QNAME}`;
78
+ const getCommissionerDeviceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
52
79
  //# sourceMappingURL=MdnsConsts.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsConsts.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,0BAA0B;AAChC,MAAM,kCAAkC;AACxC,MAAM,oCAAoC;AAC1C,MAAM,uBAAuB;AAE7B,MAAM,iBAAiB,CAAC,wBAAgC,KAAK,mBAAmB,SAAS,oBAAoB;AAC7G,MAAM,uBAAuB,CAAC,qBAA6B,iBAC9D,GAAG,mBAAmB,IAAI,YAAY,IAAI,oBAAoB;AAC3D,MAAM,iBAAiB,CAAC,aAAuB,KAAK,QAAQ,SAAS,+BAA+B;AACpG,MAAM,qBAAqB,CAAC,eAAuB,KAAK,UAAU,SAAS,+BAA+B;AAC1G,MAAM,6BAA6B,CAAC,uBACvC,KAAK,kBAAkB,SAAS,+BAA+B;AAC5D,MAAM,4BAA4B,CAAC,sBACtC,KAAK,iBAAiB,SAAS,+BAA+B;AAC3D,MAAM,4BAA4B,MAAM,YAAY,+BAA+B;AACnF,MAAM,yBAAyB,CAAC,eAAuB,GAAG,UAAU,IAAI,+BAA+B;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAE5B,MAAM,0BAA0B;AAChC,MAAM,kCAAkC;AACxC,MAAM,oCAAoC;AAC1C,MAAM,uBAAuB;AAE7B,MAAM,uBAAuB;AAAA,EAChC,YAAY;AAAA,EACZ,cAAc;AAClB;AAEO,MAAM,sCAAsC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAEO,MAAM,iBAAiB,CAAC,wBAAgC,KAAK,mBAAmB,SAAS,oBAAoB;AAC7G,MAAM,4BAA4B,CAAC,qBAA6B,iBACnE,GAAG,mBAAmB,IAAI,YAAY,IAAI,oBAAoB;AAC3D,MAAM,iBAAiB,CAAC,aAAuB,KAAK,QAAQ,SAAS,+BAA+B;AACpG,MAAM,qBAAqB,CAAC,eAAuB,KAAK,UAAU,SAAS,+BAA+B;AAC1G,MAAM,6BAA6B,CAAC,uBACvC,KAAK,kBAAkB,SAAS,+BAA+B;AAC5D,MAAM,4BAA4B,CAAC,sBACtC,KAAK,iBAAiB,SAAS,+BAA+B;AAC3D,MAAM,4BAA4B,MAAM,YAAY,+BAA+B;AACnF,MAAM,+BAA+B,CAAC,eAAuB,GAAG,UAAU,IAAI,+BAA+B;AAC7G,MAAM,6BAA6B,CAAC,eAAuB,GAAG,UAAU,IAAI,iCAAiC;",
5
5
  "names": []
6
6
  }
@@ -3,31 +3,22 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { DnsRecord, Network, UdpMulticastServer } from "#general";
7
- export declare const MDNS_BROADCAST_IPV4 = "224.0.0.251";
8
- export declare const MDNS_BROADCAST_IPV6 = "ff02::fb";
9
- export declare const MDNS_BROADCAST_PORT = 5353;
10
- export declare enum AnnouncementType {
11
- Commissionable = 0,
12
- Operative = 1
13
- }
6
+ import { DnsRecord, NetworkInterfaceDetails } from "#general";
7
+ import { MdnsSocket } from "./MdnsSocket.js";
14
8
  export declare class MdnsServer {
15
9
  #private;
16
- static create(network: Network, options?: {
17
- enableIpv4?: boolean;
18
- netInterface?: string;
19
- }): Promise<MdnsServer>;
20
- constructor(network: Network, multicastServer: UdpMulticastServer, netInterface: string | undefined);
10
+ constructor(socket: MdnsSocket);
11
+ get network(): import("#general").Network;
12
+ get supportsIpv4(): boolean;
21
13
  buildDnsRecordKey(record: DnsRecord<any>, netInterface?: string, unicastTarget?: string): string;
22
- buildTypePortKey(type: AnnouncementType, port: number): string;
23
- isKeyForPort(key: string, port: number): boolean;
24
- announce(announcedNetPort?: number): Promise<void>;
25
- expireAnnouncements(options?: {
26
- announcedNetPort?: number;
27
- type?: AnnouncementType;
28
- forInstance?: string;
29
- }): Promise<void>;
30
- setRecordsGenerator(hostPort: number, type: AnnouncementType, generator: (netInterface: string) => Promise<DnsRecord<any>[]>): Promise<void>;
14
+ broadcast(...services: string[]): Promise<void>;
15
+ expireAnnouncements(...services: string[]): Promise<void>;
16
+ setRecordsGenerator(service: string, generator: MdnsServer.RecordGenerator): Promise<void>;
31
17
  close(): Promise<void>;
32
18
  }
19
+ export declare namespace MdnsServer {
20
+ interface RecordGenerator {
21
+ (intf: string, addrs: NetworkInterfaceDetails): DnsRecord[];
22
+ }
23
+ }
33
24
  //# sourceMappingURL=MdnsServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAOH,SAAS,EAMT,OAAO,EAEP,kBAAkB,EACrB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,oBAAY,gBAAgB;IACxB,cAAc,IAAA;IACd,SAAS,IAAA;CACZ;AAED,qBAAa,UAAU;;WACN,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAkCnF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS;IASnG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAIvF,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM;IAIrD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAuKhC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM;IAgBlC,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAsD1G,mBAAmB,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAQ5D,KAAK;CAkBd"}
1
+ {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGH,SAAS,EAKT,uBAAuB,EAG1B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,qBAAa,UAAU;;gBAwBP,MAAM,EAAE,UAAU;IAK9B,IAAI,OAAO,+BAEV;IAED,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAgGjF,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAgB/B,mBAAmB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAyBzC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe;IAW1E,KAAK;CAkBd;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,eAAe;QAC5B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,SAAS,EAAE,CAAC;KAC/D;CACJ"}
@@ -18,10 +18,6 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var MdnsServer_exports = {};
20
20
  __export(MdnsServer_exports, {
21
- AnnouncementType: () => AnnouncementType,
22
- MDNS_BROADCAST_IPV4: () => MDNS_BROADCAST_IPV4,
23
- MDNS_BROADCAST_IPV6: () => MDNS_BROADCAST_IPV6,
24
- MDNS_BROADCAST_PORT: () => MDNS_BROADCAST_PORT,
25
21
  MdnsServer: () => MdnsServer
26
22
  });
27
23
  module.exports = __toCommonJS(MdnsServer_exports);
@@ -32,70 +28,43 @@ var import_general = require("#general");
32
28
  * SPDX-License-Identifier: Apache-2.0
33
29
  */
34
30
  const logger = import_general.Logger.get("MdnsServer");
35
- const MDNS_BROADCAST_IPV4 = "224.0.0.251";
36
- const MDNS_BROADCAST_IPV6 = "ff02::fb";
37
- const MDNS_BROADCAST_PORT = 5353;
38
- var AnnouncementType = /* @__PURE__ */ ((AnnouncementType2) => {
39
- AnnouncementType2[AnnouncementType2["Commissionable"] = 0] = "Commissionable";
40
- AnnouncementType2[AnnouncementType2["Operative"] = 1] = "Operative";
41
- return AnnouncementType2;
42
- })(AnnouncementType || {});
43
31
  class MdnsServer {
44
- static async create(network, options) {
45
- const { enableIpv4 = true, netInterface } = options ?? {};
46
- return new MdnsServer(
47
- network,
48
- await import_general.UdpMulticastServer.create({
49
- network,
50
- netInterface,
51
- broadcastAddressIpv4: enableIpv4 ? MDNS_BROADCAST_IPV4 : void 0,
52
- broadcastAddressIpv6: MDNS_BROADCAST_IPV6,
53
- listeningPort: MDNS_BROADCAST_PORT
54
- }),
55
- netInterface
56
- );
57
- }
32
+ #observers = new import_general.ObserverGroup();
58
33
  #recordsGenerator = /* @__PURE__ */ new Map();
59
34
  #records = new import_general.AsyncCache(
60
35
  "MDNS discovery",
61
36
  async (multicastInterface) => {
62
- const portTypeMap = /* @__PURE__ */ new Map();
63
- for (const [announceTypePort, generator] of this.#recordsGenerator) {
64
- portTypeMap.set(announceTypePort, await generator(multicastInterface));
37
+ const serviceRecords = /* @__PURE__ */ new Map();
38
+ const addrs = await this.network.getIpMac(multicastInterface);
39
+ if (addrs === void 0) {
40
+ return serviceRecords;
41
+ }
42
+ for (const [service, generator] of this.#recordsGenerator) {
43
+ serviceRecords.set(service, generator(multicastInterface, addrs));
65
44
  }
66
- return portTypeMap;
45
+ return serviceRecords;
67
46
  },
68
47
  15 * 60 * 1e3
69
48
  );
70
49
  #recordLastSentAsMulticastAnswer = /* @__PURE__ */ new Map();
71
- #recordLastSentAsUnicastAnswer = /* @__PURE__ */ new Map();
72
- #network;
73
- #multicastServer;
74
- #netInterface;
75
- constructor(network, multicastServer, netInterface) {
76
- multicastServer.onMessage(
77
- (message, remoteIp, netInterface2) => void this.#handleDnsMessage(message, remoteIp, netInterface2)
78
- );
79
- this.#network = network;
80
- this.#multicastServer = multicastServer;
81
- this.#netInterface = netInterface;
50
+ #socket;
51
+ constructor(socket) {
52
+ this.#socket = socket;
53
+ this.#observers.on(this.#socket.receipt, this.#handleMessage.bind(this));
82
54
  }
83
- buildDnsRecordKey(record, netInterface, unicastTarget) {
84
- return `${record.name}-${record.recordClass}-${record.recordType}-${netInterface}-${unicastTarget}`;
55
+ get network() {
56
+ return this.#socket.network;
85
57
  }
86
- buildTypePortKey(type, port) {
87
- return `${port}-${type}`;
58
+ get supportsIpv4() {
59
+ return this.#socket.supportsIpv4;
88
60
  }
89
- isKeyForPort(key, port) {
90
- return key.startsWith(`${port}-`);
61
+ buildDnsRecordKey(record, netInterface, unicastTarget) {
62
+ return `${record.name}-${record.recordClass}-${record.recordType}-${netInterface}-${unicastTarget}`;
91
63
  }
92
- async #handleDnsMessage(messageBytes, remoteIp, netInterface) {
93
- if (netInterface === void 0) return;
94
- const records = await this.#records.get(netInterface);
64
+ async #handleMessage(message) {
65
+ const records = await this.#records.get(message.sourceIntf);
95
66
  if (records.size === 0) return;
96
- const message = import_general.DnsCodec.decode(messageBytes);
97
- if (message === void 0) return;
98
- const { transactionId, messageType, queries, answers: knownAnswers } = message;
67
+ const { sourceIntf, sourceIp, transactionId, messageType, queries, answers: knownAnswers } = message;
99
68
  if (messageType !== import_general.DnsMessageType.Query && messageType !== import_general.DnsMessageType.TruncatedQuery) return;
100
69
  if (queries.length === 0) return;
101
70
  for (const portRecords of records.values()) {
@@ -121,42 +90,33 @@ class MdnsServer {
121
90
  const now = import_general.Time.nowMs();
122
91
  let uniCastResponse = queries.filter((query) => !query.uniCastResponse).length === 0;
123
92
  const answersTimeSinceLastSent = answers.map((answer) => ({
124
- timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer, netInterface)) ?? 0),
125
- timeSinceLastUniCast: now - (this.#recordLastSentAsUnicastAnswer.get(this.buildDnsRecordKey(answer, netInterface, remoteIp)) ?? 0),
126
- ttl: answer.ttl
93
+ timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer, sourceIntf)) ?? 0),
94
+ ttl: answer.ttl * 1e3
127
95
  }));
128
- if (uniCastResponse && answersTimeSinceLastSent.some(
129
- ({ timeSinceLastMultiCast, ttl }) => timeSinceLastMultiCast > ttl / 4 * 1e3
130
- )) {
96
+ if (uniCastResponse && answersTimeSinceLastSent.some(({ timeSinceLastMultiCast, ttl }) => timeSinceLastMultiCast > ttl / 4)) {
131
97
  uniCastResponse = false;
132
98
  }
133
99
  if (!uniCastResponse) {
134
- answers = answers.filter((_, index) => answersTimeSinceLastSent[index].timeSinceLastMultiCast > 1e3);
135
- if (answers.length === 0) continue;
136
- answers.forEach(
137
- (answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, netInterface), now)
100
+ answers = answers.filter(
101
+ (_, index) => answersTimeSinceLastSent[index].timeSinceLastMultiCast >= 900
102
+ // The last time sent as multicast was more than 900 ms ago
138
103
  );
139
- } else {
140
- answers = answers.filter((_, index) => answersTimeSinceLastSent[index].timeSinceLastUniCast > 1e3);
141
104
  if (answers.length === 0) continue;
142
105
  answers.forEach(
143
- (answer) => this.#recordLastSentAsUnicastAnswer.set(
144
- this.buildDnsRecordKey(answer, netInterface, remoteIp),
145
- now
146
- )
106
+ (answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, sourceIntf), now)
147
107
  );
148
108
  }
149
- this.#sendRecords(
109
+ this.#socket.send(
150
110
  {
151
111
  messageType: import_general.DnsMessageType.Response,
152
112
  transactionId,
153
113
  answers,
154
114
  additionalRecords
155
115
  },
156
- netInterface,
157
- uniCastResponse ? remoteIp : void 0
116
+ sourceIntf,
117
+ uniCastResponse ? sourceIp : void 0
158
118
  ).catch((error) => {
159
- logger.warn(`Failed to send mDNS response to ${remoteIp}`, error);
119
+ logger.warn(`Failed to send mDNS response to ${sourceIp}`, error);
160
120
  });
161
121
  await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
162
122
  }
@@ -164,7 +124,7 @@ class MdnsServer {
164
124
  async #announceRecordsForInterface(netInterface, records) {
165
125
  const answers = records.filter(({ recordType }) => recordType === import_general.DnsRecordType.PTR);
166
126
  const additionalRecords = records.filter(({ recordType }) => recordType !== import_general.DnsRecordType.PTR);
167
- await this.#sendRecords(
127
+ await this.#socket.send(
168
128
  {
169
129
  messageType: import_general.DnsMessageType.Response,
170
130
  answers,
@@ -173,115 +133,58 @@ class MdnsServer {
173
133
  netInterface
174
134
  );
175
135
  }
176
- async #sendRecords(dnsMessageData, netInterface, unicastTarget) {
177
- const { answers = [], additionalRecords = [] } = dnsMessageData;
178
- const answersToSend = [...answers];
179
- const additionalRecordsToSend = [...additionalRecords];
180
- const dnsMessageDataToSend = {
181
- ...dnsMessageData,
182
- answers: [],
183
- additionalRecords: []
184
- };
185
- const emptyDnsMessage = import_general.DnsCodec.encode(dnsMessageDataToSend);
186
- let dnsMessageSize = emptyDnsMessage.length;
187
- while (true) {
188
- if (answersToSend.length > 0) {
189
- const nextAnswer = answersToSend.shift();
190
- if (nextAnswer === void 0) {
191
- break;
192
- }
193
- const nextAnswerEncoded = import_general.DnsCodec.encodeRecord(nextAnswer);
194
- dnsMessageSize += nextAnswerEncoded.length;
195
- if (dnsMessageSize > import_general.MAX_MDNS_MESSAGE_SIZE) {
196
- await this.#multicastServer.send(
197
- import_general.DnsCodec.encode(dnsMessageDataToSend),
198
- netInterface,
199
- unicastTarget
200
- );
201
- dnsMessageDataToSend.answers.length = 0;
202
- dnsMessageSize = emptyDnsMessage.length + nextAnswerEncoded.length;
203
- }
204
- dnsMessageDataToSend.answers.push(nextAnswerEncoded);
205
- } else {
206
- break;
207
- }
208
- }
209
- for (const additionalRecord of additionalRecordsToSend) {
210
- const additionalRecordEncoded = import_general.DnsCodec.encodeRecord(additionalRecord);
211
- dnsMessageSize += additionalRecordEncoded.length;
212
- if (dnsMessageSize > import_general.MAX_MDNS_MESSAGE_SIZE) {
213
- break;
214
- }
215
- dnsMessageDataToSend.additionalRecords.push(additionalRecordEncoded);
216
- }
217
- await this.#multicastServer.send(import_general.DnsCodec.encode(dnsMessageDataToSend), netInterface, unicastTarget);
218
- }
219
- async announce(announcedNetPort) {
136
+ async broadcast(...services) {
220
137
  await import_general.MatterAggregateError.allSettled(
221
138
  (await this.#getMulticastInterfacesForAnnounce()).map(async ({ name: netInterface }) => {
222
139
  const records = await this.#records.get(netInterface);
223
- for (const [portType, portTypeRecords] of records) {
224
- if (announcedNetPort !== void 0 && !this.isKeyForPort(portType, announcedNetPort)) continue;
225
- await this.#announceRecordsForInterface(netInterface, portTypeRecords);
140
+ for (const [service, serviceRecords] of records) {
141
+ if (services.length && !services.includes(service)) continue;
142
+ await this.#announceRecordsForInterface(netInterface, serviceRecords);
226
143
  await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
227
144
  }
228
145
  }),
229
- "Error happened when announcing MDNS messages"
146
+ "Error announcing MDNS messages"
230
147
  ).catch((error) => logger.error(error));
231
148
  }
232
- async expireAnnouncements(options) {
233
- const { announcedNetPort, type, forInstance: instanceToExpire } = options ?? {};
149
+ async expireAnnouncements(...services) {
234
150
  await import_general.MatterAggregateError.allSettled(
235
151
  this.#records.keys().map(async (netInterface) => {
236
152
  const records = await this.#records.get(netInterface);
237
- for (const [portType, portTypeRecords] of records) {
238
- if (announcedNetPort !== void 0 && !this.isKeyForPort(portType, announcedNetPort)) continue;
239
- if (announcedNetPort !== void 0 && type !== void 0 && portType !== this.buildTypePortKey(type, announcedNetPort))
240
- continue;
241
- const recordsToProcess = instanceToExpire !== void 0 ? portTypeRecords.filter(
242
- ({ forInstance }) => forInstance !== void 0 && instanceToExpire === forInstance
243
- ) : portTypeRecords;
153
+ for (const [service, serviceRecords] of records) {
154
+ if (services.length && !services.includes(service)) continue;
244
155
  const instanceSet = /* @__PURE__ */ new Set();
245
- recordsToProcess.forEach((record) => {
156
+ serviceRecords.forEach((record) => {
246
157
  record.ttl = 0;
247
158
  if (record.recordType === import_general.DnsRecordType.TXT) {
248
159
  instanceSet.add(record.name);
249
160
  }
250
161
  });
251
- const instanceName = instanceSet.size > 1 ? "multiple" : instanceSet.size === 1 ? Array.from(instanceSet.values())[0] : "";
252
- logger.debug(
253
- `Expiring records`,
254
- import_general.Diagnostic.dict({
255
- instanceName,
256
- port: announcedNetPort,
257
- netInterface
258
- })
259
- );
260
- await this.#announceRecordsForInterface(netInterface, portTypeRecords);
261
- this.#recordsGenerator.delete(portType);
162
+ await this.#announceRecordsForInterface(netInterface, serviceRecords);
163
+ this.#recordsGenerator.delete(service);
262
164
  await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
263
165
  }
264
166
  }),
265
167
  "Error happened when expiring MDNS announcements"
266
168
  ).catch((error) => logger.error(error));
169
+ await this.#resetServices();
170
+ }
171
+ async setRecordsGenerator(service, generator) {
267
172
  await this.#records.clear();
268
173
  this.#recordLastSentAsMulticastAnswer.clear();
269
- this.#recordLastSentAsUnicastAnswer.clear();
174
+ this.#recordsGenerator.set(service, generator);
270
175
  }
271
- async setRecordsGenerator(hostPort, type, generator) {
176
+ async #resetServices() {
272
177
  await this.#records.clear();
273
178
  this.#recordLastSentAsMulticastAnswer.clear();
274
- this.#recordLastSentAsUnicastAnswer.clear();
275
- this.#recordsGenerator.set(this.buildTypePortKey(type, hostPort), generator);
276
179
  }
277
180
  async close() {
181
+ this.#observers.close();
278
182
  await this.#records.close();
279
183
  this.#recordLastSentAsMulticastAnswer.clear();
280
- this.#recordLastSentAsUnicastAnswer.clear();
281
- await this.#multicastServer.close();
282
184
  }
283
185
  #getMulticastInterfacesForAnnounce() {
284
- return this.#netInterface === void 0 ? this.#network.getNetInterfaces() : [{ name: this.#netInterface }];
186
+ const { netInterface } = this.#socket;
187
+ return netInterface === void 0 ? this.network.getNetInterfaces() : [{ name: netInterface }];
285
188
  }
286
189
  #queryRecords({ name, recordType }, records) {
287
190
  if (recordType === import_general.DnsRecordType.ANY) {
@@ -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"}
@@ -22,8 +22,9 @@ __export(MdnsService_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(MdnsService_exports);
24
24
  var import_general = require("#general");
25
- var import_MdnsBroadcaster = require("../mdns/MdnsBroadcaster.js");
26
- var import_MdnsScanner = require("../mdns/MdnsScanner.js");
25
+ var import_MdnsServer = require("../mdns/MdnsServer.js");
26
+ var import_MdnsClient = require("./MdnsClient.js");
27
+ var import_MdnsSocket = require("./MdnsSocket.js");
27
28
  /**
28
29
  * @license
29
30
  * Copyright 2022-2025 Matter.js Authors
@@ -31,8 +32,9 @@ var import_MdnsScanner = require("../mdns/MdnsScanner.js");
31
32
  */
32
33
  const logger = import_general.Logger.get("MDNS");
33
34
  class MdnsService {
34
- #broadcaster;
35
- #scanner;
35
+ #socket;
36
+ #server;
37
+ #client;
36
38
  #env;
37
39
  #construction;
38
40
  #enableIpv4;
@@ -42,6 +44,7 @@ class MdnsService {
42
44
  }
43
45
  constructor(environment, options) {
44
46
  this.#env = environment;
47
+ const network = environment.get(import_general.Network);
45
48
  const rootEnvironment = environment.root;
46
49
  rootEnvironment.set(MdnsService, this);
47
50
  rootEnvironment.runtime.add(this);
@@ -49,29 +52,22 @@ class MdnsService {
49
52
  this.#enableIpv4 = vars.boolean("mdns.ipv4") ?? options?.ipv4 ?? true;
50
53
  this.limitedToNetInterface = vars.get("mdns.networkInterface", options?.networkInterface);
51
54
  this.#construction = (0, import_general.Construction)(this, async () => {
52
- const crypto = environment.get(import_general.Crypto);
53
- const network = environment.get(import_general.Network);
54
- this.#broadcaster = await import_MdnsBroadcaster.MdnsBroadcaster.create(crypto, network, {
55
- enableIpv4: this.enableIpv4,
56
- multicastInterface: this.limitedToNetInterface
57
- });
58
- this.#scanner = await import_MdnsScanner.MdnsScanner.create(network, {
55
+ this.#socket = await import_MdnsSocket.MdnsSocket.create(network, {
59
56
  enableIpv4: this.enableIpv4,
60
57
  netInterface: this.limitedToNetInterface
61
58
  });
59
+ this.#server = new import_MdnsServer.MdnsServer(this.#socket);
60
+ this.#client = new import_MdnsClient.MdnsClient(this.#socket);
62
61
  });
63
62
  }
64
63
  static [import_general.Environmental.create](environment) {
65
64
  return new this(environment);
66
65
  }
67
- createInstanceBroadcaster(port) {
68
- return this.broadcaster.createInstanceBroadcaster(port);
69
- }
70
- get broadcaster() {
71
- return this.#construction.assert("MDNS service", this.#broadcaster);
66
+ get server() {
67
+ return this.#construction.assert("MDNS service", this.#server);
72
68
  }
73
- get scanner() {
74
- return this.#construction.assert("MDNS service", this.#scanner);
69
+ get client() {
70
+ return this.#construction.assert("MDNS service", this.#client);
75
71
  }
76
72
  get [import_general.Diagnostic.value]() {
77
73
  return "MDNS";
@@ -83,20 +79,23 @@ class MdnsService {
83
79
  this.#env.delete(MdnsService, this);
84
80
  await this.#construction.close(async () => {
85
81
  const broadcasterDisposal = import_general.MaybePromise.then(
86
- this.#broadcaster?.close(),
82
+ this.#server?.close(),
87
83
  void 0,
88
- (e) => logger.error("Error disposing of MDNS broadcaster", e)
84
+ (e) => logger.error("Error disposing of MDNS server", e)
89
85
  );
90
86
  const scannerDisposal = import_general.MaybePromise.then(
91
- this.#scanner?.close(),
87
+ this.#client?.close(),
92
88
  void 0,
93
- (e) => logger.error("Error disposing of MDNS scanner", e)
89
+ (e) => logger.error("Error disposing of MDNS client", e)
94
90
  );
95
91
  await import_general.MatterAggregateError.allSettled(
96
92
  [broadcasterDisposal, scannerDisposal],
97
93
  "Error disposing MDNS services"
98
94
  ).catch((error) => logger.error(error));
99
- this.#broadcaster = this.#scanner = void 0;
95
+ if (this.#socket) {
96
+ await this.#socket?.close();
97
+ }
98
+ this.#server = this.#client = void 0;
100
99
  });
101
100
  }
102
101
  }