@matter/node 0.16.0-alpha.0-20251006-3fe1e7c57 → 0.16.0-alpha.0-20251013-89bb7099d
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.
- package/dist/cjs/behavior/Behavior.d.ts +4 -0
- package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
- package/dist/cjs/behavior/Behavior.js +7 -1
- package/dist/cjs/behavior/Behavior.js.map +1 -1
- package/dist/cjs/behavior/Events.js +2 -2
- package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +67 -3
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.d.ts +4 -9
- package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.js +9 -12
- package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/cjs/behavior/state/managed/NameResolver.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/NameResolver.js.map +1 -1
- package/dist/cjs/behavior/state/managed/values/ValueCaster.d.ts +3 -2
- package/dist/cjs/behavior/state/managed/values/ValueCaster.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/values/ValueCaster.js +16 -3
- package/dist/cjs/behavior/state/managed/values/ValueCaster.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +12 -5
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +17 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +2 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/system/controller/ControllerBehavior.js +0 -4
- package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
- package/dist/cjs/behavior/system/http/HttpInterface.d.ts +36 -0
- package/dist/cjs/behavior/system/http/HttpInterface.d.ts.map +1 -0
- package/dist/cjs/behavior/system/http/HttpInterface.js +282 -0
- package/dist/cjs/behavior/system/http/HttpInterface.js.map +6 -0
- package/dist/cjs/behavior/system/http/HttpServer.d.ts +30 -0
- package/dist/cjs/behavior/system/http/HttpServer.d.ts.map +1 -0
- package/dist/cjs/behavior/system/http/HttpServer.js +51 -0
- package/dist/cjs/behavior/system/http/HttpServer.js.map +6 -0
- package/dist/cjs/behavior/system/http/index.d.ts +8 -0
- package/dist/cjs/behavior/system/http/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/http/index.js +25 -0
- package/dist/cjs/behavior/system/http/index.js.map +6 -0
- package/dist/cjs/behavior/system/index/IndexBehavior.d.ts +4 -4
- package/dist/cjs/behavior/system/index/IndexBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/system/index/IndexBehavior.js +9 -4
- package/dist/cjs/behavior/system/index/IndexBehavior.js.map +1 -1
- package/dist/cjs/behavior/system/index.d.ts +4 -0
- package/dist/cjs/behavior/system/index.d.ts.map +1 -1
- package/dist/cjs/behavior/system/index.js +4 -0
- package/dist/cjs/behavior/system/index.js.map +1 -1
- package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts +22 -0
- package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts.map +1 -0
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js +351 -0
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +6 -0
- package/dist/cjs/behavior/system/mqtt/MqttServer.d.ts +36 -0
- package/dist/cjs/behavior/system/mqtt/MqttServer.d.ts.map +1 -0
- package/dist/cjs/behavior/system/mqtt/MqttServer.js +55 -0
- package/dist/cjs/behavior/system/mqtt/MqttServer.js.map +6 -0
- package/dist/cjs/behavior/system/mqtt/index.d.ts +8 -0
- package/dist/cjs/behavior/system/mqtt/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/mqtt/index.js +25 -0
- package/dist/cjs/behavior/system/mqtt/index.js.map +6 -0
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts +32 -3
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.js +100 -18
- package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.d.ts +2 -1
- package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js +7 -5
- package/dist/cjs/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
- package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts +41 -0
- package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/RemoteInterface.js +105 -0
- package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +6 -0
- package/dist/cjs/behavior/system/remote/RemoteServer.d.ts +61 -0
- package/dist/cjs/behavior/system/remote/RemoteServer.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/RemoteServer.js +118 -0
- package/dist/cjs/behavior/system/remote/RemoteServer.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/Api.d.ts +36 -0
- package/dist/cjs/behavior/system/remote/api/Api.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/Api.js +157 -0
- package/dist/cjs/behavior/system/remote/api/Api.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/ApiPath.d.ts +32 -0
- package/dist/cjs/behavior/system/remote/api/ApiPath.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/ApiPath.js +101 -0
- package/dist/cjs/behavior/system/remote/api/ApiPath.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/ApiResource.d.ts +102 -0
- package/dist/cjs/behavior/system/remote/api/ApiResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/ApiResource.js +123 -0
- package/dist/cjs/behavior/system/remote/api/ApiResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/Envelope.d.ts +53 -0
- package/dist/cjs/behavior/system/remote/api/Envelope.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/Envelope.js +107 -0
- package/dist/cjs/behavior/system/remote/api/Envelope.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/LocalResponse.d.ts +28 -0
- package/dist/cjs/behavior/system/remote/api/LocalResponse.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/LocalResponse.js +22 -0
- package/dist/cjs/behavior/system/remote/api/LocalResponse.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/RemoteRequest.d.ts +43 -0
- package/dist/cjs/behavior/system/remote/api/RemoteRequest.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/RemoteRequest.js +55 -0
- package/dist/cjs/behavior/system/remote/api/RemoteRequest.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.d.ts +38 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.js +65 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/index.d.ts +13 -0
- package/dist/cjs/behavior/system/remote/api/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/index.js +30 -0
- package/dist/cjs/behavior/system/remote/api/index.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.d.ts +22 -0
- package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.js +69 -0
- package/dist/cjs/behavior/system/remote/api/resources/BehaviorResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.d.ts +25 -0
- package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.js +76 -0
- package/dist/cjs/behavior/system/remote/api/resources/ChangesResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/CommandResource.d.ts +26 -0
- package/dist/cjs/behavior/system/remote/api/resources/CommandResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/CommandResource.js +83 -0
- package/dist/cjs/behavior/system/remote/api/resources/CommandResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.d.ts +22 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.js +52 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointContainerResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts +34 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.js +78 -0
- package/dist/cjs/behavior/system/remote/api/resources/EndpointResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/NodeResource.d.ts +20 -0
- package/dist/cjs/behavior/system/remote/api/resources/NodeResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/NodeResource.js +74 -0
- package/dist/cjs/behavior/system/remote/api/resources/NodeResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.d.ts +28 -0
- package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.js +123 -0
- package/dist/cjs/behavior/system/remote/api/resources/PropertyResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.d.ts +22 -0
- package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.js +74 -0
- package/dist/cjs/behavior/system/remote/api/resources/ServerNodeResource.js.map +6 -0
- package/dist/cjs/behavior/system/remote/api/resources/index.d.ts +13 -0
- package/dist/cjs/behavior/system/remote/api/resources/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/resources/index.js +30 -0
- package/dist/cjs/behavior/system/remote/api/resources/index.js.map +6 -0
- package/dist/cjs/behavior/system/remote/index.d.ts +9 -0
- package/dist/cjs/behavior/system/remote/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/index.js +26 -0
- package/dist/cjs/behavior/system/remote/index.js.map +6 -0
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +1 -2
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts +16 -0
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -0
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.js +171 -0
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.js.map +6 -0
- package/dist/cjs/behavior/system/websocket/WebSocketServer.d.ts +30 -0
- package/dist/cjs/behavior/system/websocket/WebSocketServer.d.ts.map +1 -0
- package/dist/cjs/behavior/system/websocket/WebSocketServer.js +51 -0
- package/dist/cjs/behavior/system/websocket/WebSocketServer.js.map +6 -0
- package/dist/cjs/behavior/system/websocket/index.d.ts +8 -0
- package/dist/cjs/behavior/system/websocket/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/websocket/index.js +25 -0
- package/dist/cjs/behavior/system/websocket/index.js.map +6 -0
- package/dist/cjs/endpoint/Agent.js +1 -1
- package/dist/cjs/endpoint/Agent.js.map +1 -1
- package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/cjs/endpoint/Endpoint.js +6 -4
- package/dist/cjs/endpoint/Endpoint.js.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.d.ts +4 -0
- package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +11 -2
- package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/cjs/endpoint/properties/ClientNodeEndpoints.d.ts +20 -0
- package/dist/cjs/endpoint/properties/ClientNodeEndpoints.d.ts.map +1 -0
- package/dist/cjs/endpoint/properties/ClientNodeEndpoints.js +56 -0
- package/dist/cjs/endpoint/properties/ClientNodeEndpoints.js.map +6 -0
- package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts +4 -0
- package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/EndpointInitializer.js +6 -0
- package/dist/cjs/endpoint/properties/EndpointInitializer.js.map +1 -1
- package/dist/cjs/endpoint/properties/Endpoints.d.ts +1 -0
- package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Endpoints.js +3 -0
- package/dist/cjs/endpoint/properties/Endpoints.js.map +1 -1
- package/dist/cjs/endpoint/type/EndpointType.d.ts +2 -0
- package/dist/cjs/endpoint/type/EndpointType.d.ts.map +1 -1
- package/dist/cjs/endpoint/type/EndpointType.js +5 -0
- package/dist/cjs/endpoint/type/EndpointType.js.map +2 -2
- package/dist/cjs/node/ClientNode.d.ts +4 -2
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +6 -2
- package/dist/cjs/node/ClientNode.js.map +1 -1
- package/dist/cjs/node/Node.js +1 -1
- package/dist/cjs/node/NodeLifecycle.d.ts +1 -1
- package/dist/cjs/node/NodeLifecycle.d.ts.map +1 -1
- package/dist/cjs/node/NodeLifecycle.js +1 -1
- package/dist/cjs/node/NodeLifecycle.js.map +1 -1
- package/dist/cjs/node/client/ClientEndpointInitializer.d.ts +2 -0
- package/dist/cjs/node/client/ClientEndpointInitializer.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientEndpointInitializer.js +33 -0
- package/dist/cjs/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/cjs/node/client/ClientEventEmitter.d.ts +3 -3
- package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts +1 -0
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.js +6 -0
- package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/cjs/node/client/ClientStructure.d.ts +2 -0
- package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructure.js +18 -5
- package/dist/cjs/node/client/ClientStructure.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts +6 -0
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +55 -3
- package/dist/cjs/node/client/Peers.js.map +2 -2
- package/dist/cjs/node/index.d.ts +1 -0
- package/dist/cjs/node/index.d.ts.map +1 -1
- package/dist/cjs/node/index.js +1 -0
- package/dist/cjs/node/index.js.map +1 -1
- package/dist/cjs/node/integration/ChangeNotificationService.d.ts +56 -0
- package/dist/cjs/node/integration/ChangeNotificationService.d.ts.map +1 -0
- package/dist/cjs/node/integration/ChangeNotificationService.js +93 -0
- package/dist/cjs/node/integration/ChangeNotificationService.js.map +6 -0
- package/dist/cjs/node/{server → integration}/ProtocolService.d.ts +15 -0
- package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -0
- package/dist/cjs/node/{server → integration}/ProtocolService.js +26 -51
- package/dist/cjs/node/integration/ProtocolService.js.map +6 -0
- package/dist/cjs/node/integration/StateStream.d.ts +87 -0
- package/dist/cjs/node/integration/StateStream.d.ts.map +1 -0
- package/dist/cjs/node/integration/StateStream.js +276 -0
- package/dist/cjs/node/integration/StateStream.js.map +6 -0
- package/dist/cjs/node/integration/index.d.ts +9 -0
- package/dist/cjs/node/integration/index.d.ts.map +1 -0
- package/dist/cjs/node/integration/index.js +26 -0
- package/dist/cjs/node/integration/index.js.map +6 -0
- package/dist/cjs/node/server/OnlineServerInteraction.d.ts +1 -0
- package/dist/cjs/node/server/OnlineServerInteraction.d.ts.map +1 -1
- package/dist/cjs/node/server/OnlineServerInteraction.js +4 -1
- package/dist/cjs/node/server/OnlineServerInteraction.js.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.js +6 -0
- package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.js +2 -2
- package/dist/cjs/node/server/index.d.ts +0 -1
- package/dist/cjs/node/server/index.d.ts.map +1 -1
- package/dist/cjs/node/server/index.js +0 -1
- package/dist/cjs/node/server/index.js.map +1 -1
- package/dist/cjs/storage/client/ClientNodeStores.d.ts.map +1 -1
- package/dist/cjs/storage/client/ClientNodeStores.js.map +1 -1
- package/dist/esm/behavior/Behavior.d.ts +4 -0
- package/dist/esm/behavior/Behavior.d.ts.map +1 -1
- package/dist/esm/behavior/Behavior.js +7 -1
- package/dist/esm/behavior/Behavior.js.map +1 -1
- package/dist/esm/behavior/Events.js +2 -2
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +70 -4
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.d.ts +4 -9
- package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.js +9 -13
- package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/esm/behavior/state/managed/NameResolver.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/NameResolver.js.map +1 -1
- package/dist/esm/behavior/state/managed/values/ValueCaster.d.ts +3 -2
- package/dist/esm/behavior/state/managed/values/ValueCaster.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/values/ValueCaster.js +16 -3
- package/dist/esm/behavior/state/managed/values/ValueCaster.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +12 -5
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js +19 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js +2 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/system/controller/ControllerBehavior.js +0 -5
- package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
- package/dist/esm/behavior/system/http/HttpInterface.d.ts +36 -0
- package/dist/esm/behavior/system/http/HttpInterface.d.ts.map +1 -0
- package/dist/esm/behavior/system/http/HttpInterface.js +273 -0
- package/dist/esm/behavior/system/http/HttpInterface.js.map +6 -0
- package/dist/esm/behavior/system/http/HttpServer.d.ts +30 -0
- package/dist/esm/behavior/system/http/HttpServer.d.ts.map +1 -0
- package/dist/esm/behavior/system/http/HttpServer.js +31 -0
- package/dist/esm/behavior/system/http/HttpServer.js.map +6 -0
- package/dist/esm/behavior/system/http/index.d.ts +8 -0
- package/dist/esm/behavior/system/http/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/http/index.js +8 -0
- package/dist/esm/behavior/system/http/index.js.map +6 -0
- package/dist/esm/behavior/system/index/IndexBehavior.d.ts +4 -4
- package/dist/esm/behavior/system/index/IndexBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/system/index/IndexBehavior.js +9 -4
- package/dist/esm/behavior/system/index/IndexBehavior.js.map +1 -1
- package/dist/esm/behavior/system/index.d.ts +4 -0
- package/dist/esm/behavior/system/index.d.ts.map +1 -1
- package/dist/esm/behavior/system/index.js +4 -0
- package/dist/esm/behavior/system/index.js.map +1 -1
- package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts +22 -0
- package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts.map +1 -0
- package/dist/esm/behavior/system/mqtt/MqttInterface.js +341 -0
- package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +6 -0
- package/dist/esm/behavior/system/mqtt/MqttServer.d.ts +36 -0
- package/dist/esm/behavior/system/mqtt/MqttServer.d.ts.map +1 -0
- package/dist/esm/behavior/system/mqtt/MqttServer.js +35 -0
- package/dist/esm/behavior/system/mqtt/MqttServer.js.map +6 -0
- package/dist/esm/behavior/system/mqtt/index.d.ts +8 -0
- package/dist/esm/behavior/system/mqtt/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/mqtt/index.js +8 -0
- package/dist/esm/behavior/system/mqtt/index.js.map +6 -0
- package/dist/esm/behavior/system/network/NetworkClient.d.ts +32 -3
- package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.js +101 -19
- package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/esm/behavior/system/product-description/ProductDescriptionServer.d.ts +2 -1
- package/dist/esm/behavior/system/product-description/ProductDescriptionServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js +8 -6
- package/dist/esm/behavior/system/product-description/ProductDescriptionServer.js.map +1 -1
- package/dist/esm/behavior/system/remote/RemoteInterface.d.ts +41 -0
- package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/RemoteInterface.js +85 -0
- package/dist/esm/behavior/system/remote/RemoteInterface.js.map +6 -0
- package/dist/esm/behavior/system/remote/RemoteServer.d.ts +61 -0
- package/dist/esm/behavior/system/remote/RemoteServer.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/RemoteServer.js +98 -0
- package/dist/esm/behavior/system/remote/RemoteServer.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/Api.d.ts +36 -0
- package/dist/esm/behavior/system/remote/api/Api.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/Api.js +137 -0
- package/dist/esm/behavior/system/remote/api/Api.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/ApiPath.d.ts +32 -0
- package/dist/esm/behavior/system/remote/api/ApiPath.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/ApiPath.js +81 -0
- package/dist/esm/behavior/system/remote/api/ApiPath.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/ApiResource.d.ts +102 -0
- package/dist/esm/behavior/system/remote/api/ApiResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/ApiResource.js +103 -0
- package/dist/esm/behavior/system/remote/api/ApiResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/Envelope.d.ts +53 -0
- package/dist/esm/behavior/system/remote/api/Envelope.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/Envelope.js +87 -0
- package/dist/esm/behavior/system/remote/api/Envelope.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/LocalResponse.d.ts +28 -0
- package/dist/esm/behavior/system/remote/api/LocalResponse.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/LocalResponse.js +6 -0
- package/dist/esm/behavior/system/remote/api/LocalResponse.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/RemoteRequest.d.ts +43 -0
- package/dist/esm/behavior/system/remote/api/RemoteRequest.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/RemoteRequest.js +35 -0
- package/dist/esm/behavior/system/remote/api/RemoteRequest.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.d.ts +38 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.js +45 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/index.d.ts +13 -0
- package/dist/esm/behavior/system/remote/api/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/index.js +13 -0
- package/dist/esm/behavior/system/remote/api/index.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.d.ts +22 -0
- package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.js +49 -0
- package/dist/esm/behavior/system/remote/api/resources/BehaviorResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/ChangesResource.d.ts +25 -0
- package/dist/esm/behavior/system/remote/api/resources/ChangesResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/ChangesResource.js +56 -0
- package/dist/esm/behavior/system/remote/api/resources/ChangesResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/CommandResource.d.ts +26 -0
- package/dist/esm/behavior/system/remote/api/resources/CommandResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/CommandResource.js +63 -0
- package/dist/esm/behavior/system/remote/api/resources/CommandResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.d.ts +22 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.js +32 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointContainerResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts +34 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointResource.js +58 -0
- package/dist/esm/behavior/system/remote/api/resources/EndpointResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/NodeResource.d.ts +20 -0
- package/dist/esm/behavior/system/remote/api/resources/NodeResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/NodeResource.js +54 -0
- package/dist/esm/behavior/system/remote/api/resources/NodeResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/PropertyResource.d.ts +28 -0
- package/dist/esm/behavior/system/remote/api/resources/PropertyResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/PropertyResource.js +103 -0
- package/dist/esm/behavior/system/remote/api/resources/PropertyResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.d.ts +22 -0
- package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.js +54 -0
- package/dist/esm/behavior/system/remote/api/resources/ServerNodeResource.js.map +6 -0
- package/dist/esm/behavior/system/remote/api/resources/index.d.ts +13 -0
- package/dist/esm/behavior/system/remote/api/resources/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/resources/index.js +13 -0
- package/dist/esm/behavior/system/remote/api/resources/index.js.map +6 -0
- package/dist/esm/behavior/system/remote/index.d.ts +9 -0
- package/dist/esm/behavior/system/remote/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/index.js +9 -0
- package/dist/esm/behavior/system/remote/index.js.map +6 -0
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +1 -2
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts +16 -0
- package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -0
- package/dist/esm/behavior/system/websocket/WebSocketInterface.js +151 -0
- package/dist/esm/behavior/system/websocket/WebSocketInterface.js.map +6 -0
- package/dist/esm/behavior/system/websocket/WebSocketServer.d.ts +30 -0
- package/dist/esm/behavior/system/websocket/WebSocketServer.d.ts.map +1 -0
- package/dist/esm/behavior/system/websocket/WebSocketServer.js +31 -0
- package/dist/esm/behavior/system/websocket/WebSocketServer.js.map +6 -0
- package/dist/esm/behavior/system/websocket/index.d.ts +8 -0
- package/dist/esm/behavior/system/websocket/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/websocket/index.js +8 -0
- package/dist/esm/behavior/system/websocket/index.js.map +6 -0
- package/dist/esm/endpoint/Agent.js +1 -1
- package/dist/esm/endpoint/Agent.js.map +1 -1
- package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/esm/endpoint/Endpoint.js +7 -4
- package/dist/esm/endpoint/Endpoint.js.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.d.ts +4 -0
- package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +11 -2
- package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/esm/endpoint/properties/ClientNodeEndpoints.d.ts +20 -0
- package/dist/esm/endpoint/properties/ClientNodeEndpoints.d.ts.map +1 -0
- package/dist/esm/endpoint/properties/ClientNodeEndpoints.js +36 -0
- package/dist/esm/endpoint/properties/ClientNodeEndpoints.js.map +6 -0
- package/dist/esm/endpoint/properties/EndpointInitializer.d.ts +4 -0
- package/dist/esm/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/EndpointInitializer.js +6 -0
- package/dist/esm/endpoint/properties/EndpointInitializer.js.map +1 -1
- package/dist/esm/endpoint/properties/Endpoints.d.ts +1 -0
- package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Endpoints.js +3 -0
- package/dist/esm/endpoint/properties/Endpoints.js.map +1 -1
- package/dist/esm/endpoint/type/EndpointType.d.ts +2 -0
- package/dist/esm/endpoint/type/EndpointType.d.ts.map +1 -1
- package/dist/esm/endpoint/type/EndpointType.js +5 -0
- package/dist/esm/endpoint/type/EndpointType.js.map +2 -2
- package/dist/esm/node/ClientNode.d.ts +4 -2
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +6 -2
- package/dist/esm/node/ClientNode.js.map +1 -1
- package/dist/esm/node/Node.js +1 -1
- package/dist/esm/node/NodeLifecycle.d.ts +1 -1
- package/dist/esm/node/NodeLifecycle.d.ts.map +1 -1
- package/dist/esm/node/NodeLifecycle.js +1 -1
- package/dist/esm/node/NodeLifecycle.js.map +1 -1
- package/dist/esm/node/client/ClientEndpointInitializer.d.ts +2 -0
- package/dist/esm/node/client/ClientEndpointInitializer.d.ts.map +1 -1
- package/dist/esm/node/client/ClientEndpointInitializer.js +33 -0
- package/dist/esm/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/esm/node/client/ClientEventEmitter.d.ts +3 -3
- package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.d.ts +1 -0
- package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.js +6 -0
- package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/esm/node/client/ClientStructure.d.ts +2 -0
- package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructure.js +18 -5
- package/dist/esm/node/client/ClientStructure.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts +6 -0
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +57 -5
- package/dist/esm/node/client/Peers.js.map +1 -1
- package/dist/esm/node/index.d.ts +1 -0
- package/dist/esm/node/index.d.ts.map +1 -1
- package/dist/esm/node/index.js +1 -0
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/node/integration/ChangeNotificationService.d.ts +56 -0
- package/dist/esm/node/integration/ChangeNotificationService.d.ts.map +1 -0
- package/dist/esm/node/integration/ChangeNotificationService.js +73 -0
- package/dist/esm/node/integration/ChangeNotificationService.js.map +6 -0
- package/dist/esm/node/{server → integration}/ProtocolService.d.ts +15 -0
- package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -0
- package/dist/esm/node/{server → integration}/ProtocolService.js +26 -52
- package/dist/esm/node/integration/ProtocolService.js.map +6 -0
- package/dist/esm/node/integration/StateStream.d.ts +87 -0
- package/dist/esm/node/integration/StateStream.d.ts.map +1 -0
- package/dist/esm/node/integration/StateStream.js +256 -0
- package/dist/esm/node/integration/StateStream.js.map +6 -0
- package/dist/esm/node/integration/index.d.ts +9 -0
- package/dist/esm/node/integration/index.d.ts.map +1 -0
- package/dist/esm/node/integration/index.js +9 -0
- package/dist/esm/node/integration/index.js.map +6 -0
- package/dist/esm/node/server/OnlineServerInteraction.d.ts +1 -0
- package/dist/esm/node/server/OnlineServerInteraction.d.ts.map +1 -1
- package/dist/esm/node/server/OnlineServerInteraction.js +4 -1
- package/dist/esm/node/server/OnlineServerInteraction.js.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.js +7 -1
- package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
- package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/esm/node/server/ServerSubscription.js +2 -2
- package/dist/esm/node/server/index.d.ts +0 -1
- package/dist/esm/node/server/index.d.ts.map +1 -1
- package/dist/esm/node/server/index.js +0 -1
- package/dist/esm/node/server/index.js.map +1 -1
- package/dist/esm/storage/client/ClientNodeStores.d.ts.map +1 -1
- package/dist/esm/storage/client/ClientNodeStores.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/Behavior.ts +8 -1
- package/src/behavior/Events.ts +2 -2
- package/src/behavior/internal/BehaviorBacking.ts +82 -2
- package/src/behavior/state/managed/Datasource.ts +20 -26
- package/src/behavior/state/managed/NameResolver.ts +1 -1
- package/src/behavior/state/managed/values/ValueCaster.ts +21 -5
- package/src/behavior/system/commissioning/CommissioningClient.ts +34 -6
- package/src/behavior/system/commissioning/CommissioningServer.ts +2 -3
- package/src/behavior/system/controller/ControllerBehavior.ts +0 -7
- package/src/behavior/system/http/HttpInterface.ts +326 -0
- package/src/behavior/system/http/HttpServer.ts +32 -0
- package/src/behavior/system/http/index.ts +8 -0
- package/src/behavior/system/index/IndexBehavior.ts +14 -6
- package/src/behavior/system/index.ts +4 -0
- package/src/behavior/system/mqtt/MqttInterface.ts +414 -0
- package/src/behavior/system/mqtt/MqttServer.ts +38 -0
- package/src/behavior/system/mqtt/index.ts +8 -0
- package/src/behavior/system/network/NetworkClient.ts +124 -24
- package/src/behavior/system/product-description/ProductDescriptionServer.ts +7 -5
- package/src/behavior/system/remote/RemoteInterface.ts +119 -0
- package/src/behavior/system/remote/RemoteServer.ts +132 -0
- package/src/behavior/system/remote/api/Api.ts +179 -0
- package/src/behavior/system/remote/api/ApiPath.ts +101 -0
- package/src/behavior/system/remote/api/ApiResource.ts +169 -0
- package/src/behavior/system/remote/api/Envelope.ts +112 -0
- package/src/behavior/system/remote/api/LocalResponse.ts +37 -0
- package/src/behavior/system/remote/api/RemoteRequest.ts +88 -0
- package/src/behavior/system/remote/api/RemoteResponse.ts +83 -0
- package/src/behavior/system/remote/api/index.ts +13 -0
- package/src/behavior/system/remote/api/resources/BehaviorResource.ts +66 -0
- package/src/behavior/system/remote/api/resources/ChangesResource.ts +75 -0
- package/src/behavior/system/remote/api/resources/CommandResource.ts +91 -0
- package/src/behavior/system/remote/api/resources/EndpointContainerResource.ts +45 -0
- package/src/behavior/system/remote/api/resources/EndpointResource.ts +75 -0
- package/src/behavior/system/remote/api/resources/NodeResource.ts +71 -0
- package/src/behavior/system/remote/api/resources/PropertyResource.ts +124 -0
- package/src/behavior/system/remote/api/resources/ServerNodeResource.ts +63 -0
- package/src/behavior/system/remote/api/resources/index.ts +13 -0
- package/src/behavior/system/remote/index.ts +9 -0
- package/src/behavior/system/subscriptions/SubscriptionsServer.ts +1 -2
- package/src/behavior/system/websocket/WebSocketInterface.ts +127 -0
- package/src/behavior/system/websocket/WebSocketServer.ts +32 -0
- package/src/behavior/system/websocket/index.ts +8 -0
- package/src/endpoint/Agent.ts +1 -1
- package/src/endpoint/Endpoint.ts +10 -4
- package/src/endpoint/properties/Behaviors.ts +15 -2
- package/src/endpoint/properties/ClientNodeEndpoints.ts +38 -0
- package/src/endpoint/properties/EndpointInitializer.ts +7 -0
- package/src/endpoint/properties/Endpoints.ts +4 -0
- package/src/endpoint/type/EndpointType.ts +3 -0
- package/src/node/ClientNode.ts +7 -2
- package/src/node/Node.ts +1 -1
- package/src/node/NodeLifecycle.ts +1 -1
- package/src/node/client/ClientEndpointInitializer.ts +38 -0
- package/src/node/client/ClientEventEmitter.ts +5 -5
- package/src/node/client/ClientNodeInteraction.ts +7 -0
- package/src/node/client/ClientStructure.ts +23 -5
- package/src/node/client/Peers.ts +71 -5
- package/src/node/index.ts +1 -0
- package/src/node/integration/ChangeNotificationService.ts +122 -0
- package/src/node/{server → integration}/ProtocolService.ts +32 -74
- package/src/node/integration/StateStream.ts +474 -0
- package/src/node/integration/index.ts +9 -0
- package/src/node/server/OnlineServerInteraction.ts +5 -1
- package/src/node/server/ServerEnvironment.ts +9 -1
- package/src/node/server/ServerSubscription.ts +6 -6
- package/src/node/server/index.ts +0 -1
- package/src/storage/client/ClientNodeStores.ts +4 -0
- package/dist/cjs/node/server/ProtocolService.d.ts.map +0 -1
- package/dist/cjs/node/server/ProtocolService.js.map +0 -6
- package/dist/esm/node/server/ProtocolService.d.ts.map +0 -1
- package/dist/esm/node/server/ProtocolService.js.map +0 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behavior/system/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
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,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import {
|
|
7
|
+
Abort,
|
|
8
|
+
asJson,
|
|
9
|
+
Base64,
|
|
10
|
+
Bytes,
|
|
11
|
+
decamelize,
|
|
12
|
+
InternalError,
|
|
13
|
+
MqttService,
|
|
14
|
+
Mutex,
|
|
15
|
+
NotImplementedError
|
|
16
|
+
} from "#general";
|
|
17
|
+
import { any, Metatype } from "#model";
|
|
18
|
+
import { StateStream } from "#node/integration/StateStream.js";
|
|
19
|
+
import { StatusResponse } from "#types";
|
|
20
|
+
import { Api } from "../remote/api/Api.js";
|
|
21
|
+
import { ApiPath } from "../remote/api/ApiPath.js";
|
|
22
|
+
import { Envelope } from "../remote/api/Envelope.js";
|
|
23
|
+
import { RemoteResponse } from "../remote/api/RemoteResponse.js";
|
|
24
|
+
import { RemoteInterface } from "../remote/RemoteInterface.js";
|
|
25
|
+
const LOG_FACILITY = "MQTT";
|
|
26
|
+
class MqttInterface extends RemoteInterface {
|
|
27
|
+
static protocol = "mqtt";
|
|
28
|
+
#endpoint;
|
|
29
|
+
#mutex = new Mutex(this);
|
|
30
|
+
#retainedTopics = /* @__PURE__ */ new Map();
|
|
31
|
+
async start() {
|
|
32
|
+
this.#endpoint = await this.env.get(MqttService).connect({
|
|
33
|
+
address: this.address,
|
|
34
|
+
environment: this.node.env,
|
|
35
|
+
will: {
|
|
36
|
+
topic: this.root.at("status").toString(),
|
|
37
|
+
payload: "offline"
|
|
38
|
+
},
|
|
39
|
+
onUp: (endpoint) => {
|
|
40
|
+
if (!this.#endpoint) {
|
|
41
|
+
this.#endpoint = endpoint;
|
|
42
|
+
}
|
|
43
|
+
return this.#publish({
|
|
44
|
+
topic: this.root.at("status").toString(),
|
|
45
|
+
payload: "online"
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
this.addWorker(this.#listen(), "mqtt listener");
|
|
50
|
+
this.addWorker(this.#feed(), "mqtt feeder");
|
|
51
|
+
}
|
|
52
|
+
async stop() {
|
|
53
|
+
await this.#mutex.then();
|
|
54
|
+
await this.#mqtt?.close();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A background process that handles incoming MQTT messages.
|
|
58
|
+
*/
|
|
59
|
+
async #listen() {
|
|
60
|
+
await Abort.race(this.abort, this.node.construction);
|
|
61
|
+
if (Abort.is(this.abort)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
let topic = this.root.toString();
|
|
65
|
+
if (topic !== "") {
|
|
66
|
+
topic += "/#";
|
|
67
|
+
} else {
|
|
68
|
+
topic = "#";
|
|
69
|
+
}
|
|
70
|
+
for await (const message of this.#mqtt.subscribe(`${topic}`, { noLocal: true, abort: this.abort })) {
|
|
71
|
+
if (message.retain) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const relativeTopic = this.root.subpathFor(new ApiPath(message.topic));
|
|
75
|
+
if (!relativeTopic) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
await this.#respond(relativeTopic, message);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async #respond(topic, message) {
|
|
82
|
+
let response;
|
|
83
|
+
const via = message.correlationData ? Bytes.toHex(message.correlationData) : message.responseTopic;
|
|
84
|
+
try {
|
|
85
|
+
await this.node.act("MQTT listener", async (agent) => {
|
|
86
|
+
if (topic.toString() === "call") {
|
|
87
|
+
response = await this.#call(message);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const resource = await Api.resourceFor(agent, topic);
|
|
91
|
+
if (resource === void 0) {
|
|
92
|
+
throw new StatusResponse.NotFoundError(`No resource at subtopic ${topic}`);
|
|
93
|
+
}
|
|
94
|
+
const schema = resource.schema;
|
|
95
|
+
if (!schema) {
|
|
96
|
+
throw new NotImplementedError();
|
|
97
|
+
}
|
|
98
|
+
const input = payloadToJs(schema, message.payload);
|
|
99
|
+
if (resource.isInvocable) {
|
|
100
|
+
Api.logRequest(LOG_FACILITY, via, "invoke", topic.toString());
|
|
101
|
+
let value = await resource.invoke({ js: input });
|
|
102
|
+
const responseSchema = schema.responseModel;
|
|
103
|
+
if (responseSchema) {
|
|
104
|
+
value ??= new Envelope({ supervisor: resource.supervisorFor(responseSchema), js: null });
|
|
105
|
+
response = { kind: "value", value };
|
|
106
|
+
}
|
|
107
|
+
} else {
|
|
108
|
+
Api.logRequest(LOG_FACILITY, via, "update", topic.toString());
|
|
109
|
+
await resource.patch(input ?? { js: null });
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
} catch (e) {
|
|
113
|
+
response = Api.errorResponseOf(LOG_FACILITY, via, e);
|
|
114
|
+
}
|
|
115
|
+
if (!response) {
|
|
116
|
+
response = { kind: "ok" };
|
|
117
|
+
}
|
|
118
|
+
response.id = via;
|
|
119
|
+
Api.logResponse(LOG_FACILITY, RemoteResponse(response));
|
|
120
|
+
if (message.responseTopic) {
|
|
121
|
+
await this.#publish({
|
|
122
|
+
topic: message.responseTopic,
|
|
123
|
+
correlationData: message.correlationData,
|
|
124
|
+
payload: asJson(response)
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Specialized handling for "call" topic to support full {@link RemoteRequest}/{@link RemoteResponse} interaction.
|
|
130
|
+
*/
|
|
131
|
+
async #call(message) {
|
|
132
|
+
const request = parseJsonPayload(message.payload);
|
|
133
|
+
const response = await Api.execute(LOG_FACILITY, this.node, request, this.abort);
|
|
134
|
+
if (response.kind === "subscription") {
|
|
135
|
+
await response.stream.return?.();
|
|
136
|
+
throw new StatusResponse.InvalidSubscriptionError(
|
|
137
|
+
"Subscription via RPC is not supported, use MQTT instead"
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
return response;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A background process that continuously updates MQTT topics.
|
|
144
|
+
*/
|
|
145
|
+
async #feed() {
|
|
146
|
+
const stream = StateStream(this.node, { abort: this.abort });
|
|
147
|
+
for await (const change of stream) {
|
|
148
|
+
await this.#mutex.produce(async () => {
|
|
149
|
+
switch (change.kind) {
|
|
150
|
+
case "update":
|
|
151
|
+
await this.#publishUpdate(change);
|
|
152
|
+
break;
|
|
153
|
+
case "delete":
|
|
154
|
+
await this.#publishDelete(change);
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Publish attribute values for state changes.
|
|
161
|
+
*/
|
|
162
|
+
async #publishUpdate({ node, endpoint, behavior, changes }) {
|
|
163
|
+
let nodeTopics = this.#retainedTopics.get(node.id);
|
|
164
|
+
if (nodeTopics === void 0) {
|
|
165
|
+
this.#retainedTopics.set(node.id, nodeTopics = /* @__PURE__ */ new Map());
|
|
166
|
+
}
|
|
167
|
+
let endpointTopics = nodeTopics.get(endpoint.number);
|
|
168
|
+
if (endpointTopics === void 0) {
|
|
169
|
+
nodeTopics.set(endpoint.number, endpointTopics = /* @__PURE__ */ new Set());
|
|
170
|
+
}
|
|
171
|
+
const behaviorRoot = this.#nodeRoot(node.id).at([endpoint.number.toString(), decamelize(behavior.id)]);
|
|
172
|
+
for (const name in changes) {
|
|
173
|
+
const value = changes[name];
|
|
174
|
+
const schema = behavior.schema?.conformant.properties.for(name);
|
|
175
|
+
const payload = jsToPayload(schema ?? any, value);
|
|
176
|
+
const topic = behaviorRoot.at([name]).toString();
|
|
177
|
+
endpointTopics.add(topic);
|
|
178
|
+
await this.#publish({
|
|
179
|
+
topic,
|
|
180
|
+
payload,
|
|
181
|
+
retain: true
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Delete all published topics for an endpoint or node that has disappeared.
|
|
187
|
+
*/
|
|
188
|
+
async #publishDelete(change) {
|
|
189
|
+
const nodeTopics = this.#retainedTopics.get(change.node.id);
|
|
190
|
+
if (!nodeTopics) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const deleteEndpoint = async (endpoint) => {
|
|
194
|
+
const topics = nodeTopics.get(endpoint);
|
|
195
|
+
if (!topics) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
for (const topic of topics) {
|
|
199
|
+
await this.#publish({
|
|
200
|
+
topic,
|
|
201
|
+
payload: null,
|
|
202
|
+
retain: true
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
nodeTopics.delete(endpoint);
|
|
206
|
+
};
|
|
207
|
+
if (change.endpoint === change.node) {
|
|
208
|
+
for (const number of nodeTopics.keys()) {
|
|
209
|
+
await deleteEndpoint(number);
|
|
210
|
+
}
|
|
211
|
+
this.#retainedTopics.delete(change.node.id);
|
|
212
|
+
} else {
|
|
213
|
+
await deleteEndpoint(change.endpoint.number);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Obtain the root path for a node.
|
|
218
|
+
*
|
|
219
|
+
* This will either be the root path for the server or a subpath for peers.
|
|
220
|
+
*/
|
|
221
|
+
#nodeRoot(id) {
|
|
222
|
+
if (id === this.node.id) {
|
|
223
|
+
return this.root;
|
|
224
|
+
}
|
|
225
|
+
return this.root.at(["peers", id]);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Safe access to the MQTT endpoint.
|
|
229
|
+
*/
|
|
230
|
+
get #mqtt() {
|
|
231
|
+
if (this.#endpoint === void 0) {
|
|
232
|
+
throw new InternalError("MQTT endpoint missing");
|
|
233
|
+
}
|
|
234
|
+
return this.#endpoint;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Publish a message.
|
|
238
|
+
*
|
|
239
|
+
* Default QOS is 2.
|
|
240
|
+
*/
|
|
241
|
+
#publish(message) {
|
|
242
|
+
if (this.abort.aborted) {
|
|
243
|
+
throw new InternalError("MQTT publish after abort");
|
|
244
|
+
}
|
|
245
|
+
if (message.qos === void 0) {
|
|
246
|
+
message.qos = 2;
|
|
247
|
+
}
|
|
248
|
+
return this.#mqtt.publish(message);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
function payloadToJs(schema, payload) {
|
|
252
|
+
if (payload === null) {
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
const length = typeof payload === "string" ? payload.length : payload.byteLength;
|
|
256
|
+
if (!length) {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
let js;
|
|
260
|
+
switch (schema.effectiveMetatype) {
|
|
261
|
+
case Metatype.any:
|
|
262
|
+
js = payload;
|
|
263
|
+
break;
|
|
264
|
+
case Metatype.object:
|
|
265
|
+
case Metatype.array:
|
|
266
|
+
case Metatype.bitmap:
|
|
267
|
+
js = parseJsonPayload(payload);
|
|
268
|
+
break;
|
|
269
|
+
case Metatype.bytes:
|
|
270
|
+
if (typeof payload === "string") {
|
|
271
|
+
try {
|
|
272
|
+
js = Base64.decode(payload);
|
|
273
|
+
} catch (e) {
|
|
274
|
+
if (e instanceof SyntaxError) {
|
|
275
|
+
throw new StatusResponse.InvalidDataTypeError(
|
|
276
|
+
`Value is not binary or a base64 string: ${e.message}`
|
|
277
|
+
);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
js = payload;
|
|
283
|
+
break;
|
|
284
|
+
default:
|
|
285
|
+
if (Bytes.isBytes(payload)) {
|
|
286
|
+
try {
|
|
287
|
+
payload = Bytes.toString(payload);
|
|
288
|
+
} catch (e) {
|
|
289
|
+
if (e instanceof TypeError) {
|
|
290
|
+
throw new StatusResponse.InvalidDataTypeError(
|
|
291
|
+
`Value is not a valid UTF-8 string: ${e.message}`
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
js = payload;
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
return js;
|
|
300
|
+
}
|
|
301
|
+
function jsToPayload(schema, js) {
|
|
302
|
+
if (js === void 0 || js === null || js === "") {
|
|
303
|
+
return Bytes.empty;
|
|
304
|
+
}
|
|
305
|
+
switch (schema.effectiveMetatype) {
|
|
306
|
+
case Metatype.object:
|
|
307
|
+
case Metatype.array:
|
|
308
|
+
case Metatype.bitmap:
|
|
309
|
+
return asJson(js);
|
|
310
|
+
case Metatype.bytes:
|
|
311
|
+
if (Bytes.isBytes(js)) {
|
|
312
|
+
return js;
|
|
313
|
+
}
|
|
314
|
+
return Bytes.fromString(js.toString());
|
|
315
|
+
default:
|
|
316
|
+
if (Bytes.isBytes(js)) {
|
|
317
|
+
return js;
|
|
318
|
+
}
|
|
319
|
+
return js.toString();
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function parseJsonPayload(payload) {
|
|
323
|
+
if (payload === null) {
|
|
324
|
+
throw new StatusResponse.InvalidDataTypeError("Empty payload where JSON expected");
|
|
325
|
+
}
|
|
326
|
+
if (Bytes.isBytes(payload)) {
|
|
327
|
+
payload = Bytes.toString(payload);
|
|
328
|
+
}
|
|
329
|
+
try {
|
|
330
|
+
return JSON.parse(payload);
|
|
331
|
+
} catch (e) {
|
|
332
|
+
if (e instanceof SyntaxError) {
|
|
333
|
+
throw new StatusResponse.InvalidDataTypeError(`Payload is not valid JSON: ${e.message}`);
|
|
334
|
+
}
|
|
335
|
+
throw e;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
export {
|
|
339
|
+
MqttInterface
|
|
340
|
+
};
|
|
341
|
+
//# sourceMappingURL=MqttInterface.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/behavior/system/mqtt/MqttInterface.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Allows control of a Matter node via an MQTT broker.
|
|
10
|
+
*
|
|
11
|
+
* The broker must support MQTT version 5.
|
|
12
|
+
*/
|
|
13
|
+
export declare class MqttServer extends RemoteServer {
|
|
14
|
+
static readonly id = "mqtt";
|
|
15
|
+
static readonly interfaceType: typeof MqttInterface;
|
|
16
|
+
}
|
|
17
|
+
export declare namespace MqttServer {
|
|
18
|
+
class State extends RemoteServer.State {
|
|
19
|
+
/**
|
|
20
|
+
* The MQTT broker address.
|
|
21
|
+
*
|
|
22
|
+
* Supported protocols:
|
|
23
|
+
*
|
|
24
|
+
* - mqtt
|
|
25
|
+
* - mqtts
|
|
26
|
+
* - mqtt+ws (MQTT over web sockets)
|
|
27
|
+
* - mqtt+wss
|
|
28
|
+
* - mqtt+unix (MQTT over UNIX socket)
|
|
29
|
+
* - mqtts+unix
|
|
30
|
+
*
|
|
31
|
+
* If present, the path portion of the address adds a prefix to the topics registered by the server.
|
|
32
|
+
*/
|
|
33
|
+
address: string;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=MqttServer.d.ts.map
|
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -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
|
-
*
|
|
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
|
-
|
|
51
|
+
defaultSubscription?: Subscribe;
|
|
35
52
|
/**
|
|
36
|
-
*
|
|
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;
|
|
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"}
|