@matter/protocol 0.16.0-alpha.0-20251213-e83db3732 → 0.16.0-alpha.0-20251217-038f88085

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 (309) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/action/client/ClientInteraction.d.ts +12 -5
  3. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  4. package/dist/cjs/action/client/ClientInteraction.js +39 -15
  5. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  6. package/dist/cjs/action/client/ClientRead.d.ts +10 -0
  7. package/dist/cjs/action/client/ClientRead.d.ts.map +1 -0
  8. package/dist/cjs/action/client/ClientRead.js +22 -0
  9. package/dist/cjs/action/client/ClientRead.js.map +6 -0
  10. package/dist/cjs/action/client/ClientRequest.d.ts +20 -0
  11. package/dist/cjs/action/client/ClientRequest.d.ts.map +1 -0
  12. package/dist/cjs/action/client/ClientRequest.js +22 -0
  13. package/dist/cjs/action/client/ClientRequest.js.map +6 -0
  14. package/dist/cjs/action/client/ClientWrite.d.ts +10 -0
  15. package/dist/cjs/action/client/ClientWrite.d.ts.map +1 -0
  16. package/dist/cjs/action/client/ClientWrite.js +22 -0
  17. package/dist/cjs/action/client/ClientWrite.js.map +6 -0
  18. package/dist/cjs/action/client/QueuedClientInteraction.d.ts +49 -0
  19. package/dist/cjs/action/client/QueuedClientInteraction.d.ts.map +1 -0
  20. package/dist/cjs/action/client/QueuedClientInteraction.js +160 -0
  21. package/dist/cjs/action/client/QueuedClientInteraction.js.map +6 -0
  22. package/dist/cjs/action/client/index.d.ts +4 -0
  23. package/dist/cjs/action/client/index.d.ts.map +1 -1
  24. package/dist/cjs/action/client/index.js +4 -0
  25. package/dist/cjs/action/client/index.js.map +1 -1
  26. package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts +2 -1
  27. package/dist/cjs/action/client/subscription/ClientSubscribe.d.ts.map +1 -1
  28. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
  29. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js +14 -3
  30. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  31. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts +1 -1
  32. package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
  33. package/dist/cjs/action/client/subscription/SustainedSubscription.js +1 -4
  34. package/dist/cjs/action/client/subscription/SustainedSubscription.js.map +1 -1
  35. package/dist/cjs/action/request/Invoke.d.ts +7 -1
  36. package/dist/cjs/action/request/Invoke.d.ts.map +1 -1
  37. package/dist/cjs/action/request/Invoke.js +0 -3
  38. package/dist/cjs/action/request/Invoke.js.map +1 -1
  39. package/dist/cjs/action/request/Read.d.ts.map +1 -1
  40. package/dist/cjs/action/request/Read.js +3 -2
  41. package/dist/cjs/action/request/Read.js.map +1 -1
  42. package/dist/cjs/action/request/Specifier.d.ts +1 -1
  43. package/dist/cjs/action/request/Specifier.d.ts.map +1 -1
  44. package/dist/cjs/action/request/Specifier.js +3 -0
  45. package/dist/cjs/action/request/Specifier.js.map +1 -1
  46. package/dist/cjs/action/request/Write.d.ts +1 -0
  47. package/dist/cjs/action/request/Write.d.ts.map +1 -1
  48. package/dist/cjs/action/request/Write.js +10 -2
  49. package/dist/cjs/action/request/Write.js.map +1 -1
  50. package/dist/cjs/action/response/ReadResult.d.ts +1 -1
  51. package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
  52. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +37 -8
  53. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  54. package/dist/cjs/cluster/client/index.d.ts +0 -3
  55. package/dist/cjs/cluster/client/index.d.ts.map +1 -1
  56. package/dist/cjs/cluster/client/index.js +0 -3
  57. package/dist/cjs/cluster/client/index.js.map +1 -1
  58. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  59. package/dist/cjs/interaction/InteractionMessenger.js +3 -2
  60. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  61. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
  62. package/dist/cjs/interaction/SubscriptionClient.js +2 -1
  63. package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
  64. package/dist/cjs/interaction/index.d.ts +1 -1
  65. package/dist/cjs/interaction/index.d.ts.map +1 -1
  66. package/dist/cjs/interaction/index.js +1 -1
  67. package/dist/cjs/interaction/index.js.map +1 -1
  68. package/dist/cjs/peer/CommissioningError.d.ts +13 -0
  69. package/dist/cjs/peer/CommissioningError.d.ts.map +1 -0
  70. package/dist/cjs/peer/CommissioningError.js +32 -0
  71. package/dist/cjs/peer/CommissioningError.js.map +6 -0
  72. package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -3
  73. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  74. package/dist/cjs/peer/ControllerCommissioner.js +20 -13
  75. package/dist/cjs/peer/ControllerCommissioner.js.map +2 -2
  76. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +7 -16
  77. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  78. package/dist/cjs/peer/ControllerCommissioningFlow.js +395 -178
  79. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  80. package/dist/cjs/peer/ControllerDiscovery.d.ts +4 -0
  81. package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
  82. package/dist/cjs/peer/ControllerDiscovery.js +6 -3
  83. package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
  84. package/dist/cjs/peer/InteractionQueue.d.ts +2 -2
  85. package/dist/cjs/peer/InteractionQueue.d.ts.map +1 -1
  86. package/dist/cjs/peer/InteractionQueue.js +1 -1
  87. package/dist/cjs/peer/InteractionQueue.js.map +1 -1
  88. package/dist/cjs/peer/PeerAddressStore.d.ts +0 -9
  89. package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
  90. package/dist/cjs/peer/PeerAddressStore.js.map +1 -1
  91. package/dist/cjs/peer/PeerSet.d.ts +0 -2
  92. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  93. package/dist/cjs/peer/PeerSet.js +32 -18
  94. package/dist/cjs/peer/PeerSet.js.map +1 -1
  95. package/dist/cjs/peer/PhysicalDeviceProperties.js +1 -1
  96. package/dist/cjs/peer/PhysicalDeviceProperties.js.map +1 -1
  97. package/dist/cjs/peer/index.d.ts +1 -0
  98. package/dist/cjs/peer/index.d.ts.map +1 -1
  99. package/dist/cjs/peer/index.js +1 -0
  100. package/dist/cjs/peer/index.js.map +1 -1
  101. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  102. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  103. package/dist/cjs/protocol/ExchangeManager.js +2 -2
  104. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  105. package/dist/cjs/protocol/ExchangeProvider.d.ts +13 -4
  106. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  107. package/dist/cjs/protocol/ExchangeProvider.js +5 -3
  108. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  109. package/dist/cjs/session/NodeSession.d.ts +5 -2
  110. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  111. package/dist/cjs/session/NodeSession.js +5 -4
  112. package/dist/cjs/session/NodeSession.js.map +1 -1
  113. package/dist/cjs/session/Session.d.ts +5 -3
  114. package/dist/cjs/session/Session.d.ts.map +1 -1
  115. package/dist/cjs/session/Session.js +8 -4
  116. package/dist/cjs/session/Session.js.map +1 -1
  117. package/dist/cjs/session/SessionManager.d.ts +8 -0
  118. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  119. package/dist/cjs/session/SessionManager.js +16 -2
  120. package/dist/cjs/session/SessionManager.js.map +1 -1
  121. package/dist/esm/action/client/ClientInteraction.d.ts +12 -5
  122. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  123. package/dist/esm/action/client/ClientInteraction.js +42 -16
  124. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  125. package/dist/esm/action/client/ClientRead.d.ts +10 -0
  126. package/dist/esm/action/client/ClientRead.d.ts.map +1 -0
  127. package/dist/esm/action/client/ClientRead.js +6 -0
  128. package/dist/esm/action/client/ClientRead.js.map +6 -0
  129. package/dist/esm/action/client/ClientRequest.d.ts +20 -0
  130. package/dist/esm/action/client/ClientRequest.d.ts.map +1 -0
  131. package/dist/esm/action/client/ClientRequest.js +6 -0
  132. package/dist/esm/action/client/ClientRequest.js.map +6 -0
  133. package/dist/esm/action/client/ClientWrite.d.ts +10 -0
  134. package/dist/esm/action/client/ClientWrite.d.ts.map +1 -0
  135. package/dist/esm/action/client/ClientWrite.js +6 -0
  136. package/dist/esm/action/client/ClientWrite.js.map +6 -0
  137. package/dist/esm/action/client/QueuedClientInteraction.d.ts +49 -0
  138. package/dist/esm/action/client/QueuedClientInteraction.d.ts.map +1 -0
  139. package/dist/esm/action/client/QueuedClientInteraction.js +140 -0
  140. package/dist/esm/action/client/QueuedClientInteraction.js.map +6 -0
  141. package/dist/esm/action/client/index.d.ts +4 -0
  142. package/dist/esm/action/client/index.d.ts.map +1 -1
  143. package/dist/esm/action/client/index.js +4 -0
  144. package/dist/esm/action/client/index.js.map +1 -1
  145. package/dist/esm/action/client/subscription/ClientSubscribe.d.ts +2 -1
  146. package/dist/esm/action/client/subscription/ClientSubscribe.d.ts.map +1 -1
  147. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
  148. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js +14 -3
  149. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  150. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts +1 -1
  151. package/dist/esm/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
  152. package/dist/esm/action/client/subscription/SustainedSubscription.js +1 -4
  153. package/dist/esm/action/client/subscription/SustainedSubscription.js.map +1 -1
  154. package/dist/esm/action/request/Invoke.d.ts +7 -1
  155. package/dist/esm/action/request/Invoke.d.ts.map +1 -1
  156. package/dist/esm/action/request/Invoke.js +0 -3
  157. package/dist/esm/action/request/Invoke.js.map +1 -1
  158. package/dist/esm/action/request/Read.d.ts.map +1 -1
  159. package/dist/esm/action/request/Read.js +3 -2
  160. package/dist/esm/action/request/Read.js.map +1 -1
  161. package/dist/esm/action/request/Specifier.d.ts +1 -1
  162. package/dist/esm/action/request/Specifier.d.ts.map +1 -1
  163. package/dist/esm/action/request/Specifier.js +3 -0
  164. package/dist/esm/action/request/Specifier.js.map +1 -1
  165. package/dist/esm/action/request/Write.d.ts +1 -0
  166. package/dist/esm/action/request/Write.d.ts.map +1 -1
  167. package/dist/esm/action/request/Write.js +10 -2
  168. package/dist/esm/action/request/Write.js.map +1 -1
  169. package/dist/esm/action/response/ReadResult.d.ts +1 -1
  170. package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
  171. package/dist/esm/cluster/client/ClusterClientTypes.d.ts +37 -8
  172. package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  173. package/dist/esm/cluster/client/index.d.ts +0 -3
  174. package/dist/esm/cluster/client/index.d.ts.map +1 -1
  175. package/dist/esm/cluster/client/index.js +0 -3
  176. package/dist/esm/cluster/client/index.js.map +1 -1
  177. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  178. package/dist/esm/interaction/InteractionMessenger.js +4 -3
  179. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  180. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
  181. package/dist/esm/interaction/SubscriptionClient.js +2 -1
  182. package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
  183. package/dist/esm/interaction/index.d.ts +1 -1
  184. package/dist/esm/interaction/index.d.ts.map +1 -1
  185. package/dist/esm/interaction/index.js +1 -1
  186. package/dist/esm/peer/CommissioningError.d.ts +13 -0
  187. package/dist/esm/peer/CommissioningError.d.ts.map +1 -0
  188. package/dist/esm/peer/CommissioningError.js +12 -0
  189. package/dist/esm/peer/CommissioningError.js.map +6 -0
  190. package/dist/esm/peer/ControllerCommissioner.d.ts +2 -3
  191. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  192. package/dist/esm/peer/ControllerCommissioner.js +19 -13
  193. package/dist/esm/peer/ControllerCommissioner.js.map +2 -2
  194. package/dist/esm/peer/ControllerCommissioningFlow.d.ts +7 -16
  195. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  196. package/dist/esm/peer/ControllerCommissioningFlow.js +380 -162
  197. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  198. package/dist/esm/peer/ControllerDiscovery.d.ts +4 -0
  199. package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
  200. package/dist/esm/peer/ControllerDiscovery.js +4 -1
  201. package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
  202. package/dist/esm/peer/InteractionQueue.d.ts +2 -2
  203. package/dist/esm/peer/InteractionQueue.d.ts.map +1 -1
  204. package/dist/esm/peer/InteractionQueue.js +2 -2
  205. package/dist/esm/peer/InteractionQueue.js.map +1 -1
  206. package/dist/esm/peer/PeerAddressStore.d.ts +0 -9
  207. package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
  208. package/dist/esm/peer/PeerAddressStore.js.map +1 -1
  209. package/dist/esm/peer/PeerSet.d.ts +0 -2
  210. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  211. package/dist/esm/peer/PeerSet.js +32 -18
  212. package/dist/esm/peer/PeerSet.js.map +1 -1
  213. package/dist/esm/peer/PhysicalDeviceProperties.js +1 -1
  214. package/dist/esm/peer/PhysicalDeviceProperties.js.map +1 -1
  215. package/dist/esm/peer/index.d.ts +1 -0
  216. package/dist/esm/peer/index.d.ts.map +1 -1
  217. package/dist/esm/peer/index.js +1 -0
  218. package/dist/esm/peer/index.js.map +1 -1
  219. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  220. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  221. package/dist/esm/protocol/ExchangeManager.js +2 -2
  222. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  223. package/dist/esm/protocol/ExchangeProvider.d.ts +13 -4
  224. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  225. package/dist/esm/protocol/ExchangeProvider.js +5 -3
  226. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  227. package/dist/esm/session/NodeSession.d.ts +5 -2
  228. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  229. package/dist/esm/session/NodeSession.js +5 -4
  230. package/dist/esm/session/NodeSession.js.map +1 -1
  231. package/dist/esm/session/Session.d.ts +5 -3
  232. package/dist/esm/session/Session.d.ts.map +1 -1
  233. package/dist/esm/session/Session.js +8 -4
  234. package/dist/esm/session/Session.js.map +1 -1
  235. package/dist/esm/session/SessionManager.d.ts +8 -0
  236. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  237. package/dist/esm/session/SessionManager.js +17 -2
  238. package/dist/esm/session/SessionManager.js.map +1 -1
  239. package/package.json +6 -6
  240. package/src/action/client/ClientInteraction.ts +58 -19
  241. package/src/action/client/ClientRead.ts +10 -0
  242. package/src/action/client/ClientRequest.ts +20 -0
  243. package/src/action/client/ClientWrite.ts +10 -0
  244. package/src/action/client/QueuedClientInteraction.ts +91 -0
  245. package/src/action/client/index.ts +4 -0
  246. package/src/action/client/subscription/ClientSubscribe.ts +2 -1
  247. package/src/action/client/subscription/ClientSubscriptionHandler.ts +14 -3
  248. package/src/action/client/subscription/SustainedSubscription.ts +6 -9
  249. package/src/action/request/Invoke.ts +11 -4
  250. package/src/action/request/Read.ts +3 -2
  251. package/src/action/request/Specifier.ts +4 -1
  252. package/src/action/request/Write.ts +11 -2
  253. package/src/action/response/ReadResult.ts +1 -1
  254. package/src/cluster/client/ClusterClientTypes.ts +47 -7
  255. package/src/cluster/client/index.ts +0 -3
  256. package/src/interaction/InteractionMessenger.ts +5 -4
  257. package/src/interaction/SubscriptionClient.ts +2 -1
  258. package/src/interaction/index.ts +1 -1
  259. package/src/peer/CommissioningError.ts +13 -0
  260. package/src/peer/ControllerCommissioner.ts +21 -13
  261. package/src/peer/ControllerCommissioningFlow.ts +418 -186
  262. package/src/peer/ControllerDiscovery.ts +4 -1
  263. package/src/peer/InteractionQueue.ts +2 -2
  264. package/src/peer/PeerAddressStore.ts +0 -9
  265. package/src/peer/PeerSet.ts +56 -23
  266. package/src/peer/PhysicalDeviceProperties.ts +1 -1
  267. package/src/peer/index.ts +1 -0
  268. package/src/protocol/DeviceCommissioner.ts +0 -1
  269. package/src/protocol/ExchangeManager.ts +2 -2
  270. package/src/protocol/ExchangeProvider.ts +9 -7
  271. package/src/session/NodeSession.ts +5 -4
  272. package/src/session/Session.ts +8 -4
  273. package/src/session/SessionManager.ts +19 -2
  274. package/dist/cjs/cluster/client/AttributeClient.d.ts +0 -75
  275. package/dist/cjs/cluster/client/AttributeClient.d.ts.map +0 -1
  276. package/dist/cjs/cluster/client/AttributeClient.js +0 -209
  277. package/dist/cjs/cluster/client/AttributeClient.js.map +0 -6
  278. package/dist/cjs/cluster/client/ClusterClient.d.ts +0 -11
  279. package/dist/cjs/cluster/client/ClusterClient.d.ts.map +0 -1
  280. package/dist/cjs/cluster/client/ClusterClient.js +0 -335
  281. package/dist/cjs/cluster/client/ClusterClient.js.map +0 -6
  282. package/dist/cjs/cluster/client/EventClient.d.ts +0 -33
  283. package/dist/cjs/cluster/client/EventClient.d.ts.map +0 -1
  284. package/dist/cjs/cluster/client/EventClient.js +0 -89
  285. package/dist/cjs/cluster/client/EventClient.js.map +0 -6
  286. package/dist/cjs/interaction/InteractionClient.d.ts +0 -375
  287. package/dist/cjs/interaction/InteractionClient.d.ts.map +0 -1
  288. package/dist/cjs/interaction/InteractionClient.js +0 -1046
  289. package/dist/cjs/interaction/InteractionClient.js.map +0 -6
  290. package/dist/esm/cluster/client/AttributeClient.d.ts +0 -75
  291. package/dist/esm/cluster/client/AttributeClient.d.ts.map +0 -1
  292. package/dist/esm/cluster/client/AttributeClient.js +0 -189
  293. package/dist/esm/cluster/client/AttributeClient.js.map +0 -6
  294. package/dist/esm/cluster/client/ClusterClient.d.ts +0 -11
  295. package/dist/esm/cluster/client/ClusterClient.d.ts.map +0 -1
  296. package/dist/esm/cluster/client/ClusterClient.js +0 -320
  297. package/dist/esm/cluster/client/ClusterClient.js.map +0 -6
  298. package/dist/esm/cluster/client/EventClient.d.ts +0 -33
  299. package/dist/esm/cluster/client/EventClient.d.ts.map +0 -1
  300. package/dist/esm/cluster/client/EventClient.js +0 -69
  301. package/dist/esm/cluster/client/EventClient.js.map +0 -6
  302. package/dist/esm/interaction/InteractionClient.d.ts +0 -375
  303. package/dist/esm/interaction/InteractionClient.d.ts.map +0 -1
  304. package/dist/esm/interaction/InteractionClient.js +0 -1047
  305. package/dist/esm/interaction/InteractionClient.js.map +0 -6
  306. package/src/cluster/client/AttributeClient.ts +0 -230
  307. package/src/cluster/client/ClusterClient.ts +0 -433
  308. package/src/cluster/client/EventClient.ts +0 -99
  309. package/src/interaction/InteractionClient.ts +0 -1614
package/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright [yyyy] [name of copyright owner]
189
+ Copyright 2022-2025 Matter.js Authors
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -3,15 +3,16 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { ClientRead } from "#action/client/ClientRead.js";
6
7
  import { Interactable, InteractionSession } from "#action/Interactable.js";
7
8
  import { ClientInvoke } from "#action/request/Invoke.js";
8
- import { Read } from "#action/request/Read.js";
9
- import { Write } from "#action/request/Write.js";
10
9
  import { DecodedInvokeResult } from "#action/response/InvokeResult.js";
11
10
  import { ReadResult } from "#action/response/ReadResult.js";
12
11
  import { WriteResult } from "#action/response/WriteResult.js";
13
12
  import { Abort, Duration, Environment, RetrySchedule } from "#general";
13
+ import { PeerAddress } from "#peer/index.js";
14
14
  import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
15
+ import { ClientWrite } from "./ClientWrite.js";
15
16
  import { ClientSubscribe } from "./subscription/ClientSubscribe.js";
16
17
  import { ClientSubscriptions } from "./subscription/ClientSubscriptions.js";
17
18
  import { PeerSubscription } from "./subscription/PeerSubscription.js";
@@ -24,6 +25,7 @@ export interface ClientInteractionContext {
24
25
  abort?: Abort.Signal;
25
26
  sustainRetries?: RetrySchedule.Configuration;
26
27
  exchangeProvider?: ExchangeProvider;
28
+ address?: PeerAddress;
27
29
  }
28
30
  export declare const DEFAULT_MIN_INTERVAL_FLOOR: Duration;
29
31
  /**
@@ -38,7 +40,8 @@ export declare const SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT: Duration;
38
40
  */
39
41
  export declare class ClientInteraction<SessionT extends InteractionSession = InteractionSession> implements Interactable<SessionT> {
40
42
  #private;
41
- constructor({ environment, abort, sustainRetries, exchangeProvider }: ClientInteractionContext);
43
+ protected readonly environment: Environment;
44
+ constructor({ environment, abort, sustainRetries, exchangeProvider, address }: ClientInteractionContext);
42
45
  get exchanges(): ExchangeProvider;
43
46
  get session(): import("../../index.js").Session;
44
47
  close(): Promise<void>;
@@ -46,14 +49,14 @@ export declare class ClientInteraction<SessionT extends InteractionSession = Int
46
49
  /**
47
50
  * Read attributes and events.
48
51
  */
49
- read(request: Read, session?: SessionT): ReadResult;
52
+ read(request: ClientRead, session?: SessionT): ReadResult;
50
53
  /**
51
54
  * Update node attributes.
52
55
  *
53
56
  * Writes with the Matter protocol are generally not atomic, so this method only throws if the entire action fails.
54
57
  * You must check each {@link WriteResult.AttributeStatus} to determine whether individual updates failed.
55
58
  */
56
- write<T extends Write>(request: T, session?: SessionT): WriteResult<T>;
59
+ write<T extends ClientWrite>(request: T, session?: SessionT): WriteResult<T>;
57
60
  /**
58
61
  * Invoke one or more commands.
59
62
  */
@@ -62,5 +65,9 @@ export declare class ClientInteraction<SessionT extends InteractionSession = Int
62
65
  * Subscribe to attribute values and events.
63
66
  */
64
67
  subscribe<T extends ClientSubscribe>(request: T, session?: SessionT): SubscriptionResult<T>;
68
+ get channelType(): import("#general").ChannelType;
69
+ /** Calculates the current maximum response time for a message use in additional logic like timers. */
70
+ maximumPeerResponseTime(expectedProcessingTime?: Duration): Duration;
71
+ get address(): PeerAddress;
65
72
  }
66
73
  //# 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;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;AAE9D,OAAO,EACH,KAAK,EAGL,QAAQ,EAER,WAAW,EAMX,aAAa,EAEhB,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIhF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,OAAO,CACjF,CAAC,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG,qBAAqB,GAAG,gBAAgB,CACzE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAC7C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED,eAAO,MAAM,0BAA0B,UAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,yCAAyC,UAAc,CAAC;AAKrE;;GAEG;AACH,qBAAa,iBAAiB,CAC1B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBASnB,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,wBAAwB;IAwB9F,IAAI,SAAS,qBAEZ;IAED,IAAI,OAAO,qCAEV;IAEK,KAAK;IAUX,IAAI,aAAa,wBAKhB;IAED;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU;IA0C1D;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IA6D5E;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAuG7E;;OAEG;IACG,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAiKpG"}
1
+ {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAU,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAAE,mBAAmB,EAAgB,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EACH,KAAK,EAGL,QAAQ,EAER,WAAW,EAMX,aAAa,EAIhB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIhF,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,OAAO,CACjF,CAAC,SAAS;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG,qBAAqB,GAAG,gBAAgB,CACzE,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAC7C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,UAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,yCAAyC,UAAc,CAAC;AAKrE;;GAEG;AACH,qBAAa,iBAAiB,CAC1B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,YAAW,YAAY,CAAC,QAAQ,CAAC;;IAC/B,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;gBAShC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,wBAAwB;IAyBvG,IAAI,SAAS,qBAEZ;IAED,IAAI,OAAO,qCAEV;IAEK,KAAK;IAUX,IAAI,aAAa,wBAKhB;IAED;;OAEG;IACI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU;IA0ChE;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IA6DlF;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,mBAAmB;IAuG7E;;OAEG;IACG,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAkLjG,IAAI,WAAW,mCAEd;IAED,sGAAsG;IACtG,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,QAAQ;IAIzD,IAAI,OAAO,gBAKV;CACJ"}
@@ -93,15 +93,16 @@ const SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT = (0, import_general.Minutes)(60
93
93
  const DEFAULT_TIMED_REQUEST_TIMEOUT = (0, import_general.Seconds)(10);
94
94
  const DEFAULT_MINIMUM_RESPONSE_TIMEOUT_WITH_FAILSAFE = (0, import_general.Seconds)(30);
95
95
  class ClientInteraction {
96
- #environment;
96
+ environment;
97
97
  #lifetime;
98
98
  #exchanges;
99
99
  #interactions = new import_general.BasicSet();
100
100
  #subscriptions;
101
101
  #abort;
102
102
  #sustainRetries;
103
- constructor({ environment, abort, sustainRetries, exchangeProvider }) {
104
- this.#environment = environment;
103
+ #address;
104
+ constructor({ environment, abort, sustainRetries, exchangeProvider, address }) {
105
+ this.environment = environment;
105
106
  this.#exchanges = exchangeProvider ?? environment.get(import_ExchangeProvider.ExchangeProvider);
106
107
  if (environment.has(import_ClientSubscriptions.ClientSubscriptions)) {
107
108
  this.#subscriptions = environment.get(import_ClientSubscriptions.ClientSubscriptions);
@@ -111,6 +112,7 @@ class ClientInteraction {
111
112
  environment.get(import_general.Entropy),
112
113
  import_general.RetrySchedule.Configuration(import_SustainedSubscription.SustainedSubscription.DefaultRetrySchedule, sustainRetries)
113
114
  );
115
+ this.#address = address;
114
116
  this.#lifetime = environment.join("interactions");
115
117
  Object.defineProperties(this.#lifetime.details, {
116
118
  "# active": {
@@ -143,7 +145,7 @@ class ClientInteraction {
143
145
  }
144
146
  get subscriptions() {
145
147
  if (this.#subscriptions === void 0) {
146
- this.#subscriptions = this.#environment.get(import_ClientSubscriptions.ClientSubscriptions);
148
+ this.#subscriptions = this.environment.get(import_ClientSubscriptions.ClientSubscriptions);
147
149
  }
148
150
  return this.#subscriptions;
149
151
  }
@@ -418,15 +420,6 @@ class ClientInteraction {
418
420
  checkAbort();
419
421
  const responseMessage = await messenger.nextMessage(import_InteractionMessenger.MessageType.SubscribeResponse);
420
422
  const response = import_types.TlvSubscribeResponse.decode(responseMessage.payload);
421
- logger.info(
422
- "Subscription successful",
423
- import_Mark.Mark.INBOUND,
424
- messenger.exchange.via,
425
- import_general.Diagnostic.dict({
426
- id: response.subscriptionId,
427
- interval: import_general.Duration.format((0, import_general.Seconds)(response.maxInterval))
428
- })
429
- );
430
423
  const subscription2 = new import_PeerSubscription.PeerSubscription({
431
424
  lifetime: this.subscriptions,
432
425
  request: request2,
@@ -437,6 +430,16 @@ class ClientInteraction {
437
430
  maxPeerResponseTime: this.#exchanges.maximumPeerResponseTime()
438
431
  });
439
432
  this.subscriptions.addPeer(subscription2);
433
+ logger.info(
434
+ "Subscription successful",
435
+ import_Mark.Mark.INBOUND,
436
+ messenger.exchange.via,
437
+ import_general.Diagnostic.dict({
438
+ id: import_Subscription.Subscription.idStrOf(response.subscriptionId),
439
+ interval: import_general.Duration.format((0, import_general.Seconds)(response.maxInterval)),
440
+ timeout: import_general.Duration.format(subscription2.timeout)
441
+ })
442
+ );
440
443
  return subscription2;
441
444
  } catch (_) {
442
445
  var _error = _, _hasError = true;
@@ -476,9 +479,17 @@ class ClientInteraction {
476
479
  if (this.#abort.aborted) {
477
480
  throw new import_general.ImplementationError("Client interaction unavailable after close");
478
481
  }
479
- this.#interactions.add(request);
480
482
  const checkAbort = import_general.Abort.checkerFor(session);
481
- const messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
483
+ const now = import_general.Time.nowMs;
484
+ let messenger;
485
+ try {
486
+ messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
487
+ } catch (error) {
488
+ import_general.TimeoutError.accept(error);
489
+ await this.exchanges.reconnectChannel({ asOf: now, resetInitialState: true });
490
+ messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
491
+ }
492
+ this.#interactions.add(request);
482
493
  Object.defineProperty(lifetime.details, "via", {
483
494
  get() {
484
495
  return messenger.exchange.via;
@@ -512,6 +523,19 @@ class ClientInteraction {
512
523
  __callDispose(_stack, _error, _hasError);
513
524
  }
514
525
  }
526
+ get channelType() {
527
+ return this.#exchanges.channelType;
528
+ }
529
+ /** Calculates the current maximum response time for a message use in additional logic like timers. */
530
+ maximumPeerResponseTime(expectedProcessingTime) {
531
+ return this.#exchanges.maximumPeerResponseTime(expectedProcessingTime);
532
+ }
533
+ get address() {
534
+ if (this.#address === void 0) {
535
+ throw new import_general.ImplementationError("This InteractionClient is not bound to a specific peer.");
536
+ }
537
+ return this.#address;
538
+ }
515
539
  }
516
540
  async function* readChunks(messenger) {
517
541
  const leftOverData = new Array();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/client/ClientInteraction.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["subscription", "request", "_stack", "_", "_error", "_hasError"]
6
6
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Read } from "#action/request/Read.js";
7
+ import { ClientRequest } from "./ClientRequest.js";
8
+ export interface ClientRead extends Read, ClientRequest {
9
+ }
10
+ //# sourceMappingURL=ClientRead.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientRead.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRead.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,UAAW,SAAQ,IAAI,EAAE,aAAa;CAAG"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var ClientRead_exports = {};
16
+ module.exports = __toCommonJS(ClientRead_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=ClientRead.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/action/client/ClientRead.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Represents a client request with customizable transmission behavior.
8
+ */
9
+ export interface ClientRequest {
10
+ /**
11
+ * If true, the request will be queued over all peers of the node.
12
+ * If false, the request will be sent directly.
13
+ * If undefined, the request will be queued if the physical device is thread connected.
14
+ * TODO Adjust this to be owned by some internal network layer that maintains automatic limits per connection type
15
+ * or such
16
+ * @deprecated
17
+ */
18
+ queued?: boolean;
19
+ }
20
+ //# sourceMappingURL=ClientRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientRequest.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientRequest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var ClientRequest_exports = {};
16
+ module.exports = __toCommonJS(ClientRequest_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=ClientRequest.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/action/client/ClientRequest.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Write } from "#action/request/Write.js";
7
+ import { ClientRequest } from "./ClientRequest.js";
8
+ export interface ClientWrite extends Write, ClientRequest {
9
+ }
10
+ //# sourceMappingURL=ClientWrite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClientWrite.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientWrite.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,KAAK,EAAE,aAAa;CAAG"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var ClientWrite_exports = {};
16
+ module.exports = __toCommonJS(ClientWrite_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=ClientWrite.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/action/client/ClientWrite.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ClientInvoke, ClientSubscribe, ClientWrite, DecodedInvokeResult, InteractionSession, ReadResult, SubscriptionResult, WriteResult } from "#action/index.js";
7
+ import { InteractionQueue } from "#peer/index.js";
8
+ import { ClientInteraction, ClientInteractionContext } from "./ClientInteraction.js";
9
+ import { ClientRead } from "./ClientRead.js";
10
+ export interface QueuedClientInteractionContext extends ClientInteractionContext {
11
+ queue: InteractionQueue;
12
+ }
13
+ export declare class QueuedClientInteraction<SessionT extends InteractionSession = InteractionSession> extends ClientInteraction<SessionT> {
14
+ #private;
15
+ constructor(options: QueuedClientInteractionContext);
16
+ protected get queue(): InteractionQueue;
17
+ /**
18
+ * Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
19
+ * optimize the read.
20
+ * Therefore, the returned data only contains attributes that have changed since the last read or subscription.
21
+ * TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
22
+ */
23
+ read(request: ClientRead, session?: SessionT): ReadResult;
24
+ /**
25
+ * Subscribe to remote events and attributes as defined by {@link request}.
26
+ *
27
+ * matter.js updates local state
28
+ *
29
+ * By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
30
+ * automatically. So you normally do not need to subscribe manually.
31
+ *
32
+ * When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
33
+ * know when/if a subscription could be established. This class handles reconnections automatically.
34
+ * When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
35
+ * established; or an error is returned if this was not possible.
36
+ */
37
+ subscribe<T extends ClientSubscribe>(request: T, session?: SessionT): SubscriptionResult<T>;
38
+ /**
39
+ * Write chosen attributes remotely to the node.
40
+ * The returned attribute writing status information is returned.
41
+ */
42
+ write<T extends ClientWrite>(request: T, session?: SessionT): WriteResult<T>;
43
+ /**
44
+ * Invoke a command remotely on the node.
45
+ * The returned command response is returned as response chunks
46
+ */
47
+ invoke(request: ClientInvoke, session?: SessionT): DecodedInvokeResult;
48
+ }
49
+ //# sourceMappingURL=QueuedClientInteraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueuedClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/QueuedClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACH,YAAY,EACZ,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC5E,KAAK,EAAE,gBAAgB,CAAC;CAC3B;AAED,qBAAa,uBAAuB,CAChC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,iBAAiB,CAAC,QAAQ,CAAC;;gBAGrB,OAAO,EAAE,8BAA8B;IAKnD,SAAS,KAAK,KAAK,qBAKlB;IAED;;;;;OAKG;IACa,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU;IAMzE;;;;;;;;;;;;OAYG;IACY,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAM1G;;;OAGG;IACY,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IAM3F;;;OAGG;IACa,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,mBAAmB;CAKzF"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : /* @__PURE__ */ Symbol.for("Symbol." + name);
7
+ var __typeError = (msg) => {
8
+ throw TypeError(msg);
9
+ };
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
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
+ };
64
+ var QueuedClientInteraction_exports = {};
65
+ __export(QueuedClientInteraction_exports, {
66
+ QueuedClientInteraction: () => QueuedClientInteraction
67
+ });
68
+ module.exports = __toCommonJS(QueuedClientInteraction_exports);
69
+ var import_peer = require("#peer/index.js");
70
+ var import_ClientInteraction = require("./ClientInteraction.js");
71
+ /**
72
+ * @license
73
+ * Copyright 2022-2025 Matter.js Authors
74
+ * SPDX-License-Identifier: Apache-2.0
75
+ */
76
+ class QueuedClientInteraction extends import_ClientInteraction.ClientInteraction {
77
+ #queue;
78
+ constructor(options) {
79
+ super(options);
80
+ this.#queue = options.queue;
81
+ }
82
+ get queue() {
83
+ if (this.#queue === void 0) {
84
+ this.#queue = this.environment.get(import_peer.InteractionQueue);
85
+ }
86
+ return this.#queue;
87
+ }
88
+ /**
89
+ * Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
90
+ * optimize the read.
91
+ * Therefore, the returned data only contains attributes that have changed since the last read or subscription.
92
+ * TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
93
+ */
94
+ async *read(request, session) {
95
+ var _stack = [];
96
+ try {
97
+ const _slot = __using(_stack, await this.queue.obtainSlot());
98
+ yield* super.read(request, session);
99
+ } catch (_) {
100
+ var _error = _, _hasError = true;
101
+ } finally {
102
+ __callDispose(_stack, _error, _hasError);
103
+ }
104
+ }
105
+ /**
106
+ * Subscribe to remote events and attributes as defined by {@link request}.
107
+ *
108
+ * matter.js updates local state
109
+ *
110
+ * By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
111
+ * automatically. So you normally do not need to subscribe manually.
112
+ *
113
+ * When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
114
+ * know when/if a subscription could be established. This class handles reconnections automatically.
115
+ * When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
116
+ * established; or an error is returned if this was not possible.
117
+ */
118
+ async subscribe(request, session) {
119
+ var _stack = [];
120
+ try {
121
+ const _slot = __using(_stack, await this.queue.obtainSlot());
122
+ return super.subscribe(request, session);
123
+ } catch (_) {
124
+ var _error = _, _hasError = true;
125
+ } finally {
126
+ __callDispose(_stack, _error, _hasError);
127
+ }
128
+ }
129
+ /**
130
+ * Write chosen attributes remotely to the node.
131
+ * The returned attribute writing status information is returned.
132
+ */
133
+ async write(request, session) {
134
+ var _stack = [];
135
+ try {
136
+ const _slot = __using(_stack, await this.queue.obtainSlot());
137
+ return super.write(request, session);
138
+ } catch (_) {
139
+ var _error = _, _hasError = true;
140
+ } finally {
141
+ __callDispose(_stack, _error, _hasError);
142
+ }
143
+ }
144
+ /**
145
+ * Invoke a command remotely on the node.
146
+ * The returned command response is returned as response chunks
147
+ */
148
+ async *invoke(request, session) {
149
+ var _stack = [];
150
+ try {
151
+ const _slot = __using(_stack, await this.queue.obtainSlot());
152
+ yield* super.invoke(request, session);
153
+ } catch (_) {
154
+ var _error = _, _hasError = true;
155
+ } finally {
156
+ __callDispose(_stack, _error, _hasError);
157
+ }
158
+ }
159
+ }
160
+ //# sourceMappingURL=QueuedClientInteraction.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/action/client/QueuedClientInteraction.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,kBAAiC;AACjC,+BAA4D;AAhB5D;AAAA;AAAA;AAAA;AAAA;AAuBO,MAAM,gCAEH,2CAA4B;AAAA,EAClC;AAAA,EAEA,YAAY,SAAyC;AACjD,UAAM,OAAO;AACb,SAAK,SAAS,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAc,QAAQ;AAClB,QAAI,KAAK,WAAW,QAAW;AAC3B,WAAK,SAAS,KAAK,YAAY,IAAI,4BAAgB;AAAA,IACvD;AACA,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAgB,KAAK,SAAqB,SAAgC;AACtE;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,KAAK,SAAS,OAAO;AAAA,aAFlC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,MAAe,UAAqC,SAAY,SAA2C;AACvG;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,UAAU,SAAS,OAAO;AAAA,aAFvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAe,MAA6B,SAAY,SAAoC;AACxF;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,MAAM,SAAS,OAAO;AAAA,aAFnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAgB,OAAO,SAAuB,SAAyC;AACnF;AAAA;AAAA,YAAM,QAAQ,sBAAM,KAAK,MAAM,WAAW;AAE1C,aAAO,MAAM,OAAO,SAAS,OAAO;AAAA,aAFpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAGJ;AACJ;",
5
+ "names": []
6
+ }
@@ -4,7 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./ClientInteraction.js";
7
+ export * from "./ClientRead.js";
8
+ export * from "./ClientRequest.js";
9
+ export * from "./ClientWrite.js";
7
10
  export * from "./InputChunk.js";
11
+ export * from "./QueuedClientInteraction.js";
8
12
  export * from "./ReadScope.js";
9
13
  export * from "./subscription/index.js";
10
14
  //# 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,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,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,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC"}
@@ -16,7 +16,11 @@ 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("./ClientRead.js"), module.exports);
20
+ __reExport(client_exports, require("./ClientRequest.js"), module.exports);
21
+ __reExport(client_exports, require("./ClientWrite.js"), module.exports);
19
22
  __reExport(client_exports, require("./InputChunk.js"), module.exports);
23
+ __reExport(client_exports, require("./QueuedClientInteraction.js"), module.exports);
20
24
  __reExport(client_exports, require("./ReadScope.js"), module.exports);
21
25
  __reExport(client_exports, require("./subscription/index.js"), module.exports);
22
26
  /**