@matter/node 0.16.0-alpha.0-20250817-1b000357c → 0.16.0-alpha.0-20250820-24939dd26
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 +1 -1
- package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
- package/dist/cjs/behavior/Events.js +1 -1
- package/dist/cjs/behavior/Events.js.map +1 -1
- package/dist/cjs/behavior/Transitions.d.ts +8 -8
- package/dist/cjs/behavior/Transitions.d.ts.map +1 -1
- package/dist/cjs/behavior/Transitions.js +8 -8
- package/dist/cjs/behavior/Transitions.js.map +1 -1
- package/dist/cjs/behavior/cluster/FabricScopedDataHandler.js +1 -1
- package/dist/cjs/behavior/cluster/FabricScopedDataHandler.js.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +7 -2
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/internal/Reactors.js +2 -2
- package/dist/cjs/behavior/internal/Reactors.js.map +1 -1
- package/dist/cjs/behavior/state/managed/values/PrimitiveManager.d.ts +3 -4
- package/dist/cjs/behavior/state/managed/values/PrimitiveManager.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/values/PrimitiveManager.js.map +1 -1
- package/dist/cjs/behavior/state/managed/values/ValuePatcher.js.map +1 -1
- package/dist/cjs/behavior/state/migrations/Migration.d.ts +20 -0
- package/dist/cjs/behavior/state/migrations/Migration.d.ts.map +1 -0
- package/dist/cjs/behavior/state/migrations/Migration.js +43 -0
- package/dist/cjs/behavior/state/migrations/Migration.js.map +6 -0
- package/dist/cjs/behavior/{system/subscription → state/migrations}/index.d.ts +1 -1
- package/dist/cjs/behavior/state/migrations/index.d.ts.map +1 -0
- package/dist/{esm/behavior/system/subscription → cjs/behavior/state/migrations}/index.js +1 -1
- package/dist/cjs/behavior/state/migrations/index.js.map +6 -0
- package/dist/cjs/behavior/state/validation/ValueValidator.d.ts.map +1 -1
- package/dist/cjs/behavior/state/validation/ValueValidator.js +1 -0
- package/dist/cjs/behavior/state/validation/ValueValidator.js.map +1 -1
- package/dist/cjs/behavior/supervision/RootSupervisor.js +2 -2
- package/dist/cjs/behavior/supervision/RootSupervisor.js.map +1 -1
- package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts +1 -1
- package/dist/cjs/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +7 -7
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +61 -61
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/RemoteDescriptor.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/RemoteDescriptor.js +15 -14
- package/dist/cjs/behavior/system/commissioning/RemoteDescriptor.js.map +1 -1
- package/dist/cjs/behavior/system/controller/discovery/ContinuousDiscovery.js +1 -1
- package/dist/cjs/behavior/system/controller/discovery/ContinuousDiscovery.js.map +1 -1
- package/dist/cjs/behavior/system/controller/discovery/Discovery.d.ts +2 -2
- package/dist/cjs/behavior/system/controller/discovery/Discovery.d.ts.map +1 -1
- package/dist/cjs/behavior/system/controller/discovery/Discovery.js +2 -2
- package/dist/cjs/behavior/system/controller/discovery/Discovery.js.map +1 -1
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts +1 -0
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js +40 -4
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js.map +2 -2
- package/dist/cjs/behavior/system/network/NetworkBehavior.d.ts +5 -0
- package/dist/cjs/behavior/system/network/NetworkBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkBehavior.js +5 -0
- package/dist/cjs/behavior/system/network/NetworkBehavior.js.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts +7 -4
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.js +15 -9
- package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkRuntime.js +0 -1
- package/dist/cjs/behavior/system/network/NetworkRuntime.js.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +3 -2
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/cjs/behavior/system/{subscription/SubscriptionBehavior.d.ts → subscriptions/SubscriptionsServer.d.ts} +6 -6
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -0
- package/dist/cjs/behavior/system/{subscription/SubscriptionBehavior.js → subscriptions/SubscriptionsServer.js} +22 -22
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +6 -0
- package/dist/{esm/behavior/system/subscription → cjs/behavior/system/subscriptions}/index.d.ts +1 -1
- package/dist/cjs/behavior/system/subscriptions/index.d.ts.map +1 -0
- package/dist/cjs/behavior/system/{subscription → subscriptions}/index.js +3 -3
- package/dist/cjs/behavior/system/subscriptions/index.js.map +6 -0
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +3 -3
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +13 -11
- package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
- package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +2 -2
- package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/color-control/ColorControlServer.js +4 -4
- package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js +3 -3
- package/dist/cjs/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +4 -4
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +17 -16
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/cjs/behaviors/identify/IdentifyServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/identify/IdentifyServer.js +1 -1
- package/dist/cjs/behaviors/identify/IdentifyServer.js.map +1 -1
- package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts +1 -1
- package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/level-control/LevelControlServer.js +3 -3
- package/dist/cjs/behaviors/level-control/LevelControlServer.js.map +1 -1
- package/dist/cjs/behaviors/on-off/OnOffServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/on-off/OnOffServer.js +2 -2
- package/dist/cjs/behaviors/on-off/OnOffServer.js.map +1 -1
- package/dist/cjs/behaviors/power-source/PowerSourceServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/power-source/PowerSourceServer.js +2 -1
- package/dist/cjs/behaviors/power-source/PowerSourceServer.js.map +1 -1
- package/dist/cjs/behaviors/switch/SwitchServer.d.ts +4 -4
- package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/switch/SwitchServer.js +8 -6
- package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
- package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/cjs/endpoint/Endpoint.js +11 -1
- package/dist/cjs/endpoint/Endpoint.js.map +1 -1
- package/dist/cjs/endpoint/properties/SupportedBehaviors.d.ts +1 -1
- package/dist/cjs/endpoint/properties/SupportedBehaviors.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.d.ts +12 -0
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +26 -0
- package/dist/cjs/node/ClientNode.js.map +1 -1
- package/dist/cjs/node/Node.d.ts.map +1 -1
- package/dist/cjs/node/Node.js +2 -0
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/ServerNode.d.ts +2 -2
- package/dist/cjs/node/ServerNode.d.ts.map +1 -1
- package/dist/cjs/node/ServerNode.js +2 -2
- package/dist/cjs/node/ServerNode.js.map +1 -1
- package/dist/cjs/node/client/ClientNodes.js +4 -4
- package/dist/cjs/node/client/ClientNodes.js.map +1 -1
- package/dist/cjs/node/client/NodePeerAddressStore.d.ts +4 -1
- package/dist/cjs/node/client/NodePeerAddressStore.d.ts.map +1 -1
- package/dist/cjs/node/client/NodePeerAddressStore.js +2 -1
- package/dist/cjs/node/client/NodePeerAddressStore.js.map +2 -2
- package/dist/cjs/node/server/InteractionServer.d.ts +6 -6
- package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/cjs/node/server/InteractionServer.js +12 -11
- package/dist/cjs/node/server/InteractionServer.js.map +1 -1
- package/dist/cjs/node/server/ProtocolService.js +2 -2
- package/dist/cjs/node/server/ProtocolService.js.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.d.ts +18 -17
- package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.js +61 -54
- package/dist/cjs/node/server/ServerSubscription.js.map +1 -1
- package/dist/esm/behavior/Behavior.d.ts +1 -1
- package/dist/esm/behavior/Behavior.d.ts.map +1 -1
- package/dist/esm/behavior/Events.js +1 -1
- package/dist/esm/behavior/Events.js.map +1 -1
- package/dist/esm/behavior/Transitions.d.ts +8 -8
- package/dist/esm/behavior/Transitions.d.ts.map +1 -1
- package/dist/esm/behavior/Transitions.js +12 -9
- package/dist/esm/behavior/Transitions.js.map +1 -1
- package/dist/esm/behavior/cluster/FabricScopedDataHandler.js +2 -2
- package/dist/esm/behavior/cluster/FabricScopedDataHandler.js.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +7 -2
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/internal/Reactors.js +2 -2
- package/dist/esm/behavior/internal/Reactors.js.map +1 -1
- package/dist/esm/behavior/state/managed/values/PrimitiveManager.d.ts +3 -4
- package/dist/esm/behavior/state/managed/values/PrimitiveManager.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/values/PrimitiveManager.js.map +1 -1
- package/dist/esm/behavior/state/managed/values/ValuePatcher.js.map +1 -1
- package/dist/esm/behavior/state/migrations/Migration.d.ts +20 -0
- package/dist/esm/behavior/state/migrations/Migration.d.ts.map +1 -0
- package/dist/esm/behavior/state/migrations/Migration.js +23 -0
- package/dist/esm/behavior/state/migrations/Migration.js.map +6 -0
- package/dist/esm/behavior/state/migrations/index.d.ts +7 -0
- package/dist/esm/behavior/state/migrations/index.d.ts.map +1 -0
- package/dist/esm/behavior/state/migrations/index.js +6 -0
- package/dist/esm/behavior/state/migrations/index.js.map +6 -0
- package/dist/esm/behavior/state/validation/ValueValidator.d.ts.map +1 -1
- package/dist/esm/behavior/state/validation/ValueValidator.js +1 -0
- package/dist/esm/behavior/state/validation/ValueValidator.js.map +1 -1
- package/dist/esm/behavior/supervision/RootSupervisor.js +2 -2
- package/dist/esm/behavior/supervision/RootSupervisor.js.map +1 -1
- package/dist/esm/behavior/supervision/ValueSupervisor.d.ts +1 -1
- package/dist/esm/behavior/supervision/ValueSupervisor.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +7 -7
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js +68 -62
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/RemoteDescriptor.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/RemoteDescriptor.js +15 -14
- package/dist/esm/behavior/system/commissioning/RemoteDescriptor.js.map +1 -1
- package/dist/esm/behavior/system/controller/discovery/ContinuousDiscovery.js +1 -1
- package/dist/esm/behavior/system/controller/discovery/ContinuousDiscovery.js.map +1 -1
- package/dist/esm/behavior/system/controller/discovery/Discovery.d.ts +2 -2
- package/dist/esm/behavior/system/controller/discovery/Discovery.d.ts.map +1 -1
- package/dist/esm/behavior/system/controller/discovery/Discovery.js +2 -2
- package/dist/esm/behavior/system/controller/discovery/Discovery.js.map +1 -1
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts +1 -0
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.js +42 -6
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.js.map +2 -2
- package/dist/esm/behavior/system/network/NetworkBehavior.d.ts +5 -0
- package/dist/esm/behavior/system/network/NetworkBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkBehavior.js +5 -0
- package/dist/esm/behavior/system/network/NetworkBehavior.js.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.d.ts +7 -4
- package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.js +16 -10
- package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/esm/behavior/system/network/NetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkRuntime.js +0 -1
- package/dist/esm/behavior/system/network/NetworkRuntime.js.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +3 -2
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/esm/behavior/system/{subscription/SubscriptionBehavior.d.ts → subscriptions/SubscriptionsServer.d.ts} +6 -6
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -0
- package/dist/esm/behavior/system/{subscription/SubscriptionBehavior.js → subscriptions/SubscriptionsServer.js} +20 -20
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +6 -0
- package/dist/esm/behavior/system/subscriptions/index.d.ts +7 -0
- package/dist/esm/behavior/system/subscriptions/index.d.ts.map +1 -0
- package/dist/esm/behavior/system/subscriptions/index.js +7 -0
- package/dist/esm/behavior/system/{subscription → subscriptions}/index.js.map +1 -1
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +3 -3
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +16 -14
- package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
- package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +2 -2
- package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
- package/dist/esm/behaviors/color-control/ColorControlServer.js +6 -5
- package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.d.ts.map +1 -1
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js +4 -4
- package/dist/esm/behaviors/general-commissioning/GeneralCommissioningServer.js.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +4 -4
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +29 -17
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/esm/behaviors/identify/IdentifyServer.d.ts.map +1 -1
- package/dist/esm/behaviors/identify/IdentifyServer.js +2 -2
- package/dist/esm/behaviors/identify/IdentifyServer.js.map +1 -1
- package/dist/esm/behaviors/level-control/LevelControlServer.d.ts +1 -1
- package/dist/esm/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
- package/dist/esm/behaviors/level-control/LevelControlServer.js +4 -4
- package/dist/esm/behaviors/level-control/LevelControlServer.js.map +1 -1
- package/dist/esm/behaviors/on-off/OnOffServer.d.ts.map +1 -1
- package/dist/esm/behaviors/on-off/OnOffServer.js +3 -3
- package/dist/esm/behaviors/on-off/OnOffServer.js.map +1 -1
- package/dist/esm/behaviors/power-source/PowerSourceServer.d.ts.map +1 -1
- package/dist/esm/behaviors/power-source/PowerSourceServer.js +2 -1
- package/dist/esm/behaviors/power-source/PowerSourceServer.js.map +1 -1
- package/dist/esm/behaviors/switch/SwitchServer.d.ts +4 -4
- package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
- package/dist/esm/behaviors/switch/SwitchServer.js +9 -7
- package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
- package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/esm/endpoint/Endpoint.js +11 -1
- package/dist/esm/endpoint/Endpoint.js.map +1 -1
- package/dist/esm/endpoint/properties/SupportedBehaviors.d.ts +1 -1
- package/dist/esm/endpoint/properties/SupportedBehaviors.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.d.ts +12 -0
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +26 -0
- package/dist/esm/node/ClientNode.js.map +1 -1
- package/dist/esm/node/Node.d.ts.map +1 -1
- package/dist/esm/node/Node.js +2 -0
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/ServerNode.d.ts +2 -2
- package/dist/esm/node/ServerNode.d.ts.map +1 -1
- package/dist/esm/node/ServerNode.js +2 -2
- package/dist/esm/node/ServerNode.js.map +1 -1
- package/dist/esm/node/client/ClientNodes.js +5 -5
- package/dist/esm/node/client/ClientNodes.js.map +1 -1
- package/dist/esm/node/client/NodePeerAddressStore.d.ts +4 -1
- package/dist/esm/node/client/NodePeerAddressStore.d.ts.map +1 -1
- package/dist/esm/node/client/NodePeerAddressStore.js +3 -2
- package/dist/esm/node/client/NodePeerAddressStore.js.map +2 -2
- package/dist/esm/node/server/InteractionServer.d.ts +6 -6
- package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/esm/node/server/InteractionServer.js +16 -12
- package/dist/esm/node/server/InteractionServer.js.map +1 -1
- package/dist/esm/node/server/ProtocolService.js +2 -2
- package/dist/esm/node/server/ProtocolService.js.map +1 -1
- package/dist/esm/node/server/ServerSubscription.d.ts +18 -17
- package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/esm/node/server/ServerSubscription.js +75 -55
- package/dist/esm/node/server/ServerSubscription.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/Behavior.ts +1 -1
- package/src/behavior/Events.ts +1 -1
- package/src/behavior/Transitions.ts +17 -13
- package/src/behavior/cluster/FabricScopedDataHandler.ts +2 -2
- package/src/behavior/internal/BehaviorBacking.ts +9 -2
- package/src/behavior/state/managed/values/PrimitiveManager.ts +3 -4
- package/src/behavior/state/managed/values/ValuePatcher.ts +2 -2
- package/src/behavior/state/migrations/Migration.ts +34 -0
- package/src/behavior/{system/subscription → state/migrations}/index.ts +1 -1
- package/src/behavior/state/validation/ValueValidator.ts +1 -0
- package/src/behavior/supervision/ValueSupervisor.ts +1 -1
- package/src/behavior/system/commissioning/CommissioningClient.ts +78 -68
- package/src/behavior/system/commissioning/RemoteDescriptor.ts +15 -15
- package/src/behavior/system/controller/discovery/ContinuousDiscovery.ts +1 -1
- package/src/behavior/system/controller/discovery/Discovery.ts +4 -4
- package/src/behavior/system/network/ClientNetworkRuntime.ts +59 -6
- package/src/behavior/system/network/NetworkBehavior.ts +6 -1
- package/src/behavior/system/network/NetworkClient.ts +19 -12
- package/src/behavior/system/network/NetworkRuntime.ts +0 -1
- package/src/behavior/system/network/ServerNetworkRuntime.ts +4 -2
- package/src/behavior/system/sessions/SessionsBehavior.ts +1 -1
- package/src/behavior/system/{subscription/SubscriptionBehavior.ts → subscriptions/SubscriptionsServer.ts} +17 -17
- package/src/behavior/system/subscriptions/index.ts +7 -0
- package/src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts +20 -16
- package/src/behaviors/color-control/ColorControlServer.ts +5 -4
- package/src/behaviors/general-commissioning/GeneralCommissioningServer.ts +4 -4
- package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +38 -21
- package/src/behaviors/identify/IdentifyServer.ts +2 -2
- package/src/behaviors/level-control/LevelControlServer.ts +4 -4
- package/src/behaviors/on-off/OnOffServer.ts +3 -3
- package/src/behaviors/power-source/PowerSourceServer.ts +2 -1
- package/src/behaviors/switch/SwitchServer.ts +10 -7
- package/src/endpoint/Endpoint.ts +13 -1
- package/src/endpoint/properties/SupportedBehaviors.ts +1 -1
- package/src/node/ClientNode.ts +30 -0
- package/src/node/Node.ts +2 -0
- package/src/node/ServerNode.ts +2 -2
- package/src/node/client/ClientNodes.ts +8 -8
- package/src/node/client/NodePeerAddressStore.ts +4 -2
- package/src/node/server/InteractionServer.ts +21 -15
- package/src/node/server/ServerSubscription.ts +86 -64
- package/dist/cjs/behavior/system/subscription/SubscriptionBehavior.d.ts.map +0 -1
- package/dist/cjs/behavior/system/subscription/SubscriptionBehavior.js.map +0 -6
- package/dist/cjs/behavior/system/subscription/index.d.ts.map +0 -1
- package/dist/cjs/behavior/system/subscription/index.js.map +0 -6
- package/dist/esm/behavior/system/subscription/SubscriptionBehavior.d.ts.map +0 -1
- package/dist/esm/behavior/system/subscription/SubscriptionBehavior.js.map +0 -6
- package/dist/esm/behavior/system/subscription/index.d.ts.map +0 -1
|
@@ -5,7 +5,20 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { NodeActivity } from "#behavior/context/NodeActivity.js";
|
|
7
7
|
import { OnlineContext } from "#behavior/context/server/OnlineContext.js";
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
Duration,
|
|
10
|
+
Hours,
|
|
11
|
+
Logger,
|
|
12
|
+
MatterError,
|
|
13
|
+
Millis,
|
|
14
|
+
Minutes,
|
|
15
|
+
NetworkError,
|
|
16
|
+
NoResponseTimeoutError,
|
|
17
|
+
ObserverGroup,
|
|
18
|
+
Seconds,
|
|
19
|
+
Time,
|
|
20
|
+
Timestamp
|
|
21
|
+
} from "#general";
|
|
9
22
|
import { Specification } from "#model";
|
|
10
23
|
import {
|
|
11
24
|
AttributeReadResponse,
|
|
@@ -25,28 +38,28 @@ import {
|
|
|
25
38
|
StatusResponseError
|
|
26
39
|
} from "#types";
|
|
27
40
|
const logger = Logger.get("ServerSubscription");
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const
|
|
41
|
+
const MAX_INTERVAL_PUBLISHER_LIMIT = Hours.one;
|
|
42
|
+
const INTERNAL_INTERVAL_PUBLISHER_LIMIT = Minutes(3);
|
|
43
|
+
const MIN_INTERVAL = Seconds(2);
|
|
44
|
+
const DEFAULT_RANDOMIZATION_WINDOW = Seconds(10);
|
|
32
45
|
var ServerSubscriptionConfig;
|
|
33
46
|
((ServerSubscriptionConfig2) => {
|
|
34
47
|
function of(options) {
|
|
35
48
|
return {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
49
|
+
maxInterval: options?.maxInterval ?? INTERNAL_INTERVAL_PUBLISHER_LIMIT,
|
|
50
|
+
minInterval: Duration.max(options?.minInterval ?? MIN_INTERVAL, MIN_INTERVAL),
|
|
51
|
+
randomizationWindow: options?.randomizationWindow ?? DEFAULT_RANDOMIZATION_WINDOW
|
|
39
52
|
};
|
|
40
53
|
}
|
|
41
54
|
ServerSubscriptionConfig2.of = of;
|
|
42
55
|
})(ServerSubscriptionConfig || (ServerSubscriptionConfig = {}));
|
|
43
56
|
class ServerSubscription extends Subscription {
|
|
44
57
|
#context;
|
|
45
|
-
#
|
|
58
|
+
#lastUpdateTime = Timestamp.zero;
|
|
46
59
|
#updateTimer;
|
|
47
60
|
#sendDelayTimer = Time.getTimer(
|
|
48
61
|
`Subscription ${this.id} delay`,
|
|
49
|
-
50,
|
|
62
|
+
Millis(50),
|
|
50
63
|
() => this.#triggerSendUpdate()
|
|
51
64
|
);
|
|
52
65
|
#outstandingAttributeUpdates;
|
|
@@ -55,9 +68,9 @@ class ServerSubscription extends Subscription {
|
|
|
55
68
|
#sendUpdatesActivated = false;
|
|
56
69
|
#seededClusterDetails = /* @__PURE__ */ new Map();
|
|
57
70
|
#latestSeededEventNumber = EventNumber(0);
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
71
|
+
#sendInterval;
|
|
72
|
+
#minIntervalFloor;
|
|
73
|
+
#maxIntervalCeiling;
|
|
61
74
|
#peerAddress;
|
|
62
75
|
#sendNextUpdateImmediately = false;
|
|
63
76
|
#sendUpdateErrorCounter = 0;
|
|
@@ -67,8 +80,8 @@ class ServerSubscription extends Subscription {
|
|
|
67
80
|
id,
|
|
68
81
|
context,
|
|
69
82
|
criteria,
|
|
70
|
-
|
|
71
|
-
|
|
83
|
+
minIntervalFloor,
|
|
84
|
+
maxIntervalCeiling,
|
|
72
85
|
subscriptionOptions,
|
|
73
86
|
useAsMaxInterval,
|
|
74
87
|
useAsSendInterval
|
|
@@ -76,45 +89,52 @@ class ServerSubscription extends Subscription {
|
|
|
76
89
|
super(context.session, id, criteria);
|
|
77
90
|
this.#context = context;
|
|
78
91
|
this.#peerAddress = this.session.peerAddress;
|
|
79
|
-
this.#
|
|
80
|
-
this.#
|
|
92
|
+
this.#minIntervalFloor = minIntervalFloor;
|
|
93
|
+
this.#maxIntervalCeiling = maxIntervalCeiling;
|
|
81
94
|
let maxInterval;
|
|
82
95
|
let sendInterval;
|
|
83
96
|
if (useAsMaxInterval !== void 0 && useAsSendInterval !== void 0) {
|
|
84
|
-
maxInterval = useAsMaxInterval
|
|
85
|
-
sendInterval = useAsSendInterval
|
|
97
|
+
maxInterval = useAsMaxInterval;
|
|
98
|
+
sendInterval = useAsSendInterval;
|
|
86
99
|
} else {
|
|
87
100
|
({ maxInterval, sendInterval } = this.#determineSendingIntervals(
|
|
88
|
-
subscriptionOptions.
|
|
89
|
-
subscriptionOptions.
|
|
90
|
-
subscriptionOptions.
|
|
101
|
+
subscriptionOptions.minInterval,
|
|
102
|
+
subscriptionOptions.maxInterval,
|
|
103
|
+
subscriptionOptions.randomizationWindow
|
|
91
104
|
));
|
|
92
105
|
}
|
|
93
|
-
this.
|
|
94
|
-
this.#
|
|
106
|
+
this.maxInterval = maxInterval;
|
|
107
|
+
this.#sendInterval = sendInterval;
|
|
95
108
|
this.#updateTimer = Time.getTimer(
|
|
96
109
|
`Subscription ${this.id} update`,
|
|
97
|
-
this.#
|
|
110
|
+
this.#sendInterval,
|
|
98
111
|
() => this.#prepareDataUpdate()
|
|
99
112
|
);
|
|
100
113
|
}
|
|
101
|
-
#determineSendingIntervals(
|
|
102
|
-
const maxInterval =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
114
|
+
#determineSendingIntervals(subscriptionMinInterval, subscriptionMaxInterval, subscriptionRandomizationWindow) {
|
|
115
|
+
const maxInterval = Duration.min(
|
|
116
|
+
Millis.floor(
|
|
117
|
+
Millis(
|
|
118
|
+
Duration.max(
|
|
119
|
+
subscriptionMinInterval,
|
|
120
|
+
Duration.max(
|
|
121
|
+
this.#minIntervalFloor,
|
|
122
|
+
Duration.min(subscriptionMaxInterval, this.#maxIntervalCeiling)
|
|
123
|
+
)
|
|
124
|
+
) + subscriptionRandomizationWindow * Math.random()
|
|
125
|
+
)
|
|
126
|
+
),
|
|
127
|
+
MAX_INTERVAL_PUBLISHER_LIMIT
|
|
108
128
|
);
|
|
109
|
-
let sendInterval =
|
|
110
|
-
if (sendInterval <
|
|
111
|
-
sendInterval =
|
|
129
|
+
let sendInterval = Millis.floor(Millis(maxInterval / 2));
|
|
130
|
+
if (sendInterval < Minutes.one) {
|
|
131
|
+
sendInterval = Duration.max(this.#minIntervalFloor, Millis.floor(Millis(maxInterval * 0.8)));
|
|
112
132
|
}
|
|
113
|
-
if (sendInterval <
|
|
133
|
+
if (sendInterval < subscriptionMinInterval) {
|
|
114
134
|
logger.warn(
|
|
115
|
-
`Determined subscription send interval of ${sendInterval}
|
|
135
|
+
`Determined subscription send interval of ${Duration.format(sendInterval)} is too low. Using maxInterval (${maxInterval}) instead.`
|
|
116
136
|
);
|
|
117
|
-
sendInterval =
|
|
137
|
+
sendInterval = subscriptionMinInterval;
|
|
118
138
|
}
|
|
119
139
|
return { maxInterval, sendInterval };
|
|
120
140
|
}
|
|
@@ -159,13 +179,13 @@ class ServerSubscription extends Subscription {
|
|
|
159
179
|
);
|
|
160
180
|
}
|
|
161
181
|
get sendInterval() {
|
|
162
|
-
return
|
|
182
|
+
return this.#sendInterval;
|
|
163
183
|
}
|
|
164
|
-
get
|
|
165
|
-
return
|
|
184
|
+
get minIntervalFloor() {
|
|
185
|
+
return this.#minIntervalFloor;
|
|
166
186
|
}
|
|
167
|
-
get
|
|
168
|
-
return
|
|
187
|
+
get maxIntervalCeiling() {
|
|
188
|
+
return this.#maxIntervalCeiling;
|
|
169
189
|
}
|
|
170
190
|
activate() {
|
|
171
191
|
super.activate();
|
|
@@ -186,7 +206,7 @@ class ServerSubscription extends Subscription {
|
|
|
186
206
|
}
|
|
187
207
|
this.#updateTimer = Time.getTimer(
|
|
188
208
|
"Subscription update",
|
|
189
|
-
this.#
|
|
209
|
+
this.#sendInterval,
|
|
190
210
|
() => this.#prepareDataUpdate()
|
|
191
211
|
).start();
|
|
192
212
|
}
|
|
@@ -202,12 +222,12 @@ class ServerSubscription extends Subscription {
|
|
|
202
222
|
return;
|
|
203
223
|
}
|
|
204
224
|
this.#updateTimer.stop();
|
|
205
|
-
const now = Time.nowMs
|
|
206
|
-
const
|
|
207
|
-
if (
|
|
225
|
+
const now = Time.nowMs;
|
|
226
|
+
const timeSinceLastUpdate = Millis(now - this.#lastUpdateTime);
|
|
227
|
+
if (timeSinceLastUpdate < this.#minIntervalFloor) {
|
|
208
228
|
this.#updateTimer = Time.getTimer(
|
|
209
229
|
"Subscription update",
|
|
210
|
-
this.#
|
|
230
|
+
Millis(this.#minIntervalFloor - timeSinceLastUpdate),
|
|
211
231
|
() => this.#prepareDataUpdate()
|
|
212
232
|
).start();
|
|
213
233
|
return;
|
|
@@ -215,7 +235,7 @@ class ServerSubscription extends Subscription {
|
|
|
215
235
|
this.#sendDelayTimer.start();
|
|
216
236
|
this.#updateTimer = Time.getTimer(
|
|
217
237
|
`Subscription update ${this.id}`,
|
|
218
|
-
this.#
|
|
238
|
+
this.#sendInterval,
|
|
219
239
|
() => this.#prepareDataUpdate()
|
|
220
240
|
).start();
|
|
221
241
|
}
|
|
@@ -239,7 +259,7 @@ class ServerSubscription extends Subscription {
|
|
|
239
259
|
if (onlyWithData && attributeFilter === void 0 && eventsMinNumber === void 0) {
|
|
240
260
|
return;
|
|
241
261
|
}
|
|
242
|
-
this.#
|
|
262
|
+
this.#lastUpdateTime = Time.nowMs;
|
|
243
263
|
try {
|
|
244
264
|
if (await this.#sendUpdateMessage(attributeFilter, eventsMinNumber, onlyWithData)) {
|
|
245
265
|
this.#sendUpdateErrorCounter = 0;
|
|
@@ -374,7 +394,7 @@ class ServerSubscription extends Subscription {
|
|
|
374
394
|
} finally {
|
|
375
395
|
session[Symbol.dispose]();
|
|
376
396
|
}
|
|
377
|
-
this.#
|
|
397
|
+
this.#lastUpdateTime = Time.nowMs;
|
|
378
398
|
}
|
|
379
399
|
async sendInitialReport(messenger, readContext, suppressStatusReports) {
|
|
380
400
|
this.#updateTimer.stop();
|
|
@@ -529,10 +549,10 @@ class ServerSubscription extends Subscription {
|
|
|
529
549
|
}
|
|
530
550
|
}
|
|
531
551
|
export {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
552
|
+
DEFAULT_RANDOMIZATION_WINDOW,
|
|
553
|
+
INTERNAL_INTERVAL_PUBLISHER_LIMIT,
|
|
554
|
+
MAX_INTERVAL_PUBLISHER_LIMIT,
|
|
555
|
+
MIN_INTERVAL,
|
|
536
556
|
ServerSubscription,
|
|
537
557
|
ServerSubscriptionConfig
|
|
538
558
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/server/ServerSubscription.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,qBAAqB;AAG9B;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EAEA;AAAA,OAEG;AACP;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,MAAM,SAAS,OAAO,IAAI,oBAAoB;AAYvC,MAAM,+BAA+B,MAAM;AAC3C,MAAM,oCAAoC,QAAQ,CAAC;AACnD,MAAM,eAAe,QAAQ,CAAC;AAC9B,MAAM,+BAA+B,QAAQ,EAAE;AA2B/C,IAAU;AAAA,CAAV,CAAUA,8BAAV;AAMI,WAAS,GAAG,SAA6C;AAC5D,WAAO;AAAA,MACH,aAAa,SAAS,eAAe;AAAA,MACrC,aAAa,SAAS,IAAI,SAAS,eAAe,cAAc,YAAY;AAAA,MAC5E,qBAAqB,SAAS,uBAAuB;AAAA,IACzD;AAAA,EACJ;AANO,EAAAA,0BAAS;AAAA,GANH;AA2BV,MAAM,2BAA2B,aAAa;AAAA,EACxC;AAAA,EAET,kBAAkB,UAAU;AAAA,EAC5B;AAAA,EACS,kBAAyB,KAAK;AAAA,IAAS,gBAAgB,KAAK,EAAE;AAAA,IAAU,OAAO,EAAE;AAAA,IAAG,MACzF,KAAK,mBAAmB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACS,kBAAkB,IAAI,cAAc;AAAA,EAE7C,wBAAwB;AAAA,EACxB,wBAAyB,oBAAI,IAAoB;AAAA,EACjD,2BAA4B,YAAY,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,6BAA6B;AAAA,EAC7B,0BAA0B;AAAA,EAC1B;AAAA,EAEA,YAAY,SAST;AACC,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI;AAEJ,UAAM,QAAQ,SAAS,IAAI,QAAQ;AACnC,SAAK,WAAW;AAEhB,SAAK,eAAe,KAAK,QAAQ;AACjC,SAAK,oBAAoB;AACzB,SAAK,sBAAsB;AAE3B,QAAI;AACJ,QAAI;AACJ,QAAI,qBAAqB,UAAa,sBAAsB,QAAW;AACnE,oBAAc;AACd,qBAAe;AAAA,IACnB,OAAO;AACH,OAAC,EAAE,aAAa,aAAa,IAAI,KAAK;AAAA,QAClC,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACxB;AAAA,IACJ;AACA,SAAK,cAAc;AACnB,SAAK,gBAAgB;AAErB,SAAK,eAAe,KAAK;AAAA,MAAS,gBAAgB,KAAK,EAAE;AAAA,MAAW,KAAK;AAAA,MAAe,MACpF,KAAK,mBAAmB;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,2BACI,yBACA,yBACA,iCACiD;AAMjD,UAAM,cAAc,SAAS;AAAA,MACzB,OAAO;AAAA,QACH;AAAA,UACI,SAAS;AAAA,YACL;AAAA,YACA,SAAS;AAAA,cACL,KAAK;AAAA,cACL,SAAS,IAAI,yBAAyB,KAAK,mBAAmB;AAAA,YAClE;AAAA,UACJ,IACI,kCAAkC,KAAK,OAAO;AAAA,QACtD;AAAA,MACJ;AAAA,MACA;AAAA,IACJ;AACA,QAAI,eAAe,OAAO,MAAM,OAAO,cAAc,CAAC,CAAC;AACvD,QAAI,eAAe,QAAQ,KAAK;AAI5B,qBAAe,SAAS,IAAI,KAAK,mBAAmB,OAAO,MAAM,OAAO,cAAc,GAAG,CAAC,CAAC;AAAA,IAC/F;AACA,QAAI,eAAe,yBAAyB;AAExC,aAAO;AAAA,QACH,4CAA4C,SAAS,OAAO,YAAY,CAAC,mCAAmC,WAAW;AAAA,MAC3H;AACA,qBAAe;AAAA,IACnB;AACA,WAAO,EAAE,aAAa,aAAa;AAAA,EACvC;AAAA,EAEA,0BAA0B,YAA4B,WAAsB,cAA6B;AACrG,QAAI,CAAC,aAAa,QAAQ;AACtB;AAAA,IACJ;AACA,SAAK,+BAA+B,KAAK,gCAAgC,CAAC;AAC1E,SAAK,6BAA6B,UAAU,IAAI,KAAK,6BAA6B,UAAU,KAAK,CAAC;AAClG,SAAK,6BAA6B,UAAU,EAAE,SAAS,IACnD,KAAK,6BAA6B,UAAU,EAAE,SAAS,KAAK,oBAAI,IAAI;AACxE,eAAW,eAAe,cAAc;AACpC,WAAK,6BAA6B,UAAU,EAAE,SAAS,EAAE,IAAI,WAAW;AAAA,IAC5E;AAAA,EACJ;AAAA,EAEA,2BACI,YACA,WACA,cACA,SACF;AACE,QAAI,KAAK,YAAY,CAAC,aAAa,QAAQ;AACvC;AAAA,IACJ;AAGA,QAAI,KAAK,0BAA0B,QAAW;AAC1C,YAAM,gBAAgB,KAAK,sBAAsB,IAAI,GAAG,UAAU,IAAI,SAAS,EAAE;AACjF,UAAI,kBAAkB,UAAa,kBAAkB,SAAS;AAE1D;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,0BAA0B,YAAY,WAAW,YAAY;AAElE,SAAK,mBAAmB;AAAA,EAC5B;AAAA,EAEA,mBAAmB,YAAgC;AAC/C,QAAI,KAAK,UAAU;AACf;AAAA,IACJ;AAIA,QAAI,KAAK,gCAAgC,UAAa,KAAK,6BAA6B,QAAW;AAC/F,WAAK,8BAA8B,WAAW;AAAA,IAClD;AAEA,QAAI,KAAK,mBAAmB,UAAU,GAAG;AACrC,WAAK,mBAAmB;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,mBAAmB,EAAE,YAAY,WAAW,QAAQ,GAA0C;AAC1F,YAAQ,KAAK,SAAS,iBAAiB,CAAC,GAAG;AAAA,MACvC,CAAC,EAAE,YAAY,eAAe,WAAW,cAAc,SAAS,YAAY,SAAS,MACjF,aACC,kBAAkB,UAAa,kBAAkB,gBACjD,iBAAiB,UAAa,iBAAiB,eAC/C,eAAe,UAAa,eAAe;AAAA,IACpD;AAAA,EACJ;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,mBAAmB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK;AAAA,EAChB;AAAA,EAES,WAAW;AAChB,UAAM,SAAS;AAGf,QAAI,KAAK,SAAS,iBAAiB,OAAW,MAAK,SAAS,aAAa,SAAS;AAClF,QAAI,KAAK,SAAS,uBAAuB,OAAW,MAAK,SAAS,mBAAmB,SAAS;AAE9F,SAAK,wBAAwB;AAE7B,QAAI,KAAK,gCAAgC,UAAa,KAAK,6BAA6B,QAAW;AAC/F,UAAI,KAAK,2BAA2B,KAAK,6BAA6B;AAClE,aAAK,8BAA8B,YAAY,OAAO,KAAK,wBAAwB,IAAI,OAAO,CAAC,CAAC;AAAA,MACpG,OAAO;AACH,aAAK,8BAA8B;AAAA,MACvC;AAAA,IACJ;AAEA,SAAK,2BAA2B;AAChC,SAAK,wBAAwB;AAE7B,QAAI,KAAK,iCAAiC,UAAa,KAAK,gCAAgC,QAAW;AACnG,WAAK,mBAAmB;AAAA,IAC5B;AACA,SAAK,eAAe,KAAK;AAAA,MAAS;AAAA,MAAuB,KAAK;AAAA,MAAe,MACzE,KAAK,mBAAmB;AAAA,IAC5B,EAAE,MAAM;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB;AACjB,QAAI,KAAK,gBAAgB,aAAa,KAAK,UAAU;AAEjD;AAAA,IACJ;AAEA,QAAI,CAAC,KAAK,uBAAuB;AAC7B;AAAA,IACJ;AAEA,SAAK,aAAa,KAAK;AACvB,UAAM,MAAM,KAAK;AACjB,UAAM,sBAAsB,OAAO,MAAM,KAAK,eAAe;AAC7D,QAAI,sBAAsB,KAAK,mBAAmB;AAE9C,WAAK,eAAe,KAAK;AAAA,QACrB;AAAA,QACA,OAAO,KAAK,oBAAoB,mBAAmB;AAAA,QACnD,MAAM,KAAK,mBAAmB;AAAA,MAClC,EAAE,MAAM;AACR;AAAA,IACJ;AAEA,SAAK,gBAAgB,MAAM;AAC3B,SAAK,eAAe,KAAK;AAAA,MAAS,uBAAuB,KAAK,EAAE;AAAA,MAAI,KAAK;AAAA,MAAe,MACpF,KAAK,mBAAmB;AAAA,IAC5B,EAAE,MAAM;AAAA,EACZ;AAAA,EAEA,mBAAmB,eAAwB,OAAO;AAC9C,QAAI,KAAK,0BAA0B,QAAW;AAC1C,aAAO,MAAM,yDAAyD;AACtE,WAAK,6BAA6B;AAClC;AAAA,IACJ;AACA,SAAK,wBAAwB,KAAK,YAAY,YAAY,EACrD,MAAM,WAAS,OAAO,KAAK,uCAAuC,KAAK,CAAC,EACxE,QAAQ,MAAO,KAAK,wBAAwB,MAAU;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,YAAY,eAAe,OAAO;AAEpC,UAAM,kBAAkB,KAAK;AAC7B,SAAK,+BAA+B;AAEpC,UAAM,kBAAkB,KAAK;AAC7B,SAAK,8BAA8B;AAEnC,QAAI,gBAAgB,oBAAoB,UAAa,oBAAoB,QAAW;AAChF;AAAA,IACJ;AAEA,SAAK,kBAAkB,KAAK;AAE5B,QAAI;AACA,UAAI,MAAM,KAAK,mBAAmB,iBAAiB,iBAAiB,YAAY,GAAG;AAC/E,aAAK,0BAA0B;AAAA,MACnC;AAAA,IACJ,SAAS,OAAO;AACZ,UAAI,KAAK,UAAU;AAEf;AAAA,MACJ;AAEA,WAAK;AACL,aAAO;AAAA,QACH,0DAA0D,KAAK,uBAAuB;AAAA,QACrF,iBAAiB,eAAe,MAAM,WAAY;AAAA,MACvD;AACA,UAAI,KAAK,2BAA2B,GAAG;AAEnC,YAAI,oBAAoB,QAAW;AAC/B,qBAAW,CAAC,YAAY,QAAQ,KAAK,OAAO,QAAQ,eAAe,GAAG;AAClE,uBAAW,CAAC,WAAW,UAAU,KAAK,OAAO,QAAQ,QAAQ,GAAG;AAC5D,mBAAK;AAAA,gBACD,eAAe,SAAS,UAAU,CAAC;AAAA,gBACnC,UAAU,SAAS,SAAS,CAAC;AAAA,gBAC7B,MAAM,KAAK,UAAU;AAAA,cACzB;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AACA,YAAI,oBAAoB,QAAW;AAC/B,eAAK,8BAA8B;AAAA,QACvC;AAAA,MACJ,OAAO;AACH,eAAO;AAAA,UACH,kEAAkE,KAAK,EAAE;AAAA,QAC7E;AACA,aAAK,6BAA6B;AAClC,YACI,iBAAiB,0BACjB,iBAAiB,gBACjB,iBAAiB,gBACnB;AAEE,eAAK,mBAAmB;AACxB,gBAAM,KAAK,QAAQ;AACnB;AAAA,QACJ,OAAO;AACH,gBAAM;AAAA,QACV;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,KAAK,4BAA4B;AACjC,aAAO,MAAM,6DAA6D;AAC1E,WAAK,6BAA6B;AAClC,YAAM,KAAK,YAAY,IAAI;AAAA,IAC/B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,kCAAkC,SAAgC,wBAAwB,OAAO;AACpG,UAAM,UAAU;AAAA,MACZ,GAAG,KAAK;AAAA,MACR,0BAA0B,cAAc;AAAA;AAAA,IAC5C;AAEA,UAAM,uBAAuB,IAAI,MAAyB;AAC1D,QAAI,sBAAsB;AAC1B,QAAI,kBAAkB;AACtB,QAAI,cAAc;AAElB,UAAM,UAAU,cAAc,OAAO,EAAE,cAAc;AAErD,QAAI;AACA,UAAI,KAAK,kBAAkB,OAAO,GAAG;AACjC,cAAM,kBAAkB,IAAI,sBAAsB,KAAK,SAAS,KAAK,UAAU,OAAO;AACtF,mBAAW,SAAS,gBAAgB,QAAQ,OAAO,GAAG;AAClD,qBAAW,UAAU,OAAO;AACxB,gBAAI,OAAO,SAAS,eAAe;AAC/B,kBAAI,uBAAuB;AACvB;AAAA,cACJ;AACA,kBAAI,CAAC,qBAAqB;AAEtB,qCAAqB,KAAK,MAAM;AAChC;AAAA,cACJ;AAAA,YACJ,WAAW,CAAC,uBAAuB,OAAO,SAAS,cAAc;AAE7D,yBAAW,iBAAiB,sBAAsB;AAC9C,sBAAM,2BAA2B,+BAA+B,aAAa;AAAA,cACjF;AACA,mCAAqB,SAAS;AAC9B,oCAAsB;AAAA,YAC1B;AACA,gBAAI,KAAK,0BAA0B,UAAa,OAAO,SAAS,cAAc;AAC1E,oBAAM;AAAA,gBACF,MAAM,EAAE,YAAY,UAAU;AAAA,gBAC9B;AAAA,cACJ,IAAI;AACJ,mBAAK,sBAAsB,IAAI,GAAG,UAAU,IAAI,SAAS,IAAI,OAAO;AAAA,YACxE;AACA,kBAAM,2BAA2B,+BAA+B,MAAM;AAAA,UAC1E;AAAA,QACJ;AACA,0BAAkB,gBAAgB,OAAO;AAAA,MAC7C;AAEA,UAAI,KAAK,cAAc,OAAO,GAAG;AAC7B,cAAM,cAAc,IAAI,kBAAkB,KAAK,SAAS,KAAK,UAAU,OAAO;AAC9E,yBAAiB,SAAS,YAAY,QAAQ,OAAO,GAAG;AACpD,qBAAW,UAAU,OAAO;AACxB,gBAAI,OAAO,SAAS,gBAAgB;AAChC,kBAAI,uBAAuB;AACvB;AAAA,cACJ;AACA,kBAAI,CAAC,qBAAqB;AAEtB,qCAAqB,KAAK,MAAM;AAChC;AAAA,cACJ;AAAA,YACJ,WAAW,CAAC,uBAAuB,OAAO,SAAS,eAAe;AAE9D,yBAAW,iBAAiB,sBAAsB;AAC9C,sBAAM,2BAA2B,+BAA+B,aAAa;AAAA,cACjF;AACA,mCAAqB,SAAS;AAC9B,oCAAsB;AAAA,YAC1B;AACA,gBAAI,KAAK,6BAA6B,UAAa,OAAO,SAAS,eAAe;AAC9E,mBAAK,2BAA2B,OAAO;AAAA,YAC3C;AACA,kBAAM,2BAA2B,+BAA+B,MAAM;AAAA,UAC1E;AAAA,QACJ;AACA,sBAAc,YAAY,OAAO;AAAA,MACrC;AAEA,UAAI,oBAAoB,KAAK,gBAAgB,GAAG;AAC5C,cAAM,IAAI;AAAA,UACN;AAAA,UACA,WAAW;AAAA,QACf;AAAA,MACJ,WAAW,CAAC,uBAAuB,qBAAqB,QAAQ;AAE5D,mBAAW,iBAAiB,sBAAsB;AAC9C,gBAAM,2BAA2B,+BAA+B,aAAa;AAAA,QACjF;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,cAAQ,OAAO,OAAO,EAAE;AAAA,IAC5B;AACA,SAAK,kBAAkB,KAAK;AAAA,EAChC;AAAA,EAEA,MAAM,kBACF,WACA,aACA,uBACF;AACE,SAAK,aAAa,KAAK;AAGvB,QAAI,KAAK,SAAS,mBAAmB,QAAQ;AACzC,WAAK,gBAAgB;AAAA,QACjB,KAAK,SAAS,KAAK,SAAS;AAAA,QAC5B,KAAK,2BAA2B,KAAK,IAAI;AAAA,MAC7C;AAAA,IACJ;AACA,QAAI,KAAK,SAAS,eAAe,QAAQ;AACrC,WAAK,gBAAgB,GAAG,KAAK,SAAS,KAAK,SAAS,aAAa,OAAO,KAAK,mBAAmB,KAAK,IAAI,CAAC;AAAA,IAC9G;AAEA,UAAM,UAAU,eAAe;AAAA,MAC3B,gBAAgB;AAAA,QACZ,kBAAkB;AAAA;AAAA,QAClB,gBAAgB,KAAK;AAAA,QACrB,0BAA0B,cAAc;AAAA,MAC5C;AAAA,MACA,uBAAuB,KAAK,SAAS;AAAA,MACrC,SAAS,KAAK,kCAAkC,aAAa,qBAAqB;AAAA,IACtF,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,SAAS;AACX,SAAK,gBAAgB,KAAK;AAC1B,QAAI,KAAK,iCAAiC,UAAa,KAAK,gCAAgC,QAAW;AACnG,aAAO,MAAM,yBAAyB,KAAK,EAAE,GAAG,KAAK,WAAW,mBAAmB,EAAE,EAAE;AACvF,WAAK,mBAAmB,IAAI;AAC5B,UAAI,KAAK,uBAAuB;AAC5B,cAAM,KAAK;AAAA,MACf;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAyB,UAAU;AAC/B,SAAK,wBAAwB;AAE7B,SAAK,gBAAgB,MAAM;AAE3B,SAAK,aAAa,KAAK;AACvB,SAAK,gBAAgB,KAAK;AAC1B,UAAM,MAAM,QAAQ;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAe,MAAM,WAAW,OAAO,kBAAkB,OAAO;AAC5D,QAAI,KAAK,UAAU;AACf;AAAA,IACJ;AACA,QAAI,iBAAiB;AACjB,WAAK,mBAAmB;AAAA,IAC5B;AACA,UAAM,KAAK,QAAQ;AACnB,QAAI,UAAU;AACV,YAAM,KAAK,OAAO;AAAA,IACtB;AACA,QAAI,KAAK,uBAAuB;AAC5B,YAAM,KAAK;AAAA,IACf;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,mBACH,UACA,iBACA,iBACF;AACE,UAAM,UAAU;AAAA,MACZ,GAAG,KAAK;AAAA,MACR,0BAA0B,cAAc;AAAA;AAAA,IAC5C;AAEA,UAAM,UAAU,cAAc;AAAA,MAC1B,UAAW,SAAuC,aAAa,WAAW;AAAA,MAC1E,gBAAgB,QAAQ;AAAA,MACxB,SAAS,CAAC;AAAA,MACV;AAAA,MACA,MAAM,KAAK,SAAS;AAAA,IACxB,CAAC,EAAE,cAAc;AAEjB,QAAI;AACA,UAAI,oBAAoB,UAAa,KAAK,kBAAkB,OAAO,GAAG;AAClE,cAAM,kBAAkB,IAAI;AAAA,UACxB,KAAK,SAAS,KAAK;AAAA,UACnB;AAAA,UACA;AAAA,QACJ;AACA,mBAAW,SAAS,gBAAgB,QAAQ,OAAO,GAAG;AAClD,qBAAW,UAAU,OAAO;AAExB,kBAAM,2BAA2B,+BAA+B,MAAM;AAAA,UAC1E;AAAA,QACJ;AAAA,MACJ;AAEA,UAAI,oBAAoB,UAAa,KAAK,cAAc,OAAO,GAAG;AAE9D,gBAAQ,eAAe,CAAC,EAAE,UAAU,gBAAgB,CAAC;AAErD,cAAM,cAAc,IAAI,kBAAkB,KAAK,SAAS,KAAK,UAAU,OAAO;AAC9E,yBAAiB,SAAS,YAAY,QAAQ,OAAO,GAAG;AACpD,qBAAW,UAAU,OAAO;AACxB,gBAAI,OAAO,SAAS,gBAAgB;AAChC;AAAA,YACJ;AACA,kBAAM,2BAA2B,+BAA+B,MAAM;AAAA,UAC1E;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,cAAQ,OAAO,OAAO,EAAE;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAM,mBACF,iBACA,iBACA,cACF;AACE,UAAM,WAAW,KAAK,SAAS,iBAAiB,KAAK,cAAc,uBAAuB;AAC1F,QAAI,aAAa,OAAW,QAAO;AAEnC,UAAM,YAAY,IAAI,2BAA2B,QAAQ;AAEzD,QAAI;AACA,UAAI,oBAAoB,UAAa,oBAAoB,QAAW;AAChE,cAAM,UAAU,eAAe;AAAA,UAC3B,gBAAgB;AAAA,YACZ,kBAAkB;AAAA;AAAA,YAClB,gBAAgB,KAAK;AAAA,YACrB,0BAA0B,cAAc;AAAA,UAC5C;AAAA,UACA,uBAAuB,KAAK,SAAS;AAAA,UACrC,YAAY,CAAC,KAAK;AAAA;AAAA,QACtB,CAAC;AAAA,MACL,OAAO;AAIH,cAAM,UAAU,eAAe;AAAA,UAC3B,gBAAgB;AAAA,YACZ,kBAAkB;AAAA;AAAA,YAClB,gBAAgB,KAAK;AAAA,YACrB,0BAA0B,cAAc;AAAA,UAC5C;AAAA,UACA,uBAAuB,KAAK,SAAS;AAAA,UACrC,SAAS,KAAK,mBAAmB,UAAU,iBAAiB,eAAe;AAAA,UAC3E,YAAY,CAAC,KAAK;AAAA;AAAA,UAClB,qBAAqB;AAAA,QACzB,CAAC;AAAA,MACL;AAAA,IACJ,SAAS,OAAO;AACZ,UAAI,oBAAoB,GAAG,OAAO,WAAW,qBAAqB,WAAW,OAAO,GAAG;AACnF,eAAO,KAAK,gBAAgB,KAAK,EAAE,qBAAqB;AACxD,aAAK,mBAAmB;AACxB,cAAM,KAAK,MAAM,KAAK;AAAA,MAC1B,OAAO;AACH,4BAAoB,OAAO,KAAK;AAChC,eAAO,KAAK,gBAAgB,KAAK,EAAE,mBAAmB,KAAK;AAC3D,cAAM,KAAK,MAAM,KAAK;AAAA,MAC1B;AAAA,IACJ,UAAE;AACE,YAAM,UAAU,MAAM;AAAA,IAC1B;AACA,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": ["ServerSubscriptionConfig"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20250820-24939dd26",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
"#*": "./src/*"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
46
|
-
"@matter/model": "0.16.0-alpha.0-
|
|
47
|
-
"@matter/types": "0.16.0-alpha.0-
|
|
48
|
-
"@matter/protocol": "0.16.0-alpha.0-
|
|
45
|
+
"@matter/general": "0.16.0-alpha.0-20250820-24939dd26",
|
|
46
|
+
"@matter/model": "0.16.0-alpha.0-20250820-24939dd26",
|
|
47
|
+
"@matter/types": "0.16.0-alpha.0-20250820-24939dd26",
|
|
48
|
+
"@matter/protocol": "0.16.0-alpha.0-20250820-24939dd26"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
52
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
51
|
+
"@matter/tools": "0.16.0-alpha.0-20250820-24939dd26",
|
|
52
|
+
"@matter/testing": "0.16.0-alpha.0-20250820-24939dd26"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
package/src/behavior/Behavior.ts
CHANGED
|
@@ -382,7 +382,7 @@ export namespace Behavior {
|
|
|
382
382
|
/**
|
|
383
383
|
* Input variant of StateOf.
|
|
384
384
|
*/
|
|
385
|
-
export type InputStateOf<B extends Type> = Partial<
|
|
385
|
+
export type InputStateOf<B extends Type> = Partial<StateOf<B>>;
|
|
386
386
|
|
|
387
387
|
/**
|
|
388
388
|
* Patch variant of StateOf.
|
package/src/behavior/Events.ts
CHANGED
|
@@ -182,7 +182,7 @@ export class OnlineEvent<T extends any[] = any[], S extends ValueModel = ValueMo
|
|
|
182
182
|
const trigger = (payload?: any) => {
|
|
183
183
|
const maybePromise = occurrenceManager.add({
|
|
184
184
|
...this.#baseOccurrence!,
|
|
185
|
-
epochTimestamp: Time.nowMs
|
|
185
|
+
epochTimestamp: Time.nowMs,
|
|
186
186
|
payload,
|
|
187
187
|
});
|
|
188
188
|
|
|
@@ -10,12 +10,16 @@ import {
|
|
|
10
10
|
addValueWithOverflow,
|
|
11
11
|
cropValueRange,
|
|
12
12
|
Diagnostic,
|
|
13
|
+
Duration,
|
|
13
14
|
ImplementationError,
|
|
14
15
|
Logger,
|
|
15
16
|
MaybePromise,
|
|
17
|
+
Millis,
|
|
16
18
|
ObserverGroup,
|
|
17
19
|
Time,
|
|
18
20
|
Timer,
|
|
21
|
+
Timespan,
|
|
22
|
+
Timestamp,
|
|
19
23
|
} from "#general";
|
|
20
24
|
import { Behavior } from "./Behavior.js";
|
|
21
25
|
import { ClusterEvents } from "./cluster/ClusterEvents.js";
|
|
@@ -170,7 +174,7 @@ export class Transitions<B extends Behavior> {
|
|
|
170
174
|
configuration: transition,
|
|
171
175
|
currentValue,
|
|
172
176
|
changePerMs: changePerS / 1000,
|
|
173
|
-
prevStepAt: Time.nowMs
|
|
177
|
+
prevStepAt: Timestamp(Time.nowMs - (this.#config.stepInterval ?? Transitions.DEFAULT_STEP_INTERVAL)),
|
|
174
178
|
distanceLeft,
|
|
175
179
|
};
|
|
176
180
|
|
|
@@ -244,7 +248,7 @@ export class Transitions<B extends Behavior> {
|
|
|
244
248
|
if (this.#timer === undefined) {
|
|
245
249
|
this.#timer = Time.getPeriodicTimer(
|
|
246
250
|
`transition-${this.#endpoint}-${this.#config.type.name}`,
|
|
247
|
-
this.#config.
|
|
251
|
+
this.#config.stepInterval ?? Transitions.DEFAULT_STEP_INTERVAL,
|
|
248
252
|
this.#step.bind(this),
|
|
249
253
|
);
|
|
250
254
|
|
|
@@ -357,7 +361,7 @@ export class Transitions<B extends Behavior> {
|
|
|
357
361
|
get remainingTime() {
|
|
358
362
|
if (this.#config.manageTransitions === false) {
|
|
359
363
|
if (this.#config.transitionEndTimeMs !== undefined) {
|
|
360
|
-
const remaining = this.#config.transitionEndTimeMs
|
|
364
|
+
const remaining = Timespan(Time.nowMs, this.#config.transitionEndTimeMs).duration;
|
|
361
365
|
if (remaining < 0) {
|
|
362
366
|
return 0;
|
|
363
367
|
}
|
|
@@ -403,7 +407,7 @@ export class Transitions<B extends Behavior> {
|
|
|
403
407
|
* You may override this method if you want matter.js to run a timer, but you want to handle value updates yourself.
|
|
404
408
|
*/
|
|
405
409
|
protected async step(behavior: B) {
|
|
406
|
-
const now = Time.nowMs
|
|
410
|
+
const now = Time.nowMs;
|
|
407
411
|
|
|
408
412
|
// Compute updated values for all transitioning attributes
|
|
409
413
|
for (const prop of this) {
|
|
@@ -593,11 +597,11 @@ export class Transitions<B extends Behavior> {
|
|
|
593
597
|
}
|
|
594
598
|
|
|
595
599
|
#externalTimeOf(ms: number) {
|
|
596
|
-
return Math.round(ms / (this.#config.
|
|
600
|
+
return Math.round(ms / (this.#config.externalTimeUnit ?? Transitions.DEFAULT_EXTERNAL_TIME_UNIT));
|
|
597
601
|
}
|
|
598
602
|
|
|
599
603
|
#internalTimeOf(externalUnits: number) {
|
|
600
|
-
return externalUnits * (this.#config.
|
|
604
|
+
return Millis(externalUnits * (this.#config.externalTimeUnit ?? Transitions.DEFAULT_EXTERNAL_TIME_UNIT));
|
|
601
605
|
}
|
|
602
606
|
|
|
603
607
|
/**
|
|
@@ -644,8 +648,8 @@ export class Transitions<B extends Behavior> {
|
|
|
644
648
|
}
|
|
645
649
|
|
|
646
650
|
export namespace Transitions {
|
|
647
|
-
export const
|
|
648
|
-
export const
|
|
651
|
+
export const DEFAULT_STEP_INTERVAL = Millis(100);
|
|
652
|
+
export const DEFAULT_EXTERNAL_TIME_UNIT = Millis(100);
|
|
649
653
|
|
|
650
654
|
/**
|
|
651
655
|
* A valid transitionable attribute name for the specified type.
|
|
@@ -674,19 +678,19 @@ export namespace Transitions {
|
|
|
674
678
|
readonly manageTransitions?: boolean;
|
|
675
679
|
|
|
676
680
|
/**
|
|
677
|
-
*
|
|
681
|
+
* Interval per external time unit. Defaults to 100ms which is appropriate for CC & LVL "remaining time"
|
|
678
682
|
* attribute that is defined as 10ths of a second.
|
|
679
683
|
*/
|
|
680
|
-
readonly
|
|
684
|
+
readonly externalTimeUnit?: Duration;
|
|
681
685
|
|
|
682
686
|
/**
|
|
683
687
|
* The internal tick rate for transitions.
|
|
684
688
|
*
|
|
685
689
|
* This is the smallest time increment between value adjustments.
|
|
686
690
|
*
|
|
687
|
-
* Defaults to {@link
|
|
691
|
+
* Defaults to {@link DEFAULT_STEP_INTERVAL}.
|
|
688
692
|
*/
|
|
689
|
-
readonly
|
|
693
|
+
readonly stepInterval?: Duration;
|
|
690
694
|
|
|
691
695
|
/**
|
|
692
696
|
* The end time for a transition if transition management is disabled.
|
|
@@ -821,7 +825,7 @@ export namespace Transitions {
|
|
|
821
825
|
/**
|
|
822
826
|
* The time of the last step.
|
|
823
827
|
*/
|
|
824
|
-
prevStepAt:
|
|
828
|
+
prevStepAt: Timestamp;
|
|
825
829
|
|
|
826
830
|
/**
|
|
827
831
|
* Set to true when the reporting of remaining time should be suppressed when finishing the transition.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { Behavior } from "#behavior/Behavior.js";
|
|
8
8
|
import type { Endpoint } from "#endpoint/Endpoint.js";
|
|
9
9
|
import type { SupportedElements } from "#endpoint/properties/Behaviors.js";
|
|
10
|
-
import { createPromise, deepCopy, isObject, Logger, MaybePromise, withTimeout } from "#general";
|
|
10
|
+
import { createPromise, deepCopy, isObject, Logger, MaybePromise, Seconds, withTimeout } from "#general";
|
|
11
11
|
import type { ServerNode } from "#node/ServerNode.js";
|
|
12
12
|
import { OccurrenceManager, Val } from "#protocol";
|
|
13
13
|
import type { ClusterType, FabricIndex, ObjectSchema } from "#types";
|
|
@@ -67,7 +67,7 @@ async function sanitizeAttributeData(
|
|
|
67
67
|
(endpoint.eventsOf(type) as Behavior.EventsOf<any>).stateChanged?.on(resolver);
|
|
68
68
|
try {
|
|
69
69
|
await endpoint.setStateOf(type, stateUpdate);
|
|
70
|
-
stateUpdatePromises.push(withTimeout(
|
|
70
|
+
stateUpdatePromises.push(withTimeout(Seconds(5), promise)); // 5s should be enough for state change
|
|
71
71
|
} catch (error) {
|
|
72
72
|
logger.warn(
|
|
73
73
|
`Could not sanitize fabric-scoped attributes for cluster ${cluster.name} on endpoint ${endpoint.id}`,
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { Migration } from "#behavior/state/migrations/Migration.js";
|
|
7
8
|
import type { Agent } from "#endpoint/Agent.js";
|
|
8
9
|
import type { Endpoint } from "#endpoint/Endpoint.js";
|
|
9
10
|
import { BehaviorInitializationError } from "#endpoint/errors.js";
|
|
@@ -102,9 +103,15 @@ export abstract class BehaviorBacking {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
initializeDataSource() {
|
|
105
|
-
if (
|
|
106
|
-
|
|
106
|
+
if (this.#datasource) {
|
|
107
|
+
return;
|
|
107
108
|
}
|
|
109
|
+
|
|
110
|
+
if (this.store.initialValues !== undefined) {
|
|
111
|
+
Migration.migrate(this.type, this.store.initialValues);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
this.#datasource = Datasource(this.datasourceOptions);
|
|
108
115
|
}
|
|
109
116
|
|
|
110
117
|
/**
|
|
@@ -7,10 +7,9 @@
|
|
|
7
7
|
import type { ValueSupervisor } from "../../../supervision/ValueSupervisor.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
-
* If you invoke {@link ValueSupervisor.manage} on a non-collection value, this is
|
|
11
|
-
*
|
|
10
|
+
* If you invoke {@link ValueSupervisor.manage} on a non-collection value, this is the manage implementation you will
|
|
11
|
+
* receive.
|
|
12
12
|
*
|
|
13
|
-
* Struct and list manager implementations optimize by bypassing
|
|
14
|
-
* PrimitiveManager.
|
|
13
|
+
* Struct and list manager implementations optimize by bypassing PrimitiveManager.
|
|
15
14
|
*/
|
|
16
15
|
export const PrimitiveManager: ValueSupervisor.Manage = reference => reference;
|
|
@@ -105,13 +105,13 @@ function StructPatcher(schema: ValueModel, supervisor: RootSupervisor): ValueSup
|
|
|
105
105
|
throw new WriteError(path, `cannot patch ${target} because it is not an object`);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
for (const key in changes) {
|
|
108
|
+
for (const key in changes as Val.Struct) {
|
|
109
109
|
// Validate the key
|
|
110
110
|
if (!(key in memberPatchers)) {
|
|
111
111
|
throw new WriteError(path, `${key} is not a property of ${schema.name}`);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
let newValue = changes[key];
|
|
114
|
+
let newValue = (changes as Val.Struct)[key];
|
|
115
115
|
|
|
116
116
|
// If this is not a subcollection or the new value is not an object, just do direct set
|
|
117
117
|
const subpatch = memberPatchers[key];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { Behavior } from "#behavior/Behavior.js";
|
|
8
|
+
import { InternalError } from "#general";
|
|
9
|
+
import { Val } from "#protocol";
|
|
10
|
+
|
|
11
|
+
const migrations = new Map<string, Migration.Migrator>();
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Add a data migration.
|
|
15
|
+
*
|
|
16
|
+
* Migrations allow the server to adjust persisted data when the stored format is incompatible with current code.
|
|
17
|
+
*/
|
|
18
|
+
export function Migration(id: string, migrator: Migration.Migrator) {
|
|
19
|
+
if (migrations.has(id)) {
|
|
20
|
+
throw new InternalError(`Duplicate migration ${id}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
migrations.set(id, migrator);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export namespace Migration {
|
|
27
|
+
export function migrate(type: Behavior.Type, values: Val.Struct) {
|
|
28
|
+
migrations.get(type.id)?.(values, type);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface Migrator {
|
|
32
|
+
(values: Val.Struct, type: Behavior.Type): void;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -102,7 +102,7 @@ export namespace ValueSupervisor {
|
|
|
102
102
|
|
|
103
103
|
export type Manage = (reference: Val.Reference, session: Session) => Val;
|
|
104
104
|
|
|
105
|
-
export type Patch = (changes: Val.
|
|
105
|
+
export type Patch = (changes: Val.ReadonlyCollection, target: Val.Collection, path: DataModelPath) => Val;
|
|
106
106
|
|
|
107
107
|
export type Cast = (value: Val) => Val;
|
|
108
108
|
}
|