@matter/protocol 0.16.0-alpha.0-20251030-e9ca79f93 → 0.16.0-alpha.0-20251101-70c8d51d7

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 (164) hide show
  1. package/dist/cjs/action/Interactable.d.ts +1 -0
  2. package/dist/cjs/action/Interactable.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ClientInteraction.d.ts +25 -19
  4. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  5. package/dist/cjs/action/client/ClientInteraction.js +198 -94
  6. package/dist/cjs/action/client/ClientInteraction.js.map +2 -2
  7. package/dist/cjs/action/client/index.d.ts +1 -3
  8. package/dist/cjs/action/client/index.d.ts.map +1 -1
  9. package/dist/cjs/action/client/index.js +1 -3
  10. package/dist/cjs/action/client/index.js.map +1 -1
  11. package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts +8 -0
  12. package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts.map +1 -0
  13. package/dist/cjs/action/client/{ClientSubscription.js → subscription/ClientSubscribe.js} +3 -8
  14. package/dist/cjs/action/client/subscription/ClientSubscribe.js.map +6 -0
  15. package/dist/cjs/action/client/subscription/ClientSubscription.d.ts +38 -0
  16. package/dist/cjs/action/client/subscription/ClientSubscription.d.ts.map +1 -0
  17. package/dist/cjs/action/client/subscription/ClientSubscription.js +79 -0
  18. package/dist/cjs/action/client/subscription/ClientSubscription.js.map +6 -0
  19. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -0
  20. package/dist/cjs/action/client/{ClientSubscriptionHandler.js → subscription/ClientSubscriptionHandler.js} +5 -2
  21. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +6 -0
  22. package/dist/{esm/action/client → cjs/action/client/subscription}/ClientSubscriptions.d.ts +15 -8
  23. package/dist/cjs/action/client/subscription/ClientSubscriptions.d.ts.map +1 -0
  24. package/dist/cjs/action/client/subscription/ClientSubscriptions.js +133 -0
  25. package/dist/cjs/action/client/subscription/ClientSubscriptions.js.map +6 -0
  26. package/dist/cjs/action/client/subscription/PeerSubscription.d.ts +27 -0
  27. package/dist/cjs/action/client/subscription/PeerSubscription.d.ts.map +1 -0
  28. package/dist/cjs/action/client/subscription/PeerSubscription.js +57 -0
  29. package/dist/cjs/action/client/subscription/PeerSubscription.js.map +6 -0
  30. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts +57 -0
  31. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts.map +1 -0
  32. package/dist/cjs/action/client/subscription/SustainedSubscription.js +143 -0
  33. package/dist/cjs/action/client/subscription/SustainedSubscription.js.map +6 -0
  34. package/dist/cjs/action/client/subscription/index.d.ts +12 -0
  35. package/dist/cjs/action/client/subscription/index.d.ts.map +1 -0
  36. package/dist/cjs/action/client/subscription/index.js +29 -0
  37. package/dist/cjs/action/client/subscription/index.js.map +6 -0
  38. package/dist/cjs/action/errors.d.ts +7 -2
  39. package/dist/cjs/action/errors.d.ts.map +1 -1
  40. package/dist/cjs/action/errors.js +6 -3
  41. package/dist/cjs/action/errors.js.map +1 -1
  42. package/dist/cjs/action/request/Subscribe.d.ts +2 -2
  43. package/dist/cjs/action/request/Subscribe.d.ts.map +1 -1
  44. package/dist/cjs/action/request/Subscribe.js.map +1 -1
  45. package/dist/cjs/action/response/ReadResult.d.ts +1 -1
  46. package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
  47. package/dist/cjs/action/response/SubscribeResult.d.ts +2 -1
  48. package/dist/cjs/action/response/SubscribeResult.d.ts.map +1 -1
  49. package/dist/cjs/action/server/ServerInteraction.d.ts +0 -1
  50. package/dist/cjs/action/server/ServerInteraction.d.ts.map +1 -1
  51. package/dist/cjs/action/server/ServerInteraction.js +0 -3
  52. package/dist/cjs/action/server/ServerInteraction.js.map +1 -1
  53. package/dist/cjs/bdx/flow/InboundFlow.js +1 -1
  54. package/dist/cjs/bdx/flow/InboundFlow.js.map +1 -1
  55. package/dist/cjs/interaction/SubscriptionClient.d.ts +3 -3
  56. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
  57. package/dist/cjs/interaction/SubscriptionClient.js +0 -7
  58. package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
  59. package/dist/cjs/peer/PeerSet.d.ts +1 -1
  60. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  61. package/dist/cjs/protocol/MessageExchange.js +1 -1
  62. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  63. package/dist/esm/action/Interactable.d.ts +1 -0
  64. package/dist/esm/action/Interactable.d.ts.map +1 -1
  65. package/dist/esm/action/client/ClientInteraction.d.ts +25 -19
  66. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  67. package/dist/esm/action/client/ClientInteraction.js +201 -95
  68. package/dist/esm/action/client/ClientInteraction.js.map +2 -2
  69. package/dist/esm/action/client/index.d.ts +1 -3
  70. package/dist/esm/action/client/index.d.ts.map +1 -1
  71. package/dist/esm/action/client/index.js +1 -3
  72. package/dist/esm/action/client/index.js.map +1 -1
  73. package/dist/esm/action/client/subscription/ClientSubscribe.d.ts +8 -0
  74. package/dist/esm/action/client/subscription/ClientSubscribe.d.ts.map +1 -0
  75. package/dist/esm/action/client/subscription/ClientSubscribe.js +1 -0
  76. package/dist/esm/action/client/subscription/ClientSubscribe.js.map +6 -0
  77. package/dist/esm/action/client/subscription/ClientSubscription.d.ts +38 -0
  78. package/dist/esm/action/client/subscription/ClientSubscription.d.ts.map +1 -0
  79. package/dist/esm/action/client/subscription/ClientSubscription.js +59 -0
  80. package/dist/esm/action/client/subscription/ClientSubscription.js.map +6 -0
  81. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -0
  82. package/dist/esm/action/client/{ClientSubscriptionHandler.js → subscription/ClientSubscriptionHandler.js} +5 -2
  83. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +6 -0
  84. package/dist/{cjs/action/client → esm/action/client/subscription}/ClientSubscriptions.d.ts +15 -8
  85. package/dist/esm/action/client/subscription/ClientSubscriptions.d.ts.map +1 -0
  86. package/dist/esm/action/client/subscription/ClientSubscriptions.js +113 -0
  87. package/dist/esm/action/client/subscription/ClientSubscriptions.js.map +6 -0
  88. package/dist/esm/action/client/subscription/PeerSubscription.d.ts +27 -0
  89. package/dist/esm/action/client/subscription/PeerSubscription.d.ts.map +1 -0
  90. package/dist/esm/action/client/subscription/PeerSubscription.js +37 -0
  91. package/dist/esm/action/client/subscription/PeerSubscription.js.map +6 -0
  92. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts +57 -0
  93. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts.map +1 -0
  94. package/dist/esm/action/client/subscription/SustainedSubscription.js +133 -0
  95. package/dist/esm/action/client/subscription/SustainedSubscription.js.map +6 -0
  96. package/dist/esm/action/client/subscription/index.d.ts +12 -0
  97. package/dist/esm/action/client/subscription/index.d.ts.map +1 -0
  98. package/dist/esm/action/client/subscription/index.js +12 -0
  99. package/dist/esm/action/client/subscription/index.js.map +6 -0
  100. package/dist/esm/action/errors.d.ts +7 -2
  101. package/dist/esm/action/errors.d.ts.map +1 -1
  102. package/dist/esm/action/errors.js +6 -3
  103. package/dist/esm/action/errors.js.map +1 -1
  104. package/dist/esm/action/request/Subscribe.d.ts +2 -2
  105. package/dist/esm/action/request/Subscribe.d.ts.map +1 -1
  106. package/dist/esm/action/request/Subscribe.js.map +1 -1
  107. package/dist/esm/action/response/ReadResult.d.ts +1 -1
  108. package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
  109. package/dist/esm/action/response/SubscribeResult.d.ts +2 -1
  110. package/dist/esm/action/response/SubscribeResult.d.ts.map +1 -1
  111. package/dist/esm/action/server/ServerInteraction.d.ts +0 -1
  112. package/dist/esm/action/server/ServerInteraction.d.ts.map +1 -1
  113. package/dist/esm/action/server/ServerInteraction.js +0 -3
  114. package/dist/esm/action/server/ServerInteraction.js.map +1 -1
  115. package/dist/esm/bdx/flow/InboundFlow.js +1 -1
  116. package/dist/esm/bdx/flow/InboundFlow.js.map +1 -1
  117. package/dist/esm/interaction/SubscriptionClient.d.ts +3 -3
  118. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
  119. package/dist/esm/interaction/SubscriptionClient.js +1 -8
  120. package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
  121. package/dist/esm/peer/PeerSet.d.ts +1 -1
  122. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  123. package/dist/esm/protocol/MessageExchange.js +1 -1
  124. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  125. package/package.json +6 -6
  126. package/src/action/Interactable.ts +1 -0
  127. package/src/action/client/ClientInteraction.ts +273 -235
  128. package/src/action/client/index.ts +1 -3
  129. package/src/action/client/subscription/ClientSubscribe.ts +8 -0
  130. package/src/action/client/subscription/ClientSubscription.ts +88 -0
  131. package/src/action/client/{ClientSubscriptionHandler.ts → subscription/ClientSubscriptionHandler.ts} +5 -2
  132. package/src/action/client/subscription/ClientSubscriptions.ts +150 -0
  133. package/src/action/client/subscription/PeerSubscription.ts +51 -0
  134. package/src/action/client/subscription/SustainedSubscription.ts +199 -0
  135. package/src/action/client/subscription/index.ts +12 -0
  136. package/src/action/errors.ts +11 -6
  137. package/src/action/request/Subscribe.ts +2 -2
  138. package/src/action/response/ReadResult.ts +1 -1
  139. package/src/action/response/SubscribeResult.ts +2 -1
  140. package/src/action/server/ServerInteraction.ts +0 -5
  141. package/src/bdx/flow/InboundFlow.ts +1 -1
  142. package/src/interaction/SubscriptionClient.ts +4 -9
  143. package/src/protocol/MessageExchange.ts +1 -1
  144. package/dist/cjs/action/client/ClientSubscription.d.ts +0 -18
  145. package/dist/cjs/action/client/ClientSubscription.d.ts.map +0 -1
  146. package/dist/cjs/action/client/ClientSubscription.js.map +0 -6
  147. package/dist/cjs/action/client/ClientSubscriptionHandler.d.ts.map +0 -1
  148. package/dist/cjs/action/client/ClientSubscriptionHandler.js.map +0 -6
  149. package/dist/cjs/action/client/ClientSubscriptions.d.ts.map +0 -1
  150. package/dist/cjs/action/client/ClientSubscriptions.js +0 -145
  151. package/dist/cjs/action/client/ClientSubscriptions.js.map +0 -6
  152. package/dist/esm/action/client/ClientSubscription.d.ts +0 -18
  153. package/dist/esm/action/client/ClientSubscription.d.ts.map +0 -1
  154. package/dist/esm/action/client/ClientSubscription.js +0 -6
  155. package/dist/esm/action/client/ClientSubscription.js.map +0 -6
  156. package/dist/esm/action/client/ClientSubscriptionHandler.d.ts.map +0 -1
  157. package/dist/esm/action/client/ClientSubscriptionHandler.js.map +0 -6
  158. package/dist/esm/action/client/ClientSubscriptions.d.ts.map +0 -1
  159. package/dist/esm/action/client/ClientSubscriptions.js +0 -135
  160. package/dist/esm/action/client/ClientSubscriptions.js.map +0 -6
  161. package/src/action/client/ClientSubscription.ts +0 -19
  162. package/src/action/client/ClientSubscriptions.ts +0 -178
  163. /package/dist/cjs/action/client/{ClientSubscriptionHandler.d.ts → subscription/ClientSubscriptionHandler.d.ts} +0 -0
  164. /package/dist/esm/action/client/{ClientSubscriptionHandler.d.ts → subscription/ClientSubscriptionHandler.d.ts} +0 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/ClientSubscriptionHandler.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,YAAY,eAAe,cAAc;AAClD,SAAS,yBAAyB;AAClC,SAAS,0CAA0C;AAInD,SAAS,qBAAqB;AAC9B,SAAqB,yBAAyB,cAAc;AAC5D,SAAS,kBAAkB;AAG3B,MAAM,SAAS,OAAO,IAAI,2BAA2B;AAK9C,MAAM,0BAAqD;AAAA,EAC9D,KAAK;AAAA,EACL,wBAAwB;AAAA,EAExB;AAAA,EAEA,YAAY,eAAoC;AAC5C,SAAK,iBAAiB;AAAA,EAC1B;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,mCAAmC,QAAQ;AAEjE,UAAM,UAAU,UAAU,gBAAgB;AAE1C,UAAM,mBAAmB,MAAM,QAAQ,KAAK;AAC5C,QAAI,iBAAiB,MAAM;AACvB,YAAM,IAAI,cAAc,4CAA4C;AAAA,IACxE;AACA,UAAM,gBAAgB,iBAAiB;AAGvC,UAAM,EAAE,eAAe,IAAI;AAC3B,QAAI,mBAAmB,QAAW;AAC9B,aAAO,MAAM,0DAA0D;AACvE,YAAM,YAAY,WAAW,MAAS;AACtC;AAAA,IACJ;AAGA,UAAM,EAAE,QAAQ,IAAI,SAAS;AAC7B,kBAAc,OAAO,OAAO;AAC5B,UAAM,eAAe,KAAK,eAAe,QAAQ,QAAQ,aAAa,cAAc;AACpF,QAAI,iBAAiB,QAAW;AAC5B,aAAO,MAAM,oDAAoD,WAAW,OAAO,cAAc,CAAC;AAClG,YAAM,YAAY,WAAW,cAAc;AAC3C;AAAA,IACJ;AAGA,QAAI,CAAC,cAAc,kBAAkB,UAAU,CAAC,cAAc,cAAc,QAAQ;AAChF,mBAAa,YAAY;AACzB,WAAK,eAAe,WAAW;AAC/B,YAAM,SAAS,MAAM;AACrB;AAAA,IACJ;AAGA,QAAI;AACA,mBAAa,YAAY;AAEzB,UAAI,aAAa,QAAQ,SAAS;AAC9B,cAAM,aAAa,QAAQ,QAAQ,eAAe,eAAe,SAAS,SAAS,CAAC;AAAA,MACxF,OAAO;AAIH,yBAAiB,UAAU,QAAQ;AAAA,MACvC;AAAA,IACJ,UAAE;AACE,mBAAa,YAAY;AACzB,mBAAa,YAAY;AACzB,WAAK,eAAe,WAAW;AAC/B,YAAM,SAAS,MAAM;AAAA,IACzB;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ;AAAA,EAAC;AACnB;AAEA,eAAe,YAAY,WAA+C,gBAAiC;AACvG,QAAM,UAAU,WAAW,OAAO,qBAAqB;AAAA,IACnD,4BAA4B;AAAA,IAC5B,YAAY;AAAA,MACR,OAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACD,QAAM,UAAU,MAAM;AAC1B;AAOA,gBAAgB,eACZ,eACA,cACA,WACU;AACV,QAAM,WAAW,aAAa;AAE9B,QAAM,EAAE,eAAe,IAAI;AAE3B,mBAAiB,UAAU,cAAc;AACrC,UAAM,UAAU,kBAAkB,MAAM;AAExC,QAAI,QAAQ,mBAAmB,QAAW;AACtC,aAAO;AAAA,QACH;AAAA,QACA,WAAW,OAAO,QAAQ,cAAc;AAAA,MAC5C;AACA,YAAM,YAAY,WAAW,QAAQ,cAAc;AAAA,IACvD;AAEA,QAAI,QAAQ,mBAAmB,gBAAgB;AAC3C,aAAO;AAAA,QACH;AAAA,QACA,WAAW,OAAO,QAAQ,cAAc;AAAA,MAC5C;AACA,YAAM,YAAY,WAAW,QAAQ,cAAc;AACnD;AAAA,IACJ;AAEA,UAAM,WAAW,MAAM;AAAA,EAC3B;AACJ;",
5
+ "names": []
6
+ }
@@ -3,27 +3,34 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Subscribe } from "#action/request/Subscribe.js";
7
6
  import { ReadResult } from "#action/response/ReadResult.js";
8
- import { ActiveSubscription } from "#action/response/SubscribeResult.js";
9
7
  import { Environment, Environmental } from "#general";
10
8
  import { SubscriptionId } from "#interaction/Subscription.js";
11
- import { SubscribeResponse } from "#types";
9
+ import { PeerAddress } from "#peer/PeerAddress.js";
12
10
  import { ClientSubscription } from "./ClientSubscription.js";
11
+ import type { PeerSubscription } from "./PeerSubscription.js";
13
12
  /**
14
- * A managed set of {@link ClientSubscription} instances.
13
+ * A managed set of {@link ActiveSubscription} instances.
15
14
  */
16
15
  export declare class ClientSubscriptions {
17
16
  #private;
18
17
  static [Environmental.create](env: Environment): ClientSubscriptions;
19
18
  /**
20
- * Register an active subscription.
19
+ * Register a user-facing {@link ClientSubscription}.
21
20
  */
22
- add(request: Subscribe, response: SubscribeResponse): ActiveSubscription;
21
+ addActive(subscription: ClientSubscription): void;
23
22
  /**
24
- * Retrieve a subscription by ID.
23
+ * Register a {@link PeerSubscription}.
25
24
  */
26
- get(id: SubscriptionId): ClientSubscription | undefined;
25
+ addPeer(subscription: PeerSubscription): void;
26
+ /**
27
+ * Retrieve a {@link PeerSubscription} by ID.
28
+ */
29
+ getPeer(address: PeerAddress, id: SubscriptionId): PeerSubscription | undefined;
30
+ /**
31
+ * Unregister a {@link PeerSubscription}.
32
+ */
33
+ delete(subscription: ClientSubscription): void;
27
34
  /**
28
35
  * Iterate over active subscriptions.
29
36
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientSubscriptions.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscriptions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAY,WAAW,EAAE,aAAa,EAAkC,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,qBAAa,mBAAmB;;IAK5B,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,kBAAkB;IAI1C;;OAEG;IACH,OAAO,CAAC,YAAY,EAAE,gBAAgB;IAUtC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,cAAc;IAIhD;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,kBAAkB;IAUvC;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB;;OAEG;IACG,KAAK;IAaX;;OAEG;IACH,UAAU;CAiDb;AAED,yBAAiB,mBAAmB,CAAC;IACjC,UAAiB,QAAQ;QACrB,CAAC,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7D;CACJ"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BasicSet, Environmental, Millis, Time, Timestamp } from "#general";
7
+ class ClientSubscriptions {
8
+ #active = new BasicSet();
9
+ #peers = /* @__PURE__ */ new Map();
10
+ #timeout;
11
+ static [Environmental.create](env) {
12
+ const instance = new ClientSubscriptions();
13
+ env.set(ClientSubscriptions, instance);
14
+ return instance;
15
+ }
16
+ /**
17
+ * Register a user-facing {@link ClientSubscription}.
18
+ */
19
+ addActive(subscription) {
20
+ this.#active.add(subscription);
21
+ }
22
+ /**
23
+ * Register a {@link PeerSubscription}.
24
+ */
25
+ addPeer(subscription) {
26
+ let forPeer = this.#peers.get(subscription.peer);
27
+ if (forPeer === void 0) {
28
+ this.#peers.set(subscription.peer, forPeer = /* @__PURE__ */ new Map());
29
+ }
30
+ forPeer.set(subscription.subscriptionId, subscription);
31
+ this.resetTimer();
32
+ }
33
+ /**
34
+ * Retrieve a {@link PeerSubscription} by ID.
35
+ */
36
+ getPeer(address, id) {
37
+ return this.#peers.get(address)?.get(id);
38
+ }
39
+ /**
40
+ * Unregister a {@link PeerSubscription}.
41
+ */
42
+ delete(subscription) {
43
+ const forPeer = this.#peers.get(subscription.peer);
44
+ if (forPeer?.delete(subscription.subscriptionId)) {
45
+ if (!forPeer.size) {
46
+ this.#peers.delete(subscription.peer);
47
+ }
48
+ }
49
+ this.#active.delete(subscription);
50
+ }
51
+ /**
52
+ * Iterate over active subscriptions.
53
+ */
54
+ [Symbol.iterator]() {
55
+ return this.#active[Symbol.iterator]();
56
+ }
57
+ /**
58
+ * Terminate all subscriptions.
59
+ */
60
+ async close() {
61
+ if (this.#timeout) {
62
+ this.#timeout.stop();
63
+ this.#timeout = void 0;
64
+ }
65
+ for (const subscription of this.#active) {
66
+ subscription.close();
67
+ }
68
+ await this.#active.empty;
69
+ }
70
+ /**
71
+ * Restart the timeout timer for the current set of active subscriptions.
72
+ */
73
+ resetTimer() {
74
+ const now = Time.nowMs;
75
+ let nextTimeoutAt;
76
+ for (const peer of this.#peers.values()) {
77
+ for (const subscription of peer.values()) {
78
+ if (subscription.isReading) {
79
+ continue;
80
+ }
81
+ let { timeoutAt } = subscription;
82
+ if (timeoutAt === void 0) {
83
+ timeoutAt = subscription.timeoutAt = Timestamp(now + subscription.timeout);
84
+ } else if (timeoutAt < now) {
85
+ subscription.timedOut();
86
+ continue;
87
+ }
88
+ if (nextTimeoutAt === void 0 || nextTimeoutAt > timeoutAt) {
89
+ nextTimeoutAt = timeoutAt;
90
+ }
91
+ }
92
+ }
93
+ if (nextTimeoutAt === void 0) {
94
+ this.#timeout?.stop();
95
+ return;
96
+ }
97
+ if (this.#timeout) {
98
+ this.#timeout?.stop();
99
+ this.#timeout.interval = Millis(nextTimeoutAt - now);
100
+ } else {
101
+ this.#timeout = Time.getTimer(
102
+ "Subscription timeout",
103
+ Millis(nextTimeoutAt - now),
104
+ this.resetTimer.bind(this)
105
+ );
106
+ }
107
+ this.#timeout.start();
108
+ }
109
+ }
110
+ export {
111
+ ClientSubscriptions
112
+ };
113
+ //# sourceMappingURL=ClientSubscriptions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/ClientSubscriptions.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,UAAuB,eAAe,QAAQ,MAAa,iBAAiB;AAS9E,MAAM,oBAAoB;AAAA,EAC7B,UAAU,IAAI,SAA6B;AAAA,EAC3C,SAAS,oBAAI,IAAgD;AAAA,EAC7D;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,oBAAoB;AACzC,QAAI,IAAI,qBAAqB,QAAQ;AACrC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,cAAkC;AACxC,SAAK,QAAQ,IAAI,YAAY;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,cAAgC;AACpC,QAAI,UAAU,KAAK,OAAO,IAAI,aAAa,IAAI;AAC/C,QAAI,YAAY,QAAW;AACvB,WAAK,OAAO,IAAI,aAAa,MAAO,UAAU,oBAAI,IAAI,CAAE;AAAA,IAC5D;AACA,YAAQ,IAAI,aAAa,gBAAgB,YAAY;AAErD,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAAsB,IAAoB;AAC9C,WAAO,KAAK,OAAO,IAAI,OAAO,GAAG,IAAI,EAAE;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,cAAkC;AACrC,UAAM,UAAU,KAAK,OAAO,IAAI,aAAa,IAAI;AACjD,QAAI,SAAS,OAAO,aAAa,cAAc,GAAG;AAC9C,UAAI,CAAC,QAAQ,MAAM;AACf,aAAK,OAAO,OAAO,aAAa,IAAI;AAAA,MACxC;AAAA,IACJ;AACA,SAAK,QAAQ,OAAO,YAAY;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA,EAKA,CAAC,OAAO,QAAQ,IAAI;AAChB,WAAO,KAAK,QAAQ,OAAO,QAAQ,EAAE;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ;AACV,QAAI,KAAK,UAAU;AACf,WAAK,SAAS,KAAK;AACnB,WAAK,WAAW;AAAA,IACpB;AAEA,eAAW,gBAAgB,KAAK,SAAS;AACrC,mBAAa,MAAM;AAAA,IACvB;AAEA,UAAM,KAAK,QAAQ;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACT,UAAM,MAAM,KAAK;AACjB,QAAI;AAGJ,eAAW,QAAQ,KAAK,OAAO,OAAO,GAAG;AACrC,iBAAW,gBAAgB,KAAK,OAAO,GAAG;AAEtC,YAAI,aAAa,WAAW;AACxB;AAAA,QACJ;AAGA,YAAI,EAAE,UAAU,IAAI;AACpB,YAAI,cAAc,QAAW;AAEzB,sBAAY,aAAa,YAAY,UAAU,MAAM,aAAa,OAAO;AAAA,QAC7E,WAAW,YAAY,KAAK;AAExB,uBAAa,SAAS;AACtB;AAAA,QACJ;AAGA,YAAI,kBAAkB,UAAa,gBAAgB,WAAW;AAC1D,0BAAgB;AAAA,QACpB;AAAA,MACJ;AAAA,IACJ;AAGA,QAAI,kBAAkB,QAAW;AAC7B,WAAK,UAAU,KAAK;AACpB;AAAA,IACJ;AAGA,QAAI,KAAK,UAAU;AACf,WAAK,UAAU,KAAK;AACpB,WAAK,SAAS,WAAW,OAAO,gBAAgB,GAAG;AAAA,IACvD,OAAO;AACH,WAAK,WAAW,KAAK;AAAA,QACjB;AAAA,QACA,OAAO,gBAAgB,GAAG;AAAA,QAC1B,KAAK,WAAW,KAAK,IAAI;AAAA,MAC7B;AAAA,IACJ;AACA,SAAK,SAAS,MAAM;AAAA,EACxB;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Duration, Timestamp } from "#general";
7
+ import type { SubscribeResponse } from "#types";
8
+ import { ClientSubscription } from "./ClientSubscription.js";
9
+ /**
10
+ * A Matter protocol-level subscription established with a peer.
11
+ */
12
+ export declare class PeerSubscription extends ClientSubscription {
13
+ readonly interactionModelRevision: number;
14
+ readonly maxInterval: number;
15
+ readonly subscriptionId: number;
16
+ isReading: boolean;
17
+ timeoutAt?: Timestamp;
18
+ constructor(config: PeerSubscription.Configuration);
19
+ get timeout(): Duration;
20
+ timedOut(): void;
21
+ }
22
+ export declare namespace PeerSubscription {
23
+ interface Configuration extends ClientSubscription.Configuration {
24
+ response: SubscribeResponse;
25
+ }
26
+ }
27
+ //# sourceMappingURL=PeerSubscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PeerSubscription.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/PeerSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAc,QAAQ,EAAmB,SAAS,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;IACpD,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,SAAS,UAAS;IAElB,SAAS,CAAC,EAAE,SAAS,CAAC;gBAEV,MAAM,EAAE,gBAAgB,CAAC,aAAa;IASlD,IAAI,OAAO,aAEV;IAED,QAAQ;CAUX;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,UAAiB,aAAc,SAAQ,kBAAkB,CAAC,aAAa;QACnE,QAAQ,EAAE,iBAAiB,CAAC;KAC/B;CACJ"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Diagnostic, Duration, Millis, Seconds } from "#general";
7
+ import { ClientSubscription } from "./ClientSubscription.js";
8
+ class PeerSubscription extends ClientSubscription {
9
+ interactionModelRevision;
10
+ maxInterval;
11
+ subscriptionId;
12
+ isReading = false;
13
+ timeoutAt;
14
+ constructor(config) {
15
+ super(config);
16
+ const { subscriptionId, interactionModelRevision, maxInterval } = config.response;
17
+ this.subscriptionId = subscriptionId;
18
+ this.interactionModelRevision = interactionModelRevision;
19
+ this.maxInterval = maxInterval;
20
+ }
21
+ get timeout() {
22
+ return Millis(Seconds(this.maxInterval) + (this.request.maxPeerResponseTime ?? 0));
23
+ }
24
+ timedOut() {
25
+ this.logger.info(
26
+ "Subscription",
27
+ Diagnostic.strong(this.subscriptionId),
28
+ "timed out after",
29
+ Diagnostic.strong(Duration.format(this.timeout))
30
+ );
31
+ this.close();
32
+ }
33
+ }
34
+ export {
35
+ PeerSubscription
36
+ };
37
+ //# sourceMappingURL=PeerSubscription.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/PeerSubscription.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,UAAU,QAAQ,eAA0B;AAEjE,SAAS,0BAA0B;AAK5B,MAAM,yBAAyB,mBAAmB;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACT,YAAY;AAAA,EAEZ;AAAA,EAEA,YAAY,QAAwC;AAChD,UAAM,MAAM;AAEZ,UAAM,EAAE,gBAAgB,0BAA0B,YAAY,IAAI,OAAO;AACzE,SAAK,iBAAiB;AACtB,SAAK,2BAA2B;AAChC,SAAK,cAAc;AAAA,EACvB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,OAAO,QAAQ,KAAK,WAAW,KAAK,KAAK,QAAQ,uBAAuB,EAAE;AAAA,EACrF;AAAA,EAEA,WAAW;AACP,SAAK,OAAO;AAAA,MACR;AAAA,MACA,WAAW,OAAO,KAAK,cAAc;AAAA,MACrC;AAAA,MACA,WAAW,OAAO,SAAS,OAAO,KAAK,OAAO,CAAC;AAAA,IACnD;AAEA,SAAK,MAAM;AAAA,EACf;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Subscribe } from "#action/request/Subscribe.js";
7
+ import { AsyncObservableValue, RetrySchedule } from "#general";
8
+ import { SubscribeResponse } from "#types";
9
+ import { ClientSubscription } from "./ClientSubscription.js";
10
+ import { PeerSubscription } from "./PeerSubscription.js";
11
+ /**
12
+ * An {@link ActiveSubscription} that remains active regardless of the state of the peer.
13
+ *
14
+ * This class performs retries in response to connection errors and timeouts. The underlying Matter subscription and
15
+ * thus {@link ActiveSubscription#subscriptionId} may change if the peer goes offline or experiences transient errors.
16
+ *
17
+ * TODO - need to make underlying exchange provider abortable and work out how the retry schedule at this level
18
+ * interacts with the MDNS and secure protocol retries. Will require some refactoring at lower levels. Leaving
19
+ * retries at this level relatively conservative for now
20
+ */
21
+ export declare class SustainedSubscription extends ClientSubscription {
22
+ #private;
23
+ constructor(config: SustainedSubscription.Configuration);
24
+ /**
25
+ * Emits when active state changes.
26
+ */
27
+ get active(): AsyncObservableValue<[any, ...any[]]>;
28
+ /**
29
+ * Emits when inactive state changes.
30
+ */
31
+ get inactive(): AsyncObservableValue<[any, ...any[]]>;
32
+ get interactionModelRevision(): number;
33
+ get maxInterval(): number;
34
+ get subscriptionId(): number;
35
+ }
36
+ export declare namespace SustainedSubscription {
37
+ /**
38
+ * Configuration for {@link SustainedSubscription}.
39
+ */
40
+ interface Configuration extends ClientSubscription.Configuration {
41
+ /**
42
+ * Function to establish underlying subscription.
43
+ */
44
+ subscribe: (request: Subscribe) => Promise<PeerSubscription>;
45
+ /**
46
+ * The schedule we use for retrying subscription connections.
47
+ *
48
+ * We handle reconnection separately at the exchange level. This retry schedule only applies to establishing a
49
+ * subscription once we have an active exchange. Exchange reconnection is handled by lower-level components.
50
+ */
51
+ retries: RetrySchedule;
52
+ }
53
+ function assert(subscription: SubscribeResponse): asserts subscription is SustainedSubscription;
54
+ const NO_SUBSCRIPTION = -1;
55
+ const DefaultRetrySchedule: RetrySchedule.Configuration;
56
+ }
57
+ //# sourceMappingURL=SustainedSubscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SustainedSubscription.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/SustainedSubscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAEH,oBAAoB,EAMpB,aAAa,EAGhB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;;;;;;;;GASG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;;gBAQ7C,MAAM,EAAE,qBAAqB,CAAC,aAAa;IAWvD;;OAEG;IACH,IAAI,MAAM,0CAET;IAED;;OAEG;IACH,IAAI,QAAQ,0CAEX;IAwED,IAAI,wBAAwB,WAE3B;IAED,IAAI,WAAW,WAEd;IAED,IAAI,cAAc,WAEjB;CACJ;AAED,yBAAiB,qBAAqB,CAAC;IACnC;;OAEG;IACH,UAAiB,aAAc,SAAQ,kBAAkB,CAAC,aAAa;QACnE;;WAEG;QACH,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE7D;;;;;WAKG;QACH,OAAO,EAAE,aAAa,CAAC;KAC1B;IAED,SAAgB,MAAM,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAIrG;IAEM,MAAM,eAAe,KAAK,CAAC;IAE3B,MAAM,oBAAoB,EAAE,aAAa,CAAC,aAgBhD,CAAC;CACL"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import {
7
+ asError,
8
+ AsyncObservableValue,
9
+ Diagnostic,
10
+ Duration,
11
+ Hours,
12
+ ImplementationError,
13
+ Logger,
14
+ Seconds,
15
+ Time
16
+ } from "#general";
17
+ import { Specification } from "#model";
18
+ import { ClientSubscription } from "./ClientSubscription.js";
19
+ const logger = Logger.get("ClientSubscription");
20
+ class SustainedSubscription extends ClientSubscription {
21
+ #request;
22
+ #subscription;
23
+ #retries;
24
+ #subscribe;
25
+ #active = AsyncObservableValue(false);
26
+ #inactive = AsyncObservableValue(true);
27
+ constructor(config) {
28
+ super(config);
29
+ const { request, retries, subscribe } = config;
30
+ this.#request = request;
31
+ this.#retries = retries;
32
+ this.#subscribe = subscribe;
33
+ this.done = this.#run();
34
+ }
35
+ /**
36
+ * Emits when active state changes.
37
+ */
38
+ get active() {
39
+ return this.#active;
40
+ }
41
+ /**
42
+ * Emits when inactive state changes.
43
+ */
44
+ get inactive() {
45
+ return this.#inactive;
46
+ }
47
+ async #run() {
48
+ const updated = this.#request.updated?.bind(this.#request);
49
+ while (true) {
50
+ const request = { ...this.#request, updated };
51
+ if (this.#request.updated) {
52
+ request.updated = this.#request.updated.bind(request);
53
+ }
54
+ const closed = new Promise((resolve) => {
55
+ request.closed = () => {
56
+ this.#subscription = void 0;
57
+ resolve();
58
+ };
59
+ });
60
+ for (const retry of this.#retries) {
61
+ try {
62
+ this.#subscription = await this.#subscribe(request);
63
+ break;
64
+ } catch (e) {
65
+ if (this.abort.aborted) {
66
+ return;
67
+ }
68
+ logger.error(
69
+ `Failed to establish subscription to ${this.peer}, retry in ${Duration.format(retry)}:`,
70
+ Diagnostic.errorMessage(asError(e))
71
+ );
72
+ }
73
+ const readyForRetry = Time.sleep("subscription retry", retry);
74
+ await this.abort.race(readyForRetry);
75
+ readyForRetry.cancel();
76
+ if (this.abort.aborted) {
77
+ break;
78
+ }
79
+ }
80
+ await this.#inactive.emit(false);
81
+ await this.#active.emit(true);
82
+ if (this.abort.aborted) {
83
+ break;
84
+ }
85
+ await closed;
86
+ await this.#active.emit(false);
87
+ await this.#inactive.emit(true);
88
+ if (this.abort.aborted) {
89
+ break;
90
+ }
91
+ if (this.abort.aborted) {
92
+ break;
93
+ }
94
+ logger.error(`Replacing subscription to ${this.peer} due to timeout`);
95
+ }
96
+ this.#request.closed?.();
97
+ }
98
+ get interactionModelRevision() {
99
+ return this.#subscription?.interactionModelRevision ?? Specification.INTERACTION_MODEL_REVISION;
100
+ }
101
+ get maxInterval() {
102
+ return this.#subscription?.maxInterval ?? Hours.one;
103
+ }
104
+ get subscriptionId() {
105
+ return this.#subscription?.subscriptionId ?? SustainedSubscription.NO_SUBSCRIPTION;
106
+ }
107
+ }
108
+ ((SustainedSubscription2) => {
109
+ function assert(subscription) {
110
+ if (!(subscription instanceof SustainedSubscription2)) {
111
+ throw new ImplementationError(`Non-sustained subscription provided where sustained subscription required`);
112
+ }
113
+ }
114
+ SustainedSubscription2.assert = assert;
115
+ SustainedSubscription2.NO_SUBSCRIPTION = -1;
116
+ SustainedSubscription2.DefaultRetrySchedule = {
117
+ // Protocol-level level happens at the exchange level and is faster; this is an application-level retry. Retry
118
+ // more slowly so we do not hammer devices that are experiencing transient errors
119
+ initialInterval: Seconds(15),
120
+ // Similarly, we have an exchange. If a device repeatedly fails to establish a subscription, give it plenty of
121
+ // time to recover. It's even possible our subscription attempt is invalid for some reason, in which case we
122
+ // an aggressive interval would be particularly bad form
123
+ maximumInterval: Hours(1),
124
+ // No timeout; we run until aborted
125
+ timeout: void 0,
126
+ backoffFactor: 2,
127
+ jitterFactor: 0.25
128
+ };
129
+ })(SustainedSubscription || (SustainedSubscription = {}));
130
+ export {
131
+ SustainedSubscription
132
+ };
133
+ //# sourceMappingURL=SustainedSubscription.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/SustainedSubscription.ts"],
4
+ "mappings": "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",
5
+ "names": ["SustainedSubscription"]
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ClientSubscribe.js";
7
+ export * from "./ClientSubscription.js";
8
+ export * from "./ClientSubscriptionHandler.js";
9
+ export * from "./ClientSubscriptions.js";
10
+ export * from "./PeerSubscription.js";
11
+ export * from "./SustainedSubscription.js";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./ClientSubscribe.js";
7
+ export * from "./ClientSubscription.js";
8
+ export * from "./ClientSubscriptionHandler.js";
9
+ export * from "./ClientSubscriptions.js";
10
+ export * from "./PeerSubscription.js";
11
+ export * from "./SustainedSubscription.js";
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -7,7 +7,7 @@ import { Schema, SchemaErrorPath } from "#model";
7
7
  import { Status, StatusResponseError } from "#types";
8
8
  export { SchemaImplementationError } from "#model";
9
9
  /**
10
- * Thrown due operational schema violations.
10
+ * Thrown due operational schema violation.
11
11
  */
12
12
  export declare class SchemaViolationError extends StatusResponseError {
13
13
  constructor(prefix: string, path: SchemaErrorPath, message: string, code: Status);
@@ -48,6 +48,12 @@ export declare class DatatypeError extends ValidateError {
48
48
  export declare class ConstraintError extends ValidateError {
49
49
  constructor(schema: Schema, path: SchemaErrorPath, message: string);
50
50
  }
51
+ /**
52
+ * Thrown when a numeric value can't fit in an integer type.
53
+ */
54
+ export declare class IntegerRangeError extends ValidateError {
55
+ constructor(path: SchemaErrorPath, message: string);
56
+ }
51
57
  /**
52
58
  * Thrown when an enum value is not known based on Matter specification
53
59
  */
@@ -64,7 +70,6 @@ export declare class ConformanceError extends ValidateError {
64
70
  * Thrown when an enum value is not valid based on conformance definitions
65
71
  */
66
72
  export declare class EnumValueConformanceError extends ConformanceError {
67
- constructor(schema: Schema, path: SchemaErrorPath, message: string);
68
73
  }
69
74
  /**
70
75
  * Thrown for access attempts against a managed value that is no longer valid.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/action/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAc,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAOnF;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,oBAAoB;gBACnC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,oBAAoB;gBACpC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;gBACrC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,oBAAoB;gBACvC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;gBAChC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;CAOjF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;gBAClC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;gBACxC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;gBACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAStF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;gBAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAC/C,IAAI,EAAE,eAAe;CAGpC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAC/C,IAAI,EAAE,eAAe;CAGpC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/action/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAc,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AAEnD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAC7C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAOnF;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,oBAAoB;gBACnC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,oBAAoB;gBACpC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;gBACrC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,oBAAoB;gBACvC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAGpE;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa;gBAChC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;CAOjF;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;gBAClC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrE;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;gBACpC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;gBACxC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;gBACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAStF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;CAAG;AAElE;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAC/C,IAAI,EAAE,eAAe;CAGpC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAC/C,IAAI,EAAE,eAAe;CAGpC"}
@@ -46,6 +46,11 @@ class ConstraintError extends ValidateError {
46
46
  super(path, `Constraint "${schema.constraint}": ${message}`, Status.ConstraintError);
47
47
  }
48
48
  }
49
+ class IntegerRangeError extends ValidateError {
50
+ constructor(path, message) {
51
+ super(path, message, Status.ConstraintError);
52
+ }
53
+ }
49
54
  class UnknownEnumValueError extends ValidateError {
50
55
  constructor(path, message) {
51
56
  super(path, message, Status.ConstraintError);
@@ -63,9 +68,6 @@ class ConformanceError extends ValidateError {
63
68
  }
64
69
  }
65
70
  class EnumValueConformanceError extends ConformanceError {
66
- constructor(schema, path, message) {
67
- super(schema, path, message);
68
- }
69
71
  }
70
72
  class ExpiredReferenceError extends SchemaViolationError {
71
73
  constructor(path) {
@@ -83,6 +85,7 @@ export {
83
85
  DatatypeError,
84
86
  EnumValueConformanceError,
85
87
  ExpiredReferenceError,
88
+ IntegerRangeError,
86
89
  InvokeError,
87
90
  PhantomReferenceError,
88
91
  ReadError,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/action/errors.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,QAAQ,2BAA2B;AAE5C,SAAS,iCAAiC;AAKnC,MAAM,6BAA6B,oBAAoB;AAAA,EAC1D,YAAY,QAAgB,MAAuB,SAAiB,MAAc;AAC9E,UAAM,OAAO,GAAG,MAAM,IAAI,KAAK,QAAQ,IAAI,KAAK,OAAO,KAAK,IAAI;AAChE,UAAM,MAAM,IAAI;AAGhB,SAAK,UAAU;AAAA,EACnB;AACJ;AAKO,MAAM,kBAAkB,qBAAqB;AAAA,EAChD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,WAAW,MAAM,SAAS,QAAQ,OAAO,eAAe;AAAA,EAClE;AACJ;AAKO,MAAM,mBAAmB,qBAAqB;AAAA,EACjD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,WAAW,MAAM,SAAS,QAAQ,OAAO,gBAAgB;AAAA,EACnE;AACJ;AAKO,MAAM,oBAAoB,qBAAqB;AAAA,EAClD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,YAAY,MAAM,SAAS,QAAQ,OAAO,iBAAiB;AAAA,EACrE;AACJ;AAKO,MAAM,sBAAsB,qBAAqB;AAAA,EACpD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,cAAc,MAAM,SAAS,QAAQ,OAAO,eAAe;AAAA,EACrE;AACJ;AAKO,MAAM,sBAAsB,cAAc;AAAA,EAC7C,YAAY,MAAuB,MAAc,OAAgB,MAAe;AAC5E,QAAI,MAAM,GAAG,KAAK;AAClB,QAAI,IAAI,SAAS,IAAI;AACjB,YAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAAA,IAC9B;AACA,UAAM,MAAM,UAAU,GAAG,YAAY,IAAI,IAAI,IAAI;AAAA,EACrD;AACJ;AAKO,MAAM,wBAAwB,cAAc;AAAA,EAC/C,YAAY,QAAgB,MAAuB,SAAiB;AAChE,UAAM,MAAM,eAAgB,OAAsB,UAAU,MAAM,OAAO,IAAI,OAAO,eAAe;AAAA,EACvG;AACJ;AAKO,MAAM,8BAA8B,cAAc;AAAA,EACrD,YAAY,MAAuB,SAAiB;AAChD,UAAM,MAAM,SAAS,OAAO,eAAe;AAAA,EAC/C;AACJ;AAKO,MAAM,yBAAyB,cAAc;AAAA,EAChD,YAAY,QAAgB,MAAuB,SAAiB,QAAiB;AACjF,QAAI;AACJ,QAAI,QAAQ;AACR,eAAS,uBAAuB,MAAM;AAAA,IAC1C,OAAO;AACH,eAAS,gBAAiB,OAAsB,WAAW;AAAA,IAC/D;AACA,UAAM,MAAM,GAAG,MAAM,KAAK,OAAO,IAAI,OAAO,eAAe;AAAA,EAC/D;AACJ;AAKO,MAAM,kCAAkC,iBAAiB;AAAA,EAC5D,YAAY,QAAgB,MAAuB,SAAiB;AAChE,UAAM,QAAQ,MAAM,OAAO;AAAA,EAC/B;AACJ;AAKO,MAAM,8BAA8B,qBAAqB;AAAA,EAC5D,YAAY,MAAuB;AAC/B,UAAM,eAAe,MAAM,oEAAoE,OAAO,OAAO;AAAA,EACjH;AACJ;AAKO,MAAM,8BAA8B,qBAAqB;AAAA,EAC5D,YAAY,MAAuB;AAC/B,UAAM,eAAe,MAAM,yBAAyB,OAAO,OAAO;AAAA,EACtE;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,QAAQ,2BAA2B;AAE5C,SAAS,iCAAiC;AAKnC,MAAM,6BAA6B,oBAAoB;AAAA,EAC1D,YAAY,QAAgB,MAAuB,SAAiB,MAAc;AAC9E,UAAM,OAAO,GAAG,MAAM,IAAI,KAAK,QAAQ,IAAI,KAAK,OAAO,KAAK,IAAI;AAChE,UAAM,MAAM,IAAI;AAGhB,SAAK,UAAU;AAAA,EACnB;AACJ;AAKO,MAAM,kBAAkB,qBAAqB;AAAA,EAChD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,WAAW,MAAM,SAAS,QAAQ,OAAO,eAAe;AAAA,EAClE;AACJ;AAKO,MAAM,mBAAmB,qBAAqB;AAAA,EACjD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,WAAW,MAAM,SAAS,QAAQ,OAAO,gBAAgB;AAAA,EACnE;AACJ;AAKO,MAAM,oBAAoB,qBAAqB;AAAA,EAClD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,YAAY,MAAM,SAAS,QAAQ,OAAO,iBAAiB;AAAA,EACrE;AACJ;AAKO,MAAM,sBAAsB,qBAAqB;AAAA,EACpD,YAAY,MAAuB,SAAiB,MAAe;AAC/D,UAAM,cAAc,MAAM,SAAS,QAAQ,OAAO,eAAe;AAAA,EACrE;AACJ;AAKO,MAAM,sBAAsB,cAAc;AAAA,EAC7C,YAAY,MAAuB,MAAc,OAAgB,MAAe;AAC5E,QAAI,MAAM,GAAG,KAAK;AAClB,QAAI,IAAI,SAAS,IAAI;AACjB,YAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAAA,IAC9B;AACA,UAAM,MAAM,UAAU,GAAG,YAAY,IAAI,IAAI,IAAI;AAAA,EACrD;AACJ;AAKO,MAAM,wBAAwB,cAAc;AAAA,EAC/C,YAAY,QAAgB,MAAuB,SAAiB;AAChE,UAAM,MAAM,eAAgB,OAAsB,UAAU,MAAM,OAAO,IAAI,OAAO,eAAe;AAAA,EACvG;AACJ;AAKO,MAAM,0BAA0B,cAAc;AAAA,EACjD,YAAY,MAAuB,SAAiB;AAChD,UAAM,MAAM,SAAS,OAAO,eAAe;AAAA,EAC/C;AACJ;AAKO,MAAM,8BAA8B,cAAc;AAAA,EACrD,YAAY,MAAuB,SAAiB;AAChD,UAAM,MAAM,SAAS,OAAO,eAAe;AAAA,EAC/C;AACJ;AAKO,MAAM,yBAAyB,cAAc;AAAA,EAChD,YAAY,QAAgB,MAAuB,SAAiB,QAAiB;AACjF,QAAI;AACJ,QAAI,QAAQ;AACR,eAAS,uBAAuB,MAAM;AAAA,IAC1C,OAAO;AACH,eAAS,gBAAiB,OAAsB,WAAW;AAAA,IAC/D;AACA,UAAM,MAAM,GAAG,MAAM,KAAK,OAAO,IAAI,OAAO,eAAe;AAAA,EAC/D;AACJ;AAKO,MAAM,kCAAkC,iBAAiB;AAAC;AAK1D,MAAM,8BAA8B,qBAAqB;AAAA,EAC5D,YAAY,MAAuB;AAC/B,UAAM,eAAe,MAAM,oEAAoE,OAAO,OAAO;AAAA,EACjH;AACJ;AAKO,MAAM,8BAA8B,qBAAqB;AAAA,EAC5D,YAAY,MAAuB;AAC/B,UAAM,eAAe,MAAM,yBAAyB,OAAO,OAAO;AAAA,EACtE;AACJ;",
5
5
  "names": []
6
6
  }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { ReadResult } from "#action/response/ReadResult.js";
7
- import { CanceledError, Duration, TimeoutError } from "#general";
7
+ import { Duration } from "#general";
8
8
  import { Read } from "./Read.js";
9
9
  /**
10
10
  * Defines a subscription.
@@ -24,7 +24,7 @@ export interface Subscribe extends Read {
24
24
  /**
25
25
  * Invoked when the subscription is no longer active.
26
26
  */
27
- closed?: (cause: CanceledError | TimeoutError) => void;
27
+ closed?: () => void;
28
28
  }
29
29
  export declare function Subscribe(options: Subscribe.Options, ...selectors: Read.Selector[]): Subscribe;
30
30
  export declare namespace Subscribe {
@@ -1 +1 @@
1
- {"version":3,"file":"Subscribe.d.ts","sourceRoot":"","sources":["../../../../src/action/request/Subscribe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAW,YAAY,EAAc,MAAM,UAAU,CAAC;AAEtF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAuB9F;AAED,yBAAiB,SAAS,CAAC;IACvB,UAAiB,OAAQ,SAAQ,IAAI,CAAC,OAAO;QACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;QAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KAChC;CACJ"}
1
+ {"version":3,"file":"Subscribe.d.ts","sourceRoot":"","sources":["../../../../src/action/request/Subscribe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAuB,MAAM,UAAU,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,CAuB9F;AAED,yBAAiB,SAAS,CAAC;IACvB,UAAiB,OAAQ,SAAQ,IAAI,CAAC,OAAO;QACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;QAC5B,kBAAkB,CAAC,EAAE,QAAQ,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KAChC;CACJ"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/request/Subscribe.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAkC,SAAuB,kBAAkB;AAC3E,SAAS,6BAA6B;AACtC,SAAS,YAAY;AAyBd,SAAS,UAAU,YAA+B,WAAuC;AAC5F,QAAM,YAAY,KAAK,SAAS,GAAG,SAAS;AAE5C,QAAM,EAAE,mBAAmB,kBAAkB,mBAAmB,IAAI;AACpE,YAAU,oBAAoB,qBAAqB;AAEnD,MAAI,qBAAqB,QAAW;AAChC,QAAI,mBAAmB,KAAK,QAAQ,GAAG,gBAAgB,IAAI,YAAY;AACnE,YAAM,IAAI,sBAAsB,0BAA0B,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB;AAAA,IAC5G;AACA,cAAU,mBAAmB;AAAA,EACjC;AAEA,MAAI,uBAAuB,QAAW;AAClC,QAAI,qBAAqB,KAAK,QAAQ,GAAG,kBAAkB,IAAI,YAAY;AACvE,YAAM,IAAI;AAAA,QACN,4BAA4B,QAAQ,GAAG,kBAAkB,CAAC;AAAA,MAC9D;AAAA,IACJ;AACA,cAAU,qBAAqB;AAAA,EACnC;AAEA,SAAO;AACX;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAmB,SAAS,kBAAkB;AAC9C,SAAS,6BAA6B;AACtC,SAAS,YAAY;AAyBd,SAAS,UAAU,YAA+B,WAAuC;AAC5F,QAAM,YAAY,KAAK,SAAS,GAAG,SAAS;AAE5C,QAAM,EAAE,mBAAmB,kBAAkB,mBAAmB,IAAI;AACpE,YAAU,oBAAoB,qBAAqB;AAEnD,MAAI,qBAAqB,QAAW;AAChC,QAAI,mBAAmB,KAAK,QAAQ,GAAG,gBAAgB,IAAI,YAAY;AACnE,YAAM,IAAI,sBAAsB,0BAA0B,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB;AAAA,IAC5G;AACA,cAAU,mBAAmB;AAAA,EACjC;AAEA,MAAI,uBAAuB,QAAW;AAClC,QAAI,qBAAqB,KAAK,QAAQ,GAAG,kBAAkB,IAAI,YAAY;AACvE,YAAM,IAAI;AAAA,QACN,4BAA4B,QAAQ,GAAG,kBAAkB,CAAC;AAAA,MAC9D;AAAA,IACJ;AACA,cAAU,qBAAqB;AAAA,EACnC;AAEA,SAAO;AACX;",
5
5
  "names": []
6
6
  }
@@ -13,7 +13,7 @@ import type { AttributeId, AttributePath, ClusterId, EndpointNumber, EventId, Ev
13
13
  * Iteration occurs in chunks for performance reasons. A chunk is an iterable of reports, one per output attribute or
14
14
  * event.
15
15
  */
16
- export interface ReadResult<Chunk = ReadResult.Chunk> extends AsyncIterable<ReadResult.Chunk> {
16
+ export interface ReadResult<Chunk = ReadResult.Chunk> extends AsyncIterableIterator<ReadResult.Chunk> {
17
17
  }
18
18
  export declare namespace ReadResult {
19
19
  type Chunk = Iterable<Report>;
@@ -1 +1 @@
1
- {"version":3,"file":"ReadResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/ReadResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,EACZ,MAAM,QAAQ,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;CAAG;AAEhG,yBAAiB,UAAU,CAAC;IACxB,KAAY,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAErC,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;IAEjF,UAAiB,qBAAsB,SAAQ,aAAa;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;KAC5B;IAED,UAAiB,cAAc;QAC3B,IAAI,EAAE,YAAY,CAAC;QACnB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,eAAe;QAC5B,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;IAED,UAAiB,iBAAkB,SAAQ,SAAS;QAChD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,WAAW;QACxB,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;CACJ"}
1
+ {"version":3,"file":"ReadResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/ReadResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,EACZ,MAAM,QAAQ,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAE,SAAQ,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC;CAAG;AAExG,yBAAiB,UAAU,CAAC;IACxB,KAAY,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAErC,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;IAEjF,UAAiB,qBAAsB,SAAQ,aAAa;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;KAC5B;IAED,UAAiB,cAAc;QAC3B,IAAI,EAAE,YAAY,CAAC;QACnB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,eAAe;QAC5B,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;IAED,UAAiB,iBAAkB,SAAQ,SAAS;QAChD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,QAAQ,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,WAAW;QACxB,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;CACJ"}