@matter/protocol 0.15.3 → 0.15.5

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 (105) hide show
  1. package/dist/cjs/action/client/ReadScope.d.ts +4 -0
  2. package/dist/cjs/action/client/ReadScope.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ReadScope.js +2 -1
  4. package/dist/cjs/action/client/ReadScope.js.map +1 -1
  5. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  6. package/dist/cjs/fabric/Fabric.js.map +1 -1
  7. package/dist/cjs/fabric/FabricAuthority.d.ts +0 -1
  8. package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
  9. package/dist/cjs/fabric/FabricAuthority.js +2 -3
  10. package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
  11. package/dist/cjs/fabric/TestFabric.d.ts.map +1 -1
  12. package/dist/cjs/fabric/TestFabric.js +2 -1
  13. package/dist/cjs/fabric/TestFabric.js.map +1 -1
  14. package/dist/cjs/interaction/AttributeDataDecoder.d.ts +9 -7
  15. package/dist/cjs/interaction/AttributeDataDecoder.d.ts.map +1 -1
  16. package/dist/cjs/interaction/AttributeDataDecoder.js.map +1 -1
  17. package/dist/cjs/interaction/DecodedDataReport.d.ts +1 -0
  18. package/dist/cjs/interaction/DecodedDataReport.d.ts.map +1 -1
  19. package/dist/cjs/interaction/DecodedDataReport.js.map +1 -1
  20. package/dist/cjs/interaction/InteractionClient.d.ts +15 -5
  21. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  22. package/dist/cjs/interaction/InteractionClient.js +117 -102
  23. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  24. package/dist/cjs/interaction/InteractionMessenger.d.ts +10 -90
  25. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  26. package/dist/cjs/interaction/InteractionMessenger.js +98 -22
  27. package/dist/cjs/interaction/InteractionMessenger.js.map +2 -2
  28. package/dist/cjs/interaction/SubscriptionClient.d.ts +2 -2
  29. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
  30. package/dist/cjs/interaction/SubscriptionClient.js +1 -1
  31. package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
  32. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
  33. package/dist/cjs/mdns/MdnsScanner.js +1 -2
  34. package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
  35. package/dist/cjs/mdns/MdnsServer.js +1 -1
  36. package/dist/cjs/mdns/MdnsServer.js.map +1 -1
  37. package/dist/cjs/peer/PeerAddressStore.d.ts +3 -1
  38. package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
  39. package/dist/cjs/peer/PeerAddressStore.js.map +1 -1
  40. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  41. package/dist/cjs/session/SessionManager.js +17 -9
  42. package/dist/cjs/session/SessionManager.js.map +1 -1
  43. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  44. package/dist/cjs/session/pase/PaseServer.js +2 -1
  45. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  46. package/dist/esm/action/client/ReadScope.d.ts +4 -0
  47. package/dist/esm/action/client/ReadScope.d.ts.map +1 -1
  48. package/dist/esm/action/client/ReadScope.js +2 -1
  49. package/dist/esm/action/client/ReadScope.js.map +1 -1
  50. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  51. package/dist/esm/fabric/Fabric.js.map +1 -1
  52. package/dist/esm/fabric/FabricAuthority.d.ts +0 -1
  53. package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
  54. package/dist/esm/fabric/FabricAuthority.js +2 -3
  55. package/dist/esm/fabric/FabricAuthority.js.map +1 -1
  56. package/dist/esm/fabric/TestFabric.d.ts.map +1 -1
  57. package/dist/esm/fabric/TestFabric.js +3 -2
  58. package/dist/esm/fabric/TestFabric.js.map +1 -1
  59. package/dist/esm/interaction/AttributeDataDecoder.d.ts +9 -7
  60. package/dist/esm/interaction/AttributeDataDecoder.d.ts.map +1 -1
  61. package/dist/esm/interaction/AttributeDataDecoder.js.map +1 -1
  62. package/dist/esm/interaction/DecodedDataReport.d.ts +1 -0
  63. package/dist/esm/interaction/DecodedDataReport.d.ts.map +1 -1
  64. package/dist/esm/interaction/DecodedDataReport.js.map +1 -1
  65. package/dist/esm/interaction/InteractionClient.d.ts +15 -5
  66. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  67. package/dist/esm/interaction/InteractionClient.js +119 -103
  68. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  69. package/dist/esm/interaction/InteractionMessenger.d.ts +10 -90
  70. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  71. package/dist/esm/interaction/InteractionMessenger.js +98 -22
  72. package/dist/esm/interaction/InteractionMessenger.js.map +2 -2
  73. package/dist/esm/interaction/SubscriptionClient.d.ts +2 -2
  74. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
  75. package/dist/esm/interaction/SubscriptionClient.js +1 -1
  76. package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
  77. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
  78. package/dist/esm/mdns/MdnsScanner.js +1 -2
  79. package/dist/esm/mdns/MdnsScanner.js.map +1 -1
  80. package/dist/esm/mdns/MdnsServer.js +1 -1
  81. package/dist/esm/mdns/MdnsServer.js.map +1 -1
  82. package/dist/esm/peer/PeerAddressStore.d.ts +3 -1
  83. package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
  84. package/dist/esm/peer/PeerAddressStore.js.map +1 -1
  85. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  86. package/dist/esm/session/SessionManager.js +19 -10
  87. package/dist/esm/session/SessionManager.js.map +1 -1
  88. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  89. package/dist/esm/session/pase/PaseServer.js +2 -1
  90. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  91. package/package.json +6 -6
  92. package/src/action/client/ReadScope.ts +7 -0
  93. package/src/fabric/Fabric.ts +1 -1
  94. package/src/fabric/FabricAuthority.ts +2 -2
  95. package/src/fabric/TestFabric.ts +2 -1
  96. package/src/interaction/AttributeDataDecoder.ts +4 -1
  97. package/src/interaction/DecodedDataReport.ts +1 -0
  98. package/src/interaction/InteractionClient.ts +183 -122
  99. package/src/interaction/InteractionMessenger.ts +126 -22
  100. package/src/interaction/SubscriptionClient.ts +6 -5
  101. package/src/mdns/MdnsScanner.ts +1 -2
  102. package/src/mdns/MdnsServer.ts +2 -2
  103. package/src/peer/PeerAddressStore.ts +3 -1
  104. package/src/session/SessionManager.ts +35 -24
  105. package/src/session/pase/PaseServer.ts +2 -1
@@ -22,6 +22,7 @@ __export(InteractionClient_exports, {
22
22
  InteractionClientProvider: () => InteractionClientProvider
23
23
  });
24
24
  module.exports = __toCommonJS(InteractionClient_exports);
25
+ var import_ReadScope = require("#action/client/ReadScope.js");
25
26
  var import_access_control = require("#clusters/access-control");
26
27
  var import_general = require("#general");
27
28
  var import_model = require("#model");
@@ -29,7 +30,6 @@ var import_PeerAddress = require("#peer/PeerAddress.js");
29
30
  var import_PeerSet = require("#peer/PeerSet.js");
30
31
  var import_types = require("#types");
31
32
  var import_ExchangeProvider = require("../protocol/ExchangeProvider.js");
32
- var import_DecodedDataReport = require("./DecodedDataReport.js");
33
33
  var import_InteractionMessenger = require("./InteractionMessenger.js");
34
34
  /**
35
35
  * @license
@@ -186,7 +186,9 @@ class InteractionClient {
186
186
  executeQueued,
187
187
  events: eventRequests,
188
188
  enrichCachedAttributeData,
189
- eventFilters
189
+ eventFilters,
190
+ isFabricFiltered = true,
191
+ attributeChangeListener
190
192
  } = options;
191
193
  if (attributeRequests === void 0 && eventRequests === void 0) {
192
194
  throw new import_general.ImplementationError("When reading attributes and events, at least one must be specified.");
@@ -211,18 +213,21 @@ class InteractionClient {
211
213
  );
212
214
  }
213
215
  const result = await this.withMessenger(async (messenger) => {
214
- const { isFabricFiltered = true } = options;
215
- return await this.processReadRequest(messenger, {
216
- attributeRequests,
217
- dataVersionFilters: dataVersionFilters?.map(({ endpointId, clusterId, dataVersion }) => ({
218
- path: { endpointId, clusterId },
219
- dataVersion
220
- })),
221
- eventRequests,
222
- eventFilters,
223
- isFabricFiltered,
224
- interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION
225
- });
216
+ return await this.processReadRequest(
217
+ messenger,
218
+ {
219
+ attributeRequests,
220
+ dataVersionFilters: dataVersionFilters?.map(({ endpointId, clusterId, dataVersion }) => ({
221
+ path: { endpointId, clusterId },
222
+ dataVersion
223
+ })),
224
+ eventRequests,
225
+ eventFilters,
226
+ isFabricFiltered,
227
+ interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION
228
+ },
229
+ attributeChangeListener
230
+ );
226
231
  }, executeQueued);
227
232
  if (dataVersionFilters !== void 0 && dataVersionFilters.length > 0 && enrichCachedAttributeData) {
228
233
  this.#enrichCachedAttributeData(result.attributeReports, dataVersionFilters);
@@ -258,7 +263,15 @@ class InteractionClient {
258
263
  if (this.isGroupAddress) {
259
264
  throw new import_general.ImplementationError("Reading data from group addresses is not supported.");
260
265
  }
261
- const { endpointId, clusterId, attribute, requestFromRemote, isFabricFiltered, executeQueued } = options;
266
+ const {
267
+ endpointId,
268
+ clusterId,
269
+ attribute,
270
+ requestFromRemote,
271
+ isFabricFiltered,
272
+ executeQueued,
273
+ attributeChangeListener
274
+ } = options;
262
275
  const { id: attributeId } = attribute;
263
276
  if (this.#nodeStore !== void 0) {
264
277
  if (!requestFromRemote) {
@@ -274,7 +287,8 @@ class InteractionClient {
274
287
  const { attributeReports } = await this.getMultipleAttributesAndEvents({
275
288
  attributes: [{ endpointId, clusterId, attributeId }],
276
289
  isFabricFiltered,
277
- executeQueued
290
+ executeQueued,
291
+ attributeChangeListener
278
292
  });
279
293
  if (attributeReports.length === 0) {
280
294
  return void 0;
@@ -295,18 +309,22 @@ class InteractionClient {
295
309
  });
296
310
  return response?.eventReports[0]?.events;
297
311
  }
298
- async processReadRequest(messenger, request) {
312
+ async processReadRequest(messenger, request, attributeChangeListener) {
299
313
  const { attributeRequests, eventRequests } = request;
300
314
  logger.debug(
301
315
  `Sending read request to ${messenger.getExchangeChannelName()} for attributes ${attributeRequests?.map((path) => (0, import_types.resolveAttributeName)(path)).join(", ")} and events ${eventRequests?.map((path) => (0, import_types.resolveEventName)(path)).join(", ")}`
302
316
  );
303
317
  await messenger.sendReadRequest(request);
304
- const response = await messenger.readAggregateDataReport();
305
- const normalizedResult = (0, import_DecodedDataReport.DecodedDataReport)(response);
306
- const { attributeReports, attributeStatus, eventReports, eventStatus } = normalizedResult;
318
+ const scope = (0, import_ReadScope.ReadScope)(request);
319
+ const response = await messenger.readAggregateDataReport(
320
+ (chunk) => this.processAttributeUpdates(scope, chunk, attributeChangeListener)
321
+ );
322
+ const { attributeReports, attributeStatus, eventReports, eventStatus } = response;
307
323
  const logData = Array();
308
324
  if (attributeReports.length > 0) {
309
- logData.push(`attributes ${attributeReports.map(({ path }) => (0, import_types.resolveAttributeName)(path)).join(", ")}`);
325
+ logData.push(
326
+ `attributes ${attributeReports.map(({ path, value }) => `${(0, import_types.resolveAttributeName)(path)}=${(0, import_general.serialize)(value)}`).join(", ")}`
327
+ );
310
328
  }
311
329
  if (eventReports.length > 0) {
312
330
  logData.push(`events ${eventReports.map(({ path }) => (0, import_types.resolveEventName)(path)).join(", ")}`);
@@ -320,7 +338,7 @@ class InteractionClient {
320
338
  logger.debug(
321
339
  logData.length ? `Received read response with ${logData.join(", ")}` : "Received empty read response"
322
340
  );
323
- return normalizedResult;
341
+ return response;
324
342
  }
325
343
  async setAttribute(options) {
326
344
  const { attributeData, asTimedRequest, timedRequestTimeoutMs, suppressResponse, executeQueued, chunkLists } = options;
@@ -460,20 +478,22 @@ class InteractionClient {
460
478
  attributeId
461
479
  })}${knownDataVersion !== void 0 ? ` (knownDataVersion=${knownDataVersion})` : ""} with minInterval=${minIntervalFloorSeconds}s/maxInterval=${maxIntervalCeilingSeconds}s`
462
480
  );
481
+ const request = {
482
+ interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
483
+ attributeRequests: [{ endpointId, clusterId, attributeId }],
484
+ dataVersionFilters: knownDataVersion !== void 0 ? [{ path: { endpointId, clusterId }, dataVersion: knownDataVersion }] : void 0,
485
+ keepSubscriptions,
486
+ minIntervalFloorSeconds,
487
+ maxIntervalCeilingSeconds,
488
+ isFabricFiltered
489
+ };
490
+ const scope = (0, import_ReadScope.ReadScope)(request);
463
491
  const {
464
492
  subscribeResponse: { subscriptionId, maxInterval },
465
493
  report,
466
494
  maximumPeerResponseTimeMs
467
495
  } = await this.withMessenger(async (messenger) => {
468
- await messenger.sendSubscribeRequest({
469
- interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
470
- attributeRequests: [{ endpointId, clusterId, attributeId }],
471
- dataVersionFilters: knownDataVersion !== void 0 ? [{ path: { endpointId, clusterId }, dataVersion: knownDataVersion }] : void 0,
472
- keepSubscriptions,
473
- minIntervalFloorSeconds,
474
- maxIntervalCeilingSeconds,
475
- isFabricFiltered
476
- });
496
+ await messenger.sendSubscribeRequest(request);
477
497
  const { subscribeResponse, report: report2 } = await messenger.readAggregateSubscribeResponse();
478
498
  return {
479
499
  subscribeResponse,
@@ -482,11 +502,7 @@ class InteractionClient {
482
502
  };
483
503
  }, executeQueued);
484
504
  const subscriptionListener = async (dataReport) => {
485
- updateReceived?.();
486
- if (!Array.isArray(dataReport.attributeReports) || !dataReport.attributeReports.length) {
487
- return;
488
- }
489
- const { attributeReports } = (0, import_DecodedDataReport.DecodedDataReport)(dataReport);
505
+ const { attributeReports } = dataReport;
490
506
  if (attributeReports.length === 0) {
491
507
  throw new import_general.MatterFlowError("Subscription result reporting undefined/no value not specified");
492
508
  }
@@ -496,8 +512,9 @@ class InteractionClient {
496
512
  const { value, version } = attributeReports[0];
497
513
  if (value === void 0)
498
514
  throw new import_general.MatterFlowError("Subscription result reporting undefined value not specified.");
499
- await this.#nodeStore?.persistAttributes([attributeReports[0]]);
515
+ await this.#nodeStore?.persistAttributes(attributeReports, scope);
500
516
  listener?.(value, version);
517
+ updateReceived?.();
501
518
  };
502
519
  await this.#registerSubscription(
503
520
  {
@@ -560,11 +577,7 @@ class InteractionClient {
560
577
  };
561
578
  }, executeQueued);
562
579
  const subscriptionListener = (dataReport) => {
563
- updateReceived?.();
564
- if (!Array.isArray(dataReport.eventReports) || !dataReport.eventReports.length) {
565
- return;
566
- }
567
- const { eventReports } = (0, import_DecodedDataReport.DecodedDataReport)(dataReport);
580
+ const { eventReports } = dataReport;
568
581
  if (eventReports.length === 0) {
569
582
  throw new import_general.MatterFlowError("Received empty subscription result value.");
570
583
  }
@@ -575,6 +588,7 @@ class InteractionClient {
575
588
  if (events === void 0)
576
589
  throw new import_general.MatterFlowError("Subscription result reporting undefined value not specified.");
577
590
  events.forEach((event2) => listener?.(event2));
591
+ updateReceived?.();
578
592
  };
579
593
  await this.#registerSubscription(
580
594
  {
@@ -643,26 +657,31 @@ class InteractionClient {
643
657
  `Using event filters: ${eventFilters.map(({ nodeId, eventMin }) => `${nodeId}=${eventMin}`).join(", ")}`
644
658
  );
645
659
  }
660
+ const request = {
661
+ interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
662
+ attributeRequests,
663
+ eventRequests,
664
+ keepSubscriptions,
665
+ minIntervalFloorSeconds,
666
+ maxIntervalCeilingSeconds,
667
+ isFabricFiltered,
668
+ eventFilters,
669
+ dataVersionFilters: dataVersionFilters?.map(({ endpointId, clusterId, dataVersion }) => ({
670
+ path: { endpointId, clusterId },
671
+ dataVersion
672
+ }))
673
+ };
674
+ const scope = (0, import_ReadScope.ReadScope)(request);
675
+ let processNewAttributeChangesInListener = false;
646
676
  const {
647
677
  report,
648
678
  subscribeResponse: { subscriptionId, maxInterval },
649
679
  maximumPeerResponseTimeMs
650
680
  } = await this.withMessenger(async (messenger) => {
651
- await messenger.sendSubscribeRequest({
652
- interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
653
- attributeRequests,
654
- eventRequests,
655
- keepSubscriptions,
656
- minIntervalFloorSeconds,
657
- maxIntervalCeilingSeconds,
658
- isFabricFiltered,
659
- eventFilters,
660
- dataVersionFilters: dataVersionFilters?.map(({ endpointId, clusterId, dataVersion }) => ({
661
- path: { endpointId, clusterId },
662
- dataVersion
663
- }))
664
- });
665
- const { subscribeResponse, report: report2 } = await messenger.readAggregateSubscribeResponse();
681
+ await messenger.sendSubscribeRequest(request);
682
+ const { subscribeResponse, report: report2 } = await messenger.readAggregateSubscribeResponse(
683
+ (attributeReports) => this.processAttributeUpdates(scope, attributeReports, attributeListener)
684
+ );
666
685
  return {
667
686
  subscribeResponse,
668
687
  report: report2,
@@ -691,50 +710,56 @@ class InteractionClient {
691
710
  });
692
711
  await this.#nodeStore?.updateLastEventNumber(maxEventNumber);
693
712
  }
694
- if (attributeReports !== void 0) {
695
- for (const data of attributeReports) {
696
- const {
697
- path: { endpointId, clusterId, attributeId },
698
- value,
699
- version
700
- } = data;
701
- logger.debug(
702
- `Received attribute update: ${(0, import_types.resolveAttributeName)({
703
- endpointId,
704
- clusterId,
705
- attributeId
706
- })} = ${import_general.Diagnostic.json(value)} (version=${version})`
707
- );
708
- if (value === void 0) throw new import_general.MatterFlowError("Received empty subscription result value.");
709
- const { value: oldValue } = this.#nodeStore?.retrieveAttribute(endpointId, clusterId, attributeId) ?? {};
710
- const changed = oldValue !== void 0 ? !(0, import_general.isDeepEqual)(oldValue, value) : void 0;
711
- if (changed !== false) {
712
- await this.#nodeStore?.persistAttributes([data]);
713
- }
714
- attributeListener?.(data, changed, oldValue);
715
- }
713
+ if (processNewAttributeChangesInListener && attributeReports !== void 0) {
714
+ await this.processAttributeUpdates(scope, attributeReports, attributeListener);
716
715
  }
717
716
  updateReceived?.();
718
717
  };
719
- const seedReport = (0, import_DecodedDataReport.DecodedDataReport)(report);
720
718
  await this.#registerSubscription(
721
719
  {
722
720
  id: subscriptionId,
723
721
  maximumPeerResponseTimeMs,
724
722
  maxIntervalS: maxInterval,
725
- onData: (dataReport) => subscriptionListener((0, import_DecodedDataReport.DecodedDataReport)(dataReport)),
723
+ onData: (dataReport) => subscriptionListener(dataReport),
726
724
  onTimeout: updateTimeoutHandler
727
725
  },
728
- seedReport
726
+ report
729
727
  );
728
+ processNewAttributeChangesInListener = true;
730
729
  if (dataVersionFilters !== void 0 && dataVersionFilters.length > 0 && enrichCachedAttributeData) {
731
- this.#enrichCachedAttributeData(seedReport.attributeReports ?? [], dataVersionFilters);
730
+ this.#enrichCachedAttributeData(report.attributeReports, dataVersionFilters);
732
731
  }
733
732
  return {
734
- ...seedReport,
733
+ ...report,
735
734
  maxInterval
736
735
  };
737
736
  }
737
+ /**
738
+ * Process changed attributes, detect changes and persist them to the node store
739
+ */
740
+ async processAttributeUpdates(scope, attributeReports, attributeListener) {
741
+ for (const data of attributeReports) {
742
+ const {
743
+ path: { endpointId, clusterId, attributeId },
744
+ value,
745
+ version
746
+ } = data;
747
+ if (value === void 0) throw new import_general.MatterFlowError("Received empty subscription result value.");
748
+ const { value: oldValue, version: oldVersion } = this.#nodeStore?.retrieveAttribute(endpointId, clusterId, attributeId) ?? {};
749
+ const changed = oldValue !== void 0 ? !(0, import_general.isDeepEqual)(oldValue, value) : void 0;
750
+ if (changed !== false || version !== oldVersion) {
751
+ await this.#nodeStore?.persistAttributes([data], scope);
752
+ }
753
+ logger.debug(
754
+ `Received attribute update${changed ? "(value changed)" : ""}: ${(0, import_types.resolveAttributeName)({
755
+ endpointId,
756
+ clusterId,
757
+ attributeId
758
+ })} = ${(0, import_general.serialize)(value)} (version=${version})`
759
+ );
760
+ attributeListener?.(data, changed, oldValue);
761
+ }
762
+ }
738
763
  async invoke(options) {
739
764
  const { executeQueued } = options;
740
765
  const {
@@ -951,24 +976,6 @@ class InteractionClient {
951
976
  }
952
977
  }
953
978
  }
954
- /**
955
- * Allows to add the data received by e.g. a Read request to the cache
956
- */
957
- async addAttributesToCache(attributeReports) {
958
- for (const data of attributeReports) {
959
- const {
960
- path: { endpointId, clusterId, attributeId },
961
- value,
962
- version
963
- } = data;
964
- if (value === void 0) continue;
965
- const { value: oldValue, version: oldVersion } = this.#nodeStore?.retrieveAttribute(endpointId, clusterId, attributeId) ?? {};
966
- const changed = oldVersion !== void 0 ? oldVersion !== version : oldValue !== void 0 ? !(0, import_general.isDeepEqual)(oldValue, value) : void 0;
967
- if (changed !== false) {
968
- await this.#nodeStore?.persistAttributes([data]);
969
- }
970
- }
971
- }
972
979
  /**
973
980
  * Returns the list (optionally filtered by endpointId and/or clusterId) of the dataVersions of the currently cached
974
981
  * values to use them as knownDataVersion for read or subscription requests.
@@ -983,5 +990,13 @@ class InteractionClient {
983
990
  get maxKnownEventNumber() {
984
991
  return this.#nodeStore?.maxEventNumber;
985
992
  }
993
+ cleanupAttributeData(endpointId, clusterIds) {
994
+ return this.#nodeStore?.cleanupAttributeData(endpointId, clusterIds);
995
+ }
996
+ getAllCachedClusterData() {
997
+ const result = new Array();
998
+ this.#enrichCachedAttributeData(result, this.getCachedClusterDataVersions());
999
+ return result;
1000
+ }
986
1001
  }
987
1002
  //# sourceMappingURL=InteractionClient.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/InteractionClient.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["endpointId", "clusterId", "subscriptionId", "report", "event", "commandFields"]
6
6
  }
@@ -4,7 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ReadResult } from "#action/response/ReadResult.js";
7
- import { Status, StatusCode, TlvDataReport, TlvDataReportForSend, TlvInvokeRequest, TlvInvokeResponse, TlvReadRequest, TlvStream, TlvSubscribeRequest, TlvSubscribeResponse, TlvTimedRequest, TlvWriteRequest, TlvWriteResponse, TypeFromSchema } from "#types";
7
+ import { DecodedAttributeReportValue } from "#interaction/AttributeDataDecoder.js";
8
+ import { DecodedDataReport } from "#interaction/DecodedDataReport.js";
9
+ import { AttributeId, ClusterId, EndpointNumber, Status, StatusCode, TlvDataReport, TlvDataReportForSend, TlvInvokeRequest, TlvInvokeResponse, TlvReadRequest, TlvStream, TlvSubscribeRequest, TlvSubscribeResponse, TlvTimedRequest, TlvWriteRequest, TlvWriteResponse, TypeFromSchema } from "#types";
8
10
  import { Message } from "../codec/MessageCodec.js";
9
11
  import { ExchangeProvider } from "../protocol/ExchangeProvider.js";
10
12
  import { ExchangeSendOptions, MessageExchange } from "../protocol/MessageExchange.js";
@@ -85,7 +87,11 @@ export declare class InteractionServerMessenger extends InteractionMessenger {
85
87
  export declare class IncomingInteractionClientMessenger extends InteractionMessenger {
86
88
  #private;
87
89
  waitFor(expectedMessageInfo: string, messageType: number, timeoutMs?: number): Promise<Message>;
88
- readAggregateDataReport(expectedSubscriptionIds?: number[]): Promise<DataReport>;
90
+ /**
91
+ * Reads data report stream and aggregates them into a single report.
92
+ * Additionally, a callback can be provided that is called for each cluster chunk received.
93
+ */
94
+ readAggregateDataReport(chunkListener?: (chunk: DecodedAttributeReportValue<any>[]) => Promise<void>, expectedSubscriptionIds?: number[]): Promise<DecodedDataReport>;
89
95
  /**
90
96
  * Read a single data report.
91
97
  */
@@ -277,99 +283,13 @@ export declare class InteractionClientMessenger extends IncomingInteractionClien
277
283
  send(messageType: number, payload: Uint8Array, options?: ExchangeSendOptions): Promise<void>;
278
284
  sendReadRequest(readRequest: ReadRequest): Promise<void>;
279
285
  sendSubscribeRequest(subscribeRequest: SubscribeRequest): Promise<void>;
280
- readAggregateSubscribeResponse(): Promise<{
286
+ readAggregateSubscribeResponse(chunkListener?: (chunk: DecodedAttributeReportValue<any>[]) => Promise<void>): Promise<{
281
287
  subscribeResponse: import("#types").TypeFromFields<{
282
288
  subscriptionId: import("#types").FieldType<number>;
283
289
  maxInterval: import("#types").FieldType<number>;
284
290
  interactionModelRevision: import("#types").FieldType<number>;
285
291
  }>;
286
- report: import("#types").TypeFromFields<{
287
- subscriptionId: import("#types").OptionalFieldType<number>;
288
- attributeReports: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
289
- attributeStatus: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
290
- path: import("#types").FieldType<import("#types").TypeFromFields<{
291
- enableTagCompression: import("#types").OptionalFieldType<boolean>;
292
- nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
293
- endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
294
- clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
295
- attributeId: import("#types").OptionalFieldType<import("#types").AttributeId>;
296
- listIndex: import("#types").OptionalFieldType<number | null>;
297
- wildcardPathFlags: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
298
- skipRootNode: import("#types").BitFlag;
299
- skipGlobalAttributes: import("#types").BitFlag;
300
- skipAttributeList: import("#types").BitFlag;
301
- reserved1: import("#types").BitFlag;
302
- skipCommandLists: import("#types").BitFlag;
303
- skipCustomElements: import("#types").BitFlag;
304
- skipFixedAttributes: import("#types").BitFlag;
305
- skipChangesOmittedAttributes: import("#types").BitFlag;
306
- skipDiagnosticsClusters: import("#types").BitFlag;
307
- }>>;
308
- }>>;
309
- status: import("#types").FieldType<import("#types").TypeFromFields<{
310
- status: import("#types").FieldType<import("#types").Status>;
311
- clusterStatus: import("#types").OptionalFieldType<import("#types").Status>;
312
- }>>;
313
- }>>;
314
- attributeData: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
315
- dataVersion: import("#types").OptionalFieldType<number>;
316
- path: import("#types").FieldType<import("#types").TypeFromFields<{
317
- enableTagCompression: import("#types").OptionalFieldType<boolean>;
318
- nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
319
- endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
320
- clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
321
- attributeId: import("#types").OptionalFieldType<import("#types").AttributeId>;
322
- listIndex: import("#types").OptionalFieldType<number | null>;
323
- wildcardPathFlags: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
324
- skipRootNode: import("#types").BitFlag;
325
- skipGlobalAttributes: import("#types").BitFlag;
326
- skipAttributeList: import("#types").BitFlag;
327
- reserved1: import("#types").BitFlag;
328
- skipCommandLists: import("#types").BitFlag;
329
- skipCustomElements: import("#types").BitFlag;
330
- skipFixedAttributes: import("#types").BitFlag;
331
- skipChangesOmittedAttributes: import("#types").BitFlag;
332
- skipDiagnosticsClusters: import("#types").BitFlag;
333
- }>>;
334
- }>>;
335
- data: import("#types").FieldType<TlvStream>;
336
- }>>;
337
- }>[]>;
338
- eventReports: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
339
- eventStatus: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
340
- path: import("#types").FieldType<import("#types").TypeFromFields<{
341
- nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
342
- endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
343
- clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
344
- eventId: import("#types").OptionalFieldType<import("#types").EventId>;
345
- isUrgent: import("#types").OptionalFieldType<boolean>;
346
- }>>;
347
- status: import("#types").FieldType<import("#types").TypeFromFields<{
348
- status: import("#types").FieldType<import("#types").Status>;
349
- clusterStatus: import("#types").OptionalFieldType<import("#types").Status>;
350
- }>>;
351
- }>>;
352
- eventData: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
353
- path: import("#types").FieldType<import("#types").TypeFromFields<{
354
- nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
355
- endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
356
- clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
357
- eventId: import("#types").OptionalFieldType<import("#types").EventId>;
358
- isUrgent: import("#types").OptionalFieldType<boolean>;
359
- }>>;
360
- eventNumber: import("#types").FieldType<import("#types").EventNumber>;
361
- priority: import("#types").FieldType<import("#types").EventPriority>;
362
- epochTimestamp: import("#types").OptionalFieldType<number | bigint>;
363
- systemTimestamp: import("#types").OptionalFieldType<number | bigint>;
364
- deltaEpochTimestamp: import("#types").OptionalFieldType<number | bigint>;
365
- deltaSystemTimestamp: import("#types").OptionalFieldType<number | bigint>;
366
- data: import("#types").OptionalFieldType<TlvStream>;
367
- }>>;
368
- }>[]>;
369
- moreChunkedMessages: import("#types").OptionalFieldType<boolean>;
370
- suppressResponse: import("#types").OptionalFieldType<boolean>;
371
- interactionModelRevision: import("#types").FieldType<number>;
372
- }>;
292
+ report: DecodedDataReport;
373
293
  }>;
374
294
  sendInvokeCommand(invokeRequest: InvokeRequest, expectedProcessingTimeMs?: number): Promise<import("#types").TypeFromFields<{
375
295
  suppressResponse: import("#types").FieldType<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"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"}