@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
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var advertisement_exports = {};
17
+ module.exports = __toCommonJS(advertisement_exports);
18
+ __reExport(advertisement_exports, require("./Advertisement.js"), module.exports);
19
+ __reExport(advertisement_exports, require("./Advertiser.js"), module.exports);
20
+ __reExport(advertisement_exports, require("./ble/index.js"), module.exports);
21
+ __reExport(advertisement_exports, require("./CommissioningMode.js"), module.exports);
22
+ __reExport(advertisement_exports, require("./mdns/index.js"), module.exports);
23
+ __reExport(advertisement_exports, require("./PairingHintBitmap.js"), module.exports);
24
+ __reExport(advertisement_exports, require("./ServiceDescription.js"), module.exports);
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2025 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/advertisement/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,kCAAc,+BANd;AAOA,kCAAc,4BAPd;AAQA,kCAAc,2BARd;AASA,kCAAc,mCATd;AAUA,kCAAc,4BAVd;AAWA,kCAAc,mCAXd;AAYA,kCAAc,oCAZd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Advertisement } from "#advertisement/Advertisement.js";
7
+ import { ServiceDescription } from "#advertisement/ServiceDescription.js";
8
+ import { MdnsAdvertisement } from "./MdnsAdvertisement.js";
9
+ import type { MdnsAdvertiser } from "./MdnsAdvertiser.js";
10
+ /**
11
+ * Advertise a node as commissionable.
12
+ */
13
+ export declare class CommissionableMdnsAdvertisement extends MdnsAdvertisement<ServiceDescription.Commissionable> {
14
+ #private;
15
+ instanceId: string;
16
+ constructor(advertiser: MdnsAdvertiser, description: ServiceDescription.Commissionable);
17
+ get ptrRecords(): import("#general").DnsRecord<string>[];
18
+ get txtValues(): Record<string, unknown>;
19
+ isDuplicate(other: Advertisement): other is Advertisement<ServiceDescription.Commissionable> | Advertisement<ServiceDescription.Commissioner>;
20
+ }
21
+ //# sourceMappingURL=CommissionableMdnsAdvertisement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommissionableMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAc1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IACrG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;IAWtF,IAAa,UAAU,2CA4BtB;IAED,IAAa,SAAS,4BA0BrB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAiB5C"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var CommissionableMdnsAdvertisement_exports = {};
20
+ __export(CommissionableMdnsAdvertisement_exports, {
21
+ CommissionableMdnsAdvertisement: () => CommissionableMdnsAdvertisement
22
+ });
23
+ module.exports = __toCommonJS(CommissionableMdnsAdvertisement_exports);
24
+ var import_PairingHintBitmap = require("#advertisement/PairingHintBitmap.js");
25
+ var import_general = require("#general");
26
+ var import_MdnsConsts = require("#mdns/MdnsConsts.js");
27
+ var import_MdnsAdvertisement = require("./MdnsAdvertisement.js");
28
+ /**
29
+ * @license
30
+ * Copyright 2022-2025 Matter.js Authors
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ class CommissionableMdnsAdvertisement extends import_MdnsAdvertisement.MdnsAdvertisement {
34
+ instanceId;
35
+ constructor(advertiser, description) {
36
+ const instanceId = advertiser.createInstanceId();
37
+ const qname = (0, import_MdnsConsts.getCommissionableDeviceQname)(instanceId);
38
+ super(advertiser, qname, description);
39
+ this.instanceId = instanceId;
40
+ this.#validatePairingInstructions();
41
+ }
42
+ get ptrRecords() {
43
+ const { discriminator, deviceType, vendorId } = this.description;
44
+ const shortDiscriminator = discriminator >> 8 & 15;
45
+ const vendorQname = (0, import_MdnsConsts.getVendorQname)(vendorId);
46
+ const deviceTypeQname = (0, import_MdnsConsts.getDeviceTypeQname)(deviceType);
47
+ const shortDiscriminatorQname = (0, import_MdnsConsts.getShortDiscriminatorQname)(shortDiscriminator);
48
+ const longDiscriminatorQname = (0, import_MdnsConsts.getLongDiscriminatorQname)(discriminator);
49
+ const commissionModeQname = (0, import_MdnsConsts.getCommissioningModeQname)();
50
+ const records = [
51
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, import_MdnsConsts.MATTER_COMMISSION_SERVICE_QNAME),
52
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, deviceTypeQname),
53
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, shortDiscriminatorQname),
54
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, longDiscriminatorQname),
55
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, commissionModeQname),
56
+ (0, import_general.PtrRecord)(import_MdnsConsts.MATTER_COMMISSION_SERVICE_QNAME, this.qname),
57
+ (0, import_general.PtrRecord)(deviceTypeQname, this.qname),
58
+ (0, import_general.PtrRecord)(shortDiscriminatorQname, this.qname),
59
+ (0, import_general.PtrRecord)(longDiscriminatorQname, this.qname),
60
+ (0, import_general.PtrRecord)(commissionModeQname, this.qname)
61
+ ];
62
+ if (!this.isPrivacyMasked) {
63
+ records.push((0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, vendorQname), (0, import_general.PtrRecord)(vendorQname, this.qname));
64
+ }
65
+ return records;
66
+ }
67
+ get txtValues() {
68
+ const {
69
+ vendorId,
70
+ productId,
71
+ deviceType,
72
+ name,
73
+ discriminator,
74
+ mode,
75
+ pairingHint = import_MdnsConsts.DEFAULT_PAIRING_HINT,
76
+ pairingInstructions
77
+ } = this.description;
78
+ const values = {
79
+ DN: name,
80
+ DT: deviceType,
81
+ D: discriminator,
82
+ CM: mode,
83
+ PH: import_PairingHintBitmap.PairingHintBitmapSchema.encode(pairingHint),
84
+ PI: pairingInstructions
85
+ };
86
+ if (!this.isPrivacyMasked) {
87
+ values.VP = `${vendorId}+${productId}`;
88
+ }
89
+ return values;
90
+ }
91
+ isDuplicate(other) {
92
+ return other.isCommissioning();
93
+ }
94
+ #validatePairingInstructions() {
95
+ const { pairingHint, pairingInstructions } = this.description;
96
+ const needsInstructions = pairingHint && import_MdnsConsts.PAIRING_HINTS_REQUIRING_INSTRUCTION.find((hint) => pairingHint[hint] === true);
97
+ if (needsInstructions && !pairingInstructions) {
98
+ throw new import_general.ImplementationError(
99
+ `Pairing instructions required for pairing hint of type "${needsInstructions}"`
100
+ );
101
+ }
102
+ }
103
+ }
104
+ //# sourceMappingURL=CommissionableMdnsAdvertisement.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAwC;AAExC,qBAA+C;AAC/C,wBAWO;AACP,+BAAkC;AAtBlC;AAAA;AAAA;AAAA;AAAA;AA4BO,MAAM,wCAAwC,2CAAqD;AAAA,EACtG;AAAA,EAEA,YAAY,YAA4B,aAAgD;AACpF,UAAM,aAAa,WAAW,iBAAiB;AAC/C,UAAM,YAAQ,gDAA6B,UAAU;AAErD,UAAM,YAAY,OAAO,WAAW;AAEpC,SAAK,aAAa;AAElB,SAAK,6BAA6B;AAAA,EACtC;AAAA,EAEA,IAAa,aAAa;AACtB,UAAM,EAAE,eAAe,YAAY,SAAS,IAAI,KAAK;AAErD,UAAM,qBAAsB,iBAAiB,IAAK;AAClD,UAAM,kBAAc,kCAAe,QAAQ;AAC3C,UAAM,sBAAkB,sCAAmB,UAAU;AACrD,UAAM,8BAA0B,8CAA2B,kBAAkB;AAC7E,UAAM,6BAAyB,6CAA0B,aAAa;AACtE,UAAM,0BAAsB,6CAA0B;AAEtD,UAAM,UAAU;AAAA,UACZ,0BAAU,2CAAyB,iDAA+B;AAAA,UAClE,0BAAU,2CAAyB,eAAe;AAAA,UAClD,0BAAU,2CAAyB,uBAAuB;AAAA,UAC1D,0BAAU,2CAAyB,sBAAsB;AAAA,UACzD,0BAAU,2CAAyB,mBAAmB;AAAA,UACtD,0BAAU,mDAAiC,KAAK,KAAK;AAAA,UACrD,0BAAU,iBAAiB,KAAK,KAAK;AAAA,UACrC,0BAAU,yBAAyB,KAAK,KAAK;AAAA,UAC7C,0BAAU,wBAAwB,KAAK,KAAK;AAAA,UAC5C,0BAAU,qBAAqB,KAAK,KAAK;AAAA,IAC7C;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,cAAQ,SAAK,0BAAU,2CAAyB,WAAW,OAAG,0BAAU,aAAa,KAAK,KAAK,CAAC;AAAA,IACpG;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAa,YAAY;AACrB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,IACJ,IAAI,KAAK;AAET,UAAM,SAAkC;AAAA,MACpC,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI,iDAAwB,OAAO,WAAW;AAAA,MAC9C,IAAI;AAAA,IACR;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,aAAO,KAAK,GAAG,QAAQ,IAAI,SAAS;AAAA,IACxC;AAEA,WAAO;AAAA,EACX;AAAA,EAES,YAAY,OAAsB;AAEvC,WAAO,MAAM,gBAAgB;AAAA,EACjC;AAAA,EAEA,+BAA+B;AAC3B,UAAM,EAAE,aAAa,oBAAoB,IAAI,KAAK;AAElD,UAAM,oBACF,eAAe,sDAAoC,KAAK,UAAQ,YAAY,IAAI,MAAM,IAAI;AAE9F,QAAI,qBAAqB,CAAC,qBAAqB;AAC3C,YAAM,IAAI;AAAA,QACN,2DAA2D,iBAAiB;AAAA,MAChF;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Advertisement } from "#advertisement/Advertisement.js";
7
+ import { ServiceDescription } from "#advertisement/ServiceDescription.js";
8
+ import { MdnsAdvertisement } from "./MdnsAdvertisement.js";
9
+ import type { MdnsAdvertiser } from "./MdnsAdvertiser.js";
10
+ /**
11
+ * Advertise a node as a commissioner service.
12
+ */
13
+ export declare class CommissionerMdnsAdvertisement extends MdnsAdvertisement<ServiceDescription.Commissioner> {
14
+ instanceId: string;
15
+ constructor(advertiser: MdnsAdvertiser, description: ServiceDescription.Commissioner);
16
+ get ptrRecords(): import("#general").DnsRecord<string>[];
17
+ get txtValues(): Record<string, unknown>;
18
+ isDuplicate(other: Advertisement): other is Advertisement<ServiceDescription.Commissionable> | Advertisement<ServiceDescription.Commissioner>;
19
+ }
20
+ //# sourceMappingURL=CommissionerMdnsAdvertisement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommissionerMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionerMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAO1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC;IACjG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,YAAY;IASpF,IAAa,UAAU,2CAmBtB;IAED,IAAa,SAAS,4BAarB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAI5C"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var CommissionerMdnsAdvertisement_exports = {};
20
+ __export(CommissionerMdnsAdvertisement_exports, {
21
+ CommissionerMdnsAdvertisement: () => CommissionerMdnsAdvertisement
22
+ });
23
+ module.exports = __toCommonJS(CommissionerMdnsAdvertisement_exports);
24
+ var import_general = require("#general");
25
+ var import_MdnsConsts = require("#mdns/MdnsConsts.js");
26
+ var import_MdnsAdvertisement = require("./MdnsAdvertisement.js");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2025 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ class CommissionerMdnsAdvertisement extends import_MdnsAdvertisement.MdnsAdvertisement {
33
+ instanceId;
34
+ constructor(advertiser, description) {
35
+ const instanceId = advertiser.createInstanceId();
36
+ const qname = (0, import_MdnsConsts.getCommissionerDeviceQname)(instanceId);
37
+ super(advertiser, qname, description);
38
+ this.instanceId = instanceId;
39
+ }
40
+ get ptrRecords() {
41
+ const { deviceType, vendorId } = this.description;
42
+ const vendorQname = `_V${vendorId}._sub.${import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME}`;
43
+ const records = [
44
+ (0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME),
45
+ (0, import_general.PtrRecord)(import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME, vendorQname),
46
+ (0, import_general.PtrRecord)(vendorQname, this.qname)
47
+ ];
48
+ if (deviceType !== void 0) {
49
+ const deviceTypeQname = `_T${deviceType}._sub.${import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME}`;
50
+ records.push((0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, deviceTypeQname));
51
+ records.push((0, import_general.PtrRecord)(deviceTypeQname, this.qname));
52
+ }
53
+ return records;
54
+ }
55
+ get txtValues() {
56
+ const { vendorId, productId, deviceType, name: deviceName } = this.description;
57
+ const values = {
58
+ DN: deviceName,
59
+ DT: deviceType
60
+ };
61
+ if (!this.isPrivacyMasked) {
62
+ values.VP = `${vendorId}+${productId}`;
63
+ }
64
+ return values;
65
+ }
66
+ isDuplicate(other) {
67
+ return other.isCommissioning();
68
+ }
69
+ }
70
+ //# sourceMappingURL=CommissionerMdnsAdvertisement.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/advertisement/mdns/CommissionerMdnsAdvertisement.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA0B;AAC1B,wBAIO;AACP,+BAAkC;AAdlC;AAAA;AAAA;AAAA;AAAA;AAoBO,MAAM,sCAAsC,2CAAmD;AAAA,EAClG;AAAA,EAEA,YAAY,YAA4B,aAA8C;AAClF,UAAM,aAAa,WAAW,iBAAiB;AAC/C,UAAM,YAAQ,8CAA2B,UAAU;AAEnD,UAAM,YAAY,OAAO,WAAW;AAEpC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,IAAa,aAAa;AACtB,UAAM,EAAE,YAAY,SAAS,IAAI,KAAK;AAEtC,UAAM,cAAc,KAAK,QAAQ,SAAS,mDAAiC;AAE3E,UAAM,UAAU;AAAA,UACZ,0BAAU,2CAAyB,mDAAiC;AAAA,UACpE,0BAAU,qDAAmC,WAAW;AAAA,UACxD,0BAAU,aAAa,KAAK,KAAK;AAAA,IACrC;AAEA,QAAI,eAAe,QAAW;AAC1B,YAAM,kBAAkB,KAAK,UAAU,SAAS,mDAAiC;AAEjF,cAAQ,SAAK,0BAAU,2CAAyB,eAAe,CAAC;AAChE,cAAQ,SAAK,0BAAU,iBAAiB,KAAK,KAAK,CAAC;AAAA,IACvD;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAa,YAAY;AACrB,UAAM,EAAE,UAAU,WAAW,YAAY,MAAM,WAAW,IAAI,KAAK;AAEnE,UAAM,SAAkC;AAAA,MACpC,IAAI;AAAA,MACJ,IAAI;AAAA,IACR;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,aAAO,KAAK,GAAG,QAAQ,IAAI,SAAS;AAAA,IACxC;AAEA,WAAO;AAAA,EACX;AAAA,EAES,YAAY,OAAsB;AAEvC,WAAO,MAAM,gBAAgB;AAAA,EACjC;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Advertisement } from "#advertisement/Advertisement.js";
7
+ import type { Advertiser } from "#advertisement/Advertiser.js";
8
+ import type { ServiceDescription } from "#advertisement/ServiceDescription.js";
9
+ import { DnsRecord } from "#general";
10
+ import type { MdnsAdvertiser } from "./MdnsAdvertiser.js";
11
+ /**
12
+ * Base class for MDNS advertisements.
13
+ *
14
+ * Individual classes specialize for each type of service.
15
+ */
16
+ export declare abstract class MdnsAdvertisement<T extends ServiceDescription = ServiceDescription> extends Advertisement<T> {
17
+ #private;
18
+ advertiser: MdnsAdvertiser;
19
+ /**
20
+ * The device qname.
21
+ */
22
+ qname: string;
23
+ constructor(advertiser: MdnsAdvertiser, qname: string, description: T);
24
+ protected abstract ptrRecords: DnsRecord[];
25
+ protected get txtValues(): Record<string, unknown>;
26
+ run(context: Advertisement.ActivityContext, event?: Advertiser.BroadcastEvent): Promise<void>;
27
+ /**
28
+ * Broadcast a single announcement immediately.
29
+ */
30
+ broadcast(): Promise<void>;
31
+ /**
32
+ * Broadcast expiration announcement immediately.
33
+ */
34
+ expire(): Promise<void>;
35
+ serviceConnected(): void;
36
+ serviceDisconnected(): void;
37
+ protected onCreate(): Promise<void>;
38
+ protected onClose(): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=MdnsAdvertisement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAuB,SAAS,EAA+D,MAAM,UAAU,CAAC;AAGvH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D;;;;GAIG;AACH,8BAAsB,iBAAiB,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;;IACvG,UAAU,EAAE,cAAc,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAKF,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAUrE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IAE3C,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjD;IAEc,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,GAAE,UAAU,CAAC,cAA0B;IAevG;;OAEG;IACG,SAAS;IASf;;OAEG;IACG,MAAM;IAKH,gBAAgB;IAehB,mBAAmB;cAIH,QAAQ;cASR,OAAO;CAsDnC"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var MdnsAdvertisement_exports = {};
20
+ __export(MdnsAdvertisement_exports, {
21
+ MdnsAdvertisement: () => MdnsAdvertisement
22
+ });
23
+ module.exports = __toCommonJS(MdnsAdvertisement_exports);
24
+ var import_Advertisement = require("#advertisement/Advertisement.js");
25
+ var import_SupportedTransportsBitmap = require("#common/SupportedTransportsBitmap.js");
26
+ var import_general = require("#general");
27
+ var import_SessionIntervals = require("#session/SessionIntervals.js");
28
+ /**
29
+ * @license
30
+ * Copyright 2022-2025 Matter.js Authors
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */
33
+ const logger = import_general.Logger.get("MdnsAdvertisement");
34
+ class MdnsAdvertisement extends import_Advertisement.Advertisement {
35
+ /**
36
+ * The device qname.
37
+ */
38
+ qname;
39
+ #isPrivacyMasked;
40
+ #stopAt;
41
+ constructor(advertiser, qname, description) {
42
+ description = {
43
+ ...description,
44
+ ...(0, import_SessionIntervals.SessionIntervals)(description)
45
+ };
46
+ super(advertiser, `mdns:${qname}`, description, { omitPrivateDetails: advertiser.omitPrivateDetails });
47
+ this.qname = qname;
48
+ this.#isPrivacyMasked = this.isPrivacyMasked;
49
+ }
50
+ get txtValues() {
51
+ return {};
52
+ }
53
+ async run(context, event = "startup") {
54
+ this.#stopAt = void 0;
55
+ let number = 0;
56
+ for (const retryInterval of this.advertiser.broadcastScheduleFor(this, event)) {
57
+ if (this.#stopAt !== void 0 && this.#stopAt <= import_general.Time.nowMs()) {
58
+ break;
59
+ }
60
+ number++;
61
+ logger.debug("Broadcast", this.dict({ number, next: retryInterval }));
62
+ await this.broadcast();
63
+ await context.sleep("MDNS repeat", retryInterval);
64
+ }
65
+ }
66
+ /**
67
+ * Broadcast a single announcement immediately.
68
+ */
69
+ async broadcast() {
70
+ if (!this.#isPrivacyMasked && this.isPrivacyMasked) {
71
+ this.#isPrivacyMasked = true;
72
+ await this.advertiser.server.setRecordsGenerator(this.service, this.#recordsGenerator);
73
+ }
74
+ await this.advertiser.server.broadcast(this.service);
75
+ }
76
+ /**
77
+ * Broadcast expiration announcement immediately.
78
+ */
79
+ async expire() {
80
+ logger.info("Unpublishing", this.dict({ time: this.duration }));
81
+ await this.advertiser.server.expireAnnouncements(this.service);
82
+ }
83
+ serviceConnected() {
84
+ const { broadcastAfterConnection } = this.advertiser.broadcastConfigFor(this);
85
+ if (broadcastAfterConnection === void 0) {
86
+ return;
87
+ }
88
+ if (broadcastAfterConnection <= 0) {
89
+ this.stop();
90
+ return;
91
+ }
92
+ this.#stopAt = import_general.Time.nowMs() + broadcastAfterConnection;
93
+ }
94
+ serviceDisconnected() {
95
+ this.start("reconnect");
96
+ }
97
+ async onCreate() {
98
+ await Promise.resolve().then(() => {
99
+ logger.info("Publishing", this.dict());
100
+ return this.advertiser.server.setRecordsGenerator(this.service, this.#recordsGenerator);
101
+ });
102
+ }
103
+ async onClose() {
104
+ await this.expire();
105
+ }
106
+ get #recordsGenerator() {
107
+ return (_intf, addrs) => this.#recordsFor(addrs);
108
+ }
109
+ #recordsFor(addrs) {
110
+ const hostname = addrs.mac.replace(/:/g, "").toUpperCase() + "0000.local";
111
+ const records = [
112
+ ...this.ptrRecords,
113
+ (0, import_general.SrvRecord)(this.qname, { priority: 0, weight: 0, port: this.advertiser.port, target: hostname }),
114
+ (0, import_general.TxtRecord)(
115
+ this.qname,
116
+ Object.entries(this.#txtValues).filter(([, v]) => v !== void 0).map(([k, v]) => `${k}=${v}`)
117
+ )
118
+ ];
119
+ for (const addr of addrs.ipV6) {
120
+ records.push((0, import_general.AAAARecord)(hostname, addr));
121
+ }
122
+ if (this.advertiser.server.supportsIpv4) {
123
+ for (const addr of addrs.ipV4) {
124
+ records.push((0, import_general.ARecord)(hostname, addr));
125
+ }
126
+ }
127
+ return records;
128
+ }
129
+ get #txtValues() {
130
+ const values = {
131
+ SII: this.description.idleIntervalMs,
132
+ SAI: this.description.activeIntervalMs,
133
+ SAT: this.description.activeThresholdMs,
134
+ ...this.txtValues
135
+ };
136
+ if (this.description.tcp !== void 0) {
137
+ values.T = import_SupportedTransportsBitmap.SupportedTransportsSchema.encode(this.description.tcp);
138
+ }
139
+ if (this.description.icd !== void 0) {
140
+ values.ICD = this.description.icd;
141
+ }
142
+ return values;
143
+ }
144
+ }
145
+ //# sourceMappingURL=MdnsAdvertisement.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/advertisement/mdns/MdnsAdvertisement.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Advertiser } from "#advertisement/Advertiser.js";
7
+ import { ServiceDescription } from "#advertisement/ServiceDescription.js";
8
+ import { Crypto, RetrySchedule } from "#general";
9
+ import type { MdnsServer } from "#mdns/MdnsServer.js";
10
+ import { DatatypeModel } from "#model";
11
+ import type { MdnsAdvertisement } from "./MdnsAdvertisement.js";
12
+ /**
13
+ * An {@link Advertiser} that advertises using an in-process MDNS implementation.
14
+ */
15
+ export declare class MdnsAdvertiser extends Advertiser {
16
+ #private;
17
+ readonly crypto: Crypto;
18
+ readonly server: MdnsServer;
19
+ readonly port: number;
20
+ readonly omitPrivateDetails: boolean;
21
+ constructor(crypto: Crypto, server: MdnsServer, options?: MdnsAdvertiser.Options);
22
+ /**
23
+ * Create an advertisement for the specific service.
24
+ */
25
+ getAdvertisement(description: ServiceDescription): MdnsAdvertisement | undefined;
26
+ /**
27
+ * Generate a random 8-byte Matter instance identifier.
28
+ */
29
+ createInstanceId(): string;
30
+ /**
31
+ * Retrieve the broadcast schedule for a specific advertisement.
32
+ */
33
+ broadcastScheduleFor(advertisement: MdnsAdvertisement, event?: Advertiser.BroadcastEvent): RetrySchedule;
34
+ /**
35
+ * Retrieve broadcast configuration for a specific advertisement.
36
+ */
37
+ broadcastConfigFor(advertisement: MdnsAdvertisement, event?: Advertiser.BroadcastEvent): MdnsAdvertiser.BroadcastSchedule;
38
+ }
39
+ export declare namespace MdnsAdvertiser {
40
+ /**
41
+ * MDNS advertisement configuration options.
42
+ */
43
+ interface Options {
44
+ /**
45
+ * The port of the Matter service to advertise.
46
+ *
47
+ * Defaults to 5540.
48
+ */
49
+ readonly port?: number;
50
+ /**
51
+ * Omit the vendor and product ID from announcements for privacy reasons.
52
+ */
53
+ readonly omitPrivateDetails?: boolean;
54
+ /**
55
+ * Broadcast schedule.
56
+ *
57
+ * These control the intervals at which the server broadcasts the advertisement. Note that order is important;
58
+ * more specific schedules should appear first.
59
+ *
60
+ * By default all broadcasts are configured using {@link DefaultBroadcastSchedule}.
61
+ */
62
+ readonly schedules?: readonly BroadcastSchedule[];
63
+ }
64
+ /**
65
+ * Schedule for automatic broadcasts.
66
+ *
67
+ * Schedules apply conditionally with {@link DefaultBroadcastSchedule} as the fallback.
68
+ */
69
+ interface BroadcastSchedule extends RetrySchedule.Configuration {
70
+ /**
71
+ * Limit this schedule to a particular service kind.
72
+ */
73
+ readonly serviceKind?: ServiceDescription["kind"];
74
+ /**
75
+ * Limit this schedule to initial broadcast or broadcast when reconnecting.
76
+ */
77
+ readonly event?: Advertiser.BroadcastEvent;
78
+ /**
79
+ * Extra time to broadcast after establishing an operational connection.
80
+ *
81
+ * Set to zero to terminate broadcast immediately after connection. If undefined broadcasts will continue until
82
+ * terminated by {@link timeout} or {@link maximumCount}.
83
+ */
84
+ readonly broadcastAfterConnection?: number;
85
+ }
86
+ /**
87
+ * Default schedule for automatic broadcast.
88
+ */
89
+ const DefaultBroadcastSchedule: BroadcastSchedule;
90
+ /**
91
+ * Default schedule for retransmission broadcast.
92
+ */
93
+ const RetransmissionBroadcastSchedule: BroadcastSchedule;
94
+ /**
95
+ * Data model for MDNS advertiser configuration.
96
+ */
97
+ const OptionsSchema: DatatypeModel;
98
+ }
99
+ //# sourceMappingURL=MdnsAdvertiser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsAdvertiser.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/MdnsAdvertiser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAS,MAAM,EAAsC,aAAa,EAAwB,MAAM,UAAU,CAAC;AAClH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAIrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;GAEG;AACH,qBAAa,cAAe,SAAQ,UAAU;;IAOtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAP/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;gBAKxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,UAAU,EAC3B,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO;IAkCpC;;OAEG;IACM,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,SAAS;IAqBzF;;OAEG;IACH,gBAAgB;IAIhB;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,cAAc;IAaxF;;OAEG;IACH,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,cAAc;CAyBzF;AAED,yBAAiB,cAAc,CAAC;IAC5B;;OAEG;IACH,UAAiB,OAAO;QACpB;;;;WAIG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAEtC;;;;;;;WAOG;QACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;KACrD;IAED;;;;OAIG;IACH,UAAiB,iBAAkB,SAAQ,aAAa,CAAC,aAAa;QAClE;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElD;;WAEG;QACH,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC;QAE3C;;;;;WAKG;QACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;KAC9C;IAED;;OAEG;IACI,MAAM,wBAAwB,EAAE,iBAmBtC,CAAC;IAEF;;OAEG;IACI,MAAM,+BAA+B,EAAE,iBAK7C,CAAC;IAEF;;OAEG;IACI,MAAM,aAAa,eAgBzB,CAAC;CACL"}