@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,30 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { RemoteServer } from "../remote/RemoteServer.js";
7
+ import { HttpInterface } from "./HttpInterface.js";
8
+ /**
9
+ * Allows control of a Matter node using an HTTP API.
10
+ */
11
+ export declare class HttpServer extends RemoteServer {
12
+ static readonly id = "http";
13
+ static readonly interfaceType: typeof HttpInterface;
14
+ }
15
+ export declare namespace HttpServer {
16
+ class State extends RemoteServer.State {
17
+ /**
18
+ * The HTTP server address.
19
+ *
20
+ * Supported protocols:
21
+ *
22
+ * - http
23
+ * - https
24
+ * - http+unix (HTTP over UNIX socket)
25
+ * - https+unix (HTTPS over UNIX socket)
26
+ */
27
+ address: string;
28
+ }
29
+ }
30
+ //# sourceMappingURL=HttpServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/http/HttpServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IACxC,gBAAyB,EAAE,UAAU;IACrC,gBAAyB,aAAa,uBAAiB;CAC1D;AAED,yBAAiB,UAAU,CAAC;IACxB,MAAa,KAAM,SAAQ,YAAY,CAAC,KAAK;QACzC;;;;;;;;;WASG;QACM,OAAO,SAA2B;KAC9C;CACJ"}
@@ -0,0 +1,51 @@
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 HttpServer_exports = {};
20
+ __export(HttpServer_exports, {
21
+ HttpServer: () => HttpServer
22
+ });
23
+ module.exports = __toCommonJS(HttpServer_exports);
24
+ var import_RemoteServer = require("../remote/RemoteServer.js");
25
+ var import_HttpInterface = require("./HttpInterface.js");
26
+ /**
27
+ * @license
28
+ * Copyright 2022-2025 Matter.js Authors
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ class HttpServer extends import_RemoteServer.RemoteServer {
32
+ static id = "http";
33
+ static interfaceType = import_HttpInterface.HttpInterface;
34
+ }
35
+ ((HttpServer2) => {
36
+ class State extends import_RemoteServer.RemoteServer.State {
37
+ /**
38
+ * The HTTP server address.
39
+ *
40
+ * Supported protocols:
41
+ *
42
+ * - http
43
+ * - https
44
+ * - http+unix (HTTP over UNIX socket)
45
+ * - https+unix (HTTPS over UNIX socket)
46
+ */
47
+ address = "http+unix:matter.sock";
48
+ }
49
+ HttpServer2.State = State;
50
+ })(HttpServer || (HttpServer = {}));
51
+ //# sourceMappingURL=HttpServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/behavior/system/http/HttpServer.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,0BAA6B;AAC7B,2BAA8B;AAP9B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,mBAAmB,iCAAa;AAAA,EACzC,OAAyB,KAAK;AAAA,EAC9B,OAAyB,gBAAgB;AAC7C;AAAA,CAEO,CAAUA,gBAAV;AAAA,EACI,MAAM,cAAc,iCAAa,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWjC,UAAU;AAAA,EACvB;AAZO,EAAAA,YAAM;AAAA,GADA;",
5
+ "names": ["HttpServer"]
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./HttpInterface.js";
7
+ export * from "./HttpServer.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/http/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var http_exports = {};
17
+ module.exports = __toCommonJS(http_exports);
18
+ __reExport(http_exports, require("./HttpInterface.js"), module.exports);
19
+ __reExport(http_exports, require("./HttpServer.js"), module.exports);
20
+ /**
21
+ * @license
22
+ * Copyright 2022-2025 Matter.js Authors
23
+ * SPDX-License-Identifier: Apache-2.0
24
+ */
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/behavior/system/http/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,yBAAc,+BANd;AAOA,yBAAc,4BAPd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { Endpoint } from "#endpoint/Endpoint.js";
7
- import { EventEmitter, Observable, Timer } from "#general";
7
+ import { EventEmitter, Observable } from "#general";
8
8
  import { Behavior } from "../../Behavior.js";
9
9
  /**
10
10
  * This behavior indexes all descendents of a {@link Endpoint} by number.
@@ -21,7 +21,7 @@ export declare class IndexBehavior extends Behavior {
21
21
  initialize(): void;
22
22
  [Symbol.asyncDispose](): void;
23
23
  get partsById(): Record<string, Endpoint<import("../../../index.js").EndpointType.Empty>>;
24
- get partsByNumber(): Record<number, Endpoint<import("../../../index.js").EndpointType.Empty>>;
24
+ get partsByNumber(): Record<string, Endpoint<import("../../../index.js").EndpointType.Empty>>;
25
25
  /**
26
26
  * Retrieve a {@link Endpoint} by number.
27
27
  *
@@ -32,7 +32,7 @@ export declare class IndexBehavior extends Behavior {
32
32
  }
33
33
  export declare namespace IndexBehavior {
34
34
  class Internal {
35
- changeBroadcaster?: Timer;
35
+ changeBroadcastPending?: boolean;
36
36
  /**
37
37
  * Map of ID to {@link Endpoint}.
38
38
  */
@@ -40,7 +40,7 @@ export declare namespace IndexBehavior {
40
40
  /**
41
41
  * Map of number to {@link Endpoint}.
42
42
  */
43
- partsByNumber: Record<number, Endpoint>;
43
+ partsByNumber: Record<string, Endpoint>;
44
44
  }
45
45
  class Events extends EventEmitter {
46
46
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IndexBehavior.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/index/IndexBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,QAAQ;;IACvC,gBAAyB,EAAE,WAAW;IAE9B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,gBAAyB,KAAK,QAAQ;IAE7B,UAAU;IAIV,CAAC,MAAM,CAAC,YAAY,CAAC;IAK9B,IAAI,SAAS,6EAEZ;IAED,IAAI,aAAa,6EAEhB;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;CAkE3B;AAED,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAQ;QACjB,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAE1B;;WAEG;QACH,SAAS,EAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3C;;WAEG;QACH,aAAa,EAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAClD;IAED,MAAa,MAAO,SAAQ,YAAY;QACpC;;WAEG;QACH,MAAM,uBAAoB;KAC7B;CACJ"}
1
+ {"version":3,"file":"IndexBehavior.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/index/IndexBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,QAAQ;;IACvC,gBAAyB,EAAE,WAAW;IAE9B,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAErC,gBAAyB,KAAK,QAAQ;IAE7B,UAAU;IAIV,CAAC,MAAM,CAAC,YAAY,CAAC;IAI9B,IAAI,SAAS,6EAEZ;IAED,IAAI,aAAa,6EAEhB;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;CA2E3B;AAED,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAQ;QACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;QAEjC;;WAEG;QACH,SAAS,EAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE3C;;WAEG;QACH,aAAa,EAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAClD;IAED,MAAa,MAAO,SAAQ,YAAY;QACpC;;WAEG;QACH,MAAM,uBAAoB;KAC7B;CACJ"}
@@ -36,8 +36,7 @@ class IndexBehavior extends import_Behavior.Behavior {
36
36
  this.reactTo(this.endpoint.lifecycle.changed, this.#handleChange);
37
37
  }
38
38
  [Symbol.asyncDispose]() {
39
- this.internal.changeBroadcaster?.stop();
40
- delete this.internal.changeBroadcaster;
39
+ this.internal.changeBroadcastPending = false;
41
40
  }
42
41
  get partsById() {
43
42
  return this.internal.partsById;
@@ -98,17 +97,23 @@ class IndexBehavior extends import_Behavior.Behavior {
98
97
  * Trigger change event lazily so transactions complete and we can coalesce into fewer events.
99
98
  */
100
99
  #change() {
101
- if (this.internal.changeBroadcaster) {
100
+ const { internal } = this;
101
+ if (internal.changeBroadcastPending) {
102
102
  return;
103
103
  }
104
+ internal.changeBroadcastPending = true;
104
105
  void Promise.resolve().then(() => {
106
+ if (!internal.changeBroadcastPending) {
107
+ return;
108
+ }
109
+ internal.changeBroadcastPending = false;
105
110
  this.events.change.emit();
106
111
  });
107
112
  }
108
113
  }
109
114
  ((IndexBehavior2) => {
110
115
  class Internal {
111
- changeBroadcaster;
116
+ changeBroadcastPending;
112
117
  /**
113
118
  * Map of ID to {@link Endpoint}.
114
119
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/index/IndexBehavior.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAkC;AAClC,qBAAgD;AAChD,sBAAyB;AATzB;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,sBAAsB,yBAAS;AAAA,EACxC,OAAyB,KAAK;AAAA,EAK9B,OAAyB,QAAQ;AAAA,EAExB,aAAa;AAClB,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,aAAa;AAAA,EACpE;AAAA,EAEA,CAAU,OAAO,YAAY,IAAI;AAC7B,SAAK,SAAS,mBAAmB,KAAK;AACtC,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAU,QAAgB;AACtB,QAAI,KAAK,SAAS,UAAU,aAAa,WAAW,KAAK,SAAS,QAAQ;AACtE,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,KAAK,SAAS,cAAc,MAAM;AAAA,EAC7C;AAAA,EAEA,cAAc,MAAgC,UAAoB;AAC9D,YAAQ,MAAM;AAAA,MACV,KAAK,2CAAkB,OAAO;AAAA,MAC9B,KAAK,2CAAkB,OAAO;AAAA,MAC9B,KAAK,2CAAkB,OAAO;AAC1B,aAAK,KAAK,QAAQ;AAClB,aAAK,QAAQ;AACb;AAAA,MAEJ,KAAK,2CAAkB,OAAO;AAC1B,aAAK,QAAQ,QAAQ;AACrB,aAAK,QAAQ;AACb;AAAA,IACR;AAAA,EACJ;AAAA,EAEA,KAAK,UAAoB;AACrB,QAAI,SAAS,UAAU,WAAW;AAE9B,WAAK,SAAS,cAAc,SAAS,MAAM,IAAI;AAAA,IACnD;AAEA,QAAI,SAAS,UAAU,OAAO;AAC1B,WAAK,SAAS,UAAU,SAAS,EAAE,IAAI;AAAA,IAC3C;AAEA,eAAW,SAAS,SAAS,OAAO;AAChC,WAAK,KAAK,KAAK;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,QAAQ,UAAoB;AACxB,QAAI,SAAS,MAAM,KAAK,SAAS,UAAU,SAAS,EAAE,MAAM,UAAU;AAClE,aAAO,KAAK,SAAS,UAAU,SAAS,EAAE;AAAA,IAC9C;AAEA,QAAI,SAAS,WAAW,UAAa,KAAK,SAAS,cAAc,SAAS,MAAM,MAAM,UAAU;AAC5F,aAAO,KAAK,SAAS,cAAc,SAAS,MAAM;AAAA,IACtD;AAEA,eAAW,SAAS,SAAS,OAAO;AAChC,WAAK,QAAQ,KAAK;AAAA,IACtB;AAEA,SAAK,QAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,QAAI,KAAK,SAAS,mBAAmB;AACjC;AAAA,IACJ;AAEA,SAAK,QAAQ,QAAQ,EAAE,KAAK,MAAM;AAC9B,WAAK,OAAO,OAAO,KAAK;AAAA,IAC5B,CAAC;AAAA,EACL;AACJ;AAAA,CAEO,CAAUA,mBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA,IAKb,gBAAgB,CAAC;AAAA,EACrB;AAZO,EAAAA,eAAM;AAAA,EAcN,MAAM,eAAe,4BAAa;AAAA;AAAA;AAAA;AAAA,IAIrC,aAAS,2BAAe;AAAA,EAC5B;AALO,EAAAA,eAAM;AAAA,GAfA;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAkC;AAClC,qBAAyC;AACzC,sBAAyB;AATzB;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,sBAAsB,yBAAS;AAAA,EACxC,OAAyB,KAAK;AAAA,EAK9B,OAAyB,QAAQ;AAAA,EAExB,aAAa;AAClB,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,aAAa;AAAA,EACpE;AAAA,EAEA,CAAU,OAAO,YAAY,IAAI;AAC7B,SAAK,SAAS,yBAAyB;AAAA,EAC3C;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,UAAU,QAAgB;AACtB,QAAI,KAAK,SAAS,UAAU,aAAa,WAAW,KAAK,SAAS,QAAQ;AACtE,aAAO,KAAK;AAAA,IAChB;AACA,WAAO,KAAK,SAAS,cAAc,MAAM;AAAA,EAC7C;AAAA,EAEA,cAAc,MAAgC,UAAoB;AAC9D,YAAQ,MAAM;AAAA,MACV,KAAK,2CAAkB,OAAO;AAAA,MAC9B,KAAK,2CAAkB,OAAO;AAAA,MAC9B,KAAK,2CAAkB,OAAO;AAC1B,aAAK,KAAK,QAAQ;AAClB,aAAK,QAAQ;AACb;AAAA,MAEJ,KAAK,2CAAkB,OAAO;AAC1B,aAAK,QAAQ,QAAQ;AACrB,aAAK,QAAQ;AACb;AAAA,IACR;AAAA,EACJ;AAAA,EAEA,KAAK,UAAoB;AACrB,QAAI,SAAS,UAAU,WAAW;AAE9B,WAAK,SAAS,cAAc,SAAS,MAAM,IAAI;AAAA,IACnD;AAEA,QAAI,SAAS,UAAU,OAAO;AAC1B,WAAK,SAAS,UAAU,SAAS,EAAE,IAAI;AAAA,IAC3C;AAEA,eAAW,SAAS,SAAS,OAAO;AAChC,WAAK,KAAK,KAAK;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,QAAQ,UAAoB;AACxB,QAAI,SAAS,MAAM,KAAK,SAAS,UAAU,SAAS,EAAE,MAAM,UAAU;AAClE,aAAO,KAAK,SAAS,UAAU,SAAS,EAAE;AAAA,IAC9C;AAEA,QAAI,SAAS,WAAW,UAAa,KAAK,SAAS,cAAc,SAAS,MAAM,MAAM,UAAU;AAC5F,aAAO,KAAK,SAAS,cAAc,SAAS,MAAM;AAAA,IACtD;AAEA,eAAW,SAAS,SAAS,OAAO;AAChC,WAAK,QAAQ,KAAK;AAAA,IACtB;AAEA,SAAK,QAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,UAAM,EAAE,SAAS,IAAI;AAErB,QAAI,SAAS,wBAAwB;AACjC;AAAA,IACJ;AAEA,aAAS,yBAAyB;AAElC,SAAK,QAAQ,QAAQ,EAAE,KAAK,MAAM;AAC9B,UAAI,CAAC,SAAS,wBAAwB;AAClC;AAAA,MACJ;AAEA,eAAS,yBAAyB;AAClC,WAAK,OAAO,OAAO,KAAK;AAAA,IAC5B,CAAC;AAAA,EACL;AACJ;AAAA,CAEO,CAAUA,mBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA;AAAA;AAAA;AAAA,IAKA,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA,IAKb,gBAAgB,CAAC;AAAA,EACrB;AAZO,EAAAA,eAAM;AAAA,EAcN,MAAM,eAAe,4BAAa;AAAA;AAAA;AAAA;AAAA,IAIrC,aAAS,2BAAe;AAAA,EAC5B;AALO,EAAAA,eAAM;AAAA,GAfA;",
5
5
  "names": ["IndexBehavior"]
6
6
  }
@@ -6,9 +6,13 @@
6
6
  export * from "./commissioning/index.js";
7
7
  export * from "./controller/index.js";
8
8
  export * from "./events/index.js";
9
+ export * from "./http/index.js";
9
10
  export * from "./index/index.js";
11
+ export * from "./mqtt/index.js";
10
12
  export * from "./network/index.js";
11
13
  export * from "./parts/index.js";
12
14
  export * from "./product-description/index.js";
15
+ export * from "./remote/index.js";
13
16
  export * from "./sessions/index.js";
17
+ export * from "./websocket/index.js";
14
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/behavior/system/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/behavior/system/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -18,11 +18,15 @@ module.exports = __toCommonJS(system_exports);
18
18
  __reExport(system_exports, require("./commissioning/index.js"), module.exports);
19
19
  __reExport(system_exports, require("./controller/index.js"), module.exports);
20
20
  __reExport(system_exports, require("./events/index.js"), module.exports);
21
+ __reExport(system_exports, require("./http/index.js"), module.exports);
21
22
  __reExport(system_exports, require("./index/index.js"), module.exports);
23
+ __reExport(system_exports, require("./mqtt/index.js"), module.exports);
22
24
  __reExport(system_exports, require("./network/index.js"), module.exports);
23
25
  __reExport(system_exports, require("./parts/index.js"), module.exports);
24
26
  __reExport(system_exports, require("./product-description/index.js"), module.exports);
27
+ __reExport(system_exports, require("./remote/index.js"), module.exports);
25
28
  __reExport(system_exports, require("./sessions/index.js"), module.exports);
29
+ __reExport(system_exports, require("./websocket/index.js"), module.exports);
26
30
  /**
27
31
  * @license
28
32
  * Copyright 2022-2025 Matter.js Authors
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behavior/system/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,qCANd;AAOA,2BAAc,kCAPd;AAQA,2BAAc,8BARd;AASA,2BAAc,6BATd;AAUA,2BAAc,+BAVd;AAWA,2BAAc,6BAXd;AAYA,2BAAc,2CAZd;AAaA,2BAAc,gCAbd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,qCANd;AAOA,2BAAc,kCAPd;AAQA,2BAAc,8BARd;AASA,2BAAc,4BATd;AAUA,2BAAc,6BAVd;AAWA,2BAAc,4BAXd;AAYA,2BAAc,+BAZd;AAaA,2BAAc,6BAbd;AAcA,2BAAc,2CAdd;AAeA,2BAAc,8BAfd;AAgBA,2BAAc,gCAhBd;AAiBA,2BAAc,iCAjBd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { RemoteInterface } from "../remote/RemoteInterface.js";
7
+ /**
8
+ * MQTT remote interface.
9
+ *
10
+ * Currently publishes a read-only feed. Will address TODOs if there is real-world use.
11
+ *
12
+ * TODO - events
13
+ * TODO - clean out topics from previous runs that are no longer relevant, e.g. deleted endpoint, removed attrs, etc.
14
+ * TODO - TLV serialiation/deserialization
15
+ */
16
+ export declare class MqttInterface extends RemoteInterface {
17
+ #private;
18
+ static protocol: string;
19
+ protected start(): Promise<void>;
20
+ protected stop(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=MqttInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MqttInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,eAAe;;IAC9C,OAAgB,QAAQ,SAAU;cAMT,KAAK;cA0BL,IAAI;CA+OhC"}
@@ -0,0 +1,351 @@
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 MqttInterface_exports = {};
20
+ __export(MqttInterface_exports, {
21
+ MqttInterface: () => MqttInterface
22
+ });
23
+ module.exports = __toCommonJS(MqttInterface_exports);
24
+ var import_general = require("#general");
25
+ var import_model = require("#model");
26
+ var import_StateStream = require("#node/integration/StateStream.js");
27
+ var import_types = require("#types");
28
+ var import_Api = require("../remote/api/Api.js");
29
+ var import_ApiPath = require("../remote/api/ApiPath.js");
30
+ var import_Envelope = require("../remote/api/Envelope.js");
31
+ var import_RemoteResponse = require("../remote/api/RemoteResponse.js");
32
+ var import_RemoteInterface = require("../remote/RemoteInterface.js");
33
+ /**
34
+ * @license
35
+ * Copyright 2022-2025 Matter.js Authors
36
+ * SPDX-License-Identifier: Apache-2.0
37
+ */
38
+ const LOG_FACILITY = "MQTT";
39
+ class MqttInterface extends import_RemoteInterface.RemoteInterface {
40
+ static protocol = "mqtt";
41
+ #endpoint;
42
+ #mutex = new import_general.Mutex(this);
43
+ #retainedTopics = /* @__PURE__ */ new Map();
44
+ async start() {
45
+ this.#endpoint = await this.env.get(import_general.MqttService).connect({
46
+ address: this.address,
47
+ environment: this.node.env,
48
+ will: {
49
+ topic: this.root.at("status").toString(),
50
+ payload: "offline"
51
+ },
52
+ onUp: (endpoint) => {
53
+ if (!this.#endpoint) {
54
+ this.#endpoint = endpoint;
55
+ }
56
+ return this.#publish({
57
+ topic: this.root.at("status").toString(),
58
+ payload: "online"
59
+ });
60
+ }
61
+ });
62
+ this.addWorker(this.#listen(), "mqtt listener");
63
+ this.addWorker(this.#feed(), "mqtt feeder");
64
+ }
65
+ async stop() {
66
+ await this.#mutex.then();
67
+ await this.#mqtt?.close();
68
+ }
69
+ /**
70
+ * A background process that handles incoming MQTT messages.
71
+ */
72
+ async #listen() {
73
+ await import_general.Abort.race(this.abort, this.node.construction);
74
+ if (import_general.Abort.is(this.abort)) {
75
+ return;
76
+ }
77
+ let topic = this.root.toString();
78
+ if (topic !== "") {
79
+ topic += "/#";
80
+ } else {
81
+ topic = "#";
82
+ }
83
+ for await (const message of this.#mqtt.subscribe(`${topic}`, { noLocal: true, abort: this.abort })) {
84
+ if (message.retain) {
85
+ continue;
86
+ }
87
+ const relativeTopic = this.root.subpathFor(new import_ApiPath.ApiPath(message.topic));
88
+ if (!relativeTopic) {
89
+ continue;
90
+ }
91
+ await this.#respond(relativeTopic, message);
92
+ }
93
+ }
94
+ async #respond(topic, message) {
95
+ let response;
96
+ const via = message.correlationData ? import_general.Bytes.toHex(message.correlationData) : message.responseTopic;
97
+ try {
98
+ await this.node.act("MQTT listener", async (agent) => {
99
+ if (topic.toString() === "call") {
100
+ response = await this.#call(message);
101
+ return;
102
+ }
103
+ const resource = await import_Api.Api.resourceFor(agent, topic);
104
+ if (resource === void 0) {
105
+ throw new import_types.StatusResponse.NotFoundError(`No resource at subtopic ${topic}`);
106
+ }
107
+ const schema = resource.schema;
108
+ if (!schema) {
109
+ throw new import_general.NotImplementedError();
110
+ }
111
+ const input = payloadToJs(schema, message.payload);
112
+ if (resource.isInvocable) {
113
+ import_Api.Api.logRequest(LOG_FACILITY, via, "invoke", topic.toString());
114
+ let value = await resource.invoke({ js: input });
115
+ const responseSchema = schema.responseModel;
116
+ if (responseSchema) {
117
+ value ??= new import_Envelope.Envelope({ supervisor: resource.supervisorFor(responseSchema), js: null });
118
+ response = { kind: "value", value };
119
+ }
120
+ } else {
121
+ import_Api.Api.logRequest(LOG_FACILITY, via, "update", topic.toString());
122
+ await resource.patch(input ?? { js: null });
123
+ }
124
+ });
125
+ } catch (e) {
126
+ response = import_Api.Api.errorResponseOf(LOG_FACILITY, via, e);
127
+ }
128
+ if (!response) {
129
+ response = { kind: "ok" };
130
+ }
131
+ response.id = via;
132
+ import_Api.Api.logResponse(LOG_FACILITY, (0, import_RemoteResponse.RemoteResponse)(response));
133
+ if (message.responseTopic) {
134
+ await this.#publish({
135
+ topic: message.responseTopic,
136
+ correlationData: message.correlationData,
137
+ payload: (0, import_general.asJson)(response)
138
+ });
139
+ }
140
+ }
141
+ /**
142
+ * Specialized handling for "call" topic to support full {@link RemoteRequest}/{@link RemoteResponse} interaction.
143
+ */
144
+ async #call(message) {
145
+ const request = parseJsonPayload(message.payload);
146
+ const response = await import_Api.Api.execute(LOG_FACILITY, this.node, request, this.abort);
147
+ if (response.kind === "subscription") {
148
+ await response.stream.return?.();
149
+ throw new import_types.StatusResponse.InvalidSubscriptionError(
150
+ "Subscription via RPC is not supported, use MQTT instead"
151
+ );
152
+ }
153
+ return response;
154
+ }
155
+ /**
156
+ * A background process that continuously updates MQTT topics.
157
+ */
158
+ async #feed() {
159
+ const stream = (0, import_StateStream.StateStream)(this.node, { abort: this.abort });
160
+ for await (const change of stream) {
161
+ await this.#mutex.produce(async () => {
162
+ switch (change.kind) {
163
+ case "update":
164
+ await this.#publishUpdate(change);
165
+ break;
166
+ case "delete":
167
+ await this.#publishDelete(change);
168
+ }
169
+ });
170
+ }
171
+ }
172
+ /**
173
+ * Publish attribute values for state changes.
174
+ */
175
+ async #publishUpdate({ node, endpoint, behavior, changes }) {
176
+ let nodeTopics = this.#retainedTopics.get(node.id);
177
+ if (nodeTopics === void 0) {
178
+ this.#retainedTopics.set(node.id, nodeTopics = /* @__PURE__ */ new Map());
179
+ }
180
+ let endpointTopics = nodeTopics.get(endpoint.number);
181
+ if (endpointTopics === void 0) {
182
+ nodeTopics.set(endpoint.number, endpointTopics = /* @__PURE__ */ new Set());
183
+ }
184
+ const behaviorRoot = this.#nodeRoot(node.id).at([endpoint.number.toString(), (0, import_general.decamelize)(behavior.id)]);
185
+ for (const name in changes) {
186
+ const value = changes[name];
187
+ const schema = behavior.schema?.conformant.properties.for(name);
188
+ const payload = jsToPayload(schema ?? import_model.any, value);
189
+ const topic = behaviorRoot.at([name]).toString();
190
+ endpointTopics.add(topic);
191
+ await this.#publish({
192
+ topic,
193
+ payload,
194
+ retain: true
195
+ });
196
+ }
197
+ }
198
+ /**
199
+ * Delete all published topics for an endpoint or node that has disappeared.
200
+ */
201
+ async #publishDelete(change) {
202
+ const nodeTopics = this.#retainedTopics.get(change.node.id);
203
+ if (!nodeTopics) {
204
+ return;
205
+ }
206
+ const deleteEndpoint = async (endpoint) => {
207
+ const topics = nodeTopics.get(endpoint);
208
+ if (!topics) {
209
+ return;
210
+ }
211
+ for (const topic of topics) {
212
+ await this.#publish({
213
+ topic,
214
+ payload: null,
215
+ retain: true
216
+ });
217
+ }
218
+ nodeTopics.delete(endpoint);
219
+ };
220
+ if (change.endpoint === change.node) {
221
+ for (const number of nodeTopics.keys()) {
222
+ await deleteEndpoint(number);
223
+ }
224
+ this.#retainedTopics.delete(change.node.id);
225
+ } else {
226
+ await deleteEndpoint(change.endpoint.number);
227
+ }
228
+ }
229
+ /**
230
+ * Obtain the root path for a node.
231
+ *
232
+ * This will either be the root path for the server or a subpath for peers.
233
+ */
234
+ #nodeRoot(id) {
235
+ if (id === this.node.id) {
236
+ return this.root;
237
+ }
238
+ return this.root.at(["peers", id]);
239
+ }
240
+ /**
241
+ * Safe access to the MQTT endpoint.
242
+ */
243
+ get #mqtt() {
244
+ if (this.#endpoint === void 0) {
245
+ throw new import_general.InternalError("MQTT endpoint missing");
246
+ }
247
+ return this.#endpoint;
248
+ }
249
+ /**
250
+ * Publish a message.
251
+ *
252
+ * Default QOS is 2.
253
+ */
254
+ #publish(message) {
255
+ if (this.abort.aborted) {
256
+ throw new import_general.InternalError("MQTT publish after abort");
257
+ }
258
+ if (message.qos === void 0) {
259
+ message.qos = 2;
260
+ }
261
+ return this.#mqtt.publish(message);
262
+ }
263
+ }
264
+ function payloadToJs(schema, payload) {
265
+ if (payload === null) {
266
+ return null;
267
+ }
268
+ const length = typeof payload === "string" ? payload.length : payload.byteLength;
269
+ if (!length) {
270
+ return null;
271
+ }
272
+ let js;
273
+ switch (schema.effectiveMetatype) {
274
+ case import_model.Metatype.any:
275
+ js = payload;
276
+ break;
277
+ case import_model.Metatype.object:
278
+ case import_model.Metatype.array:
279
+ case import_model.Metatype.bitmap:
280
+ js = parseJsonPayload(payload);
281
+ break;
282
+ case import_model.Metatype.bytes:
283
+ if (typeof payload === "string") {
284
+ try {
285
+ js = import_general.Base64.decode(payload);
286
+ } catch (e) {
287
+ if (e instanceof SyntaxError) {
288
+ throw new import_types.StatusResponse.InvalidDataTypeError(
289
+ `Value is not binary or a base64 string: ${e.message}`
290
+ );
291
+ }
292
+ }
293
+ break;
294
+ }
295
+ js = payload;
296
+ break;
297
+ default:
298
+ if (import_general.Bytes.isBytes(payload)) {
299
+ try {
300
+ payload = import_general.Bytes.toString(payload);
301
+ } catch (e) {
302
+ if (e instanceof TypeError) {
303
+ throw new import_types.StatusResponse.InvalidDataTypeError(
304
+ `Value is not a valid UTF-8 string: ${e.message}`
305
+ );
306
+ }
307
+ }
308
+ }
309
+ js = payload;
310
+ break;
311
+ }
312
+ return js;
313
+ }
314
+ function jsToPayload(schema, js) {
315
+ if (js === void 0 || js === null || js === "") {
316
+ return import_general.Bytes.empty;
317
+ }
318
+ switch (schema.effectiveMetatype) {
319
+ case import_model.Metatype.object:
320
+ case import_model.Metatype.array:
321
+ case import_model.Metatype.bitmap:
322
+ return (0, import_general.asJson)(js);
323
+ case import_model.Metatype.bytes:
324
+ if (import_general.Bytes.isBytes(js)) {
325
+ return js;
326
+ }
327
+ return import_general.Bytes.fromString(js.toString());
328
+ default:
329
+ if (import_general.Bytes.isBytes(js)) {
330
+ return js;
331
+ }
332
+ return js.toString();
333
+ }
334
+ }
335
+ function parseJsonPayload(payload) {
336
+ if (payload === null) {
337
+ throw new import_types.StatusResponse.InvalidDataTypeError("Empty payload where JSON expected");
338
+ }
339
+ if (import_general.Bytes.isBytes(payload)) {
340
+ payload = import_general.Bytes.toString(payload);
341
+ }
342
+ try {
343
+ return JSON.parse(payload);
344
+ } catch (e) {
345
+ if (e instanceof SyntaxError) {
346
+ throw new import_types.StatusResponse.InvalidDataTypeError(`Payload is not valid JSON: ${e.message}`);
347
+ }
348
+ throw e;
349
+ }
350
+ }
351
+ //# sourceMappingURL=MqttInterface.js.map