@matter/node 0.16.0-alpha.0-20251108-514b3f69e → 0.16.0-alpha.0-20251110-c4c70a41b
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/cluster/ClientBehavior.d.ts +0 -7
- package/dist/cjs/behavior/cluster/ClientBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/ClientBehavior.js +2 -8
- package/dist/cjs/behavior/cluster/ClientBehavior.js.map +2 -2
- package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehavior.js +9 -4
- package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.d.ts +7 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.js +7 -5
- package/dist/cjs/behavior/cluster/ClusterBehaviorCache.js.map +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.d.ts +57 -0
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.d.ts.map +1 -0
- package/dist/cjs/behavior/cluster/{ClusterBehaviorUtil.js → ClusterBehaviorType.js} +70 -39
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.js.map +6 -0
- 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/cluster/ClusterState.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterState.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/ValidatedElements.js +2 -2
- package/dist/cjs/behavior/cluster/ValidatedElements.js.map +1 -1
- package/dist/cjs/behavior/cluster/{ClusterBehaviorUtil.d.ts → cluster-behavior-utils.d.ts} +10 -8
- package/dist/cjs/behavior/cluster/cluster-behavior-utils.d.ts.map +1 -0
- package/dist/cjs/behavior/cluster/cluster-behavior-utils.js +41 -0
- package/dist/cjs/behavior/cluster/cluster-behavior-utils.js.map +6 -0
- package/dist/cjs/behavior/cluster/index.d.ts +2 -1
- package/dist/cjs/behavior/cluster/index.d.ts.map +1 -1
- package/dist/cjs/behavior/cluster/index.js +2 -1
- package/dist/cjs/behavior/cluster/index.js.map +1 -1
- package/dist/cjs/behavior/context/server/LocalActorContext.d.ts +4 -0
- package/dist/cjs/behavior/context/server/LocalActorContext.d.ts.map +1 -1
- package/dist/cjs/behavior/context/server/LocalActorContext.js +2 -3
- package/dist/cjs/behavior/context/server/LocalActorContext.js.map +1 -1
- package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts +4 -0
- package/dist/cjs/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
- package/dist/cjs/behavior/context/server/RemoteActorContext.js +1 -0
- package/dist/cjs/behavior/context/server/RemoteActorContext.js.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +2 -2
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +3 -3
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
- package/dist/cjs/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
- package/dist/cjs/behaviors/operational-credentials/VendorIdVerification.d.ts +6 -1
- package/dist/cjs/behaviors/operational-credentials/VendorIdVerification.d.ts.map +1 -1
- package/dist/cjs/behaviors/operational-credentials/VendorIdVerification.js +2 -2
- package/dist/cjs/behaviors/operational-credentials/VendorIdVerification.js.map +1 -1
- package/dist/cjs/endpoint/Endpoint.d.ts +8 -0
- package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/cjs/endpoint/Endpoint.js +11 -3
- package/dist/cjs/endpoint/Endpoint.js.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.d.ts +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +6 -3
- package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts +0 -4
- package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/EndpointInitializer.js +0 -6
- package/dist/cjs/endpoint/properties/EndpointInitializer.js.map +1 -1
- 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/client/ClientCommandMethod.d.ts +11 -0
- package/dist/cjs/node/client/ClientCommandMethod.d.ts.map +1 -0
- package/dist/cjs/node/client/ClientCommandMethod.js +69 -0
- package/dist/cjs/node/client/ClientCommandMethod.js.map +6 -0
- package/dist/cjs/node/client/ClientEndpointInitializer.d.ts +0 -2
- package/dist/cjs/node/client/ClientEndpointInitializer.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientEndpointInitializer.js +3 -34
- package/dist/cjs/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructure.js +164 -32
- package/dist/cjs/node/client/ClientStructure.js.map +2 -2
- package/dist/cjs/node/client/ClientStructureEvents.d.ts +22 -0
- package/dist/cjs/node/client/ClientStructureEvents.d.ts.map +1 -0
- package/dist/cjs/node/client/ClientStructureEvents.js +92 -0
- package/dist/cjs/node/client/ClientStructureEvents.js.map +6 -0
- package/dist/cjs/node/client/PeerBehavior.d.ts +14 -1
- package/dist/cjs/node/client/PeerBehavior.d.ts.map +1 -1
- package/dist/cjs/node/client/PeerBehavior.js +111 -71
- package/dist/cjs/node/client/PeerBehavior.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts +17 -0
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +96 -42
- package/dist/cjs/node/client/Peers.js.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.d.ts +1 -1
- package/dist/cjs/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.js +2 -3
- package/dist/cjs/node/server/ServerSubscription.js.map +1 -1
- package/dist/esm/behavior/cluster/ClientBehavior.d.ts +0 -7
- package/dist/esm/behavior/cluster/ClientBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/ClientBehavior.js +2 -8
- package/dist/esm/behavior/cluster/ClientBehavior.js.map +2 -2
- package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehavior.js +9 -4
- package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.d.ts +7 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.js +7 -5
- package/dist/esm/behavior/cluster/ClusterBehaviorCache.js.map +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorType.d.ts +57 -0
- package/dist/esm/behavior/cluster/ClusterBehaviorType.d.ts.map +1 -0
- package/dist/esm/behavior/cluster/{ClusterBehaviorUtil.js → ClusterBehaviorType.js} +66 -35
- package/dist/esm/behavior/cluster/ClusterBehaviorType.js.map +6 -0
- 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/cluster/ClusterState.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterState.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/ValidatedElements.js +1 -1
- package/dist/esm/behavior/cluster/{ClusterBehaviorUtil.d.ts → cluster-behavior-utils.d.ts} +10 -8
- package/dist/esm/behavior/cluster/cluster-behavior-utils.d.ts.map +1 -0
- package/dist/esm/behavior/cluster/cluster-behavior-utils.js +21 -0
- package/dist/esm/behavior/cluster/cluster-behavior-utils.js.map +6 -0
- package/dist/esm/behavior/cluster/index.d.ts +2 -1
- package/dist/esm/behavior/cluster/index.d.ts.map +1 -1
- package/dist/esm/behavior/cluster/index.js +2 -1
- package/dist/esm/behavior/cluster/index.js.map +1 -1
- package/dist/esm/behavior/context/server/LocalActorContext.d.ts +4 -0
- package/dist/esm/behavior/context/server/LocalActorContext.d.ts.map +1 -1
- package/dist/esm/behavior/context/server/LocalActorContext.js +2 -3
- package/dist/esm/behavior/context/server/LocalActorContext.js.map +1 -1
- package/dist/esm/behavior/context/server/RemoteActorContext.d.ts +4 -0
- package/dist/esm/behavior/context/server/RemoteActorContext.d.ts.map +1 -1
- package/dist/esm/behavior/context/server/RemoteActorContext.js +1 -0
- package/dist/esm/behavior/context/server/RemoteActorContext.js.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +2 -2
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js +4 -3
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js +1 -1
- package/dist/esm/behaviors/operational-credentials/OperationalCredentialsServer.js.map +1 -1
- package/dist/esm/behaviors/operational-credentials/VendorIdVerification.d.ts +6 -1
- package/dist/esm/behaviors/operational-credentials/VendorIdVerification.d.ts.map +1 -1
- package/dist/esm/behaviors/operational-credentials/VendorIdVerification.js +1 -1
- package/dist/esm/behaviors/operational-credentials/VendorIdVerification.js.map +1 -1
- package/dist/esm/endpoint/Endpoint.d.ts +8 -0
- package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/esm/endpoint/Endpoint.js +11 -3
- package/dist/esm/endpoint/Endpoint.js.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.d.ts +1 -1
- package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +6 -3
- package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/esm/endpoint/properties/EndpointInitializer.d.ts +0 -4
- package/dist/esm/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/EndpointInitializer.js +0 -6
- package/dist/esm/endpoint/properties/EndpointInitializer.js.map +1 -1
- package/dist/esm/node/Node.d.ts.map +1 -1
- package/dist/esm/node/Node.js +2 -1
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/client/ClientCommandMethod.d.ts +11 -0
- package/dist/esm/node/client/ClientCommandMethod.d.ts.map +1 -0
- package/dist/esm/node/client/ClientCommandMethod.js +49 -0
- package/dist/esm/node/client/ClientCommandMethod.js.map +6 -0
- package/dist/esm/node/client/ClientEndpointInitializer.d.ts +0 -2
- package/dist/esm/node/client/ClientEndpointInitializer.d.ts.map +1 -1
- package/dist/esm/node/client/ClientEndpointInitializer.js +3 -34
- package/dist/esm/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructure.js +164 -32
- package/dist/esm/node/client/ClientStructure.js.map +2 -2
- package/dist/esm/node/client/ClientStructureEvents.d.ts +22 -0
- package/dist/esm/node/client/ClientStructureEvents.d.ts.map +1 -0
- package/dist/esm/node/client/ClientStructureEvents.js +72 -0
- package/dist/esm/node/client/ClientStructureEvents.js.map +6 -0
- package/dist/esm/node/client/PeerBehavior.d.ts +14 -1
- package/dist/esm/node/client/PeerBehavior.d.ts.map +1 -1
- package/dist/esm/node/client/PeerBehavior.js +119 -74
- package/dist/esm/node/client/PeerBehavior.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts +17 -0
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +106 -43
- package/dist/esm/node/client/Peers.js.map +1 -1
- package/dist/esm/node/server/ServerSubscription.d.ts +1 -1
- package/dist/esm/node/server/ServerSubscription.d.ts.map +1 -1
- package/dist/esm/node/server/ServerSubscription.js +2 -3
- package/dist/esm/node/server/ServerSubscription.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/cluster/ClientBehavior.ts +2 -16
- package/src/behavior/cluster/ClusterBehavior.ts +9 -4
- package/src/behavior/cluster/ClusterBehaviorCache.ts +16 -9
- package/src/behavior/cluster/{ClusterBehaviorUtil.ts → ClusterBehaviorType.ts} +160 -64
- package/src/behavior/cluster/ClusterEvents.ts +1 -1
- package/src/behavior/cluster/ClusterState.ts +1 -1
- package/src/behavior/cluster/ValidatedElements.ts +1 -1
- package/src/behavior/cluster/cluster-behavior-utils.ts +48 -0
- package/src/behavior/cluster/index.ts +2 -1
- package/src/behavior/context/server/LocalActorContext.ts +8 -4
- package/src/behavior/context/server/RemoteActorContext.ts +6 -0
- package/src/behavior/internal/BehaviorBacking.ts +2 -2
- package/src/behavior/system/commissioning/CommissioningServer.ts +4 -3
- package/src/behaviors/operational-credentials/OperationalCredentialsServer.ts +1 -1
- package/src/behaviors/operational-credentials/VendorIdVerification.ts +3 -2
- package/src/endpoint/Endpoint.ts +23 -3
- package/src/endpoint/properties/Behaviors.ts +12 -6
- package/src/endpoint/properties/EndpointInitializer.ts +0 -7
- package/src/node/Node.ts +2 -1
- package/src/node/client/ClientCommandMethod.ts +63 -0
- package/src/node/client/ClientEndpointInitializer.ts +6 -39
- package/src/node/client/ClientStructure.ts +133 -27
- package/src/node/client/ClientStructureEvents.ts +97 -0
- package/src/node/client/PeerBehavior.ts +185 -104
- package/src/node/client/Peers.ts +131 -51
- package/src/node/server/ServerSubscription.ts +3 -3
- package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.d.ts.map +0 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +0 -6
- package/dist/esm/behavior/cluster/ClusterBehaviorUtil.d.ts.map +0 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +0 -6
|
@@ -249,7 +249,6 @@ class ServerSubscription extends Subscription {
|
|
|
249
249
|
}
|
|
250
250
|
/**
|
|
251
251
|
* Determine all attributes that have changed since the last update and send them out to the subscriber.
|
|
252
|
-
* Important: This method MUST NOT be called directly. Use triggerSendUpdate() instead!
|
|
253
252
|
*/
|
|
254
253
|
async #sendUpdate(onlyWithData = false) {
|
|
255
254
|
const attributeFilter = this.#outstandingAttributeUpdates;
|
|
@@ -438,7 +437,7 @@ class ServerSubscription extends Subscription {
|
|
|
438
437
|
/**
|
|
439
438
|
* Closes the subscription and flushes all outstanding data updates if requested.
|
|
440
439
|
*/
|
|
441
|
-
async close(
|
|
440
|
+
async close(flush = false, cancelledByPeer = false) {
|
|
442
441
|
if (this.isClosed) {
|
|
443
442
|
return;
|
|
444
443
|
}
|
|
@@ -446,7 +445,7 @@ class ServerSubscription extends Subscription {
|
|
|
446
445
|
this.isCanceledByPeer = true;
|
|
447
446
|
}
|
|
448
447
|
await this.destroy();
|
|
449
|
-
if (
|
|
448
|
+
if (flush) {
|
|
450
449
|
await this.#flush();
|
|
451
450
|
}
|
|
452
451
|
if (this.#currentUpdatePromise) {
|
|
@@ -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": "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",
|
|
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-20251110-c4c70a41b",
|
|
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-20251110-c4c70a41b",
|
|
46
|
+
"@matter/model": "0.16.0-alpha.0-20251110-c4c70a41b",
|
|
47
|
+
"@matter/types": "0.16.0-alpha.0-20251110-c4c70a41b",
|
|
48
|
+
"@matter/protocol": "0.16.0-alpha.0-20251110-c4c70a41b"
|
|
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-20251110-c4c70a41b",
|
|
52
|
+
"@matter/testing": "0.16.0-alpha.0-20251110-c4c70a41b"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
|
@@ -4,13 +4,9 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Behavior } from "#behavior/Behavior.js";
|
|
8
7
|
import type { ClusterType } from "#types";
|
|
9
8
|
import { ClusterBehavior } from "./ClusterBehavior.js";
|
|
10
|
-
|
|
11
|
-
const isClient = Symbol("is-client");
|
|
12
|
-
|
|
13
|
-
type ClientBehaviorType = { [isClient]?: boolean };
|
|
9
|
+
import { markClientBehavior } from "./cluster-behavior-utils.js";
|
|
14
10
|
|
|
15
11
|
/**
|
|
16
12
|
* Client view of a {@link ClusterBehavior}.
|
|
@@ -24,17 +20,7 @@ type ClientBehaviorType = { [isClient]?: boolean };
|
|
|
24
20
|
export function ClientBehavior<const T extends ClusterType>(cluster: T): ClusterBehavior.Type<T> {
|
|
25
21
|
const behavior = ClusterBehavior.for(cluster, undefined, `${cluster.name}Client`);
|
|
26
22
|
|
|
27
|
-
(behavior
|
|
23
|
+
markClientBehavior(behavior);
|
|
28
24
|
|
|
29
25
|
return behavior;
|
|
30
26
|
}
|
|
31
|
-
|
|
32
|
-
export namespace ClientBehavior {
|
|
33
|
-
/**
|
|
34
|
-
* Determine whether a behavior is a client.
|
|
35
|
-
*/
|
|
36
|
-
export function is(type: Behavior.Type) {
|
|
37
|
-
// Use hasOwn so any derivation voids the client assertion
|
|
38
|
-
return (type as ClientBehaviorType)[isClient] && Object.hasOwn(type, isClient);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -13,8 +13,8 @@ import { Behavior } from "../Behavior.js";
|
|
|
13
13
|
import type { BehaviorBacking } from "../internal/BehaviorBacking.js";
|
|
14
14
|
import type { RootSupervisor } from "../supervision/RootSupervisor.js";
|
|
15
15
|
import { NetworkBehavior } from "../system/network/NetworkBehavior.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { ExtensionInterfaceOf, isClientBehavior, type ClusterOf } from "./cluster-behavior-utils.js";
|
|
17
|
+
import { ClusterBehaviorType } from "./ClusterBehaviorType.js";
|
|
18
18
|
import type { ClusterEvents } from "./ClusterEvents.js";
|
|
19
19
|
import { ClusterInterface } from "./ClusterInterface.js";
|
|
20
20
|
import type { ClusterState } from "./ClusterState.js";
|
|
@@ -105,7 +105,12 @@ export class ClusterBehavior extends Behavior {
|
|
|
105
105
|
schema?: Schema.Cluster,
|
|
106
106
|
name?: string,
|
|
107
107
|
) {
|
|
108
|
-
return
|
|
108
|
+
return ClusterBehaviorType({
|
|
109
|
+
cluster,
|
|
110
|
+
base: this,
|
|
111
|
+
schema,
|
|
112
|
+
name,
|
|
113
|
+
}) as ClusterBehavior.Type<ClusterT, This>;
|
|
109
114
|
}
|
|
110
115
|
|
|
111
116
|
/**
|
|
@@ -182,7 +187,7 @@ export class ClusterBehavior extends Behavior {
|
|
|
182
187
|
//
|
|
183
188
|
// Further, we know the "Client" classes can have no extension methods or properties, so we don't need to do an
|
|
184
189
|
// exact class match for type safety
|
|
185
|
-
if (
|
|
190
|
+
if (isClientBehavior(other) && otherCluster.id === this.cluster.id) {
|
|
186
191
|
return true;
|
|
187
192
|
}
|
|
188
193
|
|
|
@@ -9,20 +9,27 @@ import { Schema } from "#model";
|
|
|
9
9
|
import { ClusterType } from "#types";
|
|
10
10
|
import type { ClusterBehavior } from "./ClusterBehavior.js";
|
|
11
11
|
|
|
12
|
+
const behaviorCache = new WeakMap<
|
|
13
|
+
Behavior.Type,
|
|
14
|
+
WeakMap<ClusterType, WeakMap<Schema, WeakRef<ClusterBehavior.Type<any>>>>
|
|
15
|
+
>();
|
|
16
|
+
|
|
17
|
+
const clientCache = new WeakMap<
|
|
18
|
+
Behavior.Type,
|
|
19
|
+
WeakMap<ClusterType, WeakMap<Schema, WeakRef<ClusterBehavior.Type<any>>>>
|
|
20
|
+
>();
|
|
21
|
+
|
|
12
22
|
/**
|
|
13
23
|
* To save memory we cache behavior implementations specialized for specific clusters. This allows for efficient
|
|
14
24
|
* configuration of behaviors with conditional runtime logic.
|
|
15
25
|
*
|
|
16
26
|
* We use the cluster and schema as cache keys so this relies on similar caching for those items.
|
|
17
27
|
*/
|
|
18
|
-
const typeCache = new WeakMap<
|
|
19
|
-
Behavior.Type,
|
|
20
|
-
WeakMap<ClusterType, WeakMap<Schema, WeakRef<ClusterBehavior.Type<any>>>>
|
|
21
|
-
>();
|
|
22
|
-
|
|
23
28
|
export namespace ClusterBehaviorCache {
|
|
24
|
-
export function get(cluster: ClusterType, base: Behavior.Type, schema: Schema) {
|
|
25
|
-
const
|
|
29
|
+
export function get(cluster: ClusterType, base: Behavior.Type, schema: Schema, forClient?: boolean) {
|
|
30
|
+
const cache = forClient ? clientCache : behaviorCache;
|
|
31
|
+
|
|
32
|
+
const baseCache = cache.get(base);
|
|
26
33
|
if (baseCache === undefined) {
|
|
27
34
|
return;
|
|
28
35
|
}
|
|
@@ -36,9 +43,9 @@ export namespace ClusterBehaviorCache {
|
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
export function set(cluster: ClusterType, base: Behavior.Type, schema: Schema, type: ClusterBehavior.Type) {
|
|
39
|
-
let baseCache =
|
|
46
|
+
let baseCache = behaviorCache.get(base);
|
|
40
47
|
if (baseCache === undefined) {
|
|
41
|
-
|
|
48
|
+
behaviorCache.set(base, (baseCache = new WeakMap()));
|
|
42
49
|
}
|
|
43
50
|
|
|
44
51
|
let clusterCache = baseCache.get(cluster);
|
|
@@ -26,35 +26,22 @@ import { Behavior } from "../Behavior.js";
|
|
|
26
26
|
import { DerivedState } from "../state/StateType.js";
|
|
27
27
|
import type { ClusterBehavior } from "./ClusterBehavior.js";
|
|
28
28
|
import { ClusterBehaviorCache } from "./ClusterBehaviorCache.js";
|
|
29
|
-
|
|
30
|
-
const KNOWN_DEFAULTS = Symbol("knownDefaults");
|
|
29
|
+
import { introspectionInstanceOf } from "./cluster-behavior-utils.js";
|
|
31
30
|
|
|
32
31
|
/**
|
|
33
|
-
*
|
|
34
|
-
* derivatives if the property is once again enabled.
|
|
32
|
+
* Generates a {@link ClusterBehavior.Type}.
|
|
35
33
|
*
|
|
36
|
-
*
|
|
37
|
-
|
|
38
|
-
interface HasKnownDefaults {
|
|
39
|
-
[KNOWN_DEFAULTS]?: Val.Struct;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Create a non-functional instance of a {@link Behavior} for introspection purposes.
|
|
34
|
+
* This factory performs runtime class generation of behaviors associated with a Matter cluster. It implements
|
|
35
|
+
* ClusterBehavior.for() directly and is a core component of PeerBehavior().
|
|
44
36
|
*/
|
|
45
|
-
export function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
cluster: C,
|
|
54
|
-
base: Behavior.Type,
|
|
55
|
-
schema?: Schema.Cluster,
|
|
56
|
-
name?: string,
|
|
57
|
-
) {
|
|
37
|
+
export function ClusterBehaviorType<const C extends ClusterType>({
|
|
38
|
+
cluster,
|
|
39
|
+
base,
|
|
40
|
+
schema,
|
|
41
|
+
name,
|
|
42
|
+
forClient,
|
|
43
|
+
commandFactory,
|
|
44
|
+
}: ClusterBehaviorType.Configuration<C>) {
|
|
58
45
|
if (schema === undefined) {
|
|
59
46
|
if (base.schema.tag === ElementTag.Cluster) {
|
|
60
47
|
schema = base.schema;
|
|
@@ -71,7 +58,7 @@ export function createType<const C extends ClusterType>(
|
|
|
71
58
|
// If we are provided a name, the caller is creating a specialized version of the behavior. Disable caching and
|
|
72
59
|
// do not create a name automatically
|
|
73
60
|
if (useCache) {
|
|
74
|
-
const cached = ClusterBehaviorCache.get(cluster, base, schema);
|
|
61
|
+
const cached = ClusterBehaviorCache.get(cluster, base, schema, forClient);
|
|
75
62
|
if (cached) {
|
|
76
63
|
return cached;
|
|
77
64
|
}
|
|
@@ -83,7 +70,14 @@ export function createType<const C extends ClusterType>(
|
|
|
83
70
|
}
|
|
84
71
|
}
|
|
85
72
|
|
|
86
|
-
const context
|
|
73
|
+
const context: DerivationContext = {
|
|
74
|
+
scope: Scope(schema),
|
|
75
|
+
cluster,
|
|
76
|
+
base,
|
|
77
|
+
newProps: {},
|
|
78
|
+
forClient,
|
|
79
|
+
commandFactory,
|
|
80
|
+
};
|
|
87
81
|
|
|
88
82
|
const type = GeneratedClass({
|
|
89
83
|
name,
|
|
@@ -110,7 +104,7 @@ export function createType<const C extends ClusterType>(
|
|
|
110
104
|
},
|
|
111
105
|
},
|
|
112
106
|
|
|
113
|
-
instanceDescriptors: createDefaultCommandDescriptors(
|
|
107
|
+
instanceDescriptors: createDefaultCommandDescriptors(context),
|
|
114
108
|
}) as ClusterBehavior.Type;
|
|
115
109
|
|
|
116
110
|
// Decorate the class
|
|
@@ -123,37 +117,75 @@ export function createType<const C extends ClusterType>(
|
|
|
123
117
|
ClusterBehaviorCache.set(cluster, base, schema, type);
|
|
124
118
|
}
|
|
125
119
|
|
|
126
|
-
return type
|
|
120
|
+
return type as ClusterBehavior.Type<C>;
|
|
127
121
|
}
|
|
128
122
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
123
|
+
export namespace ClusterBehaviorType {
|
|
124
|
+
export interface Configuration<C extends ClusterType> {
|
|
125
|
+
/**
|
|
126
|
+
* The ClusterType for the new behavior.
|
|
127
|
+
*/
|
|
128
|
+
cluster: C;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* The behavior to extend.
|
|
132
|
+
*/
|
|
133
|
+
base: Behavior.Type;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The schema for the new behavior.
|
|
137
|
+
*
|
|
138
|
+
* If omitted uses the schema from the standard Matter data model.
|
|
139
|
+
*/
|
|
140
|
+
schema?: Schema.Cluster;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Name used for the generated class.
|
|
144
|
+
*
|
|
145
|
+
* If omitted derives name from the schema.
|
|
146
|
+
*/
|
|
147
|
+
name?: string;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Modify generation for client instrumentation.
|
|
151
|
+
*
|
|
152
|
+
* This affects a few things like how quieter events generate.
|
|
153
|
+
*/
|
|
154
|
+
forClient?: boolean;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Factory for command implementations.
|
|
158
|
+
*
|
|
159
|
+
* By default commands install as {@link Behavior.unimplemented}. In client scenarios this allows the caller to
|
|
160
|
+
* provide a useful default implementation.
|
|
161
|
+
*/
|
|
162
|
+
commandFactory?: CommandFactory;
|
|
163
|
+
}
|
|
135
164
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
? I
|
|
141
|
-
: {};
|
|
165
|
+
export interface CommandFactory {
|
|
166
|
+
(name: string): (this: ClusterBehavior, fields?: {}) => unknown;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
142
169
|
|
|
143
170
|
interface DerivationContext {
|
|
144
171
|
cluster: ClusterType;
|
|
145
172
|
scope: Scope;
|
|
146
173
|
base: Behavior.Type;
|
|
147
174
|
newProps: Record<string, ValueModel>;
|
|
175
|
+
forClient?: boolean;
|
|
176
|
+
commandFactory?: ClusterBehaviorType.CommandFactory;
|
|
148
177
|
}
|
|
149
178
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
179
|
+
const KNOWN_DEFAULTS = Symbol("knownDefaults");
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* This is an internal utility used to track default values that we've erased due to conformance. We reuse in
|
|
183
|
+
* derivatives if the property is once again enabled.
|
|
184
|
+
*
|
|
185
|
+
* We cast the state constructor to this type so [KNOWN_DEFAULTS] becomes a static field on the state class.
|
|
186
|
+
*/
|
|
187
|
+
interface HasKnownDefaults {
|
|
188
|
+
[KNOWN_DEFAULTS]?: Val.Struct;
|
|
157
189
|
}
|
|
158
190
|
|
|
159
191
|
/**
|
|
@@ -257,13 +289,16 @@ function createDerivedState({ cluster, scope, base, newProps }: DerivationContex
|
|
|
257
289
|
/**
|
|
258
290
|
* Extend events with additional implementations.
|
|
259
291
|
*/
|
|
260
|
-
function createDerivedEvents({ scope, base, newProps }: DerivationContext) {
|
|
292
|
+
function createDerivedEvents({ scope, base, newProps, forClient }: DerivationContext) {
|
|
261
293
|
const instanceDescriptors = {} as PropertyDescriptorMap;
|
|
262
294
|
|
|
263
295
|
const baseInstance = new base.Events() as unknown as Record<string, unknown>;
|
|
264
296
|
|
|
265
297
|
const eventNames = new Set<string>();
|
|
266
298
|
|
|
299
|
+
// Events are generally OnlineEvent except in the case of server-side elements marked Q
|
|
300
|
+
const quieterImplementation = forClient ? OnlineEvent : QuietEvent;
|
|
301
|
+
|
|
267
302
|
// Add events that are mandatory or marked as supported and not present in the base class
|
|
268
303
|
const applicableClusterEvents = new Set();
|
|
269
304
|
for (const event of scope.membersOf(scope.owner as Schema, {
|
|
@@ -272,14 +307,25 @@ function createDerivedEvents({ scope, base, newProps }: DerivationContext) {
|
|
|
272
307
|
})) {
|
|
273
308
|
const name = camelize(event.name);
|
|
274
309
|
applicableClusterEvents.add(name);
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
event,
|
|
280
|
-
event.quality.quieter ? QuietEvent : OnlineEvent,
|
|
281
|
-
);
|
|
310
|
+
|
|
311
|
+
// Do not implement if already supported
|
|
312
|
+
if (baseInstance[name] !== undefined) {
|
|
313
|
+
continue;
|
|
282
314
|
}
|
|
315
|
+
|
|
316
|
+
// For clients we implement all events because we can't know what's supported now that EventList is gone. For
|
|
317
|
+
// servers we only add events that are explicitly
|
|
318
|
+
if (!forClient && !scope.hasOperationalSupport(event)) {
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// Add the event
|
|
323
|
+
eventNames.add(name);
|
|
324
|
+
instanceDescriptors[name] = createEventDescriptor(
|
|
325
|
+
name,
|
|
326
|
+
event,
|
|
327
|
+
event.quality.quieter ? quieterImplementation : OnlineEvent,
|
|
328
|
+
);
|
|
283
329
|
}
|
|
284
330
|
|
|
285
331
|
// Add events for mandatory attributes that are not present in the base class
|
|
@@ -294,10 +340,11 @@ function createDerivedEvents({ scope, base, newProps }: DerivationContext) {
|
|
|
294
340
|
const changed = `${attrName}$Changed`;
|
|
295
341
|
if (baseInstance[changed] === undefined) {
|
|
296
342
|
eventNames.add(changed);
|
|
343
|
+
|
|
297
344
|
instanceDescriptors[changed] = createEventDescriptor(
|
|
298
345
|
changed,
|
|
299
346
|
prop,
|
|
300
|
-
prop.quality.quieter ?
|
|
347
|
+
prop.quality.quieter ? quieterImplementation : OnlineEvent,
|
|
301
348
|
);
|
|
302
349
|
}
|
|
303
350
|
}
|
|
@@ -386,17 +433,63 @@ function syncFeatures(schema: Schema.Cluster, cluster: ClusterType) {
|
|
|
386
433
|
return schema;
|
|
387
434
|
}
|
|
388
435
|
|
|
389
|
-
|
|
436
|
+
const sourceFactory = Symbol("source-factory");
|
|
437
|
+
|
|
438
|
+
interface MarkedCommand {
|
|
439
|
+
[sourceFactory]?: ClusterBehaviorType.CommandFactory;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Create descriptors for any command methods that are not already present in the base class.
|
|
444
|
+
*/
|
|
445
|
+
function createDefaultCommandDescriptors({ scope, base, commandFactory }: DerivationContext) {
|
|
390
446
|
const result = {} as Record<string, PropertyDescriptor>;
|
|
391
447
|
const instance = introspectionInstanceOf(base);
|
|
392
448
|
|
|
393
|
-
for
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
449
|
+
// We add functions for all commands, not just those that are conformant. This ensures that the interface is
|
|
450
|
+
// compatible with the "client" clusters. Commands that are nonconformant will not appear in the type and if
|
|
451
|
+
// somehow invoked will result in an "unimplemented" error
|
|
452
|
+
const names = new Set(
|
|
453
|
+
scope.membersOf(scope.owner, { tags: [ElementTag.Command] }).map(command => camelize(command.name)),
|
|
454
|
+
);
|
|
455
|
+
|
|
456
|
+
const conformantNames = new Set(
|
|
457
|
+
scope
|
|
458
|
+
.membersOf(scope.owner, { tags: [ElementTag.Command], conformance: "conformant" })
|
|
459
|
+
.map(command => camelize(command.name)),
|
|
460
|
+
);
|
|
461
|
+
|
|
462
|
+
for (const name of names) {
|
|
463
|
+
let implementation;
|
|
464
|
+
|
|
465
|
+
// Choose implementation, or skip if appropriate implementation is already present
|
|
466
|
+
if (!conformantNames.has(name)) {
|
|
467
|
+
// Non-conformant; install as unimplemented
|
|
468
|
+
if (instance[name]) {
|
|
469
|
+
continue;
|
|
470
|
+
}
|
|
471
|
+
implementation = Behavior.unimplemented;
|
|
472
|
+
} else if (commandFactory) {
|
|
473
|
+
// With a factory, replace any existing implementation not provided by the factory
|
|
474
|
+
if ((instance[name] as MarkedCommand | undefined)?.[sourceFactory] === commandFactory) {
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
implementation = commandFactory(name);
|
|
479
|
+
|
|
480
|
+
(implementation as MarkedCommand)[sourceFactory] = commandFactory;
|
|
481
|
+
} else {
|
|
482
|
+
// Otherwise make sure we at least have an "unimplemented"... um, implementation
|
|
483
|
+
if (instance[name]) {
|
|
484
|
+
continue;
|
|
485
|
+
}
|
|
486
|
+
implementation = Behavior.unimplemented;
|
|
399
487
|
}
|
|
488
|
+
|
|
489
|
+
result[name] = {
|
|
490
|
+
value: implementation,
|
|
491
|
+
writable: true,
|
|
492
|
+
};
|
|
400
493
|
}
|
|
401
494
|
|
|
402
495
|
return result;
|
|
@@ -445,6 +538,9 @@ function selectDefaultValue(scope: Scope, oldDefault: Val, member: ValueModel) {
|
|
|
445
538
|
}
|
|
446
539
|
}
|
|
447
540
|
|
|
541
|
+
/**
|
|
542
|
+
* Create a descriptor that lazily creates the {@link Observable} on the "Events" class.
|
|
543
|
+
*/
|
|
448
544
|
function createEventDescriptor(
|
|
449
545
|
name: string,
|
|
450
546
|
schema: ValueModel,
|
|
@@ -10,7 +10,7 @@ import type { AttributeModel, EventModel } from "#model";
|
|
|
10
10
|
import type { ClusterType, TypeFromSchema } from "#types";
|
|
11
11
|
import type { Behavior } from "../Behavior.js";
|
|
12
12
|
import type { ActionContext } from "../context/ActionContext.js";
|
|
13
|
-
import type { ClusterOf } from "./
|
|
13
|
+
import type { ClusterOf } from "./cluster-behavior-utils.js";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Event instance type for ClusterBehaviors.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { ClusterType, TypeFromSchema } from "#types";
|
|
8
8
|
import { AttributeId, BitSchema, CommandId, TypeFromPartialBitSchema } from "#types";
|
|
9
9
|
import type { Behavior } from "../Behavior.js";
|
|
10
|
-
import type { ClusterOf } from "./
|
|
10
|
+
import type { ClusterOf } from "./cluster-behavior-utils.js";
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Instance type for complete (endpoint + fabric) state.
|
|
@@ -8,7 +8,7 @@ import { Diagnostic, ImplementationError, Logger, MatterAggregateError, Observab
|
|
|
8
8
|
import { ClusterType } from "#types";
|
|
9
9
|
import { Behavior } from "../Behavior.js";
|
|
10
10
|
import { ClusterBehavior } from "./ClusterBehavior.js";
|
|
11
|
-
import { introspectionInstanceOf } from "./
|
|
11
|
+
import { introspectionInstanceOf } from "./cluster-behavior-utils.js";
|
|
12
12
|
|
|
13
13
|
const logger = Logger.get("ValidatedElements");
|
|
14
14
|
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { ClusterType } from "#types";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Create a non-functional instance of a {@link Behavior} for introspection purposes.
|
|
12
|
+
*/
|
|
13
|
+
export function introspectionInstanceOf(type: Behavior.Type) {
|
|
14
|
+
return new (type as unknown as new () => Record<string, (...args: any[]) => any>)();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The cluster type for a behavior.
|
|
19
|
+
*/
|
|
20
|
+
export type ClusterOf<B extends Behavior.Type> = B extends { cluster: infer C extends ClusterType }
|
|
21
|
+
? C
|
|
22
|
+
: ClusterType.Unknown;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The extension interface for a behavior.
|
|
26
|
+
*/
|
|
27
|
+
export type ExtensionInterfaceOf<B extends Behavior.Type> = B extends { ExtensionInterface: infer I extends {} }
|
|
28
|
+
? I
|
|
29
|
+
: {};
|
|
30
|
+
|
|
31
|
+
const isClient = Symbol("is-client");
|
|
32
|
+
|
|
33
|
+
type ClientBehaviorType = { [isClient]?: boolean };
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Mark a behavior as a cluster client.
|
|
37
|
+
*/
|
|
38
|
+
export function markClientBehavior(type: Behavior.Type) {
|
|
39
|
+
(type as ClientBehaviorType)[isClient] = true;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Test whether a behavior is a cluster client.
|
|
44
|
+
*/
|
|
45
|
+
export function isClientBehavior(type: Behavior.Type) {
|
|
46
|
+
// Use hasOwn so any derivation voids the client assertion
|
|
47
|
+
return (type as ClientBehaviorType)[isClient] && Object.hasOwn(type, isClient);
|
|
48
|
+
}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
export * from "./ClientBehavior.js";
|
|
8
|
+
export * from "./cluster-behavior-utils.js";
|
|
8
9
|
export * from "./ClusterBehavior.js";
|
|
9
|
-
export * from "./
|
|
10
|
+
export * from "./ClusterBehaviorType.js";
|
|
10
11
|
export * from "./ClusterEvents.js";
|
|
11
12
|
export * from "./ClusterInterface.js";
|
|
12
13
|
export * from "./ClusterState.js";
|