@matter/protocol 0.16.0-alpha.0-20251203-aaf94bca8 → 0.16.0-alpha.0-20251207-37e501b18

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 (570) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  2. package/dist/cjs/action/client/ClientInteraction.js +82 -34
  3. package/dist/cjs/action/client/ClientInteraction.js.map +2 -2
  4. package/dist/cjs/action/client/subscription/ClientSubscription.d.ts +10 -5
  5. package/dist/cjs/action/client/subscription/ClientSubscription.d.ts.map +1 -1
  6. package/dist/cjs/action/client/subscription/ClientSubscription.js +21 -1
  7. package/dist/cjs/action/client/subscription/ClientSubscription.js.map +2 -2
  8. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js +2 -3
  9. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  10. package/dist/cjs/action/client/subscription/ClientSubscriptions.d.ts +4 -2
  11. package/dist/cjs/action/client/subscription/ClientSubscriptions.d.ts.map +1 -1
  12. package/dist/cjs/action/client/subscription/ClientSubscriptions.js +68 -8
  13. package/dist/cjs/action/client/subscription/ClientSubscriptions.js.map +1 -1
  14. package/dist/cjs/action/client/subscription/PeerSubscription.d.ts +0 -1
  15. package/dist/cjs/action/client/subscription/PeerSubscription.d.ts.map +1 -1
  16. package/dist/cjs/action/client/subscription/PeerSubscription.js +1 -2
  17. package/dist/cjs/action/client/subscription/PeerSubscription.js.map +1 -1
  18. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts +0 -2
  19. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
  20. package/dist/cjs/action/client/subscription/SustainedSubscription.js +2 -4
  21. package/dist/cjs/action/client/subscription/SustainedSubscription.js.map +1 -1
  22. package/dist/cjs/action/request/Invoke.js +2 -2
  23. package/dist/cjs/action/request/Invoke.js.map +1 -1
  24. package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -1
  25. package/dist/cjs/action/server/AttributeReadResponse.js +78 -25
  26. package/dist/cjs/action/server/AttributeReadResponse.js.map +1 -1
  27. package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
  28. package/dist/cjs/action/server/AttributeWriteResponse.js +70 -17
  29. package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
  30. package/dist/cjs/action/server/CommandInvokeResponse.d.ts.map +1 -1
  31. package/dist/cjs/action/server/CommandInvokeResponse.js +83 -30
  32. package/dist/cjs/action/server/CommandInvokeResponse.js.map +1 -1
  33. package/dist/cjs/action/server/DataResponse.d.ts +1 -0
  34. package/dist/cjs/action/server/DataResponse.d.ts.map +1 -1
  35. package/dist/cjs/action/server/DataResponse.js +3 -0
  36. package/dist/cjs/action/server/DataResponse.js.map +1 -1
  37. package/dist/cjs/action/server/ServerInteraction.d.ts.map +1 -1
  38. package/dist/cjs/action/server/ServerInteraction.js +4 -4
  39. package/dist/cjs/action/server/ServerInteraction.js.map +1 -1
  40. package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -1
  41. package/dist/cjs/advertisement/Advertisement.js +66 -14
  42. package/dist/cjs/advertisement/Advertisement.js.map +1 -1
  43. package/dist/cjs/advertisement/Advertiser.d.ts +4 -1
  44. package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -1
  45. package/dist/cjs/advertisement/Advertiser.js +63 -2
  46. package/dist/cjs/advertisement/Advertiser.js.map +1 -1
  47. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +6 -1
  48. package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
  49. package/dist/cjs/advertisement/ble/BleAdvertiser.js +1 -1
  50. package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +1 -1
  51. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +5 -1
  52. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
  53. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +1 -1
  54. package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
  55. package/dist/cjs/certificate/kinds/definitions/asn.js +1 -1
  56. package/dist/cjs/certificate/kinds/definitions/asn.js.map +1 -1
  57. package/dist/cjs/certificate/kinds/definitions/attestation.d.ts.map +1 -1
  58. package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -1
  59. package/dist/cjs/cluster/client/AttributeClient.js +2 -2
  60. package/dist/cjs/cluster/client/AttributeClient.js.map +1 -1
  61. package/dist/cjs/codec/MessageCodec.d.ts +8 -1
  62. package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
  63. package/dist/cjs/codec/MessageCodec.js +38 -28
  64. package/dist/cjs/codec/MessageCodec.js.map +2 -2
  65. package/dist/cjs/common/FailsafeContext.d.ts +8 -9
  66. package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
  67. package/dist/cjs/common/FailsafeContext.js +27 -33
  68. package/dist/cjs/common/FailsafeContext.js.map +1 -1
  69. package/dist/cjs/common/FailsafeTimer.d.ts +4 -3
  70. package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -1
  71. package/dist/cjs/common/FailsafeTimer.js +4 -4
  72. package/dist/cjs/common/FailsafeTimer.js.map +1 -1
  73. package/dist/cjs/common/Mark.d.ts +17 -0
  74. package/dist/cjs/common/Mark.d.ts.map +1 -0
  75. package/dist/cjs/{peer/OperationalPeer.js → common/Mark.js} +19 -3
  76. package/dist/cjs/common/Mark.js.map +6 -0
  77. package/dist/cjs/common/index.d.ts +1 -0
  78. package/dist/cjs/common/index.d.ts.map +1 -1
  79. package/dist/cjs/common/index.js +1 -0
  80. package/dist/cjs/common/index.js.map +1 -1
  81. package/dist/cjs/fabric/Fabric.d.ts +16 -8
  82. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  83. package/dist/cjs/fabric/Fabric.js +35 -18
  84. package/dist/cjs/fabric/Fabric.js.map +1 -1
  85. package/dist/cjs/fabric/FabricAuthority.d.ts +2 -2
  86. package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
  87. package/dist/cjs/fabric/FabricAuthority.js +3 -3
  88. package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
  89. package/dist/cjs/fabric/FabricManager.d.ts +10 -14
  90. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
  91. package/dist/cjs/fabric/FabricManager.js +44 -40
  92. package/dist/cjs/fabric/FabricManager.js.map +2 -2
  93. package/dist/cjs/index.d.ts +1 -1
  94. package/dist/cjs/index.d.ts.map +1 -1
  95. package/dist/cjs/index.js +1 -1
  96. package/dist/cjs/index.js.map +1 -1
  97. package/dist/cjs/interaction/AttributeDataEncoder.d.ts +1 -1
  98. package/dist/cjs/interaction/InteractionClient.d.ts +2 -2
  99. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  100. package/dist/cjs/interaction/InteractionClient.js +39 -22
  101. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  102. package/dist/cjs/interaction/InteractionMessenger.d.ts +2 -2
  103. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  104. package/dist/cjs/interaction/InteractionMessenger.js +35 -27
  105. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  106. package/dist/cjs/interaction/Subscription.d.ts +16 -37
  107. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  108. package/dist/cjs/interaction/Subscription.js +15 -68
  109. package/dist/cjs/interaction/Subscription.js.map +2 -2
  110. package/dist/cjs/interaction/SubscriptionClient.d.ts +2 -2
  111. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
  112. package/dist/cjs/interaction/SubscriptionClient.js +2 -2
  113. package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
  114. package/dist/cjs/mdns/MdnsClient.d.ts +10 -10
  115. package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
  116. package/dist/cjs/mdns/MdnsClient.js +165 -80
  117. package/dist/cjs/mdns/MdnsClient.js.map +1 -1
  118. package/dist/cjs/mdns/MdnsServer.d.ts +2 -2
  119. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  120. package/dist/cjs/mdns/MdnsServer.js +173 -94
  121. package/dist/cjs/mdns/MdnsServer.js.map +2 -2
  122. package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
  123. package/dist/cjs/mdns/MdnsService.js +3 -2
  124. package/dist/cjs/mdns/MdnsService.js.map +1 -1
  125. package/dist/cjs/mdns/MdnsSocket.d.ts +3 -2
  126. package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -1
  127. package/dist/cjs/mdns/MdnsSocket.js +2 -1
  128. package/dist/cjs/mdns/MdnsSocket.js.map +1 -1
  129. package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
  130. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  131. package/dist/cjs/peer/ControllerCommissioner.js +26 -28
  132. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  133. package/dist/cjs/peer/ControllerDiscovery.d.ts +1 -1
  134. package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
  135. package/dist/cjs/peer/ControllerDiscovery.js +3 -3
  136. package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
  137. package/dist/cjs/peer/Peer.d.ts +57 -0
  138. package/dist/cjs/peer/Peer.d.ts.map +1 -0
  139. package/dist/cjs/peer/Peer.js +182 -0
  140. package/dist/cjs/peer/Peer.js.map +6 -0
  141. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  142. package/dist/cjs/peer/PeerAddress.js +5 -2
  143. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  144. package/dist/cjs/peer/PeerAddressStore.d.ts +3 -3
  145. package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
  146. package/{src/peer/OperationalPeer.ts → dist/cjs/peer/PeerDescriptor.d.ts} +14 -12
  147. package/dist/cjs/peer/PeerDescriptor.d.ts.map +1 -0
  148. package/dist/cjs/peer/PeerDescriptor.js +71 -0
  149. package/dist/cjs/peer/PeerDescriptor.js.map +6 -0
  150. package/dist/cjs/peer/PeerSet.d.ts +23 -26
  151. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  152. package/dist/cjs/peer/PeerSet.js +173 -173
  153. package/dist/cjs/peer/PeerSet.js.map +2 -2
  154. package/dist/cjs/peer/index.d.ts +1 -1
  155. package/dist/cjs/peer/index.d.ts.map +1 -1
  156. package/dist/cjs/peer/index.js +1 -1
  157. package/dist/cjs/peer/index.js.map +1 -1
  158. package/dist/cjs/protocol/DeviceAdvertiser.js +4 -4
  159. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  160. package/dist/cjs/protocol/ExchangeManager.d.ts +6 -9
  161. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  162. package/dist/cjs/protocol/ExchangeManager.js +306 -246
  163. package/dist/cjs/protocol/ExchangeManager.js.map +2 -2
  164. package/dist/cjs/protocol/ExchangeProvider.d.ts +9 -11
  165. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  166. package/dist/cjs/protocol/ExchangeProvider.js +79 -32
  167. package/dist/cjs/protocol/ExchangeProvider.js.map +2 -2
  168. package/dist/cjs/protocol/MessageChannel.d.ts +6 -7
  169. package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
  170. package/dist/cjs/protocol/MessageChannel.js +14 -16
  171. package/dist/cjs/protocol/MessageChannel.js.map +1 -1
  172. package/dist/cjs/protocol/MessageCounter.d.ts +4 -4
  173. package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -1
  174. package/dist/cjs/protocol/MessageCounter.js +7 -7
  175. package/dist/cjs/protocol/MessageCounter.js.map +1 -1
  176. package/dist/cjs/protocol/MessageExchange.d.ts +31 -20
  177. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  178. package/dist/cjs/protocol/MessageExchange.js +316 -231
  179. package/dist/cjs/protocol/MessageExchange.js.map +2 -2
  180. package/dist/cjs/protocol/ProtocolMocks.d.ts +100 -0
  181. package/dist/cjs/protocol/ProtocolMocks.d.ts.map +1 -0
  182. package/dist/cjs/protocol/ProtocolMocks.js +237 -0
  183. package/dist/cjs/protocol/ProtocolMocks.js.map +6 -0
  184. package/dist/cjs/protocol/errors.d.ts +35 -0
  185. package/dist/cjs/protocol/errors.d.ts.map +1 -0
  186. package/dist/cjs/protocol/errors.js +50 -0
  187. package/dist/cjs/protocol/errors.js.map +6 -0
  188. package/dist/cjs/protocol/index.d.ts +2 -1
  189. package/dist/cjs/protocol/index.d.ts.map +1 -1
  190. package/dist/cjs/protocol/index.js +2 -1
  191. package/dist/cjs/protocol/index.js.map +1 -1
  192. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -0
  193. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  194. package/dist/cjs/securechannel/SecureChannelMessenger.js +3 -0
  195. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  196. package/dist/cjs/securechannel/SecureChannelProtocol.js +2 -2
  197. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  198. package/dist/cjs/session/GroupSession.d.ts +21 -10
  199. package/dist/cjs/session/GroupSession.d.ts.map +1 -1
  200. package/dist/cjs/session/GroupSession.js +37 -12
  201. package/dist/cjs/session/GroupSession.js.map +1 -1
  202. package/dist/cjs/session/NodeSession.d.ts +56 -50
  203. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  204. package/dist/cjs/session/NodeSession.js +95 -103
  205. package/dist/cjs/session/NodeSession.js.map +1 -1
  206. package/dist/cjs/session/SecureSession.d.ts +4 -4
  207. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  208. package/dist/cjs/session/SecureSession.js +1 -1
  209. package/dist/cjs/session/SecureSession.js.map +1 -1
  210. package/dist/cjs/session/Session.d.ts +82 -66
  211. package/dist/cjs/session/Session.d.ts.map +1 -1
  212. package/dist/cjs/session/Session.js +218 -45
  213. package/dist/cjs/session/Session.js.map +1 -1
  214. package/dist/cjs/session/SessionManager.d.ts +33 -36
  215. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  216. package/dist/cjs/session/SessionManager.js +112 -150
  217. package/dist/cjs/session/SessionManager.js.map +1 -1
  218. package/dist/cjs/session/SessionParameters.d.ts +87 -0
  219. package/dist/cjs/session/SessionParameters.d.ts.map +1 -0
  220. package/dist/cjs/session/SessionParameters.js +81 -0
  221. package/dist/cjs/session/SessionParameters.js.map +6 -0
  222. package/dist/{esm/session/InsecureSession.d.ts → cjs/session/UnsecuredSession.d.ts} +18 -16
  223. package/dist/cjs/session/UnsecuredSession.d.ts.map +1 -0
  224. package/dist/cjs/session/{InsecureSession.js → UnsecuredSession.js} +21 -21
  225. package/dist/cjs/session/UnsecuredSession.js.map +6 -0
  226. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
  227. package/dist/cjs/session/case/CaseClient.js +6 -4
  228. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  229. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  230. package/dist/cjs/session/case/CaseServer.js +14 -10
  231. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  232. package/dist/cjs/session/index.d.ts +2 -1
  233. package/dist/cjs/session/index.d.ts.map +1 -1
  234. package/dist/cjs/session/index.js +2 -1
  235. package/dist/cjs/session/index.js.map +1 -1
  236. package/dist/cjs/session/pase/PaseClient.d.ts +3 -3
  237. package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
  238. package/dist/cjs/session/pase/PaseClient.js +5 -3
  239. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  240. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  241. package/dist/cjs/session/pase/PaseServer.js +13 -13
  242. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  243. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  244. package/dist/esm/action/client/ClientInteraction.js +82 -34
  245. package/dist/esm/action/client/ClientInteraction.js.map +2 -2
  246. package/dist/esm/action/client/subscription/ClientSubscription.d.ts +10 -5
  247. package/dist/esm/action/client/subscription/ClientSubscription.d.ts.map +1 -1
  248. package/dist/esm/action/client/subscription/ClientSubscription.js +22 -2
  249. package/dist/esm/action/client/subscription/ClientSubscription.js.map +2 -2
  250. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js +2 -3
  251. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  252. package/dist/esm/action/client/subscription/ClientSubscriptions.d.ts +4 -2
  253. package/dist/esm/action/client/subscription/ClientSubscriptions.d.ts.map +1 -1
  254. package/dist/esm/action/client/subscription/ClientSubscriptions.js +68 -8
  255. package/dist/esm/action/client/subscription/ClientSubscriptions.js.map +1 -1
  256. package/dist/esm/action/client/subscription/PeerSubscription.d.ts +0 -1
  257. package/dist/esm/action/client/subscription/PeerSubscription.d.ts.map +1 -1
  258. package/dist/esm/action/client/subscription/PeerSubscription.js +1 -2
  259. package/dist/esm/action/client/subscription/PeerSubscription.js.map +1 -1
  260. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts +0 -2
  261. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
  262. package/dist/esm/action/client/subscription/SustainedSubscription.js +2 -4
  263. package/dist/esm/action/client/subscription/SustainedSubscription.js.map +1 -1
  264. package/dist/esm/action/request/Invoke.js +2 -2
  265. package/dist/esm/action/request/Invoke.js.map +1 -1
  266. package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -1
  267. package/dist/esm/action/server/AttributeReadResponse.js +78 -25
  268. package/dist/esm/action/server/AttributeReadResponse.js.map +1 -1
  269. package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
  270. package/dist/esm/action/server/AttributeWriteResponse.js +70 -17
  271. package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
  272. package/dist/esm/action/server/CommandInvokeResponse.d.ts.map +1 -1
  273. package/dist/esm/action/server/CommandInvokeResponse.js +83 -30
  274. package/dist/esm/action/server/CommandInvokeResponse.js.map +1 -1
  275. package/dist/esm/action/server/DataResponse.d.ts +1 -0
  276. package/dist/esm/action/server/DataResponse.d.ts.map +1 -1
  277. package/dist/esm/action/server/DataResponse.js +3 -0
  278. package/dist/esm/action/server/DataResponse.js.map +1 -1
  279. package/dist/esm/action/server/ServerInteraction.d.ts.map +1 -1
  280. package/dist/esm/action/server/ServerInteraction.js +4 -4
  281. package/dist/esm/action/server/ServerInteraction.js.map +1 -1
  282. package/dist/esm/advertisement/Advertisement.d.ts.map +1 -1
  283. package/dist/esm/advertisement/Advertisement.js +66 -14
  284. package/dist/esm/advertisement/Advertisement.js.map +1 -1
  285. package/dist/esm/advertisement/Advertiser.d.ts +4 -1
  286. package/dist/esm/advertisement/Advertiser.d.ts.map +1 -1
  287. package/dist/esm/advertisement/Advertiser.js +63 -2
  288. package/dist/esm/advertisement/Advertiser.js.map +1 -1
  289. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +6 -1
  290. package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
  291. package/dist/esm/advertisement/ble/BleAdvertiser.js +1 -1
  292. package/dist/esm/advertisement/ble/BleAdvertiser.js.map +1 -1
  293. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +5 -1
  294. package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
  295. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +1 -1
  296. package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
  297. package/dist/esm/certificate/kinds/definitions/asn.js +2 -2
  298. package/dist/esm/certificate/kinds/definitions/asn.js.map +1 -1
  299. package/dist/esm/certificate/kinds/definitions/attestation.d.ts.map +1 -1
  300. package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -1
  301. package/dist/esm/cluster/client/AttributeClient.js +1 -1
  302. package/dist/esm/cluster/client/AttributeClient.js.map +1 -1
  303. package/dist/esm/codec/MessageCodec.d.ts +8 -1
  304. package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
  305. package/dist/esm/codec/MessageCodec.js +39 -28
  306. package/dist/esm/codec/MessageCodec.js.map +2 -2
  307. package/dist/esm/common/FailsafeContext.d.ts +8 -9
  308. package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
  309. package/dist/esm/common/FailsafeContext.js +27 -33
  310. package/dist/esm/common/FailsafeContext.js.map +1 -1
  311. package/dist/esm/common/FailsafeTimer.d.ts +4 -3
  312. package/dist/esm/common/FailsafeTimer.d.ts.map +1 -1
  313. package/dist/esm/common/FailsafeTimer.js +4 -4
  314. package/dist/esm/common/FailsafeTimer.js.map +1 -1
  315. package/dist/esm/common/Mark.d.ts +17 -0
  316. package/dist/esm/common/Mark.d.ts.map +1 -0
  317. package/dist/esm/common/Mark.js +18 -0
  318. package/dist/esm/common/Mark.js.map +6 -0
  319. package/dist/esm/common/index.d.ts +1 -0
  320. package/dist/esm/common/index.d.ts.map +1 -1
  321. package/dist/esm/common/index.js +1 -0
  322. package/dist/esm/common/index.js.map +1 -1
  323. package/dist/esm/fabric/Fabric.d.ts +16 -8
  324. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  325. package/dist/esm/fabric/Fabric.js +36 -18
  326. package/dist/esm/fabric/Fabric.js.map +1 -1
  327. package/dist/esm/fabric/FabricAuthority.d.ts +2 -2
  328. package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
  329. package/dist/esm/fabric/FabricAuthority.js +5 -5
  330. package/dist/esm/fabric/FabricAuthority.js.map +1 -1
  331. package/dist/esm/fabric/FabricManager.d.ts +10 -14
  332. package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
  333. package/dist/esm/fabric/FabricManager.js +45 -40
  334. package/dist/esm/fabric/FabricManager.js.map +2 -2
  335. package/dist/esm/index.d.ts +1 -1
  336. package/dist/esm/index.d.ts.map +1 -1
  337. package/dist/esm/index.js +1 -1
  338. package/dist/esm/index.js.map +1 -1
  339. package/dist/esm/interaction/AttributeDataEncoder.d.ts +1 -1
  340. package/dist/esm/interaction/InteractionClient.d.ts +2 -2
  341. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  342. package/dist/esm/interaction/InteractionClient.js +39 -22
  343. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  344. package/dist/esm/interaction/InteractionMessenger.d.ts +2 -2
  345. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  346. package/dist/esm/interaction/InteractionMessenger.js +33 -28
  347. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  348. package/dist/esm/interaction/Subscription.d.ts +16 -37
  349. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  350. package/dist/esm/interaction/Subscription.js +16 -69
  351. package/dist/esm/interaction/Subscription.js.map +2 -2
  352. package/dist/esm/interaction/SubscriptionClient.d.ts +2 -2
  353. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
  354. package/dist/esm/interaction/SubscriptionClient.js +2 -2
  355. package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
  356. package/dist/esm/mdns/MdnsClient.d.ts +10 -10
  357. package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
  358. package/dist/esm/mdns/MdnsClient.js +166 -80
  359. package/dist/esm/mdns/MdnsClient.js.map +1 -1
  360. package/dist/esm/mdns/MdnsServer.d.ts +2 -2
  361. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  362. package/dist/esm/mdns/MdnsServer.js +176 -94
  363. package/dist/esm/mdns/MdnsServer.js.map +2 -2
  364. package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
  365. package/dist/esm/mdns/MdnsService.js +3 -2
  366. package/dist/esm/mdns/MdnsService.js.map +1 -1
  367. package/dist/esm/mdns/MdnsSocket.d.ts +3 -2
  368. package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -1
  369. package/dist/esm/mdns/MdnsSocket.js +2 -1
  370. package/dist/esm/mdns/MdnsSocket.js.map +1 -1
  371. package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
  372. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  373. package/dist/esm/peer/ControllerCommissioner.js +26 -28
  374. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  375. package/dist/esm/peer/ControllerDiscovery.d.ts +1 -1
  376. package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
  377. package/dist/esm/peer/ControllerDiscovery.js +1 -1
  378. package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
  379. package/dist/esm/peer/Peer.d.ts +57 -0
  380. package/dist/esm/peer/Peer.d.ts.map +1 -0
  381. package/dist/esm/peer/Peer.js +162 -0
  382. package/dist/esm/peer/Peer.js.map +6 -0
  383. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  384. package/dist/esm/peer/PeerAddress.js +5 -2
  385. package/dist/esm/peer/PeerAddress.js.map +1 -1
  386. package/dist/esm/peer/PeerAddressStore.d.ts +3 -3
  387. package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
  388. package/dist/{cjs/peer/OperationalPeer.d.ts → esm/peer/PeerDescriptor.d.ts} +14 -7
  389. package/dist/esm/peer/PeerDescriptor.d.ts.map +1 -0
  390. package/dist/esm/peer/PeerDescriptor.js +51 -0
  391. package/dist/esm/peer/PeerDescriptor.js.map +6 -0
  392. package/dist/esm/peer/PeerSet.d.ts +23 -26
  393. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  394. package/dist/esm/peer/PeerSet.js +173 -175
  395. package/dist/esm/peer/PeerSet.js.map +2 -2
  396. package/dist/esm/peer/index.d.ts +1 -1
  397. package/dist/esm/peer/index.d.ts.map +1 -1
  398. package/dist/esm/peer/index.js +1 -1
  399. package/dist/esm/protocol/DeviceAdvertiser.js +4 -4
  400. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  401. package/dist/esm/protocol/ExchangeManager.d.ts +6 -9
  402. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  403. package/dist/esm/protocol/ExchangeManager.js +308 -251
  404. package/dist/esm/protocol/ExchangeManager.js.map +2 -2
  405. package/dist/esm/protocol/ExchangeProvider.d.ts +9 -11
  406. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  407. package/dist/esm/protocol/ExchangeProvider.js +81 -37
  408. package/dist/esm/protocol/ExchangeProvider.js.map +2 -2
  409. package/dist/esm/protocol/MessageChannel.d.ts +6 -7
  410. package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
  411. package/dist/esm/protocol/MessageChannel.js +22 -18
  412. package/dist/esm/protocol/MessageChannel.js.map +1 -1
  413. package/dist/esm/protocol/MessageCounter.d.ts +4 -4
  414. package/dist/esm/protocol/MessageCounter.d.ts.map +1 -1
  415. package/dist/esm/protocol/MessageCounter.js +7 -7
  416. package/dist/esm/protocol/MessageCounter.js.map +1 -1
  417. package/dist/esm/protocol/MessageExchange.d.ts +31 -20
  418. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  419. package/dist/esm/protocol/MessageExchange.js +318 -238
  420. package/dist/esm/protocol/MessageExchange.js.map +2 -2
  421. package/dist/esm/protocol/ProtocolMocks.d.ts +100 -0
  422. package/dist/esm/protocol/ProtocolMocks.d.ts.map +1 -0
  423. package/dist/esm/protocol/ProtocolMocks.js +230 -0
  424. package/dist/esm/protocol/ProtocolMocks.js.map +6 -0
  425. package/dist/esm/protocol/errors.d.ts +35 -0
  426. package/dist/esm/protocol/errors.d.ts.map +1 -0
  427. package/dist/esm/protocol/errors.js +30 -0
  428. package/dist/esm/protocol/errors.js.map +6 -0
  429. package/dist/esm/protocol/index.d.ts +2 -1
  430. package/dist/esm/protocol/index.d.ts.map +1 -1
  431. package/dist/esm/protocol/index.js +2 -1
  432. package/dist/esm/protocol/index.js.map +1 -1
  433. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -0
  434. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  435. package/dist/esm/securechannel/SecureChannelMessenger.js +3 -0
  436. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  437. package/dist/esm/securechannel/SecureChannelProtocol.js +2 -2
  438. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  439. package/dist/esm/session/GroupSession.d.ts +21 -10
  440. package/dist/esm/session/GroupSession.d.ts.map +1 -1
  441. package/dist/esm/session/GroupSession.js +41 -12
  442. package/dist/esm/session/GroupSession.js.map +1 -1
  443. package/dist/esm/session/NodeSession.d.ts +56 -50
  444. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  445. package/dist/esm/session/NodeSession.js +99 -105
  446. package/dist/esm/session/NodeSession.js.map +1 -1
  447. package/dist/esm/session/SecureSession.d.ts +4 -4
  448. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  449. package/dist/esm/session/SecureSession.js +1 -1
  450. package/dist/esm/session/SecureSession.js.map +1 -1
  451. package/dist/esm/session/Session.d.ts +82 -66
  452. package/dist/esm/session/Session.d.ts.map +1 -1
  453. package/dist/esm/session/Session.js +223 -45
  454. package/dist/esm/session/Session.js.map +1 -1
  455. package/dist/esm/session/SessionManager.d.ts +33 -36
  456. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  457. package/dist/esm/session/SessionManager.js +113 -157
  458. package/dist/esm/session/SessionManager.js.map +1 -1
  459. package/dist/esm/session/SessionParameters.d.ts +87 -0
  460. package/dist/esm/session/SessionParameters.d.ts.map +1 -0
  461. package/dist/esm/session/SessionParameters.js +61 -0
  462. package/dist/esm/session/SessionParameters.js.map +6 -0
  463. package/dist/{cjs/session/InsecureSession.d.ts → esm/session/UnsecuredSession.d.ts} +18 -16
  464. package/dist/esm/session/UnsecuredSession.d.ts.map +1 -0
  465. package/dist/esm/session/{InsecureSession.js → UnsecuredSession.js} +18 -18
  466. package/dist/esm/session/UnsecuredSession.js.map +6 -0
  467. package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
  468. package/dist/esm/session/case/CaseClient.js +5 -3
  469. package/dist/esm/session/case/CaseClient.js.map +1 -1
  470. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  471. package/dist/esm/session/case/CaseServer.js +14 -10
  472. package/dist/esm/session/case/CaseServer.js.map +1 -1
  473. package/dist/esm/session/index.d.ts +2 -1
  474. package/dist/esm/session/index.d.ts.map +1 -1
  475. package/dist/esm/session/index.js +2 -1
  476. package/dist/esm/session/index.js.map +1 -1
  477. package/dist/esm/session/pase/PaseClient.d.ts +3 -3
  478. package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
  479. package/dist/esm/session/pase/PaseClient.js +5 -3
  480. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  481. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  482. package/dist/esm/session/pase/PaseServer.js +13 -13
  483. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  484. package/package.json +6 -6
  485. package/src/action/client/ClientInteraction.ts +47 -13
  486. package/src/action/client/subscription/ClientSubscription.ts +30 -5
  487. package/src/action/client/subscription/ClientSubscriptionHandler.ts +2 -4
  488. package/src/action/client/subscription/ClientSubscriptions.ts +14 -3
  489. package/src/action/client/subscription/PeerSubscription.ts +2 -2
  490. package/src/action/client/subscription/SustainedSubscription.ts +2 -6
  491. package/src/action/request/Invoke.ts +2 -2
  492. package/src/action/server/AttributeReadResponse.ts +2 -0
  493. package/src/action/server/AttributeWriteResponse.ts +2 -0
  494. package/src/action/server/CommandInvokeResponse.ts +1 -0
  495. package/src/action/server/DataResponse.ts +4 -0
  496. package/src/action/server/ServerInteraction.ts +4 -4
  497. package/src/advertisement/Advertisement.ts +6 -7
  498. package/src/advertisement/Advertiser.ts +12 -1
  499. package/src/advertisement/ble/BleAdvertiser.ts +7 -2
  500. package/src/advertisement/mdns/MdnsAdvertiser.ts +7 -1
  501. package/src/certificate/kinds/definitions/asn.ts +2 -2
  502. package/src/certificate/kinds/definitions/attestation.ts +1 -0
  503. package/src/cluster/client/AttributeClient.ts +1 -1
  504. package/src/codec/MessageCodec.ts +39 -32
  505. package/src/common/FailsafeContext.ts +36 -39
  506. package/src/common/FailsafeTimer.ts +7 -6
  507. package/src/common/Mark.ts +17 -0
  508. package/src/common/index.ts +1 -0
  509. package/src/fabric/Fabric.ts +51 -23
  510. package/src/fabric/FabricAuthority.ts +4 -4
  511. package/src/fabric/FabricManager.ts +53 -40
  512. package/src/index.ts +3 -1
  513. package/src/interaction/InteractionClient.ts +40 -23
  514. package/src/interaction/InteractionMessenger.ts +38 -32
  515. package/src/interaction/Subscription.ts +20 -92
  516. package/src/interaction/SubscriptionClient.ts +3 -3
  517. package/src/mdns/MdnsClient.ts +20 -3
  518. package/src/mdns/MdnsServer.ts +13 -1
  519. package/src/mdns/MdnsService.ts +3 -2
  520. package/src/mdns/MdnsSocket.ts +9 -3
  521. package/src/peer/ControllerCommissioner.ts +35 -37
  522. package/src/peer/ControllerDiscovery.ts +1 -1
  523. package/src/peer/Peer.ts +161 -0
  524. package/src/peer/PeerAddress.ts +6 -2
  525. package/src/peer/PeerAddressStore.ts +3 -3
  526. package/src/peer/PeerDescriptor.ts +89 -0
  527. package/src/peer/PeerSet.ts +145 -213
  528. package/src/peer/index.ts +1 -1
  529. package/src/protocol/DeviceAdvertiser.ts +4 -4
  530. package/src/protocol/ExchangeManager.ts +161 -181
  531. package/src/protocol/ExchangeProvider.ts +31 -40
  532. package/src/protocol/MessageChannel.ts +29 -18
  533. package/src/protocol/MessageCounter.ts +8 -8
  534. package/src/protocol/MessageExchange.ts +181 -144
  535. package/src/protocol/ProtocolMocks.ts +302 -0
  536. package/src/protocol/errors.ts +44 -0
  537. package/src/protocol/index.ts +2 -1
  538. package/src/securechannel/SecureChannelMessenger.ts +4 -0
  539. package/src/securechannel/SecureChannelProtocol.ts +2 -2
  540. package/src/session/GroupSession.ts +67 -23
  541. package/src/session/NodeSession.ts +140 -136
  542. package/src/session/SecureSession.ts +6 -5
  543. package/src/session/Session.ts +234 -101
  544. package/src/session/SessionManager.ts +148 -187
  545. package/src/session/SessionParameters.ts +108 -0
  546. package/src/session/{InsecureSession.ts → UnsecuredSession.ts} +28 -26
  547. package/src/session/case/CaseClient.ts +6 -3
  548. package/src/session/case/CaseServer.ts +15 -11
  549. package/src/session/index.ts +2 -1
  550. package/src/session/pase/PaseClient.ts +12 -5
  551. package/src/session/pase/PaseServer.ts +14 -13
  552. package/dist/cjs/peer/OperationalPeer.d.ts.map +0 -1
  553. package/dist/cjs/peer/OperationalPeer.js.map +0 -6
  554. package/dist/cjs/protocol/ChannelManager.d.ts +0 -29
  555. package/dist/cjs/protocol/ChannelManager.d.ts.map +0 -1
  556. package/dist/cjs/protocol/ChannelManager.js +0 -178
  557. package/dist/cjs/protocol/ChannelManager.js.map +0 -6
  558. package/dist/cjs/session/InsecureSession.d.ts.map +0 -1
  559. package/dist/cjs/session/InsecureSession.js.map +0 -6
  560. package/dist/esm/peer/OperationalPeer.d.ts +0 -38
  561. package/dist/esm/peer/OperationalPeer.d.ts.map +0 -1
  562. package/dist/esm/peer/OperationalPeer.js +0 -6
  563. package/dist/esm/peer/OperationalPeer.js.map +0 -6
  564. package/dist/esm/protocol/ChannelManager.d.ts +0 -29
  565. package/dist/esm/protocol/ChannelManager.d.ts.map +0 -1
  566. package/dist/esm/protocol/ChannelManager.js +0 -158
  567. package/dist/esm/protocol/ChannelManager.js.map +0 -6
  568. package/dist/esm/session/InsecureSession.d.ts.map +0 -1
  569. package/dist/esm/session/InsecureSession.js.map +0 -6
  570. package/src/protocol/ChannelManager.ts +0 -180
@@ -4,37 +4,29 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Bytes, Crypto, Logger, MatterFlowError } from "#general";
7
+ import { Mark } from "#common/Mark.js";
8
+ import { Bytes, Crypto, Diagnostic, MatterFlowError } from "#general";
9
+ import { NoAssociatedFabricError } from "#protocol/errors.js";
8
10
  import { NodeId } from "#types";
9
11
  import { DecodedMessage, DecodedPacket, Message, MessageCodec, Packet, SessionType } from "../codec/MessageCodec.js";
10
- import { Fabric } from "../fabric/Fabric.js";
12
+ import type { Fabric } from "../fabric/Fabric.js";
11
13
  import { MessageCounter } from "../protocol/MessageCounter.js";
12
14
  import { MessageReceptionStateUnencryptedWithRollover } from "../protocol/MessageReceptionState.js";
13
- import { NoAssociatedFabricError } from "./NodeSession.js";
14
- import { Session, SessionParameterOptions } from "./Session.js";
15
- import type { SessionManager } from "./SessionManager.js";
16
-
17
- const logger = Logger.get("InsecureSession");
15
+ import { Session } from "./Session.js";
16
+ import { SessionParameters } from "./SessionParameters.js";
18
17
 
19
18
  export const UNICAST_UNSECURE_SESSION_ID = 0x0000;
20
19
 
21
- export class InsecureSession extends Session {
20
+ export class UnsecuredSession extends Session {
22
21
  readonly #initiatorNodeId: NodeId;
23
22
  readonly closingAfterExchangeFinished = false;
24
23
  readonly supportsMRP = true;
25
24
  readonly type = SessionType.Unicast;
26
25
 
27
- constructor(args: {
28
- crypto: Crypto;
29
- manager?: SessionManager;
30
- messageCounter: MessageCounter;
31
- initiatorNodeId?: NodeId;
32
- sessionParameters?: SessionParameterOptions;
33
- isInitiator?: boolean;
34
- }) {
35
- const { crypto, initiatorNodeId, isInitiator } = args;
26
+ constructor(config: UnsecuredSession.Config) {
27
+ const { crypto, initiatorNodeId, isInitiator } = config;
36
28
  super({
37
- ...args,
29
+ ...config,
38
30
  setActiveTimestamp: !isInitiator, // When we are the initiator we assume the node is in idle mode
39
31
  messageReceptionState: new MessageReceptionStateUnencryptedWithRollover(),
40
32
  });
@@ -65,8 +57,8 @@ export class InsecureSession extends Session {
65
57
  throw new MatterFlowError("Not supported on an unsecure session");
66
58
  }
67
59
 
68
- get name() {
69
- return `insecure/${this.#initiatorNodeId}`;
60
+ get via() {
61
+ return Diagnostic.via(`${Mark.SESSION}unsecured#${this.#initiatorNodeId.toString(16)}`);
70
62
  }
71
63
 
72
64
  get id(): number {
@@ -89,13 +81,23 @@ export class InsecureSession extends Session {
89
81
  throw new NoAssociatedFabricError("Session needs to be a secure session");
90
82
  }
91
83
 
92
- async destroy() {
93
- await this.end();
94
- await this.destroyed.emit();
84
+ override detachChannel() {
85
+ this.manager?.unsecuredSessions.delete(this.nodeId);
86
+ return super.detachChannel();
87
+ }
88
+
89
+ override async close() {
90
+ this.manager?.unsecuredSessions.delete(this.nodeId);
91
+ await super.close();
95
92
  }
93
+ }
96
94
 
97
- async end() {
98
- logger.info(`End insecure session ${this.name}`);
99
- this.manager?.insecureSessions.delete(this.nodeId);
95
+ export namespace UnsecuredSession {
96
+ export interface Config extends Session.CommonConfig {
97
+ crypto: Crypto;
98
+ messageCounter: MessageCounter;
99
+ initiatorNodeId?: NodeId;
100
+ sessionParameters?: SessionParameters.Config;
101
+ isInitiator?: boolean;
100
102
  }
101
103
  }
@@ -8,7 +8,8 @@ import { Icac } from "#certificate/kinds/Icac.js";
8
8
  import { Noc } from "#certificate/kinds/Noc.js";
9
9
  import { Fabric } from "#fabric/Fabric.js";
10
10
  import { Bytes, Duration, EcdsaSignature, Logger, PublicKey, UnexpectedDataError } from "#general";
11
- import { MessageExchange, RetransmissionLimitReachedError } from "#protocol/MessageExchange.js";
11
+ import { MessageExchange } from "#protocol/MessageExchange.js";
12
+ import { RetransmissionLimitReachedError } from "#protocol/errors.js";
12
13
  import { ChannelStatusResponseError } from "#securechannel/SecureChannelMessenger.js";
13
14
  import { NodeSession } from "#session/NodeSession.js";
14
15
  import { SessionManager } from "#session/SessionManager.js";
@@ -122,7 +123,8 @@ export class CaseClient {
122
123
 
123
124
  const secureSessionSalt = Bytes.concat(initiatorRandom, resumptionRecord.resumptionId);
124
125
  secureSession = await this.#sessions.createSecureSession({
125
- sessionId: initiatorSessionId,
126
+ channel: exchange.channel.channel,
127
+ id: initiatorSessionId,
126
128
  fabric,
127
129
  peerNodeId,
128
130
  peerSessionId,
@@ -234,7 +236,8 @@ export class CaseClient {
234
236
  await crypto.computeHash([sigma1Bytes, sigma2Bytes, sigma3Bytes]),
235
237
  );
236
238
  secureSession = await this.#sessions.createSecureSession({
237
- sessionId: initiatorSessionId,
239
+ channel: exchange.channel.channel,
240
+ id: initiatorSessionId,
238
241
  fabric,
239
242
  peerNodeId,
240
243
  peerSessionId,
@@ -5,8 +5,10 @@
5
5
  */
6
6
 
7
7
  import { Noc } from "#certificate/kinds/Noc.js";
8
+ import { Mark } from "#common/Mark.js";
8
9
  import {
9
10
  Bytes,
11
+ Channel,
10
12
  Crypto,
11
13
  CryptoDecryptError,
12
14
  Diagnostic,
@@ -58,23 +60,23 @@ export class CaseServer implements ProtocolHandler {
58
60
  try {
59
61
  await this.#handleSigma1(messenger);
60
62
  } catch (error) {
61
- logger.error("Error establishing CASE session", error);
62
-
63
63
  if (error instanceof FabricNotFoundError) {
64
+ logger.error("Error establishing CASE session:", Diagnostic.errorMessage(error));
64
65
  await messenger.sendError(SecureChannelStatusCode.NoSharedTrustRoots);
65
66
  }
66
67
  // If we received a ChannelStatusResponseError we do not need to send one back, so just cancel pairing
67
68
  else if (!(error instanceof ChannelStatusResponseError)) {
69
+ logger.error("Error establishing CASE session", error);
68
70
  await messenger.sendError(SecureChannelStatusCode.InvalidParam);
69
71
  }
70
72
  } finally {
71
73
  // Destroy the unsecure session used to establish the secure Case session
72
- await exchange.session.destroy();
74
+ await exchange.session.initiateClose();
73
75
  }
74
76
  }
75
77
 
76
78
  async #handleSigma1(messenger: CaseServerMessenger) {
77
- logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
79
+ logger.info("Received pairing request", Mark.INBOUND, Diagnostic.via(messenger.channelName));
78
80
 
79
81
  // Initialize context with information from peer
80
82
  const { sigma1Bytes, sigma1 } = await messenger.readSigma1();
@@ -86,12 +88,12 @@ export class CaseServer implements ProtocolHandler {
86
88
  const context = new Sigma1Context(this.#fabrics.crypto, messenger, sigma1Bytes, sigma1, resumptionRecord);
87
89
 
88
90
  // Attempt resumption
89
- if (await this.#resume(context)) {
91
+ if (await this.#resume(context, messenger.channel.channel)) {
90
92
  return;
91
93
  }
92
94
 
93
95
  // Attempt sigma2 negotiation
94
- if (await this.#generateSigma2(context)) {
96
+ if (await this.#generateSigma2(context, messenger.channel.channel)) {
95
97
  return;
96
98
  }
97
99
 
@@ -107,7 +109,7 @@ export class CaseServer implements ProtocolHandler {
107
109
  throw new UnexpectedDataError("Invalid resumption ID or resume MIC.");
108
110
  }
109
111
 
110
- async #resume(cx: Sigma1Context) {
112
+ async #resume(cx: Sigma1Context, channel: Channel<Bytes>) {
111
113
  if (cx.peerResumptionId === undefined || cx.peerResumeMic === undefined || cx.resumptionRecord === undefined) {
112
114
  return false;
113
115
  }
@@ -135,7 +137,8 @@ export class CaseServer implements ProtocolHandler {
135
137
  const responderSessionId = await this.#sessions.getNextAvailableSessionId();
136
138
  const secureSessionSalt = Bytes.concat(cx.peerRandom, cx.peerResumptionId);
137
139
  const secureSession = await this.#sessions.createSecureSession({
138
- sessionId: responderSessionId,
140
+ channel,
141
+ id: responderSessionId,
139
142
  fabric,
140
143
  peerNodeId,
141
144
  peerSessionId: cx.peerSessionId,
@@ -161,7 +164,7 @@ export class CaseServer implements ProtocolHandler {
161
164
  });
162
165
  } catch (error) {
163
166
  // If we fail to send the resume message, we destroy the session
164
- await secureSession.destroy(false);
167
+ await secureSession.initiateClose();
165
168
  throw error;
166
169
  }
167
170
 
@@ -178,7 +181,7 @@ export class CaseServer implements ProtocolHandler {
178
181
  return true;
179
182
  }
180
183
 
181
- async #generateSigma2(cx: Sigma1Context) {
184
+ async #generateSigma2(cx: Sigma1Context, channel: Channel<Bytes>) {
182
185
  if (
183
186
  // No resumption attempted is OK
184
187
  !(cx.peerResumptionId === undefined && cx.peerResumeMic === undefined) &&
@@ -271,7 +274,8 @@ export class CaseServer implements ProtocolHandler {
271
274
  await crypto.computeHash([cx.bytes, sigma2Bytes, sigma3Bytes]),
272
275
  );
273
276
  const secureSession = await this.#sessions.createSecureSession({
274
- sessionId: responderSessionId,
277
+ channel,
278
+ id: responderSessionId,
275
279
  fabric,
276
280
  peerNodeId,
277
281
  peerSessionId: cx.peerSessionId,
@@ -9,7 +9,6 @@ export * from "./case/CaseMessages.js";
9
9
  export * from "./case/CaseMessenger.js";
10
10
  export * from "./case/CaseServer.js";
11
11
  export * from "./GroupSession.js";
12
- export * from "./InsecureSession.js";
13
12
  export * from "./NodeSession.js";
14
13
  export * from "./pase/PaseClient.js";
15
14
  export * from "./pase/PaseMessages.js";
@@ -19,3 +18,5 @@ export * from "./SecureSession.js";
19
18
  export * from "./Session.js";
20
19
  export * from "./SessionIntervals.js";
21
20
  export * from "./SessionManager.js";
21
+ export * from "./SessionParameters.js";
22
+ export * from "./UnsecuredSession.js";
@@ -4,11 +4,12 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Bytes, Crypto, ec, Logger, PbkdfParameters, Spake2p, UnexpectedDataError } from "#general";
7
+ import { Mark } from "#common/Mark.js";
8
+ import { Bytes, Channel, Crypto, ec, Logger, PbkdfParameters, Spake2p, UnexpectedDataError } from "#general";
8
9
  import { SessionManager } from "#session/SessionManager.js";
10
+ import { SessionParameters } from "#session/SessionParameters.js";
9
11
  import { CommissioningOptions, NodeId, SecureChannelStatusCode } from "#types";
10
12
  import { MessageExchange } from "../../protocol/MessageExchange.js";
11
- import { SessionParameters } from "../Session.js";
12
13
  import { DEFAULT_PASSCODE_ID, PaseClientMessenger, SPAKE_CONTEXT } from "./PaseMessenger.js";
13
14
 
14
15
  const { numberToBytesBE } = ec;
@@ -40,7 +41,12 @@ export class PaseClient {
40
41
  return crypto.randomUint16 % 4096;
41
42
  }
42
43
 
43
- async pair(initiatorSessionParams: SessionParameters, exchange: MessageExchange, setupPin: number) {
44
+ async pair(
45
+ initiatorSessionParams: SessionParameters,
46
+ exchange: MessageExchange,
47
+ channel: Channel<Bytes>,
48
+ setupPin: number,
49
+ ) {
44
50
  const messenger = new PaseClientMessenger(exchange);
45
51
  const { crypto } = this.#sessions;
46
52
  const initiatorRandom = crypto.randomBytes(32);
@@ -95,7 +101,8 @@ export class PaseClient {
95
101
  // All good! Creating the secure session
96
102
  await messenger.waitForSuccess("PasePake3-Success");
97
103
  const secureSession = await this.#sessions.createSecureSession({
98
- sessionId: initiatorSessionId,
104
+ channel,
105
+ id: initiatorSessionId,
99
106
  fabric: undefined,
100
107
  peerNodeId: NodeId.UNSPECIFIED_NODE_ID,
101
108
  peerSessionId: responderSessionId,
@@ -106,7 +113,7 @@ export class PaseClient {
106
113
  peerSessionParameters,
107
114
  });
108
115
  await messenger.close();
109
- logger.info("Paired successfully »", messenger.channelName);
116
+ logger.info("Paired successfully", Mark.OUTBOUND, messenger.channelName);
110
117
 
111
118
  return secureSession;
112
119
  }
@@ -4,8 +4,10 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ import { Mark } from "#common/Mark.js";
7
8
  import {
8
9
  Bytes,
10
+ Channel,
9
11
  Crypto,
10
12
  Diagnostic,
11
13
  ec,
@@ -68,7 +70,7 @@ export class PaseServer implements ProtocolHandler {
68
70
 
69
71
  async onNewExchange(exchange: MessageExchange) {
70
72
  if (this.#closed) {
71
- logger.warn("Pase server: Received new exchange but server is closed, ignoring exchange.");
73
+ logger.warn("Received new exchange but server is closed, ignoring exchange");
72
74
  return;
73
75
  }
74
76
 
@@ -78,11 +80,9 @@ export class PaseServer implements ProtocolHandler {
78
80
  // the commissioning channel.
79
81
  const paseSession = this.sessions.getPaseSession();
80
82
  if (paseSession !== undefined && !paseSession.isClosing) {
81
- logger.info("Pase server: Pairing already in progress (PASE session exists), ignoring new exchange.");
83
+ logger.info("Pairing already in progress (PASE session exists), ignoring new exchange");
82
84
  } else if (this.#pairingTimer?.isRunning) {
83
- logger.info(
84
- "Pase server: Pairing already in progress (PASE establishment Timer running), ignoring new exchange.",
85
- );
85
+ logger.info("Pairing already in progress (PASE establishment timer running), ignoring new exchange");
86
86
  } else if (this.#pairingMessenger !== undefined) {
87
87
  logger.info("Already handling a pairing request, ignoring new exchange.");
88
88
  } else {
@@ -91,7 +91,7 @@ export class PaseServer implements ProtocolHandler {
91
91
  try {
92
92
  this.#pairingMessenger = messenger;
93
93
  // Ok new pairing try, handle it
94
- await this.handlePairingRequest(this.sessions.crypto);
94
+ await this.handlePairingRequest(this.sessions.crypto, messenger.channel.channel);
95
95
  } catch (error) {
96
96
  this.#pairingErrors++;
97
97
  logger.error(
@@ -105,21 +105,21 @@ export class PaseServer implements ProtocolHandler {
105
105
 
106
106
  if (this.#pairingErrors >= PASE_COMMISSIONING_MAX_ERRORS) {
107
107
  throw new MaximumPasePairingErrorsReachedError(
108
- `Pase server: Too many errors during PASE commissioning, aborting commissioning window`,
108
+ `Too many errors during PASE commissioning, aborting commissioning window`,
109
109
  );
110
110
  }
111
111
  } finally {
112
112
  this.#pairingMessenger = undefined;
113
113
  // Destroy the unsecure session used to establish the Pase session
114
- await exchange.session.destroy();
114
+ await exchange.session.initiateClose();
115
115
  }
116
116
  }
117
117
  }
118
118
 
119
- private async handlePairingRequest(crypto: Crypto) {
119
+ private async handlePairingRequest(crypto: Crypto, channel: Channel<Bytes>) {
120
120
  const messenger = this.#pairingMessenger!;
121
121
 
122
- logger.info("Received pairing request «", Diagnostic.via(messenger.channelName));
122
+ logger.info("Received pairing request", Mark.INBOUND, Diagnostic.via(messenger.channelName));
123
123
 
124
124
  this.#pairingTimer = Time.getTimer("PASE pairing timeout", PASE_PAIRING_TIMEOUT_MS, () =>
125
125
  this.cancelPairing(messenger),
@@ -171,8 +171,9 @@ export class PaseServer implements ProtocolHandler {
171
171
  }
172
172
 
173
173
  // All good! Creating the secure PASE session
174
- await this.sessions.createSecureSession({
175
- sessionId: responderSessionId,
174
+ const session = await this.sessions.createSecureSession({
175
+ channel,
176
+ id: responderSessionId,
176
177
  fabric: undefined,
177
178
  peerNodeId: NodeId.UNSPECIFIED_NODE_ID,
178
179
  peerSessionId,
@@ -182,7 +183,7 @@ export class PaseServer implements ProtocolHandler {
182
183
  isResumption: false,
183
184
  peerSessionParameters: initiatorSessionParams,
184
185
  });
185
- logger.info(Diagnostic.strong(`Session ${responderSessionId} created`), "with", messenger.channelName);
186
+ logger.info(session.via, "New session with", Diagnostic.strong(messenger.channelName));
186
187
 
187
188
  await messenger.sendSuccess();
188
189
  await messenger.close();
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationalPeer.d.ts","sourceRoot":"","sources":["../../../src/peer/OperationalPeer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAEtC;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B"}
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/peer/OperationalPeer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
- "names": []
6
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { AsyncObservable, Bytes, Channel, Environment, Environmental } from "#general";
7
- import { PeerAddress } from "#peer/PeerAddress.js";
8
- import { MessageChannel } from "#protocol/MessageChannel.js";
9
- import { Session } from "#session/Session.js";
10
- export declare class ChannelManager {
11
- #private;
12
- constructor(caseSessionsPerFabricAndNode?: number);
13
- static [Environmental.create](env: Environment): ChannelManager;
14
- get added(): AsyncObservable<[address: PeerAddress, channel: MessageChannel], void>;
15
- set caseSessionsPerFabricAndNode(count: number);
16
- setChannel(address: PeerAddress, channel: MessageChannel): Promise<void>;
17
- hasChannel(address: PeerAddress): boolean;
18
- getChannel(address: PeerAddress, session?: Session): MessageChannel;
19
- /**
20
- * Returns the last established session for a Fabric and Node
21
- */
22
- getChannelForSession(session: Session): MessageChannel | undefined;
23
- removeAllNodeChannels(address: PeerAddress): Promise<void>;
24
- removeChannel(address: PeerAddress, session: Session): Promise<void>;
25
- private getOrCreateAsPaseChannel;
26
- getOrCreateChannel(byteArrayChannel: Channel<Bytes>, session: Session): Promise<MessageChannel>;
27
- close(): Promise<void>;
28
- }
29
- //# sourceMappingURL=ChannelManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChannelManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ChannelManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAU,MAAM,UAAU,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C,qBAAa,cAAc;;gBAOX,4BAA4B,SAAI;IAI5C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,IAAI,KAAK,2EAER;IAED,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAE7C;IAYK,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc;IAmB9D,UAAU,CAAC,OAAO,EAAE,WAAW;IAM/B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO;IAalD;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAY/B,qBAAqB,CAAC,OAAO,EAAE,WAAW;IAO1C,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;IAiB1D,OAAO,CAAC,wBAAwB;IAc1B,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO;IA2BrE,KAAK;CAYd"}
@@ -1,178 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var ChannelManager_exports = {};
20
- __export(ChannelManager_exports, {
21
- ChannelManager: () => ChannelManager
22
- });
23
- module.exports = __toCommonJS(ChannelManager_exports);
24
- var import_general = require("#general");
25
- var import_PeerAddress = require("#peer/PeerAddress.js");
26
- var import_MessageChannel = require("#protocol/MessageChannel.js");
27
- var import_NodeSession = require("#session/NodeSession.js");
28
- /**
29
- * @license
30
- * Copyright 2022-2025 Matter.js Authors
31
- * SPDX-License-Identifier: Apache-2.0
32
- */
33
- const logger = import_general.Logger.get("ChannelManager");
34
- class ChannelManager {
35
- #channels = new import_PeerAddress.PeerAddressMap();
36
- #paseChannels = /* @__PURE__ */ new Map();
37
- #caseSessionsPerFabricAndNode;
38
- #added = (0, import_general.AsyncObservable)();
39
- // TODO evaluate with controller the effects of limiting the entries just for FabricIndex and not also NodeId
40
- constructor(caseSessionsPerFabricAndNode = 3) {
41
- this.#caseSessionsPerFabricAndNode = caseSessionsPerFabricAndNode;
42
- }
43
- static [import_general.Environmental.create](env) {
44
- const instance = new ChannelManager();
45
- env.set(ChannelManager, instance);
46
- return instance;
47
- }
48
- get added() {
49
- return this.#added;
50
- }
51
- set caseSessionsPerFabricAndNode(count) {
52
- this.#caseSessionsPerFabricAndNode = count;
53
- }
54
- #findLeastActiveChannel(channels) {
55
- let oldest = channels[0];
56
- for (const channel of channels) {
57
- if (channel.session.timestamp < oldest.session.timestamp) {
58
- oldest = channel;
59
- }
60
- }
61
- return oldest;
62
- }
63
- async setChannel(address, channel) {
64
- channel.closeCallback = async () => this.removeChannel(address, channel.session);
65
- const currentChannels = this.#channels.get(address) ?? [];
66
- currentChannels.push(channel);
67
- this.#channels.set(address, currentChannels);
68
- await this.#added.emit(address, channel);
69
- if (currentChannels.length > this.#caseSessionsPerFabricAndNode) {
70
- const oldestChannel = this.#findLeastActiveChannel(currentChannels);
71
- const { session: oldSession } = oldestChannel;
72
- if (channel.session.id !== oldSession.id) {
73
- await oldSession.destroy(false, false);
74
- }
75
- logger.info(`Close oldest channel for fabric ${(0, import_PeerAddress.PeerAddress)(address)} (from session ${oldSession.id})`);
76
- await oldestChannel.close();
77
- }
78
- }
79
- hasChannel(address) {
80
- return !!this.#channels.get(address)?.filter((channel) => !channel.closed && !channel.session.closingAfterExchangeFinished).length;
81
- }
82
- getChannel(address, session) {
83
- let results = this.#channels.get(address) ?? [];
84
- if (session !== void 0) {
85
- results = results.filter((channel) => channel.session.id === session.id);
86
- }
87
- results = results.filter((channel) => !channel.closed && !channel.session.closingAfterExchangeFinished);
88
- if (results.length === 0)
89
- throw new import_NodeSession.NoChannelError(
90
- `Can't find a channel to ${(0, import_PeerAddress.PeerAddress)(address)}${session !== void 0 ? ` session ${session.id}` : ""}`
91
- );
92
- return results[results.length - 1];
93
- }
94
- /**
95
- * Returns the last established session for a Fabric and Node
96
- */
97
- getChannelForSession(session) {
98
- if (import_NodeSession.NodeSession.is(session) && !session.isPase) {
99
- const fabric = session.fabric;
100
- const nodeId = session.peerNodeId;
101
- if (fabric === void 0) {
102
- return this.#paseChannels.get(session);
103
- }
104
- return this.getChannel(fabric.addressOf(nodeId), session);
105
- }
106
- return this.#paseChannels.get(session);
107
- }
108
- async removeAllNodeChannels(address) {
109
- const channelsToRemove = this.#channels.get(address) ?? [];
110
- for (const channel of channelsToRemove) {
111
- await channel.close();
112
- }
113
- }
114
- async removeChannel(address, session) {
115
- const fabricChannels = this.#channels.get(address) ?? [];
116
- const channelEntryIndex = fabricChannels.findIndex(
117
- ({ session: entrySession }) => entrySession.id === session.id
118
- );
119
- if (channelEntryIndex === -1) {
120
- return;
121
- }
122
- const channelEntry = fabricChannels.splice(channelEntryIndex, 1)[0];
123
- if (channelEntry === void 0) {
124
- return;
125
- }
126
- await channelEntry.close();
127
- this.#channels.set(address, fabricChannels);
128
- }
129
- getOrCreateAsPaseChannel(byteArrayChannel, session) {
130
- const msgChannel = new import_MessageChannel.MessageChannel(
131
- byteArrayChannel,
132
- session,
133
- async () => void this.#paseChannels.delete(session)
134
- );
135
- this.#paseChannels.set(session, msgChannel);
136
- if (session.isSecure) {
137
- session.destroyed.on(() => msgChannel.close());
138
- }
139
- return msgChannel;
140
- }
141
- async getOrCreateChannel(byteArrayChannel, session) {
142
- if (!import_NodeSession.NodeSession.is(session)) {
143
- return this.getOrCreateAsPaseChannel(byteArrayChannel, session);
144
- }
145
- const fabric = session.fabric;
146
- const nodeId = session.peerNodeId;
147
- if (fabric === void 0) {
148
- return this.getOrCreateAsPaseChannel(byteArrayChannel, session);
149
- }
150
- const address = fabric.addressOf(nodeId);
151
- try {
152
- return this.getChannel(address, session);
153
- } catch (e) {
154
- import_NodeSession.NoChannelError.accept(e);
155
- }
156
- const msgChannel = new import_MessageChannel.MessageChannel(
157
- byteArrayChannel,
158
- session,
159
- async () => this.removeChannel(address, session)
160
- );
161
- await this.setChannel(address, msgChannel);
162
- session.destroyed.on(() => msgChannel.close());
163
- return msgChannel;
164
- }
165
- async close() {
166
- for (const channel of this.#paseChannels.values()) {
167
- await channel.close();
168
- }
169
- this.#paseChannels.clear();
170
- for (const channels of this.#channels.values()) {
171
- for (const channel of channels) {
172
- await channel.close();
173
- }
174
- }
175
- this.#channels.clear();
176
- }
177
- }
178
- //# sourceMappingURL=ChannelManager.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/protocol/ChannelManager.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"InsecureSession.d.ts","sourceRoot":"","sources":["../../../src/session/InsecureSession.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAA2B,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAgB,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAG/D,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,eAAO,MAAM,2BAA2B,IAAS,CAAC;AAElD,qBAAa,eAAgB,SAAQ,OAAO;;IAExC,QAAQ,CAAC,4BAA4B,SAAS;IAC9C,QAAQ,CAAC,WAAW,QAAQ;IAC5B,QAAQ,CAAC,IAAI,uBAAuB;gBAExB,IAAI,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;QAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB;IAUD,IAAI,QAAQ,YAEX;IAED,IAAI,MAAM,YAET;IAED,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc;IAI7C,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAIhC,IAAI,uBAAuB,IAAI,KAAK,CAEnC;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC,IAAI,IAAI,WAEP;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,MAAM,WAET;IAED,IAAI,UAAU,cAEb;IAED,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAEK,OAAO;IAKP,GAAG;CAIZ"}
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/session/InsecureSession.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuD;AACvD,mBAAuB;AACvB,0BAA0F;AAG1F,mCAA6D;AAC7D,yBAAwC;AACxC,qBAAiD;AAbjD;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,SAAS,sBAAO,IAAI,iBAAiB;AAEpC,MAAM,8BAA8B;AAEpC,MAAM,wBAAwB,uBAAQ;AAAA,EAChC;AAAA,EACA,+BAA+B;AAAA,EAC/B,cAAc;AAAA,EACd,OAAO,gCAAY;AAAA,EAE5B,YAAY,MAOT;AACC,UAAM,EAAE,QAAQ,iBAAiB,YAAY,IAAI;AACjD,UAAM;AAAA,MACF,GAAG;AAAA,MACH,oBAAoB,CAAC;AAAA;AAAA,MACrB,uBAAuB,IAAI,0EAA6C;AAAA,IAC5E,CAAC;AACD,SAAK,mBAAmB,mBAAmB,oBAAO,wBAAwB,MAAM;AAAA,EACpF;AAAA,EAEA,IAAI,WAAW;AACX,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,SAAS;AACT,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,QAAuC;AAC1C,WAAO,iCAAa,cAAc,MAAM;AAAA,EAC5C;AAAA,EAEA,OAAO,SAA0B;AAC7B,WAAO,iCAAa,cAAc,OAAO;AAAA,EAC7C;AAAA,EAEA,IAAI,0BAAiC;AACjC,UAAM,IAAI,+BAAgB,sCAAsC;AAAA,EACpE;AAAA,EAEA,UAAU,SAAuB;AAC7B,UAAM,IAAI,+BAAgB,sCAAsC;AAAA,EACpE;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,YAAY,KAAK,gBAAgB;AAAA,EAC5C;AAAA,EAEA,IAAI,KAAa;AACb,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,gBAAwB;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,aAAa;AACb,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,mBAA2B;AAC3B,UAAM,IAAI,2CAAwB,sCAAsC;AAAA,EAC5E;AAAA,EAEA,MAAM,UAAU;AACZ,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,UAAU,KAAK;AAAA,EAC9B;AAAA,EAEA,MAAM,MAAM;AACR,WAAO,KAAK,wBAAwB,KAAK,IAAI,EAAE;AAC/C,SAAK,SAAS,iBAAiB,OAAO,KAAK,MAAM;AAAA,EACrD;AACJ;",
5
- "names": []
6
- }
@@ -1,38 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022-2025 Matter.js Authors
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { DiscoveryData } from "#common/Scanner.js";
7
- import { ServerAddressUdp } from "#general";
8
- import type { PeerDataStore } from "#peer/PeerAddressStore.js";
9
- import { SessionParameters } from "#session/Session.js";
10
- import { PeerAddress } from "./PeerAddress.js";
11
- /**
12
- * Operational information for a single peer.
13
- *
14
- * For our purposes a "peer" is another node commissioned to a fabric to which we have access.
15
- */
16
- export interface OperationalPeer {
17
- /**
18
- * The logical address of the peer.
19
- */
20
- address: PeerAddress;
21
- /**
22
- * A physical address the peer may be accessed at, if known.
23
- */
24
- operationalAddress?: ServerAddressUdp;
25
- /**
26
- * The peer's session parameters reported during discovery.
27
- */
28
- sessionParameters?: SessionParameters;
29
- /**
30
- * Additional information collected while locating the peer.
31
- */
32
- discoveryData?: DiscoveryData;
33
- /**
34
- * The data store for the peer.
35
- */
36
- dataStore?: PeerDataStore;
37
- }
38
- //# sourceMappingURL=OperationalPeer.d.ts.map