@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
@@ -0,0 +1,169 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { RootSupervisor } from "#behavior/supervision/RootSupervisor.js";
8
+ import type { ValueSupervisor } from "#behavior/supervision/ValueSupervisor.js";
9
+ import { Abort, MaybePromise, NotImplementedError } from "#general";
10
+ import { any, DataModelPath, Schema } from "#model";
11
+ import { Envelope } from "./Envelope.js";
12
+ import { LocalResponse } from "./LocalResponse.js";
13
+
14
+ /**
15
+ * A node in the logical API tree structure.
16
+ *
17
+ * {@link ApiResource}s are ephemeral objects created on-demand as the server navigates paths.
18
+ */
19
+ export abstract class ApiResource {
20
+ /**
21
+ * The item's identifier in the logical model path.
22
+ */
23
+ abstract readonly id: string;
24
+
25
+ /**
26
+ * The item's owner, if any.
27
+ */
28
+ readonly parent?: ApiResource;
29
+
30
+ /**
31
+ * Data model path used for diagnostics.
32
+ */
33
+ abstract readonly dataModelPath: DataModelPath;
34
+
35
+ /**
36
+ * Value supervisor, if any.
37
+ */
38
+ abstract readonly supervisor?: ValueSupervisor;
39
+
40
+ /**
41
+ * Data value.
42
+ */
43
+ abstract readonly value: unknown;
44
+
45
+ /**
46
+ * Indicates whether this is an RPC endpoint.
47
+ */
48
+ readonly isInvocable: boolean = false;
49
+
50
+ /**
51
+ * Indicates whether this is an event endpoint.
52
+ */
53
+ readonly isSubscribable: boolean = false;
54
+
55
+ /**
56
+ * The {@link ApiResource.Kind} for {@link value}.
57
+ */
58
+ abstract readonly valueKind: ApiResource.Kind;
59
+
60
+ constructor(parent: undefined | ApiResource) {
61
+ this.parent = parent;
62
+ }
63
+
64
+ /**
65
+ * Retrieve the body of the item.
66
+ */
67
+ read() {
68
+ if (this.value === undefined) {
69
+ return;
70
+ }
71
+
72
+ return new Envelope({
73
+ supervisor: this.supervisor ?? RootSupervisor.for(any),
74
+ js: this.value,
75
+ });
76
+ }
77
+
78
+ /**
79
+ * Create or replace item.
80
+ */
81
+ write(_request: Envelope.Data): void {
82
+ throw new NotImplementedError();
83
+ }
84
+
85
+ /**
86
+ * Update item using matter.js patch semantics.
87
+ */
88
+ patch(_request: Envelope.Data): MaybePromise<void> {
89
+ throw new NotImplementedError();
90
+ }
91
+
92
+ /**
93
+ * Add a child item of this item.
94
+ */
95
+ add(_request: Envelope.Data): MaybePromise<void> {
96
+ throw new NotImplementedError();
97
+ }
98
+
99
+ /**
100
+ * Remove this item.
101
+ */
102
+ delete(): MaybePromise<void> {
103
+ throw new NotImplementedError();
104
+ }
105
+
106
+ /**
107
+ * The {@link Schema} for this resource subtree.
108
+ */
109
+ get schema() {
110
+ return this.supervisor?.schema;
111
+ }
112
+
113
+ /**
114
+ * Obtain the appropriate {@link ValueSupervisor} for a {@link Schema} in this subtree.
115
+ */
116
+ supervisorFor(schema: Schema) {
117
+ return this.rootSupervisor?.get(schema) ?? RootSupervisor.for(schema);
118
+ }
119
+
120
+ /**
121
+ * The {@link RootSupervisor} for this resource subtree.
122
+ */
123
+ get rootSupervisor(): RootSupervisor | undefined {
124
+ return this.parent?.rootSupervisor;
125
+ }
126
+
127
+ /**
128
+ * Execute a procedure.
129
+ */
130
+ async invoke(_request?: Envelope.Data): Promise<undefined | Envelope> {
131
+ throw new NotImplementedError();
132
+ }
133
+
134
+ /**
135
+ * Subscribe to events.
136
+ */
137
+ // eslint-disable-next-line require-yield
138
+ async *subscribe(
139
+ _abort: Abort.Signal,
140
+ _request?: Envelope.Data,
141
+ ): AsyncGenerator<Envelope<LocalResponse>, void, void> {
142
+ throw new NotImplementedError();
143
+ }
144
+
145
+ /**
146
+ * Retrieve a child with the specified ID.
147
+ */
148
+ async childFor(_id: string): Promise<ApiResource | void> {
149
+ return undefined;
150
+ }
151
+ }
152
+
153
+ export namespace ApiResource {
154
+ /**
155
+ * "Kind" values provided in response JSON payloads.
156
+ */
157
+ export type Kind =
158
+ | "ok"
159
+ | "node"
160
+ | "endpoint"
161
+ | "index"
162
+ | "cluster"
163
+ | "attribute"
164
+ | "field"
165
+ | "error"
166
+ | "command"
167
+ | "response"
168
+ | "changes";
169
+ }
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { LocalActorContext } from "#behavior/context/index.js";
8
+ import type { ValueSupervisor } from "#behavior/supervision/ValueSupervisor.js";
9
+ import { asJson, Bytes } from "#general";
10
+ import { DataModelPath } from "#model";
11
+ import { StatusResponse, TlvOfModel } from "#types";
12
+
13
+ /**
14
+ * Api data envelope packages used for request and response.
15
+ *
16
+ * This allows for transparent conversion between our three "native" formats -- JS values, serialized JSON and
17
+ * serialized TLV.
18
+ */
19
+ export class Envelope<T = unknown> {
20
+ #supervisor: ValueSupervisor;
21
+ #js?: T;
22
+ #json?: string;
23
+ #tlv?: Bytes;
24
+
25
+ constructor({ supervisor, js, json, tlv }: Envelope.Definition<T>) {
26
+ this.#supervisor = supervisor;
27
+ this.#js = js;
28
+ this.#json = json;
29
+ this.#tlv = tlv;
30
+ }
31
+
32
+ /**
33
+ * Validate against the schema. Casts to appropriate types if necessary.
34
+ */
35
+ validate(path?: DataModelPath) {
36
+ if (!path) {
37
+ path = DataModelPath(this.#supervisor.schema.path);
38
+ }
39
+
40
+ this.#js = this.#supervisor.cast(this.#js) as T;
41
+ this.#supervisor.validate?.(this.js, LocalActorContext.ReadOnly, { path });
42
+ }
43
+
44
+ /**
45
+ * Convert a {@link js} value to {@link JSON}.
46
+ *
47
+ * This acts as a deep copy and optimizes JSON access. If TLV becomes a priority then we can make this conversion
48
+ * configurable.
49
+ */
50
+ convertToJson() {
51
+ if (this.#js !== undefined) {
52
+ void this.json;
53
+ }
54
+ this.#js = undefined;
55
+ }
56
+
57
+ /**
58
+ * Native JS format.
59
+ */
60
+ get js() {
61
+ if (this.#js === undefined) {
62
+ if (this.#json) {
63
+ try {
64
+ this.#js = JSON.parse(this.#json) as T;
65
+ } catch (e) {
66
+ if (e instanceof SyntaxError) {
67
+ throw new StatusResponse.FailureError(`Unparseable JSON: ${e.message}`);
68
+ }
69
+ throw e;
70
+ }
71
+ } else if (this.#tlv) {
72
+ this.#js = TlvOfModel(this.#supervisor.schema).decode(this.#tlv) as T;
73
+ } else {
74
+ this.#js = null as T;
75
+ }
76
+ }
77
+ return this.#js;
78
+ }
79
+
80
+ /**
81
+ * JSON format.
82
+ */
83
+ get json() {
84
+ if (this.#json === undefined) {
85
+ this.#json = asJson(this.js);
86
+ }
87
+ return this.#json;
88
+ }
89
+
90
+ /**
91
+ * Serialized TLV format.
92
+ */
93
+ get tlv() {
94
+ if (this.#tlv === undefined) {
95
+ this.#tlv = TlvOfModel(this.#supervisor.schema).encode(this.#js);
96
+ }
97
+ return this.#tlv;
98
+ }
99
+ }
100
+
101
+ export namespace Envelope {
102
+ export interface Data<T = unknown> {
103
+ id?: string;
104
+ js?: T;
105
+ json?: string;
106
+ tlv?: Bytes;
107
+ }
108
+
109
+ export interface Definition<T = unknown> extends Data<T> {
110
+ supervisor: ValueSupervisor;
111
+ }
112
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Envelope } from "./Envelope.js";
8
+ import { RemoteResponse } from "./RemoteResponse.js";
9
+
10
+ /**
11
+ * The intermediate version of a {@link RemoteResponse}, transformed before transmission.
12
+ */
13
+ export type LocalResponse =
14
+ | RemoteResponse.OK
15
+ | RemoteResponse.Change
16
+ | LocalResponse.Value
17
+ | LocalResponse.Subscription
18
+ | LocalResponse.Error;
19
+
20
+ export namespace LocalResponse {
21
+ export interface Value extends RemoteResponse.Base {
22
+ kind: "value";
23
+ value: Envelope;
24
+ }
25
+
26
+ export interface Subscription extends RemoteResponse.Base {
27
+ kind: "subscription";
28
+ stream: Stream;
29
+ }
30
+
31
+ export interface Error extends RemoteResponse.Base {
32
+ kind: "error";
33
+ error: globalThis.Error;
34
+ }
35
+
36
+ export interface Stream extends AsyncIterableIterator<Envelope<LocalResponse>, void, void> {}
37
+ }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { isObject } from "#general";
8
+ import { StateStream } from "#node/integration/StateStream.js";
9
+ import { StatusResponse } from "#types";
10
+
11
+ /**
12
+ * An RPC request.
13
+ */
14
+ export type RemoteRequest =
15
+ | RemoteRequest.Read
16
+ | RemoteRequest.Write
17
+ | RemoteRequest.Add
18
+ | RemoteRequest.Delete
19
+ | RemoteRequest.Invoke
20
+ | RemoteRequest.Subscribe;
21
+
22
+ /**
23
+ * Validate and return request object.
24
+ */
25
+ export function RemoteRequest(request: unknown) {
26
+ if (!isObject(request)) {
27
+ throw new StatusResponse.InvalidActionError("Request is not an object");
28
+ }
29
+
30
+ const { target, method } = request;
31
+ if (typeof method !== "string") {
32
+ throw new StatusResponse.InvalidActionError('Request does not specify opcode in "method" property');
33
+ }
34
+
35
+ switch (method) {
36
+ case "read":
37
+ case "write":
38
+ case "add":
39
+ case "delete":
40
+ case "invoke":
41
+ case "subscribe":
42
+ break;
43
+
44
+ default:
45
+ throw new StatusResponse.InvalidActionError(`Unsupported request method "${method}"`);
46
+ }
47
+
48
+ if (typeof target !== "string") {
49
+ throw new StatusResponse.InvalidActionError('Request does not specify resource in "target" property');
50
+ }
51
+
52
+ return request as unknown as RemoteRequest;
53
+ }
54
+
55
+ export namespace RemoteRequest {
56
+ export interface Base {
57
+ target: string;
58
+ id?: string;
59
+ }
60
+
61
+ export interface Read extends Base {
62
+ method: "read";
63
+ }
64
+
65
+ export interface Write extends Base {
66
+ method: "write";
67
+ value: unknown;
68
+ }
69
+
70
+ export interface Add extends Base {
71
+ method: "add";
72
+ value: unknown;
73
+ }
74
+
75
+ export interface Delete extends Base {
76
+ method: "delete";
77
+ }
78
+
79
+ export interface Invoke extends Base {
80
+ method: "invoke";
81
+ target: string;
82
+ parameters?: unknown;
83
+ }
84
+
85
+ export interface Subscribe extends Base, StateStream.Options {
86
+ method: "subscribe";
87
+ }
88
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { InternalError, MatterError } from "#general";
8
+ import type { StateStream } from "#node/integration/StateStream.js";
9
+ import { StatusResponseError } from "#types";
10
+ import type { LocalResponse } from "./LocalResponse.js";
11
+
12
+ /**
13
+ * An RPC response.
14
+ *
15
+ * This is the serializable object delivered over the wire.
16
+ */
17
+ export type RemoteResponse = RemoteResponse.OK | RemoteResponse.Value | RemoteResponse.Error | RemoteResponse.Change;
18
+
19
+ /**
20
+ * Create a {@link RemoteResponse} from a {@link LocalResponse}.
21
+ */
22
+ export function RemoteResponse(local: LocalResponse): RemoteResponse {
23
+ switch (local.kind) {
24
+ case "ok":
25
+ case "update":
26
+ case "delete":
27
+ return local;
28
+
29
+ case "value":
30
+ return {
31
+ ...local,
32
+ value: local.value.js,
33
+ };
34
+
35
+ case "error":
36
+ return {
37
+ kind: "error",
38
+ id: local.id,
39
+ code: MatterError.idFor(local.error.constructor),
40
+ message: (local.error as StatusResponseError).bareMessage ?? local.error.message,
41
+ };
42
+
43
+ default:
44
+ throw new InternalError(`Cannot convert local response kind "${local.kind}" to remote response`);
45
+ }
46
+ }
47
+
48
+ export namespace RemoteResponse {
49
+ export interface Base {
50
+ id?: string;
51
+ }
52
+
53
+ export interface OK extends Base {
54
+ kind: "ok";
55
+ requestId?: string;
56
+ }
57
+
58
+ export interface Value extends Base {
59
+ kind: "value";
60
+ value: unknown;
61
+ }
62
+
63
+ export interface Error extends Base {
64
+ kind: "error";
65
+ message: string;
66
+ code: string;
67
+ }
68
+
69
+ export type Change = Base & StateStream.WireChange;
70
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ export * from "./Api.js";
8
+ export * from "./ApiResource.js";
9
+ export * from "./Envelope.js";
10
+ export * from "./LocalResponse.js";
11
+ export * from "./RemoteRequest.js";
12
+ export * from "./RemoteResponse.js";
13
+ export * from "./resources/index.js";
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Behavior } from "#behavior/Behavior.js";
8
+ import { RootSupervisor } from "#behavior/supervision/RootSupervisor.js";
9
+ import { InternalError } from "#general";
10
+ import { ClusterModel, CommandModel } from "#model";
11
+ import { StatusResponse } from "#types";
12
+ import { ApiResource } from "../ApiResource.js";
13
+ import { CommandResource } from "./CommandResource.js";
14
+ import { PropertyResource } from "./PropertyResource.js";
15
+
16
+ /**
17
+ * API item for behaviors.
18
+ */
19
+ export class BehaviorResource extends PropertyResource {
20
+ #behavior: Behavior;
21
+
22
+ override get valueKind(): ApiResource.Kind {
23
+ return "cluster";
24
+ }
25
+
26
+ constructor(behavior: Behavior, parent: ApiResource) {
27
+ const { id, supervisor } = behavior.type;
28
+ if (supervisor === undefined) {
29
+ throw new InternalError(`API behavior reference has no value supervisor`);
30
+ }
31
+
32
+ super(parent, id, supervisor, behavior.endpoint.path.at(id));
33
+ this.#behavior = behavior;
34
+ }
35
+
36
+ override get value() {
37
+ return this.#behavior.state;
38
+ }
39
+
40
+ override write() {
41
+ throw new StatusResponse.UnsupportedWriteError(`Only patch supported for this path`);
42
+ }
43
+
44
+ override async childFor(id: string) {
45
+ // "state" is a view of the cluster without commands; adds consistency w/ JS API and useful for handling name
46
+ // collision
47
+ if (id === "state") {
48
+ return new PropertyResource(this, "state", this.supervisor, this.dataModelPath.at("state"));
49
+ }
50
+
51
+ // For direct children, commands take precedence should there be a name collision
52
+ if (this.schema instanceof ClusterModel) {
53
+ const command = this.schema.conformant.commands.for(id, CommandModel);
54
+ if (command) {
55
+ return new CommandResource(this, this.#behavior, command);
56
+ }
57
+ }
58
+
59
+ // Now attributes (or fields in case of non-Matter properties)
60
+ return super.childFor(id);
61
+ }
62
+
63
+ override get rootSupervisor() {
64
+ return this.supervisor as RootSupervisor;
65
+ }
66
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { RootSupervisor } from "#behavior/supervision/RootSupervisor.js";
8
+ import { Abort, InternalError } from "#general";
9
+ import { StateStream } from "#node/integration/StateStream.js";
10
+ import { ServerNode } from "#node/ServerNode.js";
11
+ import { ApiResource } from "../ApiResource.js";
12
+ import { Envelope } from "../Envelope.js";
13
+ import { LocalResponse } from "../LocalResponse.js";
14
+ import { NodeResource as ServerNodeItem } from "./NodeResource.js";
15
+
16
+ /**
17
+ * An item that delivers state changes via subscription.
18
+ */
19
+ export class ChangesResource extends ApiResource {
20
+ readonly id = "changes";
21
+ readonly valueKind = "changes";
22
+ readonly supervisor = undefined;
23
+ readonly value = undefined;
24
+ override readonly isSubscribable = true;
25
+
26
+ declare readonly parent: ServerNodeItem;
27
+
28
+ constructor(parent: ServerNodeItem) {
29
+ super(parent);
30
+ }
31
+
32
+ get dataModelPath() {
33
+ return this.parent.dataModelPath.at("changes");
34
+ }
35
+
36
+ override async *subscribe(
37
+ abort: Abort.Signal,
38
+ request: Envelope.Data,
39
+ ): AsyncGenerator<Envelope<LocalResponse>, void, void> {
40
+ const requestEnv = new Envelope({ supervisor: RootSupervisor.for(StateStream.OptionsSchema), ...request });
41
+
42
+ let options: undefined | StateStream.Options;
43
+ if (requestEnv.js) {
44
+ requestEnv.validate();
45
+ options = requestEnv.js as StateStream.Options;
46
+ }
47
+
48
+ const stream = StateStream(this.parent.node as ServerNode, { ...options, abort });
49
+
50
+ const { id } = request;
51
+
52
+ for await (const change of stream) {
53
+ const wire = StateStream.WireChange(change);
54
+
55
+ switch (change.kind) {
56
+ case "update":
57
+ yield new Envelope({
58
+ supervisor: RootSupervisor.for(StateStream.WireUpdateSchema),
59
+ js: { id, ...wire },
60
+ });
61
+ break;
62
+
63
+ case "delete":
64
+ yield new Envelope({
65
+ supervisor: RootSupervisor.for(StateStream.WireDeleteSchema),
66
+ js: { id, ...wire },
67
+ });
68
+ break;
69
+
70
+ default:
71
+ throw new InternalError(`Unsupported change kind ${(change as StateStream.Change).kind}`);
72
+ }
73
+ }
74
+ }
75
+ }