@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
@@ -475,14 +475,9 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
475
475
  }
476
476
  return message;
477
477
  }
478
- // TODO: Adjust to use callbacks or events to push put received data to allow parallel processing
479
- async readDataReports(expectedSubscriptionIds) {
480
- let subscriptionId;
481
- const attributeValues = [];
482
- const eventValues = [];
483
- while (true) {
484
- const dataReportMessage = await this.waitFor("DataReport", 5 /* ReportData */);
485
- const report = TlvDataReport.decode(dataReportMessage.payload);
478
+ async readAggregateDataReport(expectedSubscriptionIds) {
479
+ let result;
480
+ for await (const report of this.readDataReports()) {
486
481
  if (expectedSubscriptionIds !== void 0) {
487
482
  if (report.subscriptionId === void 0 || !expectedSubscriptionIds.includes(report.subscriptionId)) {
488
483
  await this.sendStatus(StatusCode.InvalidSubscription, {
@@ -496,47 +491,71 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
496
491
  );
497
492
  }
498
493
  }
499
- if (subscriptionId === void 0 && report.subscriptionId !== void 0) {
500
- subscriptionId = report.subscriptionId;
501
- } else if ((subscriptionId !== void 0 || report.subscriptionId !== void 0) && report.subscriptionId !== subscriptionId) {
494
+ if (result?.subscriptionId !== void 0 && report.subscriptionId !== result.subscriptionId) {
502
495
  throw new UnexpectedDataError(`Invalid subscription ID ${report.subscriptionId} received`);
503
496
  }
504
- const logContext = {
505
- subId: report.subscriptionId,
506
- dataReportFlags: Diagnostic.asFlags({
507
- empty: !report.attributeReports?.length && !report.eventReports?.length,
508
- suppressResponse: report.suppressResponse,
509
- moreChunkedMessages: report.moreChunkedMessages
510
- }),
511
- attr: report.attributeReports?.length,
512
- ev: report.eventReports?.length
513
- };
514
- if (Array.isArray(report.attributeReports) && report.attributeReports.length > 0) {
515
- attributeValues.push(...report.attributeReports);
516
- }
517
- if (Array.isArray(report.eventReports) && report.eventReports.length > 0) {
518
- eventValues.push(...report.eventReports);
497
+ if (!result) {
498
+ result = report;
499
+ } else {
500
+ if (Array.isArray(report.attributeReports)) {
501
+ if (!result.attributeReports) {
502
+ result.attributeReports = report.attributeReports;
503
+ } else {
504
+ result.attributeReports.push(...report.attributeReports);
505
+ }
506
+ }
507
+ if (Array.isArray(report.eventReports)) {
508
+ if (!result.eventReports) {
509
+ result.eventReports = report.eventReports;
510
+ } else {
511
+ result.eventReports.push(...report.eventReports);
512
+ }
513
+ }
519
514
  }
515
+ }
516
+ if (result === void 0) {
517
+ throw new InternalError("No data reports loaded during read");
518
+ }
519
+ return result;
520
+ }
521
+ /**
522
+ * Read data reports as they come in on the wire.
523
+ *
524
+ * Data reports payloads are decoded but list attributes may be split across messages; these will require reassembly.
525
+ */
526
+ async *readDataReports() {
527
+ while (true) {
528
+ const dataReportMessage = await this.waitFor("DataReport", 5 /* ReportData */);
529
+ const report = TlvDataReport.decode(dataReportMessage.payload);
530
+ yield report;
520
531
  if (report.moreChunkedMessages) {
521
532
  await this.sendStatus(StatusCode.Success, {
522
533
  multipleMessageInteraction: true,
523
- logContext
534
+ logContext: this.#logContextOf(report)
524
535
  });
525
536
  } else if (!report.suppressResponse) {
526
537
  this.sendStatus(StatusCode.Success, {
527
538
  multipleMessageInteraction: true,
528
- logContext
529
- }).catch(
530
- (error) => logger.info("Error while sending final Success after receiving all DataReport chunks", error)
531
- );
539
+ logContext: this.#logContextOf(report)
540
+ }).catch((error) => logger.info("Error sending success after final data report chunk", error));
532
541
  }
533
542
  if (!report.moreChunkedMessages) {
534
- report.attributeReports = attributeValues;
535
- report.eventReports = eventValues;
536
- return report;
543
+ break;
537
544
  }
538
545
  }
539
546
  }
547
+ #logContextOf(report) {
548
+ return {
549
+ subId: report.subscriptionId,
550
+ dataReportFlags: Diagnostic.asFlags({
551
+ empty: !report.attributeReports?.length && !report.eventReports?.length,
552
+ suppressResponse: report.suppressResponse,
553
+ moreChunkedMessages: report.moreChunkedMessages
554
+ }),
555
+ attr: report.attributeReports?.length,
556
+ ev: report.eventReports?.length
557
+ };
558
+ }
540
559
  }
541
560
  class InteractionClientMessenger extends IncomingInteractionClientMessenger {
542
561
  constructor(exchange, exchangeProvider) {
@@ -555,7 +574,7 @@ class InteractionClientMessenger extends IncomingInteractionClientMessenger {
555
574
  }
556
575
  return await this.exchange.send(messageType, payload, options);
557
576
  } catch (error) {
558
- if ((error instanceof RetransmissionLimitReachedError || error instanceof ChannelNotConnectedError) && !options?.multipleMessageInteraction) {
577
+ if (this.exchangeProvider.supportsReconnect && (error instanceof RetransmissionLimitReachedError || error instanceof ChannelNotConnectedError) && !options?.multipleMessageInteraction) {
559
578
  logger.debug(
560
579
  `${error instanceof RetransmissionLimitReachedError ? "Retransmission limit reached" : "Channel not connected"}, trying to reconnect and resend the message.`
561
580
  );
@@ -571,7 +590,7 @@ class InteractionClientMessenger extends IncomingInteractionClientMessenger {
571
590
  }
572
591
  async sendReadRequest(readRequest) {
573
592
  await this.send(2 /* ReadRequest */, this.#encodeReadingRequest(TlvReadRequest, readRequest));
574
- return this.readDataReports();
593
+ return this.readAggregateDataReport();
575
594
  }
576
595
  #encodeReadingRequest(schema, request) {
577
596
  const encoded = schema.encode(request);
@@ -620,7 +639,7 @@ class InteractionClientMessenger extends IncomingInteractionClientMessenger {
620
639
  async sendSubscribeRequest(subscribeRequest) {
621
640
  const request = this.#encodeReadingRequest(TlvSubscribeRequest, subscribeRequest);
622
641
  await this.send(3 /* SubscribeRequest */, request);
623
- const report = await this.readDataReports();
642
+ const report = await this.readAggregateDataReport();
624
643
  const { subscriptionId } = report;
625
644
  if (subscriptionId === void 0) {
626
645
  throw new UnexpectedDataError(`Subscription ID not provided in report`);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/InteractionMessenger.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["MessageType"]
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Observable, ServerAddressIp } from "#general";
6
7
  import { PeerAddress } from "#peer/PeerAddress.js";
7
8
  import { SessionManager } from "#session/SessionManager.js";
8
9
  import { AttributeId, ClusterId, CommandId, EndpointNumber, EventId, NodeId, StatusCode, TlvAttributePath, TlvClusterPath, TlvEventFilter, TlvEventPath, TypeFromSchema } from "#types";
@@ -13,10 +14,24 @@ import { Message } from "../codec/MessageCodec.js";
13
14
  import { EndpointInterface } from "../endpoint/EndpointInterface.js";
14
15
  import { MessageExchange } from "../protocol/MessageExchange.js";
15
16
  import { ProtocolHandler } from "../protocol/ProtocolHandler.js";
17
+ import { SecureSession } from "../session/SecureSession.js";
16
18
  import { DataReportPayloadIterator } from "./AttributeDataEncoder.js";
17
19
  import { InteractionEndpointStructure } from "./InteractionEndpointStructure.js";
18
20
  import { DataReport, InteractionRecipient, InteractionServerMessenger, InvokeRequest, ReadRequest, SubscribeRequest, TimedRequest, WriteRequest, WriteResponse } from "./InteractionMessenger.js";
21
+ import { ServerSubscription } from "./ServerSubscription.js";
19
22
  import { ServerSubscriptionConfig } from "./SubscriptionOptions.js";
23
+ export interface PeerSubscription {
24
+ subscriptionId: number;
25
+ peerAddress: PeerAddress;
26
+ minIntervalFloorSeconds: number;
27
+ maxIntervalCeilingSeconds: number;
28
+ attributeRequests?: TypeFromSchema<typeof TlvAttributePath>[];
29
+ eventRequests?: TypeFromSchema<typeof TlvEventPath>[];
30
+ isFabricFiltered: boolean;
31
+ maxInterval: number;
32
+ sendInterval: number;
33
+ operationalAddress?: ServerAddressIp;
34
+ }
20
35
  export interface CommandPath {
21
36
  nodeId?: NodeId;
22
37
  endpointId: EndpointNumber;
@@ -70,11 +85,14 @@ export interface InteractionContext {
70
85
  */
71
86
  export declare class InteractionServer implements ProtocolHandler, InteractionRecipient {
72
87
  #private;
88
+ readonly id = 1;
73
89
  constructor(context: InteractionContext);
74
- getId(): number;
75
90
  protected get isClosing(): boolean;
76
91
  get maxPathsPerInvoke(): number;
77
- onNewExchange(exchange: MessageExchange): Promise<void>;
92
+ get subscriptionEstablishmentStarted(): Observable<[peerAddress: PeerAddress], void>;
93
+ onNewExchange(exchange: MessageExchange, message: Message): Promise<void>;
94
+ get clientHandler(): ProtocolHandler | undefined;
95
+ set clientHandler(clientHandler: ProtocolHandler);
78
96
  handleReadRequest(exchange: MessageExchange, readRequest: ReadRequest, message: Message): Promise<{
79
97
  dataReport: DataReport;
80
98
  payload: DataReportPayloadIterator;
@@ -99,7 +117,8 @@ export declare class InteractionServer implements ProtocolHandler, InteractionRe
99
117
  protected readEvent(_path: EventPath, eventFilters: TypeFromSchema<typeof TlvEventFilter>[] | undefined, event: AnyEventServer<any, any>, exchange: MessageExchange, isFabricFiltered: boolean, message: Message): Promise<import("../index.js").NumberedOccurrence[]>;
100
118
  handleWriteRequest(exchange: MessageExchange, { suppressResponse, timedRequest, writeRequests, interactionModelRevision, moreChunkedMessages }: WriteRequest, message: Message): Promise<WriteResponse>;
101
119
  protected writeAttribute(_path: AttributePath, attribute: AttributeServer<any>, value: any, exchange: MessageExchange, message: Message, _endpoint: EndpointInterface, _receivedWithinTimedInteraction?: boolean, isListWrite?: boolean): Promise<void>;
102
- handleSubscribeRequest(exchange: MessageExchange, { minIntervalFloorSeconds, maxIntervalCeilingSeconds, attributeRequests, dataVersionFilters, eventRequests, eventFilters, keepSubscriptions, isFabricFiltered, interactionModelRevision, }: SubscribeRequest, messenger: InteractionServerMessenger, message: Message): Promise<void>;
120
+ handleSubscribeRequest(exchange: MessageExchange, request: SubscribeRequest, messenger: InteractionServerMessenger, message: Message): Promise<void>;
121
+ establishFormerSubscription({ subscriptionId, attributeRequests, eventRequests, isFabricFiltered, minIntervalFloorSeconds, maxIntervalCeilingSeconds, maxInterval, sendInterval, }: PeerSubscription, session: SecureSession): Promise<ServerSubscription>;
103
122
  handleInvokeRequest(exchange: MessageExchange, { invokeRequests, timedRequest, suppressResponse, interactionModelRevision }: InvokeRequest, messenger: InteractionServerMessenger, message: Message): Promise<void>;
104
123
  protected invokeCommand(_path: CommandPath, command: CommandServer<any, any>, exchange: MessageExchange, commandFields: any, message: Message, endpoint: EndpointInterface, _receivedWithinTimedInteraction?: boolean): Promise<{
105
124
  code: StatusCode;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionServer.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAEH,WAAW,EACX,SAAS,EACT,SAAS,EAET,cAAc,EACd,OAAO,EAGP,MAAM,EACN,UAAU,EAGV,gBAAgB,EAChB,cAAc,EAEd,cAAc,EACd,YAAY,EAMZ,cAAc,EAEjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAA+B,MAAM,sCAAsC,CAAC;AACxH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOjE,OAAO,EAAE,yBAAyB,EAAsB,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EACH,UAAU,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,aAAa,EAEb,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;CACpC;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,cAAc,GAAG,SAAS,EACtC,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,GAAG,SAAS,UAGhC;AAED,wBAAgB,eAAe,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,WAAW,UAEhF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,OAAO,gBAAgB,CAAC,UAEhH;AAED,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,UAEpG;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,UAEvG;AASD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,gBAAgB,CAAC,EAAE,cAAc,UAAQ,QAa/G;AAsBD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,cAAc,UAAQ,QAQtG;AAkCD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACjE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAAC;CAC/E;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,eAAe,EAAE,oBAAoB;;gBAO/D,OAAO,EAAE,kBAAkB;IAWvC,KAAK;IAIL,SAAS,KAAK,SAAS,YAEtB;IAED,IAAI,iBAAiB,WAEpB;IAEK,aAAa,CAAC,QAAQ,EAAE,eAAe;IA8QvC,iBAAiB,CACnB,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,yBAAyB,CAAA;KAAE,CAAC;IA2C1E,SAAS,CAAC,aAAa,CACnB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAClC,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,OAAO,EACzB,OAAO,EAAE,OAAO,EAChB,OAAO,UAAQ;;;;IAKnB;;;OAGG;IACH,SAAS,CAAC,qCAAqC,CAC3C,UAAU,EAAE;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAA;KAAE,EAAE,EACzE,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,OAAO,EACzB,OAAO,EAAE,OAAO,EAChB,OAAO,UAAQ;cAGL,aAAa;mBACR,kBAAkB,CAAC,OAAO,CAAC;eAC/B,GAAG;iBACD,MAAM;;cA6BP,SAAS,CACrB,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,GAAG,SAAS,EACjE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/B,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,OAAO,EACzB,OAAO,EAAE,OAAO;IAKd,kBAAkB,CACpB,QAAQ,EAAE,eAAe,EACzB,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,EAAE,YAAY,EAC9G,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,aAAa,CAAC;cAgTT,cAAc,CAC1B,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,EAC/B,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,EAC5B,+BAA+B,CAAC,EAAE,OAAO,EACzC,WAAW,UAAQ;IAKjB,sBAAsB,CACxB,QAAQ,EAAE,eAAe,EACzB,EACI,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GAC3B,EAAE,gBAAgB,EACnB,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IA8KV,mBAAmB,CACrB,QAAQ,EAAE,eAAe,EACzB,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,EAAE,aAAa,EAC3F,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC;cA4TA,aAAa,CACzB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAChC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,+BAA+B,UAAQ;;;;;;IAK3C,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,YAAY;IAY3F,KAAK;CAOd"}
1
+ {"version":3,"file":"InteractionServer.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionServer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Crypto, Diagnostic, InternalError, Logger, MatterFlowError } from "#general";
6
+ import { Crypto, Diagnostic, InternalError, Logger, MatterFlowError, Observable } from "#general";
7
7
  import { AttributeModel, ClusterModel, CommandModel, GLOBAL_IDS, MatterModel, Specification } from "#model";
8
8
  import {
9
9
  ArraySchema,
@@ -119,11 +119,14 @@ function getMatterModelClusterCommand(clusterId, commandId) {
119
119
  return getMatterModelCluster(clusterId)?.get(CommandModel, commandId);
120
120
  }
121
121
  class InteractionServer {
122
+ id = INTERACTION_PROTOCOL_ID;
122
123
  #context;
123
124
  #nextSubscriptionId = Crypto.getRandomUInt32();
124
125
  #isClosing = false;
126
+ #clientHandler;
125
127
  #subscriptionConfig;
126
128
  #maxPathsPerInvoke;
129
+ #subscriptionEstablishmentStarted = Observable();
127
130
  constructor(context) {
128
131
  this.#context = context;
129
132
  this.#subscriptionConfig = ServerSubscriptionConfig.of(context.subscriptionOptions);
@@ -132,19 +135,28 @@ class InteractionServer {
132
135
  this.#context.sessions.updateAllSubscriptions();
133
136
  });
134
137
  }
135
- getId() {
136
- return INTERACTION_PROTOCOL_ID;
137
- }
138
138
  get isClosing() {
139
139
  return this.#isClosing;
140
140
  }
141
141
  get maxPathsPerInvoke() {
142
142
  return this.#maxPathsPerInvoke;
143
143
  }
144
- async onNewExchange(exchange) {
144
+ get subscriptionEstablishmentStarted() {
145
+ return this.#subscriptionEstablishmentStarted;
146
+ }
147
+ async onNewExchange(exchange, message) {
145
148
  if (this.#isClosing) return;
149
+ if (message.payloadHeader.messageType === MessageType.SubscribeRequest && this.#clientHandler) {
150
+ return this.#clientHandler.onNewExchange(exchange, message);
151
+ }
146
152
  await new InteractionServerMessenger(exchange).handleRequest(this);
147
153
  }
154
+ get clientHandler() {
155
+ return this.#clientHandler;
156
+ }
157
+ set clientHandler(clientHandler) {
158
+ this.#clientHandler = clientHandler;
159
+ }
148
160
  async #collectEventDataForRead({ eventRequests, eventFilters, isFabricFiltered }, exchange, message) {
149
161
  let eventReportsPayload;
150
162
  if (eventRequests) {
@@ -632,17 +644,18 @@ class InteractionServer {
632
644
  async writeAttribute(_path, attribute, value, exchange, message, _endpoint, _receivedWithinTimedInteraction, isListWrite = false) {
633
645
  attribute.set(value, exchange.session, message, isListWrite);
634
646
  }
635
- async handleSubscribeRequest(exchange, {
636
- minIntervalFloorSeconds,
637
- maxIntervalCeilingSeconds,
638
- attributeRequests,
639
- dataVersionFilters,
640
- eventRequests,
641
- eventFilters,
642
- keepSubscriptions,
643
- isFabricFiltered,
644
- interactionModelRevision
645
- }, messenger, message) {
647
+ async handleSubscribeRequest(exchange, request, messenger, message) {
648
+ const {
649
+ minIntervalFloorSeconds,
650
+ maxIntervalCeilingSeconds,
651
+ attributeRequests,
652
+ dataVersionFilters,
653
+ eventRequests,
654
+ eventFilters,
655
+ keepSubscriptions,
656
+ isFabricFiltered,
657
+ interactionModelRevision
658
+ } = request;
646
659
  logger.debug(
647
660
  `Received subscribe request from ${exchange.channel.name} (keepSubscriptions=${keepSubscriptions}, isFabricFiltered=${isFabricFiltered})`
648
661
  );
@@ -667,8 +680,7 @@ class InteractionServer {
667
680
  );
668
681
  if (!keepSubscriptions) {
669
682
  const clearedCount = await this.#context.sessions.clearSubscriptionsForNode(
670
- fabric.fabricIndex,
671
- session.peerNodeId,
683
+ fabric.addressOf(session.peerNodeId),
672
684
  true
673
685
  );
674
686
  if (clearedCount > 0) {
@@ -716,36 +728,22 @@ class InteractionServer {
716
728
  }
717
729
  if (this.#nextSubscriptionId === 4294967295) this.#nextSubscriptionId = 0;
718
730
  const subscriptionId = this.#nextSubscriptionId++;
719
- const context = {
720
- session,
721
- structure: this.#endpointStructure,
722
- readAttribute: (path, attribute, offline) => this.readAttribute(path, attribute, exchange, isFabricFiltered, message, offline),
723
- readEndpointAttributesForSubscription: (attributes) => this.readEndpointAttributesForSubscription(attributes, exchange, isFabricFiltered, message),
724
- readEvent: (path, event, eventFilters2) => this.readEvent(path, eventFilters2, event, exchange, isFabricFiltered, message),
725
- initiateExchange: (address, protocolId) => this.#context.initiateExchange(address, protocolId)
726
- };
727
- const subscription = new ServerSubscription({
728
- id: subscriptionId,
729
- context,
730
- criteria: {
731
- attributeRequests,
732
- dataVersionFilters,
733
- eventRequests,
734
- eventFilters,
735
- isFabricFiltered
736
- },
737
- minIntervalFloor: minIntervalFloorSeconds,
738
- maxIntervalCeiling: maxIntervalCeilingSeconds,
739
- subscriptionOptions: this.#subscriptionConfig
740
- });
731
+ this.#subscriptionEstablishmentStarted.emit(session.peerAddress);
732
+ let subscription;
741
733
  try {
742
- await subscription.sendInitialReport(messenger);
734
+ subscription = await this.#establishSubscription(
735
+ subscriptionId,
736
+ request,
737
+ messenger,
738
+ session,
739
+ exchange,
740
+ message
741
+ );
743
742
  } catch (error) {
744
743
  logger.error(
745
744
  `Subscription ${subscriptionId} for Session ${session.id}: Error while sending initial data reports`,
746
745
  error
747
746
  );
748
- await subscription.close();
749
747
  if (error instanceof StatusResponseError) {
750
748
  logger.info(`Sending status response ${error.code} for interaction error: ${error.message}`);
751
749
  await messenger.sendStatus(error.code, {
@@ -758,9 +756,6 @@ class InteractionServer {
758
756
  return;
759
757
  }
760
758
  const maxInterval = subscription.maxInterval;
761
- logger.info(
762
- `Successfully created subscription ${subscriptionId} for Session ${session.id}. Updates: ${minIntervalFloorSeconds} - ${maxIntervalCeilingSeconds} => ${maxInterval} seconds (sendInterval = ${subscription.sendInterval} seconds)`
763
- );
764
759
  await messenger.send(
765
760
  MessageType.SubscribeResponse,
766
761
  TlvSubscribeResponse.encode({
@@ -775,7 +770,96 @@ class InteractionServer {
775
770
  }
776
771
  }
777
772
  );
778
- subscription.activateSendingUpdates();
773
+ subscription.activate();
774
+ }
775
+ async #establishSubscription(id, {
776
+ minIntervalFloorSeconds,
777
+ maxIntervalCeilingSeconds,
778
+ attributeRequests,
779
+ dataVersionFilters,
780
+ eventRequests,
781
+ eventFilters,
782
+ isFabricFiltered
783
+ }, messenger, session, exchange, message) {
784
+ const context = {
785
+ session,
786
+ structure: this.#endpointStructure,
787
+ readAttribute: (path, attribute, offline) => this.readAttribute(path, attribute, exchange, isFabricFiltered, message, offline),
788
+ readEndpointAttributesForSubscription: (attributes) => this.readEndpointAttributesForSubscription(attributes, exchange, isFabricFiltered, message),
789
+ readEvent: (path, event, eventFilters2) => this.readEvent(path, eventFilters2, event, exchange, isFabricFiltered, message),
790
+ initiateExchange: (address, protocolId) => this.#context.initiateExchange(address, protocolId)
791
+ };
792
+ const subscription = new ServerSubscription({
793
+ id,
794
+ context,
795
+ criteria: {
796
+ attributeRequests,
797
+ dataVersionFilters,
798
+ eventRequests,
799
+ eventFilters,
800
+ isFabricFiltered
801
+ },
802
+ minIntervalFloorSeconds,
803
+ maxIntervalCeilingSeconds,
804
+ subscriptionOptions: this.#subscriptionConfig
805
+ });
806
+ try {
807
+ await subscription.sendInitialReport(messenger);
808
+ } catch (error) {
809
+ await subscription.close();
810
+ throw error;
811
+ }
812
+ logger.info(
813
+ `Successfully created subscription ${id} for Session ${session.id}. Updates: ${minIntervalFloorSeconds} - ${maxIntervalCeilingSeconds} => ${subscription.maxInterval} seconds (sendInterval = ${subscription.sendInterval} seconds)`
814
+ );
815
+ return subscription;
816
+ }
817
+ async establishFormerSubscription({
818
+ subscriptionId,
819
+ attributeRequests,
820
+ eventRequests,
821
+ isFabricFiltered,
822
+ minIntervalFloorSeconds,
823
+ maxIntervalCeilingSeconds,
824
+ maxInterval,
825
+ sendInterval
826
+ }, session) {
827
+ const exchange = this.#context.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
828
+ const message = {};
829
+ logger.debug(
830
+ `Send DataReports to re-establish subscription ${subscriptionId} to `,
831
+ Diagnostic.dict({ isFabricFiltered, maxInterval, sendInterval })
832
+ );
833
+ const context = {
834
+ session,
835
+ structure: this.#endpointStructure,
836
+ readAttribute: (path, attribute, offline) => this.readAttribute(path, attribute, exchange, isFabricFiltered, message, offline),
837
+ readEndpointAttributesForSubscription: (attributes) => this.readEndpointAttributesForSubscription(attributes, exchange, isFabricFiltered, message),
838
+ readEvent: (path, event, eventFilters) => this.readEvent(path, eventFilters, event, exchange, isFabricFiltered, message),
839
+ initiateExchange: (address, protocolId) => this.#context.initiateExchange(address, protocolId)
840
+ };
841
+ const subscription = new ServerSubscription({
842
+ id: subscriptionId,
843
+ context,
844
+ minIntervalFloorSeconds,
845
+ maxIntervalCeilingSeconds,
846
+ criteria: {
847
+ attributeRequests,
848
+ eventRequests,
849
+ isFabricFiltered
850
+ },
851
+ subscriptionOptions: this.#subscriptionConfig,
852
+ useAsMaxInterval: maxInterval,
853
+ useAsSendInterval: sendInterval
854
+ });
855
+ try {
856
+ await subscription.sendInitialReport(new InteractionServerMessenger(exchange));
857
+ subscription.activate();
858
+ } catch (error) {
859
+ await subscription.close();
860
+ throw error;
861
+ }
862
+ return subscription;
779
863
  }
780
864
  async handleInvokeRequest(exchange, { invokeRequests, timedRequest, suppressResponse, interactionModelRevision }, messenger, message) {
781
865
  logger.debug(