@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
@@ -34,12 +34,12 @@ class Subscription {
34
34
  #isClosed;
35
35
  #isCanceledByPeer;
36
36
  #criteria;
37
+ #cancelled = (0, import_general.Observable)();
38
+ #maxIntervalMs;
37
39
  constructor(session, id, criteria) {
38
40
  this.#session = session;
39
41
  this.#id = id;
40
42
  this.#criteria = criteria;
41
- this.#session.subscriptions.add(this);
42
- logger.debug(`Added subscription ${this.#id} to ${this.#session.name}`);
43
43
  }
44
44
  get id() {
45
45
  return this.#id;
@@ -56,6 +56,24 @@ class Subscription {
56
56
  get session() {
57
57
  return this.#session;
58
58
  }
59
+ get cancelled() {
60
+ return this.#cancelled;
61
+ }
62
+ get maxIntervalMs() {
63
+ if (this.#maxIntervalMs === void 0) {
64
+ throw new import_general.InternalError("Subscription MaxIntervalMs accessed before it was set");
65
+ }
66
+ return this.#maxIntervalMs;
67
+ }
68
+ set maxIntervalMs(value) {
69
+ if (this.#maxIntervalMs !== void 0) {
70
+ throw new import_general.InternalError("Subscription MaxIntervalMs set twice. This should never happen.");
71
+ }
72
+ this.#maxIntervalMs = value;
73
+ }
74
+ get maxInterval() {
75
+ return Math.ceil(this.maxIntervalMs / 1e3);
76
+ }
59
77
  /**
60
78
  * Update session state. This probably is meaningless except in a server context.
61
79
  */
@@ -77,6 +95,11 @@ class Subscription {
77
95
  this.#isClosed = true;
78
96
  this.#session.subscriptions.delete(this);
79
97
  logger.debug(`Removed subscription ${this.id} from ${this.#session.name}`);
98
+ this.#cancelled.emit(this);
99
+ }
100
+ activate() {
101
+ this.#session.subscriptions.add(this);
102
+ logger.debug(`Added subscription ${this.#id} to ${this.#session.name}`);
80
103
  }
81
104
  }
82
105
  //# sourceMappingURL=Subscription.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/Subscription.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuB;AANvB;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAejC,MAAe,aAAa;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,SAAwB,IAAoB,UAAgC;AACpF,SAAK,WAAW;AAChB,SAAK,MAAM;AACX,SAAK,YAAY;AAGjB,SAAK,SAAS,cAAc,IAAI,IAAI;AACpC,WAAO,MAAM,sBAAsB,KAAK,GAAG,OAAO,KAAK,SAAS,IAAI,EAAE;AAAA,EAC1E;AAAA,EAEA,IAAI,KAAK;AACL,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA,EAKhB,IAAc,iBAAiB,OAAgB;AAC3C,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEA,IAAc,SAAS,OAAgB;AACnC,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAQA,MAAgB,UAAyB;AACrC,SAAK,YAAY;AACjB,SAAK,SAAS,cAAc,OAAO,IAAI;AACvC,WAAO,MAAM,wBAAwB,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI,EAAE;AAAA,EAC7E;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAkD;AANlD;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,SAAS,sBAAO,IAAI,cAAc;AAejC,MAAe,aAAa;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAa,2BAAyC;AAAA,EACtD;AAAA,EAEA,YAAY,SAAwB,IAAoB,UAAgC;AACpF,SAAK,WAAW;AAChB,SAAK,MAAM;AACX,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,KAAK;AACL,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,gBAAwB;AACxB,QAAI,KAAK,mBAAmB,QAAW;AACnC,YAAM,IAAI,6BAAc,uDAAuD;AAAA,IACnF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc,OAAe;AAC7B,QAAI,KAAK,mBAAmB,QAAW;AACnC,YAAM,IAAI,6BAAc,iEAAiE;AAAA,IAC7F;AACA,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,cAAsB;AACtB,WAAO,KAAK,KAAK,KAAK,gBAAgB,GAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA,EAKhB,IAAc,iBAAiB,OAAgB;AAC3C,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEA,IAAc,SAAS,OAAgB;AACnC,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAQA,MAAgB,UAAyB;AACrC,SAAK,YAAY;AACjB,SAAK,SAAS,cAAc,OAAO,IAAI;AACvC,WAAO,MAAM,wBAAwB,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI,EAAE;AAEzE,SAAK,WAAW,KAAK,IAAI;AAAA,EAC7B;AAAA,EAEU,WAAW;AAEjB,SAAK,SAAS,cAAc,IAAI,IAAI;AACpC,WAAO,MAAM,sBAAsB,KAAK,GAAG,OAAO,KAAK,SAAS,IAAI,EAAE;AAAA,EAC1E;AACJ;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MessageExchange } from "#protocol/MessageExchange.js";
7
+ import { ProtocolHandler } from "#protocol/ProtocolHandler.js";
8
+ import { Environment, Environmental, MaybePromise } from "@matter/general";
9
+ import { DataReport } from "./InteractionMessenger.js";
10
+ export interface RegisteredSubscription {
11
+ id: number;
12
+ maximumPeerResponseTime: number;
13
+ maxIntervalS: number;
14
+ onData: (dataReport: DataReport) => MaybePromise<void>;
15
+ onTimeout?: () => void;
16
+ }
17
+ /**
18
+ * A simple protocol handler that handles exchanges starting with data reports.
19
+ *
20
+ * Incoming data reports must match to a subscription registered with {@link add} or the exchange is invalid.
21
+ */
22
+ export declare class SubscriptionClient implements ProtocolHandler {
23
+ #private;
24
+ constructor();
25
+ static [Environmental.create](env: Environment): SubscriptionClient;
26
+ readonly id = 1;
27
+ /**
28
+ * Register a subscription.
29
+ */
30
+ add(subscription: RegisteredSubscription): void;
31
+ /**
32
+ * Unregister a subscription.
33
+ */
34
+ delete(id: number): void;
35
+ onNewExchange(exchange: MessageExchange): Promise<void>;
36
+ close(): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=SubscriptionClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionClient.d.ts","sourceRoot":"","sources":["../../../src/interaction/SubscriptionClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAU,YAAY,EAAe,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAE,UAAU,EAAsC,MAAM,2BAA2B,CAAC;AAI3F,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB,EAAE,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,eAAe;;;IAMtD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,QAAQ,CAAC,EAAE,KAA2B;IAEtC;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,sBAAsB;IAuBxC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IASX,aAAa,CAAC,QAAQ,EAAE,eAAe;IAsBvC,KAAK;CAKd"}
@@ -0,0 +1,98 @@
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 SubscriptionClient_exports = {};
20
+ __export(SubscriptionClient_exports, {
21
+ SubscriptionClient: () => SubscriptionClient
22
+ });
23
+ module.exports = __toCommonJS(SubscriptionClient_exports);
24
+ var import_general = require("@matter/general");
25
+ var import_types = require("@matter/types");
26
+ var import_InteractionMessenger = require("./InteractionMessenger.js");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2025 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ const logger = import_general.Logger.get("SubscriptionClient");
33
+ class SubscriptionClient {
34
+ #listeners = /* @__PURE__ */ new Map();
35
+ #timeouts = /* @__PURE__ */ new Map();
36
+ constructor() {
37
+ }
38
+ static [import_general.Environmental.create](env) {
39
+ const client = new SubscriptionClient();
40
+ env.set(SubscriptionClient, client);
41
+ return client;
42
+ }
43
+ id = import_types.INTERACTION_PROTOCOL_ID;
44
+ /**
45
+ * Register a subscription.
46
+ */
47
+ add(subscription) {
48
+ const { id, onData, onTimeout } = subscription;
49
+ this.#listeners.set(id, onData);
50
+ if (onTimeout) {
51
+ let timer = this.#timeouts.get(id);
52
+ if (timer !== void 0) {
53
+ timer.stop();
54
+ this.#timeouts.delete(id);
55
+ }
56
+ const maxIntervalMs = subscription.maxIntervalS * 1e3 + subscription.maximumPeerResponseTime;
57
+ timer = import_general.Time.getTimer("Subscription timeout", maxIntervalMs, () => {
58
+ logger.info(`Subscription ${id} timed out after ${maxIntervalMs}ms`);
59
+ this.delete(id);
60
+ onTimeout();
61
+ }).start();
62
+ this.#timeouts.set(id, timer);
63
+ }
64
+ }
65
+ /**
66
+ * Unregister a subscription.
67
+ */
68
+ delete(id) {
69
+ this.#listeners.delete(id);
70
+ const timer = this.#timeouts.get(id);
71
+ if (timer !== void 0) {
72
+ timer.stop();
73
+ this.#timeouts.delete(id);
74
+ }
75
+ }
76
+ async onNewExchange(exchange) {
77
+ const messenger = new import_InteractionMessenger.IncomingInteractionClientMessenger(exchange);
78
+ let dataReport;
79
+ try {
80
+ dataReport = await messenger.readAggregateDataReport([...this.#listeners.keys()]);
81
+ } finally {
82
+ messenger.close().catch((error) => logger.info("Error closing client messenger", error));
83
+ }
84
+ const subscriptionId = dataReport.subscriptionId;
85
+ const listener = this.#listeners.get(subscriptionId);
86
+ const timer = this.#timeouts.get(subscriptionId);
87
+ if (timer !== void 0) {
88
+ timer.stop().start();
89
+ }
90
+ await listener?.(dataReport);
91
+ }
92
+ async close() {
93
+ this.#listeners.clear();
94
+ this.#timeouts.forEach((timer) => timer.stop());
95
+ this.#timeouts.clear();
96
+ }
97
+ }
98
+ //# sourceMappingURL=SubscriptionClient.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/interaction/SubscriptionClient.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,qBAA8E;AAC9E,mBAAwC;AACxC,kCAA+D;AAV/D;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,SAAS,sBAAO,IAAI,oBAAoB;AAevC,MAAM,mBAA8C;AAAA,EAC9C,aAAa,oBAAI,IAA4D;AAAA,EAC7E,YAAY,oBAAI,IAAmB;AAAA,EAE5C,cAAc;AAAA,EAAC;AAAA,EAEf,QAAQ,6BAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,SAAS,IAAI,mBAAmB;AACtC,QAAI,IAAI,oBAAoB,MAAM;AAClC,WAAO;AAAA,EACX;AAAA,EAES,KAAK;AAAA;AAAA;AAAA;AAAA,EAKd,IAAI,cAAsC;AACtC,UAAM,EAAE,IAAI,QAAQ,UAAU,IAAI;AAElC,SAAK,WAAW,IAAI,IAAI,MAAM;AAC9B,QAAI,WAAW;AACX,UAAI,QAAQ,KAAK,UAAU,IAAI,EAAE;AACjC,UAAI,UAAU,QAAW;AACrB,cAAM,KAAK;AACX,aAAK,UAAU,OAAO,EAAE;AAAA,MAC5B;AAEA,YAAM,gBAAgB,aAAa,eAAe,MAAO,aAAa;AAEtE,cAAQ,oBAAK,SAAS,wBAAwB,eAAe,MAAM;AAC/D,eAAO,KAAK,gBAAgB,EAAE,oBAAoB,aAAa,IAAI;AACnE,aAAK,OAAO,EAAE;AACd,kBAAU;AAAA,MACd,CAAC,EAAE,MAAM;AAET,WAAK,UAAU,IAAI,IAAI,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,IAAY;AACf,SAAK,WAAW,OAAO,EAAE;AACzB,UAAM,QAAQ,KAAK,UAAU,IAAI,EAAE;AACnC,QAAI,UAAU,QAAW;AACrB,YAAM,KAAK;AACX,WAAK,UAAU,OAAO,EAAE;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,+DAAmC,QAAQ;AAEjE,QAAI;AACJ,QAAI;AAEA,mBAAa,MAAM,UAAU,wBAAwB,CAAC,GAAG,KAAK,WAAW,KAAK,CAAC,CAAC;AAAA,IACpF,UAAE;AACE,gBAAU,MAAM,EAAE,MAAM,WAAS,OAAO,KAAK,kCAAkC,KAAK,CAAC;AAAA,IACzF;AACA,UAAM,iBAAiB,WAAW;AAElC,UAAM,WAAW,KAAK,WAAW,IAAI,cAAc;AACnD,UAAM,QAAQ,KAAK,UAAU,IAAI,cAAc;AAE/C,QAAI,UAAU,QAAW;AACrB,YAAM,KAAK,EAAE,MAAM;AAAA,IACvB;AAEA,UAAM,WAAW,UAAU;AAAA,EAC/B;AAAA,EAEA,MAAM,QAAQ;AACV,SAAK,WAAW,MAAM;AACtB,SAAK,UAAU,QAAQ,WAAS,MAAM,KAAK,CAAC;AAC5C,SAAK,UAAU,MAAM;AAAA,EACzB;AACJ;",
5
+ "names": []
6
+ }
@@ -13,4 +13,5 @@ export * from "./InteractionMessenger.js";
13
13
  export * from "./InteractionServer.js";
14
14
  export * from "./ServerSubscription.js";
15
15
  export * from "./Subscription.js";
16
+ export * from "./SubscriptionClient.js";
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interaction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/interaction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
@@ -25,6 +25,7 @@ __reExport(interaction_exports, require("./InteractionMessenger.js"), module.exp
25
25
  __reExport(interaction_exports, require("./InteractionServer.js"), module.exports);
26
26
  __reExport(interaction_exports, require("./ServerSubscription.js"), module.exports);
27
27
  __reExport(interaction_exports, require("./Subscription.js"), module.exports);
28
+ __reExport(interaction_exports, require("./SubscriptionClient.js"), module.exports);
28
29
  /**
29
30
  * @license
30
31
  * Copyright 2022-2025 Matter.js Authors
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,gCAAc,sCANd;AAOA,gCAAc,sCAPd;AAQA,gCAAc,sCARd;AASA,gCAAc,kCATd;AAUA,gCAAc,mCAVd;AAWA,gCAAc,8CAXd;AAYA,gCAAc,sCAZd;AAaA,gCAAc,mCAbd;AAcA,gCAAc,oCAdd;AAeA,gCAAc,8BAfd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,gCAAc,sCANd;AAOA,gCAAc,sCAPd;AAQA,gCAAc,sCARd;AASA,gCAAc,kCATd;AAUA,gCAAc,mCAVd;AAWA,gCAAc,8CAXd;AAYA,gCAAc,sCAZd;AAaA,gCAAc,mCAbd;AAcA,gCAAc,oCAdd;AAeA,gCAAc,8BAfd;AAgBA,gCAAc,oCAhBd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -10,9 +10,9 @@ import { Environment, Environmental, NetInterfaceSet, ServerAddress } from "#gen
10
10
  import { ControllerCommissioningFlowOptions } from "#peer/ControllerCommissioningFlow.js";
11
11
  import { SessionManager } from "#session/SessionManager.js";
12
12
  import { DiscoveryCapabilitiesBitmap, NodeId, TypeFromPartialBitSchema } from "#types";
13
+ import { InteractionClientProvider } from "../interaction/InteractionClient.js";
13
14
  import { ExchangeManager } from "../protocol/ExchangeManager.js";
14
15
  import { PeerAddress } from "./PeerAddress.js";
15
- import { PeerSet } from "./PeerSet.js";
16
16
  /**
17
17
  * General commissioning options.
18
18
  */
@@ -75,7 +75,7 @@ export interface DiscoveryAndCommissioningOptions extends CommissioningOptions {
75
75
  * Interfaces {@link ControllerCommissioner} with other components.
76
76
  */
77
77
  export interface ControllerCommissionerContext {
78
- peers: PeerSet;
78
+ clients: InteractionClientProvider;
79
79
  scanners: ScannerSet;
80
80
  netInterfaces: NetInterfaceSet;
81
81
  sessions: SessionManager;
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerCommissioner.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAGH,WAAW,EACX,aAAa,EAGb,eAAe,EAEf,aAAa,EAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAA+B,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAIvH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAA8B,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAEnH,OAAO,EAAE,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAqB,OAAO,EAAE,MAAM,cAAc,CAAC;AAI1D;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IACrF,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtG;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC1E,iCAAiC;IACjC,SAAS,EAAE,CACL;QACI;;;;WAIG;QACH,cAAc,EAAE,+BAA+B,CAAC;KACnD,GACD;QACI;;;WAGG;QACH,oBAAoB,EAAE,oBAAoB,CAAC;KAC9C,CACN,GAAG;QACA;;;WAGG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;QAErF;;;WAGG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;QAE7B,wEAAwE;QACxE,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,sBAAsB;;gBAInB,OAAO,EAAE,6BAA6B;IAKlD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAa9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhF;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,WAAW,CAAC;CA0QjG"}
1
+ {"version":3,"file":"ControllerCommissioner.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAGH,WAAW,EACX,aAAa,EAGb,eAAe,EAEf,aAAa,EAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAA+B,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAIvH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAA8B,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACnH,OAAO,EAAqB,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IACrF,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtG;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC1E,iCAAiC;IACjC,SAAS,EAAE,CACL;QACI;;;;WAIG;QACH,cAAc,EAAE,+BAA+B,CAAC;KACnD,GACD;QACI;;;WAGG;QACH,oBAAoB,EAAE,oBAAoB,CAAC;KAC9C,CACN,GAAG;QACA;;;WAGG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;QAErF;;;WAGG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;QAE7B,wEAAwE;QACxE,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,yBAAyB,CAAC;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,sBAAsB;;gBAInB,OAAO,EAAE,6BAA6B;IAKlD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAa9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhF;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,WAAW,CAAC;CA0QjG"}
@@ -51,7 +51,7 @@ class ControllerCommissioner {
51
51
  }
52
52
  static [import_general.Environmental.create](env) {
53
53
  const instance = new ControllerCommissioner({
54
- peers: env.get(import_PeerSet.PeerSet),
54
+ clients: env.get(import_InteractionClient.InteractionClientProvider),
55
55
  scanners: env.get(import_Scanner.ScannerSet),
56
56
  netInterfaces: env.get(import_general.NetInterfaceSet),
57
57
  sessions: env.get(import_SessionManager.SessionManager),
@@ -230,6 +230,7 @@ class ControllerCommissioner {
230
230
  // Use the created secure session to do the commissioning
231
231
  new import_InteractionClient.InteractionClient(
232
232
  new import_ExchangeProvider.DedicatedChannelExchangeProvider(this.#context.exchanges, paseSecureMessageChannel),
233
+ this.#context.clients.peers.subscriptionClient,
233
234
  address
234
235
  ),
235
236
  this.#context.ca,
@@ -243,21 +244,20 @@ class ControllerCommissioner {
243
244
  await performCaseCommissioning(address2, discoveryData);
244
245
  return;
245
246
  }
246
- return await this.#context.peers.connect(
247
- address2,
248
- {
247
+ return await this.#context.clients.connect(address2, {
248
+ discoveryOptions: {
249
249
  discoveryType: import_PeerSet.NodeDiscoveryType.TimedDiscovery,
250
250
  timeoutSeconds: 120,
251
251
  discoveryData
252
252
  },
253
- true
254
- );
253
+ allowUnknownPeer: true
254
+ });
255
255
  }
256
256
  );
257
257
  try {
258
258
  await commissioningManager.executeCommissioning();
259
259
  } catch (error) {
260
- await this.#context.peers.delete(address);
260
+ await this.#context.clients.peers.delete(address);
261
261
  throw error;
262
262
  } finally {
263
263
  if (!paseSecureMessageChannel.closed) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/ControllerCommissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["address"]
6
6
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Environment, Environmental, PromiseQueue } from "@matter/general";
7
+ export declare class InteractionQueue extends PromiseQueue {
8
+ constructor();
9
+ static [Environmental.create](env: Environment): InteractionQueue;
10
+ }
11
+ //# sourceMappingURL=InteractionQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractionQueue.d.ts","sourceRoot":"","sources":["../../../src/peer/InteractionQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK3E,qBAAa,gBAAiB,SAAQ,YAAY;;IAK9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;CAKjD"}
@@ -0,0 +1,42 @@
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 InteractionQueue_exports = {};
20
+ __export(InteractionQueue_exports, {
21
+ InteractionQueue: () => InteractionQueue
22
+ });
23
+ module.exports = __toCommonJS(InteractionQueue_exports);
24
+ var import_general = require("@matter/general");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2025 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ const CONCURRENT_QUEUED_INTERACTIONS = 4;
31
+ const INTERACTION_QUEUE_DELAY_MS = 100;
32
+ class InteractionQueue extends import_general.PromiseQueue {
33
+ constructor() {
34
+ super(CONCURRENT_QUEUED_INTERACTIONS, INTERACTION_QUEUE_DELAY_MS);
35
+ }
36
+ static [import_general.Environmental.create](env) {
37
+ const instance = new InteractionQueue();
38
+ env.set(InteractionQueue, instance);
39
+ return instance;
40
+ }
41
+ }
42
+ //# sourceMappingURL=InteractionQueue.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/peer/InteractionQueue.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAyD;AANzD;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,iCAAiC;AACvC,MAAM,6BAA6B;AAE5B,MAAM,yBAAyB,4BAAa;AAAA,EAC/C,cAAc;AACV,UAAM,gCAAgC,0BAA0B;AAAA,EACpE;AAAA,EAEA,QAAQ,6BAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,iBAAiB;AACtC,QAAI,IAAI,kBAAkB,QAAQ;AAClC,WAAO;AAAA,EACX;AACJ;",
5
+ "names": []
6
+ }
@@ -30,4 +30,9 @@ export declare class PeerAddressMap<T> extends Map<PeerAddress, T> {
30
30
  set(key: PeerAddress, value: T): this;
31
31
  get(key: PeerAddress): T | undefined;
32
32
  }
33
+ export declare class PeerAddressSet extends Set<PeerAddress> {
34
+ add(value: PeerAddress): this;
35
+ has(value: PeerAddress): boolean;
36
+ delete(value: PeerAddress): boolean;
37
+ }
33
38
  //# sourceMappingURL=PeerAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeerAddress.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA8B7D;AAED,yBAAiB,WAAW,CAAC;IACzB,SAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,WAM9E;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,WAAW;IAIvB,GAAG,CAAC,GAAG,EAAE,WAAW;IAIpB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAI9B,GAAG,CAAC,GAAG,EAAE,WAAW;CAGhC"}
1
+ {"version":3,"file":"PeerAddress.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA8B7D;AAED,yBAAiB,WAAW,CAAC;IACzB,SAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,WAM9E;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,WAAW;IAIvB,GAAG,CAAC,GAAG,EAAE,WAAW;IAIpB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAI9B,GAAG,CAAC,GAAG,EAAE,WAAW;CAGhC;AAED,qBAAa,cAAe,SAAQ,GAAG,CAAC,WAAW,CAAC;IACvC,GAAG,CAAC,KAAK,EAAE,WAAW;IAItB,GAAG,CAAC,KAAK,EAAE,WAAW;IAItB,MAAM,CAAC,KAAK,EAAE,WAAW;CAGrC"}
@@ -19,7 +19,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var PeerAddress_exports = {};
20
20
  __export(PeerAddress_exports, {
21
21
  PeerAddress: () => PeerAddress,
22
- PeerAddressMap: () => PeerAddressMap
22
+ PeerAddressMap: () => PeerAddressMap,
23
+ PeerAddressSet: () => PeerAddressSet
23
24
  });
24
25
  module.exports = __toCommonJS(PeerAddress_exports);
25
26
  /**
@@ -77,4 +78,15 @@ class PeerAddressMap extends Map {
77
78
  return super.get(PeerAddress(key));
78
79
  }
79
80
  }
81
+ class PeerAddressSet extends Set {
82
+ add(value) {
83
+ return super.add(PeerAddress(value));
84
+ }
85
+ has(value) {
86
+ return super.has(PeerAddress(value));
87
+ }
88
+ delete(value) {
89
+ return super.delete(PeerAddress(value));
90
+ }
91
+ }
80
92
  //# sourceMappingURL=PeerAddress.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/PeerAddress.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,WAAW,OAAO,0BAA0B;AAElD,MAAM,oBAAoB,oBAAI,IAA2C;AAQlE,SAAS,YAAY,SAAmC;AAC3D,MAAI,YAAY,SAAS;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,iBAAiB,kBAAkB,IAAI,QAAQ,WAAW;AAC9D,MAAI,mBAAmB,QAAW;AAC9B,sBAAkB,IAAI,QAAQ,aAAc,iBAAiB,oBAAI,IAAI,CAAE;AAAA,EAC3E;AAEA,MAAI,kBAAkB,eAAe,IAAI,QAAQ,MAAM;AACvD,MAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAEA,iBAAe;AAAA,IACX,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACf,GAAG;AAAA,MAEH,CAAC,QAAQ,GAAG;AAAA,MAEZ,WAAW;AACP,cAAM,UAAU,KAAK,SAAS,QAAS,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC,KAAK,KAAK;AAC9E,eAAO,QAAQ,KAAK,WAAW,IAAI,OAAO;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,iBAAV;AACI,WAAS,GAAG,OAA+B,OAA+B;AAC7E,QAAI,UAAU,UAAa,UAAU,QAAW;AAC5C,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,gBAAgB,MAAM,eAAe,MAAM,WAAW,MAAM;AAAA,EAC7E;AANO,EAAAA,aAAS;AAAA,GADH;AAaV,MAAM,uBAA0B,IAAoB;AAAA,EAC9C,OAAO,KAAkB;AAC9B,WAAO,MAAM,OAAO,YAAY,GAAG,CAAC;AAAA,EACxC;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AAAA,EAES,IAAI,KAAkB,OAAU;AACrC,WAAO,MAAM,IAAI,YAAY,GAAG,GAAG,KAAK;AAAA,EAC5C;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,WAAW,OAAO,0BAA0B;AAElD,MAAM,oBAAoB,oBAAI,IAA2C;AAQlE,SAAS,YAAY,SAAmC;AAC3D,MAAI,YAAY,SAAS;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,iBAAiB,kBAAkB,IAAI,QAAQ,WAAW;AAC9D,MAAI,mBAAmB,QAAW;AAC9B,sBAAkB,IAAI,QAAQ,aAAc,iBAAiB,oBAAI,IAAI,CAAE;AAAA,EAC3E;AAEA,MAAI,kBAAkB,eAAe,IAAI,QAAQ,MAAM;AACvD,MAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAEA,iBAAe;AAAA,IACX,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACf,GAAG;AAAA,MAEH,CAAC,QAAQ,GAAG;AAAA,MAEZ,WAAW;AACP,cAAM,UAAU,KAAK,SAAS,QAAS,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC,KAAK,KAAK;AAC9E,eAAO,QAAQ,KAAK,WAAW,IAAI,OAAO;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,iBAAV;AACI,WAAS,GAAG,OAA+B,OAA+B;AAC7E,QAAI,UAAU,UAAa,UAAU,QAAW;AAC5C,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,gBAAgB,MAAM,eAAe,MAAM,WAAW,MAAM;AAAA,EAC7E;AANO,EAAAA,aAAS;AAAA,GADH;AAaV,MAAM,uBAA0B,IAAoB;AAAA,EAC9C,OAAO,KAAkB;AAC9B,WAAO,MAAM,OAAO,YAAY,GAAG,CAAC;AAAA,EACxC;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AAAA,EAES,IAAI,KAAkB,OAAU;AACrC,WAAO,MAAM,IAAI,YAAY,GAAG,GAAG,KAAK;AAAA,EAC5C;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AACJ;AAEO,MAAM,uBAAuB,IAAiB;AAAA,EACxC,IAAI,OAAoB;AAC7B,WAAO,MAAM,IAAI,YAAY,KAAK,CAAC;AAAA,EACvC;AAAA,EAES,IAAI,OAAoB;AAC7B,WAAO,MAAM,IAAI,YAAY,KAAK,CAAC;AAAA,EACvC;AAAA,EAES,OAAO,OAAoB;AAChC,WAAO,MAAM,OAAO,YAAY,KAAK,CAAC;AAAA,EAC1C;AACJ;",
5
5
  "names": ["PeerAddress"]
6
6
  }
@@ -15,7 +15,7 @@ export declare abstract class PeerAddressStore {
15
15
  abstract loadPeers(): MaybePromise<Iterable<OperationalPeer>>;
16
16
  abstract updatePeer(peer: OperationalPeer): MaybePromise<void>;
17
17
  abstract deletePeer(address: PeerAddress): MaybePromise<void>;
18
- abstract createNodeStore(address: PeerAddress): Promise<PeerDataStore>;
18
+ abstract createNodeStore(address: PeerAddress): MaybePromise<PeerDataStore | undefined>;
19
19
  }
20
20
  export declare abstract class PeerDataStore {
21
21
  abstract construction: Construction<PeerDataStore>;
@@ -1 +1 @@
1
- {"version":3,"file":"PeerAddressStore.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;GAEG;AACH,8BAAsB,gBAAgB;IAClC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAC7D,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CACzE;AAED,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAE5E,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAG9F,QAAQ,CAAC,iBAAiB,CACtB,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACzB,2BAA2B,CAAC,GAAG,CAAC,GAAG,SAAS;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC,EAAE;IACjH,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IACpG,QAAQ,CAAC,sBAAsB,CAC3B,gBAAgB,CAAC,EAAE,cAAc,EACjC,eAAe,CAAC,EAAE,SAAS,GAC5B;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;CACjF"}
1
+ {"version":3,"file":"PeerAddressStore.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;GAEG;AACH,8BAAsB,gBAAgB;IAClC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAC7D,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;CAC1F;AAED,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAE5E,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAG9F,QAAQ,CAAC,iBAAiB,CACtB,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACzB,2BAA2B,CAAC,GAAG,CAAC,GAAG,SAAS;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC,EAAE;IACjH,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IACpG,QAAQ,CAAC,sBAAsB,CAC3B,gBAAgB,CAAC,EAAE,cAAc,EACjC,eAAe,CAAC,EAAE,SAAS,GAC5B;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;CACjF"}
@@ -4,12 +4,14 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { DiscoveryData, ScannerSet } from "#common/Scanner.js";
7
- import { BasicSet, Construction, Environment, Environmental, ImmutableSet, MatterError, NetInterfaceSet, ObservableSet } from "#general";
8
- import { InteractionClient } from "#interaction/InteractionClient.js";
7
+ import { AsyncObservable, BasicSet, Construction, Environment, Environmental, ImmutableSet, MatterError, NetInterfaceSet, ObservableSet, ServerAddressIp } from "#general";
8
+ import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
9
9
  import { PeerAddress } from "#peer/PeerAddress.js";
10
10
  import { SessionManager } from "#session/SessionManager.js";
11
11
  import { ChannelManager } from "../protocol/ChannelManager.js";
12
- import { ExchangeManager } from "../protocol/ExchangeManager.js";
12
+ import { ExchangeManager, MessageChannel } from "../protocol/ExchangeManager.js";
13
+ import { ReconnectableExchangeProvider } from "../protocol/ExchangeProvider.js";
14
+ import { InteractionQueue } from "./InteractionQueue.js";
13
15
  import { OperationalPeer } from "./OperationalPeer.js";
14
16
  import { PeerAddressStore } from "./PeerAddressStore.js";
15
17
  /**
@@ -43,6 +45,7 @@ export interface PeerSetContext {
43
45
  sessions: SessionManager;
44
46
  channels: ChannelManager;
45
47
  exchanges: ExchangeManager;
48
+ subscriptionClient: SubscriptionClient;
46
49
  scanners: ScannerSet;
47
50
  netInterfaces: NetInterfaceSet;
48
51
  store: PeerAddressStore;
@@ -55,6 +58,7 @@ export declare class PeerSet implements ImmutableSet<OperationalPeer>, Observabl
55
58
  constructor(context: PeerSetContext);
56
59
  get added(): import("#general").Observable<[OperationalPeer], void>;
57
60
  get deleted(): import("#general").Observable<[OperationalPeer], void>;
61
+ get disconnected(): AsyncObservable<[address: PeerAddress], void>;
58
62
  has(item: PeerAddress | OperationalPeer): boolean;
59
63
  get size(): number;
60
64
  find(predicate: (item: OperationalPeer) => boolean | undefined): OperationalPeer | undefined;
@@ -64,11 +68,20 @@ export declare class PeerSet implements ImmutableSet<OperationalPeer>, Observabl
64
68
  get construction(): Construction<PeerSet>;
65
69
  static [Environmental.create](env: Environment): PeerSet;
66
70
  get peers(): BasicSet<OperationalPeer, OperationalPeer>;
71
+ get subscriptionClient(): SubscriptionClient;
72
+ get interactionQueue(): InteractionQueue;
67
73
  /**
68
- * Connect to a node on a fabric.
74
+ * Ensure there is a channel to the designated peer.
69
75
  */
70
- connect(address: PeerAddress, discoveryOptions: DiscoveryOptions, allowUnknownPeer?: boolean): Promise<InteractionClient>;
71
- initializeInteractionClient(address: PeerAddress, discoveryOptions?: DiscoveryOptions): Promise<InteractionClient>;
76
+ ensureConnection(address: PeerAddress, options: {
77
+ discoveryOptions: DiscoveryOptions;
78
+ allowUnknownPeer?: boolean;
79
+ operationalAddress?: ServerAddressIp;
80
+ }): Promise<MessageChannel | undefined>;
81
+ /**
82
+ * Obtain an exchange provider for the designated peer.
83
+ */
84
+ exchangeProviderFor(address: PeerAddress, discoveryOptions?: DiscoveryOptions): Promise<ReconnectableExchangeProvider>;
72
85
  /**
73
86
  * Retrieve a peer by address.
74
87
  */
@@ -76,7 +89,7 @@ export declare class PeerSet implements ImmutableSet<OperationalPeer>, Observabl
76
89
  /**
77
90
  * Terminate any active peer connection.
78
91
  */
79
- disconnect(address: PeerAddress, sendSessionClose?: boolean): Promise<void>;
92
+ disconnect(peer: PeerAddress | OperationalPeer, sendSessionClose?: boolean): Promise<void>;
80
93
  /**
81
94
  * Forget a known peer.
82
95
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEH,QAAQ,EAER,YAAY,EAEZ,WAAW,EACX,aAAa,EACb,YAAY,EAKZ,WAAW,EACX,eAAe,EAEf,aAAa,EAMhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAA4B,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AAI3G,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAUxE;;GAEG;AACH,oBAAY,iBAAiB;IACzB,gFAAgF;IAChF,IAAI,IAAI;IAER,8FAA8F;IAC9F,uBAAuB,IAAI;IAE3B,8GAA8G;IAC9G,cAAc,IAAI;IAElB,uGAAuG;IACvG,aAAa,IAAI;CACpB;AAED,4FAA4F;AAC5F,qBAAa,gBAAiB,SAAQ,WAAW;CAAG;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AASD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,OAAQ,YAAW,YAAY,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC;;gBAoB7E,OAAO,EAAE,cAAc;IAoCnC,IAAI,KAAK,2DAER;IAED,IAAI,OAAO,2DAEV;IAED,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAOvC,IAAI,IAAI,WAEP;IAED,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,SAAS;IAI9D,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,SAAS;IAIhE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,CAAC;IAI3C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,IAAI,YAAY,0BAEf;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAa9C,IAAI,KAAK,+CAER;IAED;;OAEG;IACG,OAAO,CACT,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,UAAQ,GACzB,OAAO,CAAC,iBAAiB,CAAC;IAoCvB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;IA0D3F;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAOvC;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,UAAO;IAM9D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAe1C,KAAK;CA6Zd"}
1
+ {"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"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"}