@matter/node 0.16.0-alpha.0-20251212-4dde71be3 → 0.16.0-alpha.0-20251216-71c21f901
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/LICENSE +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +31 -14
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +2 -2
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js +12 -1
- package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts +8 -4
- package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/NetworkClient.js +32 -4
- package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +31 -1
- package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/cjs/node/ClientNode.d.ts +3 -3
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +5 -4
- 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 +14 -0
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts +25 -6
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.js +45 -9
- package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/cjs/node/client/ClientStructure.d.ts +1 -1
- package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructure.js +4 -3
- package/dist/cjs/node/client/ClientStructure.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts +6 -3
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +40 -15
- package/dist/cjs/node/client/Peers.js.map +2 -2
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js +32 -14
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +2 -2
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.js +21 -2
- package/dist/esm/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.d.ts +8 -4
- package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/NetworkClient.js +33 -5
- package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +31 -1
- package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
- package/dist/esm/node/ClientNode.d.ts +3 -3
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +5 -4
- 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 +16 -1
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.d.ts +25 -6
- package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.js +47 -10
- package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/esm/node/client/ClientStructure.d.ts +1 -1
- package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructure.js +4 -3
- package/dist/esm/node/client/ClientStructure.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts +6 -3
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +49 -16
- package/dist/esm/node/client/Peers.js.map +2 -2
- package/package.json +7 -7
- package/src/behavior/system/commissioning/CommissioningClient.ts +32 -10
- package/src/behavior/system/network/ClientNetworkRuntime.ts +20 -2
- package/src/behavior/system/network/NetworkClient.ts +39 -8
- package/src/endpoint/properties/Behaviors.ts +39 -1
- package/src/endpoint/properties/Commands.ts +1 -1
- package/src/node/ClientNode.ts +10 -4
- package/src/node/Node.ts +17 -0
- package/src/node/client/ClientNodeInteraction.ts +65 -16
- package/src/node/client/ClientStructure.ts +13 -5
- package/src/node/client/Peers.ts +56 -19
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/ClientNode.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AACrC,SAAS,qBAAqB;AAG9B,SAAS,2BAA2B;AACpC,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,YAAsB,WAAW,cAA4B;AACtE,SAAS,cAA2B;AACpC,SAAuB,mBAAmB,mBAAmB;AAC7D,SAAS,uBAAuB;AAChC,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,SAAS,iCAAiC;AAC1C,SAAS,6BAA6B;AACtC,SAAS,YAAY;AAGrB,MAAM,SAAS,OAAO,IAAI,YAAY;AAQ/B,MAAM,mBAAmB,KAA8B;AAAA,EAC1D;AAAA,EACA;AAAA,EAEA,YAAY,SAA6B;AACrC,UAAM,OAAO;AAAA,MACT,GAAG;AAAA,MACH,QAAQ;AAAA;AAAA,MAGR,MAAM,gBAAgB,WAAW,YAAY;AAAA,IACjD;AAEA,UAAM,IAAI;AAGV,SAAK,IAAI,MAAM,iBAAiB;AAEhC,SAAK,IAAI,IAAI,MAAM,IAAI;AACvB,SAAK,IAAI,IAAI,YAAY,IAAI;AAE7B,SAAK,UAAU,QAAQ,UAAU;AAAA,EACrC;AAAA,EAEA,IAAI,UAAU;AACV,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAa,YAAiC;AAC1C,WAAO,IAAI,oBAAoB,IAAI;AAAA,EACvC;AAAA,EAEA,IAAc,QAAQ;AAClB,WAAO,KAAK,IAAI,IAAI,eAAe,EAAE,aAAa,aAAa,IAAI;AAAA,EACvE;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ClientNode"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/node/Node.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACH,YAAY,EACZ,UAAU,EACV,sBAAsB,EAEtB,WAAW,EACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/node/Node.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/node/Node.js
CHANGED
|
@@ -63,7 +63,8 @@ import {
|
|
|
63
63
|
DiagnosticSource,
|
|
64
64
|
Environment,
|
|
65
65
|
ImplementationError,
|
|
66
|
-
Logger
|
|
66
|
+
Logger,
|
|
67
|
+
MatterError
|
|
67
68
|
} from "#general";
|
|
68
69
|
import { RootEndpoint } from "../endpoints/root.js";
|
|
69
70
|
import { NodeLifecycle } from "./NodeLifecycle.js";
|
|
@@ -123,6 +124,9 @@ class Node extends Endpoint {
|
|
|
123
124
|
try {
|
|
124
125
|
this.lifecycle.targetState = "online";
|
|
125
126
|
await this.lifecycle.mutex.produce(this.startWithMutex.bind(this));
|
|
127
|
+
} catch (error) {
|
|
128
|
+
this.lifecycle.targetState = "offline";
|
|
129
|
+
throw error;
|
|
126
130
|
} finally {
|
|
127
131
|
this.#startInProgress = false;
|
|
128
132
|
}
|
|
@@ -141,6 +145,17 @@ class Node extends Endpoint {
|
|
|
141
145
|
await this.#runtime.construction.ready;
|
|
142
146
|
await this.act("network startup", (agent) => agent.get(NetworkBehavior).startup());
|
|
143
147
|
} catch (e) {
|
|
148
|
+
if (this.#runtime) {
|
|
149
|
+
this.#environment.delete(NetworkRuntime, this.#runtime);
|
|
150
|
+
try {
|
|
151
|
+
await this.#runtime.close();
|
|
152
|
+
} catch (error) {
|
|
153
|
+
MatterError.accept(error);
|
|
154
|
+
logger.info("Failed to tear down runtime", error.message);
|
|
155
|
+
}
|
|
156
|
+
this.#runtime = void 0;
|
|
157
|
+
this.behaviors.internalsOf(NetworkBehavior).runtime = void 0;
|
|
158
|
+
}
|
|
144
159
|
this.env.runtime.delete(this);
|
|
145
160
|
throw e;
|
|
146
161
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/Node.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAE1B,SAAS,uBAAuB;AAChC;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACG;AAGP,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAEhC,MAAM,SAAS,OAAO,IAAI,MAAM;AAOzB,MAAe,aAA0E,SAAY;AAAA,EACxG;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EAEnB,YAAY,QAA+B;AACvC,UAAM,oBAAoB,OAAO,eAAe,OAAO,OAAO,OAAO,YAAY;AAEjF,QAAI,OAAO,OAAO,QAAW;AACzB,aAAO,KAAK,OAAO,kBAAkB,KAAK,UAAU,qBAAqB,CAAC;AAAA,IAC9E;AAEA,UAAM,MAAM;AAGZ,SAAK,eAAe,IAAI,YAAY,OAAO,IAAI,iBAAiB;AAEhE,SAAK,aAAa,IAAI,cAAc,IAAI,aAAa,CAAC;AACtD,SAAK,aAAa,IAAI,iBAAiB,IAAI,gBAAgB,IAAI,CAAC;AAEhE,QAAI,KAAK,UAAU,WAAW;AAC1B,UAAI,KAAK,WAAW,GAAG;AACnB,cAAM,IAAI,oBAAoB,gCAAgC;AAAA,MAClE;AAAA,IACJ,OAAO;AACH,WAAK,SAAS;AAAA,IAClB;AAEA,SAAK,UAAU,OAAO,GAAG,MAAM;AAC3B,WAAK,aAAa,WAAW;AAAA,IACjC,CAAC;AAED,SAAK,UAAU,QAAQ,GAAG,MAAM;AAC5B,WAAK,aAAa,YAAY;AAAA,IAClC,CAAC;AAED,SAAK,UAAU,aAAa,GAAG,MAAM;AACjC,WAAK,aAAa,eAAe;AAAA,IACrC,CAAC;AAAA,EACL;AAAA,EAEA,IAAa,MAAM;AACf,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACX,WAAO,KAAK,IAAI,IAAI,eAAe,EAAE;AAAA,EACzC;AAAA,EAEA,IAAa,YAA2B;AACpC,WAAO,MAAM;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ;AACV,QAAI,KAAK,UAAU,YAAY,KAAK,kBAAkB;AAClD;AAAA,IACJ;AAEA,SAAK,mBAAmB;AACxB,QAAI;AACA,WAAK,UAAU,cAAc;AAE7B,YAAM,KAAK,UAAU,MAAM,QAAQ,KAAK,eAAe,KAAK,IAAI,CAAC;AAAA,IACrE,UAAE;AACE,WAAK,mBAAmB;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAgB,iBAAiB;AAC7B,SAAK,IAAI,QAAQ,IAAI,IAAI;AAEzB,QAAI;AACA,YAAM,KAAK,aAAa;AAExB,UAAI,KAAK,UAAU;AACf;AAAA,MACJ;AAEA,WAAK,aAAa,cAAc;AAEhC,WAAK,WAAW,KAAK,cAAc;AACnC,WAAK,SAAS,aAAa,MAAM;AACjC,WAAK,aAAa,IAAI,gBAAgB,KAAK,QAAQ;AACnD,YAAM,KAAK,SAAS,aAAa;AACjC,YAAM,KAAK,IAAI,mBAAmB,WAAS,MAAM,IAAI,eAAe,EAAE,QAAQ,CAAC;AAAA,IACnF,SAAS,GAAG;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Node"]
|
|
6
6
|
}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { ActionContext } from "#behavior/context/ActionContext.js";
|
|
7
7
|
import type { ClientNode } from "#node/ClientNode.js";
|
|
8
|
-
import { ClientInvoke, ClientSubscribe, DecodedInvokeResult, Interactable,
|
|
8
|
+
import { ClientInvoke, ClientRead, ClientSubscribe, ClientSubscription, ClientWrite, DecodedInvokeResult, Interactable, PhysicalDeviceProperties, ReadResult, Val, WriteResult } from "#protocol";
|
|
9
|
+
import { EndpointNumber } from "#types";
|
|
9
10
|
/**
|
|
10
11
|
* A {@link ClientInteraction} that brings the node online before attempting interaction.
|
|
11
12
|
*/
|
|
@@ -16,28 +17,46 @@ export declare class ClientNodeInteraction implements Interactable<ActionContext
|
|
|
16
17
|
* The current session used for interaction with the node if any session is established, otherwise undefined.
|
|
17
18
|
*/
|
|
18
19
|
get session(): import("#protocol").Session | undefined;
|
|
20
|
+
get physicalProperties(): PhysicalDeviceProperties;
|
|
19
21
|
/**
|
|
20
22
|
* Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
|
|
21
23
|
* optimize the read.
|
|
22
24
|
* Therefore, the returned data only contains attributes that have changed since the last read or subscription.
|
|
23
|
-
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning
|
|
25
|
+
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
|
|
24
26
|
*/
|
|
25
|
-
read(request:
|
|
27
|
+
read(request: ClientRead, context?: ActionContext): ReadResult;
|
|
26
28
|
/**
|
|
27
29
|
* Subscribe to remote events and attributes as defined by {@link request}.
|
|
28
30
|
*
|
|
29
31
|
* matter.js updates local state
|
|
30
32
|
*
|
|
31
|
-
* By default matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
33
|
+
* By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
32
34
|
* automatically. So you normally do not need to subscribe manually.
|
|
35
|
+
*
|
|
36
|
+
* When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
|
|
37
|
+
* know when/if a subscription could be established. This class handles reconnections automatically.
|
|
38
|
+
* When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
|
|
39
|
+
* established; or an error is returned if this was not possible.
|
|
33
40
|
*/
|
|
34
|
-
subscribe(request: ClientSubscribe, context?: ActionContext):
|
|
41
|
+
subscribe(request: ClientSubscribe, context?: ActionContext): Promise<ClientSubscription>;
|
|
35
42
|
/**
|
|
36
43
|
* Write chosen attributes remotely to the node.
|
|
37
44
|
* The returned attribute write status information is returned.
|
|
38
45
|
*/
|
|
39
|
-
write<T extends
|
|
46
|
+
write<T extends ClientWrite>(request: T, context?: ActionContext): WriteResult<T>;
|
|
47
|
+
/**
|
|
48
|
+
* Invoke a command remotely on the node.
|
|
49
|
+
* The returned command response is returned as response chunks
|
|
50
|
+
*/
|
|
40
51
|
invoke(request: ClientInvoke, context?: ActionContext): DecodedInvokeResult;
|
|
41
52
|
get structure(): import("./ClientStructure.js").ClientStructure;
|
|
53
|
+
/**
|
|
54
|
+
* Temporary accessor of cached data, if any are stored. This will be implemented by the ClientNodeInteraction and
|
|
55
|
+
* point to the node state of the relevant endpoint and is needed to support the old API behavior for
|
|
56
|
+
* AttributeClient.
|
|
57
|
+
* TODO Remove when we remove the legacy controller API
|
|
58
|
+
* @deprecated
|
|
59
|
+
*/
|
|
60
|
+
localStateFor(endpointId: EndpointNumber): Record<string, Record<string, Val.Struct> | undefined> | undefined;
|
|
42
61
|
}
|
|
43
62
|
//# sourceMappingURL=ClientNodeInteraction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientNodeInteraction.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodeInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEH,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,
|
|
1
|
+
{"version":3,"file":"ClientNodeInteraction.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodeInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAEH,YAAY,EACZ,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EAExB,UAAU,EACV,GAAG,EACH,WAAW,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGxC;;GAEG;AACH,qBAAa,qBAAsB,YAAW,YAAY,CAAC,aAAa,CAAC;;gBAIzD,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,IAAI,OAAO,4CAIV;IAED,IAAI,kBAAkB,6BASrB;IAED;;;;;OAKG;IACI,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU;IAQrE;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA4B/F;;;OAGG;IACG,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;IAMvF;;;OAGG;IACI,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,mBAAmB;IAkBlF,IAAI,SAAS,mDAEZ;IAED;;;;;;OAMG;IACH,aAAa,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS;CAOhH"}
|
|
@@ -7,10 +7,12 @@ import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js
|
|
|
7
7
|
import { NodePhysicalProperties } from "#node/NodePhysicalProperties.js";
|
|
8
8
|
import {
|
|
9
9
|
ClientInteraction,
|
|
10
|
-
PhysicalDeviceProperties
|
|
10
|
+
PhysicalDeviceProperties,
|
|
11
|
+
QueuedClientInteraction
|
|
11
12
|
} from "#protocol";
|
|
12
13
|
class ClientNodeInteraction {
|
|
13
14
|
#node;
|
|
15
|
+
#physicalProps;
|
|
14
16
|
constructor(node) {
|
|
15
17
|
this.#node = node;
|
|
16
18
|
}
|
|
@@ -22,11 +24,20 @@ class ClientNodeInteraction {
|
|
|
22
24
|
return this.#node.env.get(ClientInteraction).session;
|
|
23
25
|
}
|
|
24
26
|
}
|
|
27
|
+
get physicalProperties() {
|
|
28
|
+
if (this.#physicalProps === void 0) {
|
|
29
|
+
this.#physicalProps = NodePhysicalProperties(this.#node);
|
|
30
|
+
this.structure.changed.on(() => {
|
|
31
|
+
this.#physicalProps = void 0;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return this.#physicalProps;
|
|
35
|
+
}
|
|
25
36
|
/**
|
|
26
37
|
* Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
|
|
27
38
|
* optimize the read.
|
|
28
39
|
* Therefore, the returned data only contains attributes that have changed since the last read or subscription.
|
|
29
|
-
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning
|
|
40
|
+
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning?
|
|
30
41
|
*/
|
|
31
42
|
async *read(request, context) {
|
|
32
43
|
request = this.structure.injectVersionFilters(request);
|
|
@@ -39,19 +50,23 @@ class ClientNodeInteraction {
|
|
|
39
50
|
*
|
|
40
51
|
* matter.js updates local state
|
|
41
52
|
*
|
|
42
|
-
* By default matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
53
|
+
* By default, matter.js subscribes to all attributes and events of the peer and updates {@link ClientNode} state
|
|
43
54
|
* automatically. So you normally do not need to subscribe manually.
|
|
55
|
+
*
|
|
56
|
+
* When providing the "sustain" flag, a SustainedSubscription is returned immediately. You need to use the events to
|
|
57
|
+
* know when/if a subscription could be established. This class handles reconnections automatically.
|
|
58
|
+
* When not providing the "sustain" flag, a PeerSubscription is returned after a subscription have been successfully
|
|
59
|
+
* established; or an error is returned if this was not possible.
|
|
44
60
|
*/
|
|
45
61
|
async subscribe(request, context) {
|
|
46
|
-
const physicalProps = NodePhysicalProperties(this.#node);
|
|
47
62
|
const intermediateRequest = {
|
|
48
63
|
...this.structure.injectVersionFilters(request),
|
|
49
64
|
...PhysicalDeviceProperties.subscriptionIntervalBoundsFor({
|
|
50
65
|
description: this.#node.toString(),
|
|
51
|
-
properties:
|
|
66
|
+
properties: this.physicalProperties,
|
|
52
67
|
request
|
|
53
68
|
}),
|
|
54
|
-
sustain: request.sustain
|
|
69
|
+
sustain: !!request.sustain,
|
|
55
70
|
updated: async (data) => {
|
|
56
71
|
const result = this.structure.mutate(request, data);
|
|
57
72
|
if (request.updated) {
|
|
@@ -62,27 +77,49 @@ class ClientNodeInteraction {
|
|
|
62
77
|
},
|
|
63
78
|
closed: request.closed?.bind(request)
|
|
64
79
|
};
|
|
65
|
-
|
|
80
|
+
const client = await this.#connect();
|
|
81
|
+
return client.subscribe(intermediateRequest, context);
|
|
66
82
|
}
|
|
67
83
|
/**
|
|
68
84
|
* Write chosen attributes remotely to the node.
|
|
69
85
|
* The returned attribute write status information is returned.
|
|
70
86
|
*/
|
|
71
87
|
async write(request, context) {
|
|
72
|
-
|
|
88
|
+
const client = await this.#connect();
|
|
89
|
+
return client.write(request, context);
|
|
73
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Invoke a command remotely on the node.
|
|
93
|
+
* The returned command response is returned as response chunks
|
|
94
|
+
*/
|
|
74
95
|
async *invoke(request, context) {
|
|
75
|
-
|
|
96
|
+
const client = await this.#connect();
|
|
97
|
+
yield* client.invoke(request, context);
|
|
76
98
|
}
|
|
77
99
|
async #connect() {
|
|
78
100
|
if (!this.#node.lifecycle.isOnline) {
|
|
79
101
|
await this.#node.start();
|
|
80
102
|
}
|
|
81
|
-
|
|
103
|
+
const props = this.physicalProperties;
|
|
104
|
+
return props.threadConnected || !props.rootEndpointServerList.length ? this.#node.env.get(QueuedClientInteraction) : this.#node.env.get(ClientInteraction);
|
|
82
105
|
}
|
|
83
106
|
get structure() {
|
|
84
107
|
return this.#node.env.get(EndpointInitializer).structure;
|
|
85
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Temporary accessor of cached data, if any are stored. This will be implemented by the ClientNodeInteraction and
|
|
111
|
+
* point to the node state of the relevant endpoint and is needed to support the old API behavior for
|
|
112
|
+
* AttributeClient.
|
|
113
|
+
* TODO Remove when we remove the legacy controller API
|
|
114
|
+
* @deprecated
|
|
115
|
+
*/
|
|
116
|
+
localStateFor(endpointId) {
|
|
117
|
+
if (!this.#node.endpoints.has(endpointId)) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const endpoint = this.#node.endpoints.for(endpointId);
|
|
121
|
+
return endpoint.state;
|
|
122
|
+
}
|
|
86
123
|
}
|
|
87
124
|
export {
|
|
88
125
|
ClientNodeInteraction
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/ClientNodeInteraction.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AACvC;AAAA,EACI;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -42,7 +42,7 @@ export declare class ClientStructure {
|
|
|
42
42
|
* Update the node structure by applying attribute changes.
|
|
43
43
|
*/
|
|
44
44
|
mutate(request: Read, changes: ReadResult): AsyncGenerator<ReadResult.Report[], void, unknown>;
|
|
45
|
-
/**
|
|
45
|
+
/** Determines if the subscription is fabric filtered */
|
|
46
46
|
protected get subscribedFabricFiltered(): boolean;
|
|
47
47
|
/**
|
|
48
48
|
* Obtain the {@link ClusterType} for an {@link EndpointNumber} and {@link ClusterId}.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAkD,UAAU,EAAE,MAAM,UAAU,CAAC;AAYtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAe,SAAS,EAAE,WAAW,EAAa,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;GAEG;AACH,qBAAa,eAAe;;gBAYZ,IAAI,EAAE,UAAU;IAW5B,IAAI,OAAO,6BAEV;IAED;;OAEG;IACH,SAAS;IAyCT;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAO7D;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;IAIrD;;OAEG;IACH,oBAAoB,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAmCnD;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;IA+DhD,
|
|
1
|
+
{"version":3,"file":"ClientStructure.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,OAAO,EAAkD,UAAU,EAAE,MAAM,UAAU,CAAC;AAYtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAa,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAe,SAAS,EAAE,WAAW,EAAa,cAAc,EAAE,MAAM,QAAQ,CAAC;AAI7F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;GAEG;AACH,qBAAa,eAAe;;gBAYZ,IAAI,EAAE,UAAU;IAW5B,IAAI,OAAO,6BAEV;IAED;;OAEG;IACH,SAAS;IAyCT;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAO7D;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI;IAIrD;;OAEG;IACH,oBAAoB,CAAC,CAAC,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC;IAmCnD;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU;IA+DhD,wDAAwD;IACxD,SAAS,KAAK,wBAAwB,IAAI,OAAO,CAgBhD;IA0DD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS;IASvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,GAAG,SAAS;CAgf9D;AAUD,UAAU,iBAAiB;IACvB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;CAC9C;AAED,UAAU,gBAAiB,SAAQ,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC;IAC3E,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,SAAS,CAAC;IACd,QAAQ,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;CAC1B;AAsBD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;AAExD,UAAU,aAAa;IACnB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;CAC/B;AAED,UAAU,YAAY;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,gBAAgB,CAAC;CAC7B"}
|
|
@@ -156,7 +156,7 @@ class ClientStructure {
|
|
|
156
156
|
logger.debug(
|
|
157
157
|
"Received status for",
|
|
158
158
|
change.kind === "attr-status" ? "attribute" : "event",
|
|
159
|
-
Diagnostic.strong(change.path
|
|
159
|
+
Diagnostic.strong(Diagnostic.dict(change.path)),
|
|
160
160
|
`: ${Status[change.status]}#${change.status}${change.clusterStatus !== void 0 ? `/${Status[change.clusterStatus]}#${change.clusterStatus}` : ""}`
|
|
161
161
|
);
|
|
162
162
|
break;
|
|
@@ -183,10 +183,11 @@ class ClientStructure {
|
|
|
183
183
|
this.#emitPendingStructureEvents();
|
|
184
184
|
await this.#emitPendingEvents();
|
|
185
185
|
}
|
|
186
|
-
/**
|
|
186
|
+
/** Determines if the subscription is fabric filtered */
|
|
187
187
|
get subscribedFabricFiltered() {
|
|
188
188
|
if (this.#subscribedFabricFiltered === void 0) {
|
|
189
|
-
|
|
189
|
+
const defaultSubscription = this.#node.state.network.defaultSubscription ?? {};
|
|
190
|
+
this.#subscribedFabricFiltered = ("isFabricFiltered" in defaultSubscription ? defaultSubscription.isFabricFiltered : "fabricFiltered" in defaultSubscription ? defaultSubscription.fabricFiltered : true) ?? true;
|
|
190
191
|
this.#node.events.network.defaultSubscription$Changed.on((newSubscription) => {
|
|
191
192
|
this.#subscribedFabricFiltered = newSubscription?.isFabricFiltered ?? true;
|
|
192
193
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/ClientStructure.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["id", "endpoint"]
|
|
6
6
|
}
|
|
@@ -28,13 +28,16 @@ export declare class Peers extends EndpointContainer<ClientNode> {
|
|
|
28
28
|
*/
|
|
29
29
|
initialize(): void;
|
|
30
30
|
/**
|
|
31
|
-
* Find a specific commissionable node.
|
|
31
|
+
* Find a specific commissionable node, or, if no discovery options are provided, returns the first discovered node.
|
|
32
|
+
* TODO: Allow to provide an array of options for multiple discoveries (e.g. from a Multi QR code).
|
|
32
33
|
*/
|
|
33
34
|
locate(options?: Discovery.Options): InstanceDiscovery;
|
|
34
35
|
/**
|
|
35
|
-
* Employ discovery to find a set of commissionable nodes
|
|
36
|
+
* Employ discovery to find a set of commissionable nodes, the options can be used to limit the discovered devices
|
|
37
|
+
* (e.g. just a specific vendor).
|
|
38
|
+
* TODO: Allow to provide multiple identifiers for multiple discoveries (e.g. from a Multi QR code).
|
|
36
39
|
*
|
|
37
|
-
* If you do not provide a timeout value, will search until canceled and you need to add a listener to
|
|
40
|
+
* If you do not provide a timeout value, will search until canceled, and you need to add a listener to
|
|
38
41
|
* {@link Discovery#discovered} or {@link added} to receive discovered nodes.
|
|
39
42
|
*/
|
|
40
43
|
discover(options?: Discovery.Options): ContinuousDiscovery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAQH,UAAU,EAKb,MAAM,UAAU,CAAC;AAGlB,OAAO,
|
|
1
|
+
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAQH,UAAU,EAKb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAKH,WAAW,EAGd,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;;gBAOxC,KAAK,EAAE,UAAU;IAqB7B;;OAEG;IACH,UAAU;IAqCV;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIlD;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvF;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAIxD;;OAEG;IACM,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAiB9C,IAAa,KAAK,IACQ,UAAU,CACnC;IAEQ,GAAG,CAAC,IAAI,EAAE,UAAU;IAM7B;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAM;IAuB3E,KAAK;CA+MvB"}
|
|
@@ -25,7 +25,15 @@ import {
|
|
|
25
25
|
} from "#general";
|
|
26
26
|
import { ClientGroup } from "#node/ClientGroup.js";
|
|
27
27
|
import { InteractionServer } from "#node/server/InteractionServer.js";
|
|
28
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
ClientSubscriptionHandler,
|
|
30
|
+
ClientSubscriptions,
|
|
31
|
+
FabricManager,
|
|
32
|
+
InteractionQueue,
|
|
33
|
+
PeerAddress,
|
|
34
|
+
PeerSet,
|
|
35
|
+
SessionManager
|
|
36
|
+
} from "#protocol";
|
|
29
37
|
import { ServerNodeStore } from "#storage/server/ServerNodeStore.js";
|
|
30
38
|
import { ClientNode } from "../ClientNode.js";
|
|
31
39
|
import { ClientNodeFactory } from "./ClientNodeFactory.js";
|
|
@@ -35,15 +43,17 @@ const DEFAULT_TTL = Minutes(15);
|
|
|
35
43
|
const EXPIRATION_INTERVAL = Minutes.one;
|
|
36
44
|
class Peers extends EndpointContainer {
|
|
37
45
|
#expirationInterval;
|
|
38
|
-
#
|
|
46
|
+
#installedSubscriptionHandler;
|
|
39
47
|
#mutex = new Mutex(this);
|
|
40
48
|
#closed = false;
|
|
49
|
+
#queue;
|
|
41
50
|
constructor(owner) {
|
|
42
51
|
super(owner);
|
|
43
52
|
if (!owner.env.has(ClientNodeFactory)) {
|
|
44
53
|
owner.env.set(ClientNodeFactory, new Factory(this));
|
|
45
54
|
}
|
|
46
55
|
owner.env.applyTo(InteractionServer, this.#configureInteractionServer.bind(this));
|
|
56
|
+
this.#queue = this.owner.env.get(InteractionQueue);
|
|
47
57
|
this.added.on(this.#handlePeerAdded.bind(this));
|
|
48
58
|
this.deleted.on(this.#manageExpiration.bind(this));
|
|
49
59
|
this.clusterInstalled(BasicInformationClient).on(this.#instrumentBasicInformation.bind(this));
|
|
@@ -82,15 +92,18 @@ class Peers extends EndpointContainer {
|
|
|
82
92
|
}
|
|
83
93
|
}
|
|
84
94
|
/**
|
|
85
|
-
* Find a specific commissionable node.
|
|
95
|
+
* Find a specific commissionable node, or, if no discovery options are provided, returns the first discovered node.
|
|
96
|
+
* TODO: Allow to provide an array of options for multiple discoveries (e.g. from a Multi QR code).
|
|
86
97
|
*/
|
|
87
98
|
locate(options) {
|
|
88
99
|
return new InstanceDiscovery(this.owner, options);
|
|
89
100
|
}
|
|
90
101
|
/**
|
|
91
|
-
* Employ discovery to find a set of commissionable nodes
|
|
102
|
+
* Employ discovery to find a set of commissionable nodes, the options can be used to limit the discovered devices
|
|
103
|
+
* (e.g. just a specific vendor).
|
|
104
|
+
* TODO: Allow to provide multiple identifiers for multiple discoveries (e.g. from a Multi QR code).
|
|
92
105
|
*
|
|
93
|
-
* If you do not provide a timeout value, will search until canceled and you need to add a listener to
|
|
106
|
+
* If you do not provide a timeout value, will search until canceled, and you need to add a listener to
|
|
94
107
|
* {@link Discovery#discovered} or {@link added} to receive discovered nodes.
|
|
95
108
|
*/
|
|
96
109
|
discover(options) {
|
|
@@ -125,9 +138,11 @@ class Peers extends EndpointContainer {
|
|
|
125
138
|
if (typeof id !== "string" && typeof id !== "number") {
|
|
126
139
|
const address = PeerAddress(id);
|
|
127
140
|
for (const node of this) {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
141
|
+
if (node.behaviors.active.some(({ id: id2 }) => id2 === "commissioning")) {
|
|
142
|
+
const nodeAddress = node.maybeStateOf("commissioning")?.peerAddress;
|
|
143
|
+
if (nodeAddress !== void 0 && PeerAddress.is(nodeAddress, address)) {
|
|
144
|
+
return node;
|
|
145
|
+
}
|
|
131
146
|
}
|
|
132
147
|
}
|
|
133
148
|
return void 0;
|
|
@@ -165,7 +180,8 @@ class Peers extends EndpointContainer {
|
|
|
165
180
|
}
|
|
166
181
|
async close() {
|
|
167
182
|
this.#closed = true;
|
|
168
|
-
|
|
183
|
+
this.#queue.close();
|
|
184
|
+
await this.#installedSubscriptionHandler?.close();
|
|
169
185
|
this.#cancelExpiration();
|
|
170
186
|
await this.#mutex;
|
|
171
187
|
await super.close();
|
|
@@ -186,15 +202,13 @@ class Peers extends EndpointContainer {
|
|
|
186
202
|
* If required, installs a listener in the environment's {@link InteractionServer} to handle subscription responses.
|
|
187
203
|
*/
|
|
188
204
|
#configureInteractionServer() {
|
|
189
|
-
if (this.#closed || this
|
|
205
|
+
if (this.#closed || this.#installedSubscriptionHandler !== void 0 || !this.owner.env.has(InteractionServer)) {
|
|
190
206
|
return;
|
|
191
207
|
}
|
|
192
208
|
const subscriptions = this.owner.env.get(ClientSubscriptions);
|
|
193
209
|
const interactionServer = this.owner.env.get(InteractionServer);
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
interactionServer.clientHandler = this.#subscriptionHandler;
|
|
210
|
+
this.#installedSubscriptionHandler = new ClientSubscriptionHandler(subscriptions);
|
|
211
|
+
interactionServer.clientHandler = this.#installedSubscriptionHandler;
|
|
198
212
|
}
|
|
199
213
|
/**
|
|
200
214
|
* Enables or disables the expiration timer that culls expired uncommissioned nodes.
|
|
@@ -217,6 +231,9 @@ class Peers extends EndpointContainer {
|
|
|
217
231
|
);
|
|
218
232
|
}
|
|
219
233
|
#onExpirationIntervalElapsed() {
|
|
234
|
+
if (this.#closed) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
220
237
|
this.#mutex.run(
|
|
221
238
|
() => this.#cullExpiredNodesAndAddresses().catch((error) => {
|
|
222
239
|
logger.error("Error culling expired nodes", error);
|
|
@@ -229,7 +246,13 @@ class Peers extends EndpointContainer {
|
|
|
229
246
|
try {
|
|
230
247
|
const now = Time.nowMs;
|
|
231
248
|
for (const node of this) {
|
|
232
|
-
|
|
249
|
+
if (!node.lifecycle.isReady) {
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
const state = node.maybeStateOf(CommissioningClient);
|
|
253
|
+
if (state === void 0) {
|
|
254
|
+
continue;
|
|
255
|
+
}
|
|
233
256
|
const { addresses } = state;
|
|
234
257
|
const isCommissioned = state.peerAddress !== void 0;
|
|
235
258
|
if (addresses === void 0 || isCommissioned && addresses.length === 1) {
|
|
@@ -274,6 +297,9 @@ class Peers extends EndpointContainer {
|
|
|
274
297
|
node.eventsOf(type).shutDown?.on(() => this.#onShutdown(node));
|
|
275
298
|
node.eventsOf(type).capabilityMinima$Changed.on(setPeerLimits);
|
|
276
299
|
function setPeerLimits() {
|
|
300
|
+
if (!node.env.has(PeerSet)) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
277
303
|
const peerAddress = node.maybeStateOf(CommissioningClient)?.peerAddress;
|
|
278
304
|
if (peerAddress) {
|
|
279
305
|
node.env.get(PeerSet).for(peerAddress).limits = node.stateOf(type).capabilityMinima;
|
|
@@ -307,7 +333,14 @@ class Peers extends EndpointContainer {
|
|
|
307
333
|
await node.delete();
|
|
308
334
|
});
|
|
309
335
|
}
|
|
310
|
-
#onShutdown(
|
|
336
|
+
async #onShutdown(node) {
|
|
337
|
+
if (!node.lifecycle.isReady || !node.lifecycle.isOnline) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
const peerAddress = node.maybeStateOf(CommissioningClient)?.peerAddress;
|
|
341
|
+
if (peerAddress !== void 0) {
|
|
342
|
+
await this.owner.env.get(SessionManager).handlePeerShutdown(peerAddress);
|
|
343
|
+
}
|
|
311
344
|
}
|
|
312
345
|
}
|
|
313
346
|
class Factory extends ClientNodeFactory {
|