@matter/node 0.16.0-alpha.0-20251205-dfb1e1556 → 0.16.0-alpha.0-20251207-37e501b18
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 +5 -1
- package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
- package/dist/cjs/behavior/Behavior.js +10 -0
- package/dist/cjs/behavior/Behavior.js.map +1 -1
- package/dist/cjs/behavior/Events.d.ts +7 -7
- package/dist/cjs/behavior/Events.d.ts.map +1 -1
- package/dist/cjs/behavior/Events.js.map +1 -1
- package/dist/cjs/behavior/Transitions.d.ts +2 -3
- package/dist/cjs/behavior/Transitions.d.ts.map +1 -1
- package/dist/cjs/behavior/Transitions.js +1 -2
- package/dist/cjs/behavior/Transitions.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterEvents.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterEvents.d.ts.map +1 -1
- package/dist/cjs/behavior/context/NodeActivity.d.ts +2 -4
- package/dist/cjs/behavior/context/NodeActivity.d.ts.map +1 -1
- package/dist/cjs/behavior/context/NodeActivity.js +3 -10
- package/dist/cjs/behavior/context/NodeActivity.js.map +1 -1
- package/dist/cjs/behavior/context/server/LocalActorContext.d.ts +2 -3
- package/dist/cjs/behavior/context/server/LocalActorContext.d.ts.map +1 -1
- package/dist/cjs/behavior/context/server/LocalActorContext.js +3 -3
- package/dist/cjs/behavior/context/server/LocalActorContext.js.map +1 -1
- package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts +2 -6
- package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
- package/dist/cjs/behavior/context/server/RemoteActorContext.js +20 -22
- package/dist/cjs/behavior/context/server/RemoteActorContext.js.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.d.ts +2 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +3 -0
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/internal/Reactors.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/Reactors.js +2 -1
- package/dist/cjs/behavior/internal/Reactors.js.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.js +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +5 -11
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts +3 -2
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +3 -6
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/cjs/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js +91 -30
- package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkRuntime.js +1 -3
- package/dist/cjs/behavior/system/network/NetworkRuntime.js.map +1 -1
- package/dist/cjs/behavior/system/network/ServerGroupNetworking.js +2 -2
- package/dist/cjs/behavior/system/network/ServerGroupNetworking.js.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +152 -13
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +2 -2
- package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts +3 -2
- package/dist/cjs/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
- package/dist/cjs/behavior/system/remote/RemoteInterface.js +69 -10
- package/dist/cjs/behavior/system/remote/RemoteInterface.js.map +1 -1
- package/dist/cjs/behavior/system/remote/api/Api.d.ts.map +1 -1
- package/dist/cjs/behavior/system/remote/api/Api.js +4 -3
- package/dist/cjs/behavior/system/remote/api/Api.js.map +1 -1
- package/dist/cjs/behavior/system/sessions/SessionsBehavior.js +2 -2
- package/dist/cjs/behavior/system/sessions/SessionsBehavior.js.map +1 -1
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +14 -11
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -1
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.js +11 -3
- package/dist/cjs/behavior/system/websocket/WebSocketInterface.js.map +1 -1
- package/dist/cjs/behaviors/access-control/AccessControlServer.js +1 -1
- package/dist/cjs/behaviors/access-control/AccessControlServer.js.map +1 -1
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +65 -7
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +2 -2
- package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js +12 -8
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +2 -3
- package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js +2 -10
- package/dist/cjs/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts +0 -1
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +15 -14
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js +1 -1
- package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js.map +1 -1
- package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +1 -1
- package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
- package/dist/cjs/behaviors/window-covering/WindowCoveringServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/window-covering/WindowCoveringServer.js +21 -8
- package/dist/cjs/behaviors/window-covering/WindowCoveringServer.js.map +1 -1
- package/dist/cjs/endpoint/Endpoint.d.ts +2 -1
- package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/cjs/endpoint/Endpoint.js +95 -8
- package/dist/cjs/endpoint/Endpoint.js.map +2 -2
- package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +11 -7
- package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/cjs/endpoint/properties/Commands.js +1 -1
- package/dist/cjs/endpoint/properties/Commands.js.map +1 -1
- package/dist/cjs/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/EndpointLifecycle.js +3 -0
- package/dist/cjs/endpoint/properties/EndpointLifecycle.js.map +1 -1
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +2 -0
- package/dist/cjs/node/ClientNode.js.map +1 -1
- package/dist/cjs/node/Node.d.ts +2 -2
- package/dist/cjs/node/Node.d.ts.map +1 -1
- package/dist/cjs/node/Node.js +2 -1
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/ServerNode.d.ts.map +1 -1
- package/dist/cjs/node/ServerNode.js +54 -1
- package/dist/cjs/node/ServerNode.js.map +1 -1
- package/dist/cjs/node/client/ClientCommandMethod.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientCommandMethod.js +26 -29
- package/dist/cjs/node/client/ClientCommandMethod.js.map +1 -1
- package/dist/cjs/node/client/NodePeerAddressStore.d.ts +3 -3
- package/dist/cjs/node/client/NodePeerAddressStore.d.ts.map +1 -1
- package/dist/cjs/node/client/NodePeerAddressStore.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +14 -0
- package/dist/cjs/node/client/Peers.js.map +1 -1
- package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -1
- package/dist/cjs/node/integration/ProtocolService.js +3 -2
- package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
- package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/cjs/node/server/InteractionServer.js +54 -49
- package/dist/cjs/node/server/InteractionServer.js.map +2 -2
- package/dist/cjs/node/server/ServerEnvironment.js +1 -1
- package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.d.ts +61 -10
- package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.js +316 -157
- package/dist/cjs/node/server/ServerSubscription.js.map +2 -2
- package/dist/esm/behavior/Behavior.d.ts +5 -1
- package/dist/esm/behavior/Behavior.d.ts.map +1 -1
- package/dist/esm/behavior/Behavior.js +10 -0
- package/dist/esm/behavior/Behavior.js.map +1 -1
- package/dist/esm/behavior/Events.d.ts +7 -7
- package/dist/esm/behavior/Events.d.ts.map +1 -1
- package/dist/esm/behavior/Events.js.map +1 -1
- package/dist/esm/behavior/Transitions.d.ts +2 -3
- package/dist/esm/behavior/Transitions.d.ts.map +1 -1
- package/dist/esm/behavior/Transitions.js +1 -2
- package/dist/esm/behavior/Transitions.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorType.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterEvents.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterEvents.d.ts.map +1 -1
- package/dist/esm/behavior/context/NodeActivity.d.ts +2 -4
- package/dist/esm/behavior/context/NodeActivity.d.ts.map +1 -1
- package/dist/esm/behavior/context/NodeActivity.js +4 -11
- package/dist/esm/behavior/context/NodeActivity.js.map +1 -1
- package/dist/esm/behavior/context/server/LocalActorContext.d.ts +2 -3
- package/dist/esm/behavior/context/server/LocalActorContext.d.ts.map +1 -1
- package/dist/esm/behavior/context/server/LocalActorContext.js +5 -5
- package/dist/esm/behavior/context/server/LocalActorContext.js.map +1 -1
- package/dist/esm/behavior/context/server/RemoteActorContext.d.ts +2 -6
- package/dist/esm/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
- package/dist/esm/behavior/context/server/RemoteActorContext.js +27 -24
- package/dist/esm/behavior/context/server/RemoteActorContext.js.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts +2 -1
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +4 -0
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/internal/Reactors.d.ts.map +1 -1
- package/dist/esm/behavior/internal/Reactors.js +2 -1
- package/dist/esm/behavior/internal/Reactors.js.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.js +2 -1
- package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js +6 -13
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts +3 -2
- package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js +3 -7
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/esm/behavior/system/mqtt/MqttInterface.d.ts.map +1 -1
- package/dist/esm/behavior/system/mqtt/MqttInterface.js +91 -30
- package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
- package/dist/esm/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkRuntime.js +1 -3
- package/dist/esm/behavior/system/network/NetworkRuntime.js.map +1 -1
- package/dist/esm/behavior/system/network/ServerGroupNetworking.js +2 -2
- package/dist/esm/behavior/system/network/ServerGroupNetworking.js.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +152 -14
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +2 -2
- package/dist/esm/behavior/system/remote/RemoteInterface.d.ts +3 -2
- package/dist/esm/behavior/system/remote/RemoteInterface.d.ts.map +1 -1
- package/dist/esm/behavior/system/remote/RemoteInterface.js +76 -11
- package/dist/esm/behavior/system/remote/RemoteInterface.js.map +1 -1
- package/dist/esm/behavior/system/remote/api/Api.d.ts.map +1 -1
- package/dist/esm/behavior/system/remote/api/Api.js +4 -3
- package/dist/esm/behavior/system/remote/api/Api.js.map +1 -1
- package/dist/esm/behavior/system/sessions/SessionsBehavior.js +2 -2
- package/dist/esm/behavior/system/sessions/SessionsBehavior.js.map +1 -1
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +17 -14
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/esm/behavior/system/websocket/WebSocketInterface.d.ts.map +1 -1
- package/dist/esm/behavior/system/websocket/WebSocketInterface.js +11 -3
- package/dist/esm/behavior/system/websocket/WebSocketInterface.js.map +1 -1
- package/dist/esm/behaviors/access-control/AccessControlServer.js +1 -1
- package/dist/esm/behaviors/access-control/AccessControlServer.js.map +1 -1
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +66 -8
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
- package/dist/esm/behaviors/basic-information/BasicInformationServer.js +2 -2
- package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js +13 -9
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
- package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts +2 -3
- package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.d.ts.map +1 -1
- package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js +2 -10
- package/dist/esm/behaviors/general-commissioning/ServerNodeFailsafeContext.js.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts +0 -1
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +15 -15
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js +1 -1
- package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js.map +1 -1
- package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +1 -1
- package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
- package/dist/esm/behaviors/window-covering/WindowCoveringServer.d.ts.map +1 -1
- package/dist/esm/behaviors/window-covering/WindowCoveringServer.js +22 -9
- package/dist/esm/behaviors/window-covering/WindowCoveringServer.js.map +1 -1
- package/dist/esm/endpoint/Endpoint.d.ts +2 -1
- package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/esm/endpoint/Endpoint.js +96 -8
- package/dist/esm/endpoint/Endpoint.js.map +2 -2
- package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +11 -7
- package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/esm/endpoint/properties/Commands.js +1 -1
- package/dist/esm/endpoint/properties/Commands.js.map +1 -1
- package/dist/esm/endpoint/properties/EndpointLifecycle.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/EndpointLifecycle.js +3 -0
- package/dist/esm/endpoint/properties/EndpointLifecycle.js.map +1 -1
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +2 -0
- package/dist/esm/node/ClientNode.js.map +1 -1
- package/dist/esm/node/Node.d.ts +2 -2
- package/dist/esm/node/Node.d.ts.map +1 -1
- package/dist/esm/node/Node.js +4 -3
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/ServerNode.d.ts.map +1 -1
- package/dist/esm/node/ServerNode.js +54 -1
- package/dist/esm/node/ServerNode.js.map +1 -1
- package/dist/esm/node/client/ClientCommandMethod.d.ts.map +1 -1
- package/dist/esm/node/client/ClientCommandMethod.js +26 -29
- package/dist/esm/node/client/ClientCommandMethod.js.map +1 -1
- package/dist/esm/node/client/NodePeerAddressStore.d.ts +3 -3
- package/dist/esm/node/client/NodePeerAddressStore.d.ts.map +1 -1
- package/dist/esm/node/client/NodePeerAddressStore.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +15 -1
- package/dist/esm/node/client/Peers.js.map +1 -1
- package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -1
- package/dist/esm/node/integration/ProtocolService.js +4 -2
- package/dist/esm/node/integration/ProtocolService.js.map +1 -1
- package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/esm/node/server/InteractionServer.js +58 -50
- package/dist/esm/node/server/InteractionServer.js.map +2 -2
- package/dist/esm/node/server/ServerEnvironment.js +1 -1
- package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
- package/dist/esm/node/server/ServerSubscription.d.ts +61 -10
- package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/esm/node/server/ServerSubscription.js +321 -159
- package/dist/esm/node/server/ServerSubscription.js.map +2 -2
- package/package.json +7 -7
- package/src/behavior/Behavior.ts +12 -0
- package/src/behavior/Events.ts +12 -8
- package/src/behavior/Transitions.ts +3 -3
- package/src/behavior/cluster/ClusterBehaviorType.ts +2 -2
- package/src/behavior/cluster/ClusterEvents.ts +1 -1
- package/src/behavior/context/NodeActivity.ts +4 -13
- package/src/behavior/context/server/LocalActorContext.ts +6 -8
- package/src/behavior/context/server/RemoteActorContext.ts +34 -33
- package/src/behavior/internal/BehaviorBacking.ts +5 -0
- package/src/behavior/internal/Reactors.ts +1 -0
- package/src/behavior/state/managed/Datasource.ts +2 -1
- package/src/behavior/system/commissioning/CommissioningClient.ts +6 -13
- package/src/behavior/system/commissioning/CommissioningServer.ts +6 -8
- package/src/behavior/system/mqtt/MqttInterface.ts +6 -2
- package/src/behavior/system/network/NetworkRuntime.ts +1 -3
- package/src/behavior/system/network/ServerGroupNetworking.ts +2 -2
- package/src/behavior/system/network/ServerNetworkRuntime.ts +49 -15
- package/src/behavior/system/remote/RemoteInterface.ts +22 -4
- package/src/behavior/system/remote/api/Api.ts +4 -3
- package/src/behavior/system/sessions/SessionsBehavior.ts +2 -2
- package/src/behavior/system/subscriptions/SubscriptionsServer.ts +15 -13
- package/src/behavior/system/websocket/WebSocketInterface.ts +2 -1
- package/src/behaviors/access-control/AccessControlServer.ts +1 -1
- package/src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts +14 -7
- package/src/behaviors/basic-information/BasicInformationServer.ts +2 -2
- package/src/behaviors/general-commissioning/GeneralCommissioningServer.ts +14 -9
- package/src/behaviors/general-commissioning/ServerNodeFailsafeContext.ts +3 -15
- package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +1 -1
- package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +1 -1
- package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +22 -19
- package/src/behaviors/scenes-management/ScenesManagementServer.ts +1 -1
- package/src/behaviors/thermostat/AtomicWriteHandler.ts +1 -1
- package/src/behaviors/window-covering/WindowCoveringServer.ts +24 -9
- package/src/endpoint/Endpoint.ts +21 -4
- package/src/endpoint/properties/Behaviors.ts +11 -6
- package/src/endpoint/properties/Commands.ts +1 -1
- package/src/endpoint/properties/EndpointLifecycle.ts +4 -0
- package/src/node/ClientNode.ts +3 -0
- package/src/node/Node.ts +3 -2
- package/src/node/ServerNode.ts +1 -0
- package/src/node/client/ClientCommandMethod.ts +31 -38
- package/src/node/client/NodePeerAddressStore.ts +3 -3
- package/src/node/client/Peers.ts +19 -1
- package/src/node/integration/ProtocolService.ts +4 -2
- package/src/node/server/InteractionServer.ts +62 -51
- package/src/node/server/ServerEnvironment.ts +1 -1
- package/src/node/server/ServerSubscription.ts +225 -153
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
Diagnostic,
|
|
13
13
|
Duration,
|
|
14
14
|
InternalError,
|
|
15
|
+
Lifetime,
|
|
15
16
|
Logger,
|
|
16
17
|
MatterError,
|
|
17
18
|
MaybePromise,
|
|
@@ -28,6 +29,7 @@ import {
|
|
|
28
29
|
InteractionRecipient,
|
|
29
30
|
InteractionServerMessenger,
|
|
30
31
|
InvokeRequest,
|
|
32
|
+
Mark,
|
|
31
33
|
Message,
|
|
32
34
|
MessageExchange,
|
|
33
35
|
MessageType,
|
|
@@ -35,9 +37,11 @@ import {
|
|
|
35
37
|
PeerAddress,
|
|
36
38
|
ProtocolHandler,
|
|
37
39
|
ReadRequest,
|
|
40
|
+
Session,
|
|
38
41
|
SessionManager,
|
|
39
42
|
SessionType,
|
|
40
43
|
SubscribeRequest,
|
|
44
|
+
Subscription,
|
|
41
45
|
TimedRequest,
|
|
42
46
|
WriteRequest,
|
|
43
47
|
WriteResponse,
|
|
@@ -118,6 +122,7 @@ export interface InteractionContext {
|
|
|
118
122
|
* Translates interactions from the Matter protocol to matter.js APIs.
|
|
119
123
|
*/
|
|
120
124
|
export class InteractionServer implements ProtocolHandler, InteractionRecipient {
|
|
125
|
+
readonly #lifetime: Lifetime;
|
|
121
126
|
readonly id = INTERACTION_PROTOCOL_ID;
|
|
122
127
|
readonly requiresSecureSession = true;
|
|
123
128
|
#context: InteractionContext;
|
|
@@ -134,6 +139,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
134
139
|
#serverInteraction: OnlineServerInteraction;
|
|
135
140
|
|
|
136
141
|
constructor(node: ServerNode, sessions: SessionManager) {
|
|
142
|
+
this.#lifetime = node.construction.join("interaction server");
|
|
143
|
+
|
|
137
144
|
this.#nextSubscriptionId = node.env.get(Crypto).randomUint32;
|
|
138
145
|
|
|
139
146
|
this.#context = {
|
|
@@ -217,7 +224,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
217
224
|
|
|
218
225
|
#prepareOnlineContext(
|
|
219
226
|
exchange: MessageExchange,
|
|
220
|
-
message
|
|
227
|
+
message?: Message,
|
|
221
228
|
fabricFiltered?: boolean,
|
|
222
229
|
timed = false,
|
|
223
230
|
): RemoteActorContext.Options {
|
|
@@ -259,7 +266,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
259
266
|
} = readRequest;
|
|
260
267
|
|
|
261
268
|
logger.debug(() => [
|
|
262
|
-
"Read
|
|
269
|
+
"Read",
|
|
270
|
+
Mark.INBOUND,
|
|
263
271
|
exchange.via,
|
|
264
272
|
Diagnostic.asFlags({ fabricFiltered: isFabricFiltered }),
|
|
265
273
|
Diagnostic.dict({
|
|
@@ -312,7 +320,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
312
320
|
const sessionType = message.packetHeader.sessionType;
|
|
313
321
|
|
|
314
322
|
logger.info(() => [
|
|
315
|
-
"Write
|
|
323
|
+
"Write",
|
|
324
|
+
Mark.INBOUND,
|
|
316
325
|
exchange.via,
|
|
317
326
|
Diagnostic.asFlags({ suppressResponse, moreChunkedMessages }),
|
|
318
327
|
Diagnostic.weak(writeRequests.map(req => this.#node.protocol.inspectPath(req.path)).join(", ")),
|
|
@@ -410,7 +419,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
410
419
|
} = request;
|
|
411
420
|
|
|
412
421
|
logger.info(() => [
|
|
413
|
-
"Subscribe
|
|
422
|
+
"Subscribe",
|
|
423
|
+
Mark.INBOUND,
|
|
414
424
|
exchange.via,
|
|
415
425
|
Diagnostic.asFlags({ fabricFiltered: isFabricFiltered, keepSubscriptions }),
|
|
416
426
|
Diagnostic.dict({
|
|
@@ -437,10 +447,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
437
447
|
const fabric = session.fabric;
|
|
438
448
|
|
|
439
449
|
if (fabric !== undefined && !keepSubscriptions) {
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
450
|
+
let clearedCount = 0;
|
|
451
|
+
for (const session of this.#context.sessions.sessions) {
|
|
452
|
+
for (const subscription of session.subscriptions) {
|
|
453
|
+
await subscription.handlePeerCancel();
|
|
454
|
+
}
|
|
455
|
+
clearedCount++;
|
|
456
|
+
}
|
|
444
457
|
if (clearedCount > 0) {
|
|
445
458
|
logger.debug(
|
|
446
459
|
`Cleared ${clearedCount} subscriptions for Subscriber node ${session.peerNodeId} because keepSubscriptions=false`,
|
|
@@ -456,7 +469,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
456
469
|
}
|
|
457
470
|
|
|
458
471
|
logger.debug(() => [
|
|
459
|
-
"Subscribe request details
|
|
472
|
+
"Subscribe request details",
|
|
473
|
+
Mark.INBOUND,
|
|
460
474
|
exchange.via,
|
|
461
475
|
Diagnostic.dict({
|
|
462
476
|
attributes: attributeRequests?.length
|
|
@@ -518,14 +532,14 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
518
532
|
);
|
|
519
533
|
} catch (error) {
|
|
520
534
|
logger.error(
|
|
521
|
-
`Subscription ${subscriptionId} for
|
|
535
|
+
`Subscription ${Subscription.idStrOf(subscriptionId)} for session ${session.via}: Error while sending initial data reports:`,
|
|
522
536
|
error instanceof MatterError ? error.message : error,
|
|
523
537
|
);
|
|
524
538
|
if (error instanceof StatusResponseError && !(error instanceof ReceivedStatusResponseError)) {
|
|
525
539
|
logger.info(
|
|
526
540
|
"Status",
|
|
527
541
|
Diagnostic.strong(`${Status[error.code]}(${error.code})`),
|
|
528
|
-
|
|
542
|
+
Mark.OUTBOUND,
|
|
529
543
|
exchange.via,
|
|
530
544
|
"Error:",
|
|
531
545
|
Diagnostic.errorMessage(error),
|
|
@@ -552,8 +566,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
552
566
|
}),
|
|
553
567
|
{
|
|
554
568
|
logContext: {
|
|
555
|
-
|
|
556
|
-
maxInterval,
|
|
569
|
+
...Subscription.diagnosticOf(subscriptionId),
|
|
570
|
+
maxInterval: Duration.format(maxInterval),
|
|
557
571
|
},
|
|
558
572
|
},
|
|
559
573
|
);
|
|
@@ -562,17 +576,16 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
562
576
|
subscription.activate();
|
|
563
577
|
}
|
|
564
578
|
|
|
579
|
+
#initiateSubscriptionExchange(addressOrSession: PeerAddress | Session, protocolId: number) {
|
|
580
|
+
if (addressOrSession instanceof Session) {
|
|
581
|
+
return this.#context.exchangeManager.initiateExchangeForSession(addressOrSession, protocolId);
|
|
582
|
+
}
|
|
583
|
+
return this.#context.exchangeManager.initiateExchange(addressOrSession, protocolId);
|
|
584
|
+
}
|
|
585
|
+
|
|
565
586
|
async #establishSubscription(
|
|
566
587
|
id: number,
|
|
567
|
-
|
|
568
|
-
minIntervalFloorSeconds,
|
|
569
|
-
maxIntervalCeilingSeconds,
|
|
570
|
-
attributeRequests,
|
|
571
|
-
dataVersionFilters,
|
|
572
|
-
eventRequests,
|
|
573
|
-
eventFilters,
|
|
574
|
-
isFabricFiltered,
|
|
575
|
-
}: SubscribeRequest,
|
|
588
|
+
request: SubscribeRequest,
|
|
576
589
|
messenger: InteractionServerMessenger,
|
|
577
590
|
session: NodeSession,
|
|
578
591
|
exchange: MessageExchange,
|
|
@@ -581,26 +594,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
581
594
|
const context: ServerSubscriptionContext = {
|
|
582
595
|
session,
|
|
583
596
|
node: this.#node,
|
|
584
|
-
initiateExchange: (
|
|
585
|
-
this.#
|
|
597
|
+
initiateExchange: (addressOrSession, protocolId) =>
|
|
598
|
+
this.#initiateSubscriptionExchange(addressOrSession, protocolId),
|
|
586
599
|
};
|
|
587
600
|
|
|
588
601
|
const subscription = new ServerSubscription({
|
|
589
602
|
id,
|
|
590
603
|
context,
|
|
591
|
-
|
|
592
|
-
attributeRequests,
|
|
593
|
-
dataVersionFilters,
|
|
594
|
-
eventRequests,
|
|
595
|
-
eventFilters,
|
|
596
|
-
isFabricFiltered,
|
|
597
|
-
},
|
|
598
|
-
minIntervalFloor: Seconds(minIntervalFloorSeconds),
|
|
599
|
-
maxIntervalCeiling: Seconds(maxIntervalCeilingSeconds),
|
|
604
|
+
request,
|
|
600
605
|
subscriptionOptions: this.#subscriptionConfig,
|
|
601
606
|
});
|
|
602
607
|
|
|
603
|
-
const readContext = this.#prepareOnlineContext(exchange, message, isFabricFiltered);
|
|
608
|
+
const readContext = this.#prepareOnlineContext(exchange, message, request.isFabricFiltered);
|
|
604
609
|
try {
|
|
605
610
|
// Send the initial data report to prime the subscription with initial data
|
|
606
611
|
await subscription.sendInitialReport(messenger, readContext);
|
|
@@ -610,11 +615,12 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
610
615
|
}
|
|
611
616
|
|
|
612
617
|
logger.info(
|
|
613
|
-
"Subscribe successful
|
|
618
|
+
"Subscribe successful",
|
|
619
|
+
Mark.OUTBOUND,
|
|
614
620
|
exchange.via,
|
|
615
621
|
Diagnostic.dict({
|
|
616
|
-
|
|
617
|
-
timing: `${Duration.format(
|
|
622
|
+
...Subscription.diagnosticOf(subscription),
|
|
623
|
+
timing: `${Duration.format(subscription.minIntervalFloor)} - ${Duration.format(subscription.maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
|
|
618
624
|
sendInterval: Duration.format(subscription.sendInterval),
|
|
619
625
|
}),
|
|
620
626
|
);
|
|
@@ -636,13 +642,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
636
642
|
session: NodeSession,
|
|
637
643
|
) {
|
|
638
644
|
const exchange = this.#context.exchangeManager.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
|
|
639
|
-
const message = {} as Message;
|
|
640
645
|
|
|
641
646
|
logger.info(
|
|
642
|
-
`Reestablish subscription
|
|
647
|
+
`Reestablish subscription`,
|
|
648
|
+
Mark.OUTBOUND,
|
|
643
649
|
exchange.via,
|
|
644
650
|
Diagnostic.dict({
|
|
645
|
-
|
|
651
|
+
...Subscription.diagnosticOf(subscriptionId),
|
|
646
652
|
isFabricFiltered,
|
|
647
653
|
maxInterval: Duration.format(maxInterval),
|
|
648
654
|
sendInterval: Duration.format(sendInterval),
|
|
@@ -652,26 +658,26 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
652
658
|
const context: ServerSubscriptionContext = {
|
|
653
659
|
session,
|
|
654
660
|
node: this.#node,
|
|
655
|
-
initiateExchange: (
|
|
656
|
-
this.#
|
|
661
|
+
initiateExchange: (addressOrSession, protocolId) =>
|
|
662
|
+
this.#initiateSubscriptionExchange(addressOrSession, protocolId),
|
|
657
663
|
};
|
|
658
664
|
|
|
659
665
|
const subscription = new ServerSubscription({
|
|
660
666
|
id: subscriptionId,
|
|
661
667
|
context,
|
|
662
|
-
|
|
663
|
-
maxIntervalCeiling,
|
|
664
|
-
criteria: {
|
|
668
|
+
request: {
|
|
665
669
|
attributeRequests,
|
|
666
670
|
eventRequests,
|
|
667
671
|
isFabricFiltered,
|
|
672
|
+
minIntervalFloorSeconds: minIntervalFloor,
|
|
673
|
+
maxIntervalCeilingSeconds: maxIntervalCeiling,
|
|
668
674
|
},
|
|
669
675
|
subscriptionOptions: this.#subscriptionConfig,
|
|
670
676
|
useAsMaxInterval: maxInterval,
|
|
671
677
|
useAsSendInterval: sendInterval,
|
|
672
678
|
});
|
|
673
679
|
|
|
674
|
-
const readContext = this.#prepareOnlineContext(exchange,
|
|
680
|
+
const readContext = this.#prepareOnlineContext(exchange, undefined, isFabricFiltered);
|
|
675
681
|
try {
|
|
676
682
|
// Send initial data report to prime the subscription with initial data
|
|
677
683
|
await subscription.sendInitialReport(
|
|
@@ -682,10 +688,11 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
682
688
|
subscription.activate();
|
|
683
689
|
|
|
684
690
|
logger.info(
|
|
685
|
-
`Subscription successfully reestablished
|
|
691
|
+
`Subscription successfully reestablished`,
|
|
692
|
+
Mark.OUTBOUND,
|
|
686
693
|
exchange.via,
|
|
687
694
|
Diagnostic.dict({
|
|
688
|
-
|
|
695
|
+
...Subscription.diagnosticOf(subscriptionId),
|
|
689
696
|
timing: `${Duration.format(minIntervalFloor)} - ${Duration.format(maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
|
|
690
697
|
sendInterval: Duration.format(subscription.sendInterval),
|
|
691
698
|
}),
|
|
@@ -705,7 +712,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
705
712
|
): Promise<void> {
|
|
706
713
|
const { invokeRequests, timedRequest, suppressResponse, interactionModelRevision } = request;
|
|
707
714
|
logger.info(() => [
|
|
708
|
-
"Invoke
|
|
715
|
+
"Invoke",
|
|
716
|
+
Mark.INBOUND,
|
|
709
717
|
exchange.via,
|
|
710
718
|
Diagnostic.asFlags({ suppressResponse, timedRequest }),
|
|
711
719
|
Diagnostic.dict({
|
|
@@ -794,7 +802,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
794
802
|
if (invokeResponseMessage.invokeResponses.length > 0) {
|
|
795
803
|
if (invokeRequests.length > 1) {
|
|
796
804
|
logger.debug(
|
|
797
|
-
`${lastMessageProcessed ? "Final " : ""}Invoke response
|
|
805
|
+
`${lastMessageProcessed ? "Final " : ""}Invoke response`,
|
|
806
|
+
Mark.OUTBOUND,
|
|
798
807
|
Diagnostic.dict({ commands: invokeResponseMessage.invokeResponses.length }),
|
|
799
808
|
);
|
|
800
809
|
}
|
|
@@ -863,7 +872,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
863
872
|
const interval = Millis(timeout);
|
|
864
873
|
|
|
865
874
|
logger.debug(() => [
|
|
866
|
-
"Timed request
|
|
875
|
+
"Timed request",
|
|
876
|
+
Mark.INBOUND,
|
|
867
877
|
exchange.via,
|
|
868
878
|
Diagnostic.dict({
|
|
869
879
|
interval: Duration.format(interval),
|
|
@@ -881,5 +891,6 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
881
891
|
|
|
882
892
|
async close() {
|
|
883
893
|
this.#isClosing = true;
|
|
894
|
+
this.#lifetime[Symbol.dispose]();
|
|
884
895
|
}
|
|
885
896
|
}
|
|
@@ -42,7 +42,7 @@ export namespace ServerEnvironment {
|
|
|
42
42
|
// Ensure these are fully initialized
|
|
43
43
|
const fabrics = await env.load(FabricManager);
|
|
44
44
|
|
|
45
|
-
fabrics.events.
|
|
45
|
+
fabrics.events.deleting.on(async () => {
|
|
46
46
|
const fabricIndices = fabrics.fabrics.map(fabric => fabric.fabricIndex);
|
|
47
47
|
if (fabricIndices.length > 0) {
|
|
48
48
|
await limitNodeDataToAllowedFabrics(node, fabricIndices);
|