@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 @@
1
+ {"version":3,"file":"MqttServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/MqttServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;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;;;;;;;;;;;;;WAaG;QACM,OAAO,SAAkC;KACrD;CACJ"}
@@ -0,0 +1,35 @@
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 { MqttInterface } from "./MqttInterface.js";
8
+ class MqttServer extends RemoteServer {
9
+ static id = "mqtt";
10
+ static interfaceType = MqttInterface;
11
+ }
12
+ ((MqttServer2) => {
13
+ class State extends RemoteServer.State {
14
+ /**
15
+ * The MQTT broker address.
16
+ *
17
+ * Supported protocols:
18
+ *
19
+ * - mqtt
20
+ * - mqtts
21
+ * - mqtt+ws (MQTT over web sockets)
22
+ * - mqtt+wss
23
+ * - mqtt+unix (MQTT over UNIX socket)
24
+ * - mqtts+unix
25
+ *
26
+ * If present, the path portion of the address adds a prefix to the topics registered by the server.
27
+ */
28
+ address = "mqtt:localhost/matter/{node}";
29
+ }
30
+ MqttServer2.State = State;
31
+ })(MqttServer || (MqttServer = {}));
32
+ export {
33
+ MqttServer
34
+ };
35
+ //# sourceMappingURL=MqttServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/behavior/system/mqtt/MqttServer.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAOvB,MAAM,mBAAmB,aAAa;AAAA,EACzC,OAAyB,KAAK;AAAA,EAC9B,OAAyB,gBAAgB;AAC7C;AAAA,CAEO,CAAUA,gBAAV;AAAA,EACI,MAAM,cAAc,aAAa,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAejC,UAAU;AAAA,EACvB;AAhBO,EAAAA,YAAM;AAAA,GADA;",
5
+ "names": ["MqttServer"]
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 "./MqttInterface.js";
7
+ export * from "./MqttServer.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/mqtt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
@@ -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 "./MqttInterface.js";
7
+ export * from "./MqttServer.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/behavior/system/mqtt/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Observable } from "#general";
6
7
  import { DatatypeModel } from "#model";
7
8
  import { Subscribe } from "#protocol";
8
9
  import { CaseAuthenticatedTag } from "#types";
@@ -12,7 +13,15 @@ export declare class NetworkClient extends NetworkBehavior {
12
13
  #private;
13
14
  internal: NetworkClient.Internal;
14
15
  state: NetworkClient.State;
16
+ events: NetworkClient.Events;
17
+ initialize(): void;
15
18
  startup(): Promise<void>;
19
+ /**
20
+ * Manually activate the subscription for the node, if not already active. This will fail if the node is disabled.
21
+ *
22
+ * If you want to disable subscription, set the isDisabled state to true or set autoSubscribe to false.
23
+ */
24
+ subscribe(): Promise<void>;
16
25
  /**
17
26
  * Define logical schema for fields that should persist.
18
27
  */
@@ -21,21 +30,37 @@ export declare class NetworkClient extends NetworkBehavior {
21
30
  export declare namespace NetworkClient {
22
31
  class Internal extends NetworkBehavior.Internal {
23
32
  runtime?: ClientNetworkRuntime;
33
+ /**
34
+ * Contains the subscription target state. It will also be true if a subscription is in the process of being
35
+ * established, or we wait for the node to be rediscovered.
36
+ */
37
+ subscriptionActivated: boolean;
38
+ /** The ID of the current active default subscription, if any */
39
+ defaultSubscriptionId?: number;
24
40
  }
25
41
  class State extends NetworkBehavior.State {
26
42
  /**
27
- * A subscription installed when the node is first commissioned and when the service is restarted.
43
+ * This subscription defines the default set of attributes and events to which the node will automatically
44
+ * subscribe when started, if autoSubscribe is true.
28
45
  *
29
46
  * The default subscription is a wildcard for all attributes of the node. You can set to undefined or filter
30
47
  * the fields and values but only values selected by this subscription will update automatically.
31
48
  *
32
49
  * Set to null to disable automatic subscription.
33
50
  */
34
- startupSubscription?: Subscribe | null;
51
+ defaultSubscription?: Subscribe;
35
52
  /**
36
- * If true, the matter.js will not perform network communication with the node.
53
+ * Represents the current operational network state of the node. When true the node is enabled and operational.
54
+ * When false the node is disabled and not operational.
55
+ *
56
+ * This state can be changed at any time to enable or disable the node.
37
57
  */
38
58
  isDisabled: boolean;
59
+ /**
60
+ * If true, automatically subscribe to the provided default subscription (or all attributes and events) when
61
+ * the node is started. If false, do not automatically subscribe.
62
+ */
63
+ autoSubscribe: boolean;
39
64
  /**
40
65
  * Case Authenticated Tags (CATs) to use for operational CASE sessions with this node.
41
66
  *
@@ -45,5 +70,9 @@ export declare namespace NetworkClient {
45
70
  */
46
71
  caseAuthenticatedTags?: CaseAuthenticatedTag[];
47
72
  }
73
+ class Events extends NetworkBehavior.Events {
74
+ autoSubscribe$Changed: Observable<[value: boolean, oldValue: boolean], void>;
75
+ defaultSubscription$Changed: Observable<[value: Subscribe | undefined, oldValue: Subscribe | undefined], void>;
76
+ }
48
77
  }
49
78
  //# sourceMappingURL=NetworkClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAErD,OAAO,EAA8B,SAAS,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAEpB,OAAO;IA4BtB;;OAEG;IACH,gBAAyB,MAAM,gBA+B5B;CACN;AAED,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAS,SAAQ,eAAe,CAAC,QAAQ;QAC1C,OAAO,CAAC,EAAE,oBAAoB,CAAC;KAC1C;IAED,MAAa,KAAM,SAAQ,eAAe,CAAC,KAAK;QAC5C;;;;;;;WAOG;QACH,mBAAmB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QAEvC;;WAEG;QACH,UAAU,UAAS;QAEnB;;;;;;WAMG;QACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClD;CACJ"}
1
+ {"version":3,"file":"NetworkClient.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/network/NetworkClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAuB,UAAU,EAAmC,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAA0D,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,aAAc,SAAQ,eAAe;;IACtC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAE5B,UAAU;IAKJ,OAAO;IAqBtB;;;;OAIG;IACH,SAAS;IA4DT;;OAEG;IACH,gBAAyB,MAAM,gBAwC5B;CACN;AAED,yBAAiB,aAAa,CAAC;IAC3B,MAAa,QAAS,SAAQ,eAAe,CAAC,QAAQ;QAC1C,OAAO,CAAC,EAAE,oBAAoB,CAAC;QAEvC;;;WAGG;QACH,qBAAqB,UAAS;QAE9B,gEAAgE;QAChE,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAClC;IAED,MAAa,KAAM,SAAQ,eAAe,CAAC,KAAK;QAC5C;;;;;;;;WAQG;QACH,mBAAmB,CAAC,EAAE,SAAS,CAAC;QAEhC;;;;;WAKG;QACH,UAAU,UAAS;QAEnB;;;WAGG;QACH,aAAa,UAAS;QAEtB;;;;;;WAMG;QACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAClD;IAED,MAAa,MAAO,SAAQ,eAAe,CAAC,MAAM;QAC9C,qBAAqB,wDAAyD;QAC9E,2BAA2B,oFAAqF;KACnH;CACJ"}
@@ -3,26 +3,79 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { RemoteDescriptor } from "#behavior/system/commissioning/RemoteDescriptor.js";
7
+ import { ImplementationError, Observable, ServerAddress } from "#general";
6
8
  import { DatatypeModel, FieldElement } from "#model";
7
9
  import { Node } from "#node/Node.js";
8
- import { DEFAULT_MIN_INTERVAL_FLOOR, Subscribe } from "#protocol";
10
+ import { DEFAULT_MIN_INTERVAL_FLOOR, PeerSet, Subscribe } from "#protocol";
9
11
  import { NetworkBehavior } from "./NetworkBehavior.js";
10
12
  class NetworkClient extends NetworkBehavior {
13
+ initialize() {
14
+ this.reactTo(this.events.autoSubscribe$Changed, this.#handleSubscription);
15
+ this.reactTo(this.events.defaultSubscription$Changed, this.#handleChangedDefaultSubscription);
16
+ }
11
17
  async startup() {
12
- const { startupSubscription, isDisabled } = this.state;
13
- if (startupSubscription === null || isDisabled) {
18
+ const peerAddress = this.#node.state.commissioning.peerAddress;
19
+ if (peerAddress !== void 0) {
20
+ const peerSet = this.env.get(PeerSet);
21
+ if (!peerSet.has(peerAddress)) {
22
+ const udpAddresses = this.#node.state.commissioning.addresses?.filter((a) => a.type === "udp") ?? [];
23
+ if (udpAddresses.length) {
24
+ const latestUdpAddress = ServerAddress(udpAddresses[udpAddresses.length - 1]);
25
+ await peerSet.addKnownPeer(
26
+ peerAddress,
27
+ latestUdpAddress,
28
+ RemoteDescriptor.fromLongForm(this.#node.state.commissioning)
29
+ );
30
+ }
31
+ }
32
+ }
33
+ await this.#handleSubscription();
34
+ }
35
+ /**
36
+ * Manually activate the subscription for the node, if not already active. This will fail if the node is disabled.
37
+ *
38
+ * If you want to disable subscription, set the isDisabled state to true or set autoSubscribe to false.
39
+ */
40
+ subscribe() {
41
+ if (this.state.isDisabled) {
42
+ throw new ImplementationError("Cannot subscribe when node is disabled");
43
+ }
44
+ return this.#handleSubscription(true);
45
+ }
46
+ async #handleChangedDefaultSubscription() {
47
+ if (!this.internal.subscriptionActivated) {
14
48
  return;
15
49
  }
16
- const subscribe = Subscribe({
17
- fabricFilter: true,
18
- minIntervalFloor: DEFAULT_MIN_INTERVAL_FLOOR,
19
- maxIntervalCeiling: 0,
20
- attributes: [{}],
21
- events: [{ isUrgent: true }],
22
- ...startupSubscription
23
- });
24
- for await (const _chunk of this.#node.interaction.read(subscribe)) ;
25
- await this.#node.interaction.subscribe(subscribe);
50
+ await this.#handleSubscription(false);
51
+ await this.#handleSubscription(true);
52
+ }
53
+ async #handleSubscription(desiredState = this.state.autoSubscribe) {
54
+ const { isDisabled } = this.state;
55
+ const subscriptionDesired = desiredState && !isDisabled;
56
+ if (subscriptionDesired === this.internal.subscriptionActivated) {
57
+ return;
58
+ }
59
+ if (subscriptionDesired) {
60
+ const subscribe = Subscribe({
61
+ fabricFilter: true,
62
+ minIntervalFloor: DEFAULT_MIN_INTERVAL_FLOOR,
63
+ maxIntervalCeiling: 0,
64
+ attributes: [{}],
65
+ events: [{ isUrgent: true }],
66
+ ...this.state.defaultSubscription
67
+ });
68
+ for await (const _chunk of this.#node.interaction.read(subscribe)) ;
69
+ const { subscriptionId } = await this.#node.interaction.subscribe(subscribe);
70
+ this.internal.subscriptionActivated = true;
71
+ this.internal.defaultSubscriptionId = subscriptionId;
72
+ } else {
73
+ if (this.internal.defaultSubscriptionId !== void 0) {
74
+ this.#node.interaction.subscriptions.get(this.internal.defaultSubscriptionId)?.close();
75
+ this.internal.defaultSubscriptionId = void 0;
76
+ }
77
+ this.internal.subscriptionActivated = false;
78
+ }
26
79
  }
27
80
  get #node() {
28
81
  return this.env.get(Node);
@@ -35,15 +88,23 @@ class NetworkClient extends NetworkBehavior {
35
88
  type: "struct",
36
89
  children: [
37
90
  FieldElement({
38
- name: "startupSubscription",
91
+ name: "defaultSubscription",
39
92
  type: "any",
40
93
  default: { type: "properties", properties: {} },
41
- quality: "XN"
94
+ conformance: "O",
95
+ quality: "N"
42
96
  }),
43
97
  FieldElement({
44
98
  name: "isDisabled",
45
99
  type: "bool",
46
- quality: "N"
100
+ quality: "N",
101
+ default: false
102
+ }),
103
+ FieldElement({
104
+ name: "autoSubscribe",
105
+ type: "bool",
106
+ quality: "N",
107
+ default: false
47
108
  }),
48
109
  FieldElement({
49
110
  name: "caseAuthenticatedTags",
@@ -62,22 +123,38 @@ class NetworkClient extends NetworkBehavior {
62
123
  }
63
124
  ((NetworkClient2) => {
64
125
  class Internal extends NetworkBehavior.Internal {
126
+ /**
127
+ * Contains the subscription target state. It will also be true if a subscription is in the process of being
128
+ * established, or we wait for the node to be rediscovered.
129
+ */
130
+ subscriptionActivated = false;
131
+ /** The ID of the current active default subscription, if any */
132
+ defaultSubscriptionId;
65
133
  }
66
134
  NetworkClient2.Internal = Internal;
67
135
  class State extends NetworkBehavior.State {
68
136
  /**
69
- * A subscription installed when the node is first commissioned and when the service is restarted.
137
+ * This subscription defines the default set of attributes and events to which the node will automatically
138
+ * subscribe when started, if autoSubscribe is true.
70
139
  *
71
140
  * The default subscription is a wildcard for all attributes of the node. You can set to undefined or filter
72
141
  * the fields and values but only values selected by this subscription will update automatically.
73
142
  *
74
143
  * Set to null to disable automatic subscription.
75
144
  */
76
- startupSubscription;
145
+ defaultSubscription;
77
146
  /**
78
- * If true, the matter.js will not perform network communication with the node.
147
+ * Represents the current operational network state of the node. When true the node is enabled and operational.
148
+ * When false the node is disabled and not operational.
149
+ *
150
+ * This state can be changed at any time to enable or disable the node.
79
151
  */
80
152
  isDisabled = false;
153
+ /**
154
+ * If true, automatically subscribe to the provided default subscription (or all attributes and events) when
155
+ * the node is started. If false, do not automatically subscribe.
156
+ */
157
+ autoSubscribe = false;
81
158
  /**
82
159
  * Case Authenticated Tags (CATs) to use for operational CASE sessions with this node.
83
160
  *
@@ -88,6 +165,11 @@ class NetworkClient extends NetworkBehavior {
88
165
  caseAuthenticatedTags;
89
166
  }
90
167
  NetworkClient2.State = State;
168
+ class Events extends NetworkBehavior.Events {
169
+ autoSubscribe$Changed = new Observable();
170
+ defaultSubscription$Changed = new Observable();
171
+ }
172
+ NetworkClient2.Events = Events;
91
173
  })(NetworkClient || (NetworkClient = {}));
92
174
  export {
93
175
  NetworkClient
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/network/NetworkClient.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,eAAe,oBAAoB;AAC5C,SAAS,YAAY;AACrB,SAAS,4BAA4B,iBAAiB;AAGtD,SAAS,uBAAuB;AAEzB,MAAM,sBAAsB,gBAAgB;AAAA,EAI/C,MAAe,UAAU;AACrB,UAAM,EAAE,qBAAqB,WAAW,IAAI,KAAK;AAEjD,QAAI,wBAAwB,QAAQ,YAAY;AAC5C;AAAA,IACJ;AAGA,UAAM,YAAY,UAAU;AAAA,MACxB,cAAc;AAAA,MACd,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MACpB,YAAY,CAAC,CAAC,CAAC;AAAA,MACf,QAAQ,CAAC,EAAE,UAAU,KAAK,CAAC;AAAA,MAC3B,GAAG;AAAA,IACP,CAAC;AAGD,qBAAiB,UAAU,KAAK,MAAM,YAAY,KAAK,SAAS,EAAE;AAGlE,UAAM,KAAK,MAAM,YAAY,UAAU,SAAS;AAAA,EACpD;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,IAAI,IAAI,IAAI;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAyB,SAAS,IAAI,cAAc;AAAA,IAChD,MAAM;AAAA,IACN,MAAM;AAAA,IAEN,UAAU;AAAA,MACN,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS,EAAE,MAAM,cAAc,YAAY,CAAC,EAAE;AAAA,QAC9C,SAAS;AAAA,MACb,CAAC;AAAA,MAED,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACb,CAAC;AAAA,MAED,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,UAAU;AAAA,UACN,aAAa;AAAA,YACT,MAAM;AAAA,YACN,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,CAAC;AACL;AAAA,CAEO,CAAUA,mBAAV;AAAA,EACI,MAAM,iBAAiB,gBAAgB,SAAS;AAAA,EAEvD;AAFO,EAAAA,eAAM;AAAA,EAIN,MAAM,cAAc,gBAAgB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAS7C;AAAA;AAAA;AAAA;AAAA,IAKA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASb;AAAA,EACJ;AAxBO,EAAAA,eAAM;AAAA,GALA;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAwB;AACjC,SAAS,qBAAqB,YAAY,qBAAuC;AACjF,SAAS,eAAe,oBAAoB;AAE5C,SAAS,YAAY;AACrB,SAA4B,4BAA4B,SAAS,iBAAiB;AAGlF,SAAS,uBAAuB;AAEzB,MAAM,sBAAsB,gBAAgB;AAAA,EAKtC,aAAa;AAClB,SAAK,QAAQ,KAAK,OAAO,uBAAuB,KAAK,mBAAmB;AACxE,SAAK,QAAQ,KAAK,OAAO,6BAA6B,KAAK,iCAAiC;AAAA,EAChG;AAAA,EAEA,MAAe,UAAU;AACrB,UAAM,cAAc,KAAK,MAAM,MAAM,cAAc;AACnD,QAAI,gBAAgB,QAAW;AAC3B,YAAM,UAAU,KAAK,IAAI,IAAI,OAAO;AACpC,UAAI,CAAC,QAAQ,IAAI,WAAW,GAAG;AAC3B,cAAM,eAAe,KAAK,MAAM,MAAM,cAAc,WAAW,OAAO,OAAK,EAAE,SAAS,KAAK,KAAK,CAAC;AACjG,YAAI,aAAa,QAAQ;AACrB,gBAAM,mBAAmB,cAAc,aAAa,aAAa,SAAS,CAAC,CAAC;AAE5E,gBAAM,QAAQ;AAAA,YACV;AAAA,YACA;AAAA,YACA,iBAAiB,aAAa,KAAK,MAAM,MAAM,aAAa;AAAA,UAChE;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,KAAK,oBAAoB;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY;AACR,QAAI,KAAK,MAAM,YAAY;AACvB,YAAM,IAAI,oBAAoB,wCAAwC;AAAA,IAC1E;AACA,WAAO,KAAK,oBAAoB,IAAI;AAAA,EACxC;AAAA,EAEA,MAAM,oCAAoC;AACtC,QAAI,CAAC,KAAK,SAAS,uBAAuB;AACtC;AAAA,IACJ;AAGA,UAAM,KAAK,oBAAoB,KAAK;AACpC,UAAM,KAAK,oBAAoB,IAAI;AAAA,EACvC;AAAA,EAEA,MAAM,oBAAoB,eAAe,KAAK,MAAM,eAAe;AAC/D,UAAM,EAAE,WAAW,IAAI,KAAK;AAC5B,UAAM,sBAAsB,gBAAgB,CAAC;AAE7C,QAAI,wBAAwB,KAAK,SAAS,uBAAuB;AAC7D;AAAA,IACJ;AAEA,QAAI,qBAAqB;AAGrB,YAAM,YAAY,UAAU;AAAA,QACxB,cAAc;AAAA,QACd,kBAAkB;AAAA,QAClB,oBAAoB;AAAA,QACpB,YAAY,CAAC,CAAC,CAAC;AAAA,QACf,QAAQ,CAAC,EAAE,UAAU,KAAK,CAAC;AAAA,QAC3B,GAAG,KAAK,MAAM;AAAA,MAClB,CAAC;AAGD,uBAAiB,UAAU,KAAK,MAAM,YAAY,KAAK,SAAS,EAAE;AAGlE,YAAM,EAAE,eAAe,IAAI,MAAM,KAAK,MAAM,YAAY,UAAU,SAAS;AAE3E,WAAK,SAAS,wBAAwB;AACtC,WAAK,SAAS,wBAAwB;AAAA,IAC1C,OAAO;AACH,UAAI,KAAK,SAAS,0BAA0B,QAAW;AACnD,QAAC,KAAK,MAAM,YAAkC,cACzC,IAAI,KAAK,SAAS,qBAAqB,GACtC,MAAM;AACZ,aAAK,SAAS,wBAAwB;AAAA,MAC1C;AACA,WAAK,SAAS,wBAAwB;AAAA,IAC1C;AAAA,EACJ;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,IAAI,IAAI,IAAI;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAyB,SAAS,IAAI,cAAc;AAAA,IAChD,MAAM;AAAA,IACN,MAAM;AAAA,IAEN,UAAU;AAAA,MACN,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS,EAAE,MAAM,cAAc,YAAY,CAAC,EAAE;AAAA,QAC9C,aAAa;AAAA,QACb,SAAS;AAAA,MACb,CAAC;AAAA,MAED,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MACb,CAAC;AAAA,MAED,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MACb,CAAC;AAAA,MAED,aAAa;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,QACT,aAAa;AAAA,QACb,UAAU;AAAA,UACN,aAAa;AAAA,YACT,MAAM;AAAA,YACN,MAAM;AAAA,UACV,CAAC;AAAA,QACL;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ,CAAC;AACL;AAAA,CAEO,CAAUA,mBAAV;AAAA,EACI,MAAM,iBAAiB,gBAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAOnD,wBAAwB;AAAA;AAAA,IAGxB;AAAA,EACJ;AAXO,EAAAA,eAAM;AAAA,EAaN,MAAM,cAAc,gBAAgB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAU7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,IAMb,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAShB;AAAA,EACJ;AAlCO,EAAAA,eAAM;AAAA,EAoCN,MAAM,eAAe,gBAAgB,OAAO;AAAA,IAC/C,wBAAwB,IAAI,WAAgD;AAAA,IAC5E,8BAA8B,IAAI,WAA4E;AAAA,EAClH;AAHO,EAAAA,eAAM;AAAA,GAlDA;",
5
5
  "names": ["NetworkClient"]
6
6
  }
@@ -15,7 +15,8 @@ export declare class ProductDescriptionServer extends Behavior {
15
15
  initialize(): void;
16
16
  }
17
17
  export declare namespace ProductDescriptionServer {
18
- const UNKNOWN_DEVICE_TYPE: DeviceTypeId;
18
+ const UNKNOWN_VENDOR_ID: VendorId;
19
+ const UNKNOWN_PRODUCT_ID = -1;
19
20
  class State implements ProductDescription {
20
21
  /**
21
22
  * The device name for commissioning announcements.
@@ -1 +1 @@
1
- {"version":3,"file":"ProductDescriptionServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/product-description/ProductDescriptionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,QAAQ;;IAClD,gBAAyB,EAAE,wBAAwB;IAE3C,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;IAErC,UAAU;CAyCtB;AAED,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,mBAAmB,cAA0B,CAAC;IAE3D,MAAa,KAAM,YAAW,kBAAkB;QAC5C;;WAEG;QACH,IAAI,SAAM;QAEV;;WAEG;QACH,UAAU,EAAE,YAAY,CAAuB;QAE/C;;WAEG;QACH,QAAQ,WAAuB;QAE/B;;WAEG;QACH,SAAS,SAAM;KAClB;CACJ"}
1
+ {"version":3,"file":"ProductDescriptionServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/product-description/ProductDescriptionServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,QAAQ;;IAClD,gBAAyB,EAAE,wBAAwB;IAE3C,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;IAErC,UAAU;CAyCtB;AAED,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,iBAAiB,UAAsB,CAAC;IAC9C,MAAM,kBAAkB,KAAK,CAAC;IAErC,MAAa,KAAM,YAAW,kBAAkB;QAC5C;;WAEG;QACH,IAAI,SAAM;QAEV;;WAEG;QACH,UAAU,EAAE,YAAY,CAAoC;QAE5D;;WAEG;QACH,QAAQ,WAAqB;QAE7B;;WAEG;QACH,SAAS,SAAsB;KAClC;CACJ"}
@@ -3,8 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { EndpointType } from "#endpoint/type/EndpointType.js";
6
7
  import { AggregatorDt, BridgedNodeDt, DeviceClassification, RootNodeDt } from "#model";
7
- import { DeviceTypeId, VendorId } from "#types";
8
+ import { VendorId } from "#types";
8
9
  import { BasicInformationBehavior } from "../../../behaviors/basic-information/BasicInformationBehavior.js";
9
10
  import { DescriptorBehavior } from "../../../behaviors/descriptor/DescriptorBehavior.js";
10
11
  import { Behavior } from "../../Behavior.js";
@@ -25,7 +26,7 @@ class ProductDescriptionServer extends Behavior {
25
26
  this.#setDeviceType();
26
27
  }
27
28
  #setDeviceType() {
28
- if (this.state.deviceType !== ProductDescriptionServer.UNKNOWN_DEVICE_TYPE) {
29
+ if (this.state.deviceType !== EndpointType.UNKNOWN_DEVICE_TYPE) {
29
30
  return;
30
31
  }
31
32
  const deviceType = inferDeviceType(this.agent);
@@ -41,7 +42,8 @@ class ProductDescriptionServer extends Behavior {
41
42
  }
42
43
  }
43
44
  ((ProductDescriptionServer2) => {
44
- ProductDescriptionServer2.UNKNOWN_DEVICE_TYPE = DeviceTypeId(-1, false);
45
+ ProductDescriptionServer2.UNKNOWN_VENDOR_ID = VendorId(-1, false);
46
+ ProductDescriptionServer2.UNKNOWN_PRODUCT_ID = -1;
45
47
  class State {
46
48
  /**
47
49
  * The device name for commissioning announcements.
@@ -50,15 +52,15 @@ class ProductDescriptionServer extends Behavior {
50
52
  /**
51
53
  * The device type for commissioning announcements.
52
54
  */
53
- deviceType = ProductDescriptionServer2.UNKNOWN_DEVICE_TYPE;
55
+ deviceType = EndpointType.UNKNOWN_DEVICE_TYPE;
54
56
  /**
55
57
  * The vendor ID for commissioning announcements.
56
58
  */
57
- vendorId = VendorId(-1, false);
59
+ vendorId = ProductDescriptionServer2.UNKNOWN_VENDOR_ID;
58
60
  /**
59
61
  * The product ID for commissioning announcements.
60
62
  */
61
- productId = -1;
63
+ productId = ProductDescriptionServer2.UNKNOWN_PRODUCT_ID;
62
64
  }
63
65
  ProductDescriptionServer2.State = State;
64
66
  })(ProductDescriptionServer || (ProductDescriptionServer = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/behavior/system/product-description/ProductDescriptionServer.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,cAAc,eAAe,sBAAsB,kBAAkB;AAC9E,SAAS,cAAkC,gBAAgB;AAC3D,SAAS,gCAAgC;AACzC,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AAKlB,MAAM,iCAAiC,SAAS;AAAA,EACnD,OAAyB,KAAK;AAAA,EAIrB,aAAa;AAClB,UAAM,KAAK,KAAK;AAEhB,UAAM,KAAK,KAAK,MAAM,IAAI,wBAAwB,EAAE;AAEpD,QAAI,GAAG,SAAS,IAAI;AAChB,SAAG,OAAO,GAAG;AAAA,IACjB;AAEA,QAAI,GAAG,aAAa,IAAI;AACpB,SAAG,WAAW,GAAG;AAAA,IACrB;AAEA,QAAI,GAAG,cAAc,IAAI;AACrB,SAAG,YAAY,GAAG;AAAA,IACtB;AAEA,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,MAAM,eAAe,yBAAyB,qBAAqB;AACxE;AAAA,IACJ;AAEA,UAAM,aAAa,gBAAgB,KAAK,KAAK;AAE7C,QAAI,eAAe,QAAW;AAC1B,WAAK,MAAM,aAAa;AACxB;AAAA,IACJ;AAGA,SAAK;AAAA,MACD,KAAK,SAAS,UAAU;AAAA,MAExB,KAAK;AAAA,MAEL,EAAE,MAAM,KAAK;AAAA,IACjB;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,8BAAV;AACI,EAAMA,0BAAA,sBAAsB,aAAa,IAAI,KAAK;AAAA,EAElD,MAAM,MAAoC;AAAA;AAAA;AAAA;AAAA,IAI7C,OAAO;AAAA;AAAA;AAAA;AAAA,IAKP,aAA2BA,0BAAA;AAAA;AAAA;AAAA;AAAA,IAK3B,WAAW,SAAS,IAAI,KAAK;AAAA;AAAA;AAAA;AAAA,IAK7B,YAAY;AAAA,EAChB;AApBO,EAAAA,0BAAM;AAAA,GAHA;AA0BjB,SAAS,gBAAgB,OAAwC;AAC7D,MAAI,CAAC,MAAM,SAAS,UAAU,SAAS,kBAAkB,GAAG;AACxD;AAAA,EACJ;AAEA,MAAI,UAAU;AACd,aAAW,MAAM,MAAM,IAAI,kBAAkB,EAAE,MAAM,gBAAgB;AACjE,YAAQ,GAAG,YAAY;AAAA;AAAA;AAAA,MAGnB,KAAK,WAAW;AAAA,MAChB,KAAK,cAAc;AAAA,MACnB,KAAK,aAAa;AACd,kBAAU;AACV;AAAA,MAEJ;AACI,YAAI,MAAM,SAAS,KAAK,gBAAgB,qBAAqB,QAAQ;AACjE,iBAAO,GAAG;AAAA,QACd;AAAA,IACR;AAAA,EACJ;AAEA,MAAI,CAAC,WAAW,CAAC,MAAM,SAAS,UAAU;AACtC;AAAA,EACJ;AAEA,aAAW,SAAS,MAAM,SAAS,OAAO;AACtC,UAAM,aAAa,gBAAgB,MAAM,SAAS,MAAM,OAAO,CAAC;AAChE,QAAI,eAAe,QAAW;AAC1B,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,oBAAoB;AAC7B,SAAS,cAAc,eAAe,sBAAsB,kBAAkB;AAC9E,SAA2C,gBAAgB;AAC3D,SAAS,gCAAgC;AACzC,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AAKlB,MAAM,iCAAiC,SAAS;AAAA,EACnD,OAAyB,KAAK;AAAA,EAIrB,aAAa;AAClB,UAAM,KAAK,KAAK;AAEhB,UAAM,KAAK,KAAK,MAAM,IAAI,wBAAwB,EAAE;AAEpD,QAAI,GAAG,SAAS,IAAI;AAChB,SAAG,OAAO,GAAG;AAAA,IACjB;AAEA,QAAI,GAAG,aAAa,IAAI;AACpB,SAAG,WAAW,GAAG;AAAA,IACrB;AAEA,QAAI,GAAG,cAAc,IAAI;AACrB,SAAG,YAAY,GAAG;AAAA,IACtB;AAEA,SAAK,eAAe;AAAA,EACxB;AAAA,EAEA,iBAAiB;AACb,QAAI,KAAK,MAAM,eAAe,aAAa,qBAAqB;AAC5D;AAAA,IACJ;AAEA,UAAM,aAAa,gBAAgB,KAAK,KAAK;AAE7C,QAAI,eAAe,QAAW;AAC1B,WAAK,MAAM,aAAa;AACxB;AAAA,IACJ;AAGA,SAAK;AAAA,MACD,KAAK,SAAS,UAAU;AAAA,MAExB,KAAK;AAAA,MAEL,EAAE,MAAM,KAAK;AAAA,IACjB;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,8BAAV;AACI,EAAMA,0BAAA,oBAAoB,SAAS,IAAI,KAAK;AAC5C,EAAMA,0BAAA,qBAAqB;AAAA,EAE3B,MAAM,MAAoC;AAAA;AAAA;AAAA;AAAA,IAI7C,OAAO;AAAA;AAAA;AAAA;AAAA,IAKP,aAA2B,aAAa;AAAA;AAAA;AAAA;AAAA,IAKxC,WAAWA,0BAAA;AAAA;AAAA;AAAA;AAAA,IAKX,YAAYA,0BAAA;AAAA,EAChB;AApBO,EAAAA,0BAAM;AAAA,GAJA;AA2BjB,SAAS,gBAAgB,OAAwC;AAC7D,MAAI,CAAC,MAAM,SAAS,UAAU,SAAS,kBAAkB,GAAG;AACxD;AAAA,EACJ;AAEA,MAAI,UAAU;AACd,aAAW,MAAM,MAAM,IAAI,kBAAkB,EAAE,MAAM,gBAAgB;AACjE,YAAQ,GAAG,YAAY;AAAA;AAAA;AAAA,MAGnB,KAAK,WAAW;AAAA,MAChB,KAAK,cAAc;AAAA,MACnB,KAAK,aAAa;AACd,kBAAU;AACV;AAAA,MAEJ;AACI,YAAI,MAAM,SAAS,KAAK,gBAAgB,qBAAqB,QAAQ;AACjE,iBAAO,GAAG;AAAA,QACd;AAAA,IACR;AAAA,EACJ;AAEA,MAAI,CAAC,WAAW,CAAC,MAAM,SAAS,UAAU;AACtC;AAAA,EACJ;AAEA,aAAW,SAAS,MAAM,SAAS,OAAO;AACtC,UAAM,aAAa,gBAAgB,MAAM,SAAS,MAAM,OAAO,CAAC;AAChE,QAAI,eAAe,QAAW;AAC1B,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
5
5
  "names": ["ProductDescriptionServer"]
6
6
  }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AppAddress } from "#general";
7
+ import type { ServerNode } from "#node/ServerNode.js";
8
+ import { ApiPath } from "./api/ApiPath.js";
9
+ /**
10
+ * An implementation of a non-Matter network protocol for accessing a {@link ServerNode}.
11
+ */
12
+ export declare abstract class RemoteInterface {
13
+ #private;
14
+ constructor(node: ServerNode, address: AppAddress);
15
+ get root(): ApiPath;
16
+ get env(): import("#general").Environment;
17
+ get node(): ServerNode<ServerNode.RootEndpoint>;
18
+ get address(): AppAddress;
19
+ get isAborted(): boolean;
20
+ get abort(): AbortSignal;
21
+ static create<This extends new (node: ServerNode, address: AppAddress) => RemoteInterface>(this: This, node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
22
+ close(): Promise<void>;
23
+ protected assertProtocol(appProtocol: string): void;
24
+ protected addWorker(worker: Promise<void>, description: string): void;
25
+ static protocol: string;
26
+ /**
27
+ * Initialize and begin handling requests to the interface.
28
+ */
29
+ protected abstract start(): Promise<void>;
30
+ /**
31
+ * Stop servicing requests. Called on close. The default implementation just waits for any workers to complete.
32
+ */
33
+ protected stop(): Promise<void>;
34
+ }
35
+ export declare namespace RemoteInterface {
36
+ interface Type {
37
+ protocol: string;
38
+ create(node: ServerNode, address: AppAddress): Promise<RemoteInterface>;
39
+ }
40
+ }
41
+ //# sourceMappingURL=RemoteInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteInterface.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAA+C,MAAM,UAAU,CAAC;AACnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C;;GAEG;AACH,8BAAsB,eAAe;;gBAOrB,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IAWjD,IAAI,IAAI,YAEP;IAED,IAAI,GAAG,mCAEN;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,OAAO,eAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,KAAK,gBAER;WAEY,MAAM,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,KAAK,eAAe,EAC3F,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,UAAU;IAYjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;IAQ5C,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM;IAI9D,MAAM,CAAC,QAAQ,SAAM;IAErB;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEzC;;OAEG;cACa,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxC;AAED,yBAAiB,eAAe,CAAC;IAC7B,UAAiB,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KAC3E;CACJ"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { BasicMultiplex, ImplementationError, Logger } from "#general";
7
+ import { ApiPath } from "./api/ApiPath.js";
8
+ const logger = Logger.get("RemoteAdapter");
9
+ class RemoteInterface {
10
+ #node;
11
+ #address;
12
+ #abort = new AbortController();
13
+ #root;
14
+ #workers = new BasicMultiplex();
15
+ constructor(node, address) {
16
+ if (address.appProtocol !== this.constructor.protocol) {
17
+ throw new ImplementationError(
18
+ `API endpoint type ${this.constructor.name} does not support address ${address}`
19
+ );
20
+ }
21
+ this.#node = node;
22
+ this.#address = address;
23
+ this.#root = new ApiPath(address);
24
+ }
25
+ get root() {
26
+ return this.#root;
27
+ }
28
+ get env() {
29
+ return this.#node.env;
30
+ }
31
+ get node() {
32
+ return this.#node;
33
+ }
34
+ get address() {
35
+ return this.#address;
36
+ }
37
+ get isAborted() {
38
+ return this.#abort.signal.aborted;
39
+ }
40
+ get abort() {
41
+ return this.#abort.signal;
42
+ }
43
+ static async create(node, address) {
44
+ const instance = new this(node, address);
45
+ try {
46
+ await instance.start();
47
+ } catch (e) {
48
+ await instance.close();
49
+ throw e;
50
+ }
51
+ return instance;
52
+ }
53
+ async close() {
54
+ if (this.isAborted) {
55
+ return;
56
+ }
57
+ this.#abort.abort();
58
+ try {
59
+ await this.stop();
60
+ } catch (e) {
61
+ logger.error(`Error terminating API endpoint ${this.address}`);
62
+ }
63
+ }
64
+ assertProtocol(appProtocol) {
65
+ if (this.address.appProtocol !== appProtocol) {
66
+ throw new ImplementationError(
67
+ `Invalid protocol ${this.address} for API endpoin type ${this.constructor.name}`
68
+ );
69
+ }
70
+ }
71
+ addWorker(worker, description) {
72
+ this.#workers.add(worker, description);
73
+ }
74
+ static protocol = "";
75
+ /**
76
+ * Stop servicing requests. Called on close. The default implementation just waits for any workers to complete.
77
+ */
78
+ async stop() {
79
+ await this.#workers.close();
80
+ }
81
+ }
82
+ export {
83
+ RemoteInterface
84
+ };
85
+ //# sourceMappingURL=RemoteInterface.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/behavior/system/remote/RemoteInterface.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAqB,gBAAgB,qBAAqB,cAAc;AAExE,SAAS,eAAe;AAExB,MAAM,SAAS,OAAO,IAAI,eAAe;AAKlC,MAAe,gBAAgB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,SAAS,IAAI,gBAAgB;AAAA,EAC7B;AAAA,EACA,WAAW,IAAI,eAAe;AAAA,EAE9B,YAAY,MAAkB,SAAqB;AAC/C,QAAI,QAAQ,gBAAiB,KAAK,YAAgD,UAAU;AACxF,YAAM,IAAI;AAAA,QACN,qBAAqB,KAAK,YAAY,IAAI,6BAA6B,OAAO;AAAA,MAClF;AAAA,IACJ;AACA,SAAK,QAAQ;AACb,SAAK,WAAW;AAChB,SAAK,QAAQ,IAAI,QAAQ,OAAO;AAAA,EACpC;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,OAAO,OAAO;AAAA,EAC9B;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,aAAa,OAET,MACA,SACF;AACE,UAAM,WAAW,IAAI,KAAK,MAAM,OAAO;AACvC,QAAI;AACA,YAAM,SAAS,MAAM;AAAA,IACzB,SAAS,GAAG;AACR,YAAM,SAAS,MAAM;AACrB,YAAM;AAAA,IACV;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAuB;AACzB,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AAEA,SAAK,OAAO,MAAM;AAElB,QAAI;AACA,YAAM,KAAK,KAAK;AAAA,IACpB,SAAS,GAAG;AACR,aAAO,MAAM,kCAAkC,KAAK,OAAO,EAAE;AAAA,IACjE;AAAA,EACJ;AAAA,EAEU,eAAe,aAAqB;AAC1C,QAAI,KAAK,QAAQ,gBAAgB,aAAa;AAC1C,YAAM,IAAI;AAAA,QACN,oBAAoB,KAAK,OAAO,yBAAyB,KAAK,YAAY,IAAI;AAAA,MAClF;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,UAAU,QAAuB,aAAqB;AAC5D,SAAK,SAAS,IAAI,QAAQ,WAAW;AAAA,EACzC;AAAA,EAEA,OAAO,WAAW;AAAA;AAAA;AAAA;AAAA,EAUlB,MAAgB,OAAsB;AAClC,UAAM,KAAK,SAAS,MAAM;AAAA,EAC9B;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Behavior } from "#behavior/Behavior.js";
7
+ import { DatatypeModel } from "#model";
8
+ import { RemoteInterface } from "./RemoteInterface.js";
9
+ /**
10
+ * Base class for {@link Behavior}s that enable remote access to a {@link ServerNode} via a non-Matter API.
11
+ *
12
+ * Each protocol supported by Matter.js implements a subclass of {@link RemoteServer} and {@link RemoteInterface}.
13
+ *
14
+ * The {@link RemoteServer} provides a convenient interface for adding a protocol to a {@link ServerNode}. The The
15
+ * {@link RemoteInterface} implements the actual protocol.
16
+ *
17
+ * For greater control you may instantiate and manage {@link RemoteInterface} separately from {@link RemoteServer}. To
18
+ * implement your own protocol you may extend the server implementations provided by matter.js, or create a new protocol
19
+ * implementation by subclassing {@link RemoteInterface} yourself.
20
+ */
21
+ export declare abstract class RemoteServer extends Behavior {
22
+ #private;
23
+ static readonly early = true;
24
+ static interfaceType: RemoteInterface.Type;
25
+ internal: RemoteServer.Internal;
26
+ state: RemoteServer.State;
27
+ initialize(): Promise<void>;
28
+ [Symbol.asyncDispose](): Promise<void>;
29
+ static readonly schema: DatatypeModel;
30
+ }
31
+ export declare namespace RemoteServer {
32
+ class Internal {
33
+ interface?: RemoteInterface;
34
+ }
35
+ class State {
36
+ /**
37
+ * The public address at which the service endpoint is accessible.
38
+ *
39
+ * The address is a URL. See subclasses for supported protocols. An "s" suffix indicates standard TLS support.
40
+ * The "+unix" suffix indicates that the hostname is a URL encoded path to a UNIX socket. The socket path may
41
+ * be absolute or relative to the node's storage root.
42
+ *
43
+ * The path portion of the URL generally acts as a namespace prefix for the relevant protocol implementation.
44
+ * Matter.js replaces the special token `{node}` in the URL with the {@link ServerNode.id}. This allows for
45
+ * multiple nodes to participate in a protocol in separate namespaces.
46
+ */
47
+ address: string;
48
+ /**
49
+ * Set to false to disable this service.
50
+ */
51
+ enabled: boolean;
52
+ /**
53
+ * By default the HTTP endpoint is available as soon as the {@link Node} initializes.
54
+ *
55
+ * If you set this to false, the HTTP endpoint is only available when the {@link Node}'s Matter networking is
56
+ * also online.
57
+ */
58
+ allowOfflineUse: boolean;
59
+ }
60
+ }
61
+ //# sourceMappingURL=RemoteServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemoteServer.d.ts","sourceRoot":"","sources":["../../../../../src/behavior/system/remote/RemoteServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAgB,MAAM,QAAQ,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,8BAAsB,YAAa,SAAQ,QAAQ;;IAC/C,gBAAyB,KAAK,QAAQ;IAEtC,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC;IAEnC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;IAChC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAEnB,UAAU;IAiBhB,CAAC,MAAM,CAAC,YAAY,CAAC;IAoC9B,gBAAyB,MAAM,gBAS7B;CACL;AAED,yBAAiB,YAAY,CAAC;IAC1B,MAAa,QAAQ;QACjB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC/B;IAED,MAAa,KAAK;QACd;;;;;;;;;;WAUG;QACH,OAAO,SAAM;QAEb;;WAEG;QACH,OAAO,UAAQ;QAEf;;;;;WAKG;QACH,eAAe,UAAQ;KAC1B;CACJ"}