@matter/node 0.16.0-alpha.0-20251004-92135c7df → 0.16.0-alpha.0-20251011-d8942d7d5

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 (584) hide show
  1. package/dist/cjs/behavior/Behavior.d.ts +4 -0
  2. package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Behavior.js +7 -1
  4. package/dist/cjs/behavior/Behavior.js.map +1 -1
  5. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  6. package/dist/cjs/behavior/internal/BehaviorBacking.js +67 -3
  7. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  8. package/dist/cjs/behavior/state/managed/Datasource.d.ts +4 -9
  9. package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
  10. package/dist/cjs/behavior/state/managed/Datasource.js +9 -12
  11. package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
  12. package/dist/cjs/behavior/state/managed/NameResolver.d.ts.map +1 -1
  13. package/dist/cjs/behavior/state/managed/NameResolver.js.map +1 -1
  14. package/dist/cjs/behavior/state/managed/values/ValueCaster.d.ts +3 -2
  15. package/dist/cjs/behavior/state/managed/values/ValueCaster.d.ts.map +1 -1
  16. package/dist/cjs/behavior/state/managed/values/ValueCaster.js +16 -3
  17. package/dist/cjs/behavior/state/managed/values/ValueCaster.js.map +1 -1
  18. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts +4 -4
  19. package/dist/cjs/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  20. package/dist/cjs/behavior/supervision/RootSupervisor.js +8 -10
  21. package/dist/cjs/behavior/supervision/RootSupervisor.js.map +1 -1
  22. package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +1 -1
  23. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +12 -5
  24. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  25. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +17 -1
  26. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  27. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  28. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +2 -1
  29. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  30. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts +7 -0
  31. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  32. package/dist/cjs/behavior/system/controller/ControllerBehavior.js +10 -4
  33. package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
  34. package/dist/cjs/behavior/system/http/HttpInterface.d.ts +36 -0
  35. package/dist/cjs/behavior/system/http/HttpInterface.d.ts.map +1 -0
  36. package/dist/cjs/behavior/system/http/HttpInterface.js +282 -0
  37. package/dist/cjs/behavior/system/http/HttpInterface.js.map +6 -0
  38. package/dist/cjs/behavior/system/http/HttpServer.d.ts +30 -0
  39. package/dist/cjs/behavior/system/http/HttpServer.d.ts.map +1 -0
  40. package/dist/cjs/behavior/system/http/HttpServer.js +51 -0
  41. package/dist/cjs/behavior/system/http/HttpServer.js.map +6 -0
  42. package/dist/cjs/behavior/system/http/index.d.ts +8 -0
  43. package/dist/cjs/behavior/system/http/index.d.ts.map +1 -0
  44. package/dist/cjs/behavior/system/http/index.js +25 -0
  45. package/dist/cjs/behavior/system/http/index.js.map +6 -0
  46. package/dist/cjs/behavior/system/index/IndexBehavior.d.ts +4 -4
  47. package/dist/cjs/behavior/system/index/IndexBehavior.d.ts.map +1 -1
  48. package/dist/cjs/behavior/system/index/IndexBehavior.js +9 -4
  49. package/dist/cjs/behavior/system/index/IndexBehavior.js.map +1 -1
  50. package/dist/cjs/behavior/system/index.d.ts +4 -0
  51. package/dist/cjs/behavior/system/index.d.ts.map +1 -1
  52. package/dist/cjs/behavior/system/index.js +4 -0
  53. package/dist/cjs/behavior/system/index.js.map +1 -1
  54. package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts +22 -0
  55. package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts.map +1 -0
  56. package/dist/cjs/behavior/system/mqtt/MqttInterface.js +351 -0
  57. package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +6 -0
  58. package/dist/cjs/behavior/system/mqtt/MqttServer.d.ts +36 -0
  59. package/dist/cjs/behavior/system/mqtt/MqttServer.d.ts.map +1 -0
  60. package/dist/cjs/behavior/system/mqtt/MqttServer.js +55 -0
  61. package/dist/cjs/behavior/system/mqtt/MqttServer.js.map +6 -0
  62. package/dist/cjs/behavior/system/mqtt/index.d.ts +8 -0
  63. package/dist/cjs/behavior/system/mqtt/index.d.ts.map +1 -0
  64. package/dist/cjs/behavior/system/mqtt/index.js +25 -0
  65. package/dist/cjs/behavior/system/mqtt/index.js.map +6 -0
  66. package/dist/cjs/behavior/system/network/NetworkClient.d.ts +32 -3
  67. package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
  68. package/dist/cjs/behavior/system/network/NetworkClient.js +100 -18
  69. package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
  70. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.d.ts +2 -1
  71. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
  72. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js +7 -5
  73. package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  74. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts +41 -0
  75. package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -0
  76. package/dist/cjs/behavior/system/remote/RemoteInterface.js +105 -0
  77. package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +6 -0
  78. package/dist/cjs/behavior/system/remote/RemoteServer.d.ts +61 -0
  79. package/dist/cjs/behavior/system/remote/RemoteServer.d.ts.map +1 -0
  80. package/dist/cjs/behavior/system/remote/RemoteServer.js +118 -0
  81. package/dist/cjs/behavior/system/remote/RemoteServer.js.map +6 -0
  82. package/dist/cjs/behavior/system/remote/api/Api.d.ts +36 -0
  83. package/dist/cjs/behavior/system/remote/api/Api.d.ts.map +1 -0
  84. package/dist/cjs/behavior/system/remote/api/Api.js +156 -0
  85. package/dist/cjs/behavior/system/remote/api/Api.js.map +6 -0
  86. package/dist/cjs/behavior/system/remote/api/ApiPath.d.ts +32 -0
  87. package/dist/cjs/behavior/system/remote/api/ApiPath.d.ts.map +1 -0
  88. package/dist/cjs/behavior/system/remote/api/ApiPath.js +101 -0
  89. package/dist/cjs/behavior/system/remote/api/ApiPath.js.map +6 -0
  90. package/dist/cjs/behavior/system/remote/api/ApiResource.d.ts +102 -0
  91. package/dist/cjs/behavior/system/remote/api/ApiResource.d.ts.map +1 -0
  92. package/dist/cjs/behavior/system/remote/api/ApiResource.js +123 -0
  93. package/dist/cjs/behavior/system/remote/api/ApiResource.js.map +6 -0
  94. package/dist/cjs/behavior/system/remote/api/Envelope.d.ts +53 -0
  95. package/dist/cjs/behavior/system/remote/api/Envelope.d.ts.map +1 -0
  96. package/dist/cjs/behavior/system/remote/api/Envelope.js +107 -0
  97. package/dist/cjs/behavior/system/remote/api/Envelope.js.map +6 -0
  98. package/dist/cjs/behavior/system/remote/api/LocalResponse.d.ts +28 -0
  99. package/dist/cjs/behavior/system/remote/api/LocalResponse.d.ts.map +1 -0
  100. package/dist/cjs/behavior/system/remote/api/LocalResponse.js +22 -0
  101. package/dist/cjs/behavior/system/remote/api/LocalResponse.js.map +6 -0
  102. package/dist/cjs/behavior/system/remote/api/RemoteRequest.d.ts +43 -0
  103. package/dist/cjs/behavior/system/remote/api/RemoteRequest.d.ts.map +1 -0
  104. package/dist/cjs/behavior/system/remote/api/RemoteRequest.js +55 -0
  105. package/dist/cjs/behavior/system/remote/api/RemoteRequest.js.map +6 -0
  106. package/dist/cjs/behavior/system/remote/api/RemoteResponse.d.ts +37 -0
  107. package/dist/cjs/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
  108. package/dist/cjs/behavior/system/remote/api/RemoteResponse.js +52 -0
  109. package/dist/cjs/behavior/system/remote/api/RemoteResponse.js.map +6 -0
  110. package/dist/cjs/behavior/system/remote/api/index.d.ts +13 -0
  111. package/dist/cjs/behavior/system/remote/api/index.d.ts.map +1 -0
  112. package/dist/cjs/behavior/system/remote/api/index.js +30 -0
  113. package/dist/cjs/behavior/system/remote/api/index.js.map +6 -0
  114. package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.d.ts +22 -0
  115. package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.d.ts.map +1 -0
  116. package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.js +69 -0
  117. package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.js.map +6 -0
  118. package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.d.ts +25 -0
  119. package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.d.ts.map +1 -0
  120. package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.js +76 -0
  121. package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.js.map +6 -0
  122. package/dist/cjs/behavior/system/remote/api/resources/CommandResource.d.ts +26 -0
  123. package/dist/cjs/behavior/system/remote/api/resources/CommandResource.d.ts.map +1 -0
  124. package/dist/cjs/behavior/system/remote/api/resources/CommandResource.js +83 -0
  125. package/dist/cjs/behavior/system/remote/api/resources/CommandResource.js.map +6 -0
  126. package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.d.ts +22 -0
  127. package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.d.ts.map +1 -0
  128. package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.js +52 -0
  129. package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.js.map +6 -0
  130. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts +34 -0
  131. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -0
  132. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.js +78 -0
  133. package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.js.map +6 -0
  134. package/dist/cjs/behavior/system/remote/api/resources/NodeResource.d.ts +20 -0
  135. package/dist/cjs/behavior/system/remote/api/resources/NodeResource.d.ts.map +1 -0
  136. package/dist/cjs/behavior/system/remote/api/resources/NodeResource.js +74 -0
  137. package/dist/cjs/behavior/system/remote/api/resources/NodeResource.js.map +6 -0
  138. package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.d.ts +28 -0
  139. package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.d.ts.map +1 -0
  140. package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.js +123 -0
  141. package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.js.map +6 -0
  142. package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.d.ts +22 -0
  143. package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.d.ts.map +1 -0
  144. package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.js +74 -0
  145. package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.js.map +6 -0
  146. package/dist/cjs/behavior/system/remote/api/resources/index.d.ts +13 -0
  147. package/dist/cjs/behavior/system/remote/api/resources/index.d.ts.map +1 -0
  148. package/dist/cjs/behavior/system/remote/api/resources/index.js +30 -0
  149. package/dist/cjs/behavior/system/remote/api/resources/index.js.map +6 -0
  150. package/dist/cjs/behavior/system/remote/index.d.ts +9 -0
  151. package/dist/cjs/behavior/system/remote/index.d.ts.map +1 -0
  152. package/dist/cjs/behavior/system/remote/index.js +26 -0
  153. package/dist/cjs/behavior/system/remote/index.js.map +6 -0
  154. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  155. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +2 -3
  156. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  157. package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts +16 -0
  158. package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -0
  159. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js +171 -0
  160. package/dist/cjs/behavior/system/websocket/WebSocketInterface.js.map +6 -0
  161. package/dist/cjs/behavior/system/websocket/WebSocketServer.d.ts +30 -0
  162. package/dist/cjs/behavior/system/websocket/WebSocketServer.d.ts.map +1 -0
  163. package/dist/cjs/behavior/system/websocket/WebSocketServer.js +51 -0
  164. package/dist/cjs/behavior/system/websocket/WebSocketServer.js.map +6 -0
  165. package/dist/cjs/behavior/system/websocket/index.d.ts +8 -0
  166. package/dist/cjs/behavior/system/websocket/index.d.ts.map +1 -0
  167. package/dist/cjs/behavior/system/websocket/index.js +25 -0
  168. package/dist/cjs/behavior/system/websocket/index.js.map +6 -0
  169. package/dist/cjs/endpoint/Agent.js +1 -1
  170. package/dist/cjs/endpoint/Agent.js.map +1 -1
  171. package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
  172. package/dist/cjs/endpoint/Endpoint.js +6 -4
  173. package/dist/cjs/endpoint/Endpoint.js.map +1 -1
  174. package/dist/cjs/endpoint/properties/Behaviors.d.ts +4 -0
  175. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  176. package/dist/cjs/endpoint/properties/Behaviors.js +11 -2
  177. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  178. package/dist/cjs/endpoint/properties/ClientNodeEndpoints.d.ts +20 -0
  179. package/dist/cjs/endpoint/properties/ClientNodeEndpoints.d.ts.map +1 -0
  180. package/dist/cjs/endpoint/properties/ClientNodeEndpoints.js +56 -0
  181. package/dist/cjs/endpoint/properties/ClientNodeEndpoints.js.map +6 -0
  182. package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts +4 -0
  183. package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
  184. package/dist/cjs/endpoint/properties/EndpointInitializer.js +6 -0
  185. package/dist/cjs/endpoint/properties/EndpointInitializer.js.map +1 -1
  186. package/dist/cjs/endpoint/properties/Endpoints.d.ts +1 -0
  187. package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -1
  188. package/dist/cjs/endpoint/properties/Endpoints.js +3 -0
  189. package/dist/cjs/endpoint/properties/Endpoints.js.map +1 -1
  190. package/dist/cjs/endpoint/type/EndpointType.d.ts +2 -0
  191. package/dist/cjs/endpoint/type/EndpointType.d.ts.map +1 -1
  192. package/dist/cjs/endpoint/type/EndpointType.js +5 -0
  193. package/dist/cjs/endpoint/type/EndpointType.js.map +2 -2
  194. package/dist/cjs/node/ClientNode.d.ts +4 -2
  195. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  196. package/dist/cjs/node/ClientNode.js +5 -1
  197. package/dist/cjs/node/ClientNode.js.map +1 -1
  198. package/dist/cjs/node/Node.js +1 -1
  199. package/dist/cjs/node/NodeLifecycle.d.ts +1 -1
  200. package/dist/cjs/node/NodeLifecycle.d.ts.map +1 -1
  201. package/dist/cjs/node/NodeLifecycle.js +1 -1
  202. package/dist/cjs/node/NodeLifecycle.js.map +1 -1
  203. package/dist/cjs/node/client/ClientEndpointInitializer.d.ts +2 -0
  204. package/dist/cjs/node/client/ClientEndpointInitializer.d.ts.map +1 -1
  205. package/dist/cjs/node/client/ClientEndpointInitializer.js +33 -0
  206. package/dist/cjs/node/client/ClientEndpointInitializer.js.map +1 -1
  207. package/dist/cjs/node/client/ClientEventEmitter.d.ts +3 -3
  208. package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -1
  209. package/dist/cjs/node/client/ClientNodeInteraction.d.ts +1 -0
  210. package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
  211. package/dist/cjs/node/client/ClientNodeInteraction.js +6 -0
  212. package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
  213. package/dist/cjs/node/client/ClientStructure.d.ts +2 -0
  214. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  215. package/dist/cjs/node/client/ClientStructure.js +18 -5
  216. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  217. package/dist/cjs/node/client/Peers.d.ts +6 -0
  218. package/dist/cjs/node/client/Peers.d.ts.map +1 -1
  219. package/dist/cjs/node/client/Peers.js +55 -3
  220. package/dist/cjs/node/client/Peers.js.map +2 -2
  221. package/dist/cjs/node/index.d.ts +1 -0
  222. package/dist/cjs/node/index.d.ts.map +1 -1
  223. package/dist/cjs/node/index.js +1 -0
  224. package/dist/cjs/node/index.js.map +1 -1
  225. package/dist/cjs/node/integration/ChangeNotificationService.d.ts +56 -0
  226. package/dist/cjs/node/integration/ChangeNotificationService.d.ts.map +1 -0
  227. package/dist/cjs/node/integration/ChangeNotificationService.js +93 -0
  228. package/dist/cjs/node/integration/ChangeNotificationService.js.map +6 -0
  229. package/dist/cjs/node/{server → integration}/ProtocolService.d.ts +15 -0
  230. package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -0
  231. package/dist/cjs/node/{server → integration}/ProtocolService.js +26 -51
  232. package/dist/cjs/node/integration/ProtocolService.js.map +6 -0
  233. package/dist/cjs/node/integration/StateStream.d.ts +87 -0
  234. package/dist/cjs/node/integration/StateStream.d.ts.map +1 -0
  235. package/dist/cjs/node/integration/StateStream.js +276 -0
  236. package/dist/cjs/node/integration/StateStream.js.map +6 -0
  237. package/dist/cjs/node/integration/index.d.ts +9 -0
  238. package/dist/cjs/node/integration/index.d.ts.map +1 -0
  239. package/dist/cjs/node/integration/index.js +26 -0
  240. package/dist/cjs/node/integration/index.js.map +6 -0
  241. package/dist/cjs/node/server/OnlineServerInteraction.d.ts +1 -0
  242. package/dist/cjs/node/server/OnlineServerInteraction.d.ts.map +1 -1
  243. package/dist/cjs/node/server/OnlineServerInteraction.js +4 -1
  244. package/dist/cjs/node/server/OnlineServerInteraction.js.map +1 -1
  245. package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
  246. package/dist/cjs/node/server/ServerEnvironment.js +6 -0
  247. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  248. package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
  249. package/dist/cjs/node/server/ServerSubscription.js +2 -2
  250. package/dist/cjs/node/server/index.d.ts +0 -1
  251. package/dist/cjs/node/server/index.d.ts.map +1 -1
  252. package/dist/cjs/node/server/index.js +0 -1
  253. package/dist/cjs/node/server/index.js.map +1 -1
  254. package/dist/cjs/storage/client/ClientNodeStores.d.ts.map +1 -1
  255. package/dist/cjs/storage/client/ClientNodeStores.js.map +1 -1
  256. package/dist/esm/behavior/Behavior.d.ts +4 -0
  257. package/dist/esm/behavior/Behavior.d.ts.map +1 -1
  258. package/dist/esm/behavior/Behavior.js +7 -1
  259. package/dist/esm/behavior/Behavior.js.map +1 -1
  260. package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  261. package/dist/esm/behavior/internal/BehaviorBacking.js +70 -4
  262. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  263. package/dist/esm/behavior/state/managed/Datasource.d.ts +4 -9
  264. package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
  265. package/dist/esm/behavior/state/managed/Datasource.js +9 -13
  266. package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
  267. package/dist/esm/behavior/state/managed/NameResolver.d.ts.map +1 -1
  268. package/dist/esm/behavior/state/managed/NameResolver.js.map +1 -1
  269. package/dist/esm/behavior/state/managed/values/ValueCaster.d.ts +3 -2
  270. package/dist/esm/behavior/state/managed/values/ValueCaster.d.ts.map +1 -1
  271. package/dist/esm/behavior/state/managed/values/ValueCaster.js +16 -3
  272. package/dist/esm/behavior/state/managed/values/ValueCaster.js.map +1 -1
  273. package/dist/esm/behavior/supervision/RootSupervisor.d.ts +4 -4
  274. package/dist/esm/behavior/supervision/RootSupervisor.d.ts.map +1 -1
  275. package/dist/esm/behavior/supervision/RootSupervisor.js +8 -11
  276. package/dist/esm/behavior/supervision/RootSupervisor.js.map +1 -1
  277. package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +1 -1
  278. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +12 -5
  279. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  280. package/dist/esm/behavior/system/commissioning/CommissioningClient.js +19 -1
  281. package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  282. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  283. package/dist/esm/behavior/system/commissioning/CommissioningServer.js +2 -1
  284. package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  285. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts +7 -0
  286. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  287. package/dist/esm/behavior/system/controller/ControllerBehavior.js +10 -5
  288. package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
  289. package/dist/esm/behavior/system/http/HttpInterface.d.ts +36 -0
  290. package/dist/esm/behavior/system/http/HttpInterface.d.ts.map +1 -0
  291. package/dist/esm/behavior/system/http/HttpInterface.js +273 -0
  292. package/dist/esm/behavior/system/http/HttpInterface.js.map +6 -0
  293. package/dist/esm/behavior/system/http/HttpServer.d.ts +30 -0
  294. package/dist/esm/behavior/system/http/HttpServer.d.ts.map +1 -0
  295. package/dist/esm/behavior/system/http/HttpServer.js +31 -0
  296. package/dist/esm/behavior/system/http/HttpServer.js.map +6 -0
  297. package/dist/esm/behavior/system/http/index.d.ts +8 -0
  298. package/dist/esm/behavior/system/http/index.d.ts.map +1 -0
  299. package/dist/esm/behavior/system/http/index.js +8 -0
  300. package/dist/esm/behavior/system/http/index.js.map +6 -0
  301. package/dist/esm/behavior/system/index/IndexBehavior.d.ts +4 -4
  302. package/dist/esm/behavior/system/index/IndexBehavior.d.ts.map +1 -1
  303. package/dist/esm/behavior/system/index/IndexBehavior.js +9 -4
  304. package/dist/esm/behavior/system/index/IndexBehavior.js.map +1 -1
  305. package/dist/esm/behavior/system/index.d.ts +4 -0
  306. package/dist/esm/behavior/system/index.d.ts.map +1 -1
  307. package/dist/esm/behavior/system/index.js +4 -0
  308. package/dist/esm/behavior/system/index.js.map +1 -1
  309. package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts +22 -0
  310. package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts.map +1 -0
  311. package/dist/esm/behavior/system/mqtt/MqttInterface.js +341 -0
  312. package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +6 -0
  313. package/dist/esm/behavior/system/mqtt/MqttServer.d.ts +36 -0
  314. package/dist/esm/behavior/system/mqtt/MqttServer.d.ts.map +1 -0
  315. package/dist/esm/behavior/system/mqtt/MqttServer.js +35 -0
  316. package/dist/esm/behavior/system/mqtt/MqttServer.js.map +6 -0
  317. package/dist/esm/behavior/system/mqtt/index.d.ts +8 -0
  318. package/dist/esm/behavior/system/mqtt/index.d.ts.map +1 -0
  319. package/dist/esm/behavior/system/mqtt/index.js +8 -0
  320. package/dist/esm/behavior/system/mqtt/index.js.map +6 -0
  321. package/dist/esm/behavior/system/network/NetworkClient.d.ts +32 -3
  322. package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
  323. package/dist/esm/behavior/system/network/NetworkClient.js +101 -19
  324. package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
  325. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.d.ts +2 -1
  326. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
  327. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js +8 -6
  328. package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
  329. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts +41 -0
  330. package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -0
  331. package/dist/esm/behavior/system/remote/RemoteInterface.js +85 -0
  332. package/dist/esm/behavior/system/remote/RemoteInterface.js.map +6 -0
  333. package/dist/esm/behavior/system/remote/RemoteServer.d.ts +61 -0
  334. package/dist/esm/behavior/system/remote/RemoteServer.d.ts.map +1 -0
  335. package/dist/esm/behavior/system/remote/RemoteServer.js +98 -0
  336. package/dist/esm/behavior/system/remote/RemoteServer.js.map +6 -0
  337. package/dist/esm/behavior/system/remote/api/Api.d.ts +36 -0
  338. package/dist/esm/behavior/system/remote/api/Api.d.ts.map +1 -0
  339. package/dist/esm/behavior/system/remote/api/Api.js +136 -0
  340. package/dist/esm/behavior/system/remote/api/Api.js.map +6 -0
  341. package/dist/esm/behavior/system/remote/api/ApiPath.d.ts +32 -0
  342. package/dist/esm/behavior/system/remote/api/ApiPath.d.ts.map +1 -0
  343. package/dist/esm/behavior/system/remote/api/ApiPath.js +81 -0
  344. package/dist/esm/behavior/system/remote/api/ApiPath.js.map +6 -0
  345. package/dist/esm/behavior/system/remote/api/ApiResource.d.ts +102 -0
  346. package/dist/esm/behavior/system/remote/api/ApiResource.d.ts.map +1 -0
  347. package/dist/esm/behavior/system/remote/api/ApiResource.js +103 -0
  348. package/dist/esm/behavior/system/remote/api/ApiResource.js.map +6 -0
  349. package/dist/esm/behavior/system/remote/api/Envelope.d.ts +53 -0
  350. package/dist/esm/behavior/system/remote/api/Envelope.d.ts.map +1 -0
  351. package/dist/esm/behavior/system/remote/api/Envelope.js +87 -0
  352. package/dist/esm/behavior/system/remote/api/Envelope.js.map +6 -0
  353. package/dist/esm/behavior/system/remote/api/LocalResponse.d.ts +28 -0
  354. package/dist/esm/behavior/system/remote/api/LocalResponse.d.ts.map +1 -0
  355. package/dist/esm/behavior/system/remote/api/LocalResponse.js +6 -0
  356. package/dist/esm/behavior/system/remote/api/LocalResponse.js.map +6 -0
  357. package/dist/esm/behavior/system/remote/api/RemoteRequest.d.ts +43 -0
  358. package/dist/esm/behavior/system/remote/api/RemoteRequest.d.ts.map +1 -0
  359. package/dist/esm/behavior/system/remote/api/RemoteRequest.js +35 -0
  360. package/dist/esm/behavior/system/remote/api/RemoteRequest.js.map +6 -0
  361. package/dist/esm/behavior/system/remote/api/RemoteResponse.d.ts +37 -0
  362. package/dist/esm/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
  363. package/dist/esm/behavior/system/remote/api/RemoteResponse.js +32 -0
  364. package/dist/esm/behavior/system/remote/api/RemoteResponse.js.map +6 -0
  365. package/dist/esm/behavior/system/remote/api/index.d.ts +13 -0
  366. package/dist/esm/behavior/system/remote/api/index.d.ts.map +1 -0
  367. package/dist/esm/behavior/system/remote/api/index.js +13 -0
  368. package/dist/esm/behavior/system/remote/api/index.js.map +6 -0
  369. package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.d.ts +22 -0
  370. package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.d.ts.map +1 -0
  371. package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.js +49 -0
  372. package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.js.map +6 -0
  373. package/dist/esm/behavior/system/remote/api/resources/ChangesResource.d.ts +25 -0
  374. package/dist/esm/behavior/system/remote/api/resources/ChangesResource.d.ts.map +1 -0
  375. package/dist/esm/behavior/system/remote/api/resources/ChangesResource.js +56 -0
  376. package/dist/esm/behavior/system/remote/api/resources/ChangesResource.js.map +6 -0
  377. package/dist/esm/behavior/system/remote/api/resources/CommandResource.d.ts +26 -0
  378. package/dist/esm/behavior/system/remote/api/resources/CommandResource.d.ts.map +1 -0
  379. package/dist/esm/behavior/system/remote/api/resources/CommandResource.js +63 -0
  380. package/dist/esm/behavior/system/remote/api/resources/CommandResource.js.map +6 -0
  381. package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.d.ts +22 -0
  382. package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.d.ts.map +1 -0
  383. package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.js +32 -0
  384. package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.js.map +6 -0
  385. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts +34 -0
  386. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -0
  387. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.js +58 -0
  388. package/dist/esm/behavior/system/remote/api/resources/EndpointResource.js.map +6 -0
  389. package/dist/esm/behavior/system/remote/api/resources/NodeResource.d.ts +20 -0
  390. package/dist/esm/behavior/system/remote/api/resources/NodeResource.d.ts.map +1 -0
  391. package/dist/esm/behavior/system/remote/api/resources/NodeResource.js +54 -0
  392. package/dist/esm/behavior/system/remote/api/resources/NodeResource.js.map +6 -0
  393. package/dist/esm/behavior/system/remote/api/resources/PropertyResource.d.ts +28 -0
  394. package/dist/esm/behavior/system/remote/api/resources/PropertyResource.d.ts.map +1 -0
  395. package/dist/esm/behavior/system/remote/api/resources/PropertyResource.js +103 -0
  396. package/dist/esm/behavior/system/remote/api/resources/PropertyResource.js.map +6 -0
  397. package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.d.ts +22 -0
  398. package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.d.ts.map +1 -0
  399. package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.js +54 -0
  400. package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.js.map +6 -0
  401. package/dist/esm/behavior/system/remote/api/resources/index.d.ts +13 -0
  402. package/dist/esm/behavior/system/remote/api/resources/index.d.ts.map +1 -0
  403. package/dist/esm/behavior/system/remote/api/resources/index.js +13 -0
  404. package/dist/esm/behavior/system/remote/api/resources/index.js.map +6 -0
  405. package/dist/esm/behavior/system/remote/index.d.ts +9 -0
  406. package/dist/esm/behavior/system/remote/index.d.ts.map +1 -0
  407. package/dist/esm/behavior/system/remote/index.js +9 -0
  408. package/dist/esm/behavior/system/remote/index.js.map +6 -0
  409. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  410. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +2 -3
  411. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  412. package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts +16 -0
  413. package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -0
  414. package/dist/esm/behavior/system/websocket/WebSocketInterface.js +151 -0
  415. package/dist/esm/behavior/system/websocket/WebSocketInterface.js.map +6 -0
  416. package/dist/esm/behavior/system/websocket/WebSocketServer.d.ts +30 -0
  417. package/dist/esm/behavior/system/websocket/WebSocketServer.d.ts.map +1 -0
  418. package/dist/esm/behavior/system/websocket/WebSocketServer.js +31 -0
  419. package/dist/esm/behavior/system/websocket/WebSocketServer.js.map +6 -0
  420. package/dist/esm/behavior/system/websocket/index.d.ts +8 -0
  421. package/dist/esm/behavior/system/websocket/index.d.ts.map +1 -0
  422. package/dist/esm/behavior/system/websocket/index.js +8 -0
  423. package/dist/esm/behavior/system/websocket/index.js.map +6 -0
  424. package/dist/esm/endpoint/Agent.js +1 -1
  425. package/dist/esm/endpoint/Agent.js.map +1 -1
  426. package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
  427. package/dist/esm/endpoint/Endpoint.js +7 -4
  428. package/dist/esm/endpoint/Endpoint.js.map +1 -1
  429. package/dist/esm/endpoint/properties/Behaviors.d.ts +4 -0
  430. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  431. package/dist/esm/endpoint/properties/Behaviors.js +11 -2
  432. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  433. package/dist/esm/endpoint/properties/ClientNodeEndpoints.d.ts +20 -0
  434. package/dist/esm/endpoint/properties/ClientNodeEndpoints.d.ts.map +1 -0
  435. package/dist/esm/endpoint/properties/ClientNodeEndpoints.js +36 -0
  436. package/dist/esm/endpoint/properties/ClientNodeEndpoints.js.map +6 -0
  437. package/dist/esm/endpoint/properties/EndpointInitializer.d.ts +4 -0
  438. package/dist/esm/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
  439. package/dist/esm/endpoint/properties/EndpointInitializer.js +6 -0
  440. package/dist/esm/endpoint/properties/EndpointInitializer.js.map +1 -1
  441. package/dist/esm/endpoint/properties/Endpoints.d.ts +1 -0
  442. package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -1
  443. package/dist/esm/endpoint/properties/Endpoints.js +3 -0
  444. package/dist/esm/endpoint/properties/Endpoints.js.map +1 -1
  445. package/dist/esm/endpoint/type/EndpointType.d.ts +2 -0
  446. package/dist/esm/endpoint/type/EndpointType.d.ts.map +1 -1
  447. package/dist/esm/endpoint/type/EndpointType.js +5 -0
  448. package/dist/esm/endpoint/type/EndpointType.js.map +2 -2
  449. package/dist/esm/node/ClientNode.d.ts +4 -2
  450. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  451. package/dist/esm/node/ClientNode.js +5 -1
  452. package/dist/esm/node/ClientNode.js.map +1 -1
  453. package/dist/esm/node/Node.js +1 -1
  454. package/dist/esm/node/NodeLifecycle.d.ts +1 -1
  455. package/dist/esm/node/NodeLifecycle.d.ts.map +1 -1
  456. package/dist/esm/node/NodeLifecycle.js +1 -1
  457. package/dist/esm/node/NodeLifecycle.js.map +1 -1
  458. package/dist/esm/node/client/ClientEndpointInitializer.d.ts +2 -0
  459. package/dist/esm/node/client/ClientEndpointInitializer.d.ts.map +1 -1
  460. package/dist/esm/node/client/ClientEndpointInitializer.js +33 -0
  461. package/dist/esm/node/client/ClientEndpointInitializer.js.map +1 -1
  462. package/dist/esm/node/client/ClientEventEmitter.d.ts +3 -3
  463. package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -1
  464. package/dist/esm/node/client/ClientNodeInteraction.d.ts +1 -0
  465. package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
  466. package/dist/esm/node/client/ClientNodeInteraction.js +6 -0
  467. package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
  468. package/dist/esm/node/client/ClientStructure.d.ts +2 -0
  469. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  470. package/dist/esm/node/client/ClientStructure.js +18 -5
  471. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  472. package/dist/esm/node/client/Peers.d.ts +6 -0
  473. package/dist/esm/node/client/Peers.d.ts.map +1 -1
  474. package/dist/esm/node/client/Peers.js +57 -5
  475. package/dist/esm/node/client/Peers.js.map +1 -1
  476. package/dist/esm/node/index.d.ts +1 -0
  477. package/dist/esm/node/index.d.ts.map +1 -1
  478. package/dist/esm/node/index.js +1 -0
  479. package/dist/esm/node/index.js.map +1 -1
  480. package/dist/esm/node/integration/ChangeNotificationService.d.ts +56 -0
  481. package/dist/esm/node/integration/ChangeNotificationService.d.ts.map +1 -0
  482. package/dist/esm/node/integration/ChangeNotificationService.js +73 -0
  483. package/dist/esm/node/integration/ChangeNotificationService.js.map +6 -0
  484. package/dist/esm/node/{server → integration}/ProtocolService.d.ts +15 -0
  485. package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -0
  486. package/dist/esm/node/{server → integration}/ProtocolService.js +26 -52
  487. package/dist/esm/node/integration/ProtocolService.js.map +6 -0
  488. package/dist/esm/node/integration/StateStream.d.ts +87 -0
  489. package/dist/esm/node/integration/StateStream.d.ts.map +1 -0
  490. package/dist/esm/node/integration/StateStream.js +256 -0
  491. package/dist/esm/node/integration/StateStream.js.map +6 -0
  492. package/dist/esm/node/integration/index.d.ts +9 -0
  493. package/dist/esm/node/integration/index.d.ts.map +1 -0
  494. package/dist/esm/node/integration/index.js +9 -0
  495. package/dist/esm/node/integration/index.js.map +6 -0
  496. package/dist/esm/node/server/OnlineServerInteraction.d.ts +1 -0
  497. package/dist/esm/node/server/OnlineServerInteraction.d.ts.map +1 -1
  498. package/dist/esm/node/server/OnlineServerInteraction.js +4 -1
  499. package/dist/esm/node/server/OnlineServerInteraction.js.map +1 -1
  500. package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
  501. package/dist/esm/node/server/ServerEnvironment.js +7 -1
  502. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  503. package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
  504. package/dist/esm/node/server/ServerSubscription.js +2 -2
  505. package/dist/esm/node/server/index.d.ts +0 -1
  506. package/dist/esm/node/server/index.d.ts.map +1 -1
  507. package/dist/esm/node/server/index.js +0 -1
  508. package/dist/esm/node/server/index.js.map +1 -1
  509. package/dist/esm/storage/client/ClientNodeStores.d.ts.map +1 -1
  510. package/dist/esm/storage/client/ClientNodeStores.js.map +1 -1
  511. package/package.json +7 -7
  512. package/src/behavior/Behavior.ts +8 -1
  513. package/src/behavior/internal/BehaviorBacking.ts +82 -2
  514. package/src/behavior/state/managed/Datasource.ts +20 -26
  515. package/src/behavior/state/managed/NameResolver.ts +1 -1
  516. package/src/behavior/state/managed/values/ValueCaster.ts +21 -5
  517. package/src/behavior/supervision/RootSupervisor.ts +16 -11
  518. package/src/behavior/supervision/ValueSupervisor.ts +1 -1
  519. package/src/behavior/system/commissioning/CommissioningClient.ts +34 -6
  520. package/src/behavior/system/commissioning/CommissioningServer.ts +2 -3
  521. package/src/behavior/system/controller/ControllerBehavior.ts +13 -7
  522. package/src/behavior/system/http/HttpInterface.ts +326 -0
  523. package/src/behavior/system/http/HttpServer.ts +32 -0
  524. package/src/behavior/system/http/index.ts +8 -0
  525. package/src/behavior/system/index/IndexBehavior.ts +14 -6
  526. package/src/behavior/system/index.ts +4 -0
  527. package/src/behavior/system/mqtt/MqttInterface.ts +414 -0
  528. package/src/behavior/system/mqtt/MqttServer.ts +38 -0
  529. package/src/behavior/system/mqtt/index.ts +8 -0
  530. package/src/behavior/system/network/NetworkClient.ts +124 -24
  531. package/src/behavior/system/product-description/ProductDescriptionServer.ts +7 -5
  532. package/src/behavior/system/remote/RemoteInterface.ts +119 -0
  533. package/src/behavior/system/remote/RemoteServer.ts +132 -0
  534. package/src/behavior/system/remote/api/Api.ts +179 -0
  535. package/src/behavior/system/remote/api/ApiPath.ts +101 -0
  536. package/src/behavior/system/remote/api/ApiResource.ts +169 -0
  537. package/src/behavior/system/remote/api/Envelope.ts +112 -0
  538. package/src/behavior/system/remote/api/LocalResponse.ts +37 -0
  539. package/src/behavior/system/remote/api/RemoteRequest.ts +88 -0
  540. package/src/behavior/system/remote/api/RemoteResponse.ts +70 -0
  541. package/src/behavior/system/remote/api/index.ts +13 -0
  542. package/src/behavior/system/remote/api/resources/BehaviorResource.ts +66 -0
  543. package/src/behavior/system/remote/api/resources/ChangesResource.ts +75 -0
  544. package/src/behavior/system/remote/api/resources/CommandResource.ts +91 -0
  545. package/src/behavior/system/remote/api/resources/EndpointContainerResource.ts +45 -0
  546. package/src/behavior/system/remote/api/resources/EndpointResource.ts +75 -0
  547. package/src/behavior/system/remote/api/resources/NodeResource.ts +71 -0
  548. package/src/behavior/system/remote/api/resources/PropertyResource.ts +124 -0
  549. package/src/behavior/system/remote/api/resources/ServerNodeResource.ts +63 -0
  550. package/src/behavior/system/remote/api/resources/index.ts +13 -0
  551. package/src/behavior/system/remote/index.ts +9 -0
  552. package/src/behavior/system/subscriptions/SubscriptionsServer.ts +2 -3
  553. package/src/behavior/system/websocket/WebSocketInterface.ts +127 -0
  554. package/src/behavior/system/websocket/WebSocketServer.ts +32 -0
  555. package/src/behavior/system/websocket/index.ts +8 -0
  556. package/src/endpoint/Agent.ts +1 -1
  557. package/src/endpoint/Endpoint.ts +10 -4
  558. package/src/endpoint/properties/Behaviors.ts +15 -2
  559. package/src/endpoint/properties/ClientNodeEndpoints.ts +38 -0
  560. package/src/endpoint/properties/EndpointInitializer.ts +7 -0
  561. package/src/endpoint/properties/Endpoints.ts +4 -0
  562. package/src/endpoint/type/EndpointType.ts +3 -0
  563. package/src/node/ClientNode.ts +6 -1
  564. package/src/node/Node.ts +1 -1
  565. package/src/node/NodeLifecycle.ts +1 -1
  566. package/src/node/client/ClientEndpointInitializer.ts +38 -0
  567. package/src/node/client/ClientEventEmitter.ts +5 -5
  568. package/src/node/client/ClientNodeInteraction.ts +7 -0
  569. package/src/node/client/ClientStructure.ts +30 -5
  570. package/src/node/client/Peers.ts +71 -5
  571. package/src/node/index.ts +1 -0
  572. package/src/node/integration/ChangeNotificationService.ts +122 -0
  573. package/src/node/{server → integration}/ProtocolService.ts +32 -74
  574. package/src/node/integration/StateStream.ts +474 -0
  575. package/src/node/integration/index.ts +9 -0
  576. package/src/node/server/OnlineServerInteraction.ts +5 -1
  577. package/src/node/server/ServerEnvironment.ts +8 -1
  578. package/src/node/server/ServerSubscription.ts +6 -6
  579. package/src/node/server/index.ts +0 -1
  580. package/src/storage/client/ClientNodeStores.ts +4 -0
  581. package/dist/cjs/node/server/ProtocolService.d.ts.map +0 -1
  582. package/dist/cjs/node/server/ProtocolService.js.map +0 -6
  583. package/dist/esm/node/server/ProtocolService.d.ts.map +0 -1
  584. package/dist/esm/node/server/ProtocolService.js.map +0 -6
@@ -41,6 +41,12 @@ export declare class Peers extends EndpointContainer<ClientNode> {
41
41
  get(id: number | string | PeerAddress): ClientNode | undefined;
42
42
  get owner(): ServerNode;
43
43
  add(node: ClientNode): void;
44
+ /**
45
+ * Get or create a client node for the given peer address.
46
+ * This is mainly used to communicate to other known nodes on the fabric without having a formal commissioning
47
+ * process.
48
+ */
49
+ forAddress(peerAddress: PeerAddress, options?: Omit<ClientNode.Options, "owner">): Promise<ClientNode>;
44
50
  close(): Promise<void>;
45
51
  }
46
52
  //# sourceMappingURL=Peers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;;gBAKxC,KAAK,EAAE,UAAU;IAa7B;;OAEG;IACH,UAAU;IAcV;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAe9C,IAAa,KAAK,IACQ,UAAU,CACnC;IAEQ,GAAG,CAAC,IAAI,EAAE,UAAU;IAMd,KAAK;CAgGvB"}
1
+ {"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAG9E,OAAO,EAAiB,WAAW,EAAoB,MAAM,WAAW,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;;gBAMxC,KAAK,EAAE,UAAU;IAe7B;;OAEG;IACH,UAAU;IAcV;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAe9C,IAAa,KAAK,IACQ,UAAU,CACnC;IAEQ,GAAG,CAAC,IAAI,EAAE,UAAU;IAM7B;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAM;IAuB3E,KAAK;CAiIvB"}
@@ -27,8 +27,10 @@ var import_ContinuousDiscovery = require("#behavior/system/controller/discovery/
27
27
  var import_InstanceDiscovery = require("#behavior/system/controller/discovery/InstanceDiscovery.js");
28
28
  var import_EndpointContainer = require("#endpoint/properties/EndpointContainer.js");
29
29
  var import_general = require("#general");
30
+ var import_node = require("#node/index.js");
30
31
  var import_protocol = require("#protocol");
31
32
  var import_ServerNodeStore = require("#storage/server/ServerNodeStore.js");
33
+ var import_protocol2 = require("@matter/protocol");
32
34
  var import_ClientNode = require("../ClientNode.js");
33
35
  var import_ClientNodeFactory = require("./ClientNodeFactory.js");
34
36
  var import_NodePeerAddressStore = require("./NodePeerAddressStore.js");
@@ -43,6 +45,7 @@ const EXPIRATION_INTERVAL = import_general.Minutes.one;
43
45
  class Peers extends import_EndpointContainer.EndpointContainer {
44
46
  #expirationInterval;
45
47
  #expirationWorker;
48
+ #subscriptionHandler;
46
49
  #closed = false;
47
50
  constructor(owner) {
48
51
  super(owner);
@@ -50,7 +53,8 @@ class Peers extends import_EndpointContainer.EndpointContainer {
50
53
  owner.env.set(import_ClientNodeFactory.ClientNodeFactory, new Factory(this));
51
54
  }
52
55
  this.owner.env.set(import_protocol.PeerAddressStore, new import_NodePeerAddressStore.NodePeerAddressStore(owner));
53
- this.added.on(this.#manageExpiration.bind(this));
56
+ owner.env.applyTo(import_node.InteractionServer, this.#configureInteractionServer.bind(this));
57
+ this.added.on(this.#handlePeerAdded.bind(this));
54
58
  this.deleted.on(this.#manageExpiration.bind(this));
55
59
  }
56
60
  /**
@@ -94,7 +98,7 @@ class Peers extends import_EndpointContainer.EndpointContainer {
94
98
  const address = (0, import_protocol.PeerAddress)(id);
95
99
  for (const node of this) {
96
100
  const nodeAddress = node.state.commissioning.peerAddress;
97
- if (nodeAddress && (0, import_protocol.PeerAddress)(nodeAddress) === address) {
101
+ if (nodeAddress && import_protocol.PeerAddress.is(nodeAddress, address)) {
98
102
  return node;
99
103
  }
100
104
  }
@@ -109,8 +113,30 @@ class Peers extends import_EndpointContainer.EndpointContainer {
109
113
  node.owner = this.owner;
110
114
  super.add(node);
111
115
  }
116
+ /**
117
+ * Get or create a client node for the given peer address.
118
+ * This is mainly used to communicate to other known nodes on the fabric without having a formal commissioning
119
+ * process.
120
+ */
121
+ async forAddress(peerAddress, options = {}) {
122
+ if (!this.owner.env.get(import_protocol.FabricManager).has(peerAddress)) {
123
+ throw new import_general.ImplementationError("Cannot register a peer address for a fabric we do not belong to");
124
+ }
125
+ let node = this.get(peerAddress);
126
+ if (!node) {
127
+ const factory = this.owner.env.get(import_ClientNodeFactory.ClientNodeFactory);
128
+ node = factory.create(options);
129
+ await node.construction;
130
+ this.add(node);
131
+ await node.set({
132
+ commissioning: { peerAddress: (0, import_protocol.PeerAddress)(peerAddress) }
133
+ });
134
+ }
135
+ return node;
136
+ }
112
137
  async close() {
113
138
  this.#closed = true;
139
+ await this.#subscriptionHandler?.close();
114
140
  this.#cancelExpiration();
115
141
  await this.#expirationWorker;
116
142
  await super.close();
@@ -121,8 +147,34 @@ class Peers extends import_EndpointContainer.EndpointContainer {
121
147
  this.#expirationInterval = void 0;
122
148
  }
123
149
  }
150
+ #handlePeerAdded() {
151
+ if (this.owner.env.has(import_node.InteractionServer)) {
152
+ this.#configureInteractionServer();
153
+ }
154
+ this.#manageExpiration();
155
+ }
156
+ /**
157
+ * If required, installs a listener in the environment's {@link InteractionServer} to handle subscription responses.
158
+ */
159
+ #configureInteractionServer() {
160
+ if (this.#closed || this.size > 0 || !this.owner.env.has(import_node.InteractionServer)) {
161
+ return;
162
+ }
163
+ const subscriptions = this.owner.env.get(import_protocol2.ClientSubscriptions);
164
+ const interactionServer = this.owner.env.get(import_node.InteractionServer);
165
+ if (!this.#subscriptionHandler) {
166
+ this.#subscriptionHandler = new import_protocol2.ClientSubscriptionHandler(subscriptions);
167
+ }
168
+ interactionServer.clientHandler = this.#subscriptionHandler;
169
+ }
170
+ /**
171
+ * Enables or disables the expiration timer that culls expired uncommissioned nodes.
172
+ */
124
173
  #manageExpiration() {
125
- if (this.#closed || this.#expirationWorker) {
174
+ if (this.#closed) {
175
+ return;
176
+ }
177
+ if (this.#expirationWorker) {
126
178
  return;
127
179
  }
128
180
  if (this.#expirationInterval) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/client/Peers.ts"],
4
- "mappings": "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",
5
- "names": ["freshestExp"]
4
+ "mappings": "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",
5
+ "names": ["import_protocol", "freshestExp"]
6
6
  }
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./client/index.js";
7
+ export * from "./integration/index.js";
7
8
  export * from "./Node.js";
8
9
  export * from "./NodeLifecycle.js";
9
10
  export * from "./server/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -16,6 +16,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
16
16
  var node_exports = {};
17
17
  module.exports = __toCommonJS(node_exports);
18
18
  __reExport(node_exports, require("./client/index.js"), module.exports);
19
+ __reExport(node_exports, require("./integration/index.js"), module.exports);
19
20
  __reExport(node_exports, require("./Node.js"), module.exports);
20
21
  __reExport(node_exports, require("./NodeLifecycle.js"), module.exports);
21
22
  __reExport(node_exports, require("./server/index.js"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/node/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,8BANd;AAOA,yBAAc,sBAPd;AAQA,yBAAc,+BARd;AASA,yBAAc,8BATd;AAUA,yBAAc,4BAVd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,8BANd;AAOA,yBAAc,mCAPd;AAQA,yBAAc,sBARd;AASA,yBAAc,+BATd;AAUA,yBAAc,8BAVd;AAWA,yBAAc,4BAXd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Behavior } from "#behavior/Behavior.js";
7
+ import type { BehaviorBacking } from "#behavior/internal/BehaviorBacking.js";
8
+ import type { Endpoint } from "#endpoint/Endpoint.js";
9
+ import { Observable } from "#general";
10
+ import type { ServerNode } from "#node/ServerNode.js";
11
+ /**
12
+ * High-level change notification service.
13
+ *
14
+ * This service provides an optimized path to detecting property changes for all endpoints associated with a node. This
15
+ * includes endpoints on peers.
16
+ */
17
+ export declare class ChangeNotificationService {
18
+ #private;
19
+ constructor(node: ServerNode);
20
+ /**
21
+ * Change event source.
22
+ */
23
+ get change(): Observable<[changes: ChangeNotificationService.Change], void>;
24
+ /**
25
+ * Invoked by the {@link BehaviorBacking} when state changes.
26
+ */
27
+ broadcastUpdate(backing: BehaviorBacking, properties: string[]): void;
28
+ close(): void;
29
+ }
30
+ export declare namespace ChangeNotificationService {
31
+ type Key = string | number;
32
+ /**
33
+ * Emits when state changes.
34
+ *
35
+ * If present, {@link properties} indicates the specific updated properties. Otherwise the recipient should
36
+ * consider all properties.
37
+ */
38
+ interface PropertyUpdate {
39
+ kind: "update";
40
+ endpoint: Endpoint;
41
+ behavior: Behavior.Type;
42
+ version: number;
43
+ properties?: string[];
44
+ }
45
+ /**
46
+ * Emits when endpoints/nodes are deleted.
47
+ *
48
+ * This indicates to the recipient to drop the associated data subtree.
49
+ */
50
+ interface EndpointDelete {
51
+ kind: "delete";
52
+ endpoint: Endpoint;
53
+ }
54
+ type Change = PropertyUpdate | EndpointDelete;
55
+ }
56
+ //# sourceMappingURL=ChangeNotificationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeNotificationService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ChangeNotificationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAiB,UAAU,EAAiB,MAAM,UAAU,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,qBAAa,yBAAyB;;gBAItB,IAAI,EAAE,UAAU;IAU5B;;OAEG;IACH,IAAI,MAAM,kEAET;IAED;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE;IAW9D,KAAK;CAoCR;AAED,yBAAiB,yBAAyB,CAAC;IACvC,KAAY,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;IAElC;;;;;OAKG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB;IAED;;;;OAIG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;KACtB;IAED,KAAY,MAAM,GAAG,cAAc,GAAG,cAAc,CAAC;CACxD"}
@@ -0,0 +1,93 @@
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var ChangeNotificationService_exports = {};
20
+ __export(ChangeNotificationService_exports, {
21
+ ChangeNotificationService: () => ChangeNotificationService
22
+ });
23
+ module.exports = __toCommonJS(ChangeNotificationService_exports);
24
+ var import_EndpointLifecycle = require("#endpoint/properties/EndpointLifecycle.js");
25
+ var import_general = require("#general");
26
+ /**
27
+ * @license
28
+ * Copyright 2022-2025 Matter.js Authors
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ class ChangeNotificationService {
32
+ #change = new import_general.Observable();
33
+ #observers = /* @__PURE__ */ new Map();
34
+ constructor(node) {
35
+ this.#beginNodeObservation(node);
36
+ if (node.lifecycle.isReady) {
37
+ this.#beginPeerObservation(node);
38
+ } else {
39
+ node.lifecycle.ready.once(() => this.#beginPeerObservation(node));
40
+ }
41
+ }
42
+ /**
43
+ * Change event source.
44
+ */
45
+ get change() {
46
+ return this.#change;
47
+ }
48
+ /**
49
+ * Invoked by the {@link BehaviorBacking} when state changes.
50
+ */
51
+ broadcastUpdate(backing, properties) {
52
+ const { endpoint, type: behavior } = backing;
53
+ this.#change.emit({
54
+ kind: "update",
55
+ endpoint,
56
+ behavior,
57
+ version: backing.datasource.version,
58
+ properties
59
+ });
60
+ }
61
+ close() {
62
+ for (const observers of this.#observers.values()) {
63
+ observers.close();
64
+ }
65
+ this.#observers.clear();
66
+ }
67
+ #beginNodeObservation(node) {
68
+ const observers = new import_general.ObserverGroup();
69
+ this.#observers.set(node, observers);
70
+ observers.on(node.lifecycle.changed, (type, endpoint) => {
71
+ switch (type) {
72
+ case import_EndpointLifecycle.EndpointLifecycle.Change.Destroyed:
73
+ this.#change.emit({
74
+ kind: "delete",
75
+ endpoint
76
+ });
77
+ if (endpoint == node) {
78
+ observers.close();
79
+ this.#observers.delete(node);
80
+ }
81
+ break;
82
+ }
83
+ });
84
+ }
85
+ #beginPeerObservation(node) {
86
+ const observers = this.#observers.get(node);
87
+ if (observers === void 0) {
88
+ throw new import_general.InternalError("Change notification initialization order is broken");
89
+ }
90
+ observers.on(node.peers.added, this.#beginNodeObservation.bind(this));
91
+ }
92
+ }
93
+ //# sourceMappingURL=ChangeNotificationService.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/node/integration/ChangeNotificationService.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,+BAAkC;AAClC,qBAAyD;AAVzD;AAAA;AAAA;AAAA;AAAA;AAoBO,MAAM,0BAA0B;AAAA,EACnC,UAAU,IAAI,0BAAwD;AAAA,EACtE,aAAa,oBAAI,IAAyB;AAAA,EAE1C,YAAY,MAAkB;AAC1B,SAAK,sBAAsB,IAAI;AAE/B,QAAI,KAAK,UAAU,SAAS;AACxB,WAAK,sBAAsB,IAAI;AAAA,IACnC,OAAO;AACH,WAAK,UAAU,MAAM,KAAK,MAAM,KAAK,sBAAsB,IAAI,CAAC;AAAA,IACpE;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,SAA0B,YAAsB;AAC5D,UAAM,EAAE,UAAU,MAAM,SAAS,IAAI;AACrC,SAAK,QAAQ,KAAK;AAAA,MACd,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,SAAS,QAAQ,WAAW;AAAA,MAC5B;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,QAAQ;AACJ,eAAW,aAAa,KAAK,WAAW,OAAO,GAAG;AAC9C,gBAAU,MAAM;AAAA,IACpB;AACA,SAAK,WAAW,MAAM;AAAA,EAC1B;AAAA,EAEA,sBAAsB,MAAY;AAC9B,UAAM,YAAY,IAAI,6BAAc;AACpC,SAAK,WAAW,IAAI,MAAM,SAAS;AAEnC,cAAU,GAAG,KAAK,UAAU,SAAS,CAAC,MAAM,aAAa;AACrD,cAAQ,MAAM;AAAA,QACV,KAAK,2CAAkB,OAAO;AAC1B,eAAK,QAAQ,KAAK;AAAA,YACd,MAAM;AAAA,YACN;AAAA,UACJ,CAAC;AACD,cAAI,YAAY,MAAM;AAClB,sBAAU,MAAM;AAChB,iBAAK,WAAW,OAAO,IAAI;AAAA,UAC/B;AACA;AAAA,MACR;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,sBAAsB,MAAkB;AACpC,UAAM,YAAY,KAAK,WAAW,IAAI,IAAI;AAE1C,QAAI,cAAc,QAAW;AACzB,YAAM,IAAI,6BAAc,oDAAoD;AAAA,IAChF;AAEA,cAAU,GAAG,KAAK,MAAM,OAAO,KAAK,sBAAsB,KAAK,IAAI,CAAC;AAAA,EACxE;AACJ;",
5
+ "names": []
6
+ }
@@ -17,8 +17,23 @@ import type { NodeProtocol } from "#protocol";
17
17
  export declare class ProtocolService {
18
18
  #private;
19
19
  constructor(node: Node);
20
+ /**
21
+ * Invoked by a backing when initialized.
22
+ */
20
23
  addCluster(backing: BehaviorBacking): void;
24
+ /**
25
+ * Invoked by a backing when closed.
26
+ */
21
27
  deleteCluster(backing: BehaviorBacking): void;
28
+ /**
29
+ * Invoked by a backing when there is a state change.
30
+ *
31
+ * This optimized path allows us to broadcast state changes without registering observers for every change.
32
+ */
33
+ handleChange(backing: BehaviorBacking, props: string[]): void;
34
+ /**
35
+ * The {@link NodeProtocol}.
36
+ */
22
37
  get protocol(): NodeProtocol;
23
38
  }
24
39
  //# sourceMappingURL=ProtocolService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtocolService.d.ts","sourceRoot":"","sources":["../../../../src/node/integration/ProtocolService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAgB7E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EASR,YAAY,EACf,MAAM,WAAW,CAAC;AAmBnB;;;;;;;GAOG;AACH,qBAAa,eAAe;;gBAGZ,IAAI,EAAE,IAAI;IAItB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,eAAe;IASnC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,eAAe;IAMtC;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE;IAYtD;;OAEG;IACH,IAAI,QAAQ,iBAEX;CACJ"}
@@ -36,6 +36,9 @@ class ProtocolService {
36
36
  constructor(node) {
37
37
  this.#state = new NodeState(node);
38
38
  }
39
+ /**
40
+ * Invoked by a backing when initialized.
41
+ */
39
42
  addCluster(backing) {
40
43
  const { schema } = backing.type;
41
44
  if (schema?.tag !== import_model.ElementTag.Cluster || schema.id === void 0) {
@@ -43,11 +46,31 @@ class ProtocolService {
43
46
  }
44
47
  this.#state.stateFor(backing.endpoint).addCluster(backing);
45
48
  }
49
+ /**
50
+ * Invoked by a backing when closed.
51
+ */
46
52
  deleteCluster(backing) {
47
53
  if (this.#state.hasEndpoint(backing.endpoint)) {
48
54
  this.#state.stateFor(backing.endpoint).deleteCluster(backing);
49
55
  }
50
56
  }
57
+ /**
58
+ * Invoked by a backing when there is a state change.
59
+ *
60
+ * This optimized path allows us to broadcast state changes without registering observers for every change.
61
+ */
62
+ handleChange(backing, props) {
63
+ const clusterId = backing.type.schema?.id;
64
+ if (clusterId === void 0) {
65
+ return;
66
+ }
67
+ const namesToIds = backing.type.supervisor.propertyNamesAndIds;
68
+ const attrs = props.map((name) => namesToIds.get(name)).filter((id) => id !== void 0);
69
+ this.protocol.attrsChanged.emit(backing.endpoint.number, clusterId, attrs, backing.datasource.version);
70
+ }
71
+ /**
72
+ * The {@link NodeProtocol}.
73
+ */
51
74
  get protocol() {
52
75
  return this.#state.protocol;
53
76
  }
@@ -66,7 +89,6 @@ class NodeState {
66
89
  protocol;
67
90
  #endpoints = /* @__PURE__ */ new Set();
68
91
  #endpointStates = {};
69
- #endpointStateObservers = /* @__PURE__ */ new Map();
70
92
  constructor(node) {
71
93
  let fabrics;
72
94
  let eventHandler;
@@ -85,7 +107,7 @@ class NodeState {
85
107
  return eventHandler;
86
108
  },
87
109
  [Symbol.iterator]: this.#endpoints[Symbol.iterator].bind(this.#endpoints),
88
- stateChanged: new import_general.Observable(),
110
+ attrsChanged: new import_general.Observable(),
89
111
  toString() {
90
112
  return `node-proto#${node.id}`;
91
113
  },
@@ -107,22 +129,12 @@ class NodeState {
107
129
  this.protocol[number] = state.protocol;
108
130
  this.#endpoints.add(state.protocol);
109
131
  this.#endpointStates[number] = state;
110
- const observer = (clusterId, changes, version) => {
111
- this.protocol.stateChanged.emit(number, clusterId, changes, version);
112
- };
113
- state.stateChanged.on(observer);
114
- this.#endpointStateObservers.set(number, observer);
115
132
  return state;
116
133
  }
117
134
  hasEndpoint(endpoint) {
118
135
  return endpoint.number in this.#endpointStates;
119
136
  }
120
137
  deleteEndpoint(endpoint) {
121
- const observer = this.#endpointStateObservers.get(endpoint.id);
122
- if (observer) {
123
- this.#endpointStates[endpoint.id].stateChanged.off(observer);
124
- this.#endpointStateObservers.delete(endpoint.id);
125
- }
126
138
  delete this.protocol[endpoint.id];
127
139
  this.#endpoints.delete(endpoint);
128
140
  delete this.#endpointStates[endpoint.id];
@@ -133,8 +145,6 @@ class EndpointState {
133
145
  #node;
134
146
  #activeClusters = /* @__PURE__ */ new Set();
135
147
  #clusters = /* @__PURE__ */ new Set();
136
- #clusterStateObservers = /* @__PURE__ */ new Map();
137
- stateChanged = new import_general.Observable();
138
148
  constructor(node, endpoint) {
139
149
  this.#node = node;
140
150
  const number = endpoint.number;
@@ -168,12 +178,9 @@ class EndpointState {
168
178
  this.protocol[cluster.type.id] = cluster;
169
179
  this.#activeClusters.add(cluster.type.id);
170
180
  this.#clusters.add(cluster);
171
- const stateObserver = (changes, version) => this.stateChanged.emit(cluster.type.id, changes, version);
172
- cluster.stateChanged.on(stateObserver);
173
- this.#clusterStateObservers.set(cluster.type.id, stateObserver);
174
- const attrs = [...cluster.type.attributes].filter((attr) => attr.limits.readable && !attr.changesOmitted && !attr.quieter).map((attr) => attr.id);
181
+ const attrs = [...cluster.type.attributes].filter((attr) => attr.limits.readable && !attr.changesOmitted).map((attr) => attr.id);
175
182
  if (attrs.length) {
176
- this.stateChanged.emit(cluster.type.id, attrs, cluster.version);
183
+ this.#node.protocol.attrsChanged.emit(this.protocol.id, cluster.type.id, attrs, cluster.version);
177
184
  }
178
185
  }
179
186
  deleteCluster(backing) {
@@ -185,17 +192,11 @@ class EndpointState {
185
192
  if (tag !== import_model.ElementTag.Cluster || id === void 0) {
186
193
  return;
187
194
  }
188
- const stateObserver = this.#clusterStateObservers.get(id);
189
195
  const protocol = this.protocol[id];
190
196
  if (protocol) {
191
- if (stateObserver) {
192
- protocol.stateChanged.off(stateObserver);
193
- }
194
- protocol[Symbol.dispose]();
195
197
  this.#clusters.delete(protocol);
196
198
  delete this.protocol[id];
197
199
  }
198
- this.#clusterStateObservers.delete(id);
199
200
  this.#activeClusters.delete(id);
200
201
  if (!this.#activeClusters.size) {
201
202
  this.#node.deleteEndpoint(this.protocol);
@@ -209,31 +210,11 @@ class ClusterState {
209
210
  type;
210
211
  #datasource;
211
212
  #endpointId;
212
- #stateChanged = new import_general.Observable();
213
- #quieterObservers = new import_general.ObserverGroup();
214
213
  commands = {};
215
214
  constructor(type, backing) {
216
215
  this.type = type;
217
216
  this.#datasource = backing.datasource;
218
217
  this.#endpointId = backing.endpoint.number;
219
- const attributeNameToIdMap = backing.type.supervisor.attributeNamesToIds;
220
- for (const attr of type.attributes) {
221
- attributeNameToIdMap.set(attr.name, attr.id);
222
- if (attr.quieter) {
223
- this.#quieterObservers.on(
224
- this.#datasource.events[`${attr.name}$Changed`].online,
225
- () => this.stateChanged.emit([attr.id], this.version)
226
- );
227
- }
228
- }
229
- this.#quieterObservers.on(this.#datasource.changed, (changes, version) => {
230
- const data = changes.map((name) => attributeNameToIdMap.get(name)).filter(
231
- (id) => id !== void 0 && !type.attributes[id]?.changesOmitted && !type.attributes[id]?.quieter
232
- );
233
- if (data.length) {
234
- this.stateChanged.emit(data, version);
235
- }
236
- });
237
218
  for (const cmd of type.commands) {
238
219
  this.commands[cmd.id] = (args, session) => invokeCommand(backing, cmd, args, session);
239
220
  }
@@ -247,9 +228,6 @@ class ClusterState {
247
228
  readState(session) {
248
229
  return this.#datasource.reference(session);
249
230
  }
250
- get stateChanged() {
251
- return this.#stateChanged;
252
- }
253
231
  async openForWrite(session) {
254
232
  if (session.transaction === void 0) {
255
233
  throw new import_general.ImplementationError("Cluster protocol must be opened with a supervisor session");
@@ -264,9 +242,6 @@ class ClusterState {
264
242
  inspect() {
265
243
  return this.toString();
266
244
  }
267
- [Symbol.dispose]() {
268
- this.#quieterObservers.close();
269
- }
270
245
  }
271
246
  const behaviorCache = /* @__PURE__ */ new WeakMap();
272
247
  function clusterTypeProtocolOf(backing) {
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/node/integration/ProtocolService.ts"],
4
+ "mappings": "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",
5
+ "names": ["WildcardPathFlagsType", "wildcardPathFlags", "result"]
6
+ }