@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.
Files changed (93) hide show
  1. package/dist/cjs/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  2. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js +2 -0
  3. package/dist/cjs/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  4. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +2 -3
  5. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  6. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +8 -27
  7. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  8. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts +3 -3
  9. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  10. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js +8 -3
  11. package/dist/cjs/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  12. package/dist/cjs/endpoint/properties/Endpoints.d.ts +24 -0
  13. package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -0
  14. package/dist/cjs/endpoint/properties/Endpoints.js +85 -0
  15. package/dist/cjs/endpoint/properties/Endpoints.js.map +6 -0
  16. package/dist/cjs/endpoint/properties/index.d.ts +1 -0
  17. package/dist/cjs/endpoint/properties/index.d.ts.map +1 -1
  18. package/dist/cjs/endpoint/properties/index.js +1 -0
  19. package/dist/cjs/endpoint/properties/index.js.map +1 -1
  20. package/dist/cjs/node/ClientNode.d.ts +1 -1
  21. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  22. package/dist/cjs/node/ClientNode.js +1 -1
  23. package/dist/cjs/node/Node.d.ts +9 -1
  24. package/dist/cjs/node/Node.d.ts.map +1 -1
  25. package/dist/cjs/node/Node.js +10 -0
  26. package/dist/cjs/node/Node.js.map +1 -1
  27. package/dist/cjs/node/ServerNode.d.ts +2 -2
  28. package/dist/cjs/node/ServerNode.d.ts.map +1 -1
  29. package/dist/cjs/node/ServerNode.js +7 -7
  30. package/dist/cjs/node/ServerNode.js.map +1 -1
  31. package/dist/cjs/node/client/NodePeerAddressStore.js +2 -2
  32. package/dist/cjs/node/client/{ClientNodes.d.ts → Peers.d.ts} +2 -2
  33. package/dist/cjs/node/client/Peers.d.ts.map +1 -0
  34. package/dist/cjs/node/client/{ClientNodes.js → Peers.js} +6 -6
  35. package/dist/cjs/node/client/Peers.js.map +6 -0
  36. package/dist/cjs/node/client/index.d.ts +1 -1
  37. package/dist/cjs/node/client/index.d.ts.map +1 -1
  38. package/dist/cjs/node/client/index.js +1 -1
  39. package/dist/cjs/node/client/index.js.map +1 -1
  40. package/dist/esm/behavior/system/commissioning/CommissioningServer.d.ts.map +1 -1
  41. package/dist/esm/behavior/system/commissioning/CommissioningServer.js +2 -0
  42. package/dist/esm/behavior/system/commissioning/CommissioningServer.js.map +1 -1
  43. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +2 -3
  44. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  45. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +8 -28
  46. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  47. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts +3 -3
  48. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.d.ts.map +1 -1
  49. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js +8 -3
  50. package/dist/esm/behavior/system/subscriptions/SubscriptionsServer.js.map +1 -1
  51. package/dist/esm/endpoint/properties/Endpoints.d.ts +24 -0
  52. package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -0
  53. package/dist/esm/endpoint/properties/Endpoints.js +65 -0
  54. package/dist/esm/endpoint/properties/Endpoints.js.map +6 -0
  55. package/dist/esm/endpoint/properties/index.d.ts +1 -0
  56. package/dist/esm/endpoint/properties/index.d.ts.map +1 -1
  57. package/dist/esm/endpoint/properties/index.js +1 -0
  58. package/dist/esm/endpoint/properties/index.js.map +1 -1
  59. package/dist/esm/node/ClientNode.d.ts +1 -1
  60. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  61. package/dist/esm/node/ClientNode.js +1 -1
  62. package/dist/esm/node/Node.d.ts +9 -1
  63. package/dist/esm/node/Node.d.ts.map +1 -1
  64. package/dist/esm/node/Node.js +10 -0
  65. package/dist/esm/node/Node.js.map +1 -1
  66. package/dist/esm/node/ServerNode.d.ts +2 -2
  67. package/dist/esm/node/ServerNode.d.ts.map +1 -1
  68. package/dist/esm/node/ServerNode.js +7 -7
  69. package/dist/esm/node/ServerNode.js.map +1 -1
  70. package/dist/esm/node/client/NodePeerAddressStore.js +2 -2
  71. package/dist/esm/node/client/{ClientNodes.d.ts → Peers.d.ts} +2 -2
  72. package/dist/esm/node/client/Peers.d.ts.map +1 -0
  73. package/dist/esm/node/client/{ClientNodes.js → Peers.js} +3 -3
  74. package/dist/esm/node/client/Peers.js.map +6 -0
  75. package/dist/esm/node/client/index.d.ts +1 -1
  76. package/dist/esm/node/client/index.d.ts.map +1 -1
  77. package/dist/esm/node/client/index.js +1 -1
  78. package/package.json +7 -7
  79. package/src/behavior/system/commissioning/CommissioningServer.ts +4 -0
  80. package/src/behavior/system/network/ServerNetworkRuntime.ts +14 -40
  81. package/src/behavior/system/subscriptions/SubscriptionsServer.ts +7 -3
  82. package/src/endpoint/properties/Endpoints.ts +83 -0
  83. package/src/endpoint/properties/index.ts +1 -0
  84. package/src/node/ClientNode.ts +1 -1
  85. package/src/node/Node.ts +12 -0
  86. package/src/node/ServerNode.ts +7 -7
  87. package/src/node/client/NodePeerAddressStore.ts +2 -2
  88. package/src/node/client/{ClientNodes.ts → Peers.ts} +3 -3
  89. package/src/node/client/index.ts +1 -1
  90. package/dist/cjs/node/client/ClientNodes.d.ts.map +0 -1
  91. package/dist/cjs/node/client/ClientNodes.js.map +0 -6
  92. package/dist/esm/node/client/ClientNodes.d.ts.map +0 -1
  93. 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").ClientNodes | undefined;
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,iDAE/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"}
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?.nodes;
117
+ return this.owner?.peers;
118
118
  }
119
119
  act(actorOrPurpose, actor) {
120
120
  if (this.construction.status === Lifecycle.Status.Inactive) {
@@ -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("@matter/types").DeviceTypeId;
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":"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"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/node/Node.ts"],"names":[],"mappings":"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"}
@@ -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": "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",
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 { ClientNodes } from "./client/ClientNodes.js";
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 nodes(): ClientNodes;
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,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAatD;;;;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,gBAOR;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"}
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 { ClientNodes } from "./client/ClientNodes.js";
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
- #nodes;
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 nodes() {
82
- if (!this.#nodes) {
83
- this.#nodes = new ClientNodes(this);
84
- this.#nodes.initialize();
81
+ get peers() {
82
+ if (!this.#peers) {
83
+ this.#peers = new Peers(this);
84
+ this.#peers.initialize();
85
85
  }
86
- return this.#nodes;
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": "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",
4
+ "mappings": "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",
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.nodes].map((node) => {
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.nodes.get(peer.address);
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 ClientNodes extends EndpointContainer<ClientNode> {
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=ClientNodes.d.ts.map
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 ClientNodes extends EndpointContainer {
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
- ClientNodes
199
+ Peers
200
200
  };
201
- //# sourceMappingURL=ClientNodes.js.map
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
+ }
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./ClientEndpointInitializer.js";
7
- export * from "./ClientNodes.js";
8
7
  export * from "./NodePeerAddressStore.js";
8
+ export * from "./Peers.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -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,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,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"}
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export * from "./ClientEndpointInitializer.js";
7
- export * from "./ClientNodes.js";
8
7
  export * from "./NodePeerAddressStore.js";
8
+ export * from "./Peers.js";
9
9
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.16.0-alpha.0-20250925-9e6a5c124",
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-20250925-9e6a5c124",
46
- "@matter/model": "0.16.0-alpha.0-20250925-9e6a5c124",
47
- "@matter/types": "0.16.0-alpha.0-20250925-9e6a5c124",
48
- "@matter/protocol": "0.16.0-alpha.0-20250925-9e6a5c124"
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-20250925-9e6a5c124",
52
- "@matter/testing": "0.16.0-alpha.0-20250925-9e6a5c124"
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
- enableMdnsAdvertising() {
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.enableMdnsAdvertising();
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.enableMdnsAdvertising();
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
- this.owner.env.set(PeerAddressStore, new NodePeerAddressStore(this.owner));
309
- await this.owner.env.load(PeerSet);
310
-
311
- // Restore previous subscriptions
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(interactionServer: InteractionServer) {
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!: PeerSubscription[];
298
+ subscriptions: PeerSubscription[] = [];
295
299
  }
296
300
 
297
301
  export class Internal {