@matter/protocol 0.11.0-alpha.0-20241005-e3e4e4a7a

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 (853) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/MatterDevice.d.ts +79 -0
  3. package/dist/cjs/MatterDevice.d.ts.map +1 -0
  4. package/dist/cjs/MatterDevice.js +253 -0
  5. package/dist/cjs/MatterDevice.js.map +6 -0
  6. package/dist/cjs/ble/Ble.d.ts +29 -0
  7. package/dist/cjs/ble/Ble.d.ts.map +1 -0
  8. package/dist/cjs/ble/Ble.js +50 -0
  9. package/dist/cjs/ble/Ble.js.map +6 -0
  10. package/dist/cjs/ble/BleConsts.d.ts +32 -0
  11. package/dist/cjs/ble/BleConsts.d.ts.map +1 -0
  12. package/dist/cjs/ble/BleConsts.js +53 -0
  13. package/dist/cjs/ble/BleConsts.js.map +6 -0
  14. package/dist/cjs/ble/BtpSessionHandler.d.ts +87 -0
  15. package/dist/cjs/ble/BtpSessionHandler.d.ts.map +1 -0
  16. package/dist/cjs/ble/BtpSessionHandler.js +432 -0
  17. package/dist/cjs/ble/BtpSessionHandler.js.map +6 -0
  18. package/dist/cjs/ble/index.d.ts +9 -0
  19. package/dist/cjs/ble/index.d.ts.map +1 -0
  20. package/dist/cjs/ble/index.js +26 -0
  21. package/dist/cjs/ble/index.js.map +6 -0
  22. package/dist/cjs/certificate/AttestationCertificateManager.d.ts +28 -0
  23. package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -0
  24. package/dist/cjs/certificate/AttestationCertificateManager.js +171 -0
  25. package/dist/cjs/certificate/AttestationCertificateManager.js.map +6 -0
  26. package/dist/cjs/certificate/CertificateManager.d.ts +575 -0
  27. package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -0
  28. package/dist/cjs/certificate/CertificateManager.js +810 -0
  29. package/dist/cjs/certificate/CertificateManager.js.map +6 -0
  30. package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +5 -0
  31. package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -0
  32. package/dist/cjs/certificate/CertificationDeclarationManager.js +54 -0
  33. package/dist/cjs/certificate/CertificationDeclarationManager.js.map +6 -0
  34. package/dist/cjs/certificate/ChipPAAuthorities.d.ts +14 -0
  35. package/dist/cjs/certificate/ChipPAAuthorities.d.ts.map +1 -0
  36. package/dist/cjs/certificate/ChipPAAuthorities.js +57 -0
  37. package/dist/cjs/certificate/ChipPAAuthorities.js.map +6 -0
  38. package/dist/cjs/certificate/DeviceCertification.d.ts +30 -0
  39. package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -0
  40. package/dist/cjs/certificate/DeviceCertification.js +103 -0
  41. package/dist/cjs/certificate/DeviceCertification.js.map +6 -0
  42. package/dist/cjs/certificate/RootCertificateManager.d.ts +33 -0
  43. package/dist/cjs/certificate/RootCertificateManager.d.ts.map +1 -0
  44. package/dist/cjs/certificate/RootCertificateManager.js +142 -0
  45. package/dist/cjs/certificate/RootCertificateManager.js.map +6 -0
  46. package/dist/cjs/certificate/index.d.ts +12 -0
  47. package/dist/cjs/certificate/index.d.ts.map +1 -0
  48. package/dist/cjs/certificate/index.js +29 -0
  49. package/dist/cjs/certificate/index.js.map +6 -0
  50. package/dist/cjs/cluster/client/AttributeClient.d.ts +61 -0
  51. package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -0
  52. package/dist/cjs/cluster/client/AttributeClient.js +177 -0
  53. package/dist/cjs/cluster/client/AttributeClient.js.map +6 -0
  54. package/dist/cjs/cluster/client/ClusterClient.d.ts +10 -0
  55. package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -0
  56. package/dist/cjs/cluster/client/ClusterClient.js +281 -0
  57. package/dist/cjs/cluster/client/ClusterClient.js.map +6 -0
  58. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +171 -0
  59. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -0
  60. package/dist/cjs/cluster/client/ClusterClientTypes.js +22 -0
  61. package/dist/cjs/cluster/client/ClusterClientTypes.js.map +6 -0
  62. package/dist/cjs/cluster/client/EventClient.d.ts +41 -0
  63. package/dist/cjs/cluster/client/EventClient.d.ts.map +1 -0
  64. package/dist/cjs/cluster/client/EventClient.js +94 -0
  65. package/dist/cjs/cluster/client/EventClient.js.map +6 -0
  66. package/dist/cjs/cluster/client/index.d.ts +10 -0
  67. package/dist/cjs/cluster/client/index.d.ts.map +1 -0
  68. package/dist/cjs/cluster/client/index.js +27 -0
  69. package/dist/cjs/cluster/client/index.js.map +6 -0
  70. package/dist/cjs/cluster/index.d.ts +8 -0
  71. package/dist/cjs/cluster/index.d.ts.map +1 -0
  72. package/dist/cjs/cluster/index.js +25 -0
  73. package/dist/cjs/cluster/index.js.map +6 -0
  74. package/dist/cjs/cluster/server/AttributeServer.d.ts +307 -0
  75. package/dist/cjs/cluster/server/AttributeServer.d.ts.map +1 -0
  76. package/dist/cjs/cluster/server/AttributeServer.js +734 -0
  77. package/dist/cjs/cluster/server/AttributeServer.js.map +6 -0
  78. package/dist/cjs/cluster/server/ClusterDatasource.d.ts +16 -0
  79. package/dist/cjs/cluster/server/ClusterDatasource.d.ts.map +1 -0
  80. package/dist/cjs/cluster/server/ClusterDatasource.js +22 -0
  81. package/dist/cjs/cluster/server/ClusterDatasource.js.map +6 -0
  82. package/dist/cjs/cluster/server/ClusterServer.d.ts +40 -0
  83. package/dist/cjs/cluster/server/ClusterServer.d.ts.map +1 -0
  84. package/dist/cjs/cluster/server/ClusterServer.js +22 -0
  85. package/dist/cjs/cluster/server/ClusterServer.js.map +6 -0
  86. package/dist/cjs/cluster/server/CommandServer.d.ts +34 -0
  87. package/dist/cjs/cluster/server/CommandServer.d.ts.map +1 -0
  88. package/dist/cjs/cluster/server/CommandServer.js +76 -0
  89. package/dist/cjs/cluster/server/CommandServer.js.map +6 -0
  90. package/dist/cjs/cluster/server/EventServer.d.ts +41 -0
  91. package/dist/cjs/cluster/server/EventServer.d.ts.map +1 -0
  92. package/dist/cjs/cluster/server/EventServer.js +149 -0
  93. package/dist/cjs/cluster/server/EventServer.js.map +6 -0
  94. package/dist/cjs/cluster/server/index.d.ts +11 -0
  95. package/dist/cjs/cluster/server/index.d.ts.map +1 -0
  96. package/dist/cjs/cluster/server/index.js +28 -0
  97. package/dist/cjs/cluster/server/index.js.map +6 -0
  98. package/dist/cjs/codec/BtpCodec.d.ts +78 -0
  99. package/dist/cjs/codec/BtpCodec.d.ts.map +1 -0
  100. package/dist/cjs/codec/BtpCodec.js +254 -0
  101. package/dist/cjs/codec/BtpCodec.js.map +6 -0
  102. package/dist/cjs/codec/MessageCodec.d.ts +63 -0
  103. package/dist/cjs/codec/MessageCodec.d.ts.map +1 -0
  104. package/dist/cjs/codec/MessageCodec.js +220 -0
  105. package/dist/cjs/codec/MessageCodec.js.map +6 -0
  106. package/dist/cjs/codec/index.d.ts +9 -0
  107. package/dist/cjs/codec/index.d.ts.map +1 -0
  108. package/dist/cjs/codec/index.js +36 -0
  109. package/dist/cjs/codec/index.js.map +6 -0
  110. package/dist/cjs/common/FailsafeContext.d.ts +79 -0
  111. package/dist/cjs/common/FailsafeContext.d.ts.map +1 -0
  112. package/dist/cjs/common/FailsafeContext.js +237 -0
  113. package/dist/cjs/common/FailsafeContext.js.map +6 -0
  114. package/dist/cjs/common/FailsafeTimer.d.ts +25 -0
  115. package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -0
  116. package/dist/cjs/common/FailsafeTimer.js +91 -0
  117. package/dist/cjs/common/FailsafeTimer.js.map +6 -0
  118. package/dist/cjs/common/InstanceBroadcaster.d.ts +273 -0
  119. package/dist/cjs/common/InstanceBroadcaster.d.ts.map +1 -0
  120. package/dist/cjs/common/InstanceBroadcaster.js +139 -0
  121. package/dist/cjs/common/InstanceBroadcaster.js.map +6 -0
  122. package/dist/cjs/common/OperationalCredentialsTypes.d.ts +21 -0
  123. package/dist/cjs/common/OperationalCredentialsTypes.d.ts.map +1 -0
  124. package/dist/cjs/common/OperationalCredentialsTypes.js +45 -0
  125. package/dist/cjs/common/OperationalCredentialsTypes.js.map +6 -0
  126. package/dist/cjs/common/Scanner.d.ts +121 -0
  127. package/dist/cjs/common/Scanner.d.ts.map +1 -0
  128. package/dist/cjs/common/Scanner.js +51 -0
  129. package/dist/cjs/common/Scanner.js.map +6 -0
  130. package/dist/cjs/common/index.d.ts +12 -0
  131. package/dist/cjs/common/index.d.ts.map +1 -0
  132. package/dist/cjs/common/index.js +29 -0
  133. package/dist/cjs/common/index.js.map +6 -0
  134. package/dist/cjs/endpoint/EndpointInterface.d.ts +37 -0
  135. package/dist/cjs/endpoint/EndpointInterface.d.ts.map +1 -0
  136. package/dist/cjs/endpoint/EndpointInterface.js +22 -0
  137. package/dist/cjs/endpoint/EndpointInterface.js.map +6 -0
  138. package/dist/cjs/endpoint/EndpointStructureLogger.d.ts +31 -0
  139. package/dist/cjs/endpoint/EndpointStructureLogger.d.ts.map +1 -0
  140. package/dist/cjs/endpoint/EndpointStructureLogger.js +236 -0
  141. package/dist/cjs/endpoint/EndpointStructureLogger.js.map +6 -0
  142. package/dist/cjs/endpoint/index.d.ts +8 -0
  143. package/dist/cjs/endpoint/index.d.ts.map +1 -0
  144. package/dist/cjs/endpoint/index.js +25 -0
  145. package/dist/cjs/endpoint/index.js.map +6 -0
  146. package/dist/cjs/fabric/Fabric.d.ts +121 -0
  147. package/dist/cjs/fabric/Fabric.d.ts.map +1 -0
  148. package/dist/cjs/fabric/Fabric.js +427 -0
  149. package/dist/cjs/fabric/Fabric.js.map +6 -0
  150. package/dist/cjs/fabric/FabricManager.d.ts +44 -0
  151. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -0
  152. package/dist/cjs/fabric/FabricManager.js +209 -0
  153. package/dist/cjs/fabric/FabricManager.js.map +6 -0
  154. package/dist/cjs/fabric/index.d.ts +8 -0
  155. package/dist/cjs/fabric/index.d.ts.map +1 -0
  156. package/dist/cjs/fabric/index.js +25 -0
  157. package/dist/cjs/fabric/index.js.map +6 -0
  158. package/dist/cjs/index.d.ts +20 -0
  159. package/dist/cjs/index.d.ts.map +1 -0
  160. package/dist/cjs/index.js +37 -0
  161. package/dist/cjs/index.js.map +6 -0
  162. package/dist/cjs/interaction/AccessControlManager.d.ts +49 -0
  163. package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -0
  164. package/dist/cjs/interaction/AccessControlManager.js +248 -0
  165. package/dist/cjs/interaction/AccessControlManager.js.map +6 -0
  166. package/dist/cjs/interaction/AttributeDataDecoder.d.ts +52 -0
  167. package/dist/cjs/interaction/AttributeDataDecoder.d.ts.map +1 -0
  168. package/dist/cjs/interaction/AttributeDataDecoder.js +185 -0
  169. package/dist/cjs/interaction/AttributeDataDecoder.js.map +6 -0
  170. package/dist/cjs/interaction/AttributeDataEncoder.d.ts +71 -0
  171. package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -0
  172. package/dist/cjs/interaction/AttributeDataEncoder.js +190 -0
  173. package/dist/cjs/interaction/AttributeDataEncoder.js.map +6 -0
  174. package/dist/cjs/interaction/EventDataDecoder.d.ts +30 -0
  175. package/dist/cjs/interaction/EventDataDecoder.d.ts.map +1 -0
  176. package/dist/cjs/interaction/EventDataDecoder.js +103 -0
  177. package/dist/cjs/interaction/EventDataDecoder.js.map +6 -0
  178. package/dist/cjs/interaction/EventHandler.d.ts +42 -0
  179. package/dist/cjs/interaction/EventHandler.d.ts.map +1 -0
  180. package/dist/cjs/interaction/EventHandler.js +112 -0
  181. package/dist/cjs/interaction/EventHandler.js.map +6 -0
  182. package/dist/cjs/interaction/InteractionClient.d.ts +294 -0
  183. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -0
  184. package/dist/cjs/interaction/InteractionClient.js +829 -0
  185. package/dist/cjs/interaction/InteractionClient.js.map +6 -0
  186. package/dist/cjs/interaction/InteractionEndpointStructure.d.ts +59 -0
  187. package/dist/cjs/interaction/InteractionEndpointStructure.d.ts.map +1 -0
  188. package/dist/cjs/interaction/InteractionEndpointStructure.js +341 -0
  189. package/dist/cjs/interaction/InteractionEndpointStructure.js.map +6 -0
  190. package/dist/cjs/interaction/InteractionMessenger.d.ts +315 -0
  191. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -0
  192. package/dist/cjs/interaction/InteractionMessenger.js +484 -0
  193. package/dist/cjs/interaction/InteractionMessenger.js.map +6 -0
  194. package/dist/cjs/interaction/InteractionServer.d.ts +97 -0
  195. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -0
  196. package/dist/cjs/interaction/InteractionServer.js +1026 -0
  197. package/dist/cjs/interaction/InteractionServer.js.map +6 -0
  198. package/dist/cjs/interaction/ServerSubscription.d.ts +121 -0
  199. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -0
  200. package/dist/cjs/interaction/ServerSubscription.js +672 -0
  201. package/dist/cjs/interaction/ServerSubscription.js.map +6 -0
  202. package/dist/cjs/interaction/Subscription.d.ts +44 -0
  203. package/dist/cjs/interaction/Subscription.d.ts.map +1 -0
  204. package/dist/cjs/interaction/Subscription.js +85 -0
  205. package/dist/cjs/interaction/Subscription.js.map +6 -0
  206. package/dist/cjs/interaction/SubscriptionOptions.d.ts +43 -0
  207. package/dist/cjs/interaction/SubscriptionOptions.d.ts.map +1 -0
  208. package/dist/cjs/interaction/SubscriptionOptions.js +46 -0
  209. package/dist/cjs/interaction/SubscriptionOptions.js.map +6 -0
  210. package/dist/cjs/interaction/index.d.ts +17 -0
  211. package/dist/cjs/interaction/index.d.ts.map +1 -0
  212. package/dist/cjs/interaction/index.js +34 -0
  213. package/dist/cjs/interaction/index.js.map +6 -0
  214. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +34 -0
  215. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -0
  216. package/dist/cjs/mdns/MdnsBroadcaster.js +338 -0
  217. package/dist/cjs/mdns/MdnsBroadcaster.js.map +6 -0
  218. package/dist/cjs/mdns/MdnsConsts.d.ts +19 -0
  219. package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -0
  220. package/dist/cjs/mdns/MdnsConsts.js +52 -0
  221. package/dist/cjs/mdns/MdnsConsts.js.map +6 -0
  222. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
  223. package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
  224. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +87 -0
  225. package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +6 -0
  226. package/dist/cjs/mdns/MdnsScanner.d.ts +79 -0
  227. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -0
  228. package/dist/cjs/mdns/MdnsScanner.js +842 -0
  229. package/dist/cjs/mdns/MdnsScanner.js.map +6 -0
  230. package/dist/cjs/mdns/MdnsServer.d.ts +29 -0
  231. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -0
  232. package/dist/cjs/mdns/MdnsServer.js +275 -0
  233. package/dist/cjs/mdns/MdnsServer.js.map +6 -0
  234. package/dist/cjs/mdns/MdnsService.d.ts +28 -0
  235. package/dist/cjs/mdns/MdnsService.d.ts.map +1 -0
  236. package/dist/cjs/mdns/MdnsService.js +95 -0
  237. package/dist/cjs/mdns/MdnsService.js.map +6 -0
  238. package/dist/cjs/mdns/index.d.ts +12 -0
  239. package/dist/cjs/mdns/index.d.ts.map +1 -0
  240. package/dist/cjs/mdns/index.js +29 -0
  241. package/dist/cjs/mdns/index.js.map +6 -0
  242. package/dist/cjs/package.json +10 -0
  243. package/dist/cjs/peer/ControllerCommissioner.d.ts +82 -0
  244. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -0
  245. package/dist/cjs/peer/ControllerCommissioner.js +224 -0
  246. package/dist/cjs/peer/ControllerCommissioner.js.map +6 -0
  247. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +88 -0
  248. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -0
  249. package/dist/cjs/peer/ControllerCommissioningFlow.js +849 -0
  250. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +6 -0
  251. package/dist/cjs/peer/ControllerDiscovery.d.ts +43 -0
  252. package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -0
  253. package/dist/cjs/peer/ControllerDiscovery.js +192 -0
  254. package/dist/cjs/peer/ControllerDiscovery.js.map +6 -0
  255. package/dist/cjs/peer/OperationalPeer.d.ts +28 -0
  256. package/dist/cjs/peer/OperationalPeer.d.ts.map +1 -0
  257. package/dist/cjs/peer/OperationalPeer.js +22 -0
  258. package/dist/cjs/peer/OperationalPeer.js.map +6 -0
  259. package/dist/cjs/peer/PeerAddress.d.ts +30 -0
  260. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -0
  261. package/dist/cjs/peer/PeerAddress.js +71 -0
  262. package/dist/cjs/peer/PeerAddress.js.map +6 -0
  263. package/dist/cjs/peer/PeerSet.d.ts +98 -0
  264. package/dist/cjs/peer/PeerSet.d.ts.map +1 -0
  265. package/dist/cjs/peer/PeerSet.js +500 -0
  266. package/dist/cjs/peer/PeerSet.js.map +6 -0
  267. package/dist/cjs/peer/PeerStore.d.ts +17 -0
  268. package/dist/cjs/peer/PeerStore.d.ts.map +1 -0
  269. package/dist/cjs/peer/PeerStore.js +31 -0
  270. package/dist/cjs/peer/PeerStore.js.map +6 -0
  271. package/dist/cjs/peer/index.d.ts +13 -0
  272. package/dist/cjs/peer/index.d.ts.map +1 -0
  273. package/dist/cjs/peer/index.js +30 -0
  274. package/dist/cjs/peer/index.js.map +6 -0
  275. package/dist/cjs/protocol/ChannelManager.d.ts +30 -0
  276. package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -0
  277. package/dist/cjs/protocol/ChannelManager.js +168 -0
  278. package/dist/cjs/protocol/ChannelManager.js.map +6 -0
  279. package/dist/cjs/protocol/DeviceAdvertiser.d.ts +43 -0
  280. package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -0
  281. package/dist/cjs/protocol/DeviceAdvertiser.js +185 -0
  282. package/dist/cjs/protocol/DeviceAdvertiser.js.map +6 -0
  283. package/dist/cjs/protocol/DeviceCommissioner.d.ts +49 -0
  284. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -0
  285. package/dist/cjs/protocol/DeviceCommissioner.js +198 -0
  286. package/dist/cjs/protocol/DeviceCommissioner.js.map +6 -0
  287. package/dist/cjs/protocol/ExchangeManager.d.ts +73 -0
  288. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -0
  289. package/dist/cjs/protocol/ExchangeManager.js +407 -0
  290. package/dist/cjs/protocol/ExchangeManager.js.map +6 -0
  291. package/dist/cjs/protocol/MessageCounter.d.ts +57 -0
  292. package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -0
  293. package/dist/cjs/protocol/MessageCounter.js +104 -0
  294. package/dist/cjs/protocol/MessageCounter.js.map +6 -0
  295. package/dist/cjs/protocol/MessageExchange.d.ts +84 -0
  296. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -0
  297. package/dist/cjs/protocol/MessageExchange.js +508 -0
  298. package/dist/cjs/protocol/MessageExchange.js.map +6 -0
  299. package/dist/cjs/protocol/MessageReceptionState.d.ts +65 -0
  300. package/dist/cjs/protocol/MessageReceptionState.d.ts.map +1 -0
  301. package/dist/cjs/protocol/MessageReceptionState.js +173 -0
  302. package/dist/cjs/protocol/MessageReceptionState.js.map +6 -0
  303. package/dist/cjs/protocol/ProtocolHandler.d.ts +13 -0
  304. package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -0
  305. package/dist/cjs/protocol/ProtocolHandler.js +22 -0
  306. package/dist/cjs/protocol/ProtocolHandler.js.map +6 -0
  307. package/dist/cjs/protocol/index.d.ts +14 -0
  308. package/dist/cjs/protocol/index.d.ts.map +1 -0
  309. package/dist/cjs/protocol/index.js +31 -0
  310. package/dist/cjs/protocol/index.js.map +6 -0
  311. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +53 -0
  312. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -0
  313. package/dist/cjs/securechannel/SecureChannelMessenger.js +143 -0
  314. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +6 -0
  315. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +31 -0
  316. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -0
  317. package/dist/cjs/securechannel/SecureChannelProtocol.js +140 -0
  318. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +6 -0
  319. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
  320. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
  321. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js +53 -0
  322. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
  323. package/dist/cjs/securechannel/index.d.ts +9 -0
  324. package/dist/cjs/securechannel/index.d.ts.map +1 -0
  325. package/dist/cjs/securechannel/index.js +26 -0
  326. package/dist/cjs/securechannel/index.js.map +6 -0
  327. package/dist/cjs/session/InsecureSession.d.ts +38 -0
  328. package/dist/cjs/session/InsecureSession.d.ts.map +1 -0
  329. package/dist/cjs/session/InsecureSession.js +95 -0
  330. package/dist/cjs/session/InsecureSession.js.map +6 -0
  331. package/dist/cjs/session/SecureSession.d.ts +81 -0
  332. package/dist/cjs/session/SecureSession.d.ts.map +1 -0
  333. package/dist/cjs/session/SecureSession.js +291 -0
  334. package/dist/cjs/session/SecureSession.js.map +6 -0
  335. package/dist/cjs/session/Session.d.ts +102 -0
  336. package/dist/cjs/session/Session.d.ts.map +1 -0
  337. package/dist/cjs/session/Session.js +141 -0
  338. package/dist/cjs/session/Session.js.map +6 -0
  339. package/dist/cjs/session/SessionManager.d.ts +132 -0
  340. package/dist/cjs/session/SessionManager.d.ts.map +1 -0
  341. package/dist/cjs/session/SessionManager.js +410 -0
  342. package/dist/cjs/session/SessionManager.js.map +6 -0
  343. package/dist/cjs/session/case/CaseClient.d.ts +18 -0
  344. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -0
  345. package/dist/cjs/session/case/CaseClient.js +216 -0
  346. package/dist/cjs/session/case/CaseClient.js.map +6 -0
  347. package/dist/cjs/session/case/CaseMessages.d.ts +82 -0
  348. package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -0
  349. package/dist/cjs/session/case/CaseMessages.js +97 -0
  350. package/dist/cjs/session/case/CaseMessages.js.map +6 -0
  351. package/dist/cjs/session/case/CaseMessenger.d.ts +79 -0
  352. package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -0
  353. package/dist/cjs/session/case/CaseMessenger.js +74 -0
  354. package/dist/cjs/session/case/CaseMessenger.js.map +6 -0
  355. package/dist/cjs/session/case/CaseServer.d.ts +18 -0
  356. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -0
  357. package/dist/cjs/session/case/CaseServer.js +232 -0
  358. package/dist/cjs/session/case/CaseServer.js.map +6 -0
  359. package/dist/cjs/session/index.d.ts +18 -0
  360. package/dist/cjs/session/index.d.ts.map +1 -0
  361. package/dist/cjs/session/index.js +35 -0
  362. package/dist/cjs/session/index.js.map +6 -0
  363. package/dist/cjs/session/pase/PaseClient.d.ts +18 -0
  364. package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -0
  365. package/dist/cjs/session/pase/PaseClient.js +101 -0
  366. package/dist/cjs/session/pase/PaseClient.js.map +6 -0
  367. package/dist/cjs/session/pase/PaseMessages.d.ts +85 -0
  368. package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -0
  369. package/dist/cjs/session/pase/PaseMessages.js +88 -0
  370. package/dist/cjs/session/pase/PaseMessages.js.map +6 -0
  371. package/dist/cjs/session/pase/PaseMessenger.d.ts +75 -0
  372. package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -0
  373. package/dist/cjs/session/pase/PaseMessenger.js +86 -0
  374. package/dist/cjs/session/pase/PaseMessenger.js.map +6 -0
  375. package/dist/cjs/session/pase/PaseServer.d.ts +29 -0
  376. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -0
  377. package/dist/cjs/session/pase/PaseServer.js +159 -0
  378. package/dist/cjs/session/pase/PaseServer.js.map +6 -0
  379. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  380. package/dist/esm/MatterDevice.d.ts +79 -0
  381. package/dist/esm/MatterDevice.d.ts.map +1 -0
  382. package/dist/esm/MatterDevice.js +239 -0
  383. package/dist/esm/MatterDevice.js.map +6 -0
  384. package/dist/esm/ble/Ble.d.ts +29 -0
  385. package/dist/esm/ble/Ble.d.ts.map +1 -0
  386. package/dist/esm/ble/Ble.js +30 -0
  387. package/dist/esm/ble/Ble.js.map +6 -0
  388. package/dist/esm/ble/BleConsts.d.ts +32 -0
  389. package/dist/esm/ble/BleConsts.d.ts.map +1 -0
  390. package/dist/esm/ble/BleConsts.js +33 -0
  391. package/dist/esm/ble/BleConsts.js.map +6 -0
  392. package/dist/esm/ble/BtpSessionHandler.d.ts +87 -0
  393. package/dist/esm/ble/BtpSessionHandler.d.ts.map +1 -0
  394. package/dist/esm/ble/BtpSessionHandler.js +419 -0
  395. package/dist/esm/ble/BtpSessionHandler.js.map +6 -0
  396. package/dist/esm/ble/index.d.ts +9 -0
  397. package/dist/esm/ble/index.d.ts.map +1 -0
  398. package/dist/esm/ble/index.js +9 -0
  399. package/dist/esm/ble/index.js.map +6 -0
  400. package/dist/esm/certificate/AttestationCertificateManager.d.ts +28 -0
  401. package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -0
  402. package/dist/esm/certificate/AttestationCertificateManager.js +155 -0
  403. package/dist/esm/certificate/AttestationCertificateManager.js.map +6 -0
  404. package/dist/esm/certificate/CertificateManager.d.ts +575 -0
  405. package/dist/esm/certificate/CertificateManager.d.ts.map +1 -0
  406. package/dist/esm/certificate/CertificateManager.js +837 -0
  407. package/dist/esm/certificate/CertificateManager.js.map +6 -0
  408. package/dist/esm/certificate/CertificationDeclarationManager.d.ts +5 -0
  409. package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -0
  410. package/dist/esm/certificate/CertificationDeclarationManager.js +34 -0
  411. package/dist/esm/certificate/CertificationDeclarationManager.js.map +6 -0
  412. package/dist/esm/certificate/ChipPAAuthorities.d.ts +14 -0
  413. package/dist/esm/certificate/ChipPAAuthorities.d.ts.map +1 -0
  414. package/dist/esm/certificate/ChipPAAuthorities.js +37 -0
  415. package/dist/esm/certificate/ChipPAAuthorities.js.map +6 -0
  416. package/dist/esm/certificate/DeviceCertification.d.ts +30 -0
  417. package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -0
  418. package/dist/esm/certificate/DeviceCertification.js +83 -0
  419. package/dist/esm/certificate/DeviceCertification.js.map +6 -0
  420. package/dist/esm/certificate/RootCertificateManager.d.ts +33 -0
  421. package/dist/esm/certificate/RootCertificateManager.d.ts.map +1 -0
  422. package/dist/esm/certificate/RootCertificateManager.js +139 -0
  423. package/dist/esm/certificate/RootCertificateManager.js.map +6 -0
  424. package/dist/esm/certificate/index.d.ts +12 -0
  425. package/dist/esm/certificate/index.d.ts.map +1 -0
  426. package/dist/esm/certificate/index.js +12 -0
  427. package/dist/esm/certificate/index.js.map +6 -0
  428. package/dist/esm/cluster/client/AttributeClient.d.ts +61 -0
  429. package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -0
  430. package/dist/esm/cluster/client/AttributeClient.js +157 -0
  431. package/dist/esm/cluster/client/AttributeClient.js.map +6 -0
  432. package/dist/esm/cluster/client/ClusterClient.d.ts +10 -0
  433. package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -0
  434. package/dist/esm/cluster/client/ClusterClient.js +267 -0
  435. package/dist/esm/cluster/client/ClusterClient.js.map +6 -0
  436. package/dist/esm/cluster/client/ClusterClientTypes.d.ts +171 -0
  437. package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -0
  438. package/dist/esm/cluster/client/ClusterClientTypes.js +6 -0
  439. package/dist/esm/cluster/client/ClusterClientTypes.js.map +6 -0
  440. package/dist/esm/cluster/client/EventClient.d.ts +41 -0
  441. package/dist/esm/cluster/client/EventClient.d.ts.map +1 -0
  442. package/dist/esm/cluster/client/EventClient.js +74 -0
  443. package/dist/esm/cluster/client/EventClient.js.map +6 -0
  444. package/dist/esm/cluster/client/index.d.ts +10 -0
  445. package/dist/esm/cluster/client/index.d.ts.map +1 -0
  446. package/dist/esm/cluster/client/index.js +10 -0
  447. package/dist/esm/cluster/client/index.js.map +6 -0
  448. package/dist/esm/cluster/index.d.ts +8 -0
  449. package/dist/esm/cluster/index.d.ts.map +1 -0
  450. package/dist/esm/cluster/index.js +8 -0
  451. package/dist/esm/cluster/index.js.map +6 -0
  452. package/dist/esm/cluster/server/AttributeServer.d.ts +307 -0
  453. package/dist/esm/cluster/server/AttributeServer.d.ts.map +1 -0
  454. package/dist/esm/cluster/server/AttributeServer.js +718 -0
  455. package/dist/esm/cluster/server/AttributeServer.js.map +6 -0
  456. package/dist/esm/cluster/server/ClusterDatasource.d.ts +16 -0
  457. package/dist/esm/cluster/server/ClusterDatasource.d.ts.map +1 -0
  458. package/dist/esm/cluster/server/ClusterDatasource.js +6 -0
  459. package/dist/esm/cluster/server/ClusterDatasource.js.map +6 -0
  460. package/dist/esm/cluster/server/ClusterServer.d.ts +40 -0
  461. package/dist/esm/cluster/server/ClusterServer.d.ts.map +1 -0
  462. package/dist/esm/cluster/server/ClusterServer.js +6 -0
  463. package/dist/esm/cluster/server/ClusterServer.js.map +6 -0
  464. package/dist/esm/cluster/server/CommandServer.d.ts +34 -0
  465. package/dist/esm/cluster/server/CommandServer.d.ts.map +1 -0
  466. package/dist/esm/cluster/server/CommandServer.js +56 -0
  467. package/dist/esm/cluster/server/CommandServer.js.map +6 -0
  468. package/dist/esm/cluster/server/EventServer.d.ts +41 -0
  469. package/dist/esm/cluster/server/EventServer.d.ts.map +1 -0
  470. package/dist/esm/cluster/server/EventServer.js +137 -0
  471. package/dist/esm/cluster/server/EventServer.js.map +6 -0
  472. package/dist/esm/cluster/server/index.d.ts +11 -0
  473. package/dist/esm/cluster/server/index.d.ts.map +1 -0
  474. package/dist/esm/cluster/server/index.js +11 -0
  475. package/dist/esm/cluster/server/index.js.map +6 -0
  476. package/dist/esm/codec/BtpCodec.d.ts +78 -0
  477. package/dist/esm/codec/BtpCodec.d.ts.map +1 -0
  478. package/dist/esm/codec/BtpCodec.js +234 -0
  479. package/dist/esm/codec/BtpCodec.js.map +6 -0
  480. package/dist/esm/codec/MessageCodec.d.ts +63 -0
  481. package/dist/esm/codec/MessageCodec.d.ts.map +1 -0
  482. package/dist/esm/codec/MessageCodec.js +200 -0
  483. package/dist/esm/codec/MessageCodec.js.map +6 -0
  484. package/dist/esm/codec/index.d.ts +9 -0
  485. package/dist/esm/codec/index.d.ts.map +1 -0
  486. package/dist/esm/codec/index.js +15 -0
  487. package/dist/esm/codec/index.js.map +6 -0
  488. package/dist/esm/common/FailsafeContext.d.ts +79 -0
  489. package/dist/esm/common/FailsafeContext.d.ts.map +1 -0
  490. package/dist/esm/common/FailsafeContext.js +217 -0
  491. package/dist/esm/common/FailsafeContext.js.map +6 -0
  492. package/dist/esm/common/FailsafeTimer.d.ts +25 -0
  493. package/dist/esm/common/FailsafeTimer.d.ts.map +1 -0
  494. package/dist/esm/common/FailsafeTimer.js +71 -0
  495. package/dist/esm/common/FailsafeTimer.js.map +6 -0
  496. package/dist/esm/common/InstanceBroadcaster.d.ts +273 -0
  497. package/dist/esm/common/InstanceBroadcaster.d.ts.map +1 -0
  498. package/dist/esm/common/InstanceBroadcaster.js +119 -0
  499. package/dist/esm/common/InstanceBroadcaster.js.map +6 -0
  500. package/dist/esm/common/OperationalCredentialsTypes.d.ts +21 -0
  501. package/dist/esm/common/OperationalCredentialsTypes.d.ts.map +1 -0
  502. package/dist/esm/common/OperationalCredentialsTypes.js +25 -0
  503. package/dist/esm/common/OperationalCredentialsTypes.js.map +6 -0
  504. package/dist/esm/common/Scanner.d.ts +121 -0
  505. package/dist/esm/common/Scanner.d.ts.map +1 -0
  506. package/dist/esm/common/Scanner.js +31 -0
  507. package/dist/esm/common/Scanner.js.map +6 -0
  508. package/dist/esm/common/index.d.ts +12 -0
  509. package/dist/esm/common/index.d.ts.map +1 -0
  510. package/dist/esm/common/index.js +12 -0
  511. package/dist/esm/common/index.js.map +6 -0
  512. package/dist/esm/endpoint/EndpointInterface.d.ts +37 -0
  513. package/dist/esm/endpoint/EndpointInterface.d.ts.map +1 -0
  514. package/dist/esm/endpoint/EndpointInterface.js +6 -0
  515. package/dist/esm/endpoint/EndpointInterface.js.map +6 -0
  516. package/dist/esm/endpoint/EndpointStructureLogger.d.ts +31 -0
  517. package/dist/esm/endpoint/EndpointStructureLogger.d.ts.map +1 -0
  518. package/dist/esm/endpoint/EndpointStructureLogger.js +216 -0
  519. package/dist/esm/endpoint/EndpointStructureLogger.js.map +6 -0
  520. package/dist/esm/endpoint/index.d.ts +8 -0
  521. package/dist/esm/endpoint/index.d.ts.map +1 -0
  522. package/dist/esm/endpoint/index.js +8 -0
  523. package/dist/esm/endpoint/index.js.map +6 -0
  524. package/dist/esm/fabric/Fabric.d.ts +121 -0
  525. package/dist/esm/fabric/Fabric.d.ts.map +1 -0
  526. package/dist/esm/fabric/Fabric.js +422 -0
  527. package/dist/esm/fabric/Fabric.js.map +6 -0
  528. package/dist/esm/fabric/FabricManager.d.ts +44 -0
  529. package/dist/esm/fabric/FabricManager.d.ts.map +1 -0
  530. package/dist/esm/fabric/FabricManager.js +200 -0
  531. package/dist/esm/fabric/FabricManager.js.map +6 -0
  532. package/dist/esm/fabric/index.d.ts +8 -0
  533. package/dist/esm/fabric/index.d.ts.map +1 -0
  534. package/dist/esm/fabric/index.js +8 -0
  535. package/dist/esm/fabric/index.js.map +6 -0
  536. package/dist/esm/index.d.ts +20 -0
  537. package/dist/esm/index.d.ts.map +1 -0
  538. package/dist/esm/index.js +20 -0
  539. package/dist/esm/index.js.map +6 -0
  540. package/dist/esm/interaction/AccessControlManager.d.ts +49 -0
  541. package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -0
  542. package/dist/esm/interaction/AccessControlManager.js +228 -0
  543. package/dist/esm/interaction/AccessControlManager.js.map +6 -0
  544. package/dist/esm/interaction/AttributeDataDecoder.d.ts +52 -0
  545. package/dist/esm/interaction/AttributeDataDecoder.d.ts.map +1 -0
  546. package/dist/esm/interaction/AttributeDataDecoder.js +171 -0
  547. package/dist/esm/interaction/AttributeDataDecoder.js.map +6 -0
  548. package/dist/esm/interaction/AttributeDataEncoder.d.ts +71 -0
  549. package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -0
  550. package/dist/esm/interaction/AttributeDataEncoder.js +174 -0
  551. package/dist/esm/interaction/AttributeDataEncoder.js.map +6 -0
  552. package/dist/esm/interaction/EventDataDecoder.d.ts +30 -0
  553. package/dist/esm/interaction/EventDataDecoder.d.ts.map +1 -0
  554. package/dist/esm/interaction/EventDataDecoder.js +87 -0
  555. package/dist/esm/interaction/EventDataDecoder.js.map +6 -0
  556. package/dist/esm/interaction/EventHandler.d.ts +42 -0
  557. package/dist/esm/interaction/EventHandler.d.ts.map +1 -0
  558. package/dist/esm/interaction/EventHandler.js +96 -0
  559. package/dist/esm/interaction/EventHandler.js.map +6 -0
  560. package/dist/esm/interaction/InteractionClient.d.ts +294 -0
  561. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -0
  562. package/dist/esm/interaction/InteractionClient.js +827 -0
  563. package/dist/esm/interaction/InteractionClient.js.map +6 -0
  564. package/dist/esm/interaction/InteractionEndpointStructure.d.ts +59 -0
  565. package/dist/esm/interaction/InteractionEndpointStructure.d.ts.map +1 -0
  566. package/dist/esm/interaction/InteractionEndpointStructure.js +343 -0
  567. package/dist/esm/interaction/InteractionEndpointStructure.js.map +6 -0
  568. package/dist/esm/interaction/InteractionMessenger.d.ts +315 -0
  569. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -0
  570. package/dist/esm/interaction/InteractionMessenger.js +489 -0
  571. package/dist/esm/interaction/InteractionMessenger.js.map +6 -0
  572. package/dist/esm/interaction/InteractionServer.d.ts +97 -0
  573. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -0
  574. package/dist/esm/interaction/InteractionServer.js +1027 -0
  575. package/dist/esm/interaction/InteractionServer.js.map +6 -0
  576. package/dist/esm/interaction/ServerSubscription.d.ts +121 -0
  577. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -0
  578. package/dist/esm/interaction/ServerSubscription.js +669 -0
  579. package/dist/esm/interaction/ServerSubscription.js.map +6 -0
  580. package/dist/esm/interaction/Subscription.d.ts +44 -0
  581. package/dist/esm/interaction/Subscription.d.ts.map +1 -0
  582. package/dist/esm/interaction/Subscription.js +65 -0
  583. package/dist/esm/interaction/Subscription.js.map +6 -0
  584. package/dist/esm/interaction/SubscriptionOptions.d.ts +43 -0
  585. package/dist/esm/interaction/SubscriptionOptions.d.ts.map +1 -0
  586. package/dist/esm/interaction/SubscriptionOptions.js +26 -0
  587. package/dist/esm/interaction/SubscriptionOptions.js.map +6 -0
  588. package/dist/esm/interaction/index.d.ts +17 -0
  589. package/dist/esm/interaction/index.d.ts.map +1 -0
  590. package/dist/esm/interaction/index.js +17 -0
  591. package/dist/esm/interaction/index.js.map +6 -0
  592. package/dist/esm/mdns/MdnsBroadcaster.d.ts +34 -0
  593. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -0
  594. package/dist/esm/mdns/MdnsBroadcaster.js +351 -0
  595. package/dist/esm/mdns/MdnsBroadcaster.js.map +6 -0
  596. package/dist/esm/mdns/MdnsConsts.d.ts +19 -0
  597. package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -0
  598. package/dist/esm/mdns/MdnsConsts.js +32 -0
  599. package/dist/esm/mdns/MdnsConsts.js.map +6 -0
  600. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
  601. package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
  602. package/dist/esm/mdns/MdnsInstanceBroadcaster.js +67 -0
  603. package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +6 -0
  604. package/dist/esm/mdns/MdnsScanner.d.ts +79 -0
  605. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -0
  606. package/dist/esm/mdns/MdnsScanner.js +847 -0
  607. package/dist/esm/mdns/MdnsScanner.js.map +6 -0
  608. package/dist/esm/mdns/MdnsServer.d.ts +29 -0
  609. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -0
  610. package/dist/esm/mdns/MdnsServer.js +266 -0
  611. package/dist/esm/mdns/MdnsServer.js.map +6 -0
  612. package/dist/esm/mdns/MdnsService.d.ts +28 -0
  613. package/dist/esm/mdns/MdnsService.d.ts.map +1 -0
  614. package/dist/esm/mdns/MdnsService.js +83 -0
  615. package/dist/esm/mdns/MdnsService.js.map +6 -0
  616. package/dist/esm/mdns/index.d.ts +12 -0
  617. package/dist/esm/mdns/index.d.ts.map +1 -0
  618. package/dist/esm/mdns/index.js +12 -0
  619. package/dist/esm/mdns/index.js.map +6 -0
  620. package/dist/esm/package.json +10 -0
  621. package/dist/esm/peer/ControllerCommissioner.d.ts +82 -0
  622. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -0
  623. package/dist/esm/peer/ControllerCommissioner.js +211 -0
  624. package/dist/esm/peer/ControllerCommissioner.js.map +6 -0
  625. package/dist/esm/peer/ControllerCommissioningFlow.d.ts +88 -0
  626. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -0
  627. package/dist/esm/peer/ControllerCommissioningFlow.js +832 -0
  628. package/dist/esm/peer/ControllerCommissioningFlow.js.map +6 -0
  629. package/dist/esm/peer/ControllerDiscovery.d.ts +43 -0
  630. package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -0
  631. package/dist/esm/peer/ControllerDiscovery.js +172 -0
  632. package/dist/esm/peer/ControllerDiscovery.js.map +6 -0
  633. package/dist/esm/peer/OperationalPeer.d.ts +28 -0
  634. package/dist/esm/peer/OperationalPeer.d.ts.map +1 -0
  635. package/dist/esm/peer/OperationalPeer.js +6 -0
  636. package/dist/esm/peer/OperationalPeer.js.map +6 -0
  637. package/dist/esm/peer/PeerAddress.d.ts +30 -0
  638. package/dist/esm/peer/PeerAddress.d.ts.map +1 -0
  639. package/dist/esm/peer/PeerAddress.js +51 -0
  640. package/dist/esm/peer/PeerAddress.js.map +6 -0
  641. package/dist/esm/peer/PeerSet.d.ts +98 -0
  642. package/dist/esm/peer/PeerSet.d.ts.map +1 -0
  643. package/dist/esm/peer/PeerSet.js +495 -0
  644. package/dist/esm/peer/PeerSet.js.map +6 -0
  645. package/dist/esm/peer/PeerStore.d.ts +17 -0
  646. package/dist/esm/peer/PeerStore.d.ts.map +1 -0
  647. package/dist/esm/peer/PeerStore.js +11 -0
  648. package/dist/esm/peer/PeerStore.js.map +6 -0
  649. package/dist/esm/peer/index.d.ts +13 -0
  650. package/dist/esm/peer/index.d.ts.map +1 -0
  651. package/dist/esm/peer/index.js +13 -0
  652. package/dist/esm/peer/index.js.map +6 -0
  653. package/dist/esm/protocol/ChannelManager.d.ts +30 -0
  654. package/dist/esm/protocol/ChannelManager.d.ts.map +1 -0
  655. package/dist/esm/protocol/ChannelManager.js +148 -0
  656. package/dist/esm/protocol/ChannelManager.js.map +6 -0
  657. package/dist/esm/protocol/DeviceAdvertiser.d.ts +43 -0
  658. package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -0
  659. package/dist/esm/protocol/DeviceAdvertiser.js +173 -0
  660. package/dist/esm/protocol/DeviceAdvertiser.js.map +6 -0
  661. package/dist/esm/protocol/DeviceCommissioner.d.ts +49 -0
  662. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -0
  663. package/dist/esm/protocol/DeviceCommissioner.js +187 -0
  664. package/dist/esm/protocol/DeviceCommissioner.js.map +6 -0
  665. package/dist/esm/protocol/ExchangeManager.d.ts +73 -0
  666. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -0
  667. package/dist/esm/protocol/ExchangeManager.js +398 -0
  668. package/dist/esm/protocol/ExchangeManager.js.map +6 -0
  669. package/dist/esm/protocol/MessageCounter.d.ts +57 -0
  670. package/dist/esm/protocol/MessageCounter.d.ts.map +1 -0
  671. package/dist/esm/protocol/MessageCounter.js +84 -0
  672. package/dist/esm/protocol/MessageCounter.js.map +6 -0
  673. package/dist/esm/protocol/MessageExchange.d.ts +84 -0
  674. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -0
  675. package/dist/esm/protocol/MessageExchange.js +504 -0
  676. package/dist/esm/protocol/MessageExchange.js.map +6 -0
  677. package/dist/esm/protocol/MessageReceptionState.d.ts +65 -0
  678. package/dist/esm/protocol/MessageReceptionState.d.ts.map +1 -0
  679. package/dist/esm/protocol/MessageReceptionState.js +153 -0
  680. package/dist/esm/protocol/MessageReceptionState.js.map +6 -0
  681. package/dist/esm/protocol/ProtocolHandler.d.ts +13 -0
  682. package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -0
  683. package/dist/esm/protocol/ProtocolHandler.js +6 -0
  684. package/dist/esm/protocol/ProtocolHandler.js.map +6 -0
  685. package/dist/esm/protocol/index.d.ts +14 -0
  686. package/dist/esm/protocol/index.d.ts.map +1 -0
  687. package/dist/esm/protocol/index.js +14 -0
  688. package/dist/esm/protocol/index.js.map +6 -0
  689. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +53 -0
  690. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -0
  691. package/dist/esm/securechannel/SecureChannelMessenger.js +128 -0
  692. package/dist/esm/securechannel/SecureChannelMessenger.js.map +6 -0
  693. package/dist/esm/securechannel/SecureChannelProtocol.d.ts +31 -0
  694. package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -0
  695. package/dist/esm/securechannel/SecureChannelProtocol.js +127 -0
  696. package/dist/esm/securechannel/SecureChannelProtocol.js.map +6 -0
  697. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
  698. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
  699. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js +33 -0
  700. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
  701. package/dist/esm/securechannel/index.d.ts +9 -0
  702. package/dist/esm/securechannel/index.d.ts.map +1 -0
  703. package/dist/esm/securechannel/index.js +9 -0
  704. package/dist/esm/securechannel/index.js.map +6 -0
  705. package/dist/esm/session/InsecureSession.d.ts +38 -0
  706. package/dist/esm/session/InsecureSession.d.ts.map +1 -0
  707. package/dist/esm/session/InsecureSession.js +75 -0
  708. package/dist/esm/session/InsecureSession.js.map +6 -0
  709. package/dist/esm/session/SecureSession.d.ts +81 -0
  710. package/dist/esm/session/SecureSession.d.ts.map +1 -0
  711. package/dist/esm/session/SecureSession.js +281 -0
  712. package/dist/esm/session/SecureSession.js.map +6 -0
  713. package/dist/esm/session/Session.d.ts +102 -0
  714. package/dist/esm/session/Session.d.ts.map +1 -0
  715. package/dist/esm/session/Session.js +121 -0
  716. package/dist/esm/session/Session.js.map +6 -0
  717. package/dist/esm/session/SessionManager.d.ts +132 -0
  718. package/dist/esm/session/SessionManager.d.ts.map +1 -0
  719. package/dist/esm/session/SessionManager.js +411 -0
  720. package/dist/esm/session/SessionManager.js.map +6 -0
  721. package/dist/esm/session/case/CaseClient.d.ts +18 -0
  722. package/dist/esm/session/case/CaseClient.d.ts.map +1 -0
  723. package/dist/esm/session/case/CaseClient.js +208 -0
  724. package/dist/esm/session/case/CaseClient.js.map +6 -0
  725. package/dist/esm/session/case/CaseMessages.d.ts +82 -0
  726. package/dist/esm/session/case/CaseMessages.d.ts.map +1 -0
  727. package/dist/esm/session/case/CaseMessages.js +83 -0
  728. package/dist/esm/session/case/CaseMessages.js.map +6 -0
  729. package/dist/esm/session/case/CaseMessenger.d.ts +79 -0
  730. package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -0
  731. package/dist/esm/session/case/CaseMessenger.js +54 -0
  732. package/dist/esm/session/case/CaseMessenger.js.map +6 -0
  733. package/dist/esm/session/case/CaseServer.d.ts +18 -0
  734. package/dist/esm/session/case/CaseServer.d.ts.map +1 -0
  735. package/dist/esm/session/case/CaseServer.js +224 -0
  736. package/dist/esm/session/case/CaseServer.js.map +6 -0
  737. package/dist/esm/session/index.d.ts +18 -0
  738. package/dist/esm/session/index.d.ts.map +1 -0
  739. package/dist/esm/session/index.js +18 -0
  740. package/dist/esm/session/index.js.map +6 -0
  741. package/dist/esm/session/pase/PaseClient.d.ts +18 -0
  742. package/dist/esm/session/pase/PaseClient.d.ts.map +1 -0
  743. package/dist/esm/session/pase/PaseClient.js +81 -0
  744. package/dist/esm/session/pase/PaseClient.js.map +6 -0
  745. package/dist/esm/session/pase/PaseMessages.d.ts +85 -0
  746. package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -0
  747. package/dist/esm/session/pase/PaseMessages.js +68 -0
  748. package/dist/esm/session/pase/PaseMessages.js.map +6 -0
  749. package/dist/esm/session/pase/PaseMessenger.d.ts +75 -0
  750. package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -0
  751. package/dist/esm/session/pase/PaseMessenger.js +75 -0
  752. package/dist/esm/session/pase/PaseMessenger.js.map +6 -0
  753. package/dist/esm/session/pase/PaseServer.d.ts +29 -0
  754. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -0
  755. package/dist/esm/session/pase/PaseServer.js +148 -0
  756. package/dist/esm/session/pase/PaseServer.js.map +6 -0
  757. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  758. package/package.json +83 -0
  759. package/src/MatterDevice.ts +319 -0
  760. package/src/ble/Ble.ts +40 -0
  761. package/src/ble/BleConsts.ts +41 -0
  762. package/src/ble/BtpSessionHandler.ts +490 -0
  763. package/src/ble/index.ts +9 -0
  764. package/src/certificate/AttestationCertificateManager.ts +166 -0
  765. package/src/certificate/CertificateManager.ts +1136 -0
  766. package/src/certificate/CertificationDeclarationManager.ts +52 -0
  767. package/src/certificate/ChipPAAuthorities.ts +35 -0
  768. package/src/certificate/DeviceCertification.ts +116 -0
  769. package/src/certificate/RootCertificateManager.ts +179 -0
  770. package/src/certificate/index.ts +12 -0
  771. package/src/cluster/client/AttributeClient.ts +196 -0
  772. package/src/cluster/client/ClusterClient.ts +354 -0
  773. package/src/cluster/client/ClusterClientTypes.ts +257 -0
  774. package/src/cluster/client/EventClient.ts +110 -0
  775. package/src/cluster/client/index.ts +10 -0
  776. package/src/cluster/index.ts +8 -0
  777. package/src/cluster/server/AttributeServer.ts +986 -0
  778. package/src/cluster/server/ClusterDatasource.ts +17 -0
  779. package/src/cluster/server/ClusterServer.ts +46 -0
  780. package/src/cluster/server/CommandServer.ts +89 -0
  781. package/src/cluster/server/EventServer.ts +198 -0
  782. package/src/cluster/server/index.ts +11 -0
  783. package/src/codec/BtpCodec.ts +333 -0
  784. package/src/codec/MessageCodec.ts +276 -0
  785. package/src/codec/index.ts +9 -0
  786. package/src/common/FailsafeContext.ts +330 -0
  787. package/src/common/FailsafeTimer.ts +91 -0
  788. package/src/common/InstanceBroadcaster.ts +220 -0
  789. package/src/common/OperationalCredentialsTypes.ts +24 -0
  790. package/src/common/Scanner.ts +188 -0
  791. package/src/common/index.ts +12 -0
  792. package/src/endpoint/EndpointInterface.ts +41 -0
  793. package/src/endpoint/EndpointStructureLogger.ts +277 -0
  794. package/src/endpoint/index.ts +8 -0
  795. package/src/fabric/Fabric.ts +528 -0
  796. package/src/fabric/FabricManager.ts +231 -0
  797. package/src/fabric/index.ts +8 -0
  798. package/src/index.ts +20 -0
  799. package/src/interaction/AccessControlManager.ts +343 -0
  800. package/src/interaction/AttributeDataDecoder.ts +266 -0
  801. package/src/interaction/AttributeDataEncoder.ts +268 -0
  802. package/src/interaction/EventDataDecoder.ts +133 -0
  803. package/src/interaction/EventHandler.ts +141 -0
  804. package/src/interaction/InteractionClient.ts +1215 -0
  805. package/src/interaction/InteractionEndpointStructure.ts +462 -0
  806. package/src/interaction/InteractionMessenger.ts +592 -0
  807. package/src/interaction/InteractionServer.ts +1428 -0
  808. package/src/interaction/ServerSubscription.ts +908 -0
  809. package/src/interaction/Subscription.ts +89 -0
  810. package/src/interaction/SubscriptionOptions.ts +49 -0
  811. package/src/interaction/index.ts +17 -0
  812. package/src/mdns/MdnsBroadcaster.ts +415 -0
  813. package/src/mdns/MdnsConsts.ts +24 -0
  814. package/src/mdns/MdnsInstanceBroadcaster.ts +88 -0
  815. package/src/mdns/MdnsScanner.ts +1042 -0
  816. package/src/mdns/MdnsServer.ts +322 -0
  817. package/src/mdns/MdnsService.ts +102 -0
  818. package/src/mdns/index.ts +12 -0
  819. package/src/peer/ControllerCommissioner.ts +372 -0
  820. package/src/peer/ControllerCommissioningFlow.ts +1127 -0
  821. package/src/peer/ControllerDiscovery.ts +231 -0
  822. package/src/peer/OperationalPeer.ts +32 -0
  823. package/src/peer/PeerAddress.ts +78 -0
  824. package/src/peer/PeerSet.ts +684 -0
  825. package/src/peer/PeerStore.ts +19 -0
  826. package/src/peer/index.ts +13 -0
  827. package/src/protocol/ChannelManager.ts +168 -0
  828. package/src/protocol/DeviceAdvertiser.ts +208 -0
  829. package/src/protocol/DeviceCommissioner.ts +280 -0
  830. package/src/protocol/ExchangeManager.ts +493 -0
  831. package/src/protocol/MessageCounter.ts +128 -0
  832. package/src/protocol/MessageExchange.ts +662 -0
  833. package/src/protocol/MessageReceptionState.ts +207 -0
  834. package/src/protocol/ProtocolHandler.ts +14 -0
  835. package/src/protocol/index.ts +14 -0
  836. package/src/securechannel/SecureChannelMessenger.ts +166 -0
  837. package/src/securechannel/SecureChannelProtocol.ts +150 -0
  838. package/src/securechannel/SecureChannelStatusMessageSchema.ts +40 -0
  839. package/src/securechannel/index.ts +10 -0
  840. package/src/session/InsecureSession.ts +96 -0
  841. package/src/session/SecureSession.ts +349 -0
  842. package/src/session/Session.ts +188 -0
  843. package/src/session/SessionManager.ts +559 -0
  844. package/src/session/case/CaseClient.ts +235 -0
  845. package/src/session/case/CaseMessages.ts +81 -0
  846. package/src/session/case/CaseMessenger.ts +57 -0
  847. package/src/session/case/CaseServer.ts +269 -0
  848. package/src/session/index.ts +21 -0
  849. package/src/session/pase/PaseClient.ts +100 -0
  850. package/src/session/pase/PaseMessages.ts +72 -0
  851. package/src/session/pase/PaseMessenger.ts +86 -0
  852. package/src/session/pase/PaseServer.ts +187 -0
  853. package/src/tsconfig.json +20 -0
@@ -0,0 +1,351 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import {
7
+ AAAARecord,
8
+ ARecord,
9
+ BasicSet,
10
+ Bytes,
11
+ Crypto,
12
+ Diagnostic,
13
+ ImplementationError,
14
+ Logger,
15
+ PtrRecord,
16
+ SrvRecord,
17
+ TxtRecord,
18
+ isIPv4,
19
+ isIPv6
20
+ } from "#general";
21
+ import { NodeId } from "#types";
22
+ import {
23
+ PairingHintBitmapSchema
24
+ } from "../common/InstanceBroadcaster.js";
25
+ import {
26
+ SESSION_ACTIVE_INTERVAL_MS,
27
+ SESSION_ACTIVE_THRESHOLD_MS,
28
+ SESSION_IDLE_INTERVAL_MS
29
+ } from "../session/Session.js";
30
+ import {
31
+ MATTER_COMMISSIONER_SERVICE_QNAME,
32
+ MATTER_COMMISSION_SERVICE_QNAME,
33
+ MATTER_SERVICE_QNAME,
34
+ SERVICE_DISCOVERY_QNAME,
35
+ getCommissioningModeQname,
36
+ getDeviceInstanceQname,
37
+ getDeviceMatterQname,
38
+ getDeviceTypeQname,
39
+ getFabricQname,
40
+ getLongDiscriminatorQname,
41
+ getShortDiscriminatorQname,
42
+ getVendorQname
43
+ } from "./MdnsConsts.js";
44
+ import { MdnsInstanceBroadcaster } from "./MdnsInstanceBroadcaster.js";
45
+ import { AnnouncementType, MdnsServer } from "./MdnsServer.js";
46
+ const logger = Logger.get("MdnsBroadcaster");
47
+ const DEFAULT_PAIRING_HINT = {
48
+ powerCycle: true,
49
+ deviceManual: true
50
+ };
51
+ class MdnsBroadcaster {
52
+ #activeCommissioningAnnouncements = /* @__PURE__ */ new Set();
53
+ #activeOperationalAnnouncements = /* @__PURE__ */ new Map();
54
+ #network;
55
+ #mdnsServer;
56
+ #enableIpv4;
57
+ #instances = new BasicSet();
58
+ static async create(network, options) {
59
+ const { enableIpv4, multicastInterface } = options ?? {};
60
+ return new MdnsBroadcaster(
61
+ network,
62
+ await MdnsServer.create(network, { enableIpv4, netInterface: multicastInterface }),
63
+ enableIpv4
64
+ );
65
+ }
66
+ constructor(network, mdnsServer, enableIpv4) {
67
+ this.#network = network;
68
+ this.#mdnsServer = mdnsServer;
69
+ this.#enableIpv4 = enableIpv4;
70
+ }
71
+ createInstanceBroadcaster(port) {
72
+ const instance = new MdnsInstanceBroadcaster(port, this, () => {
73
+ this.#instances.delete(instance);
74
+ });
75
+ this.#instances.add(instance);
76
+ return instance;
77
+ }
78
+ #validateCommissioningData(data) {
79
+ const { sessionIdleInterval, sessionActiveInterval, sessionActiveThreshold } = data;
80
+ if (sessionIdleInterval !== void 0 && sessionIdleInterval > 36e5) {
81
+ throw new ImplementationError("Session Idle Interval must be less than 1 hour");
82
+ }
83
+ if (sessionActiveInterval !== void 0 && sessionActiveInterval > 36e5) {
84
+ throw new ImplementationError("Session Active Interval must be less than 1 hour");
85
+ }
86
+ if (sessionActiveThreshold !== void 0 && sessionActiveThreshold > 65535) {
87
+ throw new ImplementationError("Session Active Threshold must be less than 65535 seconds");
88
+ }
89
+ }
90
+ #validatePairingInstructions(pairingHint, pairingInstructions) {
91
+ const needsInstructions = [
92
+ "customInstruction",
93
+ "pressRestButtonForNumberOfSeconds",
94
+ "pressResetButtonUntilLightBlinks",
95
+ "pressResetButtonForNumberOfSecondsWithApplicationOfPower",
96
+ "pressResetButtonUntilLightBlinksWithApplicationOfPower",
97
+ "pressResetButtonNumberOfTimes",
98
+ "pressSetupButtonForNumberOfSeconds",
99
+ "pressSetupButtonUntilLightBlinks",
100
+ "pressSetupButtonForNumberOfSecondsWithApplicationOfPower",
101
+ "pressSetupButtonUntilLightBlinksWithApplicationOfPower",
102
+ "pressSetupButtonNumberOfTimes"
103
+ ].find((hint) => pairingHint[hint] === true);
104
+ if (needsInstructions && pairingInstructions.length === 0) {
105
+ throw new ImplementationError(
106
+ `Pairing instructions required for Pairing Hint of type "${needsInstructions}"`
107
+ );
108
+ }
109
+ }
110
+ #getIpRecords(hostname, ips) {
111
+ const records = new Array();
112
+ ips.forEach((ip) => {
113
+ if (isIPv6(ip)) {
114
+ records.push(AAAARecord(hostname, ip));
115
+ } else if (isIPv4(ip)) {
116
+ if (this.#enableIpv4) {
117
+ records.push(ARecord(hostname, ip));
118
+ }
119
+ } else {
120
+ logger.warn(`Unknown IP address type: ${ip}`);
121
+ }
122
+ });
123
+ return records;
124
+ }
125
+ /** Set the Broadcaster data to announce a device ready for commissioning in a special mode */
126
+ async setCommissionMode(announcedNetPort, mode, commissioningModeData) {
127
+ this.#validateCommissioningData(commissioningModeData);
128
+ const {
129
+ name: deviceName,
130
+ deviceType,
131
+ vendorId,
132
+ productId,
133
+ discriminator,
134
+ sessionIdleInterval = SESSION_IDLE_INTERVAL_MS,
135
+ sessionActiveInterval = SESSION_ACTIVE_INTERVAL_MS,
136
+ sessionActiveThreshold = SESSION_ACTIVE_THRESHOLD_MS,
137
+ pairingHint = DEFAULT_PAIRING_HINT,
138
+ pairingInstructions = ""
139
+ } = commissioningModeData;
140
+ this.#validatePairingInstructions(pairingHint, pairingInstructions);
141
+ await this.expireCommissioningAnnouncement(announcedNetPort);
142
+ logger.debug(
143
+ `Announce commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator} ${announcedNetPort}`
144
+ );
145
+ this.#activeCommissioningAnnouncements.add(announcedNetPort);
146
+ const shortDiscriminator = discriminator >> 8 & 15;
147
+ const instanceId = Bytes.toHex(Crypto.getRandomData(8)).toUpperCase();
148
+ const vendorQname = getVendorQname(vendorId);
149
+ const deviceTypeQname = getDeviceTypeQname(deviceType);
150
+ const shortDiscriminatorQname = getShortDiscriminatorQname(shortDiscriminator);
151
+ const longDiscriminatorQname = getLongDiscriminatorQname(discriminator);
152
+ const commissionModeQname = getCommissioningModeQname();
153
+ const deviceQname = getDeviceInstanceQname(instanceId);
154
+ await this.#mdnsServer.setRecordsGenerator(
155
+ announcedNetPort,
156
+ AnnouncementType.Commissionable,
157
+ async (netInterface) => {
158
+ const ipMac = await this.#network.getIpMac(netInterface);
159
+ if (ipMac === void 0) return [];
160
+ const { mac, ipV4, ipV6 } = ipMac;
161
+ const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
162
+ logger.debug(
163
+ "Announcement Generator: Commission mode ",
164
+ Diagnostic.dict({
165
+ mode,
166
+ qname: deviceQname,
167
+ port: announcedNetPort,
168
+ interface: netInterface
169
+ })
170
+ );
171
+ const records = [
172
+ PtrRecord(SERVICE_DISCOVERY_QNAME, MATTER_COMMISSION_SERVICE_QNAME),
173
+ PtrRecord(SERVICE_DISCOVERY_QNAME, vendorQname),
174
+ PtrRecord(SERVICE_DISCOVERY_QNAME, deviceTypeQname),
175
+ PtrRecord(SERVICE_DISCOVERY_QNAME, shortDiscriminatorQname),
176
+ PtrRecord(SERVICE_DISCOVERY_QNAME, longDiscriminatorQname),
177
+ PtrRecord(SERVICE_DISCOVERY_QNAME, commissionModeQname),
178
+ PtrRecord(MATTER_COMMISSION_SERVICE_QNAME, deviceQname),
179
+ PtrRecord(vendorQname, deviceQname),
180
+ PtrRecord(deviceTypeQname, deviceQname),
181
+ PtrRecord(shortDiscriminatorQname, deviceQname),
182
+ PtrRecord(longDiscriminatorQname, deviceQname),
183
+ PtrRecord(commissionModeQname, deviceQname),
184
+ SrvRecord(deviceQname, { priority: 0, weight: 0, port: announcedNetPort, target: hostname }),
185
+ TxtRecord(deviceQname, [
186
+ `VP=${vendorId}+${productId}`,
187
+ `DT=${deviceType}`,
188
+ `DN=${deviceName}`,
189
+ `SII=${sessionIdleInterval}`,
190
+ `SAI=${sessionActiveInterval}`,
191
+ `SAT=${sessionActiveThreshold}`,
192
+ //`T=${TCP_SUPPORTED}` /* TCP not supported */,
193
+ `D=${discriminator}`,
194
+ `CM=${mode}`,
195
+ `PH=${PairingHintBitmapSchema.encode(pairingHint)}`,
196
+ `PI=${pairingInstructions}`
197
+ //`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
198
+ ])
199
+ ];
200
+ records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
201
+ return records;
202
+ }
203
+ );
204
+ }
205
+ /** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
206
+ async setFabrics(announcedNetPort, fabrics, {
207
+ sessionIdleInterval = SESSION_IDLE_INTERVAL_MS,
208
+ sessionActiveInterval = SESSION_ACTIVE_INTERVAL_MS,
209
+ sessionActiveThreshold = SESSION_ACTIVE_THRESHOLD_MS
210
+ } = {}) {
211
+ const currentOperationalFabrics = this.#activeOperationalAnnouncements.get(announcedNetPort);
212
+ if (currentOperationalFabrics !== void 0) {
213
+ const fabricIndexesSet = new Set(fabrics.map((f) => f.fabricIndex));
214
+ if (!currentOperationalFabrics.every((fabricIndex) => fabricIndexesSet.has(fabricIndex))) {
215
+ await this.expireFabricAnnouncement(announcedNetPort);
216
+ }
217
+ }
218
+ this.#activeOperationalAnnouncements.set(
219
+ announcedNetPort,
220
+ fabrics.map((f) => f.fabricIndex)
221
+ );
222
+ await this.#mdnsServer.setRecordsGenerator(announcedNetPort, AnnouncementType.Operative, async (netInterface) => {
223
+ const ipMac = await this.#network.getIpMac(netInterface);
224
+ if (ipMac === void 0) return [];
225
+ const { mac, ipV4, ipV6 } = ipMac;
226
+ const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
227
+ const records = [PtrRecord(SERVICE_DISCOVERY_QNAME, MATTER_SERVICE_QNAME)];
228
+ fabrics.forEach((fabric) => {
229
+ const { operationalId, nodeId } = fabric;
230
+ const operationalIdString = Bytes.toHex(operationalId).toUpperCase();
231
+ const fabricQname = getFabricQname(operationalIdString);
232
+ const deviceMatterQname = getDeviceMatterQname(operationalIdString, NodeId.toHexString(nodeId));
233
+ logger.debug(
234
+ "Announcement Generator: Fabric",
235
+ Diagnostic.dict({
236
+ id: `${Bytes.toHex(operationalId)}/${nodeId}`,
237
+ qname: deviceMatterQname,
238
+ port: announcedNetPort,
239
+ interface: netInterface
240
+ })
241
+ );
242
+ const fabricRecords = [
243
+ PtrRecord(SERVICE_DISCOVERY_QNAME, fabricQname),
244
+ PtrRecord(MATTER_SERVICE_QNAME, deviceMatterQname),
245
+ PtrRecord(fabricQname, deviceMatterQname),
246
+ SrvRecord(deviceMatterQname, { priority: 0, weight: 0, port: announcedNetPort, target: hostname }),
247
+ TxtRecord(deviceMatterQname, [
248
+ `SII=${sessionIdleInterval}`,
249
+ `SAI=${sessionActiveInterval}`,
250
+ `SAT=${sessionActiveThreshold}`
251
+ //`T=${TCP_SUPPORTED}` /* TCP not supported */,
252
+ //`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
253
+ ])
254
+ ];
255
+ records.push(...fabricRecords);
256
+ });
257
+ records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
258
+ return records;
259
+ });
260
+ }
261
+ /** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
262
+ async setCommissionerInfo(announcedNetPort, {
263
+ deviceName,
264
+ deviceType,
265
+ vendorId,
266
+ productId,
267
+ sessionIdleInterval = SESSION_IDLE_INTERVAL_MS,
268
+ sessionActiveInterval = SESSION_ACTIVE_INTERVAL_MS,
269
+ sessionActiveThreshold = SESSION_ACTIVE_THRESHOLD_MS
270
+ }) {
271
+ logger.debug(
272
+ "Announcement: Commissioner",
273
+ Diagnostic.dict({
274
+ port: announcedNetPort,
275
+ deviceType
276
+ })
277
+ );
278
+ const instanceId = Bytes.toHex(Crypto.getRandomData(8)).toUpperCase();
279
+ const deviceTypeQname = `_T${deviceType}._sub.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
280
+ const vendorQname = `_V${vendorId}._sub.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
281
+ const deviceQname = `${instanceId}.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
282
+ this.#activeCommissioningAnnouncements.add(announcedNetPort);
283
+ await this.#mdnsServer.setRecordsGenerator(
284
+ announcedNetPort,
285
+ AnnouncementType.Commissionable,
286
+ async (netInterface) => {
287
+ const ipMac = await this.#network.getIpMac(netInterface);
288
+ if (ipMac === void 0) return [];
289
+ const { mac, ipV4, ipV6 } = ipMac;
290
+ const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
291
+ const records = [
292
+ PtrRecord(SERVICE_DISCOVERY_QNAME, MATTER_COMMISSIONER_SERVICE_QNAME),
293
+ PtrRecord(MATTER_COMMISSIONER_SERVICE_QNAME, vendorQname),
294
+ PtrRecord(vendorQname, deviceQname),
295
+ SrvRecord(deviceQname, { priority: 0, weight: 0, port: announcedNetPort, target: hostname }),
296
+ TxtRecord(deviceQname, [
297
+ `VP=${vendorId}+${productId}`,
298
+ `DT=${deviceType}`,
299
+ `DN=${deviceName}`,
300
+ `SII=${sessionIdleInterval}`,
301
+ `SAI=${sessionActiveInterval}`,
302
+ `SAT=${sessionActiveThreshold}`
303
+ //`T=${TCP_SUPPORTED}` /* TCP not supported */,
304
+ //`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
305
+ ])
306
+ ];
307
+ if (deviceType !== void 0) {
308
+ records.push(PtrRecord(SERVICE_DISCOVERY_QNAME, deviceTypeQname));
309
+ records.push(PtrRecord(deviceTypeQname, deviceQname));
310
+ }
311
+ records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
312
+ return records;
313
+ }
314
+ );
315
+ }
316
+ async announce(announcementPort) {
317
+ this.#mdnsServer.announce(announcementPort).catch((error) => logger.error(error));
318
+ }
319
+ async expireFabricAnnouncement(announcementPort) {
320
+ if (this.#activeOperationalAnnouncements.has(announcementPort)) {
321
+ await this.#mdnsServer.expireAnnouncements(announcementPort, AnnouncementType.Operative);
322
+ this.#activeOperationalAnnouncements.delete(announcementPort);
323
+ }
324
+ }
325
+ async expireCommissioningAnnouncement(announcementPort) {
326
+ if (this.#activeCommissioningAnnouncements.has(announcementPort)) {
327
+ await this.#mdnsServer.expireAnnouncements(announcementPort, AnnouncementType.Commissionable);
328
+ this.#activeCommissioningAnnouncements.delete(announcementPort);
329
+ }
330
+ }
331
+ async expireAllAnnouncements(announcementPort) {
332
+ if (!this.#activeCommissioningAnnouncements.has(announcementPort) && !this.#activeOperationalAnnouncements.has(announcementPort))
333
+ return;
334
+ await this.#mdnsServer.expireAnnouncements(announcementPort);
335
+ this.#activeCommissioningAnnouncements.delete(announcementPort);
336
+ this.#activeOperationalAnnouncements.delete(announcementPort);
337
+ }
338
+ async close() {
339
+ while (this.#instances.size) {
340
+ await this.#instances.deleted;
341
+ }
342
+ await this.#mdnsServer.expireAnnouncements();
343
+ this.#activeCommissioningAnnouncements.clear();
344
+ this.#activeOperationalAnnouncements.clear();
345
+ await this.#mdnsServer.close();
346
+ }
347
+ }
348
+ export {
349
+ MdnsBroadcaster
350
+ };
351
+ //# sourceMappingURL=MdnsBroadcaster.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/mdns/MdnsBroadcaster.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { VendorId } from "#types";
7
+ export declare const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
8
+ export declare const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
9
+ export declare const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
10
+ export declare const MATTER_SERVICE_QNAME = "_matter._tcp.local";
11
+ export declare const getFabricQname: (operationalIdString: string) => string;
12
+ export declare const getDeviceMatterQname: (operationalIdString: string, nodeIdString: string) => string;
13
+ export declare const getVendorQname: (vendorId: VendorId) => string;
14
+ export declare const getDeviceTypeQname: (deviceType: number) => string;
15
+ export declare const getShortDiscriminatorQname: (shortDiscriminator: number) => string;
16
+ export declare const getLongDiscriminatorQname: (longDiscriminator: number) => string;
17
+ export declare const getCommissioningModeQname: () => string;
18
+ export declare const getDeviceInstanceQname: (instanceId: string) => string;
19
+ //# sourceMappingURL=MdnsConsts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsConsts.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AACtE,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,eAAO,MAAM,cAAc,wBAAyB,MAAM,WAA4D,CAAC;AACvH,eAAO,MAAM,oBAAoB,wBAAyB,MAAM,gBAAgB,MAAM,WAClB,CAAC;AACrE,eAAO,MAAM,cAAc,aAAc,QAAQ,WAA4D,CAAC;AAC9G,eAAO,MAAM,kBAAkB,eAAgB,MAAM,WAA8D,CAAC;AACpH,eAAO,MAAM,0BAA0B,uBAAwB,MAAM,WACA,CAAC;AACtE,eAAO,MAAM,yBAAyB,sBAAuB,MAAM,WACC,CAAC;AACrE,eAAO,MAAM,yBAAyB,cAAsD,CAAC;AAC7F,eAAO,MAAM,sBAAsB,eAAgB,MAAM,WAAuD,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
7
+ const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
8
+ const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
9
+ const MATTER_SERVICE_QNAME = "_matter._tcp.local";
10
+ const getFabricQname = (operationalIdString) => `_I${operationalIdString}._sub.${MATTER_SERVICE_QNAME}`;
11
+ const getDeviceMatterQname = (operationalIdString, nodeIdString) => `${operationalIdString}-${nodeIdString}.${MATTER_SERVICE_QNAME}`;
12
+ const getVendorQname = (vendorId) => `_V${vendorId}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
13
+ const getDeviceTypeQname = (deviceType) => `_T${deviceType}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
14
+ const getShortDiscriminatorQname = (shortDiscriminator) => `_S${shortDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
15
+ const getLongDiscriminatorQname = (longDiscriminator) => `_L${longDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
16
+ const getCommissioningModeQname = () => `_CM._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
17
+ const getDeviceInstanceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSION_SERVICE_QNAME}`;
18
+ export {
19
+ MATTER_COMMISSIONER_SERVICE_QNAME,
20
+ MATTER_COMMISSION_SERVICE_QNAME,
21
+ MATTER_SERVICE_QNAME,
22
+ SERVICE_DISCOVERY_QNAME,
23
+ getCommissioningModeQname,
24
+ getDeviceInstanceQname,
25
+ getDeviceMatterQname,
26
+ getDeviceTypeQname,
27
+ getFabricQname,
28
+ getLongDiscriminatorQname,
29
+ getShortDiscriminatorQname,
30
+ getVendorQname
31
+ };
32
+ //# sourceMappingURL=MdnsConsts.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/mdns/MdnsConsts.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,0BAA0B;AAChC,MAAM,kCAAkC;AACxC,MAAM,oCAAoC;AAC1C,MAAM,uBAAuB;AAE7B,MAAM,iBAAiB,CAAC,wBAAgC,KAAK,mBAAmB,SAAS,oBAAoB;AAC7G,MAAM,uBAAuB,CAAC,qBAA6B,iBAC9D,GAAG,mBAAmB,IAAI,YAAY,IAAI,oBAAoB;AAC3D,MAAM,iBAAiB,CAAC,aAAuB,KAAK,QAAQ,SAAS,+BAA+B;AACpG,MAAM,qBAAqB,CAAC,eAAuB,KAAK,UAAU,SAAS,+BAA+B;AAC1G,MAAM,6BAA6B,CAAC,uBACvC,KAAK,kBAAkB,SAAS,+BAA+B;AAC5D,MAAM,4BAA4B,CAAC,sBACtC,KAAK,iBAAiB,SAAS,+BAA+B;AAC3D,MAAM,4BAA4B,MAAM,YAAY,+BAA+B;AACnF,MAAM,yBAAyB,CAAC,eAAuB,GAAG,UAAU,IAAI,+BAA+B;",
5
+ "names": []
6
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CommissionerInstanceData, CommissioningModeInstanceData, InstanceBroadcaster } from "../common/InstanceBroadcaster.js";
7
+ import { Fabric } from "../fabric/Fabric.js";
8
+ import type { MdnsBroadcaster } from "./MdnsBroadcaster.js";
9
+ /**
10
+ * This class is handing MDNS Announcements for one instance of a device aka "port".
11
+ *
12
+ * Obtain an instance via {@link MdnsBroadcaster.createInstanceBroadcaster}.
13
+ */
14
+ export declare class MdnsInstanceBroadcaster implements InstanceBroadcaster {
15
+ #private;
16
+ constructor(instancePort: number, mdnsBroadcaster: MdnsBroadcaster, onclose: () => void);
17
+ close(): Promise<void>;
18
+ setCommissionMode(mode: number, deviceData: CommissioningModeInstanceData): Promise<void>;
19
+ /** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
20
+ setFabrics(fabrics: Fabric[], expireCommissioningAnnouncements?: boolean): Promise<void>;
21
+ /** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
22
+ setCommissionerInfo(commissionerData: CommissionerInstanceData): Promise<void>;
23
+ announce(): Promise<void>;
24
+ expireFabricAnnouncement(): Promise<void>;
25
+ expireCommissioningAnnouncement(): Promise<void>;
26
+ expireAllAnnouncements(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=MdnsInstanceBroadcaster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsInstanceBroadcaster.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsInstanceBroadcaster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACH,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;;gBAMnD,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,IAAI;IAMjF,KAAK;IAUL,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,6BAA6B;IAK/E,mGAAmG;IAC7F,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,gCAAgC,UAAQ;IAQ5E,uFAAuF;IACjF,mBAAmB,CAAC,gBAAgB,EAAE,wBAAwB;IAK9D,QAAQ;IAKR,wBAAwB;IAKxB,+BAA+B;IAK/B,sBAAsB;CAU/B"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ImplementationError } from "#general";
7
+ class MdnsInstanceBroadcaster {
8
+ #instancePort;
9
+ #mdnsBroadcaster;
10
+ #onclose;
11
+ #isClosed = false;
12
+ constructor(instancePort, mdnsBroadcaster, onclose) {
13
+ this.#instancePort = instancePort;
14
+ this.#mdnsBroadcaster = mdnsBroadcaster;
15
+ this.#onclose = onclose;
16
+ }
17
+ async close() {
18
+ if (this.#isClosed) {
19
+ return;
20
+ }
21
+ this.#isClosed = true;
22
+ await this.#mdnsBroadcaster.expireAllAnnouncements(this.#instancePort);
23
+ this.#onclose();
24
+ }
25
+ async setCommissionMode(mode, deviceData) {
26
+ this.#assertOpen();
27
+ await this.#mdnsBroadcaster.setCommissionMode(this.#instancePort, mode, deviceData);
28
+ }
29
+ /** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
30
+ async setFabrics(fabrics, expireCommissioningAnnouncements = false) {
31
+ this.#assertOpen();
32
+ if (expireCommissioningAnnouncements) {
33
+ await this.#mdnsBroadcaster.expireCommissioningAnnouncement(this.#instancePort);
34
+ }
35
+ await this.#mdnsBroadcaster.setFabrics(this.#instancePort, fabrics);
36
+ }
37
+ /** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
38
+ async setCommissionerInfo(commissionerData) {
39
+ this.#assertOpen();
40
+ await this.#mdnsBroadcaster.setCommissionerInfo(this.#instancePort, commissionerData);
41
+ }
42
+ async announce() {
43
+ this.#assertOpen();
44
+ await this.#mdnsBroadcaster.announce(this.#instancePort);
45
+ }
46
+ async expireFabricAnnouncement() {
47
+ this.#assertOpen();
48
+ await this.#mdnsBroadcaster.expireFabricAnnouncement(this.#instancePort);
49
+ }
50
+ async expireCommissioningAnnouncement() {
51
+ this.#assertOpen();
52
+ await this.#mdnsBroadcaster.expireCommissioningAnnouncement(this.#instancePort);
53
+ }
54
+ async expireAllAnnouncements() {
55
+ this.#assertOpen();
56
+ await this.#mdnsBroadcaster.expireAllAnnouncements(this.#instancePort);
57
+ }
58
+ #assertOpen() {
59
+ if (this.#isClosed) {
60
+ throw new ImplementationError("Illegal operation on closed MdnsInstanceBroadcaster");
61
+ }
62
+ }
63
+ }
64
+ export {
65
+ MdnsInstanceBroadcaster
66
+ };
67
+ //# sourceMappingURL=MdnsInstanceBroadcaster.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/mdns/MdnsInstanceBroadcaster.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAc7B,MAAM,wBAAuD;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACT,YAAY;AAAA,EAEZ,YAAY,cAAsB,iBAAkC,SAAqB;AACrF,SAAK,gBAAgB;AACrB,SAAK,mBAAmB;AACxB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,QAAQ;AACV,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AACA,SAAK,YAAY;AAEjB,UAAM,KAAK,iBAAiB,uBAAuB,KAAK,aAAa;AACrE,SAAK,SAAS;AAAA,EAClB;AAAA,EAEA,MAAM,kBAAkB,MAAc,YAA2C;AAC7E,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,kBAAkB,KAAK,eAAe,MAAM,UAAU;AAAA,EACtF;AAAA;AAAA,EAGA,MAAM,WAAW,SAAmB,mCAAmC,OAAO;AAC1E,SAAK,YAAY;AACjB,QAAI,kCAAkC;AAClC,YAAM,KAAK,iBAAiB,gCAAgC,KAAK,aAAa;AAAA,IAClF;AACA,UAAM,KAAK,iBAAiB,WAAW,KAAK,eAAe,OAAO;AAAA,EACtE;AAAA;AAAA,EAGA,MAAM,oBAAoB,kBAA4C;AAClE,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,oBAAoB,KAAK,eAAe,gBAAgB;AAAA,EACxF;AAAA,EAEA,MAAM,WAAW;AACb,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,SAAS,KAAK,aAAa;AAAA,EAC3D;AAAA,EAEA,MAAM,2BAA2B;AAC7B,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,yBAAyB,KAAK,aAAa;AAAA,EAC3E;AAAA,EAEA,MAAM,kCAAkC;AACpC,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,gCAAgC,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,MAAM,yBAAyB;AAC3B,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,uBAAuB,KAAK,aAAa;AAAA,EACzE;AAAA,EAEA,cAAc;AACV,QAAI,KAAK,WAAW;AAChB,YAAM,IAAI,oBAAoB,qDAAqD;AAAA,IACvF;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ChannelType, Diagnostic, Network, ServerAddressIp, UdpMulticastServer } from "#general";
7
+ import { NodeId } from "#types";
8
+ import { CommissionableDevice, CommissionableDeviceIdentifiers, DiscoveryData, OperationalDevice, Scanner } from "../common/Scanner.js";
9
+ import { Fabric } from "../fabric/Fabric.js";
10
+ type MatterServerRecordWithExpire = ServerAddressIp & {
11
+ expires: number;
12
+ };
13
+ /**
14
+ * This class implements the Scanner interface for a MDNS scanner via UDP messages in a IP based network.
15
+ * It sends out queries to discover various types of Matter device types and listens for announcements.
16
+ */
17
+ export declare class MdnsScanner implements Scanner {
18
+ #private;
19
+ get type(): ChannelType;
20
+ static create(network: Network, options?: {
21
+ enableIpv4?: boolean;
22
+ netInterface?: string;
23
+ }): Promise<MdnsScanner>;
24
+ constructor(multicastServer: UdpMulticastServer, enableIpv4?: boolean);
25
+ /**
26
+ * Method to find an operational device (already commissioned) and return a promise with the list of discovered
27
+ * IP/ports or an empty array if not found.
28
+ */
29
+ findOperationalDevice({ operationalId }: Fabric, nodeId: NodeId, timeoutSeconds?: number, ignoreExistingRecords?: boolean): Promise<OperationalDevice | undefined>;
30
+ cancelOperationalDeviceDiscovery(fabric: Fabric, nodeId: NodeId, resolvePromise?: boolean): void;
31
+ cancelCommissionableDeviceDiscovery(identifier: CommissionableDeviceIdentifiers, resolvePromise?: boolean): void;
32
+ getDiscoveredOperationalDevice({ operationalId }: Fabric, nodeId: NodeId): OperationalDevice | undefined;
33
+ /**
34
+ * Discovers commissionable devices based on a defined identifier for maximal given timeout, but returns the
35
+ * first found entries. If already a discovered device matches in the cache the response is returned directly and
36
+ * no query is triggered. If no record exists a query is sent out and the promise gets fulfilled as soon as at least
37
+ * one device is found. If no device is discovered in the defined timeframe an empty array is returned. When the
38
+ * promise got fulfilled no more queries are send out, but more device entries might be added when discovered later.
39
+ * These can be requested by the getCommissionableDevices method.
40
+ */
41
+ findCommissionableDevices(identifier: CommissionableDeviceIdentifiers, timeoutSeconds?: number, ignoreExistingRecords?: boolean): Promise<CommissionableDevice[]>;
42
+ /**
43
+ * Discovers commissionable devices based on a defined identifier and returns the first found entries. If already a
44
+ * @param identifier
45
+ * @param callback
46
+ * @param timeoutSeconds
47
+ */
48
+ findCommissionableDevicesContinuously(identifier: CommissionableDeviceIdentifiers, callback: (device: CommissionableDevice) => void, timeoutSeconds?: number): Promise<CommissionableDevice[]>;
49
+ getDiscoveredCommissionableDevices(identifier: CommissionableDeviceIdentifiers): {
50
+ addresses: ServerAddressIp[];
51
+ expires: undefined;
52
+ VP?: string | undefined;
53
+ DT?: number | undefined;
54
+ DN?: string | undefined;
55
+ RI?: string | undefined;
56
+ PH?: number | undefined;
57
+ PI?: string | undefined;
58
+ SII?: number | undefined;
59
+ SAI?: number | undefined;
60
+ SAT?: number | undefined;
61
+ T?: number | undefined;
62
+ ICD?: number | undefined;
63
+ deviceIdentifier: string;
64
+ D: number;
65
+ CM: number;
66
+ instanceId: string;
67
+ SD: number;
68
+ V?: number;
69
+ P?: number;
70
+ }[];
71
+ /**
72
+ * Close all connects, end all timers and resolve all pending promises.
73
+ */
74
+ close(): Promise<void>;
75
+ static discoveryDataDiagnostics(data: DiscoveryData): Record<string, unknown> & Diagnostic;
76
+ static deviceAddressDiagnostics(addresses: Map<string, MatterServerRecordWithExpire>): (Record<string, unknown> & Diagnostic)[];
77
+ }
78
+ export {};
79
+ //# sourceMappingURL=MdnsScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,UAAU,EAWV,OAAO,EAEP,eAAe,EAIf,kBAAkB,EAGrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,OAAO,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgB7C,KAAK,4BAA4B,GAAG,eAAe,GAAG;IAClD,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAmBF;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,IAAI,IAAI,gBAEP;WAEY,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAkCnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IA8OrE;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAyBzC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAAO;IAKtF,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAKtG,8BAA8B,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAsKxE;;;;;;;OAOG;IACG,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAI,EAClB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkBlC;;;;;OAKG;IACG,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,SAAM,GACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA0BlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAjM3D,eAAe,EAAE;;;;;;;;;;;;;;;;oBA1XxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IA4jBV;;OAEG;IACG,KAAK;IAyXX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAgBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}