@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.
- 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/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/supervision/RootSupervisor.d.ts +4 -4
- package/dist/cjs/behavior/supervision/RootSupervisor.d.ts.map +1 -1
- package/dist/cjs/behavior/supervision/RootSupervisor.js +8 -10
- package/dist/cjs/behavior/supervision/RootSupervisor.js.map +1 -1
- package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +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 +7 -0
- package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/system/controller/ControllerBehavior.js +10 -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 +156 -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 +37 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
- package/dist/cjs/behavior/system/remote/api/RemoteResponse.js +52 -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 +2 -3
- 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 +5 -1
- 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/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/supervision/RootSupervisor.d.ts +4 -4
- package/dist/esm/behavior/supervision/RootSupervisor.d.ts.map +1 -1
- package/dist/esm/behavior/supervision/RootSupervisor.js +8 -11
- package/dist/esm/behavior/supervision/RootSupervisor.js.map +1 -1
- package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +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 +7 -0
- package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/system/controller/ControllerBehavior.js +10 -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 +136 -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 +37 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.d.ts.map +1 -0
- package/dist/esm/behavior/system/remote/api/RemoteResponse.js +32 -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 +2 -3
- 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 +5 -1
- 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/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/supervision/RootSupervisor.ts +16 -11
- package/src/behavior/supervision/ValueSupervisor.ts +1 -1
- 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 +13 -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 +70 -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 +2 -3
- 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 +6 -1
- 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 +30 -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 +8 -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
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { OnlineEvent } from "#behavior/Events.js";
|
|
7
8
|
import { Migration } from "#behavior/state/migrations/Migration.js";
|
|
8
9
|
import type { Agent } from "#endpoint/Agent.js";
|
|
9
10
|
import type { Endpoint } from "#endpoint/Endpoint.js";
|
|
10
11
|
import { BehaviorInitializationError } from "#endpoint/errors.js";
|
|
11
12
|
import type { SupportedElements } from "#endpoint/properties/Behaviors.js";
|
|
12
13
|
import {
|
|
14
|
+
camelize,
|
|
13
15
|
Construction,
|
|
14
16
|
Crypto,
|
|
15
17
|
EventEmitter,
|
|
@@ -19,8 +21,10 @@ import {
|
|
|
19
21
|
Logger,
|
|
20
22
|
MaybePromise,
|
|
21
23
|
Observable,
|
|
24
|
+
ObserverGroup,
|
|
22
25
|
} from "#general";
|
|
23
|
-
import {
|
|
26
|
+
import { ChangeNotificationService } from "#node/integration/ChangeNotificationService.js";
|
|
27
|
+
import { ProtocolService } from "#node/integration/ProtocolService.js";
|
|
24
28
|
import type { ClusterId } from "#types";
|
|
25
29
|
import type { Behavior } from "../Behavior.js";
|
|
26
30
|
import { Reactor } from "../Reactor.js";
|
|
@@ -36,12 +40,16 @@ const logger = Logger.get("BehaviorBacking");
|
|
|
36
40
|
export abstract class BehaviorBacking {
|
|
37
41
|
#endpoint: Endpoint;
|
|
38
42
|
#type: Behavior.Type;
|
|
43
|
+
#protocol: ProtocolService;
|
|
44
|
+
#changeTracking: ChangeNotificationService;
|
|
39
45
|
#internal?: object;
|
|
40
46
|
#events?: EventEmitter;
|
|
41
47
|
#options?: Behavior.Options;
|
|
42
48
|
#datasource?: Datasource;
|
|
43
49
|
#reactors?: Reactors;
|
|
44
50
|
#construction: Construction<BehaviorBacking>;
|
|
51
|
+
#suppressedChanges?: Set<string>;
|
|
52
|
+
#quietObservers?: ObserverGroup;
|
|
45
53
|
|
|
46
54
|
get construction() {
|
|
47
55
|
return this.#construction;
|
|
@@ -50,9 +58,13 @@ export abstract class BehaviorBacking {
|
|
|
50
58
|
constructor(endpoint: Endpoint, type: Behavior.Type, store: Datasource.Store, options?: Behavior.Options) {
|
|
51
59
|
this.#endpoint = endpoint;
|
|
52
60
|
this.#type = type;
|
|
61
|
+
this.#protocol = endpoint.env.get(ProtocolService);
|
|
62
|
+
this.#changeTracking = endpoint.env.get(ChangeNotificationService);
|
|
53
63
|
this.store = store;
|
|
54
64
|
this.#options = options;
|
|
55
65
|
|
|
66
|
+
this.#configureEventSuppression();
|
|
67
|
+
|
|
56
68
|
this.#construction = Construction(this);
|
|
57
69
|
this.#construction.onError(error => {
|
|
58
70
|
// The endpoint reports errors during initialization. For errors occurring later we report the error
|
|
@@ -96,7 +108,7 @@ export abstract class BehaviorBacking {
|
|
|
96
108
|
|
|
97
109
|
// Perform actual initialization
|
|
98
110
|
const promise = this.invokeInitializer(behavior, this.#options);
|
|
99
|
-
return MaybePromise.then(promise, () => this.#
|
|
111
|
+
return MaybePromise.then(promise, () => this.#protocol.addCluster(this), crash);
|
|
100
112
|
} catch (e) {
|
|
101
113
|
crash(e);
|
|
102
114
|
}
|
|
@@ -124,6 +136,8 @@ export abstract class BehaviorBacking {
|
|
|
124
136
|
}
|
|
125
137
|
|
|
126
138
|
return this.construction.close(() => {
|
|
139
|
+
this.#quietObservers?.close();
|
|
140
|
+
|
|
127
141
|
let result = MaybePromise.then(
|
|
128
142
|
() => this.#reactors?.close(),
|
|
129
143
|
() => {
|
|
@@ -210,6 +224,7 @@ export abstract class BehaviorBacking {
|
|
|
210
224
|
defaults: this.#endpoint.behaviors.defaultsFor(this.type),
|
|
211
225
|
store: this.store,
|
|
212
226
|
owner: this.#endpoint,
|
|
227
|
+
onChange: this.#onChange.bind(this),
|
|
213
228
|
};
|
|
214
229
|
}
|
|
215
230
|
|
|
@@ -289,6 +304,50 @@ export abstract class BehaviorBacking {
|
|
|
289
304
|
await this.#reactors.remove(selector);
|
|
290
305
|
}
|
|
291
306
|
|
|
307
|
+
/**
|
|
308
|
+
* We handle events in bulk via {@link Datasource.Options.onChange}, but "quieter" and "changesOmitted" events
|
|
309
|
+
* require special handling. Those we ignore in the change handler and instead report only when emitted by the
|
|
310
|
+
* corresponding {@link OnlineEvent}.
|
|
311
|
+
*/
|
|
312
|
+
#configureEventSuppression() {
|
|
313
|
+
const { schema } = this.type;
|
|
314
|
+
if (!schema) {
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
for (const property of schema.conformant.properties) {
|
|
319
|
+
const { changesOmitted, quieter } = property.effectiveQuality;
|
|
320
|
+
|
|
321
|
+
if (!changesOmitted && !quieter) {
|
|
322
|
+
continue;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const name = camelize(property.name);
|
|
326
|
+
|
|
327
|
+
if (!this.#suppressedChanges) {
|
|
328
|
+
this.#suppressedChanges = new Set();
|
|
329
|
+
}
|
|
330
|
+
this.#suppressedChanges.add(name);
|
|
331
|
+
|
|
332
|
+
if (!quieter) {
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
const event = (this.events as unknown as Record<string, OnlineEvent>)[`${name}$Changed`];
|
|
337
|
+
if (event === undefined) {
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (event.isQuieter) {
|
|
342
|
+
if (!this.#quietObservers) {
|
|
343
|
+
this.#quietObservers = new ObserverGroup();
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
this.#quietObservers.on(event.quiet, () => this.#broadcastChanges([name]));
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
292
351
|
/**
|
|
293
352
|
* Invoke {@link Behavior.destroy} to clean up application logic.
|
|
294
353
|
*/
|
|
@@ -322,4 +381,25 @@ export abstract class BehaviorBacking {
|
|
|
322
381
|
const behavior = this.createBehavior(agent, this.#type);
|
|
323
382
|
return behavior;
|
|
324
383
|
}
|
|
384
|
+
|
|
385
|
+
#onChange(props: string[]) {
|
|
386
|
+
if (this.#suppressedChanges) {
|
|
387
|
+
props = props.filter(name => !this.#suppressedChanges!.has(name));
|
|
388
|
+
}
|
|
389
|
+
this.#broadcastChanges(props);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* We provide two forms of optimized change tracking.
|
|
394
|
+
*
|
|
395
|
+
* {@link ProtocolService} offers a low-level service that supports the Matter protocol.
|
|
396
|
+
*
|
|
397
|
+
* {@link ChangeNotificationService} is a higher-level service that supports state synchronization use cases.
|
|
398
|
+
*
|
|
399
|
+
* This method informs these services of changes.
|
|
400
|
+
*/
|
|
401
|
+
#broadcastChanges(props: string[]) {
|
|
402
|
+
this.#protocol.handleChange(this, props);
|
|
403
|
+
this.#changeTracking.broadcastUpdate(this, props);
|
|
404
|
+
}
|
|
325
405
|
}
|
|
@@ -26,8 +26,6 @@ const logger = Logger.get("Datasource");
|
|
|
26
26
|
|
|
27
27
|
const FEATURES_KEY = "__features__";
|
|
28
28
|
|
|
29
|
-
const changed = Symbol("changed");
|
|
30
|
-
|
|
31
29
|
const viewTx = Transaction.open("offline-view", "ro");
|
|
32
30
|
|
|
33
31
|
/**
|
|
@@ -63,11 +61,6 @@ export interface Datasource<T extends StateType = StateType> extends Transaction
|
|
|
63
61
|
*/
|
|
64
62
|
location: AccessControl.Location;
|
|
65
63
|
|
|
66
|
-
/**
|
|
67
|
-
* Event that gets emitted when the state changes.
|
|
68
|
-
*/
|
|
69
|
-
changed: Observable<[changes: string[], version: number], MaybePromise>;
|
|
70
|
-
|
|
71
64
|
/**
|
|
72
65
|
* Events registered for this Datasource
|
|
73
66
|
*/
|
|
@@ -105,10 +98,6 @@ export function Datasource<const T extends StateType = StateType>(options: Datas
|
|
|
105
98
|
return internals.location;
|
|
106
99
|
},
|
|
107
100
|
|
|
108
|
-
get changed() {
|
|
109
|
-
return internals.events[changed];
|
|
110
|
-
},
|
|
111
|
-
|
|
112
101
|
get events() {
|
|
113
102
|
return internals.events;
|
|
114
103
|
},
|
|
@@ -145,10 +134,6 @@ export namespace Datasource {
|
|
|
145
134
|
[K in `${string}$Changing` | `${string}$Changed`]: Observable<Parameters<ValueObserver>, MaybePromise>;
|
|
146
135
|
};
|
|
147
136
|
|
|
148
|
-
export type InternalEvents = Events & {
|
|
149
|
-
[changed]: Observable<[changes: string[], version: number], MaybePromise>;
|
|
150
|
-
};
|
|
151
|
-
|
|
152
137
|
/**
|
|
153
138
|
* Datasource configuration options.
|
|
154
139
|
*/
|
|
@@ -204,6 +189,11 @@ export namespace Datasource {
|
|
|
204
189
|
* For structs we also support the other key (id or name) for input, but always write using the preferred key.
|
|
205
190
|
*/
|
|
206
191
|
primaryKey?: "name" | "id";
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Optional callback, invoked when properties change.
|
|
195
|
+
*/
|
|
196
|
+
onChange?: (attrs: string[]) => MaybePromise<void>;
|
|
207
197
|
}
|
|
208
198
|
|
|
209
199
|
/**
|
|
@@ -275,7 +265,7 @@ interface Internals extends Datasource.Options {
|
|
|
275
265
|
sessions?: Map<ValueSupervisor.Session, SessionContext>;
|
|
276
266
|
featuresKey?: string;
|
|
277
267
|
interactionObserver(session?: ValueSupervisor.Session): MaybePromise<void>;
|
|
278
|
-
events: Datasource.
|
|
268
|
+
events: Datasource.Events;
|
|
279
269
|
changedEventFor(key: string): undefined | Datasource.Events[any];
|
|
280
270
|
persistentFields: Set<string>;
|
|
281
271
|
}
|
|
@@ -328,10 +318,9 @@ function configure(options: Datasource.Options): Internals {
|
|
|
328
318
|
// Location affects security so make it immutable
|
|
329
319
|
Object.freeze(options.location);
|
|
330
320
|
|
|
331
|
-
const events =
|
|
332
|
-
events[changed] = new Observable();
|
|
321
|
+
const events = options.events ?? {};
|
|
333
322
|
|
|
334
|
-
let changedEventIndex: undefined | Map<string, undefined | Datasource.
|
|
323
|
+
let changedEventIndex: undefined | Map<string, undefined | Datasource.Events[`${string}$Changed`]>;
|
|
335
324
|
|
|
336
325
|
const persistentFields = options.supervisor.persistentKeys(options.primaryKey);
|
|
337
326
|
|
|
@@ -443,7 +432,15 @@ function configureExternalChanges(internals: Internals) {
|
|
|
443
432
|
}
|
|
444
433
|
}
|
|
445
434
|
|
|
446
|
-
const
|
|
435
|
+
const changedProps = Object.keys(changes);
|
|
436
|
+
|
|
437
|
+
const onChangePromise = internals.onChange?.(Array.from(changedProps));
|
|
438
|
+
|
|
439
|
+
const iterator = changedProps[Symbol.iterator]();
|
|
440
|
+
|
|
441
|
+
if (onChangePromise) {
|
|
442
|
+
return onChangePromise.then(emitChanged);
|
|
443
|
+
}
|
|
447
444
|
|
|
448
445
|
return emitChanged();
|
|
449
446
|
|
|
@@ -856,13 +853,10 @@ function createReference(resource: Transaction.Resource, internals: Internals, s
|
|
|
856
853
|
}
|
|
857
854
|
}
|
|
858
855
|
|
|
859
|
-
const
|
|
860
|
-
Array.from(changes.changeList.values()),
|
|
861
|
-
internals.version,
|
|
862
|
-
);
|
|
856
|
+
const onChangePromise = internals.onChange?.([...changes.changeList]);
|
|
863
857
|
|
|
864
|
-
if (
|
|
865
|
-
return
|
|
858
|
+
if (onChangePromise) {
|
|
859
|
+
return onChangePromise.then(emitChanged);
|
|
866
860
|
}
|
|
867
861
|
|
|
868
862
|
return emitChanged();
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import { RootSupervisor } from "#behavior/supervision/RootSupervisor.js";
|
|
8
8
|
import { camelize } from "#general";
|
|
9
9
|
import type { Schema } from "#model";
|
|
10
|
-
import { ClusterModel, Model, ValueModel } from "#model";
|
|
10
|
+
import { ClusterModel, Model, ValueModel, type FieldValue } from "#model";
|
|
11
11
|
import { Val } from "#protocol";
|
|
12
12
|
import { Internal } from "./Internal.js";
|
|
13
13
|
|
|
@@ -12,21 +12,37 @@ import { RootSupervisor } from "../../../supervision/RootSupervisor.js";
|
|
|
12
12
|
import { ValueSupervisor } from "../../../supervision/ValueSupervisor.js";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* Obtain a {@link ValueSupervisor.
|
|
15
|
+
* Obtain a {@link ValueSupervisor.Cast} function for the given schema.
|
|
16
16
|
*/
|
|
17
|
-
export function ValueCaster(schema: Schema, owner: RootSupervisor) {
|
|
17
|
+
export function ValueCaster(schema: Schema, owner: RootSupervisor): ValueSupervisor.Cast {
|
|
18
18
|
const metatype = schema.effectiveMetatype ?? Metatype.any;
|
|
19
19
|
|
|
20
|
+
let cast: ValueSupervisor.Cast;
|
|
20
21
|
switch (metatype) {
|
|
21
22
|
case Metatype.object:
|
|
22
|
-
|
|
23
|
+
cast = StructCaster(schema, owner);
|
|
24
|
+
break;
|
|
23
25
|
|
|
24
26
|
case Metatype.array:
|
|
25
|
-
|
|
27
|
+
cast = ListCaster(schema as ValueModel, owner);
|
|
28
|
+
break;
|
|
26
29
|
|
|
27
30
|
default:
|
|
28
|
-
|
|
31
|
+
cast = Metatype.cast[metatype];
|
|
32
|
+
break;
|
|
29
33
|
}
|
|
34
|
+
|
|
35
|
+
if (schema.quality.nullable) {
|
|
36
|
+
return value => {
|
|
37
|
+
if (value === null) {
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return cast(value);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return cast;
|
|
30
46
|
}
|
|
31
47
|
|
|
32
48
|
function StructCaster(schema: ValueModel | ClusterModel, owner: RootSupervisor) {
|
|
@@ -8,11 +8,11 @@ import { camelize, InternalError } from "#general";
|
|
|
8
8
|
import {
|
|
9
9
|
AttributeModel,
|
|
10
10
|
ClusterModel,
|
|
11
|
-
ElementTag,
|
|
12
11
|
FeatureMap,
|
|
13
12
|
FeatureSet,
|
|
14
13
|
Matter,
|
|
15
14
|
Model,
|
|
15
|
+
ModelIndex,
|
|
16
16
|
Schema,
|
|
17
17
|
Scope,
|
|
18
18
|
ValueModel,
|
|
@@ -59,7 +59,7 @@ export class RootSupervisor implements ValueSupervisor {
|
|
|
59
59
|
#rootSchema: Schema;
|
|
60
60
|
#root: ValueSupervisor;
|
|
61
61
|
#memberNames?: Set<string>;
|
|
62
|
-
#
|
|
62
|
+
#propertyNamesAndIds?: Map<string, AttributeId | undefined>;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Create a new supervisor.
|
|
@@ -86,12 +86,20 @@ export class RootSupervisor implements ValueSupervisor {
|
|
|
86
86
|
/**
|
|
87
87
|
* Obtain the supervisor for schema. The result is cached.
|
|
88
88
|
*/
|
|
89
|
-
static for
|
|
89
|
+
static for<T extends Schema | undefined>(
|
|
90
|
+
schema: T,
|
|
91
|
+
): T extends undefined ? RootSupervisor | undefined : RootSupervisor {
|
|
92
|
+
if (!schema) {
|
|
93
|
+
return undefined as any;
|
|
94
|
+
}
|
|
95
|
+
|
|
90
96
|
if (cache.has(schema)) {
|
|
91
97
|
return cache.get(schema)!;
|
|
92
98
|
}
|
|
99
|
+
|
|
93
100
|
const supervisor = new RootSupervisor(schema);
|
|
94
101
|
cache.set(schema, supervisor);
|
|
102
|
+
|
|
95
103
|
return supervisor;
|
|
96
104
|
}
|
|
97
105
|
|
|
@@ -168,17 +176,14 @@ export class RootSupervisor implements ValueSupervisor {
|
|
|
168
176
|
return persistent;
|
|
169
177
|
}
|
|
170
178
|
|
|
171
|
-
get
|
|
172
|
-
let names = this.#
|
|
179
|
+
get propertyNamesAndIds() {
|
|
180
|
+
let names = this.#propertyNamesAndIds;
|
|
173
181
|
if (!names) {
|
|
174
182
|
names = new Map();
|
|
175
183
|
for (const member of this.#members) {
|
|
176
|
-
|
|
177
|
-
continue;
|
|
178
|
-
}
|
|
179
|
-
names.set(camelize(member.name), AttributeId(member.id));
|
|
184
|
+
names.set(camelize(member.name), member.id as AttributeId | undefined);
|
|
180
185
|
}
|
|
181
|
-
this.#
|
|
186
|
+
this.#propertyNamesAndIds = names;
|
|
182
187
|
}
|
|
183
188
|
return names;
|
|
184
189
|
}
|
|
@@ -188,7 +193,7 @@ export class RootSupervisor implements ValueSupervisor {
|
|
|
188
193
|
*
|
|
189
194
|
* The {@link Scope.ConformanceMode} defaults to "deconflicted" if you do not override.
|
|
190
195
|
*/
|
|
191
|
-
membersOf<T extends Schema>(schema: T, options: Scope.MemberOptions = {}): Model.ChildOf<T
|
|
196
|
+
membersOf<T extends Schema>(schema: T, options: Scope.MemberOptions = {}): ModelIndex<Model.ChildOf<T>> {
|
|
192
197
|
if (options.conformance === undefined) {
|
|
193
198
|
options = { ...options, conformance: "deconflicted" };
|
|
194
199
|
}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Diagnostic,
|
|
12
12
|
Duration,
|
|
13
13
|
ImplementationError,
|
|
14
|
+
isIpNetworkChannel,
|
|
14
15
|
Logger,
|
|
15
16
|
NotImplementedError,
|
|
16
17
|
Observable,
|
|
@@ -23,6 +24,7 @@ import type { ClientNode } from "#node/ClientNode.js";
|
|
|
23
24
|
import type { Node } from "#node/Node.js";
|
|
24
25
|
import { IdentityService } from "#node/server/IdentityService.js";
|
|
25
26
|
import {
|
|
27
|
+
ChannelManager,
|
|
26
28
|
CommissioningMode,
|
|
27
29
|
ControllerCommissioner,
|
|
28
30
|
DiscoveryData,
|
|
@@ -156,7 +158,11 @@ export class CommissioningClient extends Behavior {
|
|
|
156
158
|
await this.context.transaction.commit();
|
|
157
159
|
|
|
158
160
|
const network = this.agent.get(NetworkClient);
|
|
159
|
-
network.state.
|
|
161
|
+
network.state.defaultSubscription = opts.defaultSubscription;
|
|
162
|
+
if (opts.autoSubscribe || opts.autoSubscribe === undefined) {
|
|
163
|
+
// Nodes we commission are auto-subscribed by default, unless disabled explicitly
|
|
164
|
+
network.state.autoSubscribe = opts.autoSubscribe ?? true;
|
|
165
|
+
}
|
|
160
166
|
network.state.caseAuthenticatedTags = opts.caseAuthenticatedTags;
|
|
161
167
|
|
|
162
168
|
logger.notice(
|
|
@@ -233,6 +239,20 @@ export class CommissioningClient extends Behavior {
|
|
|
233
239
|
const node = this.endpoint as ClientNode;
|
|
234
240
|
|
|
235
241
|
if (addr) {
|
|
242
|
+
const channels = node.env.get(ChannelManager);
|
|
243
|
+
if (channels.hasChannel(addr)) {
|
|
244
|
+
const channel = channels.getChannel(addr).channel;
|
|
245
|
+
const operationalAddress = isIpNetworkChannel(channel) ? channel.networkAddress : undefined;
|
|
246
|
+
if (operationalAddress) {
|
|
247
|
+
if (this.state.addresses === undefined) {
|
|
248
|
+
this.state.addresses = [];
|
|
249
|
+
}
|
|
250
|
+
if (!this.state.addresses.some(a => ServerAddress.isEqual(ServerAddress(a), operationalAddress))) {
|
|
251
|
+
this.state.addresses.push(ServerAddress.definitionOf(operationalAddress));
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
236
256
|
node.lifecycle.commissioned.emit(this.context);
|
|
237
257
|
} else {
|
|
238
258
|
node.lifecycle.decommissioned.emit(this.context);
|
|
@@ -436,9 +456,9 @@ export namespace CommissioningClient {
|
|
|
436
456
|
discoveryCapabilities?: TypeFromPartialBitSchema<typeof DiscoveryCapabilitiesBitmap>;
|
|
437
457
|
|
|
438
458
|
/**
|
|
439
|
-
* The initial read used to populate node data.
|
|
459
|
+
* The initial read/subscription used to populate node data.
|
|
440
460
|
*
|
|
441
|
-
* By default matter.js reads all attributes on the node. This allows us to efficiently initialize the complete
|
|
461
|
+
* By default, matter.js reads all attributes on the node. This allows us to efficiently initialize the complete
|
|
442
462
|
* node structure.
|
|
443
463
|
*
|
|
444
464
|
* If you only require a subset of attributes you can replace this with a more discriminative read. For
|
|
@@ -447,7 +467,7 @@ export namespace CommissioningClient {
|
|
|
447
467
|
*
|
|
448
468
|
* ```js
|
|
449
469
|
* {
|
|
450
|
-
*
|
|
470
|
+
* defaultSubscription: Read(
|
|
451
471
|
* Read.Attribute({ endpoint: 0 }),
|
|
452
472
|
* Read.Attribute({ cluster: OnOffCluster })
|
|
453
473
|
* )
|
|
@@ -455,9 +475,17 @@ export namespace CommissioningClient {
|
|
|
455
475
|
* ```
|
|
456
476
|
*
|
|
457
477
|
* Note that certain clusters like Descriptor and Basic Information contain critical operational data. If your
|
|
458
|
-
* read omits them then the node will only be partially functional once initialized
|
|
478
|
+
* read omits them then the node will only be partially functional once initialized or relevant clusters and
|
|
479
|
+
* endpoints need to be enabled manually.
|
|
480
|
+
*/
|
|
481
|
+
defaultSubscription?: Subscribe;
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* By default, nodes we commission are automatically subscribed to using the {@link defaultSubscription} (or a
|
|
485
|
+
* full wildcard subscription if that is undefined).
|
|
486
|
+
* When set to false, the node will not be automatically subscribed.
|
|
459
487
|
*/
|
|
460
|
-
|
|
488
|
+
autoSubscribe?: boolean;
|
|
461
489
|
|
|
462
490
|
/**
|
|
463
491
|
* Case Authenticated Tags (CATs) to use for operational CASE sessions with this node.
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import { SubscriptionsBehavior } from "#behavior/system/subscriptions/SubscriptionsServer.js";
|
|
8
8
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
9
|
+
import { EndpointType } from "#endpoint/type/EndpointType.js";
|
|
9
10
|
import {
|
|
10
11
|
AsyncObservable,
|
|
11
12
|
Bytes,
|
|
@@ -343,9 +344,7 @@ export class CommissioningServer extends Behavior {
|
|
|
343
344
|
}
|
|
344
345
|
|
|
345
346
|
get #hasAdvertisableDeviceType() {
|
|
346
|
-
return (
|
|
347
|
-
this.agent.get(ProductDescriptionServer).state.deviceType !== ProductDescriptionServer.UNKNOWN_DEVICE_TYPE
|
|
348
|
-
);
|
|
347
|
+
return this.agent.get(ProductDescriptionServer).state.deviceType !== EndpointType.UNKNOWN_DEVICE_TYPE;
|
|
349
348
|
}
|
|
350
349
|
}
|
|
351
350
|
|
|
@@ -8,10 +8,8 @@ import { Behavior } from "#behavior/Behavior.js";
|
|
|
8
8
|
import { BasicInformationBehavior } from "#behaviors/basic-information";
|
|
9
9
|
import { ConnectionlessTransportSet, ImplementationError } from "#general";
|
|
10
10
|
import { Node } from "#node/Node.js";
|
|
11
|
-
import { InteractionServer } from "#node/server/InteractionServer.js";
|
|
12
11
|
import {
|
|
13
12
|
Ble,
|
|
14
|
-
ClientSubscriptionHandler,
|
|
15
13
|
ClientSubscriptions,
|
|
16
14
|
Fabric,
|
|
17
15
|
FabricAuthority,
|
|
@@ -23,6 +21,7 @@ import {
|
|
|
23
21
|
Scanner,
|
|
24
22
|
ScannerSet,
|
|
25
23
|
} from "#protocol";
|
|
24
|
+
import { FabricId } from "@matter/types";
|
|
26
25
|
import type { CommissioningClient } from "../commissioning/CommissioningClient.js";
|
|
27
26
|
import { CommissioningServer } from "../commissioning/CommissioningServer.js";
|
|
28
27
|
import { NetworkServer } from "../network/NetworkServer.js";
|
|
@@ -48,6 +47,7 @@ export class ControllerBehavior extends Behavior {
|
|
|
48
47
|
throw new ImplementationError("adminFabricLabel must be set for ControllerBehavior.");
|
|
49
48
|
}
|
|
50
49
|
const adminFabricLabel = this.state.adminFabricLabel;
|
|
50
|
+
const adminFabricId = this.state.adminFabricId;
|
|
51
51
|
|
|
52
52
|
// Configure discovery transports
|
|
53
53
|
if (this.state.ip === undefined) {
|
|
@@ -77,6 +77,10 @@ export class ControllerBehavior extends Behavior {
|
|
|
77
77
|
override get adminFabricLabel() {
|
|
78
78
|
return adminFabricLabel;
|
|
79
79
|
}
|
|
80
|
+
|
|
81
|
+
get fabricId() {
|
|
82
|
+
return adminFabricId;
|
|
83
|
+
}
|
|
80
84
|
})(),
|
|
81
85
|
);
|
|
82
86
|
}
|
|
@@ -115,11 +119,6 @@ export class ControllerBehavior extends Behavior {
|
|
|
115
119
|
netTransports.add(this.env.get(Ble).centralInterface);
|
|
116
120
|
}
|
|
117
121
|
|
|
118
|
-
// Install handler to receive data reports for subscriptions
|
|
119
|
-
const subscriptions = this.env.get(ClientSubscriptions);
|
|
120
|
-
const interactionServer = this.env.get(InteractionServer);
|
|
121
|
-
interactionServer.clientHandler = new ClientSubscriptionHandler(subscriptions);
|
|
122
|
-
|
|
123
122
|
// Clean up as the node goes offline
|
|
124
123
|
const node = Node.forEndpoint(this.endpoint);
|
|
125
124
|
this.reactTo(node.lifecycle.goingOffline, this.#nodeGoingOffline);
|
|
@@ -185,5 +184,12 @@ export namespace ControllerBehavior {
|
|
|
185
184
|
* Contains the label of the admin fabric which is set for all commissioned devices
|
|
186
185
|
*/
|
|
187
186
|
adminFabricLabel = "matter.js";
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Contains the FabricId of the admin fabric when a defined number needs to be used because special Certificates
|
|
190
|
+
* are used.
|
|
191
|
+
* If not provided, a random FabricId will be generated.
|
|
192
|
+
*/
|
|
193
|
+
adminFabricId?: FabricId = undefined;
|
|
188
194
|
}
|
|
189
195
|
}
|