@matter/protocol 0.17.3 → 0.17.4-alpha.0-20260623-5647634fc

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 (55) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts +2 -0
  2. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ClientInteraction.js +6 -4
  4. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  5. package/dist/cjs/peer/Peer.d.ts +10 -1
  6. package/dist/cjs/peer/Peer.d.ts.map +1 -1
  7. package/dist/cjs/peer/Peer.js +15 -5
  8. package/dist/cjs/peer/Peer.js.map +1 -1
  9. package/dist/cjs/peer/PeerAddressMonitor.d.ts +19 -1
  10. package/dist/cjs/peer/PeerAddressMonitor.d.ts.map +1 -1
  11. package/dist/cjs/peer/PeerAddressMonitor.js +99 -65
  12. package/dist/cjs/peer/PeerAddressMonitor.js.map +1 -1
  13. package/dist/cjs/peer/PeerExchangeProvider.d.ts +5 -1
  14. package/dist/cjs/peer/PeerExchangeProvider.d.ts.map +1 -1
  15. package/dist/cjs/peer/PeerExchangeProvider.js +3 -0
  16. package/dist/cjs/peer/PeerExchangeProvider.js.map +1 -1
  17. package/dist/cjs/peer/PeerTimingParameters.d.ts +2 -2
  18. package/dist/cjs/peer/PeerTimingParameters.d.ts.map +1 -1
  19. package/dist/cjs/peer/PeerTimingParameters.js +2 -2
  20. package/dist/cjs/peer/PeerTimingParameters.js.map +1 -1
  21. package/dist/cjs/protocol/ExchangeProvider.d.ts +11 -0
  22. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  23. package/dist/cjs/protocol/ExchangeProvider.js +8 -0
  24. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  25. package/dist/esm/action/client/ClientInteraction.d.ts +2 -0
  26. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  27. package/dist/esm/action/client/ClientInteraction.js +6 -4
  28. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  29. package/dist/esm/peer/Peer.d.ts +10 -1
  30. package/dist/esm/peer/Peer.d.ts.map +1 -1
  31. package/dist/esm/peer/Peer.js +15 -5
  32. package/dist/esm/peer/Peer.js.map +1 -1
  33. package/dist/esm/peer/PeerAddressMonitor.d.ts +19 -1
  34. package/dist/esm/peer/PeerAddressMonitor.d.ts.map +1 -1
  35. package/dist/esm/peer/PeerAddressMonitor.js +100 -65
  36. package/dist/esm/peer/PeerAddressMonitor.js.map +1 -1
  37. package/dist/esm/peer/PeerExchangeProvider.d.ts +5 -1
  38. package/dist/esm/peer/PeerExchangeProvider.d.ts.map +1 -1
  39. package/dist/esm/peer/PeerExchangeProvider.js +3 -0
  40. package/dist/esm/peer/PeerExchangeProvider.js.map +1 -1
  41. package/dist/esm/peer/PeerTimingParameters.d.ts +2 -2
  42. package/dist/esm/peer/PeerTimingParameters.d.ts.map +1 -1
  43. package/dist/esm/peer/PeerTimingParameters.js +3 -3
  44. package/dist/esm/peer/PeerTimingParameters.js.map +1 -1
  45. package/dist/esm/protocol/ExchangeProvider.d.ts +11 -0
  46. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  47. package/dist/esm/protocol/ExchangeProvider.js +8 -0
  48. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  49. package/package.json +5 -5
  50. package/src/action/client/ClientInteraction.ts +7 -4
  51. package/src/peer/Peer.ts +20 -8
  52. package/src/peer/PeerAddressMonitor.ts +127 -92
  53. package/src/peer/PeerExchangeProvider.ts +5 -1
  54. package/src/peer/PeerTimingParameters.ts +5 -5
  55. package/src/protocol/ExchangeProvider.ts +12 -0
@@ -91,11 +91,11 @@ export interface PeerTimingParameters {
91
91
  */
92
92
  addressChangeStabilizationDelay: Duration;
93
93
  /**
94
- * Probe cooldown range for address-change probes on the same IP.
94
+ * Probe cooldown range for address-change probes.
95
95
  *
96
96
  * When mDNS keeps reporting the session IP as gone but probes succeed, the cooldown grows
97
97
  * using a Fibonacci-like sequence from {@link minimum} to {@link maximum}. The cooldown
98
- * resets when the probed IP changes or a probe fails.
98
+ * resets on a probe failure or a subscription-liveness scare, not on a mere address change.
99
99
  *
100
100
  * Probes are also suppressed while the session is actively receiving data — the cooldown
101
101
  * is measured from whichever is more recent: the last probe or the last received message.
@@ -1 +1 @@
1
- {"version":3,"file":"PeerTimingParameters.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerTimingParameters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAmD,MAAM,iBAAiB,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;OAKG;IACH,wBAAwB,EAAE,QAAQ,CAAC;IAEnC;;;;OAIG;IACH,oCAAoC,EAAE,QAAQ,CAAC;IAE/C;;;;OAIG;IACH,sBAAsB,EAAE,QAAQ,CAAC;IAEjC;;;;;;;OAOG;IACH,sBAAsB,EAAE,QAAQ,CAAC;IAEjC;;;;OAIG;IACH,mBAAmB,EAAE,QAAQ,CAAC;IAE9B;;;;OAIG;IACH,wBAAwB,EAAE,QAAQ,CAAC;IAEnC;;;;;OAKG;IACH,oBAAoB,EAAE,QAAQ,CAAC;IAE/B;;;;;OAKG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,oBAAoB,EAAE,QAAQ,CAAC;IAE/B;;;;;OAKG;IACH,mBAAmB,EAAE;QACjB,mEAAmE;QACnE,aAAa,EAAE,QAAQ,CAAC;QAExB,gFAAgF;QAChF,OAAO,EAAE,QAAQ,CAAC;KACrB,CAAC;IAEF;;;;;OAKG;IACH,+BAA+B,EAAE,QAAQ,CAAC;IAE1C;;;;;;;;;OASG;IACH,0BAA0B,EAAE;QACxB,wEAAwE;QACxE,OAAO,EAAE,QAAQ,CAAC;QAElB,wDAAwD;QACxD,OAAO,EAAE,QAAQ,CAAC;KACrB,CAAC;CACL;AAQD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,wBAiB3E;AAED,yBAAiB,oBAAoB,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAIhH;IAKM,MAAM,QAAQ,EAAE,oBAsBtB,CAAC;CACL"}
1
+ {"version":3,"file":"PeerTimingParameters.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerTimingParameters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAA0D,MAAM,iBAAiB,CAAC;AAEnG;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;;OAKG;IACH,wBAAwB,EAAE,QAAQ,CAAC;IAEnC;;;;OAIG;IACH,oCAAoC,EAAE,QAAQ,CAAC;IAE/C;;;;OAIG;IACH,sBAAsB,EAAE,QAAQ,CAAC;IAEjC;;;;;;;OAOG;IACH,sBAAsB,EAAE,QAAQ,CAAC;IAEjC;;;;OAIG;IACH,mBAAmB,EAAE,QAAQ,CAAC;IAE9B;;;;OAIG;IACH,wBAAwB,EAAE,QAAQ,CAAC;IAEnC;;;;;OAKG;IACH,oBAAoB,EAAE,QAAQ,CAAC;IAE/B;;;;;OAKG;IACH,sBAAsB,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,oBAAoB,EAAE,QAAQ,CAAC;IAE/B;;;;;OAKG;IACH,mBAAmB,EAAE;QACjB,mEAAmE;QACnE,aAAa,EAAE,QAAQ,CAAC;QAExB,gFAAgF;QAChF,OAAO,EAAE,QAAQ,CAAC;KACrB,CAAC;IAEF;;;;;OAKG;IACH,+BAA+B,EAAE,QAAQ,CAAC;IAE1C;;;;;;;;;OASG;IACH,0BAA0B,EAAE;QACxB,wEAAwE;QACxE,OAAO,EAAE,QAAQ,CAAC;QAElB,wDAAwD;QACxD,OAAO,EAAE,QAAQ,CAAC;KACrB,CAAC;CACL;AAQD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,wBAiB3E;AAED,yBAAiB,oBAAoB,CAAC,CAAC;IACnC;;;;;OAKG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,CAIhH;IAKM,MAAM,QAAQ,EAAE,oBAsBtB,CAAC;CACL"}
@@ -70,8 +70,8 @@ function PeerTimingParameters(options) {
70
70
  },
71
71
  addressChangeStabilizationDelay: (0, import_general.Seconds)(10),
72
72
  addressChangeProbeCooldown: {
73
- minimum: (0, import_general.Minutes)(2),
74
- maximum: (0, import_general.Minutes)(60)
73
+ minimum: (0, import_general.Minutes)(10),
74
+ maximum: (0, import_general.Hours)(24)
75
75
  }
76
76
  };
77
77
  })(PeerTimingParameters || (PeerTimingParameters = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/PeerTimingParameters.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA0E;AAN1E;AAAA;AAAA;AAAA;AAAA;AA6HA,MAAM,WAAW,uBAAO,4BAA4B;AAM7C,SAAS,qBAAqB,SAAyC;AAC1E,MAAI,WAAY,QAAqB,QAAQ,GAAG;AAC5C,WAAO;AAAA,EACX;AAEA,QAAM,SAAS,EAAE,GAAG,qBAAqB,SAAS;AAClD,MAAI,SAAS;AACT,eAAW,OAAO,OAAO,KAAK,OAAO,GAAG;AACpC,YAAM,QAAS,QAAoC,GAAG;AACtD,UAAI,UAAU,QAAW;AACrB,eAAO,GAAG,IAAI;AAAA,MAClB;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,QAAQ,IAAI;AAEnB,SAAO;AACX;AAAA,CAEO,CAAUA,0BAAV;AAOI,WAAS,MAAM,MAA4B,WAAgE;AAC9G,UAAM,aAAS,eAAAC,OAAa,MAAM,SAAS;AAC3C,WAAO,QAAQ,IAAI;AACnB,WAAO;AAAA,EACX;AAJO,EAAAD,sBAAS;AAMhB,QAAM,qCAAiC,wBAAQ,CAAC;AAGzC,EAAMA,sBAAA,WAAiC;AAAA,IAC1C,8BAA0B,wBAAQ,EAAE;AAAA,IACpC,sCAAsC;AAAA;AAAA;AAAA,IAItC,4BAAwB,wBAAQ,EAAE;AAAA,IAClC,4BAAwB,wBAAQ,EAAE;AAAA,IAClC,yBAAqB,wBAAQ,CAAC;AAAA,IAC9B,8BAA0B,wBAAQ,CAAC;AAAA,IACnC,0BAAsB,wBAAQ,CAAC;AAAA,IAC/B,wBAAwB;AAAA,IACxB,0BAAsB,uBAAO,iCAAiC,CAAC;AAAA,IAC/D,qBAAqB;AAAA,MACjB,mBAAe,wBAAQ,EAAE;AAAA,MACzB,aAAS,wBAAQ,EAAE;AAAA,IACvB;AAAA,IACA,qCAAiC,wBAAQ,EAAE;AAAA,IAC3C,4BAA4B;AAAA,MACxB,aAAS,wBAAQ,CAAC;AAAA,MAClB,aAAS,wBAAQ,EAAE;AAAA,IACvB;AAAA,EACJ;AAAA,GAtCa;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAiF;AANjF;AAAA;AAAA;AAAA;AAAA;AA6HA,MAAM,WAAW,uBAAO,4BAA4B;AAM7C,SAAS,qBAAqB,SAAyC;AAC1E,MAAI,WAAY,QAAqB,QAAQ,GAAG;AAC5C,WAAO;AAAA,EACX;AAEA,QAAM,SAAS,EAAE,GAAG,qBAAqB,SAAS;AAClD,MAAI,SAAS;AACT,eAAW,OAAO,OAAO,KAAK,OAAO,GAAG;AACpC,YAAM,QAAS,QAAoC,GAAG;AACtD,UAAI,UAAU,QAAW;AACrB,eAAO,GAAG,IAAI;AAAA,MAClB;AAAA,IACJ;AAAA,EACJ;AACA,SAAO,QAAQ,IAAI;AAEnB,SAAO;AACX;AAAA,CAEO,CAAUA,0BAAV;AAOI,WAAS,MAAM,MAA4B,WAAgE;AAC9G,UAAM,aAAS,eAAAC,OAAa,MAAM,SAAS;AAC3C,WAAO,QAAQ,IAAI;AACnB,WAAO;AAAA,EACX;AAJO,EAAAD,sBAAS;AAMhB,QAAM,qCAAiC,wBAAQ,CAAC;AAGzC,EAAMA,sBAAA,WAAiC;AAAA,IAC1C,8BAA0B,wBAAQ,EAAE;AAAA,IACpC,sCAAsC;AAAA;AAAA;AAAA,IAItC,4BAAwB,wBAAQ,EAAE;AAAA,IAClC,4BAAwB,wBAAQ,EAAE;AAAA,IAClC,yBAAqB,wBAAQ,CAAC;AAAA,IAC9B,8BAA0B,wBAAQ,CAAC;AAAA,IACnC,0BAAsB,wBAAQ,CAAC;AAAA,IAC/B,wBAAwB;AAAA,IACxB,0BAAsB,uBAAO,iCAAiC,CAAC;AAAA,IAC/D,qBAAqB;AAAA,MACjB,mBAAe,wBAAQ,EAAE;AAAA,MACzB,aAAS,wBAAQ,EAAE;AAAA,IACvB;AAAA,IACA,qCAAiC,wBAAQ,EAAE;AAAA,IAC3C,4BAA4B;AAAA,MACxB,aAAS,wBAAQ,EAAE;AAAA,MACnB,aAAS,sBAAM,EAAE;AAAA,IACrB;AAAA,EACJ;AAAA,GAtCa;",
5
5
  "names": ["PeerTimingParameters", "mergeObjects"]
6
6
  }
@@ -50,6 +50,8 @@ export interface NewExchangeOptions extends Omit<InteractionSettings, "transacti
50
50
  */
51
51
  preferredTransport?: ChannelType;
52
52
  }
53
+ /** Why a reachability check was requested. Gates entry conditions, not the probe mechanics. */
54
+ export type ReachabilityReason = "address-change" | "session-suspect";
53
55
  /**
54
56
  * Interface for obtaining a message exchange with a specific peer.
55
57
  */
@@ -74,6 +76,15 @@ export declare abstract class ExchangeProvider {
74
76
  * The default implementation is a no-op (already connected).
75
77
  */
76
78
  connect(_options?: NewExchangeOptions): Promise<void>;
79
+ /**
80
+ * Verify the peer is reachable, driving recovery (alternate-address migration or session close).
81
+ *
82
+ * The default reports reachable; only peer-backed providers have a reachability authority and override this.
83
+ */
84
+ verifyReachability(_options: {
85
+ reason: ReachabilityReason;
86
+ abort?: AbortSignal;
87
+ }): Promise<boolean>;
77
88
  }
78
89
  /**
79
90
  * Manages an exchange over an established channel.
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAChF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;CACpC;AAED;;GAEG;AACH,8BAAsB,gBAAgB;IACtB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAA/D,YAA+B,eAAe,EAAE,eAAe,EAAI;IAEnE,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACnH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClF,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE7C;;;;;OAKG;IACH,IAAI,OAAO,IAAI,aAAa,GAAG,SAAS,CAEvC;IAED;;;;OAIG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;CACjE;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gBAAgB;;IAGlE,YAAY,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAGnE;IAED,IAAI,iBAAiB,WAEpB;IAEK,gBAAgB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAM7E;IAED,IAAI,WAAW,gBAEd;IAED,IAAa,OAAO,kBAEnB;IAED,uBAAuB,CACnB,sBAAsB,WAAuC,EAC7D,yBAAyB,CAAC,EAAE,OAAO,YAOtC;IAED,IAAI,WAAW;;;kBAId;CACJ"}
1
+ {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAI1E;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC;IAChF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAE9B;;;OAGG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IAEnC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,wGAAwG;IACxG,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,+FAA+F;AAC/F,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEtE;;GAEG;AACH,8BAAsB,gBAAgB;IACtB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAA/D,YAA+B,eAAe,EAAE,eAAe,EAAI;IAEnE,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACnH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClF,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE7C;;;;;OAKG;IACH,IAAI,OAAO,IAAI,aAAa,GAAG,SAAS,CAEvC;IAED;;;;OAIG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAE9D;;;;OAIG;IACG,kBAAkB,CAAC,QAAQ,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAExG;CACJ;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gBAAgB;;IAGlE,YAAY,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAGnE;IAED,IAAI,iBAAiB,WAEpB;IAEK,gBAAgB,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAM7E;IAED,IAAI,WAAW,gBAEd;IAED,IAAa,OAAO,kBAEnB;IAED,uBAAuB,CACnB,sBAAsB,WAAuC,EAC7D,yBAAyB,CAAC,EAAE,OAAO,YAOtC;IAED,IAAI,WAAW;;;kBAId;CACJ"}
@@ -51,6 +51,14 @@ class ExchangeProvider {
51
51
  */
52
52
  async connect(_options) {
53
53
  }
54
+ /**
55
+ * Verify the peer is reachable, driving recovery (alternate-address migration or session close).
56
+ *
57
+ * The default reports reachable; only peer-backed providers have a reachability authority and override this.
58
+ */
59
+ async verifyReachability(_options) {
60
+ return true;
61
+ }
54
62
  }
55
63
  class DedicatedChannelExchangeProvider extends ExchangeProvider {
56
64
  #session;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/ExchangeProvider.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,yBAA4B;AAG5B,mBAAwC;AACxC,iBAAoB;AAbpB;AAAA;AAAA;AAAA;AAAA;AAkEO,MAAe,iBAAiB;AAAA,EACnC,YAA+B,iBAAkC;AAAlC;AAAA,EAAmC;AAAA,EAAnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc/B,IAAI,UAAqC;AACrC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAQ,UAA8C;AAAA,EAAC;AACjE;AAKO,MAAM,yCAAyC,iBAAiB;AAAA,EACnE;AAAA,EAEA,YAAY,iBAAkC,SAAwB;AAClE,UAAM,eAAe;AACrB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,oBAAoB;AACpB,WAAO,KAAK,SAAS,WAAW;AAAA,EACpC;AAAA,EAEA,MAAM,iBAAiB,SAAwD;AAG3E,WAAO,KAAK,gBAAgB,2BAA2B,KAAK,UAAU,sCAAyB;AAAA,MAC3F,wBAAwB,SAAS;AAAA,IACrC,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,SAAS,QAAQ,iBAAiB;AAAA,EAClD;AAAA,EAEA,IAAa,UAAU;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,wBACI,yBAAyB,eAAI,kCAC7B,2BACF;AACE,WAAO,KAAK,gBAAgB;AAAA,MACxB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,cAAc;AACd,QAAI,+BAAY,GAAG,KAAK,QAAQ,GAAG;AAC/B,aAAO,KAAK,SAAS;AAAA,IACzB;AAAA,EACJ;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,yBAA4B;AAG5B,mBAAwC;AACxC,iBAAoB;AAbpB;AAAA;AAAA;AAAA;AAAA;AAqEO,MAAe,iBAAiB;AAAA,EACnC,YAA+B,iBAAkC;AAAlC;AAAA,EAAmC;AAAA,EAAnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAc/B,IAAI,UAAqC;AACrC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAQ,UAA8C;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7D,MAAM,mBAAmB,UAAiF;AACtG,WAAO;AAAA,EACX;AACJ;AAKO,MAAM,yCAAyC,iBAAiB;AAAA,EACnE;AAAA,EAEA,YAAY,iBAAkC,SAAwB;AAClE,UAAM,eAAe;AACrB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,oBAAoB;AACpB,WAAO,KAAK,SAAS,WAAW;AAAA,EACpC;AAAA,EAEA,MAAM,iBAAiB,SAAwD;AAG3E,WAAO,KAAK,gBAAgB,2BAA2B,KAAK,UAAU,sCAAyB;AAAA,MAC3F,wBAAwB,SAAS;AAAA,IACrC,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,SAAS,QAAQ,iBAAiB;AAAA,EAClD;AAAA,EAEA,IAAa,UAAU;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,wBACI,yBAAyB,eAAI,kCAC7B,2BACF;AACE,WAAO,KAAK,gBAAgB;AAAA,MACxB,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,cAAc;AACd,QAAI,+BAAY,GAAG,KAAK,QAAQ,GAAG;AAC/B,aAAO,KAAK,SAAS;AAAA,IACzB;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -113,5 +113,7 @@ export interface ClientProbeOptions {
113
113
  abort?: AbortSignal;
114
114
  /** Suppress peer-loss reporting so the session stays alive even if the probe fails. */
115
115
  suppressPeerLoss?: boolean;
116
+ /** Cap MRP transmission attempts for this probe (default: MRP.MAX_TRANSMISSIONS). */
117
+ maxRetransmissions?: number;
116
118
  }
117
119
  //# sourceMappingURL=ClientInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"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"}
@@ -259,7 +259,8 @@ class ClientInteraction {
259
259
  try {
260
260
  await messenger.sendReadRequest(Read({ fabricFilter: false }), {
261
261
  abort,
262
- suppressPeerLoss: options?.suppressPeerLoss
262
+ suppressPeerLoss: options?.suppressPeerLoss,
263
+ maxRetransmissions: options?.maxRetransmissions
263
264
  });
264
265
  for await (const _report of messenger.readDataReports({ abort })) ;
265
266
  logger.info(
@@ -833,9 +834,10 @@ class ClientInteraction {
833
834
  abort: session?.abort,
834
835
  retries: this.#sustainRetries,
835
836
  read,
836
- // TCP has 1:1 session-connection binding plus OS keep-alive the session is
837
- // evicted when the connection drops, so no liveness probe is needed.
838
- probe: (abort) => this.#exchangeProvider.channelType === ChannelType.TCP ? Promise.resolve(true) : this.probe({ abort })
837
+ probe: (abort) => this.#exchangeProvider.channelType === ChannelType.TCP ? (
838
+ // TCP evicts the session when its connection drops, so no liveness probe is needed.
839
+ Promise.resolve(true)
840
+ ) : this.#exchangeProvider.verifyReachability({ reason: "session-suspect", abort })
839
841
  });
840
842
  } else {
841
843
  subscription = await subscribe(request);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/client/ClientInteraction.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["subscription", "request"]
6
6
  }
@@ -6,7 +6,7 @@
6
6
  import type { ClientInteraction } from "#action/client/ClientInteraction.js";
7
7
  import type { NodeProtocol } from "#action/protocols.js";
8
8
  import { PeerAddress } from "#peer/PeerAddress.js";
9
- import type { ExchangeProvider } from "#protocol/ExchangeProvider.js";
9
+ import type { ExchangeProvider, ReachabilityReason } from "#protocol/ExchangeProvider.js";
10
10
  import type { NodeSession } from "#session/NodeSession.js";
11
11
  import { SessionParameters } from "#session/SessionParameters.js";
12
12
  import { AsyncObservable, BasicSet, ChannelType, DnssdNames, Duration, Identity, IpChannelType, IpService, Lifetime } from "@matter/general";
@@ -111,6 +111,15 @@ export declare class Peer {
111
111
  toString(): string;
112
112
  get hasSession(): boolean;
113
113
  newestSession(type?: ChannelType): NodeSession | undefined;
114
+ /**
115
+ * Verify this peer is reachable, driving recovery via the address monitor.
116
+ *
117
+ * Returns `true` if the session is usable afterward, `false` if it was closed.
118
+ */
119
+ verifyReachability(options: {
120
+ reason: ReachabilityReason;
121
+ abort?: AbortSignal;
122
+ }): Promise<boolean>;
114
123
  }
115
124
  export declare namespace Peer {
116
125
  interface Context extends PeerConnection.Context {
@@ -1 +1 @@
1
- {"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Peer.d.ts","sourceRoot":"","sources":["../../../src/peer/Peer.ts"],"names":[],"mappings":"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"}
@@ -151,15 +151,14 @@ class Peer {
151
151
  }
152
152
  } else {
153
153
  tagUdp(channel.networkAddress);
154
- channel.networkAddressChanged.on(tagUdp);
154
+ session.channel.networkAddressChanged.on(tagUdp);
155
155
  }
156
156
  }
157
157
  }
158
158
  session.closing.on(() => {
159
159
  this.#sessions.delete(session);
160
- const channel = session.channel.transportChannel;
161
- if (isIpNetworkChannel(channel)) {
162
- channel.networkAddressChanged.off(tagUdp);
160
+ if (isIpNetworkChannel(session.channel.transportChannel)) {
161
+ session.channel.networkAddressChanged.off(tagUdp);
163
162
  }
164
163
  });
165
164
  this.#descriptor.sessionParameters = session.parameters;
@@ -429,8 +428,8 @@ class Peer {
429
428
  try {
430
429
  const _lifetime = __using(_stack, this.#lifetime.closing());
431
430
  this.#observers.close();
432
- this.#addressMonitor?.stop();
433
431
  this.#abort(new ClosedError("Peer closed"));
432
+ await this.#addressMonitor?.close();
434
433
  for (const session of this.#context.sessions.sessionsFor(this.address)) {
435
434
  await session.initiateClose();
436
435
  }
@@ -488,6 +487,17 @@ class Peer {
488
487
  }
489
488
  return this.#addressMonitor;
490
489
  }
490
+ /**
491
+ * Verify this peer is reachable, driving recovery via the address monitor.
492
+ *
493
+ * Returns `true` if the session is usable afterward, `false` if it was closed.
494
+ */
495
+ async verifyReachability(options) {
496
+ if (!this.hasSession) {
497
+ return false;
498
+ }
499
+ return this.#addressCheck.verifyReachability(options);
500
+ }
491
501
  #initiateConnection(options) {
492
502
  if (this.#connecting) {
493
503
  if (options?.kick) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/Peer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import type { ReachabilityReason } from "#protocol/ExchangeProvider.js";
6
7
  import { Duration } from "@matter/general";
7
8
  import type { Peer } from "./Peer.js";
8
9
  /**
@@ -24,7 +25,7 @@ export declare class PeerAddressMonitor {
24
25
  constructor(peer: Peer, stabilizationDelay: Duration, probeCooldown: {
25
26
  minimum: Duration;
26
27
  maximum: Duration;
27
- }, abort: AbortSignal, trackWork: (work: PromiseLike<void>) => void);
28
+ }, abort: AbortSignal, trackWork: (work: PromiseLike<unknown>) => void);
28
29
  /**
29
30
  * Schedule a debounced address check. Restarts the timer on each call so rapid changes coalesce.
30
31
  */
@@ -33,5 +34,22 @@ export declare class PeerAddressMonitor {
33
34
  * Stop the timer. Does not cancel an in-flight probe.
34
35
  */
35
36
  stop(): void;
37
+ /**
38
+ * Tear down: stop the timer and await any in-flight run so teardown does not race a probe. The
39
+ * caller is expected to have aborted the peer first, so the in-flight run unwinds promptly.
40
+ */
41
+ close(): Promise<void>;
42
+ /**
43
+ * Verify the peer is reachable, driving recovery. Coalesces concurrent triggers into one run.
44
+ *
45
+ * An `address-change` run probes the current address then walks discovered alternates (migrating in
46
+ * place on success); a `session-suspect` run only probes the current address and never walks alternates.
47
+ * Returns `true` if the session is usable afterward (current address answered, or an alternate
48
+ * answered and the session migrated); `false` if no address answered and the session was closed.
49
+ */
50
+ verifyReachability(options: {
51
+ reason: ReachabilityReason;
52
+ abort?: AbortSignal;
53
+ }): Promise<boolean>;
36
54
  }
37
55
  //# sourceMappingURL=PeerAddressMonitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PeerAddressMonitor.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressMonitor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGH,QAAQ,EAQX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKtC;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAkB;;IAe3B,YACI,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,QAAQ,EAC5B,aAAa,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,EACvD,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,EAkB/C;IAED;;OAEG;IACH,QAAQ,SAOP;IAED;;OAEG;IACH,IAAI,SAEH;CAoIJ"}
1
+ {"version":3,"file":"PeerAddressMonitor.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressMonitor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAIH,QAAQ,EAQX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQtC;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAkB;;IAc3B,YACI,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,QAAQ,EAC5B,aAAa,EAAE;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAA;KAAE,EACvD,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAUlD;IAED;;OAEG;IACH,QAAQ,SAOP;IAED;;OAEG;IACH,IAAI,SAEH;IAED;;;OAGG;IACG,KAAK,kBAGV;IAED;;;;;;;OAOG;IACG,kBAAkB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,kBAAkB,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvG;CAuIJ"}