@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,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Fabric } from "#fabric/Fabric.js";
7
+ import { Advertisement } from "./Advertisement.js";
8
+ import type { ServiceDescription } from "./ServiceDescription.js";
9
+ /**
10
+ * A component that advertises a Matter service.
11
+ */
12
+ export declare abstract class Advertiser {
13
+ #private;
14
+ /**
15
+ * Begin advertising on configured schedule.
16
+ *
17
+ * Note that so long as the advertisement is installed the device will continue to respond to MDNS queries even if
18
+ * the advertisement schedule is elapsed.
19
+ *
20
+ * Returns undefined if the advertiser does not support this type of advertisement.
21
+ */
22
+ advertise(description: ServiceDescription, event: Advertiser.BroadcastEvent): Advertisement | undefined;
23
+ /**
24
+ * Create a new advertiser or retrieve existing advertiser.
25
+ */
26
+ protected abstract getAdvertisement(description: ServiceDescription): Advertisement | undefined;
27
+ /**
28
+ * Destroy the instance.
29
+ */
30
+ close(): Promise<void>;
31
+ /**
32
+ * The set of advertisements active for this advertiser.
33
+ */
34
+ get advertisements(): Set<Advertisement<ServiceDescription>>;
35
+ /**
36
+ * Obtain the active advertisement for {@link fabric}, if any.
37
+ */
38
+ advertisementForFabric(fabric: Fabric): Advertisement<ServiceDescription.Operational> | undefined;
39
+ /**
40
+ * Select advertisements using a predicate.
41
+ */
42
+ filter(predicate: (ad: Advertisement) => boolean): Advertisement<ServiceDescription>[];
43
+ }
44
+ export declare namespace Advertiser {
45
+ /**
46
+ * A hint for scheduling regarding why broadcast is initiated.
47
+ */
48
+ type BroadcastEvent = "startup" | "reconnect" | "retransmit";
49
+ }
50
+ //# sourceMappingURL=Advertiser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Advertiser.d.ts","sourceRoot":"","sources":["../../../src/advertisement/Advertiser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;GAEG;AACH,8BAAsB,UAAU;;IAI5B;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,CAAC,cAAc,GAAG,aAAa,GAAG,SAAS;IAavG;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,GAAG,SAAS;IAE/F;;OAEG;IACG,KAAK;IAKX;;OAEG;IACH,IAAI,cAAc,2CAEjB;IAED;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAQrC;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO;CAGnD;AAED,yBAAiB,UAAU,CAAC;IACxB;;OAEG;IACH,KAAY,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;CACvE"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Advertisement } from "./Advertisement.js";
7
+ class Advertiser {
8
+ #advertisements = /* @__PURE__ */ new Set();
9
+ #isClosed = false;
10
+ /**
11
+ * Begin advertising on configured schedule.
12
+ *
13
+ * Note that so long as the advertisement is installed the device will continue to respond to MDNS queries even if
14
+ * the advertisement schedule is elapsed.
15
+ *
16
+ * Returns undefined if the advertiser does not support this type of advertisement.
17
+ */
18
+ advertise(description, event) {
19
+ if (this.#isClosed) {
20
+ return;
21
+ }
22
+ const ad = this.getAdvertisement(description);
23
+ if (ad) {
24
+ ad.start(event);
25
+ }
26
+ return ad;
27
+ }
28
+ /**
29
+ * Destroy the instance.
30
+ */
31
+ async close() {
32
+ this.#isClosed = true;
33
+ await Advertisement.closeAll(this.#advertisements);
34
+ }
35
+ /**
36
+ * The set of advertisements active for this advertiser.
37
+ */
38
+ get advertisements() {
39
+ return this.#advertisements;
40
+ }
41
+ /**
42
+ * Obtain the active advertisement for {@link fabric}, if any.
43
+ */
44
+ advertisementForFabric(fabric) {
45
+ for (const ad of this.#advertisements) {
46
+ if (ad.isOperational() && ad.description.fabric === fabric) {
47
+ return ad;
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * Select advertisements using a predicate.
53
+ */
54
+ filter(predicate) {
55
+ return [...this.#advertisements].filter(predicate);
56
+ }
57
+ }
58
+ export {
59
+ Advertiser
60
+ };
61
+ //# sourceMappingURL=Advertiser.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/advertisement/Advertiser.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,qBAAqB;AAMvB,MAAe,WAAW;AAAA,EAC7B,kBAAkB,oBAAI,IAAmB;AAAA,EACzC,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUZ,UAAU,aAAiC,OAA6D;AACpG,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AAEA,UAAM,KAAK,KAAK,iBAAiB,WAAW;AAC5C,QAAI,IAAI;AACJ,SAAG,MAAM,KAAK;AAAA,IAClB;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,QAAQ;AACV,SAAK,YAAY;AACjB,UAAM,cAAc,SAAS,KAAK,eAAe;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB,QAAgB;AACnC,eAAW,MAAM,KAAK,iBAAiB;AACnC,UAAI,GAAG,cAAc,KAAK,GAAG,YAAY,WAAW,QAAQ;AACxD,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAA2C;AAC9C,WAAO,CAAC,GAAG,KAAK,eAAe,EAAE,OAAO,SAAS;AAAA,EACrD;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare enum CommissioningMode {
7
+ NotCommissioning = 0,
8
+ Basic = 1,
9
+ Enhanced = 2
10
+ }
11
+ //# sourceMappingURL=CommissioningMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommissioningMode.d.ts","sourceRoot":"","sources":["../../../src/advertisement/CommissioningMode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,iBAAiB;IACzB,gBAAgB,IAAI;IACpB,KAAK,IAAI;IACT,QAAQ,IAAI;CACf"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ var CommissioningMode = /* @__PURE__ */ ((CommissioningMode2) => {
7
+ CommissioningMode2[CommissioningMode2["NotCommissioning"] = 0] = "NotCommissioning";
8
+ CommissioningMode2[CommissioningMode2["Basic"] = 1] = "Basic";
9
+ CommissioningMode2[CommissioningMode2["Enhanced"] = 2] = "Enhanced";
10
+ return CommissioningMode2;
11
+ })(CommissioningMode || {});
12
+ export {
13
+ CommissioningMode
14
+ };
15
+ //# sourceMappingURL=CommissioningMode.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/advertisement/CommissioningMode.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,IAAK,oBAAL,kBAAKA,uBAAL;AACH,EAAAA,sCAAA,sBAAmB,KAAnB;AACA,EAAAA,sCAAA,WAAQ,KAAR;AACA,EAAAA,sCAAA,cAAW,KAAX;AAHQ,SAAAA;AAAA,GAAA;",
5
+ "names": ["CommissioningMode"]
6
+ }
@@ -3,8 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BitFlag, ProductDescription, TypeFromPartialBitSchema, VendorId } from "#types";
7
- import { Fabric } from "../fabric/Fabric.js";
6
+ import { BitFlag } from "@matter/types";
8
7
  export declare const PairingHintBitmap: {
9
8
  /**
10
9
  * The Device will automatically enter Commissioning Mode upon power cycle (unplug/re- plug, remove/re-insert
@@ -105,7 +104,7 @@ export declare const PairingHintBitmap: {
105
104
  */
106
105
  pressSetupButtonNumberOfTimes: BitFlag;
107
106
  };
108
- export declare const PairingHintBitmapSchema: import("#types").BitmapSchemaInternal<{
107
+ export declare const PairingHintBitmapSchema: import("@matter/types").BitmapSchemaInternal<{
109
108
  /**
110
109
  * The Device will automatically enter Commissioning Mode upon power cycle (unplug/re- plug, remove/re-insert
111
110
  * batteries). This bit SHALL be set to 1 for devices using Standard Commissioning Flow, and set to 0 otherwise.
@@ -205,69 +204,4 @@ export declare const PairingHintBitmapSchema: import("#types").BitmapSchemaInter
205
204
  */
206
205
  pressSetupButtonNumberOfTimes: BitFlag;
207
206
  }>;
208
- export interface CommissioningModeInstanceData extends ProductDescription {
209
- /** Device discriminator for commissionable announcements. */
210
- discriminator: number;
211
- /** Session Idle Interval of the device for commissionable announcements. */
212
- sessionIdleInterval?: number;
213
- /** Session Active Interval of the device for commissionable announcements. */
214
- sessionActiveInterval?: number;
215
- /** Duration of time the node should stay active after the last network activity. **/
216
- sessionActiveThreshold?: number;
217
- /** Pairing hint of the device for commissionable announcements. */
218
- pairingHint?: TypeFromPartialBitSchema<typeof PairingHintBitmap>;
219
- /** Pairing instruction of the device for commissionable announcements. */
220
- pairingInstructions?: string;
221
- }
222
- export type CommissionerInstanceData = {
223
- /** Device name for commissionable announcements. */
224
- deviceName: string;
225
- /** Device type for commissionable announcements. */
226
- vendorId: VendorId;
227
- /** Vendor ID for commissionable announcements. */
228
- productId: number;
229
- /** Device type for commissionable announcements. */
230
- deviceType?: number;
231
- /** Session Idle Interval of the device for commissionable announcements. */
232
- sessionIdleInterval?: number;
233
- /** Session Active Interval of the device for commissionable announcements. */
234
- sessionActiveInterval?: number;
235
- /** This key defines the duration of time the node stays Active after the last network activity. **/
236
- sessionActiveThreshold?: number;
237
- };
238
- export type OperationalInstanceData = {
239
- /** Session Idle Interval of the device for operational announcements. */
240
- sessionIdleInterval?: number;
241
- /** Session Active Interval of the device for operational announcements. */
242
- sessionActiveInterval?: number;
243
- /** This key defines the duration of time the node stays Active after the last network activity. **/
244
- sessionActiveThreshold?: number;
245
- };
246
- export declare enum CommissioningMode {
247
- NotCommissioning = 0,
248
- Basic = 1,
249
- Enhanced = 2
250
- }
251
- /** Interface for classes that allow to announce one Matter instance. */
252
- export interface InstanceBroadcaster {
253
- /** Set a commissionable mode and details to announce a commissionable device. */
254
- setCommissionMode(mode: CommissioningMode, deviceData: CommissioningModeInstanceData): Promise<void>;
255
- /**
256
- * Set operational details to Announce an operational device which is already commissioned.
257
- * Use expireCommissioningAnnouncements = true when Fabrics are changed after a n commissioning process.
258
- */
259
- setFabrics(fabrics: Fabric[], expireCommissioningAnnouncements?: boolean): Promise<void>;
260
- /** Set commissioner details to announce a commissioner service for User directed commissioning (UDC). */
261
- setCommissionerInfo(commissionerData: CommissionerInstanceData): Promise<void>;
262
- /** Send out announcements for this instance. */
263
- announce(): Promise<void>;
264
- /** Expire the announcement for this operative instance. */
265
- expireFabricAnnouncement(): Promise<void>;
266
- /** Expire the announcement for this commissioning instance. */
267
- expireCommissioningAnnouncement(): Promise<void>;
268
- /** Expire all announcements. */
269
- expireAllAnnouncements(): Promise<void>;
270
- /** Destroy the instance */
271
- close(): Promise<void>;
272
- }
273
- //# sourceMappingURL=InstanceBroadcaster.d.ts.map
207
+ //# sourceMappingURL=PairingHintBitmap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PairingHintBitmap.d.ts","sourceRoot":"","sources":["../../../src/advertisement/PairingHintBitmap.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,iBAAiB;IAC1B;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;CAEN,CAAC;AAEF,eAAO,MAAM,uBAAuB;IAvHhC;;;OAGG;;IAGH;;;;;OAKG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;;OAIG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;EAI+D,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BitFlag, BitmapSchema } from "#types";
6
+ import { BitFlag, BitmapSchema } from "@matter/types";
7
7
  const PairingHintBitmap = {
8
8
  /**
9
9
  * The Device will automatically enter Commissioning Mode upon power cycle (unplug/re- plug, remove/re-insert
@@ -105,15 +105,8 @@ const PairingHintBitmap = {
105
105
  pressSetupButtonNumberOfTimes: BitFlag(19)
106
106
  };
107
107
  const PairingHintBitmapSchema = BitmapSchema(PairingHintBitmap);
108
- var CommissioningMode = /* @__PURE__ */ ((CommissioningMode2) => {
109
- CommissioningMode2[CommissioningMode2["NotCommissioning"] = 0] = "NotCommissioning";
110
- CommissioningMode2[CommissioningMode2["Basic"] = 1] = "Basic";
111
- CommissioningMode2[CommissioningMode2["Enhanced"] = 2] = "Enhanced";
112
- return CommissioningMode2;
113
- })(CommissioningMode || {});
114
108
  export {
115
- CommissioningMode,
116
109
  PairingHintBitmap,
117
110
  PairingHintBitmapSchema
118
111
  };
119
- //# sourceMappingURL=InstanceBroadcaster.js.map
112
+ //# sourceMappingURL=PairingHintBitmap.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/common/InstanceBroadcaster.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAA4E;AAGvF,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,YAAY,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,uBAAuB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,eAAe,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKxB,oBAAoB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,mBAAmB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKvB,kBAAkB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAK3B,wCAAwC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,mCAAmC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,kCAAkC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAKzC,kBAAkB,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAK5B,wCAAwC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlD,oCAAoC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,kCAAkC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAC7C;AAEO,MAAM,0BAA0B,aAAa,iBAAiB;AAwD9D,IAAK,oBAAL,kBAAKA,uBAAL;AACH,EAAAA,sCAAA,sBAAmB,KAAnB;AACA,EAAAA,sCAAA,WAAQ,KAAR;AACA,EAAAA,sCAAA,cAAW,KAAX;AAHQ,SAAAA;AAAA,GAAA;",
5
- "names": ["CommissioningMode"]
3
+ "sources": ["../../../src/advertisement/PairingHintBitmap.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,SAAS,oBAAoB;AAE/B,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,YAAY,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,uBAAuB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,eAAe,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKxB,oBAAoB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,mBAAmB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,cAAc,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKvB,kBAAkB,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAK3B,wCAAwC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,mCAAmC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,kCAAkC,QAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAKzC,kBAAkB,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAK5B,wCAAwC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlD,oCAAoC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,kCAAkC,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,0DAA0D,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,wDAAwD,QAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,+BAA+B,QAAQ,EAAE;AAC7C;AAEO,MAAM,0BAA0B,aAAa,iBAAiB;",
5
+ "names": []
6
6
  }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { PairingHintBitmap } from "#advertisement/PairingHintBitmap.js";
7
+ import { SupportedTransportsBitmap } from "#common/SupportedTransportsBitmap.js";
8
+ import type { Fabric } from "#fabric/Fabric.js";
9
+ import { SessionIntervals } from "#session/SessionIntervals.js";
10
+ import type { ProductDescription, TypeFromPartialBitSchema } from "@matter/types";
11
+ import { IcdManagement } from "@matter/types/clusters/icd-management";
12
+ import { CommissioningMode } from "./CommissioningMode.js";
13
+ export type ServiceDescription = ServiceDescription.Operational | ServiceDescription.Commissionable | ServiceDescription.Commissioner;
14
+ export declare namespace ServiceDescription {
15
+ function isCommissioning(description: ServiceDescription): description is Commissionable | Commissioner;
16
+ function isOperational(description: ServiceDescription): description is Operational;
17
+ interface Base extends Partial<SessionIntervals> {
18
+ /**
19
+ * The IP port for the Matter protocol.
20
+ */
21
+ port?: number;
22
+ /**
23
+ * Indicate support for TCP.
24
+ */
25
+ tcp?: SupportedTransportsBitmap;
26
+ /**
27
+ * Indicate support for ICD.
28
+ */
29
+ icd?: IcdManagement.OperatingMode;
30
+ }
31
+ interface Commissionable extends Base, ProductDescription {
32
+ readonly kind: "commissionable";
33
+ /**
34
+ * The commissioning mode.
35
+ */
36
+ readonly mode: CommissioningMode;
37
+ /**
38
+ * Device discriminator for commissionable announcements.
39
+ */
40
+ readonly discriminator: number;
41
+ /**
42
+ * Pairing hint of the device for commissionable announcements.
43
+ */
44
+ readonly pairingHint?: TypeFromPartialBitSchema<typeof PairingHintBitmap>;
45
+ /**
46
+ * Pairing instruction of the device for commissionable announcements.
47
+ */
48
+ readonly pairingInstructions?: string;
49
+ }
50
+ function Commissionable(definition: Omit<Commissionable, "kind">): Commissionable;
51
+ interface Operational extends Base {
52
+ readonly kind: "operational";
53
+ /**
54
+ * The advertised fabric.
55
+ */
56
+ readonly fabric: Fabric;
57
+ }
58
+ function Operational(definition: Omit<Operational, "kind">): Operational;
59
+ interface Commissioner extends Omit<ProductDescription, "deviceType">, Base {
60
+ readonly kind: "commissioner";
61
+ /**
62
+ * The device type.
63
+ *
64
+ * This is optional for commissioner advertisement.
65
+ */
66
+ readonly deviceType?: number;
67
+ }
68
+ function Commissioner(definition: Omit<Commissioner, "kind">): Commissioner;
69
+ }
70
+ //# sourceMappingURL=ServiceDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceDescription.d.ts","sourceRoot":"","sources":["../../../src/advertisement/ServiceDescription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GACxB,kBAAkB,CAAC,WAAW,GAC9B,kBAAkB,CAAC,cAAc,GACjC,kBAAkB,CAAC,YAAY,CAAC;AAEtC,yBAAiB,kBAAkB,CAAC;IAChC,SAAgB,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW,IAAI,cAAc,GAAG,YAAY,CAE7G;IAED,SAAgB,aAAa,CAAC,WAAW,EAAE,kBAAkB,GAAG,WAAW,IAAI,WAAW,CAEzF;IAED,UAAiB,IAAK,SAAQ,OAAO,CAAC,gBAAgB,CAAC;QACnD;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAEhC;;WAEG;QACH,GAAG,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;KACrC;IAED,UAAiB,cAAe,SAAQ,IAAI,EAAE,kBAAkB;QAC5D,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAEhC;;WAEG;QACH,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAEjC;;WAEG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;WAEG;QACH,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,CAAC;QAE1E;;WAEG;QACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KACzC;IAED,SAAgB,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,cAAc,CAKvF;IAED,UAAiB,WAAY,SAAQ,IAAI;QACrC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;QAE7B;;WAEG;QACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC3B;IAED,SAAgB,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,WAAW,CAK9E;IAED,UAAiB,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC,EAAE,IAAI;QAC9E,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAE9B;;;;WAIG;QACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KAChC;IAED,SAAgB,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,YAAY,CAKjF;CACJ"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ var ServiceDescription;
7
+ ((ServiceDescription2) => {
8
+ function isCommissioning(description) {
9
+ return description.kind === "commissionable" || description.kind === "commissioner";
10
+ }
11
+ ServiceDescription2.isCommissioning = isCommissioning;
12
+ function isOperational(description) {
13
+ return description.kind === "operational";
14
+ }
15
+ ServiceDescription2.isOperational = isOperational;
16
+ function Commissionable(definition) {
17
+ return {
18
+ ...definition,
19
+ kind: "commissionable"
20
+ };
21
+ }
22
+ ServiceDescription2.Commissionable = Commissionable;
23
+ function Operational(definition) {
24
+ return {
25
+ ...definition,
26
+ kind: "operational"
27
+ };
28
+ }
29
+ ServiceDescription2.Operational = Operational;
30
+ function Commissioner(definition) {
31
+ return {
32
+ ...definition,
33
+ kind: "commissioner"
34
+ };
35
+ }
36
+ ServiceDescription2.Commissioner = Commissioner;
37
+ })(ServiceDescription || (ServiceDescription = {}));
38
+ export {
39
+ ServiceDescription
40
+ };
41
+ //# sourceMappingURL=ServiceDescription.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/advertisement/ServiceDescription.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,IAAU;AAAA,CAAV,CAAUA,wBAAV;AACI,WAAS,gBAAgB,aAA+E;AAC3G,WAAO,YAAY,SAAS,oBAAoB,YAAY,SAAS;AAAA,EACzE;AAFO,EAAAA,oBAAS;AAIT,WAAS,cAAc,aAA6D;AACvF,WAAO,YAAY,SAAS;AAAA,EAChC;AAFO,EAAAA,oBAAS;AA6CT,WAAS,eAAe,YAA0D;AACrF,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAgBT,WAAS,YAAY,YAAoD;AAC5E,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAkBT,WAAS,aAAa,YAAsD;AAC/E,WAAO;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AALO,EAAAA,oBAAS;AAAA,GApFH;",
5
+ "names": ["ServiceDescription"]
6
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Advertisement } from "../Advertisement.js";
7
+ import { ServiceDescription } from "../ServiceDescription.js";
8
+ import type { BleAdvertiser } from "./BleAdvertiser.js";
9
+ export declare class BleAdvertisement extends Advertisement<ServiceDescription.Commissionable> {
10
+ #private;
11
+ advertiser: BleAdvertiser;
12
+ constructor(advertiser: BleAdvertiser, description: ServiceDescription.Commissionable);
13
+ protected run(context: Advertisement.ActivityContext): Promise<void>;
14
+ isDuplicate(): boolean;
15
+ }
16
+ //# sourceMappingURL=BleAdvertisement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BleAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/ble/BleAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IAC1E,UAAU,EAAE,aAAa,CAAC;gBAEtB,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;cAI5D,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe;IA0DnE,WAAW;CAId"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BtpCodec } from "#codec/BtpCodec.js";
7
+ import { Advertisement } from "../Advertisement.js";
8
+ const EARLY_INTERVAL_SLEEP = 3e4;
9
+ const LATE_INTERVAL_SLEEP = 15 * 6e4 - EARLY_INTERVAL_SLEEP;
10
+ const EXTENDED_INTERVAL_SLEEP = 48 * 60 * 6e4 - LATE_INTERVAL_SLEEP;
11
+ class BleAdvertisement extends Advertisement {
12
+ constructor(advertiser, description) {
13
+ super(advertiser, "ble:commissioning", description);
14
+ }
15
+ async run(context) {
16
+ const {
17
+ peripheral,
18
+ config: { earlyInterval, lateInterval, extendedInterval }
19
+ } = this.advertiser;
20
+ let aad = this.advertiser.config.aad;
21
+ let timeout = this.advertiser.config.timeout;
22
+ let advertisementData = this.#encodedAdvertisement;
23
+ let isExtended = false;
24
+ const intervals = [
25
+ { sleepTime: EARLY_INTERVAL_SLEEP, broadcastInterval: earlyInterval },
26
+ { sleepTime: LATE_INTERVAL_SLEEP, broadcastInterval: lateInterval },
27
+ { sleepTime: EXTENDED_INTERVAL_SLEEP, broadcastInterval: extendedInterval }
28
+ ];
29
+ try {
30
+ for (const { sleepTime, broadcastInterval } of intervals) {
31
+ if (!isExtended && this.isPrivacyMasked) {
32
+ isExtended = true;
33
+ advertisementData = this.#encodedAdvertisement;
34
+ aad = void 0;
35
+ }
36
+ await peripheral.advertise(advertisementData, aad, broadcastInterval);
37
+ await context.sleep("BLE advertisement interval", Math.min(timeout, sleepTime));
38
+ timeout -= sleepTime;
39
+ if ((timeout -= sleepTime) <= 0) {
40
+ break;
41
+ }
42
+ }
43
+ } finally {
44
+ await peripheral.stopAdvertising();
45
+ }
46
+ }
47
+ get #encodedAdvertisement() {
48
+ const { discriminator, vendorId, productId } = this.description;
49
+ const { isPrivacyMasked: isExtendedAnnouncement } = this;
50
+ return BtpCodec.encodeBleAdvertisementData(
51
+ discriminator,
52
+ isExtendedAnnouncement ? 0 : vendorId,
53
+ isExtendedAnnouncement ? 0 : productId,
54
+ !isExtendedAnnouncement && !!this.advertiser.config.aad?.length,
55
+ isExtendedAnnouncement
56
+ );
57
+ }
58
+ isDuplicate() {
59
+ return true;
60
+ }
61
+ }
62
+ export {
63
+ BleAdvertisement
64
+ };
65
+ //# sourceMappingURL=BleAdvertisement.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/advertisement/ble/BleAdvertisement.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAK9B,MAAM,uBAAuB;AAG7B,MAAM,sBAAsB,KAAK,MAAS;AAG1C,MAAM,0BAA0B,KAAK,KAAK,MAAS;AAE5C,MAAM,yBAAyB,cAAiD;AAAA,EAGnF,YAAY,YAA2B,aAAgD;AACnF,UAAM,YAAY,qBAAqB,WAAW;AAAA,EACtD;AAAA,EAEA,MAAyB,IAAI,SAAwC;AACjE,UAAM;AAAA,MACF;AAAA,MACA,QAAQ,EAAE,eAAe,cAAc,iBAAiB;AAAA,IAC5D,IAAI,KAAK;AAET,QAAI,MAAM,KAAK,WAAW,OAAO;AAEjC,QAAI,UAAU,KAAK,WAAW,OAAO;AAErC,QAAI,oBAAoB,KAAK;AAE7B,QAAI,aAAa;AAEjB,UAAM,YAAY;AAAA,MACd,EAAE,WAAW,sBAAsB,mBAAmB,cAAc;AAAA,MACpE,EAAE,WAAW,qBAAqB,mBAAmB,aAAa;AAAA,MAClE,EAAE,WAAW,yBAAyB,mBAAmB,iBAAiB;AAAA,IAC9E;AAEA,QAAI;AACA,iBAAW,EAAE,WAAW,kBAAkB,KAAK,WAAW;AAEtD,YAAI,CAAC,cAAc,KAAK,iBAAiB;AACrC,uBAAa;AACb,8BAAoB,KAAK;AACzB,gBAAM;AAAA,QACV;AAGA,cAAM,WAAW,UAAU,mBAAmB,KAAK,iBAAiB;AAGpE,cAAM,QAAQ,MAAM,8BAA8B,KAAK,IAAI,SAAS,SAAS,CAAC;AAE9E,mBAAW;AACX,aAAK,WAAW,cAAc,GAAG;AAC7B;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,YAAM,WAAW,gBAAgB;AAAA,IACrC;AAAA,EACJ;AAAA,EAEA,IAAI,wBAAwB;AACxB,UAAM,EAAE,eAAe,UAAU,UAAU,IAAI,KAAK;AACpD,UAAM,EAAE,iBAAiB,uBAAuB,IAAI;AAEpD,WAAO,SAAS;AAAA,MACZ;AAAA,MACA,yBAAyB,IAAI;AAAA,MAC7B,yBAAyB,IAAI;AAAA,MAC7B,CAAC,0BAA0B,CAAC,CAAC,KAAK,WAAW,OAAO,KAAK;AAAA,MACzD;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,cAAc;AAEV,WAAO;AAAA,EACX;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BlePeripheralInterface } from "#ble/Ble.js";
7
+ import { DatatypeModel } from "#model";
8
+ import { Advertisement } from "../Advertisement.js";
9
+ import { Advertiser } from "../Advertiser.js";
10
+ import { ServiceDescription } from "../ServiceDescription.js";
11
+ export declare class BleAdvertiser extends Advertiser {
12
+ #private;
13
+ constructor(peripheral: BlePeripheralInterface, options?: BleAdvertiser.Options);
14
+ get peripheral(): BlePeripheralInterface;
15
+ get config(): BleAdvertiser.Configuration;
16
+ getAdvertisement(description: ServiceDescription): Advertisement | undefined;
17
+ }
18
+ export declare namespace BleAdvertiser {
19
+ /**
20
+ * Advertisement configuration.
21
+ *
22
+ * All intervals are in milliseconds.
23
+ */
24
+ interface Configuration {
25
+ /**
26
+ * Additional advertisement data.
27
+ */
28
+ readonly aad?: Uint8Array;
29
+ /**
30
+ * Advertisement timeout.
31
+ */
32
+ readonly timeout: number;
33
+ /**
34
+ * Transmission interval for first 30 seconds.
35
+ *
36
+ * Per core spec 5.4.2.5.3 should be 20-60ms.
37
+ */
38
+ readonly earlyInterval: number;
39
+ /**
40
+ * Transmission interval after first 30 seconds but before 15 minutes.
41
+ *
42
+ * Per core spec 5.4.2.5.3 should be 150-1285ms.
43
+ */
44
+ readonly lateInterval: number;
45
+ /**
46
+ * Transmission interval after 15 minutes.
47
+ *
48
+ * Per core spec 5.4.2.5.3 should be ~1285ms.
49
+ */
50
+ readonly extendedInterval: number;
51
+ }
52
+ interface Options extends Partial<Configuration> {
53
+ }
54
+ function Configuration(options?: Options): {
55
+ aad?: Uint8Array;
56
+ timeout: number;
57
+ earlyInterval: number;
58
+ lateInterval: number;
59
+ extendedInterval: number;
60
+ };
61
+ /**
62
+ * Data model for BLE advertiser configuration.
63
+ */
64
+ const OptionsSchema: DatatypeModel;
65
+ }
66
+ //# sourceMappingURL=BleAdvertiser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BleAdvertiser.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/ble/BleAdvertiser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,qBAAa,aAAc,SAAQ,UAAU;;gBAK7B,UAAU,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO;IAO/E,IAAI,UAAU,2BAEb;IAED,IAAI,MAAM,gCAET;IAED,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,GAAG,SAAS;CAe/E;AAED,yBAAiB,aAAa,CAAC;IAC3B;;;;OAIG;IACH,UAAiB,aAAa;QAC1B;;WAEG;QACH,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;QAE1B;;WAEG;QACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAEzB;;;;WAIG;QACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAE/B;;;;WAIG;QACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAE9B;;;;WAIG;QACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACrC;IAED,UAAiB,OAAQ,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;IAE1D,SAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO;cA/B5B,UAAU;iBAKP,MAAM;uBAOA,MAAM;sBAOP,MAAM;0BAOF,MAAM;MAapC;IAED;;OAEG;IACI,MAAM,aAAa,eAOzB,CAAC;CACL"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ImplementationError } from "#general";
7
+ import { DatatypeModel, FieldElement } from "#model";
8
+ import { MAXIMUM_COMMISSIONING_TIMEOUT_S } from "#types";
9
+ import { Advertiser } from "../Advertiser.js";
10
+ import { CommissioningMode } from "../CommissioningMode.js";
11
+ import { BleAdvertisement } from "./BleAdvertisement.js";
12
+ class BleAdvertiser extends Advertiser {
13
+ #peripheral;
14
+ #config;
15
+ #isClosed = false;
16
+ constructor(peripheral, options) {
17
+ super();
18
+ this.#peripheral = peripheral;
19
+ this.#config = BleAdvertiser.Configuration(options);
20
+ }
21
+ get peripheral() {
22
+ return this.#peripheral;
23
+ }
24
+ get config() {
25
+ return this.#config;
26
+ }
27
+ getAdvertisement(description) {
28
+ this.#assertOpen();
29
+ if (description.kind !== "commissionable" || description.mode !== CommissioningMode.Basic) {
30
+ return;
31
+ }
32
+ return new BleAdvertisement(this, description);
33
+ }
34
+ #assertOpen() {
35
+ if (this.#isClosed) {
36
+ throw new ImplementationError("Illegal operation on closed BleBroadcaster");
37
+ }
38
+ }
39
+ }
40
+ ((BleAdvertiser2) => {
41
+ function Configuration(options) {
42
+ return {
43
+ timeout: MAXIMUM_COMMISSIONING_TIMEOUT_S,
44
+ earlyInterval: 20,
45
+ lateInterval: 150,
46
+ extendedInterval: 1285,
47
+ ...options
48
+ };
49
+ }
50
+ BleAdvertiser2.Configuration = Configuration;
51
+ BleAdvertiser2.OptionsSchema = new DatatypeModel(
52
+ { name: "BleAdvertiserOptions", type: "struct" },
53
+ FieldElement({ name: "add", type: "octstr" }),
54
+ FieldElement({ name: "timeout", type: "uint32" }),
55
+ FieldElement({ name: "earlyInterval", type: "uint32" }),
56
+ FieldElement({ name: "lateInterval", type: "uint32" }),
57
+ FieldElement({ name: "extendedInterval", type: "uint32" })
58
+ );
59
+ })(BleAdvertiser || (BleAdvertiser = {}));
60
+ export {
61
+ BleAdvertiser
62
+ };
63
+ //# sourceMappingURL=BleAdvertiser.js.map