@matter/protocol 0.12.0-alpha.0-20250107-af5a068c3 → 0.12.0-alpha.0-20250110-6349da2f0

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 (54) hide show
  1. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  2. package/dist/cjs/interaction/ServerSubscription.js +7 -3
  3. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  4. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +3 -3
  5. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -1
  6. package/dist/cjs/mdns/MdnsBroadcaster.js +55 -31
  7. package/dist/cjs/mdns/MdnsBroadcaster.js.map +1 -1
  8. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
  9. package/dist/cjs/mdns/MdnsScanner.js +226 -28
  10. package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
  11. package/dist/cjs/mdns/MdnsServer.d.ts +5 -1
  12. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  13. package/dist/cjs/mdns/MdnsServer.js +12 -7
  14. package/dist/cjs/mdns/MdnsServer.js.map +1 -1
  15. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  16. package/dist/cjs/peer/ControllerCommissioningFlow.js +35 -2
  17. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  18. package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
  19. package/dist/cjs/protocol/DeviceAdvertiser.js +6 -1
  20. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  21. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  22. package/dist/cjs/protocol/DeviceCommissioner.js +5 -1
  23. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  24. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  25. package/dist/esm/interaction/ServerSubscription.js +7 -3
  26. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  27. package/dist/esm/mdns/MdnsBroadcaster.d.ts +3 -3
  28. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -1
  29. package/dist/esm/mdns/MdnsBroadcaster.js +56 -31
  30. package/dist/esm/mdns/MdnsBroadcaster.js.map +1 -1
  31. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
  32. package/dist/esm/mdns/MdnsScanner.js +226 -28
  33. package/dist/esm/mdns/MdnsScanner.js.map +1 -1
  34. package/dist/esm/mdns/MdnsServer.d.ts +5 -1
  35. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  36. package/dist/esm/mdns/MdnsServer.js +12 -7
  37. package/dist/esm/mdns/MdnsServer.js.map +1 -1
  38. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  39. package/dist/esm/peer/ControllerCommissioningFlow.js +36 -3
  40. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  41. package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
  42. package/dist/esm/protocol/DeviceAdvertiser.js +6 -1
  43. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  44. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  45. package/dist/esm/protocol/DeviceCommissioner.js +5 -1
  46. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  47. package/package.json +6 -6
  48. package/src/interaction/ServerSubscription.ts +7 -3
  49. package/src/mdns/MdnsBroadcaster.ts +63 -35
  50. package/src/mdns/MdnsScanner.ts +264 -43
  51. package/src/mdns/MdnsServer.ts +20 -7
  52. package/src/peer/ControllerCommissioningFlow.ts +48 -3
  53. package/src/protocol/DeviceAdvertiser.ts +7 -1
  54. package/src/protocol/DeviceCommissioner.ts +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,UAAU,EASV,QAAQ,EAGR,OAAO,EACP,eAAe,EAIf,kBAAkB,EAGrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,OAAO,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAkB7C,KAAK,4BAA4B,GAAG,eAAe,GAAG,QAAQ,CAAC;AAyB/D;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,IAAI,IAAI,gBAEP;WAEY,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAmCnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IA8PrE;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAyBzC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAAO;IAKtF,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAQtG,8BAA8B,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoLxE;;;;;;;OAOG;IACG,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAI,EAClB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkBlC;;;OAGG;IACG,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAnOvD,eAAe,EAAE;;;;;;;;;;;;;;;;;oBAtZxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IA0nBd;;OAEG;IACG,KAAK;IA0fX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAmBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}
1
+ {"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,UAAU,EASV,QAAQ,EAGR,OAAO,EACP,eAAe,EAIf,kBAAkB,EAGrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,OAAO,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAkB7C,KAAK,4BAA4B,GAAG,eAAe,GAAG,QAAQ,CAAC;AAoC/D;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,IAAI,IAAI,gBAEP;WAEY,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBA4CnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IAqQrE;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAyBzC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAAO;IAKtF,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAQtG,8BAA8B,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoLxE;;;;;;;OAOG;IACG,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAI,EAClB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkBlC;;;OAGG;IACG,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAnOvD,eAAe,EAAE;;;;;;;;;;;;;;;;;oBAhbxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IAopBd;;OAEG;IACG,KAAK;IA4rBX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAmBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}
@@ -52,12 +52,18 @@ class MdnsScanner {
52
52
  enableIpv4
53
53
  );
54
54
  }
55
+ /** Active announces by queryId with queries and known answers */
55
56
  #activeAnnounceQueries = /* @__PURE__ */ new Map();
56
- #queryTimer;
57
- #nextAnnounceIntervalSeconds = START_ANNOUNCE_INTERVAL_SECONDS;
57
+ /** Known IP addresses by network interface */
58
+ #discoveredIpRecords = /* @__PURE__ */ new Map();
59
+ /** Known operational device records by Matter Qname */
58
60
  #operationalDeviceRecords = /* @__PURE__ */ new Map();
61
+ /** Known commissionable device records by queryId */
59
62
  #commissionableDeviceRecords = /* @__PURE__ */ new Map();
63
+ /** Waiters for specific queryIds to resolve a promise when a record is discovered */
60
64
  #recordWaiters = /* @__PURE__ */ new Map();
65
+ #queryTimer;
66
+ #nextAnnounceIntervalSeconds = START_ANNOUNCE_INTERVAL_SECONDS;
61
67
  #periodicTimer;
62
68
  #closing = false;
63
69
  #multicastServer;
@@ -88,7 +94,9 @@ class MdnsScanner {
88
94
  const allQueries = Array.from(this.#activeAnnounceQueries.values());
89
95
  const queries = allQueries.flatMap(({ queries: queries2 }) => queries2);
90
96
  const answers = allQueries.flatMap(
91
- ({ answers: answers2 }) => Object.values(answers2).flatMap((answer) => Object.values(answer).flatMap((records) => records))
97
+ ({ answers: answers2 }) => Object.values(answers2).flatMap(
98
+ (answer) => Object.values(answer).flatMap((records) => Array.isArray(records) ? records : records.values())
99
+ )
92
100
  );
93
101
  this.#queryTimer = Time.getTimer(
94
102
  "MDNS discovery",
@@ -173,9 +181,14 @@ class MdnsScanner {
173
181
  this.#nextAnnounceIntervalSeconds = START_ANNOUNCE_INTERVAL_SECONDS;
174
182
  this.#queryTimer = Time.getTimer("MDNS discovery", 0, () => this.#sendQueries()).start();
175
183
  }
176
- #getActiveQueryEarlierAnswers() {
184
+ /**
185
+ * Combines the known answers from all active queries and the known IP addresses from the network
186
+ * interface into one data package
187
+ */
188
+ #getActiveQueryEarlierAnswers(netInterface) {
177
189
  return this.#combineStructuredAnswers(
178
- ...[...this.#activeAnnounceQueries.values()].map(({ answers }) => answers)
190
+ ...[...this.#activeAnnounceQueries.values()].map(({ answers }) => answers),
191
+ this.#discoveredIpRecords.get(netInterface) ?? {}
179
192
  );
180
193
  }
181
194
  /**
@@ -550,21 +563,38 @@ class MdnsScanner {
550
563
  /** Converts the discovery data into a structured format for performant access. */
551
564
  #structureAnswers(...answersList) {
552
565
  const structuredAnswers = {};
566
+ const discoveredAt = Time.nowMs();
553
567
  answersList.forEach(
554
568
  (answers) => answers.forEach((answer) => {
555
569
  const { name, recordType } = answer;
556
570
  if (name.endsWith(MATTER_SERVICE_QNAME)) {
557
571
  structuredAnswers.operational = structuredAnswers.operational ?? {};
558
572
  structuredAnswers.operational[recordType] = structuredAnswers.operational[recordType] ?? [];
559
- structuredAnswers.operational[recordType].push(answer);
573
+ structuredAnswers.operational[recordType].push({
574
+ discoveredAt,
575
+ ...answer
576
+ });
560
577
  } else if (name.endsWith(MATTER_COMMISSION_SERVICE_QNAME)) {
561
578
  structuredAnswers.commissionable = structuredAnswers.commissionable ?? {};
562
579
  structuredAnswers.commissionable[recordType] = structuredAnswers.commissionable[recordType] ?? [];
563
- structuredAnswers.commissionable[recordType].push(answer);
564
- } else if (recordType === DnsRecordType.A || recordType === DnsRecordType.AAAA) {
565
- structuredAnswers.addresses = structuredAnswers.addresses ?? {};
566
- structuredAnswers.addresses[name] = structuredAnswers.addresses[name] ?? [];
567
- structuredAnswers.addresses[name].push(answer);
580
+ structuredAnswers.commissionable[recordType].push({
581
+ discoveredAt,
582
+ ...answer
583
+ });
584
+ } else if (recordType === DnsRecordType.AAAA) {
585
+ structuredAnswers.addressesV6 = structuredAnswers.addressesV6 ?? {};
586
+ structuredAnswers.addressesV6[name] = structuredAnswers.addressesV6[name] ?? /* @__PURE__ */ new Map();
587
+ structuredAnswers.addressesV6[name].set(answer.value, {
588
+ discoveredAt,
589
+ ...answer
590
+ });
591
+ } else if (this.#enableIpv4 && recordType === DnsRecordType.A) {
592
+ structuredAnswers.addressesV4 = structuredAnswers.addressesV4 ?? {};
593
+ structuredAnswers.addressesV4[name] = structuredAnswers.addressesV4[name] ?? /* @__PURE__ */ new Map();
594
+ structuredAnswers.addressesV4[name].set(answer.value, {
595
+ discoveredAt,
596
+ ...answer
597
+ });
568
598
  }
569
599
  })
570
600
  );
@@ -578,7 +608,14 @@ class MdnsScanner {
578
608
  for (const [recordType, records] of Object.entries(answers.operational)) {
579
609
  combinedAnswers.operational[recordType] = combinedAnswers.operational[recordType] ?? /* @__PURE__ */ new Map();
580
610
  records.forEach((record) => {
581
- combinedAnswers.operational[recordType].set(record.name, record);
611
+ const existingRecord = combinedAnswers.operational[recordType].get(record.name);
612
+ if (existingRecord && existingRecord.discoveredAt < record.discoveredAt) {
613
+ if (record.ttl === 0) {
614
+ combinedAnswers.operational[recordType].delete(record.name);
615
+ } else {
616
+ combinedAnswers.operational[recordType].set(record.name, record);
617
+ }
618
+ }
582
619
  });
583
620
  }
584
621
  }
@@ -587,15 +624,47 @@ class MdnsScanner {
587
624
  for (const [recordType, records] of Object.entries(answers.commissionable)) {
588
625
  combinedAnswers.commissionable[recordType] = combinedAnswers.commissionable[recordType] ?? /* @__PURE__ */ new Map();
589
626
  records.forEach((record) => {
590
- combinedAnswers.commissionable[recordType].set(record.name, record);
627
+ const existingRecord = combinedAnswers.commissionable[recordType].get(record.name);
628
+ if (existingRecord && existingRecord.discoveredAt < record.discoveredAt) {
629
+ if (record.ttl === 0) {
630
+ combinedAnswers.commissionable[recordType].delete(record.name);
631
+ } else {
632
+ combinedAnswers.commissionable[recordType].set(record.name, record);
633
+ }
634
+ }
591
635
  });
592
636
  }
593
637
  }
594
- if (answers.addresses) {
595
- combinedAnswers.addresses = combinedAnswers.addresses ?? {};
596
- for (const [name, records] of Object.entries(answers.addresses)) {
597
- combinedAnswers.addresses[name] = combinedAnswers.addresses[name] ?? [];
598
- combinedAnswers.addresses[name].push(...records);
638
+ if (answers.addressesV6) {
639
+ combinedAnswers.addressesV6 = combinedAnswers.addressesV6 ?? {};
640
+ for (const [name, records] of Object.entries(answers.addressesV6)) {
641
+ combinedAnswers.addressesV6[name] = combinedAnswers.addressesV6[name] ?? /* @__PURE__ */ new Map();
642
+ Object.values(records).forEach((record) => {
643
+ const existingRecord = combinedAnswers.addressesV6[name].get(record.value);
644
+ if (existingRecord && existingRecord.discoveredAt < record.discoveredAt) {
645
+ if (record.ttl === 0) {
646
+ combinedAnswers.addressesV6[name].delete(name);
647
+ } else {
648
+ combinedAnswers.addressesV6[name].set(name, record);
649
+ }
650
+ }
651
+ });
652
+ }
653
+ }
654
+ if (this.#enableIpv4 && answers.addressesV4) {
655
+ combinedAnswers.addressesV4 = combinedAnswers.addressesV4 ?? {};
656
+ for (const [name, records] of Object.entries(answers.addressesV4)) {
657
+ combinedAnswers.addressesV4[name] = combinedAnswers.addressesV4[name] ?? /* @__PURE__ */ new Map();
658
+ Object.values(records).forEach((record) => {
659
+ const existingRecord = combinedAnswers.addressesV4[name].get(record.value);
660
+ if (existingRecord && existingRecord.discoveredAt < record.discoveredAt) {
661
+ if (record.ttl === 0) {
662
+ combinedAnswers.addressesV4[name].delete(name);
663
+ } else {
664
+ combinedAnswers.addressesV4[name].set(name, record);
665
+ }
666
+ }
667
+ });
599
668
  }
600
669
  }
601
670
  }
@@ -616,8 +685,11 @@ class MdnsScanner {
616
685
  ])
617
686
  );
618
687
  }
619
- if (combinedAnswers.addresses) {
620
- result.addresses = combinedAnswers.addresses;
688
+ if (combinedAnswers.addressesV6) {
689
+ result.addressesV6 = combinedAnswers.addressesV6;
690
+ }
691
+ if (this.#enableIpv4 && combinedAnswers.addressesV4) {
692
+ result.addressesV4 = combinedAnswers.addressesV4;
621
693
  }
622
694
  return result;
623
695
  }
@@ -632,14 +704,86 @@ class MdnsScanner {
632
704
  if (message.messageType !== DnsMessageType.Response && message.messageType !== DnsMessageType.TruncatedResponse)
633
705
  return;
634
706
  const answers = this.#structureAnswers([...message.answers, ...message.additionalRecords]);
635
- const formerAnswers = this.#getActiveQueryEarlierAnswers();
707
+ const formerAnswers = this.#getActiveQueryEarlierAnswers(netInterface);
636
708
  this.#handleOperationalRecords(answers, formerAnswers, netInterface);
637
709
  this.#handleCommissionableRecords(answers, formerAnswers, netInterface);
710
+ this.#updateIpRecords(answers, netInterface);
711
+ }
712
+ /**
713
+ * Update the discovered matter relevant IP records with the new data from the DNS message.
714
+ */
715
+ #updateIpRecords(answers, netInterface) {
716
+ const interfaceRecords = this.#discoveredIpRecords.get(netInterface);
717
+ if (interfaceRecords === void 0) {
718
+ return;
719
+ }
720
+ let updated = false;
721
+ if (answers.addressesV6) {
722
+ for (const [target, ipAddresses] of Object.entries(answers.addressesV6)) {
723
+ if (interfaceRecords.addressesV6?.[target] !== void 0) {
724
+ for (const [ip, record] of Object.entries(ipAddresses)) {
725
+ if (record.ttl === 0) {
726
+ interfaceRecords.addressesV6[target].delete(ip);
727
+ } else {
728
+ interfaceRecords.addressesV6[target].set(ip, record);
729
+ }
730
+ updated = true;
731
+ }
732
+ }
733
+ }
734
+ }
735
+ if (this.#enableIpv4 && answers.addressesV4) {
736
+ for (const [target, ipAddresses] of Object.entries(answers.addressesV4)) {
737
+ if (interfaceRecords.addressesV4?.[target] !== void 0) {
738
+ for (const [ip, record] of Object.entries(ipAddresses)) {
739
+ if (record.ttl === 0) {
740
+ interfaceRecords.addressesV4[target].delete(ip);
741
+ } else {
742
+ interfaceRecords.addressesV4[target].set(ip, record);
743
+ }
744
+ updated = true;
745
+ }
746
+ }
747
+ }
748
+ }
749
+ if (updated) {
750
+ this.#discoveredIpRecords.set(netInterface, interfaceRecords);
751
+ }
752
+ }
753
+ /**
754
+ * Register Matter relevant IP records for later usage.
755
+ */
756
+ #registerIpRecords(ipAddresses, netInterface) {
757
+ const interfaceRecords = this.#discoveredIpRecords.get(netInterface) ?? {};
758
+ for (const record of ipAddresses) {
759
+ const { recordType, name, value: ip, ttl } = record;
760
+ if (ttl === 0) continue;
761
+ if (recordType === DnsRecordType.AAAA) {
762
+ interfaceRecords.addressesV6 = interfaceRecords.addressesV6 ?? {};
763
+ interfaceRecords.addressesV6[name] = interfaceRecords.addressesV6[name] ?? /* @__PURE__ */ new Map();
764
+ interfaceRecords.addressesV6[name].set(ip, record);
765
+ } else if (this.#enableIpv4 && recordType === DnsRecordType.A) {
766
+ interfaceRecords.addressesV4 = interfaceRecords.addressesV4 ?? {};
767
+ interfaceRecords.addressesV4[name] = interfaceRecords.addressesV4[name] ?? /* @__PURE__ */ new Map();
768
+ interfaceRecords.addressesV4[name].set(ip, record);
769
+ }
770
+ }
771
+ this.#discoveredIpRecords.set(netInterface, interfaceRecords);
638
772
  }
639
773
  #handleIpRecords(answers, target, netInterface) {
640
- const ipRecords = answers.flatMap((answer) => answer.addresses?.[target] ?? []).filter(
641
- ({ recordType }) => recordType === DnsRecordType.AAAA || recordType === DnsRecordType.A && this.#enableIpv4
642
- );
774
+ const ipRecords = new Array();
775
+ answers.forEach((answer) => {
776
+ if (answer.addressesV6?.[target]) {
777
+ ipRecords.push(...answer.addressesV6[target].values());
778
+ }
779
+ if (this.#enableIpv4 && answer.addressesV4?.[target]) {
780
+ ipRecords.push(...answer.addressesV4[target].values());
781
+ }
782
+ });
783
+ if (ipRecords.length === 0) {
784
+ return [];
785
+ }
786
+ this.#registerIpRecords(ipRecords, netInterface);
643
787
  const collectedIps = /* @__PURE__ */ new Map();
644
788
  ipRecords.forEach((record) => {
645
789
  const { value, ttl } = record;
@@ -727,6 +871,7 @@ class MdnsScanner {
727
871
  discoveredAt,
728
872
  ttl: ttl * 1e3
729
873
  };
874
+ const ipsInitiallyEmpty = device.addresses.size === 0;
730
875
  const { addresses } = device;
731
876
  if (ips.length > 0) {
732
877
  for (const { value: ip, ttl: ttl2 } of ips) {
@@ -743,9 +888,9 @@ class MdnsScanner {
743
888
  addresses.set(address.ip, address);
744
889
  }
745
890
  device.addresses = addresses;
746
- if (!this.#operationalDeviceRecords.has(matterName)) {
891
+ if (ipsInitiallyEmpty) {
747
892
  logger.debug(
748
- `Added IPs for operational device ${matterName} to cache (interface ${netInterface}):`,
893
+ `Added ${addresses.size} IPs for operational device ${matterName} to cache (interface ${netInterface}):`,
749
894
  ...MdnsScanner.deviceAddressDiagnostics(addresses)
750
895
  );
751
896
  }
@@ -826,7 +971,7 @@ class MdnsScanner {
826
971
  this.#commissionableDeviceRecords.delete(record.name);
827
972
  continue;
828
973
  }
829
- const recordExisting = storedRecord.addresses.size > 0;
974
+ const recordAddressesKnown = storedRecord.addresses.size > 0;
830
975
  const ips = this.#handleIpRecords([formerAnswers, answers], target, netInterface);
831
976
  if (ips.length > 0) {
832
977
  for (const { value: ip, ttl: ttl2 } of ips) {
@@ -855,12 +1000,17 @@ class MdnsScanner {
855
1000
  `Requesting IP addresses for commissionable device ${record.name} (interface ${netInterface}).`
856
1001
  );
857
1002
  this.#setQueryRecords(queryId2, queries, answers);
1003
+ } else if (!recordAddressesKnown) {
1004
+ logger.debug(
1005
+ `Added ${storedRecord.addresses.size} IPs for commissionable device ${record.name} to cache (interface ${netInterface}):`,
1006
+ ...MdnsScanner.deviceAddressDiagnostics(storedRecord.addresses)
1007
+ );
858
1008
  }
859
1009
  if (storedRecord.addresses.size === 0) continue;
860
1010
  const queryId = this.#findCommissionableQueryIdentifier(record.name, storedRecord);
861
1011
  if (queryId === void 0) continue;
862
1012
  queryMissingDataForInstances.delete(record.name);
863
- this.#finishWaiter(queryId, true, recordExisting);
1013
+ this.#finishWaiter(queryId, true, recordAddressesKnown);
864
1014
  }
865
1015
  if (queryMissingDataForInstances.size !== 0) {
866
1016
  for (const name of Array.from(queryMissingDataForInstances.values())) {
@@ -943,6 +1093,54 @@ class MdnsScanner {
943
1093
  this.#commissionableDeviceRecords.delete(recordKey);
944
1094
  }
945
1095
  });
1096
+ [...this.#activeAnnounceQueries.values()].forEach(({ answers }) => this.#expireStructuredAnswers(answers, now));
1097
+ this.#discoveredIpRecords.forEach((answers) => this.#expireStructuredAnswers(answers, now));
1098
+ }
1099
+ #expireStructuredAnswers(data, now) {
1100
+ if (data.operational) {
1101
+ Object.keys(data.operational).forEach((recordType) => {
1102
+ const type = parseInt(recordType);
1103
+ data.operational[type] = data.operational[type].filter(
1104
+ ({ discoveredAt, ttl }) => now < discoveredAt + this.#effectiveTTL(ttl * 1e3)
1105
+ );
1106
+ if (data.operational[type].length === 0) {
1107
+ delete data.operational[type];
1108
+ }
1109
+ });
1110
+ }
1111
+ if (data.commissionable) {
1112
+ Object.keys(data.commissionable).forEach((recordType) => {
1113
+ const type = parseInt(recordType);
1114
+ data.commissionable[type] = data.commissionable[type].filter(
1115
+ ({ discoveredAt, ttl }) => now < discoveredAt + this.#effectiveTTL(ttl * 1e3)
1116
+ );
1117
+ if (data.commissionable[type].length === 0) {
1118
+ delete data.commissionable[type];
1119
+ }
1120
+ });
1121
+ }
1122
+ if (data.addressesV6) {
1123
+ Object.keys(data.addressesV6).forEach((name) => {
1124
+ for (const [ip, { discoveredAt, ttl }] of data.addressesV6[name].entries()) {
1125
+ if (now < discoveredAt + this.#effectiveTTL(ttl * 1e3)) continue;
1126
+ data.addressesV6[name].delete(ip);
1127
+ }
1128
+ if (data.addressesV6[name].size === 0) {
1129
+ delete data.addressesV6[name];
1130
+ }
1131
+ });
1132
+ }
1133
+ if (data.addressesV4) {
1134
+ Object.keys(data.addressesV4).forEach((name) => {
1135
+ for (const [ip, { discoveredAt, ttl }] of data.addressesV4[name].entries()) {
1136
+ if (now < discoveredAt + this.#effectiveTTL(ttl * 1e3)) continue;
1137
+ data.addressesV4[name].delete(ip);
1138
+ }
1139
+ if (data.addressesV4[name].size === 0) {
1140
+ delete data.addressesV4[name];
1141
+ }
1142
+ });
1143
+ }
946
1144
  }
947
1145
  static discoveryDataDiagnostics(data) {
948
1146
  return Diagnostic.dict(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsScanner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["queries", "answers", "ttl", "queryId", "value", "discoveredAt"]
6
6
  }
@@ -22,7 +22,11 @@ export declare class MdnsServer {
22
22
  buildTypePortKey(type: AnnouncementType, port: number): string;
23
23
  isKeyForPort(key: string, port: number): boolean;
24
24
  announce(announcedNetPort?: number): Promise<void>;
25
- expireAnnouncements(announcedNetPort?: number, type?: AnnouncementType): Promise<void>;
25
+ expireAnnouncements(options?: {
26
+ announcedNetPort?: number;
27
+ type?: AnnouncementType;
28
+ forInstance?: string;
29
+ }): Promise<void>;
26
30
  setRecordsGenerator(hostPort: number, type: AnnouncementType, generator: (netInterface: string) => Promise<DnsRecord<any>[]>): Promise<void>;
27
31
  close(): Promise<void>;
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAOH,SAAS,EAMT,OAAO,EAEP,kBAAkB,EACrB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,oBAAY,gBAAgB;IACxB,cAAc,IAAA;IACd,SAAS,IAAA;CACZ;AAED,qBAAa,UAAU;;WACN,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAkCnF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS;IASnG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAIvF,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM;IAIrD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAuKhC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM;IAgBlC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB;IAyCtE,mBAAmB,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAQ5D,KAAK;CAkBd"}
1
+ {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAOH,SAAS,EAMT,OAAO,EAEP,kBAAkB,EACrB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,oBAAY,gBAAgB;IACxB,cAAc,IAAA;IACd,SAAS,IAAA;CACZ;AAED,qBAAa,UAAU;;WACN,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAkCnF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS;IASnG,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAIvF,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM;IAIrD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAuKhC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM;IAgBlC,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAsD1G,mBAAmB,CACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAQ5D,KAAK;CAkBd"}
@@ -91,14 +91,14 @@ class MdnsServer {
91
91
  ) !== void 0 ? portRecords.filter((record) => !answers.includes(record) && record.recordType !== DnsRecordType.PTR) : [];
92
92
  if (knownAnswers.length > 0) {
93
93
  for (const knownAnswersRecord of knownAnswers) {
94
- answers = answers.filter((record) => !isDeepEqual(record, knownAnswersRecord));
94
+ answers = answers.filter((record) => !isDeepEqual(record, knownAnswersRecord, true));
95
95
  if (answers.length === 0) break;
96
96
  }
97
97
  if (answers.length === 0) continue;
98
98
  if (additionalRecords.length > 0) {
99
99
  for (const knownAnswersRecord of knownAnswers) {
100
100
  additionalRecords = additionalRecords.filter(
101
- (record) => !isDeepEqual(record, knownAnswersRecord)
101
+ (record) => !isDeepEqual(record, knownAnswersRecord, true)
102
102
  );
103
103
  }
104
104
  }
@@ -214,7 +214,8 @@ class MdnsServer {
214
214
  "Error happened when announcing MDNS messages"
215
215
  ).catch((error) => logger.error(error));
216
216
  }
217
- async expireAnnouncements(announcedNetPort, type) {
217
+ async expireAnnouncements(options) {
218
+ const { announcedNetPort, type, forInstance: instanceToExpire } = options ?? {};
218
219
  await MatterAggregateError.allSettled(
219
220
  this.#records.keys().map(async (netInterface) => {
220
221
  const records = await this.#records.get(netInterface);
@@ -222,13 +223,17 @@ class MdnsServer {
222
223
  if (announcedNetPort !== void 0 && !this.isKeyForPort(portType, announcedNetPort)) continue;
223
224
  if (announcedNetPort !== void 0 && type !== void 0 && portType !== this.buildTypePortKey(type, announcedNetPort))
224
225
  continue;
225
- let instanceName;
226
- portTypeRecords.forEach((record) => {
226
+ const recordsToProcess = instanceToExpire !== void 0 ? portTypeRecords.filter(
227
+ ({ forInstance }) => forInstance !== void 0 && instanceToExpire === forInstance
228
+ ) : portTypeRecords;
229
+ const instanceSet = /* @__PURE__ */ new Set();
230
+ recordsToProcess.forEach((record) => {
227
231
  record.ttl = 0;
228
- if (instanceName === void 0 && record.recordType === DnsRecordType.TXT) {
229
- instanceName = record.name;
232
+ if (record.recordType === DnsRecordType.TXT) {
233
+ instanceSet.add(record.name);
230
234
  }
231
235
  });
236
+ const instanceName = instanceSet.size > 1 ? "multiple" : instanceSet.size === 1 ? Array.from(instanceSet.values())[0] : "";
232
237
  logger.debug(
233
238
  `Expiring records`,
234
239
  Diagnostic.dict({
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["AnnouncementType", "netInterface"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerCommissioningFlow.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioningFlow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAIvE,OAAO,EAAsC,WAAW,EAA4C,MAAM,UAAU,CAAC;AACrH,OAAO,EAQH,QAAQ,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAK9E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC7C;;OAEG;IACH,kBAAkB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IAEhE;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;OAEG;IACH,aAAa,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACL,CAAC;AAQF,kDAAkD;AAClD,aAAK,2BAA2B;IAC5B,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;IACP,IAAI,IAAA;CACP;AAED;;;GAGG;AACH,KAAK,uBAAuB,GAAG;IAC3B,IAAI,EAAE,2BAA2B,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAsCF,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AAOtD;;GAEG;AACH,qBAAa,2BAA2B;;;IAoBhC,uDAAuD;IACvD,iBAAiB,EAAE,iBAAiB;IAEpC,4CAA4C;IAC5C,EAAE,EAAE,oBAAoB;IAExB,gCAAgC;IAChC,MAAM,EAAE,MAAM;IAEd,2DAA2D;IAC3D,oBAAoB,EAAE,kCAAkC;IAExD,+EAA+E;IAC/E,gBAAgB,EAAE,CACd,WAAW,EAAE,WAAW,EACxB,6BAA6B,EAAE,OAAO,KACrC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAW/C;;;;;OAKG;IACG,oBAAoB;IA6N1B,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAixBvE"}
1
+ {"version":3,"file":"ControllerCommissioningFlow.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioningFlow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAIvE,OAAO,EAAsC,WAAW,EAA4C,MAAM,UAAU,CAAC;AACrH,OAAO,EAQH,QAAQ,EACX,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAK9E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC7C;;OAEG;IACH,kBAAkB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC;IAEhE;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,WAAW,CAAC,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAEF;;OAEG;IACH,aAAa,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,kBAAkB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACL,CAAC;AAQF,kDAAkD;AAClD,aAAK,2BAA2B;IAC5B,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;IACP,IAAI,IAAA;CACP;AAED;;;GAGG;AACH,KAAK,uBAAuB,GAAG;IAC3B,IAAI,EAAE,2BAA2B,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAyCF,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AAOtD;;GAEG;AACH,qBAAa,2BAA2B;;;IAoBhC,uDAAuD;IACvD,iBAAiB,EAAE,iBAAiB;IAEpC,4CAA4C;IAC5C,EAAE,EAAE,oBAAoB;IAExB,gCAAgC;IAChC,MAAM,EAAE,MAAM;IAEd,2DAA2D;IAC3D,oBAAoB,EAAE,kCAAkC;IAExD,+EAA+E;IAC/E,gBAAgB,EAAE,CACd,WAAW,EAAE,WAAW,EACxB,6BAA6B,EAAE,OAAO,KACrC,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAW/C;;;;;OAKG;IACG,oBAAoB;IAuO1B,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAizBvE"}