@matter/node 0.16.0-alpha.0-20251205-dfb1e1556 → 0.16.0-alpha.0-20251207-37e501b18

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 (330) hide show
  1. package/dist/cjs/behavior/Behavior.d.ts +5 -1
  2. package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Behavior.js +10 -0
  4. package/dist/cjs/behavior/Behavior.js.map +1 -1
  5. package/dist/cjs/behavior/Events.d.ts +7 -7
  6. package/dist/cjs/behavior/Events.d.ts.map +1 -1
  7. package/dist/cjs/behavior/Events.js.map +1 -1
  8. package/dist/cjs/behavior/Transitions.d.ts +2 -3
  9. package/dist/cjs/behavior/Transitions.d.ts.map +1 -1
  10. package/dist/cjs/behavior/Transitions.js +1 -2
  11. package/dist/cjs/behavior/Transitions.js.map +1 -1
  12. package/dist/cjs/behavior/cluster/ClusterBehaviorType.js.map +1 -1
  13. package/dist/cjs/behavior/cluster/ClusterEvents.d.ts +1 -1
  14. package/dist/cjs/behavior/cluster/ClusterEvents.d.ts.map +1 -1
  15. package/dist/cjs/behavior/context/NodeActivity.d.ts +2 -4
  16. package/dist/cjs/behavior/context/NodeActivity.d.ts.map +1 -1
  17. package/dist/cjs/behavior/context/NodeActivity.js +3 -10
  18. package/dist/cjs/behavior/context/NodeActivity.js.map +1 -1
  19. package/dist/cjs/behavior/context/server/LocalActorContext.d.ts +2 -3
  20. package/dist/cjs/behavior/context/server/LocalActorContext.d.ts.map +1 -1
  21. package/dist/cjs/behavior/context/server/LocalActorContext.js +3 -3
  22. package/dist/cjs/behavior/context/server/LocalActorContext.js.map +1 -1
  23. package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts +2 -6
  24. package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
  25. package/dist/cjs/behavior/context/server/RemoteActorContext.js +20 -22
  26. package/dist/cjs/behavior/context/server/RemoteActorContext.js.map +1 -1
  27. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts +2 -1
  28. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  29. package/dist/cjs/behavior/internal/BehaviorBacking.js +3 -0
  30. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  31. package/dist/cjs/behavior/internal/Reactors.d.ts.map +1 -1
  32. package/dist/cjs/behavior/internal/Reactors.js +2 -1
  33. package/dist/cjs/behavior/internal/Reactors.js.map +1 -1
  34. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  35. package/dist/cjs/behavior/state/managed/Datasource.js +1 -1
  36. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  37. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  38. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +5 -11
  39. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  40. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts +3 -2
  41. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  42. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +3 -6
  43. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  44. package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
  45. package/dist/cjs/behavior/system/mqtt/MqttInterface.js +91 -30
  46. package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
  47. package/dist/cjs/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
  48. package/dist/cjs/behavior/system/network/NetworkRuntime.js +1 -3
  49. package/dist/cjs/behavior/system/network/NetworkRuntime.js.map +1 -1
  50. package/dist/cjs/behavior/system/network/ServerGroupNetworking.js +2 -2
  51. package/dist/cjs/behavior/system/network/ServerGroupNetworking.js.map +1 -1
  52. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  53. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +152 -13
  54. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +2 -2
  55. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts +3 -2
  56. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  57. package/dist/cjs/behavior/system/remote/RemoteInterface.js +69 -10
  58. package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +1 -1
  59. package/dist/cjs/behavior/system/remote/api/Api.d.ts.map +1 -1
  60. package/dist/cjs/behavior/system/remote/api/Api.js +4 -3
  61. package/dist/cjs/behavior/system/remote/api/Api.js.map +1 -1
  62. package/dist/cjs/behavior/system/sessions/SessionsBehavior.js +2 -2
  63. package/dist/cjs/behavior/system/sessions/SessionsBehavior.js.map +1 -1
  64. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  65. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +14 -11
  66. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  67. package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -1
  68. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js +11 -3
  69. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js.map +1 -1
  70. package/dist/cjs/behaviors/access-control/AccessControlServer.js +1 -1
  71. package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
  72. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  73. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +65 -7
  74. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  75. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +2 -2
  76. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  77. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
  78. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js +12 -8
  79. package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
  80. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +2 -3
  81. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
  82. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js +2 -10
  83. package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
  84. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +1 -1
  85. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  86. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js +1 -1
  87. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  88. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts +0 -1
  89. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  90. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +15 -14
  91. package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  92. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js +1 -1
  93. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js.map +1 -1
  94. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +1 -1
  95. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  96. package/dist/cjs/behaviors/window-covering/WindowCoveringServer.d.ts.map +1 -1
  97. package/dist/cjs/behaviors/window-covering/WindowCoveringServer.js +21 -8
  98. package/dist/cjs/behaviors/window-covering/WindowCoveringServer.js.map +1 -1
  99. package/dist/cjs/endpoint/Endpoint.d.ts +2 -1
  100. package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
  101. package/dist/cjs/endpoint/Endpoint.js +95 -8
  102. package/dist/cjs/endpoint/Endpoint.js.map +2 -2
  103. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  104. package/dist/cjs/endpoint/properties/Behaviors.js +11 -7
  105. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  106. package/dist/cjs/endpoint/properties/Commands.js +1 -1
  107. package/dist/cjs/endpoint/properties/Commands.js.map +1 -1
  108. package/dist/cjs/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
  109. package/dist/cjs/endpoint/properties/EndpointLifecycle.js +3 -0
  110. package/dist/cjs/endpoint/properties/EndpointLifecycle.js.map +1 -1
  111. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  112. package/dist/cjs/node/ClientNode.js +2 -0
  113. package/dist/cjs/node/ClientNode.js.map +1 -1
  114. package/dist/cjs/node/Node.d.ts +2 -2
  115. package/dist/cjs/node/Node.d.ts.map +1 -1
  116. package/dist/cjs/node/Node.js +2 -1
  117. package/dist/cjs/node/Node.js.map +1 -1
  118. package/dist/cjs/node/ServerNode.d.ts.map +1 -1
  119. package/dist/cjs/node/ServerNode.js +54 -1
  120. package/dist/cjs/node/ServerNode.js.map +1 -1
  121. package/dist/cjs/node/client/ClientCommandMethod.d.ts.map +1 -1
  122. package/dist/cjs/node/client/ClientCommandMethod.js +26 -29
  123. package/dist/cjs/node/client/ClientCommandMethod.js.map +1 -1
  124. package/dist/cjs/node/client/NodePeerAddressStore.d.ts +3 -3
  125. package/dist/cjs/node/client/NodePeerAddressStore.d.ts.map +1 -1
  126. package/dist/cjs/node/client/NodePeerAddressStore.js.map +1 -1
  127. package/dist/cjs/node/client/Peers.d.ts.map +1 -1
  128. package/dist/cjs/node/client/Peers.js +14 -0
  129. package/dist/cjs/node/client/Peers.js.map +1 -1
  130. package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -1
  131. package/dist/cjs/node/integration/ProtocolService.js +3 -2
  132. package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
  133. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  134. package/dist/cjs/node/server/InteractionServer.js +54 -49
  135. package/dist/cjs/node/server/InteractionServer.js.map +2 -2
  136. package/dist/cjs/node/server/ServerEnvironment.js +1 -1
  137. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  138. package/dist/cjs/node/server/ServerSubscription.d.ts +61 -10
  139. package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
  140. package/dist/cjs/node/server/ServerSubscription.js +316 -157
  141. package/dist/cjs/node/server/ServerSubscription.js.map +2 -2
  142. package/dist/esm/behavior/Behavior.d.ts +5 -1
  143. package/dist/esm/behavior/Behavior.d.ts.map +1 -1
  144. package/dist/esm/behavior/Behavior.js +10 -0
  145. package/dist/esm/behavior/Behavior.js.map +1 -1
  146. package/dist/esm/behavior/Events.d.ts +7 -7
  147. package/dist/esm/behavior/Events.d.ts.map +1 -1
  148. package/dist/esm/behavior/Events.js.map +1 -1
  149. package/dist/esm/behavior/Transitions.d.ts +2 -3
  150. package/dist/esm/behavior/Transitions.d.ts.map +1 -1
  151. package/dist/esm/behavior/Transitions.js +1 -2
  152. package/dist/esm/behavior/Transitions.js.map +1 -1
  153. package/dist/esm/behavior/cluster/ClusterBehaviorType.js.map +1 -1
  154. package/dist/esm/behavior/cluster/ClusterEvents.d.ts +1 -1
  155. package/dist/esm/behavior/cluster/ClusterEvents.d.ts.map +1 -1
  156. package/dist/esm/behavior/context/NodeActivity.d.ts +2 -4
  157. package/dist/esm/behavior/context/NodeActivity.d.ts.map +1 -1
  158. package/dist/esm/behavior/context/NodeActivity.js +4 -11
  159. package/dist/esm/behavior/context/NodeActivity.js.map +1 -1
  160. package/dist/esm/behavior/context/server/LocalActorContext.d.ts +2 -3
  161. package/dist/esm/behavior/context/server/LocalActorContext.d.ts.map +1 -1
  162. package/dist/esm/behavior/context/server/LocalActorContext.js +5 -5
  163. package/dist/esm/behavior/context/server/LocalActorContext.js.map +1 -1
  164. package/dist/esm/behavior/context/server/RemoteActorContext.d.ts +2 -6
  165. package/dist/esm/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
  166. package/dist/esm/behavior/context/server/RemoteActorContext.js +27 -24
  167. package/dist/esm/behavior/context/server/RemoteActorContext.js.map +1 -1
  168. package/dist/esm/behavior/internal/BehaviorBacking.d.ts +2 -1
  169. package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  170. package/dist/esm/behavior/internal/BehaviorBacking.js +4 -0
  171. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  172. package/dist/esm/behavior/internal/Reactors.d.ts.map +1 -1
  173. package/dist/esm/behavior/internal/Reactors.js +2 -1
  174. package/dist/esm/behavior/internal/Reactors.js.map +1 -1
  175. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  176. package/dist/esm/behavior/state/managed/Datasource.js +2 -1
  177. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  178. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  179. package/dist/esm/behavior/system/commissioning/CommissioningClient.js +6 -13
  180. package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  181. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts +3 -2
  182. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  183. package/dist/esm/behavior/system/commissioning/CommissioningServer.js +3 -7
  184. package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  185. package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
  186. package/dist/esm/behavior/system/mqtt/MqttInterface.js +91 -30
  187. package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
  188. package/dist/esm/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
  189. package/dist/esm/behavior/system/network/NetworkRuntime.js +1 -3
  190. package/dist/esm/behavior/system/network/NetworkRuntime.js.map +1 -1
  191. package/dist/esm/behavior/system/network/ServerGroupNetworking.js +2 -2
  192. package/dist/esm/behavior/system/network/ServerGroupNetworking.js.map +1 -1
  193. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  194. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +152 -14
  195. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +2 -2
  196. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts +3 -2
  197. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
  198. package/dist/esm/behavior/system/remote/RemoteInterface.js +76 -11
  199. package/dist/esm/behavior/system/remote/RemoteInterface.js.map +1 -1
  200. package/dist/esm/behavior/system/remote/api/Api.d.ts.map +1 -1
  201. package/dist/esm/behavior/system/remote/api/Api.js +4 -3
  202. package/dist/esm/behavior/system/remote/api/Api.js.map +1 -1
  203. package/dist/esm/behavior/system/sessions/SessionsBehavior.js +2 -2
  204. package/dist/esm/behavior/system/sessions/SessionsBehavior.js.map +1 -1
  205. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  206. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +17 -14
  207. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  208. package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -1
  209. package/dist/esm/behavior/system/websocket/WebSocketInterface.js +11 -3
  210. package/dist/esm/behavior/system/websocket/WebSocketInterface.js.map +1 -1
  211. package/dist/esm/behaviors/access-control/AccessControlServer.js +1 -1
  212. package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
  213. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  214. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +66 -8
  215. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  216. package/dist/esm/behaviors/basic-information/BasicInformationServer.js +2 -2
  217. package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  218. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
  219. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js +13 -9
  220. package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
  221. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +2 -3
  222. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
  223. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js +2 -10
  224. package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
  225. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +1 -1
  226. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  227. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js +1 -1
  228. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  229. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts +0 -1
  230. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
  231. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +15 -15
  232. package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
  233. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js +1 -1
  234. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js.map +1 -1
  235. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +1 -1
  236. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  237. package/dist/esm/behaviors/window-covering/WindowCoveringServer.d.ts.map +1 -1
  238. package/dist/esm/behaviors/window-covering/WindowCoveringServer.js +22 -9
  239. package/dist/esm/behaviors/window-covering/WindowCoveringServer.js.map +1 -1
  240. package/dist/esm/endpoint/Endpoint.d.ts +2 -1
  241. package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
  242. package/dist/esm/endpoint/Endpoint.js +96 -8
  243. package/dist/esm/endpoint/Endpoint.js.map +2 -2
  244. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  245. package/dist/esm/endpoint/properties/Behaviors.js +11 -7
  246. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  247. package/dist/esm/endpoint/properties/Commands.js +1 -1
  248. package/dist/esm/endpoint/properties/Commands.js.map +1 -1
  249. package/dist/esm/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
  250. package/dist/esm/endpoint/properties/EndpointLifecycle.js +3 -0
  251. package/dist/esm/endpoint/properties/EndpointLifecycle.js.map +1 -1
  252. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  253. package/dist/esm/node/ClientNode.js +2 -0
  254. package/dist/esm/node/ClientNode.js.map +1 -1
  255. package/dist/esm/node/Node.d.ts +2 -2
  256. package/dist/esm/node/Node.d.ts.map +1 -1
  257. package/dist/esm/node/Node.js +4 -3
  258. package/dist/esm/node/Node.js.map +1 -1
  259. package/dist/esm/node/ServerNode.d.ts.map +1 -1
  260. package/dist/esm/node/ServerNode.js +54 -1
  261. package/dist/esm/node/ServerNode.js.map +1 -1
  262. package/dist/esm/node/client/ClientCommandMethod.d.ts.map +1 -1
  263. package/dist/esm/node/client/ClientCommandMethod.js +26 -29
  264. package/dist/esm/node/client/ClientCommandMethod.js.map +1 -1
  265. package/dist/esm/node/client/NodePeerAddressStore.d.ts +3 -3
  266. package/dist/esm/node/client/NodePeerAddressStore.d.ts.map +1 -1
  267. package/dist/esm/node/client/NodePeerAddressStore.js.map +1 -1
  268. package/dist/esm/node/client/Peers.d.ts.map +1 -1
  269. package/dist/esm/node/client/Peers.js +15 -1
  270. package/dist/esm/node/client/Peers.js.map +1 -1
  271. package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -1
  272. package/dist/esm/node/integration/ProtocolService.js +4 -2
  273. package/dist/esm/node/integration/ProtocolService.js.map +1 -1
  274. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  275. package/dist/esm/node/server/InteractionServer.js +58 -50
  276. package/dist/esm/node/server/InteractionServer.js.map +2 -2
  277. package/dist/esm/node/server/ServerEnvironment.js +1 -1
  278. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  279. package/dist/esm/node/server/ServerSubscription.d.ts +61 -10
  280. package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
  281. package/dist/esm/node/server/ServerSubscription.js +321 -159
  282. package/dist/esm/node/server/ServerSubscription.js.map +2 -2
  283. package/package.json +7 -7
  284. package/src/behavior/Behavior.ts +12 -0
  285. package/src/behavior/Events.ts +12 -8
  286. package/src/behavior/Transitions.ts +3 -3
  287. package/src/behavior/cluster/ClusterBehaviorType.ts +2 -2
  288. package/src/behavior/cluster/ClusterEvents.ts +1 -1
  289. package/src/behavior/context/NodeActivity.ts +4 -13
  290. package/src/behavior/context/server/LocalActorContext.ts +6 -8
  291. package/src/behavior/context/server/RemoteActorContext.ts +34 -33
  292. package/src/behavior/internal/BehaviorBacking.ts +5 -0
  293. package/src/behavior/internal/Reactors.ts +1 -0
  294. package/src/behavior/state/managed/Datasource.ts +2 -1
  295. package/src/behavior/system/commissioning/CommissioningClient.ts +6 -13
  296. package/src/behavior/system/commissioning/CommissioningServer.ts +6 -8
  297. package/src/behavior/system/mqtt/MqttInterface.ts +6 -2
  298. package/src/behavior/system/network/NetworkRuntime.ts +1 -3
  299. package/src/behavior/system/network/ServerGroupNetworking.ts +2 -2
  300. package/src/behavior/system/network/ServerNetworkRuntime.ts +49 -15
  301. package/src/behavior/system/remote/RemoteInterface.ts +22 -4
  302. package/src/behavior/system/remote/api/Api.ts +4 -3
  303. package/src/behavior/system/sessions/SessionsBehavior.ts +2 -2
  304. package/src/behavior/system/subscriptions/SubscriptionsServer.ts +15 -13
  305. package/src/behavior/system/websocket/WebSocketInterface.ts +2 -1
  306. package/src/behaviors/access-control/AccessControlServer.ts +1 -1
  307. package/src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts +14 -7
  308. package/src/behaviors/basic-information/BasicInformationServer.ts +2 -2
  309. package/src/behaviors/general-commissioning/GeneralCommissioningServer.ts +14 -9
  310. package/src/behaviors/general-commissioning/ServerNodeFailsafeContext.ts +3 -15
  311. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +1 -1
  312. package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +1 -1
  313. package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +22 -19
  314. package/src/behaviors/scenes-management/ScenesManagementServer.ts +1 -1
  315. package/src/behaviors/thermostat/AtomicWriteHandler.ts +1 -1
  316. package/src/behaviors/window-covering/WindowCoveringServer.ts +24 -9
  317. package/src/endpoint/Endpoint.ts +21 -4
  318. package/src/endpoint/properties/Behaviors.ts +11 -6
  319. package/src/endpoint/properties/Commands.ts +1 -1
  320. package/src/endpoint/properties/EndpointLifecycle.ts +4 -0
  321. package/src/node/ClientNode.ts +3 -0
  322. package/src/node/Node.ts +3 -2
  323. package/src/node/ServerNode.ts +1 -0
  324. package/src/node/client/ClientCommandMethod.ts +31 -38
  325. package/src/node/client/NodePeerAddressStore.ts +3 -3
  326. package/src/node/client/Peers.ts +19 -1
  327. package/src/node/integration/ProtocolService.ts +4 -2
  328. package/src/node/server/InteractionServer.ts +62 -51
  329. package/src/node/server/ServerEnvironment.ts +1 -1
  330. package/src/node/server/ServerSubscription.ts +225 -153
@@ -12,6 +12,7 @@ import {
12
12
  Diagnostic,
13
13
  Duration,
14
14
  InternalError,
15
+ Lifetime,
15
16
  Logger,
16
17
  MatterError,
17
18
  MaybePromise,
@@ -28,6 +29,7 @@ import {
28
29
  InteractionRecipient,
29
30
  InteractionServerMessenger,
30
31
  InvokeRequest,
32
+ Mark,
31
33
  Message,
32
34
  MessageExchange,
33
35
  MessageType,
@@ -35,9 +37,11 @@ import {
35
37
  PeerAddress,
36
38
  ProtocolHandler,
37
39
  ReadRequest,
40
+ Session,
38
41
  SessionManager,
39
42
  SessionType,
40
43
  SubscribeRequest,
44
+ Subscription,
41
45
  TimedRequest,
42
46
  WriteRequest,
43
47
  WriteResponse,
@@ -118,6 +122,7 @@ export interface InteractionContext {
118
122
  * Translates interactions from the Matter protocol to matter.js APIs.
119
123
  */
120
124
  export class InteractionServer implements ProtocolHandler, InteractionRecipient {
125
+ readonly #lifetime: Lifetime;
121
126
  readonly id = INTERACTION_PROTOCOL_ID;
122
127
  readonly requiresSecureSession = true;
123
128
  #context: InteractionContext;
@@ -134,6 +139,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
134
139
  #serverInteraction: OnlineServerInteraction;
135
140
 
136
141
  constructor(node: ServerNode, sessions: SessionManager) {
142
+ this.#lifetime = node.construction.join("interaction server");
143
+
137
144
  this.#nextSubscriptionId = node.env.get(Crypto).randomUint32;
138
145
 
139
146
  this.#context = {
@@ -217,7 +224,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
217
224
 
218
225
  #prepareOnlineContext(
219
226
  exchange: MessageExchange,
220
- message: Message,
227
+ message?: Message,
221
228
  fabricFiltered?: boolean,
222
229
  timed = false,
223
230
  ): RemoteActorContext.Options {
@@ -259,7 +266,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
259
266
  } = readRequest;
260
267
 
261
268
  logger.debug(() => [
262
- "Read «",
269
+ "Read",
270
+ Mark.INBOUND,
263
271
  exchange.via,
264
272
  Diagnostic.asFlags({ fabricFiltered: isFabricFiltered }),
265
273
  Diagnostic.dict({
@@ -312,7 +320,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
312
320
  const sessionType = message.packetHeader.sessionType;
313
321
 
314
322
  logger.info(() => [
315
- "Write «",
323
+ "Write",
324
+ Mark.INBOUND,
316
325
  exchange.via,
317
326
  Diagnostic.asFlags({ suppressResponse, moreChunkedMessages }),
318
327
  Diagnostic.weak(writeRequests.map(req => this.#node.protocol.inspectPath(req.path)).join(", ")),
@@ -410,7 +419,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
410
419
  } = request;
411
420
 
412
421
  logger.info(() => [
413
- "Subscribe «",
422
+ "Subscribe",
423
+ Mark.INBOUND,
414
424
  exchange.via,
415
425
  Diagnostic.asFlags({ fabricFiltered: isFabricFiltered, keepSubscriptions }),
416
426
  Diagnostic.dict({
@@ -437,10 +447,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
437
447
  const fabric = session.fabric;
438
448
 
439
449
  if (fabric !== undefined && !keepSubscriptions) {
440
- const clearedCount = await this.#context.sessions.clearSubscriptionsForNode(
441
- fabric.addressOf(session.peerNodeId),
442
- true,
443
- );
450
+ let clearedCount = 0;
451
+ for (const session of this.#context.sessions.sessions) {
452
+ for (const subscription of session.subscriptions) {
453
+ await subscription.handlePeerCancel();
454
+ }
455
+ clearedCount++;
456
+ }
444
457
  if (clearedCount > 0) {
445
458
  logger.debug(
446
459
  `Cleared ${clearedCount} subscriptions for Subscriber node ${session.peerNodeId} because keepSubscriptions=false`,
@@ -456,7 +469,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
456
469
  }
457
470
 
458
471
  logger.debug(() => [
459
- "Subscribe request details «",
472
+ "Subscribe request details",
473
+ Mark.INBOUND,
460
474
  exchange.via,
461
475
  Diagnostic.dict({
462
476
  attributes: attributeRequests?.length
@@ -518,14 +532,14 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
518
532
  );
519
533
  } catch (error) {
520
534
  logger.error(
521
- `Subscription ${subscriptionId} for Session ${session.id}: Error while sending initial data reports:`,
535
+ `Subscription ${Subscription.idStrOf(subscriptionId)} for session ${session.via}: Error while sending initial data reports:`,
522
536
  error instanceof MatterError ? error.message : error,
523
537
  );
524
538
  if (error instanceof StatusResponseError && !(error instanceof ReceivedStatusResponseError)) {
525
539
  logger.info(
526
540
  "Status",
527
541
  Diagnostic.strong(`${Status[error.code]}(${error.code})`),
528
- "»",
542
+ Mark.OUTBOUND,
529
543
  exchange.via,
530
544
  "Error:",
531
545
  Diagnostic.errorMessage(error),
@@ -552,8 +566,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
552
566
  }),
553
567
  {
554
568
  logContext: {
555
- subId: subscriptionId,
556
- maxInterval,
569
+ ...Subscription.diagnosticOf(subscriptionId),
570
+ maxInterval: Duration.format(maxInterval),
557
571
  },
558
572
  },
559
573
  );
@@ -562,17 +576,16 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
562
576
  subscription.activate();
563
577
  }
564
578
 
579
+ #initiateSubscriptionExchange(addressOrSession: PeerAddress | Session, protocolId: number) {
580
+ if (addressOrSession instanceof Session) {
581
+ return this.#context.exchangeManager.initiateExchangeForSession(addressOrSession, protocolId);
582
+ }
583
+ return this.#context.exchangeManager.initiateExchange(addressOrSession, protocolId);
584
+ }
585
+
565
586
  async #establishSubscription(
566
587
  id: number,
567
- {
568
- minIntervalFloorSeconds,
569
- maxIntervalCeilingSeconds,
570
- attributeRequests,
571
- dataVersionFilters,
572
- eventRequests,
573
- eventFilters,
574
- isFabricFiltered,
575
- }: SubscribeRequest,
588
+ request: SubscribeRequest,
576
589
  messenger: InteractionServerMessenger,
577
590
  session: NodeSession,
578
591
  exchange: MessageExchange,
@@ -581,26 +594,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
581
594
  const context: ServerSubscriptionContext = {
582
595
  session,
583
596
  node: this.#node,
584
- initiateExchange: (address: PeerAddress, protocolId) =>
585
- this.#context.exchangeManager.initiateExchange(address, protocolId),
597
+ initiateExchange: (addressOrSession, protocolId) =>
598
+ this.#initiateSubscriptionExchange(addressOrSession, protocolId),
586
599
  };
587
600
 
588
601
  const subscription = new ServerSubscription({
589
602
  id,
590
603
  context,
591
- criteria: {
592
- attributeRequests,
593
- dataVersionFilters,
594
- eventRequests,
595
- eventFilters,
596
- isFabricFiltered,
597
- },
598
- minIntervalFloor: Seconds(minIntervalFloorSeconds),
599
- maxIntervalCeiling: Seconds(maxIntervalCeilingSeconds),
604
+ request,
600
605
  subscriptionOptions: this.#subscriptionConfig,
601
606
  });
602
607
 
603
- const readContext = this.#prepareOnlineContext(exchange, message, isFabricFiltered);
608
+ const readContext = this.#prepareOnlineContext(exchange, message, request.isFabricFiltered);
604
609
  try {
605
610
  // Send the initial data report to prime the subscription with initial data
606
611
  await subscription.sendInitialReport(messenger, readContext);
@@ -610,11 +615,12 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
610
615
  }
611
616
 
612
617
  logger.info(
613
- "Subscribe successful »",
618
+ "Subscribe successful",
619
+ Mark.OUTBOUND,
614
620
  exchange.via,
615
621
  Diagnostic.dict({
616
- subId: id,
617
- timing: `${Duration.format(Seconds(minIntervalFloorSeconds))} - ${Duration.format(Seconds(maxIntervalCeilingSeconds))} => ${Duration.format(subscription.maxInterval)}`,
622
+ ...Subscription.diagnosticOf(subscription),
623
+ timing: `${Duration.format(subscription.minIntervalFloor)} - ${Duration.format(subscription.maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
618
624
  sendInterval: Duration.format(subscription.sendInterval),
619
625
  }),
620
626
  );
@@ -636,13 +642,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
636
642
  session: NodeSession,
637
643
  ) {
638
644
  const exchange = this.#context.exchangeManager.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
639
- const message = {} as Message;
640
645
 
641
646
  logger.info(
642
- `Reestablish subscription »`,
647
+ `Reestablish subscription`,
648
+ Mark.OUTBOUND,
643
649
  exchange.via,
644
650
  Diagnostic.dict({
645
- subId: subscriptionId,
651
+ ...Subscription.diagnosticOf(subscriptionId),
646
652
  isFabricFiltered,
647
653
  maxInterval: Duration.format(maxInterval),
648
654
  sendInterval: Duration.format(sendInterval),
@@ -652,26 +658,26 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
652
658
  const context: ServerSubscriptionContext = {
653
659
  session,
654
660
  node: this.#node,
655
- initiateExchange: (address: PeerAddress, protocolId) =>
656
- this.#context.exchangeManager.initiateExchange(address, protocolId),
661
+ initiateExchange: (addressOrSession, protocolId) =>
662
+ this.#initiateSubscriptionExchange(addressOrSession, protocolId),
657
663
  };
658
664
 
659
665
  const subscription = new ServerSubscription({
660
666
  id: subscriptionId,
661
667
  context,
662
- minIntervalFloor,
663
- maxIntervalCeiling,
664
- criteria: {
668
+ request: {
665
669
  attributeRequests,
666
670
  eventRequests,
667
671
  isFabricFiltered,
672
+ minIntervalFloorSeconds: minIntervalFloor,
673
+ maxIntervalCeilingSeconds: maxIntervalCeiling,
668
674
  },
669
675
  subscriptionOptions: this.#subscriptionConfig,
670
676
  useAsMaxInterval: maxInterval,
671
677
  useAsSendInterval: sendInterval,
672
678
  });
673
679
 
674
- const readContext = this.#prepareOnlineContext(exchange, message, isFabricFiltered);
680
+ const readContext = this.#prepareOnlineContext(exchange, undefined, isFabricFiltered);
675
681
  try {
676
682
  // Send initial data report to prime the subscription with initial data
677
683
  await subscription.sendInitialReport(
@@ -682,10 +688,11 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
682
688
  subscription.activate();
683
689
 
684
690
  logger.info(
685
- `Subscription successfully reestablished »`,
691
+ `Subscription successfully reestablished`,
692
+ Mark.OUTBOUND,
686
693
  exchange.via,
687
694
  Diagnostic.dict({
688
- subId: subscriptionId,
695
+ ...Subscription.diagnosticOf(subscriptionId),
689
696
  timing: `${Duration.format(minIntervalFloor)} - ${Duration.format(maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
690
697
  sendInterval: Duration.format(subscription.sendInterval),
691
698
  }),
@@ -705,7 +712,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
705
712
  ): Promise<void> {
706
713
  const { invokeRequests, timedRequest, suppressResponse, interactionModelRevision } = request;
707
714
  logger.info(() => [
708
- "Invoke «",
715
+ "Invoke",
716
+ Mark.INBOUND,
709
717
  exchange.via,
710
718
  Diagnostic.asFlags({ suppressResponse, timedRequest }),
711
719
  Diagnostic.dict({
@@ -794,7 +802,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
794
802
  if (invokeResponseMessage.invokeResponses.length > 0) {
795
803
  if (invokeRequests.length > 1) {
796
804
  logger.debug(
797
- `${lastMessageProcessed ? "Final " : ""}Invoke response »`,
805
+ `${lastMessageProcessed ? "Final " : ""}Invoke response`,
806
+ Mark.OUTBOUND,
798
807
  Diagnostic.dict({ commands: invokeResponseMessage.invokeResponses.length }),
799
808
  );
800
809
  }
@@ -863,7 +872,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
863
872
  const interval = Millis(timeout);
864
873
 
865
874
  logger.debug(() => [
866
- "Timed request «",
875
+ "Timed request",
876
+ Mark.INBOUND,
867
877
  exchange.via,
868
878
  Diagnostic.dict({
869
879
  interval: Duration.format(interval),
@@ -881,5 +891,6 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
881
891
 
882
892
  async close() {
883
893
  this.#isClosing = true;
894
+ this.#lifetime[Symbol.dispose]();
884
895
  }
885
896
  }
@@ -42,7 +42,7 @@ export namespace ServerEnvironment {
42
42
  // Ensure these are fully initialized
43
43
  const fabrics = await env.load(FabricManager);
44
44
 
45
- fabrics.events.deleted.on(async () => {
45
+ fabrics.events.deleting.on(async () => {
46
46
  const fabricIndices = fabrics.fabrics.map(fabric => fabric.fabricIndex);
47
47
  if (fabricIndices.length > 0) {
48
48
  await limitNodeDataToAllowedFabrics(node, fabricIndices);