@matter/protocol 0.12.4-alpha.0-20250224-e0964a795 → 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 (98) hide show
  1. package/dist/cjs/interaction/InteractionClient.d.ts +6 -2
  2. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  3. package/dist/cjs/interaction/InteractionClient.js +3 -2
  4. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  5. package/dist/cjs/interaction/InteractionServer.d.ts +18 -1
  6. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -1
  7. package/dist/cjs/interaction/InteractionServer.js +117 -41
  8. package/dist/cjs/interaction/InteractionServer.js.map +1 -1
  9. package/dist/cjs/interaction/ServerSubscription.d.ts +8 -16
  10. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  11. package/dist/cjs/interaction/ServerSubscription.js +78 -55
  12. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  13. package/dist/cjs/interaction/Subscription.d.ts +7 -1
  14. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  15. package/dist/cjs/interaction/Subscription.js +25 -2
  16. package/dist/cjs/interaction/Subscription.js.map +1 -1
  17. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  18. package/dist/cjs/peer/ControllerCommissioner.js +4 -5
  19. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  20. package/dist/cjs/peer/PeerAddress.d.ts +5 -0
  21. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  22. package/dist/cjs/peer/PeerAddress.js +13 -1
  23. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  24. package/dist/cjs/peer/PeerSet.d.ts +6 -2
  25. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  26. package/dist/cjs/peer/PeerSet.js +18 -8
  27. package/dist/cjs/peer/PeerSet.js.map +1 -1
  28. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -0
  29. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  30. package/dist/cjs/securechannel/SecureChannelMessenger.js +3 -0
  31. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  32. package/dist/cjs/session/SecureSession.d.ts +1 -1
  33. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  34. package/dist/cjs/session/SecureSession.js +3 -2
  35. package/dist/cjs/session/SecureSession.js.map +1 -1
  36. package/dist/cjs/session/Session.d.ts +1 -0
  37. package/dist/cjs/session/Session.d.ts.map +1 -1
  38. package/dist/cjs/session/Session.js +1 -0
  39. package/dist/cjs/session/Session.js.map +1 -1
  40. package/dist/cjs/session/SessionManager.d.ts +2 -2
  41. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  42. package/dist/cjs/session/SessionManager.js +5 -9
  43. package/dist/cjs/session/SessionManager.js.map +1 -1
  44. package/dist/esm/interaction/InteractionClient.d.ts +6 -2
  45. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  46. package/dist/esm/interaction/InteractionClient.js +3 -2
  47. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  48. package/dist/esm/interaction/InteractionServer.d.ts +18 -1
  49. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -1
  50. package/dist/esm/interaction/InteractionServer.js +118 -42
  51. package/dist/esm/interaction/InteractionServer.js.map +1 -1
  52. package/dist/esm/interaction/ServerSubscription.d.ts +8 -16
  53. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  54. package/dist/esm/interaction/ServerSubscription.js +78 -55
  55. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  56. package/dist/esm/interaction/Subscription.d.ts +7 -1
  57. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  58. package/dist/esm/interaction/Subscription.js +26 -3
  59. package/dist/esm/interaction/Subscription.js.map +1 -1
  60. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  61. package/dist/esm/peer/ControllerCommissioner.js +4 -5
  62. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  63. package/dist/esm/peer/PeerAddress.d.ts +5 -0
  64. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  65. package/dist/esm/peer/PeerAddress.js +13 -1
  66. package/dist/esm/peer/PeerAddress.js.map +1 -1
  67. package/dist/esm/peer/PeerSet.d.ts +6 -2
  68. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  69. package/dist/esm/peer/PeerSet.js +18 -8
  70. package/dist/esm/peer/PeerSet.js.map +1 -1
  71. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -0
  72. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  73. package/dist/esm/securechannel/SecureChannelMessenger.js +3 -0
  74. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  75. package/dist/esm/session/SecureSession.d.ts +1 -1
  76. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  77. package/dist/esm/session/SecureSession.js +3 -2
  78. package/dist/esm/session/SecureSession.js.map +1 -1
  79. package/dist/esm/session/Session.d.ts +1 -0
  80. package/dist/esm/session/Session.d.ts.map +1 -1
  81. package/dist/esm/session/Session.js +1 -0
  82. package/dist/esm/session/Session.js.map +1 -1
  83. package/dist/esm/session/SessionManager.d.ts +2 -2
  84. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  85. package/dist/esm/session/SessionManager.js +6 -10
  86. package/dist/esm/session/SessionManager.js.map +1 -1
  87. package/package.json +6 -6
  88. package/src/interaction/InteractionClient.ts +8 -3
  89. package/src/interaction/InteractionServer.ts +158 -45
  90. package/src/interaction/ServerSubscription.ts +87 -63
  91. package/src/interaction/Subscription.ts +34 -6
  92. package/src/peer/ControllerCommissioner.ts +4 -5
  93. package/src/peer/PeerAddress.ts +14 -0
  94. package/src/peer/PeerSet.ts +31 -9
  95. package/src/securechannel/SecureChannelMessenger.ts +4 -0
  96. package/src/session/SecureSession.ts +3 -2
  97. package/src/session/Session.ts +1 -0
  98. package/src/session/SessionManager.ts +5 -9
@@ -62,29 +62,44 @@ class ServerSubscription extends Subscription {
62
62
  #attributeListeners = /* @__PURE__ */ new Map();
63
63
  #eventListeners = /* @__PURE__ */ new Map();
64
64
  #sendUpdatesActivated = false;
65
- #maxIntervalMs;
66
65
  #sendIntervalMs;
67
- minIntervalFloorMs;
68
- maxIntervalCeilingMs;
69
- peerAddress;
70
- sendNextUpdateImmediately = false;
71
- sendUpdateErrorCounter = 0;
72
- attributeUpdatePromises = /* @__PURE__ */ new Set();
73
- currentUpdatePromise;
66
+ #minIntervalFloorMs;
67
+ #maxIntervalCeilingMs;
68
+ #peerAddress;
69
+ #sendNextUpdateImmediately = false;
70
+ #sendUpdateErrorCounter = 0;
71
+ #attributeUpdatePromises = /* @__PURE__ */ new Set();
72
+ #currentUpdatePromise;
74
73
  constructor(options) {
75
- const { id, context, criteria, minIntervalFloor, maxIntervalCeiling, subscriptionOptions } = options;
74
+ const {
75
+ id,
76
+ context,
77
+ criteria,
78
+ minIntervalFloorSeconds,
79
+ maxIntervalCeilingSeconds,
80
+ subscriptionOptions,
81
+ useAsMaxInterval,
82
+ useAsSendInterval
83
+ } = options;
76
84
  super(context.session, id, criteria);
77
85
  this.#context = context;
78
86
  this.#structure = context.structure;
79
- this.peerAddress = this.session.peerAddress;
80
- this.minIntervalFloorMs = minIntervalFloor * 1e3;
81
- this.maxIntervalCeilingMs = maxIntervalCeiling * 1e3;
82
- const { maxInterval, sendInterval } = this.determineSendingIntervals(
83
- subscriptionOptions.minIntervalSeconds * 1e3,
84
- subscriptionOptions.maxIntervalSeconds * 1e3,
85
- subscriptionOptions.randomizationWindowSeconds * 1e3
86
- );
87
- this.#maxIntervalMs = maxInterval;
87
+ this.#peerAddress = this.session.peerAddress;
88
+ this.#minIntervalFloorMs = minIntervalFloorSeconds * 1e3;
89
+ this.#maxIntervalCeilingMs = maxIntervalCeilingSeconds * 1e3;
90
+ let maxInterval;
91
+ let sendInterval;
92
+ if (useAsMaxInterval !== void 0 && useAsSendInterval !== void 0) {
93
+ maxInterval = useAsMaxInterval * 1e3;
94
+ sendInterval = useAsSendInterval * 1e3;
95
+ } else {
96
+ ({ maxInterval, sendInterval } = this.#determineSendingIntervals(
97
+ subscriptionOptions.minIntervalSeconds * 1e3,
98
+ subscriptionOptions.maxIntervalSeconds * 1e3,
99
+ subscriptionOptions.randomizationWindowSeconds * 1e3
100
+ ));
101
+ }
102
+ this.maxIntervalMs = maxInterval;
88
103
  this.#sendIntervalMs = sendInterval;
89
104
  this.#updateTimer = Time.getTimer(
90
105
  `Subscription ${this.id} update`,
@@ -92,17 +107,17 @@ class ServerSubscription extends Subscription {
92
107
  () => this.#prepareDataUpdate()
93
108
  );
94
109
  }
95
- determineSendingIntervals(subscriptionMinIntervalMs, subscriptionMaxIntervalMs, subscriptionRandomizationWindowMs) {
110
+ #determineSendingIntervals(subscriptionMinIntervalMs, subscriptionMaxIntervalMs, subscriptionRandomizationWindowMs) {
96
111
  const maxInterval = Math.min(
97
112
  Math.max(
98
113
  subscriptionMinIntervalMs,
99
- Math.max(this.minIntervalFloorMs, Math.min(subscriptionMaxIntervalMs, this.maxIntervalCeilingMs))
114
+ Math.max(this.#minIntervalFloorMs, Math.min(subscriptionMaxIntervalMs, this.#maxIntervalCeilingMs))
100
115
  ) + Math.floor(subscriptionRandomizationWindowMs * Math.random()),
101
116
  MAX_INTERVAL_PUBLISHER_LIMIT_S * 1e3
102
117
  );
103
118
  let sendInterval = Math.floor(maxInterval / 2);
104
119
  if (sendInterval < 6e4) {
105
- sendInterval = Math.max(this.minIntervalFloorMs, Math.floor(maxInterval * 0.8));
120
+ sendInterval = Math.max(this.#minIntervalFloorMs, Math.floor(maxInterval * 0.8));
106
121
  }
107
122
  if (sendInterval < subscriptionMinIntervalMs) {
108
123
  logger.warn(
@@ -112,7 +127,7 @@ class ServerSubscription extends Subscription {
112
127
  }
113
128
  return { maxInterval, sendInterval };
114
129
  }
115
- registerNewAttributes() {
130
+ #registerNewAttributes() {
116
131
  const newAttributes = new Array();
117
132
  const attributeErrors = new Array();
118
133
  const formerAttributes = new Set(this.#attributeListeners.keys());
@@ -259,7 +274,7 @@ class ServerSubscription extends Subscription {
259
274
  * controller. The data of newly added events are not sent automatically.
260
275
  */
261
276
  async updateSubscription() {
262
- const { newAttributes } = this.registerNewAttributes();
277
+ const { newAttributes } = this.#registerNewAttributes();
263
278
  for (const { path, attribute } of newAttributes) {
264
279
  const { version, value } = this.#context.readAttribute(path, attribute);
265
280
  this.#outstandingAttributeUpdates.set(attributePathToId(path), {
@@ -308,13 +323,17 @@ class ServerSubscription extends Subscription {
308
323
  }
309
324
  this.#prepareDataUpdate();
310
325
  }
311
- get maxInterval() {
312
- return Math.ceil(this.#maxIntervalMs / 1e3);
313
- }
314
326
  get sendInterval() {
315
327
  return Math.ceil(this.#sendIntervalMs / 1e3);
316
328
  }
317
- activateSendingUpdates() {
329
+ get minIntervalFloorSeconds() {
330
+ return Math.ceil(this.#minIntervalFloorMs / 1e3);
331
+ }
332
+ get maxIntervalCeilingSeconds() {
333
+ return Math.ceil(this.#maxIntervalCeilingMs / 1e3);
334
+ }
335
+ activate() {
336
+ super.activate();
318
337
  if (this.criteria.eventFilters !== void 0) this.criteria.eventFilters.length = 0;
319
338
  if (this.criteria.dataVersionFilters !== void 0) this.criteria.dataVersionFilters.length = 0;
320
339
  this.#sendUpdatesActivated = true;
@@ -349,10 +368,10 @@ class ServerSubscription extends Subscription {
349
368
  this.#updateTimer.stop();
350
369
  const now = Time.nowMs();
351
370
  const timeSinceLastUpdateMs = now - this.#lastUpdateTimeMs;
352
- if (timeSinceLastUpdateMs < this.minIntervalFloorMs) {
371
+ if (timeSinceLastUpdateMs < this.#minIntervalFloorMs) {
353
372
  this.#updateTimer = Time.getTimer(
354
373
  "Subscription update",
355
- this.minIntervalFloorMs - timeSinceLastUpdateMs,
374
+ this.#minIntervalFloorMs - timeSinceLastUpdateMs,
356
375
  () => this.#prepareDataUpdate()
357
376
  ).start();
358
377
  return;
@@ -365,12 +384,12 @@ class ServerSubscription extends Subscription {
365
384
  ).start();
366
385
  }
367
386
  #triggerSendUpdate() {
368
- if (this.currentUpdatePromise !== void 0) {
387
+ if (this.#currentUpdatePromise !== void 0) {
369
388
  logger.debug("Sending update already in progress, delaying update ...");
370
- this.sendNextUpdateImmediately = true;
389
+ this.#sendNextUpdateImmediately = true;
371
390
  return;
372
391
  }
373
- this.currentUpdatePromise = this.#sendUpdate().catch((error) => logger.warn("Sending subscription update failed:", error)).finally(() => this.currentUpdatePromise = void 0);
392
+ this.#currentUpdatePromise = this.#sendUpdate().catch((error) => logger.warn("Sending subscription update failed:", error)).finally(() => this.#currentUpdatePromise = void 0);
374
393
  }
375
394
  /**
376
395
  * Determine all attributes that have changed since the last update and send them tout to the subscriber.
@@ -400,18 +419,18 @@ class ServerSubscription extends Subscription {
400
419
  }
401
420
  this.#lastUpdateTimeMs = Time.nowMs();
402
421
  try {
403
- await this.sendUpdateMessage(attributeUpdatesToSend, eventUpdatesToSend);
404
- this.sendUpdateErrorCounter = 0;
422
+ await this.#sendUpdateMessage(attributeUpdatesToSend, eventUpdatesToSend);
423
+ this.#sendUpdateErrorCounter = 0;
405
424
  } catch (error) {
406
425
  if (this.isClosed) {
407
426
  return;
408
427
  }
409
- this.sendUpdateErrorCounter++;
428
+ this.#sendUpdateErrorCounter++;
410
429
  logger.info(
411
- `Error sending subscription update message (error count=${this.sendUpdateErrorCounter}):`,
430
+ `Error sending subscription update message (error count=${this.#sendUpdateErrorCounter}):`,
412
431
  error instanceof MatterError && error.message || error
413
432
  );
414
- if (this.sendUpdateErrorCounter <= 2) {
433
+ if (this.#sendUpdateErrorCounter <= 2) {
415
434
  const newAttributeUpdatesToSend = Array.from(this.#outstandingAttributeUpdates.values());
416
435
  this.#outstandingAttributeUpdates.clear();
417
436
  const newEventUpdatesToSend = Array.from(this.#outstandingEventUpdates.values());
@@ -426,8 +445,9 @@ class ServerSubscription extends Subscription {
426
445
  logger.info(
427
446
  `Sending update failed 3 times in a row, canceling subscription ${this.id} and let controller subscribe again.`
428
447
  );
429
- this.sendNextUpdateImmediately = false;
448
+ this.#sendNextUpdateImmediately = false;
430
449
  if (error instanceof NoResponseTimeoutError || error instanceof NetworkError || error instanceof NoChannelError) {
450
+ this.isCanceledByPeer = true;
431
451
  await this.destroy();
432
452
  return;
433
453
  } else {
@@ -435,9 +455,9 @@ class ServerSubscription extends Subscription {
435
455
  }
436
456
  }
437
457
  }
438
- if (this.sendNextUpdateImmediately) {
458
+ if (this.#sendNextUpdateImmediately) {
439
459
  logger.debug("Sending delayed update immediately after last one was sent.");
440
- this.sendNextUpdateImmediately = false;
460
+ this.#sendNextUpdateImmediately = false;
441
461
  await this.#sendUpdate(true);
442
462
  }
443
463
  }
@@ -560,7 +580,7 @@ class ServerSubscription extends Subscription {
560
580
  }
561
581
  async sendInitialReport(messenger) {
562
582
  this.#updateTimer.stop();
563
- const { newAttributes, attributeErrors } = this.registerNewAttributes();
583
+ const { newAttributes, attributeErrors } = this.#registerNewAttributes();
564
584
  const { newEvents, eventErrors } = this.#registerNewEvents();
565
585
  const { eventReportsPayload, eventsFiltered } = await this.#collectInitialEventReportPayloads(newEvents);
566
586
  await messenger.sendDataReport(
@@ -580,8 +600,8 @@ class ServerSubscription extends Subscription {
580
600
  attributeChangeListener(path, schema, version, value) {
581
601
  const changeResult = this.attributeChangeHandler(path, schema, version, value);
582
602
  if (MaybePromise.is(changeResult)) {
583
- const resolver = Promise.resolve(changeResult).catch((error) => logger.error(`Error handling attribute change:`, error)).finally(() => this.attributeUpdatePromises.delete(resolver));
584
- this.attributeUpdatePromises.add(resolver);
603
+ const resolver = Promise.resolve(changeResult).catch((error) => logger.error(`Error handling attribute change:`, error)).finally(() => this.#attributeUpdatePromises.delete(resolver));
604
+ this.#attributeUpdatePromises.add(resolver);
585
605
  }
586
606
  }
587
607
  attributeChangeHandler(path, schema, version, value) {
@@ -617,15 +637,15 @@ class ServerSubscription extends Subscription {
617
637
  this.#prepareDataUpdate();
618
638
  }
619
639
  }
620
- async flush() {
640
+ async #flush() {
621
641
  this.#sendDelayTimer.stop();
622
642
  if (this.#outstandingAttributeUpdates.size > 0 || this.#outstandingEventUpdates.size > 0) {
623
643
  logger.debug(
624
644
  `Flushing subscription ${this.id} with ${this.#outstandingAttributeUpdates.size} attributes and ${this.#outstandingEventUpdates.size} events${this.isClosed ? " (for closing)" : ""}`
625
645
  );
626
646
  this.#triggerSendUpdate();
627
- if (this.currentUpdatePromise) {
628
- await this.currentUpdatePromise;
647
+ if (this.#currentUpdatePromise) {
648
+ await this.#currentUpdatePromise;
629
649
  }
630
650
  }
631
651
  }
@@ -633,9 +653,9 @@ class ServerSubscription extends Subscription {
633
653
  this.#sendUpdatesActivated = false;
634
654
  this.unregisterAttributeListeners(Array.from(this.#attributeListeners.keys()));
635
655
  this.unregisterEventListeners(Array.from(this.#eventListeners.keys()));
636
- if (this.attributeUpdatePromises.size) {
637
- const resolvers = [...this.attributeUpdatePromises.values()];
638
- this.attributeUpdatePromises.clear();
656
+ if (this.#attributeUpdatePromises.size) {
657
+ const resolvers = [...this.#attributeUpdatePromises.values()];
658
+ this.#attributeUpdatePromises.clear();
639
659
  await MatterAggregateError.allSettled(resolvers, "Error receiving all outstanding attribute values").catch(
640
660
  (error) => logger.error(error)
641
661
  );
@@ -647,16 +667,19 @@ class ServerSubscription extends Subscription {
647
667
  /**
648
668
  * Closes the subscription and flushes all outstanding data updates if requested.
649
669
  */
650
- async close(graceful = false) {
670
+ async close(graceful = false, cancelledByPeer = false) {
651
671
  if (this.isClosed) {
652
672
  return;
653
673
  }
674
+ if (cancelledByPeer) {
675
+ this.isCanceledByPeer = true;
676
+ }
654
677
  await this.destroy();
655
678
  if (graceful) {
656
- await this.flush();
679
+ await this.#flush();
657
680
  }
658
- if (this.currentUpdatePromise) {
659
- await this.currentUpdatePromise;
681
+ if (this.#currentUpdatePromise) {
682
+ await this.#currentUpdatePromise;
660
683
  }
661
684
  }
662
685
  /**
@@ -689,8 +712,8 @@ class ServerSubscription extends Subscription {
689
712
  };
690
713
  }
691
714
  }
692
- async sendUpdateMessage(attributes, events) {
693
- const exchange = this.#context.initiateExchange(this.peerAddress, INTERACTION_PROTOCOL_ID);
715
+ async #sendUpdateMessage(attributes, events) {
716
+ const exchange = this.#context.initiateExchange(this.#peerAddress, INTERACTION_PROTOCOL_ID);
694
717
  if (exchange === void 0) return;
695
718
  if (attributes.length) {
696
719
  logger.debug(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/ServerSubscription.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ServerSubscriptionConfig", "path", "endpointId", "value"]
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 } from "#general";
6
7
  import { type SecureSession } from "#session/SecureSession.js";
7
8
  import { TlvAttributePath, TlvDataVersionFilter, TlvEventFilter, TlvEventPath, TypeFromSchema } from "#types";
8
9
  export type SubscriptionId = number;
@@ -24,6 +25,10 @@ export declare abstract class Subscription {
24
25
  get isClosed(): boolean;
25
26
  get isCanceledByPeer(): boolean;
26
27
  get session(): SecureSession;
28
+ get cancelled(): Observable<[subscription: Subscription], void>;
29
+ get maxIntervalMs(): number;
30
+ set maxIntervalMs(value: number);
31
+ get maxInterval(): number;
27
32
  /**
28
33
  * Update session state. This probably is meaningless except in a server context.
29
34
  */
@@ -34,10 +39,11 @@ export declare abstract class Subscription {
34
39
  protected set isCanceledByPeer(value: boolean);
35
40
  protected set isClosed(value: boolean);
36
41
  /** Close the subscription with the option to gracefully flush outstanding data. */
37
- abstract close(graceful: boolean): Promise<void>;
42
+ abstract close(graceful: boolean, cancelledByPeer?: boolean): Promise<void>;
38
43
  /**
39
44
  * Destroy the subscription. Unsubscribe from all attributes and events and stop all timers.
40
45
  */
41
46
  protected destroy(): Promise<void>;
47
+ protected activate(): void;
42
48
  }
43
49
  //# sourceMappingURL=Subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/Subscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI9G,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,EAAE,cAAc,CAAC,OAAO,gBAAgB,CAAC,EAAE,CAAC;IAC9D,kBAAkB,CAAC,EAAE,cAAc,CAAC,OAAO,oBAAoB,CAAC,EAAE,CAAC;IACnE,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,CAAC;IACvD,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,8BAAsB,YAAY;;gBAOlB,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB;IAUtF,IAAI,EAAE,WAEL;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,QAAQ,IAwBkB,OAAO,CAtBpC;IAED,IAAI,gBAAgB,IAgBkB,OAAO,CAd5C;IAED,IAAI,OAAO,kBAEV;IAED;;OAEG;IACG,MAAM;IAEZ;;OAEG;IACH,SAAS,KAAK,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAED,SAAS,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhD;;OAEG;cACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAK3C"}
1
+ {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/Subscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAyB,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI9G,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,CAAC,EAAE,cAAc,CAAC,OAAO,gBAAgB,CAAC,EAAE,CAAC;IAC9D,kBAAkB,CAAC,EAAE,cAAc,CAAC,OAAO,oBAAoB,CAAC,EAAE,CAAC;IACnE,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,YAAY,CAAC,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,cAAc,CAAC,EAAE,CAAC;IACvD,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,8BAAsB,YAAY;;gBASlB,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB;IAMtF,IAAI,EAAE,WAEL;IAED,IAAI,QAAQ,yBAEX;IAED,IAAI,QAAQ,IA8CkB,OAAO,CA5CpC;IAED,IAAI,gBAAgB,IAsCkB,OAAO,CApC5C;IAED,IAAI,OAAO,kBAEV;IAED,IAAI,SAAS,mDAEZ;IAED,IAAI,aAAa,IAAI,MAAM,CAK1B;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,EAK9B;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACG,MAAM;IAEZ;;OAEG;IACH,SAAS,KAAK,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAE5C;IAED,SAAS,KAAK,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,mFAAmF;IACnF,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3E;;OAEG;cACa,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQxC,SAAS,CAAC,QAAQ;CAKrB"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Logger } from "#general";
6
+ import { InternalError, Logger, Observable } from "#general";
7
7
  const logger = Logger.get("Subscription");
8
8
  class Subscription {
9
9
  #session;
@@ -11,12 +11,12 @@ class Subscription {
11
11
  #isClosed;
12
12
  #isCanceledByPeer;
13
13
  #criteria;
14
+ #cancelled = Observable();
15
+ #maxIntervalMs;
14
16
  constructor(session, id, criteria) {
15
17
  this.#session = session;
16
18
  this.#id = id;
17
19
  this.#criteria = criteria;
18
- this.#session.subscriptions.add(this);
19
- logger.debug(`Added subscription ${this.#id} to ${this.#session.name}`);
20
20
  }
21
21
  get id() {
22
22
  return this.#id;
@@ -33,6 +33,24 @@ class Subscription {
33
33
  get session() {
34
34
  return this.#session;
35
35
  }
36
+ get cancelled() {
37
+ return this.#cancelled;
38
+ }
39
+ get maxIntervalMs() {
40
+ if (this.#maxIntervalMs === void 0) {
41
+ throw new InternalError("Subscription MaxIntervalMs accessed before it was set");
42
+ }
43
+ return this.#maxIntervalMs;
44
+ }
45
+ set maxIntervalMs(value) {
46
+ if (this.#maxIntervalMs !== void 0) {
47
+ throw new InternalError("Subscription MaxIntervalMs set twice. This should never happen.");
48
+ }
49
+ this.#maxIntervalMs = value;
50
+ }
51
+ get maxInterval() {
52
+ return Math.ceil(this.maxIntervalMs / 1e3);
53
+ }
36
54
  /**
37
55
  * Update session state. This probably is meaningless except in a server context.
38
56
  */
@@ -54,6 +72,11 @@ class Subscription {
54
72
  this.#isClosed = true;
55
73
  this.#session.subscriptions.delete(this);
56
74
  logger.debug(`Removed subscription ${this.id} from ${this.#session.name}`);
75
+ this.#cancelled.emit(this);
76
+ }
77
+ activate() {
78
+ this.#session.subscriptions.add(this);
79
+ logger.debug(`Added subscription ${this.#id} to ${this.#session.name}`);
57
80
  }
58
81
  }
59
82
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/Subscription.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AAIvB,MAAM,SAAS,OAAO,IAAI,cAAc;AAejC,MAAe,aAAa;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,SAAwB,IAAoB,UAAgC;AACpF,SAAK,WAAW;AAChB,SAAK,MAAM;AACX,SAAK,YAAY;AAGjB,SAAK,SAAS,cAAc,IAAI,IAAI;AACpC,WAAO,MAAM,sBAAsB,KAAK,GAAG,OAAO,KAAK,SAAS,IAAI,EAAE;AAAA,EAC1E;AAAA,EAEA,IAAI,KAAK;AACL,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA,EAKhB,IAAc,iBAAiB,OAAgB;AAC3C,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEA,IAAc,SAAS,OAAgB;AACnC,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAQA,MAAgB,UAAyB;AACrC,SAAK,YAAY;AACjB,SAAK,SAAS,cAAc,OAAO,IAAI;AACvC,WAAO,MAAM,wBAAwB,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI,EAAE;AAAA,EAC7E;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,QAAQ,kBAAkB;AAIlD,MAAM,SAAS,OAAO,IAAI,cAAc;AAejC,MAAe,aAAa;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa,WAAyC;AAAA,EACtD;AAAA,EAEA,YAAY,SAAwB,IAAoB,UAAgC;AACpF,SAAK,WAAW;AAChB,SAAK,MAAM;AACX,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,KAAK;AACL,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,CAAC,CAAC,KAAK;AAAA,EAClB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,gBAAwB;AACxB,QAAI,KAAK,mBAAmB,QAAW;AACnC,YAAM,IAAI,cAAc,uDAAuD;AAAA,IACnF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc,OAAe;AAC7B,QAAI,KAAK,mBAAmB,QAAW;AACnC,YAAM,IAAI,cAAc,iEAAiE;AAAA,IAC7F;AACA,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,IAAI,cAAsB;AACtB,WAAO,KAAK,KAAK,KAAK,gBAAgB,GAAI;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA,EAKhB,IAAc,iBAAiB,OAAgB;AAC3C,SAAK,oBAAoB;AAAA,EAC7B;AAAA,EAEA,IAAc,SAAS,OAAgB;AACnC,SAAK,YAAY;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAQA,MAAgB,UAAyB;AACrC,SAAK,YAAY;AACjB,SAAK,SAAS,cAAc,OAAO,IAAI;AACvC,WAAO,MAAM,wBAAwB,KAAK,EAAE,SAAS,KAAK,SAAS,IAAI,EAAE;AAEzE,SAAK,WAAW,KAAK,IAAI;AAAA,EAC7B;AAAA,EAEU,WAAW;AAEjB,SAAK,SAAS,cAAc,IAAI,IAAI;AACpC,WAAO,MAAM,sBAAsB,KAAK,GAAG,OAAO,KAAK,SAAS,IAAI,EAAE;AAAA,EAC1E;AACJ;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerCommissioner.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAGH,WAAW,EACX,aAAa,EAGb,eAAe,EAEf,aAAa,EAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAA+B,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAIvH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAA8B,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACnH,OAAO,EAAqB,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IACrF,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtG;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC1E,iCAAiC;IACjC,SAAS,EAAE,CACL;QACI;;;;WAIG;QACH,cAAc,EAAE,+BAA+B,CAAC;KACnD,GACD;QACI;;;WAGG;QACH,oBAAoB,EAAE,oBAAoB,CAAC;KAC9C,CACN,GAAG;QACA;;;WAGG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;QAErF;;;WAGG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;QAE7B,wEAAwE;QACxE,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,yBAAyB,CAAC;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,sBAAsB;;gBAInB,OAAO,EAAE,6BAA6B;IAKlD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAa9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhF;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,WAAW,CAAC;CA2QjG"}
1
+ {"version":3,"file":"ControllerCommissioner.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,+BAA+B,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAGH,WAAW,EACX,aAAa,EAGb,eAAe,EAEf,aAAa,EAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAA+B,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAIvH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAA8B,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AACnH,OAAO,EAAqB,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAkB,MAAM,gCAAgC,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,kCAAkC,CAAC;IACrF,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtG;AAED;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IACzE,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gCAAiC,SAAQ,oBAAoB;IAC1E,iCAAiC;IACjC,SAAS,EAAE,CACL;QACI;;;;WAIG;QACH,cAAc,EAAE,+BAA+B,CAAC;KACnD,GACD;QACI;;;WAGG;QACH,oBAAoB,EAAE,oBAAoB,CAAC;KAC9C,CACN,GAAG;QACA;;;WAGG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,CAAC,OAAO,2BAA2B,CAAC,CAAC;QAErF;;;WAGG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;QAE7B,wEAAwE;QACxE,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,OAAO,EAAE,yBAAyB,CAAC;IACnC,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,EAAE,EAAE,oBAAoB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,sBAAsB;;gBAInB,OAAO,EAAE,6BAA6B;IAKlD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAa9C;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBhF;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,WAAW,CAAC;CA0QjG"}
@@ -229,15 +229,14 @@ class ControllerCommissioner {
229
229
  await performCaseCommissioning(address2, discoveryData);
230
230
  return;
231
231
  }
232
- return await this.#context.clients.connect(
233
- address2,
234
- {
232
+ return await this.#context.clients.connect(address2, {
233
+ discoveryOptions: {
235
234
  discoveryType: NodeDiscoveryType.TimedDiscovery,
236
235
  timeoutSeconds: 120,
237
236
  discoveryData
238
237
  },
239
- true
240
- );
238
+ allowUnknownPeer: true
239
+ });
241
240
  }
242
241
  );
243
242
  try {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/ControllerCommissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["address"]
6
6
  }
@@ -30,4 +30,9 @@ export declare class PeerAddressMap<T> extends Map<PeerAddress, T> {
30
30
  set(key: PeerAddress, value: T): this;
31
31
  get(key: PeerAddress): T | undefined;
32
32
  }
33
+ export declare class PeerAddressSet extends Set<PeerAddress> {
34
+ add(value: PeerAddress): this;
35
+ has(value: PeerAddress): boolean;
36
+ delete(value: PeerAddress): boolean;
37
+ }
33
38
  //# sourceMappingURL=PeerAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeerAddress.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA8B7D;AAED,yBAAiB,WAAW,CAAC;IACzB,SAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,WAM9E;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,WAAW;IAIvB,GAAG,CAAC,GAAG,EAAE,WAAW;IAIpB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAI9B,GAAG,CAAC,GAAG,EAAE,WAAW;CAGhC"}
1
+ {"version":3,"file":"PeerAddress.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CA8B7D;AAED,yBAAiB,WAAW,CAAC;IACzB,SAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,WAM9E;CACJ;AAED;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,WAAW;IAIvB,GAAG,CAAC,GAAG,EAAE,WAAW;IAIpB,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAI9B,GAAG,CAAC,GAAG,EAAE,WAAW;CAGhC;AAED,qBAAa,cAAe,SAAQ,GAAG,CAAC,WAAW,CAAC;IACvC,GAAG,CAAC,KAAK,EAAE,WAAW;IAItB,GAAG,CAAC,KAAK,EAAE,WAAW;IAItB,MAAM,CAAC,KAAK,EAAE,WAAW;CAGrC"}
@@ -53,8 +53,20 @@ class PeerAddressMap extends Map {
53
53
  return super.get(PeerAddress(key));
54
54
  }
55
55
  }
56
+ class PeerAddressSet extends Set {
57
+ add(value) {
58
+ return super.add(PeerAddress(value));
59
+ }
60
+ has(value) {
61
+ return super.has(PeerAddress(value));
62
+ }
63
+ delete(value) {
64
+ return super.delete(PeerAddress(value));
65
+ }
66
+ }
56
67
  export {
57
68
  PeerAddress,
58
- PeerAddressMap
69
+ PeerAddressMap,
70
+ PeerAddressSet
59
71
  };
60
72
  //# sourceMappingURL=PeerAddress.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/PeerAddress.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,WAAW,OAAO,0BAA0B;AAElD,MAAM,oBAAoB,oBAAI,IAA2C;AAQlE,SAAS,YAAY,SAAmC;AAC3D,MAAI,YAAY,SAAS;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,iBAAiB,kBAAkB,IAAI,QAAQ,WAAW;AAC9D,MAAI,mBAAmB,QAAW;AAC9B,sBAAkB,IAAI,QAAQ,aAAc,iBAAiB,oBAAI,IAAI,CAAE;AAAA,EAC3E;AAEA,MAAI,kBAAkB,eAAe,IAAI,QAAQ,MAAM;AACvD,MAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAEA,iBAAe;AAAA,IACX,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACf,GAAG;AAAA,MAEH,CAAC,QAAQ,GAAG;AAAA,MAEZ,WAAW;AACP,cAAM,UAAU,KAAK,SAAS,QAAS,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC,KAAK,KAAK;AAC9E,eAAO,QAAQ,KAAK,WAAW,IAAI,OAAO;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,iBAAV;AACI,WAAS,GAAG,OAA+B,OAA+B;AAC7E,QAAI,UAAU,UAAa,UAAU,QAAW;AAC5C,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,gBAAgB,MAAM,eAAe,MAAM,WAAW,MAAM;AAAA,EAC7E;AANO,EAAAA,aAAS;AAAA,GADH;AAaV,MAAM,uBAA0B,IAAoB;AAAA,EAC9C,OAAO,KAAkB;AAC9B,WAAO,MAAM,OAAO,YAAY,GAAG,CAAC;AAAA,EACxC;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AAAA,EAES,IAAI,KAAkB,OAAU;AACrC,WAAO,MAAM,IAAI,YAAY,GAAG,GAAG,KAAK;AAAA,EAC5C;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,MAAM,WAAW,OAAO,0BAA0B;AAElD,MAAM,oBAAoB,oBAAI,IAA2C;AAQlE,SAAS,YAAY,SAAmC;AAC3D,MAAI,YAAY,SAAS;AACrB,WAAO;AAAA,EACX;AAEA,MAAI,iBAAiB,kBAAkB,IAAI,QAAQ,WAAW;AAC9D,MAAI,mBAAmB,QAAW;AAC9B,sBAAkB,IAAI,QAAQ,aAAc,iBAAiB,oBAAI,IAAI,CAAE;AAAA,EAC3E;AAEA,MAAI,kBAAkB,eAAe,IAAI,QAAQ,MAAM;AACvD,MAAI,iBAAiB;AACjB,WAAO;AAAA,EACX;AAEA,iBAAe;AAAA,IACX,QAAQ;AAAA,IACP,kBAAkB;AAAA,MACf,GAAG;AAAA,MAEH,CAAC,QAAQ,GAAG;AAAA,MAEZ,WAAW;AACP,cAAM,UAAU,KAAK,SAAS,QAAS,KAAK,KAAK,OAAO,SAAS,EAAE,CAAC,KAAK,KAAK;AAC9E,eAAO,QAAQ,KAAK,WAAW,IAAI,OAAO;AAAA,MAC9C;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,iBAAV;AACI,WAAS,GAAG,OAA+B,OAA+B;AAC7E,QAAI,UAAU,UAAa,UAAU,QAAW;AAC5C,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,gBAAgB,MAAM,eAAe,MAAM,WAAW,MAAM;AAAA,EAC7E;AANO,EAAAA,aAAS;AAAA,GADH;AAaV,MAAM,uBAA0B,IAAoB;AAAA,EAC9C,OAAO,KAAkB;AAC9B,WAAO,MAAM,OAAO,YAAY,GAAG,CAAC;AAAA,EACxC;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AAAA,EAES,IAAI,KAAkB,OAAU;AACrC,WAAO,MAAM,IAAI,YAAY,GAAG,GAAG,KAAK;AAAA,EAC5C;AAAA,EAES,IAAI,KAAkB;AAC3B,WAAO,MAAM,IAAI,YAAY,GAAG,CAAC;AAAA,EACrC;AACJ;AAEO,MAAM,uBAAuB,IAAiB;AAAA,EACxC,IAAI,OAAoB;AAC7B,WAAO,MAAM,IAAI,YAAY,KAAK,CAAC;AAAA,EACvC;AAAA,EAES,IAAI,OAAoB;AAC7B,WAAO,MAAM,IAAI,YAAY,KAAK,CAAC;AAAA,EACvC;AAAA,EAES,OAAO,OAAoB;AAChC,WAAO,MAAM,OAAO,YAAY,KAAK,CAAC;AAAA,EAC1C;AACJ;",
5
5
  "names": ["PeerAddress"]
6
6
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { DiscoveryData, ScannerSet } from "#common/Scanner.js";
7
- import { AsyncObservable, BasicSet, Construction, Environment, Environmental, ImmutableSet, MatterError, NetInterfaceSet, ObservableSet } from "#general";
7
+ import { AsyncObservable, BasicSet, Construction, Environment, Environmental, ImmutableSet, MatterError, NetInterfaceSet, ObservableSet, ServerAddressIp } from "#general";
8
8
  import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
9
9
  import { PeerAddress } from "#peer/PeerAddress.js";
10
10
  import { SessionManager } from "#session/SessionManager.js";
@@ -73,7 +73,11 @@ export declare class PeerSet implements ImmutableSet<OperationalPeer>, Observabl
73
73
  /**
74
74
  * Ensure there is a channel to the designated peer.
75
75
  */
76
- ensureConnection(address: PeerAddress, discoveryOptions: DiscoveryOptions, allowUnknownPeer?: boolean): Promise<MessageChannel | undefined>;
76
+ ensureConnection(address: PeerAddress, options: {
77
+ discoveryOptions: DiscoveryOptions;
78
+ allowUnknownPeer?: boolean;
79
+ operationalAddress?: ServerAddressIp;
80
+ }): Promise<MessageChannel | undefined>;
77
81
  /**
78
82
  * Obtain an exchange provider for the designated peer.
79
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEH,eAAe,EACf,QAAQ,EAER,YAAY,EAEZ,WAAW,EACX,aAAa,EACb,YAAY,EAKZ,WAAW,EACX,eAAe,EAEf,aAAa,EAKhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAA4B,eAAe,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,uBAAuB,CAAC;AAOxE;;GAEG;AACH,oBAAY,iBAAiB;IACzB,gFAAgF;IAChF,IAAI,IAAI;IAER,8FAA8F;IAC9F,uBAAuB,IAAI;IAE3B,8GAA8G;IAC9G,cAAc,IAAI;IAElB,uGAAuG;IACvG,aAAa,IAAI;CACpB;AAED,4FAA4F;AAC5F,qBAAa,gBAAiB,SAAQ,WAAW;CAAG;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AASD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,EAAE,UAAU,CAAC;IACrB,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,OAAQ,YAAW,YAAY,CAAC,eAAe,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC;;gBAqB7E,OAAO,EAAE,cAAc;IAqCnC,IAAI,KAAK,2DAER;IAED,IAAI,OAAO,2DAEV;IAED,IAAI,YAAY,kDAEf;IAED,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAOvC,IAAI,IAAI,WAEP;IAED,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,SAAS;IAI9D,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,SAAS;IAIhE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,CAAC;IAI3C,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,IAAI,YAAY,0BAEf;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAc9C,IAAI,KAAK,+CAER;IAED,IAAI,kBAAkB,uBAErB;IAED,IAAI,gBAAgB,qBAEnB;IAED;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,UAAQ;IA8BzG;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,gBAAgB;IAqCnF;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAOvC;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe,EAAE,gBAAgB,UAAO;IAW7E;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,eAAe;IAc1C,KAAK;CAgad"}
1
+ {"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"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"}