@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
@@ -24,59 +24,59 @@ module.exports = __toCommonJS(SessionManager_exports);
24
24
  var import_SupportedTransportsBitmap = require("#common/SupportedTransportsBitmap.js");
25
25
  var import_FabricManager = require("#fabric/FabricManager.js");
26
26
  var import_general = require("#general");
27
- var import_model = require("#model");
28
27
  var import_PeerAddress = require("#peer/PeerAddress.js");
28
+ var import_errors = require("#protocol/errors.js");
29
29
  var import_GroupSession = require("#session/GroupSession.js");
30
30
  var import_types = require("#types");
31
31
  var import_general2 = require("@matter/general");
32
32
  var import_MessageCounter = require("../protocol/MessageCounter.js");
33
- var import_InsecureSession = require("./InsecureSession.js");
34
33
  var import_NodeSession = require("./NodeSession.js");
35
34
  var import_SecureSession = require("./SecureSession.js");
36
- var import_Session = require("./Session.js");
37
- var import_SessionIntervals = require("./SessionIntervals.js");
35
+ var import_SessionParameters = require("./SessionParameters.js");
36
+ var import_UnsecuredSession = require("./UnsecuredSession.js");
38
37
  /**
39
38
  * @license
40
39
  * Copyright 2022-2025 Matter.js Authors
41
40
  * SPDX-License-Identifier: Apache-2.0
42
41
  */
43
42
  const logger = import_general.Logger.get("SessionManager");
44
- const DEFAULT_SESSION_PARAMETERS = {
45
- ...import_SessionIntervals.SessionIntervals.defaults,
46
- dataModelRevision: import_model.Specification.DATA_MODEL_REVISION,
47
- interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
48
- specificationVersion: import_model.Specification.SPECIFICATION_VERSION,
49
- maxPathsPerInvoke: import_types.DEFAULT_MAX_PATHS_PER_INVOKE,
50
- supportedTransports: {},
51
- maxTcpMessageSize: import_Session.FALLBACK_MAX_TCP_MESSAGE_SIZE
52
- };
53
43
  const ID_SPACE_UPPER_BOUND = 65535;
54
44
  class SessionManager {
55
45
  #context;
56
- #insecureSessions = /* @__PURE__ */ new Map();
46
+ #unsecuredSessions = /* @__PURE__ */ new Map();
57
47
  #sessions = new import_general.BasicSet();
58
48
  #groupSessions = /* @__PURE__ */ new Map();
59
49
  #nextSessionId;
60
50
  #resumptionRecords = new import_PeerAddress.PeerAddressMap();
61
51
  #globalUnencryptedMessageCounter;
62
- #subscriptionsChanged = (0, import_general.Observable)();
63
52
  #sessionParameters;
64
- #retry = (0, import_general.Observable)();
65
53
  #construction;
66
54
  #observers = new import_general.ObserverGroup();
67
55
  #subscriptionUpdateMutex = new import_general.Mutex(this);
68
56
  #idUpperBound = ID_SPACE_UPPER_BOUND;
57
+ #subscriptionsChanged = (0, import_general.Observable)();
58
+ #retry = (0, import_general.Observable)();
69
59
  constructor(context) {
70
60
  this.#context = context;
71
61
  const {
72
62
  fabrics: { crypto }
73
63
  } = context;
74
- this.#sessionParameters = { ...DEFAULT_SESSION_PARAMETERS, ...context.parameters };
64
+ this.#sessionParameters = (0, import_SessionParameters.SessionParameters)({ ...import_SessionParameters.SessionParameters.defaults, ...context.parameters });
75
65
  this.#nextSessionId = crypto.randomUint16;
76
66
  this.#globalUnencryptedMessageCounter = new import_MessageCounter.MessageCounter(crypto);
77
- this.#observers.on(context.fabrics.events.deleted, async (fabric) => {
67
+ this.#observers.on(context.fabrics.events.deleting, async (fabric) => {
78
68
  await this.deleteResumptionRecordsForFabric(fabric);
79
69
  });
70
+ this.#sessions.added.on((session) => {
71
+ const subscriptionsChanged = (subscription) => {
72
+ if (session.isClosing) {
73
+ return;
74
+ }
75
+ this.#subscriptionsChanged.emit(session, subscription);
76
+ };
77
+ session.subscriptions.added.on(subscriptionsChanged);
78
+ session.subscriptions.deleted.on(subscriptionsChanged);
79
+ });
80
80
  this.#construction = (0, import_general.Construction)(this, () => this.#initialize());
81
81
  }
82
82
  static [import_general.Environmental.create](env) {
@@ -103,10 +103,10 @@ class SessionManager {
103
103
  return this.#sessions;
104
104
  }
105
105
  /**
106
- * Active insecure sessions.
106
+ * Active unsecured sessions.
107
107
  */
108
- get insecureSessions() {
109
- return this.#insecureSessions;
108
+ get unsecuredSessions() {
109
+ return this.#unsecuredSessions;
110
110
  }
111
111
  /**
112
112
  * Our session parameters. These are the parameters we provide during session negotiation. The peer may specify
@@ -158,67 +158,37 @@ class SessionManager {
158
158
  get owner() {
159
159
  return this.#context.owner;
160
160
  }
161
- createInsecureSession(options) {
161
+ createUnsecuredSession(options) {
162
162
  this.#construction.assert();
163
- const { initiatorNodeId, sessionParameters, isInitiator } = options;
163
+ const { channel, initiatorNodeId, sessionParameters, isInitiator } = options;
164
164
  if (initiatorNodeId !== void 0) {
165
- if (this.#insecureSessions.has(initiatorNodeId)) {
166
- throw new import_general.MatterFlowError(`UnsecureSession with NodeId ${initiatorNodeId} already exists.`);
165
+ if (this.#unsecuredSessions.has(initiatorNodeId)) {
166
+ throw new import_general.MatterFlowError(`UnsecuredSession with NodeId ${initiatorNodeId} already exists.`);
167
167
  }
168
168
  }
169
169
  while (true) {
170
- const session = new import_InsecureSession.InsecureSession({
170
+ const session = new import_UnsecuredSession.UnsecuredSession({
171
171
  crypto: this.#context.fabrics.crypto,
172
172
  manager: this,
173
+ channel,
173
174
  messageCounter: this.#globalUnencryptedMessageCounter,
174
175
  initiatorNodeId,
175
176
  sessionParameters,
176
177
  isInitiator: isInitiator ?? false
177
178
  });
178
179
  const ephemeralNodeId = session.nodeId;
179
- if (this.#insecureSessions.has(ephemeralNodeId)) continue;
180
- this.#insecureSessions.set(ephemeralNodeId, session);
180
+ if (this.#unsecuredSessions.has(ephemeralNodeId)) continue;
181
+ this.#unsecuredSessions.set(ephemeralNodeId, session);
182
+ session.activate();
181
183
  return session;
182
184
  }
183
185
  }
184
- async createSecureSession(args) {
185
- await this.construction;
186
- const {
187
- sessionId,
188
- fabric,
189
- peerNodeId,
190
- peerSessionId,
191
- sharedSecret,
192
- salt,
193
- isInitiator,
194
- isResumption,
195
- peerSessionParameters,
196
- caseAuthenticatedTags
197
- } = args;
198
- const session = await import_NodeSession.NodeSession.create({
186
+ async createSecureSession(config) {
187
+ return await import_NodeSession.NodeSession.create({
199
188
  crypto: this.crypto,
200
- manager: this,
201
- id: sessionId,
202
- fabric,
203
- peerNodeId,
204
- peerSessionId,
205
- sharedSecret,
206
- salt,
207
- isInitiator,
208
- isResumption,
209
- peerSessionParameters,
210
- caseAuthenticatedTags
189
+ ...config,
190
+ manager: this
211
191
  });
212
- const subscriptionsChanged = (subscription) => {
213
- if (session.isClosing) {
214
- return;
215
- }
216
- this.#subscriptionsChanged.emit(session, subscription);
217
- };
218
- session.subscriptions.added.on(subscriptionsChanged);
219
- session.subscriptions.deleted.on(subscriptionsChanged);
220
- this.#sessions.add(session);
221
- return session;
222
192
  }
223
193
  /**
224
194
  * Deletes a resumption record for a given address. Returns true if the record was deleted, false if it did not
@@ -275,7 +245,9 @@ class SessionManager {
275
245
  }
276
246
  }
277
247
  const oldestSession = this.findOldestInactiveSession();
278
- await oldestSession.end(true, false);
248
+ await oldestSession.initiateClose(async () => {
249
+ await oldestSession.closeSubscriptions(true);
250
+ });
279
251
  this.#nextSessionId = oldestSession.id;
280
252
  return this.#nextSessionId++;
281
253
  }
@@ -285,9 +257,7 @@ class SessionManager {
285
257
  }
286
258
  getPaseSession() {
287
259
  this.#construction.assert();
288
- return [...this.#sessions].find(
289
- (session) => import_NodeSession.NodeSession.is(session) && session.isPase && !session.closingAfterExchangeFinished
290
- );
260
+ return [...this.#sessions].find((session) => import_NodeSession.NodeSession.is(session) && session.isPase && !session.isClosing);
291
261
  }
292
262
  forFabric(fabric) {
293
263
  this.#construction.assert();
@@ -295,38 +265,58 @@ class SessionManager {
295
265
  (session) => import_NodeSession.NodeSession.is(session) && session.isSecure && session.fabric?.fabricIndex === fabric.fabricIndex
296
266
  );
297
267
  }
298
- getSessionForNode(address) {
268
+ sessionFor(peer) {
269
+ const session = this.maybeSessionFor(peer);
270
+ if (session) {
271
+ return session;
272
+ }
273
+ throw new import_errors.SessionClosedError(`Not currently connected to ${(0, import_PeerAddress.PeerAddress)(peer)}`);
274
+ }
275
+ maybeSessionFor(address) {
299
276
  this.#construction.assert();
300
- return [...this.#sessions].find((session) => {
301
- if (!session.isSecure) return false;
302
- return session.peerIs(address);
303
- });
277
+ let found;
278
+ for (const session of this.#sessions) {
279
+ if (!session.peerIs(address) || session.isClosing) {
280
+ continue;
281
+ }
282
+ if (!found || found.timestamp < session.timestamp) {
283
+ found = session;
284
+ }
285
+ }
286
+ return found;
287
+ }
288
+ sessionsFor(address) {
289
+ address = (0, import_PeerAddress.PeerAddress)(address);
290
+ return this.#sessions.filter((session) => session.peerAddress === address && !session.isClosing);
304
291
  }
305
- async removeAllSessionsForNode(address, sendClose = false, closeBeforeCreatedTimestamp) {
292
+ sessionsForFabricIndex(fabricIndex) {
293
+ return this.#sessions.filter((session) => session.fabric?.fabricIndex === fabricIndex);
294
+ }
295
+ async handlePeerLoss(address, asOf) {
306
296
  await this.#construction;
307
297
  for (const session of this.#sessions) {
308
- if (!session.isSecure) continue;
309
- if (closeBeforeCreatedTimestamp !== void 0 && session.createdAt >= closeBeforeCreatedTimestamp) continue;
310
- const secureSession = session;
311
- if (secureSession.peerIs(address)) {
312
- await secureSession.destroy(sendClose, false);
313
- this.#sessions.delete(session);
298
+ if (!session.peerIs(address)) {
299
+ continue;
300
+ }
301
+ if (asOf !== void 0 && session.createdAt >= asOf) {
302
+ continue;
314
303
  }
304
+ await session.handlePeerLoss();
315
305
  }
316
306
  }
317
- getUnsecureSession(sourceNodeId) {
307
+ getUnsecuredSession(sourceNodeId) {
318
308
  this.#construction.assert();
319
309
  if (sourceNodeId === void 0) {
320
- return this.#insecureSessions.get(import_types.NodeId.UNSPECIFIED_NODE_ID);
310
+ return this.#unsecuredSessions.get(import_types.NodeId.UNSPECIFIED_NODE_ID);
321
311
  }
322
- return this.#insecureSessions.get(sourceNodeId);
312
+ return this.#unsecuredSessions.get(sourceNodeId);
323
313
  }
324
314
  /**
325
- * Creates or Returns a Group Session for a Group Peer Address.
326
- * This is used for sending group messages because it returns the session for the current
327
- * Group Epoch key. The Source Node Id is the own Node.
315
+ * Obtain an outbound group session for a specific group.
316
+ *
317
+ * Returns the session for the current group epoch key. The source is this node and the peer is the group.
328
318
  */
329
- groupSessionForAddress(address) {
319
+ async groupSessionForAddress(address, transports) {
330
320
  const groupId = import_types.GroupId.fromNodeId(address.nodeId);
331
321
  import_types.GroupId.assertGroupId(groupId);
332
322
  const fabric = this.fabricFor(address);
@@ -336,23 +326,27 @@ class SessionManager {
336
326
  `No group session data found for group ${groupId} in fabric ${fabric.fabricId}.`
337
327
  );
338
328
  }
339
- let session = this.#groupSessions.get(fabric.nodeId)?.get("id", sessionId);
340
- if (session === void 0) {
341
- session = new import_GroupSession.GroupSession({
342
- manager: this,
343
- id: sessionId,
344
- fabric,
345
- keySetId,
346
- operationalGroupKey: key,
347
- peerNodeId: address.nodeId
348
- // The peer node ID is the group node ID
349
- });
329
+ const session = this.#groupSessions.get(fabric.nodeId)?.get("id", sessionId);
330
+ if (session) {
331
+ return session;
350
332
  }
351
- return session;
333
+ return await import_GroupSession.GroupSession.create({
334
+ transports,
335
+ manager: this,
336
+ id: sessionId,
337
+ fabric,
338
+ keySetId,
339
+ operationalGroupKey: key,
340
+ groupNodeId: address.nodeId
341
+ });
352
342
  }
353
343
  /**
354
- * Creates or Returns the Group session based on an incoming packet.
355
- * The Session ID is determined by trying to decrypt te packet with possible keys.
344
+ * Obtain a Group session for an incoming packet.
345
+ *
346
+ * The session ID is determined by decrypting the packet with possible keys.
347
+ *
348
+ * Note that the resulting session is non-operational in the sense that attempting outbound communication will
349
+ * result in an error.
356
350
  */
357
351
  groupSessionFromPacket(packet, aad) {
358
352
  const groupId = packet.header.destGroupId;
@@ -445,17 +439,7 @@ class SessionManager {
445
439
  fabricId,
446
440
  fabricIndex,
447
441
  peerNodeId,
448
- sessionParameters: {
449
- idleInterval,
450
- activeInterval,
451
- activeThreshold,
452
- dataModelRevision,
453
- interactionModelRevision,
454
- specificationVersion,
455
- maxPathsPerInvoke,
456
- supportedTransports,
457
- maxTcpMessageSize
458
- } = {},
442
+ sessionParameters,
459
443
  caseAuthenticatedTags
460
444
  }) => {
461
445
  const fabric = this.#context.fabrics.find(
@@ -482,18 +466,8 @@ class SessionManager {
482
466
  resumptionId,
483
467
  fabric,
484
468
  peerNodeId,
485
- sessionParameters: {
486
- // Make sure to initialize default values when restoring an older resumption record
487
- idleInterval: idleInterval ?? import_SessionIntervals.SessionIntervals.defaults.idleInterval,
488
- activeInterval: activeInterval ?? import_SessionIntervals.SessionIntervals.defaults.activeInterval,
489
- activeThreshold: activeThreshold ?? import_SessionIntervals.SessionIntervals.defaults.activeThreshold,
490
- dataModelRevision: dataModelRevision ?? import_Session.FALLBACK_DATAMODEL_REVISION,
491
- interactionModelRevision: interactionModelRevision ?? import_Session.FALLBACK_INTERACTIONMODEL_REVISION,
492
- specificationVersion: specificationVersion ?? import_Session.FALLBACK_SPECIFICATION_VERSION,
493
- maxPathsPerInvoke: maxPathsPerInvoke ?? import_Session.FALLBACK_MAX_PATHS_PER_INVOKE,
494
- supportedTransports: supportedTransports !== void 0 ? import_SupportedTransportsBitmap.SupportedTransportsSchema.decode(supportedTransports) : {},
495
- maxTcpMessageSize: maxTcpMessageSize ?? import_Session.FALLBACK_MAX_TCP_MESSAGE_SIZE
496
- },
469
+ // Make sure to initialize default values when restoring an older resumption record
470
+ sessionParameters: (0, import_SessionParameters.SessionParameters)(sessionParameters),
497
471
  caseAuthenticatedTags
498
472
  });
499
473
  }
@@ -502,11 +476,11 @@ class SessionManager {
502
476
  getActiveSessionInformation() {
503
477
  this.#construction.assert();
504
478
  return [...this.#sessions].filter((session) => session.isSecure && !session.isPase).map((session) => ({
505
- name: session.name,
479
+ name: session.via,
506
480
  nodeId: session.nodeId,
507
481
  peerNodeId: session.peerNodeId,
508
482
  fabric: session instanceof import_SecureSession.SecureSession ? session.fabric?.externalInformation : void 0,
509
- isPeerActive: session.isPeerActive(),
483
+ isPeerActive: session.isPeerActive,
510
484
  secure: session.isSecure,
511
485
  lastInteractionTimestamp: session instanceof import_SecureSession.SecureSession ? session.timestamp : void 0,
512
486
  lastActiveTimestamp: session instanceof import_SecureSession.SecureSession ? session.activeTimestamp : void 0,
@@ -518,51 +492,39 @@ class SessionManager {
518
492
  await this.#construction;
519
493
  }
520
494
  this.#observers.close();
495
+ await this.#storeResumptionRecords();
521
496
  await this.closeAllSessions();
522
497
  }
523
498
  async clear() {
499
+ if (this.#construction.status === import_general.Lifecycle.Status.Initializing) {
500
+ await this.#construction;
501
+ }
524
502
  await this.closeAllSessions();
525
503
  await this.#context.storage.clear();
526
504
  this.#resumptionRecords.clear();
527
505
  }
528
506
  async closeAllSessions() {
507
+ if (this.#construction.status === import_general.Lifecycle.Status.Initializing) {
508
+ await this.#construction;
509
+ }
529
510
  await this.#subscriptionUpdateMutex;
530
- await this.#storeResumptionRecords();
531
511
  const closePromises = this.#sessions.map(async (session) => {
532
- await session?.end(false);
512
+ await session.closeSubscriptions(true);
513
+ await session.initiateForceClose();
533
514
  this.#sessions.delete(session);
534
515
  });
535
- for (const session of this.#insecureSessions.values()) {
536
- closePromises.push(session?.end());
516
+ for (const session of this.#unsecuredSessions.values()) {
517
+ closePromises.push(session.initiateClose());
537
518
  }
538
519
  for (const sessions of this.#groupSessions.values()) {
539
520
  for (const session of sessions) {
540
- closePromises.push(session?.end());
521
+ closePromises.push(session.initiateClose());
541
522
  }
542
523
  }
543
524
  await import_general.MatterAggregateError.allSettled(closePromises, "Error closing sessions").catch(
544
525
  (error) => logger.error(error)
545
526
  );
546
527
  }
547
- updateAllSubscriptions() {
548
- this.#subscriptionUpdateMutex.run(async () => {
549
- for (const session of this.#sessions) {
550
- for (const subscription of session.subscriptions) {
551
- await subscription.update();
552
- }
553
- }
554
- });
555
- }
556
- /** Clears all subscriptions for a given node and returns how many were cleared. */
557
- async clearSubscriptionsForNode(peerAddress, flushSubscriptions) {
558
- let clearedCount = 0;
559
- for (const session of this.#sessions) {
560
- if (import_PeerAddress.PeerAddress.is(session.peerAddress, peerAddress)) {
561
- clearedCount += await session.clearSubscriptions(flushSubscriptions, true);
562
- }
563
- }
564
- return clearedCount;
565
- }
566
528
  /**
567
529
  * Compress range of IDs. This is intended for testing.
568
530
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/session/SessionManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["import_general", "fabric"]
6
6
  }
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { SupportedTransportsBitmap } from "#common/SupportedTransportsBitmap.js";
7
+ import { SessionIntervals } from "./SessionIntervals.js";
8
+ export interface SessionParameters extends SessionIntervals {
9
+ /** Version of Data Model for the Session parameters side where it appears. */
10
+ dataModelRevision: number;
11
+ /** Version of Interaction Model for the Session parameters side where it appears. */
12
+ interactionModelRevision: number;
13
+ /** Version of Specification for the Session parameters side where it appears. */
14
+ specificationVersion: number;
15
+ /** The maximum number of elements in the InvokeRequests list that the Node is able to process. */
16
+ maxPathsPerInvoke: number;
17
+ /** A bitmap of the supported transport protocols in addition to MRP. */
18
+ supportedTransports: SessionParameters.SupportedTransports;
19
+ /**
20
+ * Maximum size of the message carried over TCP, excluding the framing message length field, that the node is
21
+ * capable of receiving from its peer.
22
+ */
23
+ maxTcpMessageSize?: number;
24
+ }
25
+ export declare function SessionParameters(config?: SessionParameters.Config): SessionParameters;
26
+ export declare namespace SessionParameters {
27
+ interface SupportedTransports extends Partial<SupportedTransportsBitmap> {
28
+ }
29
+ interface Config extends Partial<Omit<SessionParameters, "supportedTransports">> {
30
+ supportedTransports?: number | SupportedTransports;
31
+ }
32
+ /**
33
+ * Session parameters we use for peers if not supplied by the peer.
34
+ */
35
+ const fallbacks: {
36
+ /**
37
+ * Fallback value for Data Model Revision when not provided in Session parameters. We use Matter 1.2 as
38
+ * assumption.
39
+ */
40
+ dataModelRevision: number;
41
+ /**
42
+ * Fallback value for Interaction Model Revision when not provided in Session parameters. We use Matter 1.2 as
43
+ * assumption.
44
+ */
45
+ interactionModelRevision: number;
46
+ /**
47
+ * Fallback value for Specification Version when not provided in Session parameters. We use 0 as assumption which is
48
+ * "before 1.3".
49
+ */
50
+ specificationVersion: number;
51
+ /**
52
+ * Fallback value for the maximum number of paths that can be included in a single invoke message when not provided in
53
+ * Session parameters.
54
+ */
55
+ maxPathsPerInvoke: number;
56
+ /**
57
+ * No TCP support by default.
58
+ */
59
+ supportedTransports: {};
60
+ maxTcpMessageSize: number;
61
+ idleInterval: import("@matter/general").Duration;
62
+ activeInterval: import("@matter/general").Duration;
63
+ activeThreshold: import("@matter/general").Duration;
64
+ };
65
+ /**
66
+ * Session parameters we use for ourselves.
67
+ */
68
+ const defaults: {
69
+ dataModelRevision: number;
70
+ interactionModelRevision: number;
71
+ specificationVersion: number;
72
+ /**
73
+ * Fallback value for the maximum number of paths that can be included in a single invoke message when not provided in
74
+ * Session parameters.
75
+ */
76
+ maxPathsPerInvoke: number;
77
+ /**
78
+ * No TCP support by default.
79
+ */
80
+ supportedTransports: {};
81
+ maxTcpMessageSize: number;
82
+ idleInterval: import("@matter/general").Duration;
83
+ activeInterval: import("@matter/general").Duration;
84
+ activeThreshold: import("@matter/general").Duration;
85
+ };
86
+ }
87
+ //# sourceMappingURL=SessionParameters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionParameters.d.ts","sourceRoot":"","sources":["../../../src/session/SessionParameters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAA6B,MAAM,sCAAsC,CAAC;AAE5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,EAAE,MAAM,CAAC;IAEjC,iFAAiF;IACjF,oBAAoB,EAAE,MAAM,CAAC;IAE7B,kGAAkG;IAClG,iBAAiB,EAAE,MAAM,CAAC;IAE1B,wEAAwE;IACxE,mBAAmB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC;IAE3D;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,GAAG,iBAAiB,CAiBtF;AAED,yBAAiB,iBAAiB,CAAC;IAC/B,UAAiB,mBAAoB,SAAQ,OAAO,CAAC,yBAAyB,CAAC;KAAG;IAElF,UAAiB,MAAO,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;QACnF,mBAAmB,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;KACtD;IAED;;OAEG;IACI,MAAM,SAAS;QAGlB;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;;WAGG;;QAGH;;WAEG;;;;;;KAIN,CAAC;IAEF;;OAEG;IACI,MAAM,QAAQ;;;;QAjBjB;;;WAGG;;QAGH;;WAEG;;;;;;KAeN,CAAC;CACL"}
@@ -0,0 +1,81 @@
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 SessionParameters_exports = {};
20
+ __export(SessionParameters_exports, {
21
+ SessionParameters: () => SessionParameters
22
+ });
23
+ module.exports = __toCommonJS(SessionParameters_exports);
24
+ var import_SupportedTransportsBitmap = require("#common/SupportedTransportsBitmap.js");
25
+ var import_model = require("#model");
26
+ var import_SessionIntervals = require("./SessionIntervals.js");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2025 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ function SessionParameters(config) {
33
+ let supportedTransports = config?.supportedTransports;
34
+ if (typeof supportedTransports === "number") {
35
+ supportedTransports = import_SupportedTransportsBitmap.SupportedTransportsSchema.decode(supportedTransports);
36
+ }
37
+ supportedTransports ??= SessionParameters.fallbacks.supportedTransports;
38
+ let maxTcpMessageSize;
39
+ if (supportedTransports.tcpClient || supportedTransports.tcpServer) {
40
+ maxTcpMessageSize = config?.maxTcpMessageSize;
41
+ maxTcpMessageSize ??= SessionParameters.fallbacks.maxTcpMessageSize;
42
+ }
43
+ return { ...SessionParameters.fallbacks, ...config, supportedTransports, maxTcpMessageSize };
44
+ }
45
+ ((SessionParameters2) => {
46
+ SessionParameters2.fallbacks = {
47
+ ...import_SessionIntervals.SessionIntervals.defaults,
48
+ /**
49
+ * Fallback value for Data Model Revision when not provided in Session parameters. We use Matter 1.2 as
50
+ * assumption.
51
+ */
52
+ dataModelRevision: 17,
53
+ /**
54
+ * Fallback value for Interaction Model Revision when not provided in Session parameters. We use Matter 1.2 as
55
+ * assumption.
56
+ */
57
+ interactionModelRevision: 11,
58
+ /**
59
+ * Fallback value for Specification Version when not provided in Session parameters. We use 0 as assumption which is
60
+ * "before 1.3".
61
+ */
62
+ specificationVersion: 0,
63
+ /**
64
+ * Fallback value for the maximum number of paths that can be included in a single invoke message when not provided in
65
+ * Session parameters.
66
+ */
67
+ maxPathsPerInvoke: 1,
68
+ /**
69
+ * No TCP support by default.
70
+ */
71
+ supportedTransports: {},
72
+ maxTcpMessageSize: 64e3
73
+ };
74
+ SessionParameters2.defaults = {
75
+ ...SessionParameters2.fallbacks,
76
+ dataModelRevision: import_model.Specification.DATA_MODEL_REVISION,
77
+ interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
78
+ specificationVersion: import_model.Specification.SPECIFICATION_VERSION
79
+ };
80
+ })(SessionParameters || (SessionParameters = {}));
81
+ //# sourceMappingURL=SessionParameters.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/session/SessionParameters.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uCAAqE;AACrE,mBAA8B;AAC9B,8BAAiC;AARjC;AAAA;AAAA;AAAA;AAAA;AAiCO,SAAS,kBAAkB,QAAsD;AAEpF,MAAI,sBAAsB,QAAQ;AAClC,MAAI,OAAO,wBAAwB,UAAU;AACzC,0BAAsB,2DAA0B,OAAO,mBAAmB;AAAA,EAC9E;AACA,0BAAwB,kBAAkB,UAAU;AAIpD,MAAI;AACJ,MAAI,oBAAoB,aAAa,oBAAoB,WAAW;AAChE,wBAAoB,QAAQ;AAC5B,0BAAsB,kBAAkB,UAAU;AAAA,EACtD;AAEA,SAAO,EAAE,GAAG,kBAAkB,WAAW,GAAG,QAAQ,qBAAqB,kBAAkB;AAC/F;AAAA,CAEO,CAAUA,uBAAV;AAUI,EAAMA,mBAAA,YAAY;AAAA,IACrB,GAAG,yCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMpB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMtB,mBAAmB;AAAA;AAAA;AAAA;AAAA,IAKnB,qBAAqB,CAAC;AAAA,IAEtB,mBAAmB;AAAA,EACvB;AAKO,EAAMA,mBAAA,WAAW;AAAA,IACpB,GAAGA,mBAAA;AAAA,IAEH,mBAAmB,2BAAc;AAAA,IACjC,0BAA0B,2BAAc;AAAA,IACxC,sBAAsB,2BAAc;AAAA,EACxC;AAAA,GAtDa;",
5
+ "names": ["SessionParameters"]
6
+ }