@matter/protocol 0.12.4-alpha.0-20250223-1e0341a1a → 0.12.4-alpha.0-20250224-46934b522

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 (245) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts +38 -0
  2. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -0
  3. package/dist/cjs/action/client/ClientInteraction.js +91 -0
  4. package/dist/cjs/action/client/ClientInteraction.js.map +6 -0
  5. package/dist/cjs/action/client/index.d.ts +7 -0
  6. package/dist/cjs/action/client/index.d.ts.map +1 -0
  7. package/dist/cjs/action/client/index.js +24 -0
  8. package/dist/cjs/action/client/index.js.map +6 -0
  9. package/dist/cjs/action/index.d.ts +1 -0
  10. package/dist/cjs/action/index.d.ts.map +1 -1
  11. package/dist/cjs/action/index.js +1 -0
  12. package/dist/cjs/action/index.js.map +1 -1
  13. package/dist/cjs/interaction/DecodedDataReport.d.ts +15 -0
  14. package/dist/cjs/interaction/DecodedDataReport.d.ts.map +1 -0
  15. package/dist/cjs/interaction/DecodedDataReport.js +42 -0
  16. package/dist/cjs/interaction/DecodedDataReport.js.map +6 -0
  17. package/dist/cjs/interaction/InteractionClient.d.ts +17 -23
  18. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  19. package/dist/cjs/interaction/InteractionClient.js +100 -127
  20. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  21. package/dist/cjs/interaction/InteractionMessenger.d.ts +94 -1
  22. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  23. package/dist/cjs/interaction/InteractionMessenger.js +56 -37
  24. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  25. package/dist/cjs/interaction/InteractionServer.d.ts +22 -3
  26. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -1
  27. package/dist/cjs/interaction/InteractionServer.js +129 -45
  28. package/dist/cjs/interaction/InteractionServer.js.map +1 -1
  29. package/dist/cjs/interaction/ServerSubscription.d.ts +8 -16
  30. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  31. package/dist/cjs/interaction/ServerSubscription.js +78 -55
  32. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  33. package/dist/cjs/interaction/Subscription.d.ts +7 -1
  34. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  35. package/dist/cjs/interaction/Subscription.js +25 -2
  36. package/dist/cjs/interaction/Subscription.js.map +1 -1
  37. package/dist/cjs/interaction/SubscriptionClient.d.ts +38 -0
  38. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -0
  39. package/dist/cjs/interaction/SubscriptionClient.js +98 -0
  40. package/dist/cjs/interaction/SubscriptionClient.js.map +6 -0
  41. package/dist/cjs/interaction/index.d.ts +1 -0
  42. package/dist/cjs/interaction/index.d.ts.map +1 -1
  43. package/dist/cjs/interaction/index.js +1 -0
  44. package/dist/cjs/interaction/index.js.map +1 -1
  45. package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
  46. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  47. package/dist/cjs/peer/ControllerCommissioner.js +7 -7
  48. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  49. package/dist/cjs/peer/InteractionQueue.d.ts +11 -0
  50. package/dist/cjs/peer/InteractionQueue.d.ts.map +1 -0
  51. package/dist/cjs/peer/InteractionQueue.js +42 -0
  52. package/dist/cjs/peer/InteractionQueue.js.map +6 -0
  53. package/dist/cjs/peer/PeerAddress.d.ts +5 -0
  54. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  55. package/dist/cjs/peer/PeerAddress.js +13 -1
  56. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  57. package/dist/cjs/peer/PeerAddressStore.d.ts +1 -1
  58. package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
  59. package/dist/cjs/peer/PeerSet.d.ts +20 -7
  60. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  61. package/dist/cjs/peer/PeerSet.js +74 -67
  62. package/dist/cjs/peer/PeerSet.js.map +1 -1
  63. package/dist/cjs/peer/PhysicalDeviceProperties.d.ts +26 -0
  64. package/dist/cjs/peer/PhysicalDeviceProperties.d.ts.map +1 -0
  65. package/dist/cjs/peer/PhysicalDeviceProperties.js +74 -0
  66. package/dist/cjs/peer/PhysicalDeviceProperties.js.map +6 -0
  67. package/dist/cjs/peer/index.d.ts +1 -0
  68. package/dist/cjs/peer/index.d.ts.map +1 -1
  69. package/dist/cjs/peer/index.js +1 -0
  70. package/dist/cjs/peer/index.js.map +1 -1
  71. package/dist/cjs/protocol/ExchangeManager.d.ts +1 -0
  72. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  73. package/dist/cjs/protocol/ExchangeManager.js +6 -3
  74. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  75. package/dist/cjs/protocol/ExchangeProvider.d.ts +13 -1
  76. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  77. package/dist/cjs/protocol/ExchangeProvider.js +2 -0
  78. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  79. package/dist/cjs/protocol/ProtocolHandler.d.ts +1 -1
  80. package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
  81. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -0
  82. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  83. package/dist/cjs/securechannel/SecureChannelMessenger.js +3 -0
  84. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  85. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
  86. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  87. package/dist/cjs/securechannel/SecureChannelProtocol.js +1 -3
  88. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  89. package/dist/cjs/session/SecureSession.d.ts +1 -1
  90. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  91. package/dist/cjs/session/SecureSession.js +3 -2
  92. package/dist/cjs/session/SecureSession.js.map +1 -1
  93. package/dist/cjs/session/Session.d.ts +1 -0
  94. package/dist/cjs/session/Session.d.ts.map +1 -1
  95. package/dist/cjs/session/Session.js +1 -0
  96. package/dist/cjs/session/Session.js.map +1 -1
  97. package/dist/cjs/session/SessionManager.d.ts +2 -2
  98. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  99. package/dist/cjs/session/SessionManager.js +6 -9
  100. package/dist/cjs/session/SessionManager.js.map +1 -1
  101. package/dist/cjs/session/case/CaseServer.d.ts +1 -1
  102. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  103. package/dist/cjs/session/case/CaseServer.js +1 -3
  104. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  105. package/dist/cjs/session/pase/PaseServer.d.ts +2 -3
  106. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  107. package/dist/cjs/session/pase/PaseServer.js +12 -14
  108. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  109. package/dist/esm/action/client/ClientInteraction.d.ts +38 -0
  110. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -0
  111. package/dist/esm/action/client/ClientInteraction.js +71 -0
  112. package/dist/esm/action/client/ClientInteraction.js.map +6 -0
  113. package/dist/esm/action/client/index.d.ts +7 -0
  114. package/dist/esm/action/client/index.d.ts.map +1 -0
  115. package/dist/esm/action/client/index.js +7 -0
  116. package/dist/esm/action/client/index.js.map +6 -0
  117. package/dist/esm/action/index.d.ts +1 -0
  118. package/dist/esm/action/index.d.ts.map +1 -1
  119. package/dist/esm/action/index.js +1 -0
  120. package/dist/esm/action/index.js.map +1 -1
  121. package/dist/esm/interaction/DecodedDataReport.d.ts +15 -0
  122. package/dist/esm/interaction/DecodedDataReport.d.ts.map +1 -0
  123. package/dist/esm/interaction/DecodedDataReport.js +22 -0
  124. package/dist/esm/interaction/DecodedDataReport.js.map +6 -0
  125. package/dist/esm/interaction/InteractionClient.d.ts +17 -23
  126. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  127. package/dist/esm/interaction/InteractionClient.js +102 -134
  128. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  129. package/dist/esm/interaction/InteractionMessenger.d.ts +94 -1
  130. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  131. package/dist/esm/interaction/InteractionMessenger.js +56 -37
  132. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  133. package/dist/esm/interaction/InteractionServer.d.ts +22 -3
  134. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -1
  135. package/dist/esm/interaction/InteractionServer.js +130 -46
  136. package/dist/esm/interaction/InteractionServer.js.map +1 -1
  137. package/dist/esm/interaction/ServerSubscription.d.ts +8 -16
  138. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  139. package/dist/esm/interaction/ServerSubscription.js +78 -55
  140. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  141. package/dist/esm/interaction/Subscription.d.ts +7 -1
  142. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  143. package/dist/esm/interaction/Subscription.js +26 -3
  144. package/dist/esm/interaction/Subscription.js.map +1 -1
  145. package/dist/esm/interaction/SubscriptionClient.d.ts +38 -0
  146. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -0
  147. package/dist/esm/interaction/SubscriptionClient.js +78 -0
  148. package/dist/esm/interaction/SubscriptionClient.js.map +6 -0
  149. package/dist/esm/interaction/index.d.ts +1 -0
  150. package/dist/esm/interaction/index.d.ts.map +1 -1
  151. package/dist/esm/interaction/index.js +1 -0
  152. package/dist/esm/interaction/index.js.map +1 -1
  153. package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
  154. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  155. package/dist/esm/peer/ControllerCommissioner.js +9 -9
  156. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  157. package/dist/esm/peer/InteractionQueue.d.ts +11 -0
  158. package/dist/esm/peer/InteractionQueue.d.ts.map +1 -0
  159. package/dist/esm/peer/InteractionQueue.js +22 -0
  160. package/dist/esm/peer/InteractionQueue.js.map +6 -0
  161. package/dist/esm/peer/PeerAddress.d.ts +5 -0
  162. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  163. package/dist/esm/peer/PeerAddress.js +13 -1
  164. package/dist/esm/peer/PeerAddress.js.map +1 -1
  165. package/dist/esm/peer/PeerAddressStore.d.ts +1 -1
  166. package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
  167. package/dist/esm/peer/PeerSet.d.ts +20 -7
  168. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  169. package/dist/esm/peer/PeerSet.js +75 -68
  170. package/dist/esm/peer/PeerSet.js.map +1 -1
  171. package/dist/esm/peer/PhysicalDeviceProperties.d.ts +26 -0
  172. package/dist/esm/peer/PhysicalDeviceProperties.d.ts.map +1 -0
  173. package/dist/esm/peer/PhysicalDeviceProperties.js +54 -0
  174. package/dist/esm/peer/PhysicalDeviceProperties.js.map +6 -0
  175. package/dist/esm/peer/index.d.ts +1 -0
  176. package/dist/esm/peer/index.d.ts.map +1 -1
  177. package/dist/esm/peer/index.js +1 -0
  178. package/dist/esm/peer/index.js.map +1 -1
  179. package/dist/esm/protocol/ExchangeManager.d.ts +1 -0
  180. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  181. package/dist/esm/protocol/ExchangeManager.js +6 -3
  182. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  183. package/dist/esm/protocol/ExchangeProvider.d.ts +13 -1
  184. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  185. package/dist/esm/protocol/ExchangeProvider.js +2 -0
  186. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  187. package/dist/esm/protocol/ProtocolHandler.d.ts +1 -1
  188. package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
  189. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -0
  190. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  191. package/dist/esm/securechannel/SecureChannelMessenger.js +3 -0
  192. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  193. package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
  194. package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  195. package/dist/esm/securechannel/SecureChannelProtocol.js +1 -3
  196. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  197. package/dist/esm/session/SecureSession.d.ts +1 -1
  198. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  199. package/dist/esm/session/SecureSession.js +3 -2
  200. package/dist/esm/session/SecureSession.js.map +1 -1
  201. package/dist/esm/session/Session.d.ts +1 -0
  202. package/dist/esm/session/Session.d.ts.map +1 -1
  203. package/dist/esm/session/Session.js +1 -0
  204. package/dist/esm/session/Session.js.map +1 -1
  205. package/dist/esm/session/SessionManager.d.ts +2 -2
  206. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  207. package/dist/esm/session/SessionManager.js +7 -10
  208. package/dist/esm/session/SessionManager.js.map +1 -1
  209. package/dist/esm/session/case/CaseServer.d.ts +1 -1
  210. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  211. package/dist/esm/session/case/CaseServer.js +1 -3
  212. package/dist/esm/session/case/CaseServer.js.map +1 -1
  213. package/dist/esm/session/pase/PaseServer.d.ts +2 -3
  214. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  215. package/dist/esm/session/pase/PaseServer.js +12 -14
  216. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  217. package/package.json +6 -6
  218. package/src/action/client/ClientInteraction.ts +110 -0
  219. package/src/action/client/index.ts +7 -0
  220. package/src/action/index.ts +1 -0
  221. package/src/interaction/DecodedDataReport.ts +29 -0
  222. package/src/interaction/InteractionClient.ts +118 -165
  223. package/src/interaction/InteractionMessenger.ts +63 -43
  224. package/src/interaction/InteractionServer.ts +176 -50
  225. package/src/interaction/ServerSubscription.ts +87 -63
  226. package/src/interaction/Subscription.ts +34 -6
  227. package/src/interaction/SubscriptionClient.ts +107 -0
  228. package/src/interaction/index.ts +1 -0
  229. package/src/peer/ControllerCommissioner.ts +10 -10
  230. package/src/peer/InteractionQueue.ts +22 -0
  231. package/src/peer/PeerAddress.ts +14 -0
  232. package/src/peer/PeerAddressStore.ts +1 -1
  233. package/src/peer/PeerSet.ts +98 -83
  234. package/src/peer/PhysicalDeviceProperties.ts +80 -0
  235. package/src/peer/index.ts +1 -0
  236. package/src/protocol/ExchangeManager.ts +7 -3
  237. package/src/protocol/ExchangeProvider.ts +14 -1
  238. package/src/protocol/ProtocolHandler.ts +1 -1
  239. package/src/securechannel/SecureChannelMessenger.ts +4 -0
  240. package/src/securechannel/SecureChannelProtocol.ts +1 -3
  241. package/src/session/SecureSession.ts +3 -2
  242. package/src/session/Session.ts +1 -0
  243. package/src/session/SessionManager.ts +6 -9
  244. package/src/session/case/CaseServer.ts +2 -4
  245. package/src/session/pase/PaseServer.ts +13 -15
@@ -25,7 +25,7 @@ __export(PeerSet_exports, {
25
25
  module.exports = __toCommonJS(PeerSet_exports);
26
26
  var import_Scanner = require("#common/Scanner.js");
27
27
  var import_general = require("#general");
28
- var import_InteractionClient = require("#interaction/InteractionClient.js");
28
+ var import_SubscriptionClient = require("#interaction/SubscriptionClient.js");
29
29
  var import_PeerAddress = require("#peer/PeerAddress.js");
30
30
  var import_session = require("#session/index.js");
31
31
  var import_SessionManager = require("#session/SessionManager.js");
@@ -35,6 +35,7 @@ var import_ExchangeManager = require("../protocol/ExchangeManager.js");
35
35
  var import_ExchangeProvider = require("../protocol/ExchangeProvider.js");
36
36
  var import_MessageExchange = require("../protocol/MessageExchange.js");
37
37
  var import_ControllerDiscovery = require("./ControllerDiscovery.js");
38
+ var import_InteractionQueue = require("./InteractionQueue.js");
38
39
  var import_PeerAddressStore = require("./PeerAddressStore.js");
39
40
  /**
40
41
  * @license
@@ -44,8 +45,6 @@ var import_PeerAddressStore = require("./PeerAddressStore.js");
44
45
  const logger = import_general.Logger.get("PeerSet");
45
46
  const RECONNECTION_POLLING_INTERVAL_MS = 6e5;
46
47
  const RETRANSMISSION_DISCOVERY_TIMEOUT_S = 5;
47
- const CONCURRENT_QUEUED_INTERACTIONS = 4;
48
- const INTERACTION_QUEUE_DELAY_MS = 100;
49
48
  var NodeDiscoveryType = /* @__PURE__ */ ((NodeDiscoveryType2) => {
50
49
  NodeDiscoveryType2[NodeDiscoveryType2["None"] = 0] = "None";
51
50
  NodeDiscoveryType2[NodeDiscoveryType2["RetransmissionDiscovery"] = 1] = "RetransmissionDiscovery";
@@ -59,6 +58,7 @@ class PeerSet {
59
58
  #sessions;
60
59
  #channels;
61
60
  #exchanges;
61
+ #subscriptionClient;
62
62
  #scanners;
63
63
  #netInterfaces;
64
64
  #caseClient;
@@ -68,15 +68,16 @@ class PeerSet {
68
68
  #runningPeerReconnections = new import_PeerAddress.PeerAddressMap();
69
69
  #construction;
70
70
  #store;
71
- #interactionQueue = new import_general.PromiseQueue(CONCURRENT_QUEUED_INTERACTIONS, INTERACTION_QUEUE_DELAY_MS);
71
+ #interactionQueue = new import_InteractionQueue.InteractionQueue();
72
72
  #nodeCachedData = new import_PeerAddress.PeerAddressMap();
73
73
  // Temporarily until we store it in new API
74
- #clients = new import_PeerAddress.PeerAddressMap();
74
+ #disconnected = (0, import_general.AsyncObservable)();
75
75
  constructor(context) {
76
- const { sessions, channels, exchanges, scanners, netInterfaces, store } = context;
76
+ const { sessions, channels, exchanges, subscriptionClient, scanners, netInterfaces, store } = context;
77
77
  this.#sessions = sessions;
78
78
  this.#channels = channels;
79
79
  this.#exchanges = exchanges;
80
+ this.#subscriptionClient = subscriptionClient;
80
81
  this.#scanners = scanners;
81
82
  this.#netInterfaces = netInterfaces;
82
83
  this.#store = store;
@@ -106,6 +107,9 @@ class PeerSet {
106
107
  get deleted() {
107
108
  return this.#peers.deleted;
108
109
  }
110
+ get disconnected() {
111
+ return this.#disconnected;
112
+ }
109
113
  has(item) {
110
114
  if ("address" in item) {
111
115
  return this.#peers.has(item);
@@ -135,6 +139,7 @@ class PeerSet {
135
139
  sessions: env.get(import_SessionManager.SessionManager),
136
140
  channels: env.get(import_ChannelManager.ChannelManager),
137
141
  exchanges: env.get(import_ExchangeManager.ExchangeManager),
142
+ subscriptionClient: env.get(import_SubscriptionClient.SubscriptionClient),
138
143
  scanners: env.get(import_Scanner.ScannerSet),
139
144
  netInterfaces: env.get(import_general.NetInterfaceSet),
140
145
  store: env.get(import_PeerAddressStore.PeerAddressStore)
@@ -145,14 +150,17 @@ class PeerSet {
145
150
  get peers() {
146
151
  return this.#peers;
147
152
  }
153
+ get subscriptionClient() {
154
+ return this.#subscriptionClient;
155
+ }
156
+ get interactionQueue() {
157
+ return this.#interactionQueue;
158
+ }
148
159
  /**
149
- * Connect to a node on a fabric.
160
+ * Ensure there is a channel to the designated peer.
150
161
  */
151
- async connect(address, discoveryOptions, allowUnknownPeer = false) {
152
- await this.#ensureConnection(address, discoveryOptions, allowUnknownPeer);
153
- return this.initializeInteractionClient(address, discoveryOptions);
154
- }
155
- async #ensureConnection(address, discoveryOptions, allowUnknownPeer = false) {
162
+ async ensureConnection(address, options) {
163
+ const { discoveryOptions, allowUnknownPeer, operationalAddress } = options;
156
164
  if (!this.#peersByAddress.has(address) && !allowUnknownPeer) {
157
165
  throw new UnknownNodeError(`Cannot connect to unknown device ${(0, import_PeerAddress.PeerAddress)(address)}`);
158
166
  }
@@ -164,7 +172,7 @@ class PeerSet {
164
172
  }
165
173
  const { promise, resolver, rejecter } = (0, import_general.createPromise)();
166
174
  this.#runningPeerReconnections.set(address, { promise, rejecter });
167
- this.#resume(address, discoveryOptions).then((channel) => {
175
+ this.#resume(address, discoveryOptions, operationalAddress).then((channel) => {
168
176
  this.#runningPeerReconnections.delete(address);
169
177
  resolver(channel);
170
178
  }).catch((error) => {
@@ -174,52 +182,40 @@ class PeerSet {
174
182
  return promise;
175
183
  }
176
184
  }
177
- async initializeInteractionClient(address, discoveryOptions) {
178
- const existingClient = this.#clients.get(address);
179
- if (existingClient !== void 0) {
180
- return existingClient;
181
- }
182
- const nodeStore = this.get(address)?.dataStore;
183
- await nodeStore?.construction;
185
+ /**
186
+ * Obtain an exchange provider for the designated peer.
187
+ */
188
+ async exchangeProviderFor(address, discoveryOptions) {
184
189
  let initiallyConnected = this.#channels.hasChannel(address);
185
- const client = new import_InteractionClient.InteractionClient(
186
- new import_ExchangeProvider.ReconnectableExchangeProvider(this.#exchanges, this.#channels, address, async () => {
187
- if (!initiallyConnected && !this.#channels.hasChannel(address)) {
188
- await this.#ensureConnection(address, { discoveryType: 0 /* None */ });
189
- initiallyConnected = true;
190
- if (this.#channels.hasChannel(address)) {
191
- return;
192
- }
193
- }
194
- if (!this.#channels.hasChannel(address)) {
195
- throw new import_MessageExchange.RetransmissionLimitReachedError(
196
- `Device ${(0, import_PeerAddress.PeerAddress)(address)} is currently not reachable.`
197
- );
198
- }
199
- await this.#channels.removeAllNodeChannels(address);
200
- const { discoveryData } = discoveryOptions ?? {
201
- discoveryData: this.#peersByAddress.get(address)?.discoveryData
202
- };
203
- const operationalAddress = this.#knownOperationalAddressFor(address, true);
204
- if (operationalAddress === void 0) {
205
- logger.info(
206
- `Re-discovering device failed (no address found), remove all sessions for ${(0, import_PeerAddress.PeerAddress)(address)}`
207
- );
208
- await this.#sessions.removeAllSessionsForNode(address);
209
- throw new import_MessageExchange.RetransmissionLimitReachedError(
210
- `No operational address found for ${(0, import_PeerAddress.PeerAddress)(address)}`
211
- );
212
- }
213
- if (await this.#reconnectKnownAddress(address, operationalAddress, discoveryData, 2e3) === void 0) {
214
- throw new import_MessageExchange.RetransmissionLimitReachedError(`${(0, import_PeerAddress.PeerAddress)(address)} is not reachable.`);
190
+ return new import_ExchangeProvider.ReconnectableExchangeProvider(this.#exchanges, this.#channels, address, async () => {
191
+ if (!initiallyConnected && !this.#channels.hasChannel(address)) {
192
+ await this.ensureConnection(address, {
193
+ discoveryOptions: { discoveryType: 0 /* None */ }
194
+ });
195
+ initiallyConnected = true;
196
+ if (this.#channels.hasChannel(address)) {
197
+ return;
215
198
  }
216
- }),
217
- address,
218
- this.#interactionQueue,
219
- nodeStore
220
- );
221
- this.#clients.set(address, client);
222
- return client;
199
+ }
200
+ if (!this.#channels.hasChannel(address)) {
201
+ throw new import_MessageExchange.RetransmissionLimitReachedError(`Device ${(0, import_PeerAddress.PeerAddress)(address)} is currently not reachable.`);
202
+ }
203
+ await this.#channels.removeAllNodeChannels(address);
204
+ const { discoveryData } = discoveryOptions ?? {
205
+ discoveryData: this.#peersByAddress.get(address)?.discoveryData
206
+ };
207
+ const operationalAddress = this.#knownOperationalAddressFor(address, true);
208
+ if (operationalAddress === void 0) {
209
+ logger.info(
210
+ `Re-discovering device failed (no address found), remove all sessions for ${(0, import_PeerAddress.PeerAddress)(address)}`
211
+ );
212
+ await this.#sessions.removeAllSessionsForNode(address);
213
+ throw new import_MessageExchange.RetransmissionLimitReachedError(`No operational address found for ${(0, import_PeerAddress.PeerAddress)(address)}`);
214
+ }
215
+ if (await this.#reconnectKnownAddress(address, operationalAddress, discoveryData, 2e3) === void 0) {
216
+ throw new import_MessageExchange.RetransmissionLimitReachedError(`${(0, import_PeerAddress.PeerAddress)(address)} is not reachable.`);
217
+ }
218
+ });
223
219
  }
224
220
  /**
225
221
  * Retrieve a peer by address.
@@ -233,10 +229,14 @@ class PeerSet {
233
229
  /**
234
230
  * Terminate any active peer connection.
235
231
  */
236
- async disconnect(address, sendSessionClose = true) {
237
- this.#clients.get(address)?.removeAllSubscriptions();
232
+ async disconnect(peer, sendSessionClose = true) {
233
+ const address = this.get(peer)?.address;
234
+ if (address === void 0) {
235
+ return;
236
+ }
238
237
  await this.#sessions.removeAllSessionsForNode(address, sendSessionClose);
239
238
  await this.#channels.removeAllNodeChannels(address);
239
+ await this.#disconnected.emit(address);
240
240
  }
241
241
  /**
242
242
  * Forget a known peer.
@@ -252,15 +252,15 @@ class PeerSet {
252
252
  await this.#store.deletePeer(address);
253
253
  await this.disconnect(address, false);
254
254
  await this.#sessions.deleteResumptionRecord(address);
255
- this.#clients.delete(address);
256
255
  }
257
256
  async close() {
258
257
  for (const [address, { stopTimerFunc, mdnsScanner }] of this.#runningPeerDiscoveries.entries()) {
259
258
  stopTimerFunc?.();
260
259
  mdnsScanner?.cancelOperationalDeviceDiscovery(this.#sessions.fabricFor(address), address.nodeId, false);
261
260
  }
262
- this.#clients.forEach((client) => client.close());
263
- this.#clients.clear();
261
+ for (const { address } of this.#peers) {
262
+ await this.disconnect(address, false);
263
+ }
264
264
  this.#interactionQueue.close();
265
265
  this.#runningPeerReconnections.forEach(
266
266
  ({ rejecter }) => rejecter(new import_ExchangeManager.ChannelNotConnectedError("PeerSet closed"))
@@ -273,13 +273,13 @@ class PeerSet {
273
273
  * device is discovered again using its operational instance details.
274
274
  * It returns the operational MessageChannel on success.
275
275
  */
276
- async #resume(address, discoveryOptions) {
276
+ async #resume(address, discoveryOptions, tryOperationalAddress) {
277
277
  const { discoveryType } = discoveryOptions ?? {};
278
- const operationalAddress = discoveryType === 0 /* None */ ? this.#getLastOperationalAddress(address) : this.#knownOperationalAddressFor(address);
278
+ const operationalAddress = tryOperationalAddress ?? (discoveryType === 0 /* None */ ? this.#getLastOperationalAddress(address) : this.#knownOperationalAddressFor(address));
279
279
  try {
280
280
  return await this.#connectOrDiscoverNode(address, operationalAddress, discoveryOptions);
281
281
  } catch (error) {
282
- if ((error instanceof import_ControllerDiscovery.DiscoveryError || error instanceof import_general.NoResponseTimeoutError) && this.#peersByAddress.has(address)) {
282
+ if ((error instanceof import_ControllerDiscovery.DiscoveryError || error instanceof import_general.NoResponseTimeoutError) && this.#peersByAddress.has(address) && tryOperationalAddress === void 0) {
283
283
  logger.info(`Resume failed, remove all sessions for ${(0, import_PeerAddress.PeerAddress)(address)}`);
284
284
  await this.#sessions.removeAllSessionsForNode(address);
285
285
  }
@@ -313,7 +313,13 @@ class PeerSet {
313
313
  }
314
314
  const { type: runningDiscoveryType, promises } = existingDiscoveryDetails;
315
315
  if (operationalAddress !== void 0 && (runningDiscoveryType === 0 /* None */ || requestedDiscoveryType === 0 /* None */)) {
316
- const directReconnection = await this.#reconnectKnownAddress(address, operationalAddress, discoveryData);
316
+ const directReconnection = await this.#reconnectKnownAddress(
317
+ address,
318
+ operationalAddress,
319
+ discoveryData,
320
+ // When we use a timeout for discovery also use this for reconnecting to the node
321
+ timeoutSeconds ? timeoutSeconds * 1e3 : void 0
322
+ );
317
323
  if (directReconnection !== void 0) {
318
324
  return directReconnection;
319
325
  }
@@ -427,6 +433,7 @@ class PeerSet {
427
433
  async #reconnectKnownAddress(address, operationalAddress, discoveryData, expectedProcessingTimeMs) {
428
434
  address = (0, import_PeerAddress.PeerAddress)(address);
429
435
  const { ip, port } = operationalAddress;
436
+ const startTime = import_general.Time.nowMs();
430
437
  try {
431
438
  logger.debug(
432
439
  `Resuming connection to ${(0, import_PeerAddress.PeerAddress)(address)} at ${ip}:${port}${expectedProcessingTimeMs !== void 0 ? ` with expected processing time of ${expectedProcessingTimeMs}ms` : ""}`
@@ -440,7 +447,7 @@ class PeerSet {
440
447
  `Failed to resume connection to ${address} connection with ${ip}:${port}, discover the node:`,
441
448
  error
442
449
  );
443
- await this.#sessions.removeAllSessionsForNode(address);
450
+ await this.#sessions.removeAllSessionsForNode(address, false, startTime);
444
451
  return void 0;
445
452
  } else {
446
453
  throw error;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/PeerSet.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["NodeDiscoveryType", "stopTimerFunc", "operationalAddress", "result"]
6
6
  }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export interface PhysicalDeviceProperties {
7
+ threadConnected: boolean;
8
+ wifiConnected: boolean;
9
+ ethernetConnected: boolean;
10
+ rootEndpointServerList: number[];
11
+ isBatteryPowered: boolean;
12
+ isIntermittentlyConnected: boolean;
13
+ isThreadSleepyEndDevice: boolean;
14
+ }
15
+ export declare namespace PhysicalDeviceProperties {
16
+ function determineSubscriptionParameters(options?: {
17
+ properties?: PhysicalDeviceProperties;
18
+ description?: string;
19
+ subscribeMinIntervalFloorSeconds?: number;
20
+ subscribeMaxIntervalCeilingSeconds?: number;
21
+ }): {
22
+ minIntervalFloorSeconds: number;
23
+ maxIntervalCeilingSeconds: number;
24
+ };
25
+ }
26
+ //# sourceMappingURL=PhysicalDeviceProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhysicalDeviceProperties.d.ts","sourceRoot":"","sources":["../../../src/peer/PhysicalDeviceProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,yBAAiB,wBAAwB,CAAC;IACtC,SAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;QACtD,UAAU,CAAC,EAAE,wBAAwB,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC1C,kCAAkC,CAAC,EAAE,MAAM,CAAC;KAC/C;;;MA6CA;CACJ"}
@@ -0,0 +1,74 @@
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 PhysicalDeviceProperties_exports = {};
20
+ __export(PhysicalDeviceProperties_exports, {
21
+ PhysicalDeviceProperties: () => PhysicalDeviceProperties
22
+ });
23
+ module.exports = __toCommonJS(PhysicalDeviceProperties_exports);
24
+ var import_general = require("#general");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2025 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ const logger = import_general.Logger.get("PhysicalDeviceProperties");
31
+ const DEFAULT_SUBSCRIPTION_FLOOR_DEFAULT_S = 1;
32
+ const DEFAULT_SUBSCRIPTION_FLOOR_ICD_S = 0;
33
+ const DEFAULT_SUBSCRIPTION_CEILING_WIFI_S = 60;
34
+ const DEFAULT_SUBSCRIPTION_CEILING_THREAD_S = 60;
35
+ const DEFAULT_SUBSCRIPTION_CEILING_THREAD_SLEEPY_S = 180;
36
+ const DEFAULT_SUBSCRIPTION_CEILING_BATTERY_POWERED_S = 600;
37
+ var PhysicalDeviceProperties;
38
+ ((PhysicalDeviceProperties2) => {
39
+ function determineSubscriptionParameters(options) {
40
+ const { properties } = options ?? {};
41
+ let {
42
+ description,
43
+ subscribeMinIntervalFloorSeconds: minIntervalFloorSeconds,
44
+ subscribeMaxIntervalCeilingSeconds: maxIntervalCeilingSeconds
45
+ } = options ?? {};
46
+ if (description === void 0) {
47
+ description = "Node";
48
+ }
49
+ const { isBatteryPowered, isIntermittentlyConnected, threadConnected, isThreadSleepyEndDevice } = properties ?? {};
50
+ if (isIntermittentlyConnected) {
51
+ if (minIntervalFloorSeconds !== void 0 && minIntervalFloorSeconds !== DEFAULT_SUBSCRIPTION_FLOOR_ICD_S) {
52
+ logger.info(
53
+ `${description}: Overwriting minIntervalFloorSeconds for intermittently connected device to ${DEFAULT_SUBSCRIPTION_FLOOR_ICD_S}`
54
+ );
55
+ minIntervalFloorSeconds = DEFAULT_SUBSCRIPTION_FLOOR_ICD_S;
56
+ }
57
+ }
58
+ const defaultCeiling = isBatteryPowered ? DEFAULT_SUBSCRIPTION_CEILING_BATTERY_POWERED_S : isThreadSleepyEndDevice ? DEFAULT_SUBSCRIPTION_CEILING_THREAD_SLEEPY_S : threadConnected ? DEFAULT_SUBSCRIPTION_CEILING_THREAD_S : DEFAULT_SUBSCRIPTION_CEILING_WIFI_S;
59
+ if (maxIntervalCeilingSeconds === void 0) {
60
+ maxIntervalCeilingSeconds = defaultCeiling;
61
+ }
62
+ if (maxIntervalCeilingSeconds < defaultCeiling) {
63
+ logger.debug(
64
+ `${description}: maxIntervalCeilingSeconds ideally is ${defaultCeiling}s instead of ${maxIntervalCeilingSeconds}s due to device type`
65
+ );
66
+ }
67
+ return {
68
+ minIntervalFloorSeconds: minIntervalFloorSeconds ?? DEFAULT_SUBSCRIPTION_FLOOR_DEFAULT_S,
69
+ maxIntervalCeilingSeconds
70
+ };
71
+ }
72
+ PhysicalDeviceProperties2.determineSubscriptionParameters = determineSubscriptionParameters;
73
+ })(PhysicalDeviceProperties || (PhysicalDeviceProperties = {}));
74
+ //# sourceMappingURL=PhysicalDeviceProperties.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/peer/PhysicalDeviceProperties.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuB;AANvB;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,SAAS,sBAAO,IAAI,0BAA0B;AAEpD,MAAM,uCAAuC;AAC7C,MAAM,mCAAmC;AACzC,MAAM,sCAAsC;AAC5C,MAAM,wCAAwC;AAC9C,MAAM,+CAA+C;AACrD,MAAM,iDAAiD;AAYhD,IAAU;AAAA,CAAV,CAAUA,8BAAV;AACI,WAAS,gCAAgC,SAK7C;AACC,UAAM,EAAE,WAAW,IAAI,WAAW,CAAC;AAEnC,QAAI;AAAA,MACA;AAAA,MACA,kCAAkC;AAAA,MAClC,oCAAoC;AAAA,IACxC,IAAI,WAAW,CAAC;AAEhB,QAAI,gBAAgB,QAAW;AAC3B,oBAAc;AAAA,IAClB;AAEA,UAAM,EAAE,kBAAkB,2BAA2B,iBAAiB,wBAAwB,IAC1F,cAAc,CAAC;AAEnB,QAAI,2BAA2B;AAC3B,UAAI,4BAA4B,UAAa,4BAA4B,kCAAkC;AACvG,eAAO;AAAA,UACH,GAAG,WAAW,gFAAgF,gCAAgC;AAAA,QAClI;AACA,kCAA0B;AAAA,MAC9B;AAAA,IACJ;AAEA,UAAM,iBAAiB,mBACjB,iDACA,0BACE,+CACA,kBACE,wCACA;AACV,QAAI,8BAA8B,QAAW;AACzC,kCAA4B;AAAA,IAChC;AACA,QAAI,4BAA4B,gBAAgB;AAC5C,aAAO;AAAA,QACH,GAAG,WAAW,0CAA0C,cAAc,gBAAgB,yBAAyB;AAAA,MACnH;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,yBAAyB,2BAA2B;AAAA,MACpD;AAAA,IACJ;AAAA,EACJ;AAlDO,EAAAA,0BAAS;AAAA,GADH;",
5
+ "names": ["PhysicalDeviceProperties"]
6
+ }
@@ -10,4 +10,5 @@ export * from "./OperationalPeer.js";
10
10
  export * from "./PeerAddress.js";
11
11
  export * from "./PeerAddressStore.js";
12
12
  export * from "./PeerSet.js";
13
+ export * from "./PhysicalDeviceProperties.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC"}
@@ -22,6 +22,7 @@ __reExport(peer_exports, require("./OperationalPeer.js"), module.exports);
22
22
  __reExport(peer_exports, require("./PeerAddress.js"), module.exports);
23
23
  __reExport(peer_exports, require("./PeerAddressStore.js"), module.exports);
24
24
  __reExport(peer_exports, require("./PeerSet.js"), module.exports);
25
+ __reExport(peer_exports, require("./PhysicalDeviceProperties.js"), module.exports);
25
26
  /**
26
27
  * @license
27
28
  * Copyright 2022-2025 Matter.js Authors
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,wCANd;AAOA,yBAAc,6CAPd;AAQA,yBAAc,qCARd;AASA,yBAAc,iCATd;AAUA,yBAAc,6BAVd;AAWA,yBAAc,kCAXd;AAYA,yBAAc,yBAZd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,wCANd;AAOA,yBAAc,6CAPd;AAQA,yBAAc,qCARd;AASA,yBAAc,iCATd;AAUA,yBAAc,6BAVd;AAWA,yBAAc,kCAXd;AAYA,yBAAc,yBAZd;AAaA,yBAAc,0CAbd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -44,6 +44,7 @@ export declare class ExchangeManager {
44
44
  #private;
45
45
  constructor(context: ExchangeManagerContext);
46
46
  static [Environmental.create](env: Environment): ExchangeManager;
47
+ get channels(): ChannelManager;
47
48
  hasProtocolHandler(protocolId: number): boolean;
48
49
  getProtocolHandler(protocolId: number): ProtocolHandler | undefined;
49
50
  addProtocolHandler(protocol: ProtocolHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EAEP,WAAW,EACX,aAAa,EAIb,WAAW,EAKX,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAA6B,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA+B,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAK/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IALtB,MAAM,UAAS;gBAIT,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,OAAO,EAAE,OAAO,EACzB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAE9C;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,IAAI,IAAI,WAEP;IAEK,KAAK;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,qBAAa,eAAe;;gBAYZ,OAAO,EAAE,sBAAsB;IAoB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAQjE,KAAK;YAkBG,SAAS;IA2HjB,cAAc,CAAC,aAAa,EAAE,MAAM;CA4I7C;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAA4B;IAEnD,qBAAqB;CAOxB"}
1
+ {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EAEP,WAAW,EACX,aAAa,EAIb,WAAW,EAKX,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAA6B,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA+B,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAK/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IALtB,MAAM,UAAS;gBAIT,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,OAAO,EAAE,OAAO,EACzB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAMvC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAE9C;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,IAAI,IAAI,WAEP;IAEK,KAAK;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,qBAAa,eAAe;;gBAYZ,OAAO,EAAE,sBAAsB;IAoB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,IAAI,QAAQ,mBAEX;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAQjE,KAAK;YAkBG,SAAS;IA2HjB,cAAc,CAAC,aAAa,EAAE,MAAM;CA4I7C;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAA4B;IAEnD,qBAAqB;CAOxB"}
@@ -125,6 +125,9 @@ class ExchangeManager {
125
125
  env.set(ExchangeManager, instance);
126
126
  return instance;
127
127
  }
128
+ get channels() {
129
+ return this.#channelManager;
130
+ }
128
131
  hasProtocolHandler(protocolId) {
129
132
  return this.#protocols.has(protocolId);
130
133
  }
@@ -132,10 +135,10 @@ class ExchangeManager {
132
135
  return this.#protocols.get(protocolId);
133
136
  }
134
137
  addProtocolHandler(protocol) {
135
- if (this.hasProtocolHandler(protocol.getId())) {
136
- throw new import_general.ImplementationError(`Handler for protocol ${protocol.getId()} already registered.`);
138
+ if (this.hasProtocolHandler(protocol.id)) {
139
+ throw new import_general.ImplementationError(`Handler for protocol ${protocol.id} already registered.`);
137
140
  }
138
- this.#protocols.set(protocol.getId(), protocol);
141
+ this.#protocols.set(protocol.id, protocol);
139
142
  }
140
143
  initiateExchange(address, protocolId) {
141
144
  return this.initiateExchangeWithChannel(this.#channelManager.getChannel(address), protocolId);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/ExchangeManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["exchange"]
6
6
  }
@@ -10,9 +10,13 @@ import { ExchangeManager, MessageChannel } from "../protocol/ExchangeManager.js"
10
10
  import { MessageExchange } from "../protocol/MessageExchange.js";
11
11
  import { ProtocolHandler } from "../protocol/ProtocolHandler.js";
12
12
  import { Session } from "../session/Session.js";
13
+ /**
14
+ * Interface for obtaining an exchange with a specific peer.
15
+ */
13
16
  export declare abstract class ExchangeProvider {
14
17
  protected readonly exchangeManager: ExchangeManager;
15
- protected constructor(exchangeManager: ExchangeManager);
18
+ abstract readonly supportsReconnect: boolean;
19
+ constructor(exchangeManager: ExchangeManager);
16
20
  hasProtocolHandler(protocolId: number): boolean;
17
21
  getProtocolHandler(protocolId: number): ProtocolHandler | undefined;
18
22
  addProtocolHandler(handler: ProtocolHandler): void;
@@ -21,17 +25,25 @@ export declare abstract class ExchangeProvider {
21
25
  abstract session: Session;
22
26
  abstract channelType: ChannelType;
23
27
  }
28
+ /**
29
+ * Manages an exchange over an established channel.
30
+ */
24
31
  export declare class DedicatedChannelExchangeProvider extends ExchangeProvider {
25
32
  #private;
33
+ readonly supportsReconnect = false;
26
34
  constructor(exchangeManager: ExchangeManager, channel: MessageChannel);
27
35
  initiateExchange(): Promise<MessageExchange>;
28
36
  reconnectChannel(): Promise<boolean>;
29
37
  get session(): Session;
30
38
  get channelType(): ChannelType;
31
39
  }
40
+ /**
41
+ * Manages peer exchange that will reestablish automatically in the case of communication failure.
42
+ */
32
43
  export declare class ReconnectableExchangeProvider extends ExchangeProvider {
33
44
  #private;
34
45
  protected readonly channelManager: ChannelManager;
46
+ readonly supportsReconnect = true;
35
47
  constructor(exchangeManager: ExchangeManager, channelManager: ChannelManager, address: PeerAddress, reconnectChannelFunc: () => Promise<void>);
36
48
  get channelUpdated(): Observable<[void], void>;
37
49
  initiateExchange(): Promise<MessageExchange>;
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAA4B,eAAe,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,8BAAsB,gBAAgB;IACZ,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAAzE,SAAS,aAAgC,eAAe,EAAE,eAAe;IAEzE,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,OAAO,EAAE,eAAe;IAI3C,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IACrD,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC;AAED,qBAAa,gCAAiC,SAAQ,gBAAgB;;gBAGtD,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK/D,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI5C,gBAAgB;IAItB,IAAI,OAAO,YAEV;IAED,IAAI,WAAW,gBAEd;CACJ;AAED,qBAAa,6BAA8B,SAAQ,gBAAgB;;IAO3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;gBADjD,eAAe,EAAE,eAAe,EACb,cAAc,EAAE,cAAc,EACjD,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAY7C,IAAI,cAAc,6BAEjB;IAEK,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAU5C,gBAAgB;IAMtB,IAAI,OAAO,YAKV;IAED,IAAI,WAAW,gBAKd;CACJ"}
1
+ {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAA4B,eAAe,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;GAEG;AACH,8BAAsB,gBAAgB;IAGtB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAF/D,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAEd,eAAe,EAAE,eAAe;IAE/D,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,OAAO,EAAE,eAAe;IAI3C,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IACrD,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gBAAgB;;IAElE,QAAQ,CAAC,iBAAiB,SAAS;gBAEvB,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK/D,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI5C,gBAAgB;IAItB,IAAI,OAAO,YAEV;IAED,IAAI,WAAW,gBAEd;CACJ;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;;IAQ3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;IAPrD,QAAQ,CAAC,iBAAiB,QAAQ;gBAM9B,eAAe,EAAE,eAAe,EACb,cAAc,EAAE,cAAc,EACjD,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAY7C,IAAI,cAAc,6BAEjB;IAEK,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAU5C,gBAAgB;IAMtB,IAAI,OAAO,YAKV;IAED,IAAI,WAAW,gBAKd;CACJ"}