@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
@@ -15,6 +15,7 @@ import { WriteResult } from "./response/WriteResult.js";
15
15
  import { AccessControl } from "./server/AccessControl.js";
16
16
  export type InteractionSession = AccessControl.Session & {
17
17
  transaction?: Transaction;
18
+ abort?: AbortSignal;
18
19
  };
19
20
  /**
20
21
  * Objects implementing this interface can participate in Matter interactions.
@@ -1 +1 @@
1
- {"version":3,"file":"Interactable.d.ts","sourceRoot":"","sources":["../../../src/action/Interactable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,GAAG;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,kBAAkB;IACvD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IAEnE;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC7D"}
1
+ {"version":3,"file":"Interactable.d.ts","sourceRoot":"","sources":["../../../src/action/Interactable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,GAAG;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,kBAAkB;IACvD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IAEnE;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC7D"}
@@ -6,19 +6,18 @@
6
6
  import { Interactable, InteractionSession } from "#action/Interactable.js";
7
7
  import { ClientInvoke } from "#action/request/Invoke.js";
8
8
  import { Read } from "#action/request/Read.js";
9
- import { Subscribe } from "#action/request/Subscribe.js";
10
9
  import { Write } from "#action/request/Write.js";
11
10
  import { DecodedInvokeResult } from "#action/response/InvokeResult.js";
12
11
  import { ReadResult } from "#action/response/ReadResult.js";
13
- import { SubscribeResult } from "#action/response/SubscribeResult.js";
14
12
  import { WriteResult } from "#action/response/WriteResult.js";
15
- import { Duration, Environment, Environmental, PromiseQueue } from "#general";
16
- import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
17
- import { ClientSubscriptions } from "./ClientSubscriptions.js";
13
+ import { Abort, Duration, Environment, RetrySchedule } from "#general";
14
+ import { ClientSubscribe } from "./subscription/ClientSubscribe.js";
15
+ import { ClientSubscription } from "./subscription/ClientSubscription.js";
16
+ import { ClientSubscriptions } from "./subscription/ClientSubscriptions.js";
18
17
  export interface ClientInteractionContext {
19
- exchanges: ExchangeProvider;
20
- subscriptions: ClientSubscriptions;
21
- queue: PromiseQueue;
18
+ environment: Environment;
19
+ abort?: Abort.Signal;
20
+ sustainRetries?: RetrySchedule.Configuration;
22
21
  }
23
22
  export declare const DEFAULT_MIN_INTERVAL_FLOOR: Duration;
24
23
  /**
@@ -26,20 +25,27 @@ export declare const DEFAULT_MIN_INTERVAL_FLOOR: Duration;
26
25
  */
27
26
  export declare class ClientInteraction<SessionT extends InteractionSession = InteractionSession> implements Interactable<SessionT> {
28
27
  #private;
29
- constructor(context: ClientInteractionContext);
28
+ constructor({ environment, abort, sustainRetries }: ClientInteractionContext);
30
29
  close(): Promise<void>;
31
30
  get subscriptions(): ClientSubscriptions;
32
- get queue(): PromiseQueue | undefined;
33
- static [Environmental.create](env: Environment): ClientInteraction<InteractionSession>;
34
- read(request: Read, _session?: SessionT): ReadResult;
35
31
  /**
36
- * Write chosen attributes remotely to the node.
37
- * The returned attribute write status information is returned. No error is thrown for individual attribute write
38
- * failures.
32
+ * Read attributes and events.
39
33
  */
40
- write<T extends Write>(request: T, _session?: SessionT): WriteResult<T>;
41
- invoke(request: ClientInvoke, _session?: SessionT): DecodedInvokeResult;
42
- subscribe(request: Subscribe, _session?: SessionT): SubscribeResult;
43
- cancelSubscription(id: number): void;
34
+ read(request: Read, session?: SessionT): ReadResult;
35
+ /**
36
+ * Update node attributes.
37
+ *
38
+ * Writes with the Matter protocol are generally not atomic, so this method only throws if the entire action fails.
39
+ * You must check each {@link WriteResult.AttributeStatus} to determine whether individual updates failed.
40
+ */
41
+ write<T extends Write>(request: T, session?: SessionT): WriteResult<T>;
42
+ /**
43
+ * Invoke one or more commands.
44
+ */
45
+ invoke(request: ClientInvoke, session?: SessionT): DecodedInvokeResult;
46
+ /**
47
+ * Subscribe to attribute values and events.
48
+ */
49
+ subscribe(request: ClientSubscribe, session?: SessionT): Promise<ClientSubscription>;
44
50
  }
45
51
  //# sourceMappingURL=ClientInteraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAU,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAgB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAGH,QAAQ,EACR,WAAW,EACX,aAAa,EAIb,YAAY,EAEf,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK/D,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,0BAA0B,UAAa,CAAC;AAKrD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CACnF,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBAQrB,OAAO,EAAE,wBAAwB;IAMvC,KAAK;IAQX,IAAI,aAAa,wBAEhB;IAED,IAAI,KAAK,6BAER;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAUvC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU;IAyC3D;;;;OAIG;IACG,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IAiEtE,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAyGxE,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,eAAe;IA2DzE,kBAAkB,CAAC,EAAE,EAAE,MAAM;CA2BhC"}
1
+ {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAU,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAgB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EACH,KAAK,EAGL,QAAQ,EAER,WAAW,EAIX,aAAa,EAEhB,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAM5E,MAAM,WAAW,wBAAwB;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;CAChD;AAED,eAAO,MAAM,0BAA0B,UAAa,CAAC;AAKrD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CACnF,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBAQrB,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,wBAAwB;IAUtE,KAAK;IAQX,IAAI,aAAa,wBAEhB;IAED;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU;IAqC1D;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IA4D5E;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAqG7E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,QAAQ;CA8H/D"}
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
7
+ var __typeError = (msg) => {
8
+ throw TypeError(msg);
9
+ };
6
10
  var __export = (target, all) => {
7
11
  for (var name in all)
8
12
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,6 +20,47 @@ var __copyProps = (to, from, except, desc) => {
16
20
  return to;
17
21
  };
18
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var __using = (stack, value, async) => {
24
+ if (value != null) {
25
+ if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
26
+ var dispose, inner;
27
+ if (async) dispose = value[__knownSymbol("asyncDispose")];
28
+ if (dispose === void 0) {
29
+ dispose = value[__knownSymbol("dispose")];
30
+ if (async) inner = dispose;
31
+ }
32
+ if (typeof dispose !== "function") __typeError("Object not disposable");
33
+ if (inner) dispose = function() {
34
+ try {
35
+ inner.call(this);
36
+ } catch (e) {
37
+ return Promise.reject(e);
38
+ }
39
+ };
40
+ stack.push([async, dispose, value]);
41
+ } else if (async) {
42
+ stack.push([async]);
43
+ }
44
+ return value;
45
+ };
46
+ var __callDispose = (stack, error, hasError) => {
47
+ var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
48
+ return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
49
+ };
50
+ var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
51
+ var next = (it) => {
52
+ while (it = stack.pop()) {
53
+ try {
54
+ var result = it[1] && it[1].call(it[2]);
55
+ if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
56
+ } catch (e) {
57
+ fail(e);
58
+ }
59
+ }
60
+ if (hasError) throw error;
61
+ };
62
+ return next();
63
+ };
19
64
  var ClientInteraction_exports = {};
20
65
  __export(ClientInteraction_exports, {
21
66
  ClientInteraction: () => ClientInteraction,
@@ -26,11 +71,13 @@ var import_Invoke = require("#action/request/Invoke.js");
26
71
  var import_Specifier = require("#action/request/Specifier.js");
27
72
  var import_general = require("#general");
28
73
  var import_InteractionMessenger = require("#interaction/InteractionMessenger.js");
29
- var import_InteractionQueue = require("#peer/InteractionQueue.js");
30
74
  var import_ExchangeProvider = require("#protocol/ExchangeProvider.js");
75
+ var import_SecureSession = require("#session/SecureSession.js");
31
76
  var import_types = require("#types");
32
- var import_ClientSubscriptions = require("./ClientSubscriptions.js");
33
77
  var import_InputChunk = require("./InputChunk.js");
78
+ var import_ClientSubscriptions = require("./subscription/ClientSubscriptions.js");
79
+ var import_PeerSubscription = require("./subscription/PeerSubscription.js");
80
+ var import_SustainedSubscription = require("./subscription/SustainedSubscription.js");
34
81
  /**
35
82
  * @license
36
83
  * Copyright 2022-2025 Matter.js Authors
@@ -43,16 +90,20 @@ const DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE = (0, import_general.Second
43
90
  class ClientInteraction {
44
91
  #exchanges;
45
92
  #subscriptions;
46
- #queue;
47
93
  #interactions = new import_general.BasicSet();
48
- #closed = false;
49
- constructor(context) {
50
- this.#exchanges = context.exchanges;
51
- this.#subscriptions = context.subscriptions;
52
- this.#queue = context.queue;
94
+ #abort;
95
+ #sustainRetries;
96
+ constructor({ environment, abort, sustainRetries }) {
97
+ this.#exchanges = environment.get(import_ExchangeProvider.ExchangeProvider);
98
+ this.#subscriptions = environment.get(import_ClientSubscriptions.ClientSubscriptions);
99
+ this.#abort = import_general.Abort.subtask(abort);
100
+ this.#sustainRetries = new import_general.RetrySchedule(
101
+ environment.get(import_general.Entropy),
102
+ import_general.RetrySchedule.Configuration(import_SustainedSubscription.SustainedSubscription.DefaultRetrySchedule, sustainRetries)
103
+ );
53
104
  }
54
105
  async close() {
55
- this.#closed = true;
106
+ this.#abort();
56
107
  while (this.#interactions.size) {
57
108
  await this.#interactions.deleted;
58
109
  }
@@ -60,37 +111,31 @@ class ClientInteraction {
60
111
  get subscriptions() {
61
112
  return this.#subscriptions;
62
113
  }
63
- get queue() {
64
- return this.#queue;
65
- }
66
- static [import_general.Environmental.create](env) {
67
- const instance = new ClientInteraction({
68
- exchanges: env.get(import_ExchangeProvider.ExchangeProvider),
69
- subscriptions: env.get(import_ClientSubscriptions.ClientSubscriptions),
70
- queue: env.get(import_InteractionQueue.InteractionQueue)
71
- });
72
- env.set(ClientInteraction, instance);
73
- return instance;
74
- }
75
- async *read(request, _session) {
76
- const readPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
77
- if (readPathsCount > 9) {
78
- logger.debug(
79
- "Read interactions with more then 9 paths might be not allowed by the device. Consider splitting then into several read requests."
80
- );
81
- }
82
- this.#begin(request);
83
- let messenger;
114
+ /**
115
+ * Read attributes and events.
116
+ */
117
+ async *read(request, session) {
118
+ var _stack = [];
84
119
  try {
85
- messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
120
+ const readPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
121
+ if (readPathsCount > 9) {
122
+ logger.debug(
123
+ "Read interactions with more then 9 paths might be not allowed by the device. Consider splitting then into several read requests."
124
+ );
125
+ }
126
+ const context = __using(_stack, await this.#begin(request, session), true);
127
+ const { checkAbort, messenger } = context;
86
128
  logger.debug("Read \xBB", messenger.exchange.via, request);
87
129
  await messenger.sendReadRequest(request);
130
+ checkAbort();
88
131
  let attributeReportCount = 0;
89
132
  let eventReportCount = 0;
90
133
  for await (const report of messenger.readDataReports()) {
134
+ checkAbort();
91
135
  attributeReportCount += report.attributeReports?.length ?? 0;
92
136
  eventReportCount += report.eventReports?.length ?? 0;
93
137
  yield (0, import_InputChunk.InputChunk)(report);
138
+ checkAbort();
94
139
  }
95
140
  logger.debug(
96
141
  "Read \xAB",
@@ -99,26 +144,31 @@ class ClientInteraction {
99
144
  attributeReportCount + eventReportCount === 0 ? "(empty)" : import_general.Diagnostic.dict({ attributes: attributeReportCount, events: eventReportCount })
100
145
  )
101
146
  );
147
+ } catch (_) {
148
+ var _error = _, _hasError = true;
102
149
  } finally {
103
- await messenger?.close();
104
- this.#end(request);
150
+ var _promise = __callDispose(_stack, _error, _hasError);
151
+ _promise && await _promise;
105
152
  }
106
153
  }
107
154
  /**
108
- * Write chosen attributes remotely to the node.
109
- * The returned attribute write status information is returned. No error is thrown for individual attribute write
110
- * failures.
155
+ * Update node attributes.
156
+ *
157
+ * Writes with the Matter protocol are generally not atomic, so this method only throws if the entire action fails.
158
+ * You must check each {@link WriteResult.AttributeStatus} to determine whether individual updates failed.
111
159
  */
112
- async write(request, _session) {
113
- this.#begin(request);
114
- let messenger;
160
+ async write(request, session) {
161
+ var _stack = [];
115
162
  try {
116
- messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
163
+ const context = __using(_stack, await this.#begin(request, session), true);
164
+ const { checkAbort, messenger } = context;
117
165
  if (request.timedRequest) {
118
166
  await messenger.sendTimedRequest(request.timeout ?? DEFAULT_TIMED_REQUEST_TIMEOUT);
167
+ checkAbort();
119
168
  }
120
169
  logger.info("Write \xBB", messenger.exchange.via, request);
121
170
  const response = await messenger.sendWriteCommand(request);
171
+ checkAbort();
122
172
  if (request.suppressResponse) {
123
173
  return void 0;
124
174
  }
@@ -159,18 +209,24 @@ class ClientInteraction {
159
209
  )
160
210
  );
161
211
  return result;
212
+ } catch (_) {
213
+ var _error = _, _hasError = true;
162
214
  } finally {
163
- await messenger?.close();
164
- this.#end(request);
215
+ var _promise = __callDispose(_stack, _error, _hasError);
216
+ _promise && await _promise;
165
217
  }
166
218
  }
167
- async *invoke(request, _session) {
168
- this.#begin(request);
169
- let messenger;
219
+ /**
220
+ * Invoke one or more commands.
221
+ */
222
+ async *invoke(request, session) {
223
+ var _stack = [];
170
224
  try {
171
- messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
225
+ const context = __using(_stack, await this.#begin(request, session), true);
226
+ const { checkAbort, messenger } = context;
172
227
  if (request.timedRequest) {
173
228
  await messenger.sendTimedRequest(request.timeout ?? DEFAULT_TIMED_REQUEST_TIMEOUT);
229
+ checkAbort();
174
230
  }
175
231
  logger.info(
176
232
  "Invoke \xBB",
@@ -183,6 +239,7 @@ class ClientInteraction {
183
239
  request,
184
240
  expectedProcessingTime ?? (useExtendedFailSafeMessageResponseTimeout ? DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE : void 0)
185
241
  );
242
+ checkAbort();
186
243
  if (!request.suppressResponse) {
187
244
  if (result && result.invokeResponses?.length) {
188
245
  const chunk = result.invokeResponses.map((response) => {
@@ -248,64 +305,98 @@ class ClientInteraction {
248
305
  } else {
249
306
  yield [];
250
307
  }
308
+ checkAbort();
251
309
  }
310
+ } catch (_) {
311
+ var _error = _, _hasError = true;
252
312
  } finally {
253
- await messenger?.close();
254
- this.#end(request);
313
+ var _promise = __callDispose(_stack, _error, _hasError);
314
+ _promise && await _promise;
255
315
  }
256
316
  }
257
- async subscribe(request, _session) {
317
+ /**
318
+ * Subscribe to attribute values and events.
319
+ */
320
+ async subscribe(request, session) {
258
321
  const subscriptionPathsCount = (request.attributeRequests?.length ?? 0) + (request.eventRequests?.length ?? 0);
259
322
  if (subscriptionPathsCount > 3) {
260
323
  logger.debug("Subscribe interactions with more then 3 paths might be not allowed by the device.");
261
324
  }
262
325
  if (!request.keepSubscriptions) {
263
- for (const subscription of this.#subscriptions) {
326
+ for (const subscription2 of this.#subscriptions) {
264
327
  logger.debug(
265
- `Removing subscription with ID ${subscription.subscriptionId} because new subscription replaces it`
328
+ `Removing subscription with ID ${subscription2.subscriptionId} because new subscription replaces it`
266
329
  );
267
- subscription.close();
330
+ subscription2.close();
268
331
  }
269
332
  }
270
- this.#begin(request);
271
- let messenger;
272
- try {
273
- messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
274
- logger.info(
275
- "Subscribe \xBB",
276
- messenger.exchange.via,
277
- import_general.Diagnostic.asFlags({ keepSubscriptions: request.keepSubscriptions }),
278
- import_general.Diagnostic.dict({
279
- min: import_general.Duration.format(request.minIntervalFloor),
280
- max: import_general.Duration.format(request.maxIntervalCeiling)
281
- }),
282
- request
283
- );
284
- await messenger.sendSubscribeRequest({
285
- minIntervalFloorSeconds: import_general.Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
286
- maxIntervalCeilingSeconds: import_general.Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
287
- // TODO use better max fallback
288
- ...request
333
+ import_SecureSession.SecureSession.assert(this.#exchanges.session);
334
+ const peer = this.#exchanges.session.peerAddress;
335
+ const subscribe = async (request2) => {
336
+ var _stack = [];
337
+ try {
338
+ const context = __using(_stack, await this.#begin(request2, session), true);
339
+ const { checkAbort, messenger } = context;
340
+ logger.info(
341
+ "Subscribe \xBB",
342
+ messenger.exchange.via,
343
+ import_general.Diagnostic.asFlags({ keepSubscriptions: request2.keepSubscriptions }),
344
+ import_general.Diagnostic.dict({
345
+ min: import_general.Duration.format(request2.minIntervalFloor),
346
+ max: import_general.Duration.format(request2.maxIntervalCeiling)
347
+ }),
348
+ request2
349
+ );
350
+ await messenger.sendSubscribeRequest({
351
+ minIntervalFloorSeconds: import_general.Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
352
+ maxIntervalCeilingSeconds: import_general.Seconds.of(DEFAULT_MIN_INTERVAL_FLOOR),
353
+ // TODO use better max fallback
354
+ ...request2
355
+ });
356
+ checkAbort();
357
+ await this.#handleSubscriptionResponse(request2, readChunks(messenger));
358
+ checkAbort();
359
+ const responseMessage = await messenger.nextMessage(import_InteractionMessenger.MessageType.SubscribeResponse);
360
+ const response = import_types.TlvSubscribeResponse.decode(responseMessage.payload);
361
+ logger.info(
362
+ "Subscription successful \xAB",
363
+ messenger.exchange.via,
364
+ import_general.Diagnostic.dict({
365
+ id: response.subscriptionId,
366
+ interval: import_general.Duration.format((0, import_general.Seconds)(response.maxInterval))
367
+ })
368
+ );
369
+ const subscription2 = new import_PeerSubscription.PeerSubscription({
370
+ request: request2,
371
+ peer,
372
+ closed: () => this.#subscriptions.delete(subscription2),
373
+ response,
374
+ abort: session?.abort
375
+ });
376
+ this.#subscriptions.addPeer(subscription2);
377
+ return subscription2;
378
+ } catch (_) {
379
+ var _error = _, _hasError = true;
380
+ } finally {
381
+ var _promise = __callDispose(_stack, _error, _hasError);
382
+ _promise && await _promise;
383
+ }
384
+ };
385
+ let subscription;
386
+ if (request.sustain) {
387
+ subscription = new import_SustainedSubscription.SustainedSubscription({
388
+ subscribe,
389
+ peer,
390
+ closed: () => this.#subscriptions.delete(subscription),
391
+ request,
392
+ abort: session?.abort,
393
+ retries: this.#sustainRetries
289
394
  });
290
- await this.#handleSubscriptionResponse(request, readChunks(messenger));
291
- const responseMessage = await messenger.nextMessage(import_InteractionMessenger.MessageType.SubscribeResponse);
292
- const response = import_types.TlvSubscribeResponse.decode(responseMessage.payload);
293
- logger.info(
294
- "Subscription successful \xAB",
295
- messenger.exchange.via,
296
- import_general.Diagnostic.dict({
297
- subId: response.subscriptionId,
298
- interval: import_general.Duration.format((0, import_general.Seconds)(response.maxInterval))
299
- })
300
- );
301
- return this.#subscriptions.add(request, response);
302
- } finally {
303
- await messenger?.close();
304
- this.#end(request);
395
+ } else {
396
+ subscription = await subscribe(request);
305
397
  }
306
- }
307
- cancelSubscription(id) {
308
- this.#subscriptions.get(id)?.close();
398
+ this.#subscriptions.addActive(subscription);
399
+ return subscription;
309
400
  }
310
401
  async #handleSubscriptionResponse(request, result) {
311
402
  if (request.updated) {
@@ -314,14 +405,27 @@ class ClientInteraction {
314
405
  for await (const _chunk of result) ;
315
406
  }
316
407
  }
317
- #begin(request) {
318
- if (this.#closed) {
408
+ async #begin(request, session) {
409
+ if (this.#abort.aborted) {
319
410
  throw new import_general.ImplementationError("Client interaction unavailable after close");
320
411
  }
321
412
  this.#interactions.add(request);
322
- }
323
- #end(request) {
324
- this.#interactions.delete(request);
413
+ const checkAbort = import_general.Abort.checkerFor(session);
414
+ const messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
415
+ const context = {
416
+ checkAbort,
417
+ messenger,
418
+ [Symbol.asyncDispose]: async () => {
419
+ await messenger.close();
420
+ this.#interactions.delete(request);
421
+ }
422
+ };
423
+ try {
424
+ context.checkAbort();
425
+ } catch (e) {
426
+ await context[Symbol.asyncDispose]();
427
+ }
428
+ return context;
325
429
  }
326
430
  }
327
431
  async function* readChunks(messenger) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/client/ClientInteraction.ts"],
4
- "mappings": "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",
5
- "names": []
4
+ "mappings": "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",
5
+ "names": ["subscription", "request"]
6
6
  }
@@ -4,9 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./ClientInteraction.js";
7
- export * from "./ClientSubscription.js";
8
- export * from "./ClientSubscriptionHandler.js";
9
- export * from "./ClientSubscriptions.js";
10
7
  export * from "./InputChunk.js";
11
8
  export * from "./ReadScope.js";
9
+ export * from "./subscription/index.js";
12
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/action/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -16,11 +16,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
16
  var client_exports = {};
17
17
  module.exports = __toCommonJS(client_exports);
18
18
  __reExport(client_exports, require("./ClientInteraction.js"), module.exports);
19
- __reExport(client_exports, require("./ClientSubscription.js"), module.exports);
20
- __reExport(client_exports, require("./ClientSubscriptionHandler.js"), module.exports);
21
- __reExport(client_exports, require("./ClientSubscriptions.js"), module.exports);
22
19
  __reExport(client_exports, require("./InputChunk.js"), module.exports);
23
20
  __reExport(client_exports, require("./ReadScope.js"), module.exports);
21
+ __reExport(client_exports, require("./subscription/index.js"), module.exports);
24
22
  /**
25
23
  * @license
26
24
  * Copyright 2022-2025 Matter.js Authors
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/client/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,mCANd;AAOA,2BAAc,oCAPd;AAQA,2BAAc,2CARd;AASA,2BAAc,qCATd;AAUA,2BAAc,4BAVd;AAWA,2BAAc,2BAXd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,mCANd;AAOA,2BAAc,4BAPd;AAQA,2BAAc,2BARd;AASA,2BAAc,oCATd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,8 @@
1
+ import { Subscribe } from "#action/request/Subscribe.js";
2
+ export interface ClientSubscribe extends Subscribe {
3
+ /**
4
+ * If true the subscription is virtualized and the underlying subscription is reestablished when lost.
5
+ */
6
+ sustain?: boolean;
7
+ }
8
+ //# sourceMappingURL=ClientSubscribe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientSubscribe.d.ts","sourceRoot":"","sources":["../../../../../src/action/client/subscription/ClientSubscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAC9C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -12,11 +12,6 @@ var __copyProps = (to, from, except, desc) => {
12
12
  return to;
13
13
  };
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var ClientSubscription_exports = {};
16
- module.exports = __toCommonJS(ClientSubscription_exports);
17
- /**
18
- * @license
19
- * Copyright 2022-2025 Matter.js Authors
20
- * SPDX-License-Identifier: Apache-2.0
21
- */
22
- //# sourceMappingURL=ClientSubscription.js.map
15
+ var ClientSubscribe_exports = {};
16
+ module.exports = __toCommonJS(ClientSubscribe_exports);
17
+ //# sourceMappingURL=ClientSubscribe.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/action/client/subscription/ClientSubscribe.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
5
+ "names": []
6
+ }