@matter/node 0.16.0-alpha.0-20250925-9e6a5c124 → 0.16.0-alpha.0-20250927-238ce7756
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/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +2 -0
- package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +2 -3
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +8 -27
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts +3 -3
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +8 -3
- package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/cjs/endpoint/properties/Endpoints.d.ts +24 -0
- package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -0
- package/dist/cjs/endpoint/properties/Endpoints.js +85 -0
- package/dist/cjs/endpoint/properties/Endpoints.js.map +6 -0
- package/dist/cjs/endpoint/properties/index.d.ts +1 -0
- package/dist/cjs/endpoint/properties/index.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/index.js +1 -0
- package/dist/cjs/endpoint/properties/index.js.map +1 -1
- package/dist/cjs/node/ClientNode.d.ts +1 -1
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +1 -1
- package/dist/cjs/node/Node.d.ts +9 -1
- package/dist/cjs/node/Node.d.ts.map +1 -1
- package/dist/cjs/node/Node.js +10 -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 +7 -7
- package/dist/cjs/node/ServerNode.js.map +1 -1
- package/dist/cjs/node/client/NodePeerAddressStore.js +2 -2
- package/dist/cjs/node/client/{ClientNodes.d.ts → Peers.d.ts} +2 -2
- package/dist/cjs/node/client/Peers.d.ts.map +1 -0
- package/dist/cjs/node/client/{ClientNodes.js → Peers.js} +6 -6
- package/dist/cjs/node/client/Peers.js.map +6 -0
- package/dist/cjs/node/client/index.d.ts +1 -1
- package/dist/cjs/node/client/index.d.ts.map +1 -1
- package/dist/cjs/node/client/index.js +1 -1
- package/dist/cjs/node/client/index.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js +2 -0
- package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +2 -3
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +8 -28
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts +3 -3
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +8 -3
- package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
- package/dist/esm/endpoint/properties/Endpoints.d.ts +24 -0
- package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -0
- package/dist/esm/endpoint/properties/Endpoints.js +65 -0
- package/dist/esm/endpoint/properties/Endpoints.js.map +6 -0
- package/dist/esm/endpoint/properties/index.d.ts +1 -0
- package/dist/esm/endpoint/properties/index.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/index.js +1 -0
- package/dist/esm/endpoint/properties/index.js.map +1 -1
- package/dist/esm/node/ClientNode.d.ts +1 -1
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +1 -1
- package/dist/esm/node/Node.d.ts +9 -1
- package/dist/esm/node/Node.d.ts.map +1 -1
- package/dist/esm/node/Node.js +10 -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 +7 -7
- package/dist/esm/node/ServerNode.js.map +1 -1
- package/dist/esm/node/client/NodePeerAddressStore.js +2 -2
- package/dist/esm/node/client/{ClientNodes.d.ts → Peers.d.ts} +2 -2
- package/dist/esm/node/client/Peers.d.ts.map +1 -0
- package/dist/esm/node/client/{ClientNodes.js → Peers.js} +3 -3
- package/dist/esm/node/client/Peers.js.map +6 -0
- package/dist/esm/node/client/index.d.ts +1 -1
- package/dist/esm/node/client/index.d.ts.map +1 -1
- package/dist/esm/node/client/index.js +1 -1
- package/package.json +7 -7
- package/src/behavior/system/commissioning/CommissioningServer.ts +4 -0
- package/src/behavior/system/network/ServerNetworkRuntime.ts +14 -40
- package/src/behavior/system/subscriptions/SubscriptionsServer.ts +7 -3
- package/src/endpoint/properties/Endpoints.ts +83 -0
- package/src/endpoint/properties/index.ts +1 -0
- package/src/node/ClientNode.ts +1 -1
- package/src/node/Node.ts +12 -0
- package/src/node/ServerNode.ts +7 -7
- package/src/node/client/NodePeerAddressStore.ts +2 -2
- package/src/node/client/{ClientNodes.ts → Peers.ts} +3 -3
- package/src/node/client/index.ts +1 -1
- package/dist/cjs/node/client/ClientNodes.d.ts.map +0 -1
- package/dist/cjs/node/client/ClientNodes.js.map +0 -6
- package/dist/esm/node/client/ClientNodes.d.ts.map +0 -1
- package/dist/esm/node/client/ClientNodes.js.map +0 -6
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { IndexBehavior } from "#behavior/system/index/IndexBehavior.js";
|
|
7
|
+
import { StatusResponse } from "#types";
|
|
8
|
+
class Endpoints {
|
|
9
|
+
#node;
|
|
10
|
+
constructor(node) {
|
|
11
|
+
this.#node = node;
|
|
12
|
+
}
|
|
13
|
+
has(endpoint) {
|
|
14
|
+
if (endpoint === this.#node || endpoint === 0) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (typeof endpoint === "number") {
|
|
18
|
+
return endpoint in this.#index;
|
|
19
|
+
}
|
|
20
|
+
return endpoint.lifecycle.hasNumber && endpoint.number in this.#index;
|
|
21
|
+
}
|
|
22
|
+
get size() {
|
|
23
|
+
return this.#list.length + 1;
|
|
24
|
+
}
|
|
25
|
+
map(mapper) {
|
|
26
|
+
return this.#list.map(mapper);
|
|
27
|
+
}
|
|
28
|
+
find(predicate) {
|
|
29
|
+
return this.#list.find(predicate);
|
|
30
|
+
}
|
|
31
|
+
filter(predicate) {
|
|
32
|
+
return this.#list.filter(predicate);
|
|
33
|
+
}
|
|
34
|
+
[Symbol.iterator]() {
|
|
35
|
+
return this.#list[Symbol.iterator]();
|
|
36
|
+
}
|
|
37
|
+
for(number) {
|
|
38
|
+
if (number === 0) {
|
|
39
|
+
return this.#node;
|
|
40
|
+
}
|
|
41
|
+
const endpoint = this.#index[number];
|
|
42
|
+
if (endpoint === void 0) {
|
|
43
|
+
throw new StatusResponse.NotFoundError(`Endpoint ${number} does not exist`);
|
|
44
|
+
}
|
|
45
|
+
return endpoint;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Object mapping EndpointNumber -> Endpoint.
|
|
49
|
+
*
|
|
50
|
+
* Note that this does not include endpoint 0, but we have that in #node.
|
|
51
|
+
*/
|
|
52
|
+
get #index() {
|
|
53
|
+
return this.#node.behaviors.internalsOf(IndexBehavior).partsByNumber;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Full list of endpoints. Includes endpoint 0.
|
|
57
|
+
*/
|
|
58
|
+
get #list() {
|
|
59
|
+
return [this.#node, ...Object.values(this.#index)];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
Endpoints
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=Endpoints.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/endpoint/properties/Endpoints.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAK9B,SAAS,sBAAsB;AAKxB,MAAM,UAA4C;AAAA,EACrD;AAAA,EAEA,YAAY,MAAY;AACpB,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEA,IAAI,UAAsC;AACtC,QAAI,aAAa,KAAK,SAAS,aAAa,GAAG;AAC3C,aAAO;AAAA,IACX;AAEA,QAAI,OAAO,aAAa,UAAU;AAC9B,aAAO,YAAY,KAAK;AAAA,IAC5B;AAEA,WAAO,SAAS,UAAU,aAAa,SAAS,UAAU,KAAK;AAAA,EACnE;AAAA,EAEA,IAAI,OAAe;AACf,WAAO,KAAK,MAAM,SAAS;AAAA,EAC/B;AAAA,EAEA,IAAO,QAAwD;AAC3D,WAAO,KAAK,MAAM,IAAI,MAAM;AAAA,EAChC;AAAA,EAEA,KAAK,WAA0E;AAC3E,WAAO,KAAK,MAAM,KAAK,SAAS;AAAA,EACpC;AAAA,EAEA,OAAO,WAAgE;AACnE,WAAO,KAAK,MAAM,OAAO,SAAS;AAAA,EACtC;AAAA,EAEA,CAAC,OAAO,QAAQ,IAAI;AAChB,WAAO,KAAK,MAAM,OAAO,QAAQ,EAAE;AAAA,EACvC;AAAA,EAEA,IAAI,QAA0B;AAC1B,QAAI,WAAW,GAAG;AACd,aAAO,KAAK;AAAA,IAChB;AAEA,UAAM,WAAW,KAAK,OAAO,MAAM;AACnC,QAAI,aAAa,QAAW;AACxB,YAAM,IAAI,eAAe,cAAc,YAAY,MAAM,iBAAiB;AAAA,IAC9E;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAAS;AACT,WAAO,KAAK,MAAM,UAAU,YAAY,aAAa,EAAE;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,WAAO,CAAC,KAAK,OAAO,GAAG,OAAO,OAAO,KAAK,MAAM,CAAC;AAAA,EACrD;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -8,6 +8,7 @@ export * from "./Commands.js";
|
|
|
8
8
|
export * from "./EndpointContainer.js";
|
|
9
9
|
export * from "./EndpointInitializer.js";
|
|
10
10
|
export * from "./EndpointLifecycle.js";
|
|
11
|
+
export * from "./Endpoints.js";
|
|
11
12
|
export * from "./Parts.js";
|
|
12
13
|
export * from "./SupportedBehaviors.js";
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/properties/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/properties/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC"}
|
|
@@ -8,6 +8,7 @@ export * from "./Commands.js";
|
|
|
8
8
|
export * from "./EndpointContainer.js";
|
|
9
9
|
export * from "./EndpointInitializer.js";
|
|
10
10
|
export * from "./EndpointLifecycle.js";
|
|
11
|
+
export * from "./Endpoints.js";
|
|
11
12
|
export * from "./Parts.js";
|
|
12
13
|
export * from "./SupportedBehaviors.js";
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/endpoint/properties/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -60,7 +60,7 @@ export declare class ClientNode extends Node<ClientNode.RootEndpoint> {
|
|
|
60
60
|
protected eraseWithMutex(): Promise<void>;
|
|
61
61
|
protected createRuntime(): NetworkRuntime;
|
|
62
62
|
prepareRuntimeShutdown(): Promise<void>;
|
|
63
|
-
protected get container(): import("./index.js").
|
|
63
|
+
protected get container(): import("./index.js").Peers | undefined;
|
|
64
64
|
act<R>(purpose: string, actor: (agent: Agent.Instance<ClientNode.RootEndpoint>) => MaybePromise<R>): MaybePromise<R>;
|
|
65
65
|
act<R>(actor: (agent: Agent.Instance<ClientNode.RootEndpoint>) => MaybePromise<R>): MaybePromise<R>;
|
|
66
66
|
get interaction(): Interactable<ActionContext>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientNode.d.ts","sourceRoot":"","sources":["../../../src/node/ClientNode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAa,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAqB,MAAM,WAAW,CAAC;AAI5D,OAAO,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;;gBAI7C,OAAO,EAAE,UAAU,CAAC,OAAO;IAkBvC;;;;OAIG;IACH,IAAI,MAAM,gBAET;IAEQ,UAAU;IAenB,IAAa,KAAK,IAAI,UAAU,GAAG,SAAS,CAE3C;IAED,IAAa,KAAK,CAAC,KAAK,EAAE,UAAU,EAEnC;IAED;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,oBAAoB;IAIlE;;OAEG;IACY,MAAM;IAUrB;;;;OAIG;IACY,KAAK;IAIpB;;;;OAIG;IACG,OAAO;IAWb;;;;OAIG;IACG,MAAM;cASI,cAAc;IAQ9B,SAAS,CAAC,aAAa,IAAI,cAAc;IAInC,sBAAsB;IAE5B,cAAuB,SAAS,
|
|
1
|
+
{"version":3,"file":"ClientNode.d.ts","sourceRoot":"","sources":["../../../src/node/ClientNode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAa,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAqB,MAAM,WAAW,CAAC;AAI5D,OAAO,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;;gBAI7C,OAAO,EAAE,UAAU,CAAC,OAAO;IAkBvC;;;;OAIG;IACH,IAAI,MAAM,gBAET;IAEQ,UAAU;IAenB,IAAa,KAAK,IAAI,UAAU,GAAG,SAAS,CAE3C;IAED,IAAa,KAAK,CAAC,KAAK,EAAE,UAAU,EAEnC;IAED;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,oBAAoB;IAIlE;;OAEG;IACY,MAAM;IAUrB;;;;OAIG;IACY,KAAK;IAIpB;;;;OAIG;IACG,OAAO;IAWb;;;;OAIG;IACG,MAAM;cASI,cAAc;IAQ9B,SAAS,CAAC,aAAa,IAAI,cAAc;IAInC,sBAAsB;IAE5B,cAAuB,SAAS,2CAE/B;IAEQ,GAAG,CAAC,CAAC,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAC3E,YAAY,CAAC,CAAC,CAAC;IAET,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAiB5G,IAAI,WAAW,IAAI,YAAY,CAAC,aAAa,CAAC,CAM7C;CACJ;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,OAAQ,SAAQ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvD,MAAM,CAAC,EAAE,WAAW,CAAC;KACxB;IAEM,MAAM,YAAY;;;;;;;;;;;;;oEAAmE,CAAC;IAE7F,UAAiB,YAAa,SAAQ,QAAQ,CAAC,OAAO,YAAY,CAAC;KAAG;CACzE"}
|
|
@@ -114,7 +114,7 @@ class ClientNode extends Node {
|
|
|
114
114
|
async prepareRuntimeShutdown() {
|
|
115
115
|
}
|
|
116
116
|
get container() {
|
|
117
|
-
return this.owner?.
|
|
117
|
+
return this.owner?.peers;
|
|
118
118
|
}
|
|
119
119
|
act(actorOrPurpose, actor) {
|
|
120
120
|
if (this.construction.status === Lifecycle.Status.Inactive) {
|
package/dist/esm/node/Node.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { IndexBehavior } from "#behavior/system/index/IndexBehavior.js";
|
|
|
8
8
|
import { NetworkRuntime } from "#behavior/system/network/NetworkRuntime.js";
|
|
9
9
|
import { PartsBehavior } from "#behavior/system/parts/PartsBehavior.js";
|
|
10
10
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
11
|
+
import { Endpoints } from "#endpoint/properties/Endpoints.js";
|
|
11
12
|
import { EndpointType } from "#endpoint/type/EndpointType.js";
|
|
12
13
|
import { MutableEndpoint } from "#endpoint/type/MutableEndpoint.js";
|
|
13
14
|
import { Construction, Diagnostic, Environment, Identity, RuntimeService } from "#general";
|
|
@@ -48,6 +49,13 @@ export declare abstract class Node<T extends Node.CommonRootEndpoint = Node.Comm
|
|
|
48
49
|
* Once the node is offline you may use {@link start} to bring the node online again.
|
|
49
50
|
*/
|
|
50
51
|
cancel(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* All endpoints owned by the node.
|
|
54
|
+
*
|
|
55
|
+
* Normally you access endpoints via {@link parts} but you can use this property access endpoints directly by
|
|
56
|
+
* {@link EndpointNumber}.
|
|
57
|
+
*/
|
|
58
|
+
get endpoints(): Endpoints;
|
|
51
59
|
protected cancelWithMutex(): Promise<void>;
|
|
52
60
|
close(): Promise<void>;
|
|
53
61
|
protected closeWithMutex(): Promise<void>;
|
|
@@ -80,7 +88,7 @@ export declare namespace Node {
|
|
|
80
88
|
*/
|
|
81
89
|
const CommonRootEndpoint: MutableEndpoint.With<EndpointType.For<{
|
|
82
90
|
readonly name: "RootNode";
|
|
83
|
-
readonly deviceType: import("
|
|
91
|
+
readonly deviceType: import("#types").DeviceTypeId;
|
|
84
92
|
readonly deviceRevision: number;
|
|
85
93
|
readonly deviceClass: import("@matter/model").DeviceClassification;
|
|
86
94
|
readonly requirements: typeof import("../endpoints/root.js").RootRequirements;
|
|
@@ -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,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACH,YAAY,EACZ,UAAU,EAEV,WAAW,EACX,QAAQ,EAGR,cAAc,EACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
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
|
@@ -54,6 +54,7 @@ import { NetworkBehavior } from "#behavior/system/network/NetworkBehavior.js";
|
|
|
54
54
|
import { NetworkRuntime } from "#behavior/system/network/NetworkRuntime.js";
|
|
55
55
|
import { PartsBehavior } from "#behavior/system/parts/PartsBehavior.js";
|
|
56
56
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
57
|
+
import { Endpoints } from "#endpoint/properties/Endpoints.js";
|
|
57
58
|
import { MutableEndpoint } from "#endpoint/type/MutableEndpoint.js";
|
|
58
59
|
import {
|
|
59
60
|
Construction,
|
|
@@ -157,6 +158,15 @@ class Node extends Endpoint {
|
|
|
157
158
|
async cancel() {
|
|
158
159
|
await this.lifecycle.mutex.produce(this.cancelWithMutex.bind(this));
|
|
159
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* All endpoints owned by the node.
|
|
163
|
+
*
|
|
164
|
+
* Normally you access endpoints via {@link parts} but you can use this property access endpoints directly by
|
|
165
|
+
* {@link EndpointNumber}.
|
|
166
|
+
*/
|
|
167
|
+
get endpoints() {
|
|
168
|
+
return new Endpoints(this);
|
|
169
|
+
}
|
|
160
170
|
async cancelWithMutex() {
|
|
161
171
|
if (!this.#runtime) {
|
|
162
172
|
return;
|
|
@@ -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;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Node"]
|
|
6
6
|
}
|
|
@@ -15,7 +15,7 @@ import { SubscriptionsBehavior } from "#behavior/system/subscriptions/Subscripti
|
|
|
15
15
|
import { Construction, Identity } from "#general";
|
|
16
16
|
import { Interactable } from "#protocol";
|
|
17
17
|
import { Node } from "./Node.js";
|
|
18
|
-
import {
|
|
18
|
+
import { Peers } from "./client/Peers.js";
|
|
19
19
|
/**
|
|
20
20
|
* A server-side Matter {@link Node}.
|
|
21
21
|
*
|
|
@@ -64,7 +64,7 @@ export declare class ServerNode<T extends ServerNode.RootEndpoint = ServerNode.R
|
|
|
64
64
|
/**
|
|
65
65
|
* Access other nodes on the fabric.
|
|
66
66
|
*/
|
|
67
|
-
get
|
|
67
|
+
get peers(): Peers;
|
|
68
68
|
get interaction(): Interactable<ActionContext>;
|
|
69
69
|
protected initialize(): Promise<void>;
|
|
70
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerNode.d.ts","sourceRoot":"","sources":["../../../src/node/ServerNode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,OAAO,EAAY,YAAY,EAA6B,QAAQ,EAAe,MAAM,UAAU,CAAC;AACpG,OAAO,EAAiB,YAAY,EAAwD,MAAM,WAAW,CAAC;AAG9G,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ServerNode.d.ts","sourceRoot":"","sources":["../../../src/node/ServerNode.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAG9F,OAAO,EAAY,YAAY,EAA6B,QAAQ,EAAe,MAAM,UAAU,CAAC;AACpG,OAAO,EAAiB,YAAY,EAAwD,MAAM,WAAW,CAAC;AAG9G,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa1C;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;;IAIhG;;;;;;;OAOG;gBACS,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE/C;;;;;;OAMG;gBACS,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAalD;;;;;OAKG;WACU,MAAM,CACf,IAAI,SAAS,OAAO,UAAU,CAAC,GAAG,CAAC,EACnC,CAAC,SAAS,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,EAC7D,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE1E;;;;OAIG;WACU,MAAM,CACf,IAAI,SAAS,OAAO,UAAU,CAAC,GAAG,CAAC,EACnC,CAAC,SAAS,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,EAC7D,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAS7E,SAAS,CAAC,aAAa,IAAI,oBAAoB;IAIhC,CAAC,YAAY,CAAC,QAAQ,CAAC;IAKvB,sBAAsB;IAKrC;;OAEG;IACY,KAAK;cAIJ,cAAc;IAkC9B;;OAEG;IACH,IAAI,KAAK,UAOR;IAED,IAAI,WAAW,gCAKd;cAEwB,UAAU;IAMnC;;;;;;;OAOG;cACa,YAAY;IAO5B;;;OAGG;cACgB,mBAAmB;CACzC;AAED,yBAAiB,UAAU,CAAC;IACjB,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8MAQxB,CAAC;IAEF,UAAiB,YAAa,SAAQ,QAAQ,CAAC,OAAO,YAAY,CAAC;KAAG;CACzE"}
|
|
@@ -16,7 +16,7 @@ import { FabricManager, OccurrenceManager, ServerInteraction, SessionManager } f
|
|
|
16
16
|
import { ServerNodeStore } from "#storage/server/ServerNodeStore.js";
|
|
17
17
|
import { RootEndpoint as BaseRootEndpoint } from "../endpoints/root.js";
|
|
18
18
|
import { Node } from "./Node.js";
|
|
19
|
-
import {
|
|
19
|
+
import { Peers } from "./client/Peers.js";
|
|
20
20
|
import { ServerEnvironment } from "./server/ServerEnvironment.js";
|
|
21
21
|
class FactoryResetError extends MatterError {
|
|
22
22
|
constructor(message, cause) {
|
|
@@ -25,7 +25,7 @@ class FactoryResetError extends MatterError {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
class ServerNode extends Node {
|
|
28
|
-
#
|
|
28
|
+
#peers;
|
|
29
29
|
#interaction;
|
|
30
30
|
constructor(definition, options) {
|
|
31
31
|
super(Node.nodeConfigFor(ServerNode.RootEndpoint, definition, options ?? {}));
|
|
@@ -78,12 +78,12 @@ class ServerNode extends Node {
|
|
|
78
78
|
/**
|
|
79
79
|
* Access other nodes on the fabric.
|
|
80
80
|
*/
|
|
81
|
-
get
|
|
82
|
-
if (!this.#
|
|
83
|
-
this.#
|
|
84
|
-
this.#
|
|
81
|
+
get peers() {
|
|
82
|
+
if (!this.#peers) {
|
|
83
|
+
this.#peers = new Peers(this);
|
|
84
|
+
this.#peers.initialize();
|
|
85
85
|
}
|
|
86
|
-
return this.#
|
|
86
|
+
return this.#peers;
|
|
87
87
|
}
|
|
88
88
|
get interaction() {
|
|
89
89
|
if (this.#interaction === void 0) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/ServerNode.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,gCAAgC;AACzC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AAGtC,SAAS,UAAU,cAAc,kBAAkB,SAAmB,mBAAmB;AACzF,SAAS,eAA6B,mBAAmB,mBAAmB,sBAAsB;AAClG,SAAS,uBAAuB;AAChC,SAAS,gBAAgB,wBAAwB;AACjD,SAAS,YAAY;AACrB,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,gCAAgC;AACzC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AAGtC,SAAS,UAAU,cAAc,kBAAkB,SAAmB,mBAAmB;AACzF,SAAS,eAA6B,mBAAmB,mBAAmB,sBAAsB;AAClG,SAAS,uBAAuB;AAChC,SAAS,gBAAgB,wBAAwB;AACjD,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,SAAS,yBAAyB;AAKlC,MAAM,0BAA0B,YAAY;AAAA,EACxC,YAAY,SAAiB,OAAY;AACrC,UAAM,OAAO;AACb,SAAK,QAAQ,QAAQ,KAAK;AAAA,EAC9B;AACJ;AAOO,MAAM,mBAAgF,KAAQ;AAAA,EACjG;AAAA,EACA;AAAA,EAqBA,YAAY,YAAwC,SAA2B;AAC3E,UAAM,KAAK,cAAc,WAAW,cAAmB,YAAY,WAAY,CAAC,CAAqB,CAAC;AAEtG,SAAK,IAAI,IAAI,MAAM,IAAI;AACvB,SAAK,IAAI,IAAI,YAAY,IAAI;AAE7B,qBAAiB,IAAI,IAAI;AAEzB,SAAK,aAAa,MAAM;AAAA,EAC5B;AAAA,EAuBA,aAAa,OAGC,YAAwC,SAA2B;AAC7E,WAAO,MAAM,SAAS,MAAM,YAAY,OAAO;AAAA,EACnD;AAAA,EAEU,gBAAsC;AAC5C,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACxC;AAAA,EAEA,OAAgB,aAAa,QAAQ,IAAI;AACrC,UAAM,MAAM,aAAa,QAAQ,EAAE;AACnC,UAAM,kBAAkB,MAAM,IAAI;AAAA,EACtC;AAAA,EAEA,MAAe,yBAAyB;AACpC,UAAM,WAAW,KAAK,IAAI,IAAI,cAAc;AAC5C,UAAM,SAAS,MAAM;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAe,QAAQ;AACnB,UAAM,KAAK,UAAU,MAAM,QAAQ,KAAK,eAAe,KAAK,IAAI,CAAC;AAAA,EACrE;AAAA,EAEA,MAAgB,iBAAiB;AAC7B,QAAI;AACA,YAAM,KAAK;AAGX,YAAM,WAAW,KAAK,UAAU;AAChC,UAAI,UAAU;AACV,cAAM,KAAK,gBAAgB;AAAA,MAC/B;AAGA,WAAK,aAAa,+BAA+B;AAGjD,YAAM,KAAK,eAAe;AAG1B,YAAM,KAAK,aAAa;AAGxB,WAAK,aAAa,MAAM;AAGxB,UAAI,UAAU;AACV,cAAM,KAAK,eAAe;AAAA,MAC9B,OAAO;AACH,cAAM,KAAK,aAAa;AAAA,MAC5B;AAAA,IACJ,SAAS,GAAG;AACR,WAAK,aAAa,MAAM;AACxB,YAAM,IAAI,kBAAkB,iCAAiC,IAAI,IAAI,CAAC;AAAA,IAC1E;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,QAAI,CAAC,KAAK,QAAQ;AACd,WAAK,SAAS,IAAI,MAAM,IAAI;AAC5B,WAAK,OAAO,WAAW;AAAA,IAC3B;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,eAAe,IAAI,kBAAiC,KAAK,QAAQ;AAAA,IAC1E;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAyB,aAAa;AAClC,UAAM,kBAAkB,WAAW,IAAI;AAEvC,UAAM,MAAM,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAgB,eAAe;AAC3B,UAAM,KAAK,IAAI,IAAI,cAAc,EAAE,MAAM;AACzC,UAAM,KAAK,IAAI,IAAI,aAAa,EAAE,MAAM;AACxC,UAAM,KAAK,IAAI,IAAI,iBAAiB,EAAE,MAAM;AAC5C,UAAM,KAAK,IAAI,IAAI,eAAe,EAAE,MAAM;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA;AAAA,EAMmB,sBAAsB;AAAA,EAAC;AAC9C;AAAA,CAEO,CAAUA,gBAAV;AACI,EAAMA,YAAA,eAAe,iBAAiB;AAAA,IACzC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,GATa;",
|
|
5
5
|
"names": ["ServerNode"]
|
|
6
6
|
}
|
|
@@ -35,7 +35,7 @@ class NodePeerAddressStore extends PeerAddressStore {
|
|
|
35
35
|
}
|
|
36
36
|
loadPeers() {
|
|
37
37
|
this.#assignedAddresses = new PeerAddressMap();
|
|
38
|
-
return [...this.#owner.
|
|
38
|
+
return [...this.#owner.peers].map((node) => {
|
|
39
39
|
const commissioning = node.state.commissioning;
|
|
40
40
|
if (!commissioning.peerAddress) {
|
|
41
41
|
return;
|
|
@@ -50,7 +50,7 @@ class NodePeerAddressStore extends PeerAddressStore {
|
|
|
50
50
|
}).filter((addr) => addr !== void 0);
|
|
51
51
|
}
|
|
52
52
|
async updatePeer(peer) {
|
|
53
|
-
const node = this.#owner.
|
|
53
|
+
const node = this.#owner.peers.get(peer.address);
|
|
54
54
|
if (!node) {
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
@@ -16,7 +16,7 @@ import type { ServerNode } from "../ServerNode.js";
|
|
|
16
16
|
*
|
|
17
17
|
* Remote nodes are either peers (commissioned into a fabric we share) or commissionable.
|
|
18
18
|
*/
|
|
19
|
-
export declare class
|
|
19
|
+
export declare class Peers extends EndpointContainer<ClientNode> {
|
|
20
20
|
#private;
|
|
21
21
|
constructor(owner: ServerNode);
|
|
22
22
|
/**
|
|
@@ -43,4 +43,4 @@ export declare class ClientNodes extends EndpointContainer<ClientNode> {
|
|
|
43
43
|
add(node: ClientNode): void;
|
|
44
44
|
close(): Promise<void>;
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=Peers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,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;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,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;;gBAKxC,KAAK,EAAE,UAAU;IAa7B;;OAEG;IACH,UAAU;IAcV;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAe9C,IAAa,KAAK,IACQ,UAAU,CACnC;IAEQ,GAAG,CAAC,IAAI,EAAE,UAAU;IAMd,KAAK;CAgGvB"}
|
|
@@ -17,7 +17,7 @@ import { NodePeerAddressStore } from "./NodePeerAddressStore.js";
|
|
|
17
17
|
const logger = Logger.get("ClientNodes");
|
|
18
18
|
const DEFAULT_TTL = Minutes(15);
|
|
19
19
|
const EXPIRATION_INTERVAL = Minutes.one;
|
|
20
|
-
class
|
|
20
|
+
class Peers extends EndpointContainer {
|
|
21
21
|
#expirationInterval;
|
|
22
22
|
#expirationWorker;
|
|
23
23
|
#closed = false;
|
|
@@ -196,6 +196,6 @@ function expirationOf(lifespan) {
|
|
|
196
196
|
return void 0;
|
|
197
197
|
}
|
|
198
198
|
export {
|
|
199
|
-
|
|
199
|
+
Peers
|
|
200
200
|
};
|
|
201
|
-
//# sourceMappingURL=
|
|
201
|
+
//# sourceMappingURL=Peers.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/node/client/Peers.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["freshestExp"]
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/node/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/node/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
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-20250927-238ce7756",
|
|
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-20250927-238ce7756",
|
|
46
|
+
"@matter/model": "0.16.0-alpha.0-20250927-238ce7756",
|
|
47
|
+
"@matter/types": "0.16.0-alpha.0-20250927-238ce7756",
|
|
48
|
+
"@matter/protocol": "0.16.0-alpha.0-20250927-238ce7756"
|
|
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-20250927-238ce7756",
|
|
52
|
+
"@matter/testing": "0.16.0-alpha.0-20250927-238ce7756"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { SubscriptionsBehavior } from "#behavior/system/subscriptions/SubscriptionsServer.js";
|
|
7
8
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
8
9
|
import {
|
|
9
10
|
AsyncObservable,
|
|
@@ -204,6 +205,9 @@ export class CommissioningServer extends Behavior {
|
|
|
204
205
|
async #enterOnlineMode() {
|
|
205
206
|
// If already commissioned, trigger operational announcement
|
|
206
207
|
if ((this.endpoint.lifecycle as NodeLifecycle).isCommissioned) {
|
|
208
|
+
// Restore subscriptions if we have some persisted
|
|
209
|
+
await this.endpoint.act(agent => agent.get(SubscriptionsBehavior).reestablishFormerSubscriptions());
|
|
210
|
+
|
|
207
211
|
this.enterOperationalMode();
|
|
208
212
|
return;
|
|
209
213
|
}
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { SubscriptionsBehavior } from "#behavior/system/subscriptions/SubscriptionsServer.js";
|
|
8
7
|
import {
|
|
9
|
-
Construction,
|
|
10
8
|
Crypto,
|
|
11
9
|
InterfaceType,
|
|
12
10
|
Logger,
|
|
@@ -65,7 +63,6 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
65
63
|
#bleTransport?: TransportInterface;
|
|
66
64
|
#ipv6UdpInterface?: UdpInterface;
|
|
67
65
|
#observers = new ObserverGroup(this);
|
|
68
|
-
#formerSubscriptionsHandled = false;
|
|
69
66
|
#groupNetworking?: ServerGroupNetworking;
|
|
70
67
|
|
|
71
68
|
override get owner() {
|
|
@@ -205,7 +202,7 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
205
202
|
/**
|
|
206
203
|
* When the first Fabric gets added we need to enable MDNS broadcasting.
|
|
207
204
|
*/
|
|
208
|
-
|
|
205
|
+
ensureMdnsAdvertiser() {
|
|
209
206
|
const device = this.owner.env.get(DeviceAdvertiser);
|
|
210
207
|
const mdnsAdvertiser = this.mdnsAdvertiser;
|
|
211
208
|
if (!device.hasAdvertiser(mdnsAdvertiser)) {
|
|
@@ -222,7 +219,7 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
222
219
|
endUncommissionedMode() {
|
|
223
220
|
// Ensure MDNS broadcasting are active when the first fabric is added. It might not be active initially if the
|
|
224
221
|
// node was not on an IP network prior to commissioning
|
|
225
|
-
this.
|
|
222
|
+
this.ensureMdnsAdvertiser();
|
|
226
223
|
|
|
227
224
|
if (this.#bleAdvertiser) {
|
|
228
225
|
this.owner.env.runtime.add(this.#deleteAdvertiser(this.#bleAdvertiser));
|
|
@@ -254,14 +251,16 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
254
251
|
const { owner } = this;
|
|
255
252
|
const { env } = owner;
|
|
256
253
|
|
|
257
|
-
// Ensure MdnsService is fully constructed
|
|
258
|
-
await env.load(MdnsService);
|
|
259
|
-
|
|
260
|
-
const advertiser = env.get(DeviceAdvertiser);
|
|
261
254
|
// Configure network
|
|
262
255
|
const interfaces = env.get(TransportInterfaceSet);
|
|
263
256
|
await this.addTransports(interfaces);
|
|
264
257
|
env.set(NetInterfaceSet, interfaces);
|
|
258
|
+
|
|
259
|
+
// Initialize MDNS
|
|
260
|
+
const mdns = await owner.env.load(MdnsService);
|
|
261
|
+
|
|
262
|
+
const advertiser = env.get(DeviceAdvertiser);
|
|
263
|
+
|
|
265
264
|
await this.addBroadcasters(advertiser);
|
|
266
265
|
|
|
267
266
|
await owner.act("start-network", agent => agent.load(ProductDescriptionServer));
|
|
@@ -291,29 +290,16 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
291
290
|
|
|
292
291
|
// Enable MDNS broadcasting if there are fabrics present
|
|
293
292
|
if (this.owner.stateOf(CommissioningServer).commissioned) {
|
|
294
|
-
this.
|
|
293
|
+
this.ensureMdnsAdvertiser();
|
|
295
294
|
}
|
|
296
295
|
|
|
297
|
-
await this.owner.act(agent => this.owner.lifecycle.online.emit(agent.context));
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
override async [Construction.construct]() {
|
|
301
|
-
await super[Construction.construct]();
|
|
302
|
-
|
|
303
|
-
// Initialize MDNS
|
|
304
|
-
const mdns = await this.owner.env.load(MdnsService);
|
|
305
|
-
|
|
306
296
|
// Initialize ScannerSet
|
|
307
297
|
this.owner.env.get(ScannerSet).add(mdns.client);
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
// TODO - move to SubscriptionsBehavior, and rename to SubscriptionsServer?
|
|
314
|
-
if (!this.#formerSubscriptionsHandled) {
|
|
315
|
-
await this.#reestablishFormerSubscriptions();
|
|
316
|
-
}
|
|
298
|
+
|
|
299
|
+
env.set(PeerAddressStore, new NodePeerAddressStore(owner));
|
|
300
|
+
await env.load(PeerSet);
|
|
301
|
+
|
|
302
|
+
await this.owner.act(agent => this.owner.lifecycle.online.emit(agent.context));
|
|
317
303
|
}
|
|
318
304
|
|
|
319
305
|
protected override async stop() {
|
|
@@ -349,18 +335,6 @@ export class ServerNetworkRuntime extends NetworkRuntime {
|
|
|
349
335
|
this.owner.env.maybeGet(InteractionServer)?.blockNewActivity();
|
|
350
336
|
}
|
|
351
337
|
|
|
352
|
-
async #reestablishFormerSubscriptions() {
|
|
353
|
-
const { env } = this.owner;
|
|
354
|
-
if (!env.has(InteractionServer)) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
this.#formerSubscriptionsHandled = true;
|
|
358
|
-
|
|
359
|
-
await this.owner.act(agent =>
|
|
360
|
-
agent.get(SubscriptionsBehavior).reestablishFormerSubscriptions(env.get(InteractionServer)),
|
|
361
|
-
);
|
|
362
|
-
}
|
|
363
|
-
|
|
364
338
|
async #initializeGroupNetworking() {
|
|
365
339
|
if (this.#groupNetworking) {
|
|
366
340
|
logger.warn("Group networking already initialized, skipping.");
|
|
@@ -49,7 +49,7 @@ export class SubscriptionsBehavior extends Behavior {
|
|
|
49
49
|
this.reactTo(sessions.events.subscriptionAdded, this.#addSubscription, { lock: true });
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
static override schema = new DatatypeModel(
|
|
52
|
+
static override readonly schema = new DatatypeModel(
|
|
53
53
|
{
|
|
54
54
|
name: "SubscriptionState",
|
|
55
55
|
type: "struct",
|
|
@@ -59,6 +59,8 @@ export class SubscriptionsBehavior extends Behavior {
|
|
|
59
59
|
name: "subscriptions",
|
|
60
60
|
type: "list",
|
|
61
61
|
quality: "N",
|
|
62
|
+
conformance: "M",
|
|
63
|
+
default: [],
|
|
62
64
|
},
|
|
63
65
|
FieldElement(
|
|
64
66
|
{
|
|
@@ -197,13 +199,14 @@ export class SubscriptionsBehavior extends Behavior {
|
|
|
197
199
|
await this.context.transaction.commit();
|
|
198
200
|
}
|
|
199
201
|
|
|
200
|
-
async reestablishFormerSubscriptions(
|
|
202
|
+
async reestablishFormerSubscriptions() {
|
|
201
203
|
if (this.state.persistenceEnabled === false) return;
|
|
202
204
|
|
|
203
205
|
// get and clear former subscriptions
|
|
204
206
|
const { formerSubscriptions } = this.internal;
|
|
205
207
|
|
|
206
208
|
if (!formerSubscriptions.length) {
|
|
209
|
+
logger.info("No former subscriptions to re-establish");
|
|
207
210
|
return;
|
|
208
211
|
} else {
|
|
209
212
|
this.internal.formerSubscriptions = [];
|
|
@@ -211,6 +214,7 @@ export class SubscriptionsBehavior extends Behavior {
|
|
|
211
214
|
}
|
|
212
215
|
const peers = this.env.get(PeerSet);
|
|
213
216
|
const sessions = this.env.get(SessionManager);
|
|
217
|
+
const interactionServer = this.env.get(InteractionServer);
|
|
214
218
|
|
|
215
219
|
const peerStopList = new PeerAddressSet();
|
|
216
220
|
|
|
@@ -291,7 +295,7 @@ export namespace SubscriptionsBehavior {
|
|
|
291
295
|
* List of subscriptions. This list is collected automatically.
|
|
292
296
|
* The state value should not be initialized by the developer.
|
|
293
297
|
*/
|
|
294
|
-
subscriptions
|
|
298
|
+
subscriptions: PeerSubscription[] = [];
|
|
295
299
|
}
|
|
296
300
|
|
|
297
301
|
export class Internal {
|