@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.
Files changed (78) hide show
  1. package/LICENSE +1 -1
  2. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts +1 -1
  3. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  4. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +31 -14
  5. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +2 -2
  6. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
  7. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js +12 -1
  8. package/dist/cjs/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
  9. package/dist/cjs/behavior/system/network/NetworkClient.d.ts +8 -4
  10. package/dist/cjs/behavior/system/network/NetworkClient.d.ts.map +1 -1
  11. package/dist/cjs/behavior/system/network/NetworkClient.js +32 -4
  12. package/dist/cjs/behavior/system/network/NetworkClient.js.map +1 -1
  13. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  14. package/dist/cjs/endpoint/properties/Behaviors.js +31 -1
  15. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  16. package/dist/cjs/node/ClientNode.d.ts +3 -3
  17. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  18. package/dist/cjs/node/ClientNode.js +5 -4
  19. package/dist/cjs/node/ClientNode.js.map +1 -1
  20. package/dist/cjs/node/Node.d.ts.map +1 -1
  21. package/dist/cjs/node/Node.js +14 -0
  22. package/dist/cjs/node/Node.js.map +1 -1
  23. package/dist/cjs/node/client/ClientNodeInteraction.d.ts +25 -6
  24. package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
  25. package/dist/cjs/node/client/ClientNodeInteraction.js +45 -9
  26. package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
  27. package/dist/cjs/node/client/ClientStructure.d.ts +1 -1
  28. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  29. package/dist/cjs/node/client/ClientStructure.js +4 -3
  30. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  31. package/dist/cjs/node/client/Peers.d.ts +6 -3
  32. package/dist/cjs/node/client/Peers.d.ts.map +1 -1
  33. package/dist/cjs/node/client/Peers.js +40 -15
  34. package/dist/cjs/node/client/Peers.js.map +2 -2
  35. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts +1 -1
  36. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  37. package/dist/esm/behavior/system/commissioning/CommissioningClient.js +32 -14
  38. package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +2 -2
  39. package/dist/esm/behavior/system/network/ClientNetworkRuntime.d.ts.map +1 -1
  40. package/dist/esm/behavior/system/network/ClientNetworkRuntime.js +21 -2
  41. package/dist/esm/behavior/system/network/ClientNetworkRuntime.js.map +1 -1
  42. package/dist/esm/behavior/system/network/NetworkClient.d.ts +8 -4
  43. package/dist/esm/behavior/system/network/NetworkClient.d.ts.map +1 -1
  44. package/dist/esm/behavior/system/network/NetworkClient.js +33 -5
  45. package/dist/esm/behavior/system/network/NetworkClient.js.map +1 -1
  46. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  47. package/dist/esm/endpoint/properties/Behaviors.js +31 -1
  48. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  49. package/dist/esm/node/ClientNode.d.ts +3 -3
  50. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  51. package/dist/esm/node/ClientNode.js +5 -4
  52. package/dist/esm/node/ClientNode.js.map +1 -1
  53. package/dist/esm/node/Node.d.ts.map +1 -1
  54. package/dist/esm/node/Node.js +16 -1
  55. package/dist/esm/node/Node.js.map +1 -1
  56. package/dist/esm/node/client/ClientNodeInteraction.d.ts +25 -6
  57. package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
  58. package/dist/esm/node/client/ClientNodeInteraction.js +47 -10
  59. package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
  60. package/dist/esm/node/client/ClientStructure.d.ts +1 -1
  61. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  62. package/dist/esm/node/client/ClientStructure.js +4 -3
  63. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  64. package/dist/esm/node/client/Peers.d.ts +6 -3
  65. package/dist/esm/node/client/Peers.d.ts.map +1 -1
  66. package/dist/esm/node/client/Peers.js +49 -16
  67. package/dist/esm/node/client/Peers.js.map +2 -2
  68. package/package.json +7 -7
  69. package/src/behavior/system/commissioning/CommissioningClient.ts +32 -10
  70. package/src/behavior/system/network/ClientNetworkRuntime.ts +20 -2
  71. package/src/behavior/system/network/NetworkClient.ts +39 -8
  72. package/src/endpoint/properties/Behaviors.ts +39 -1
  73. package/src/endpoint/properties/Commands.ts +1 -1
  74. package/src/node/ClientNode.ts +10 -4
  75. package/src/node/Node.ts +17 -0
  76. package/src/node/client/ClientNodeInteraction.ts +65 -16
  77. package/src/node/client/ClientStructure.ts +13 -5
  78. 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": "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",
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":"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"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../src/node/Node.ts"],"names":[],"mappings":"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"}
@@ -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": "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",
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, Read, ReadResult, SubscribeResult, Write, WriteResult } from "#protocol";
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: Read, context?: ActionContext): ReadResult;
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): SubscribeResult;
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 Write>(request: T, context?: ActionContext): WriteResult<T>;
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,EAEZ,IAAI,EACJ,UAAU,EACV,eAAe,EACf,KAAK,EACL,WAAW,EACd,MAAM,WAAW,CAAC;AAGnB;;GAEG;AACH,qBAAa,qBAAsB,YAAW,YAAY,CAAC,aAAa,CAAC;;gBAGzD,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,IAAI,OAAO,4CAIV;IAED;;;;;OAKG;IACI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU;IAO/D;;;;;;;OAOG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe;IA4BnF;;;OAGG;IACG,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC;IAI1E,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,mBAAmB;IAWlF,IAAI,SAAS,mDAEZ;CACJ"}
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: physicalProps,
66
+ properties: this.physicalProperties,
52
67
  request
53
68
  }),
54
- sustain: request.sustain !== false,
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
- return (await this.#connect()).subscribe(intermediateRequest, context);
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
- return (await this.#connect()).write(request, context);
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
- yield* (await this.#connect()).invoke(request, context);
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
- return this.#node.env.get(ClientInteraction);
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,EAKA;AAAA,OAMG;AAMA,MAAM,sBAA6D;AAAA,EACtE;AAAA,EAEA,YAAY,MAAkB;AAC1B,SAAK,QAAQ;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,UAAU;AACV,QAAI,KAAK,MAAM,IAAI,IAAI,iBAAiB,GAAG;AACvC,aAAO,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE;AAAA,IACjD;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,OAAO,KAAK,SAAe,SAAqC;AAC5D,cAAU,KAAK,UAAU,qBAAqB,OAAO;AACrD,UAAM,cAAc,MAAM,KAAK,SAAS;AACxC,UAAM,WAAW,YAAY,KAAK,SAAS,OAAO;AAClD,WAAO,KAAK,UAAU,OAAO,SAAS,QAAQ;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAM,UAAU,SAA0B,SAA0C;AAChF,UAAM,gBAAgB,uBAAuB,KAAK,KAAK;AAEvD,UAAM,sBAAuC;AAAA,MACzC,GAAG,KAAK,UAAU,qBAAqB,OAAO;AAAA,MAC9C,GAAG,yBAAyB,8BAA8B;AAAA,QACtD,aAAa,KAAK,MAAM,SAAS;AAAA,QACjC,YAAY;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,MAED,SAAS,QAAQ,YAAY;AAAA,MAE7B,SAAS,OAAM,SAAQ;AACnB,cAAM,SAAS,KAAK,UAAU,OAAO,SAAS,IAAI;AAClD,YAAI,QAAQ,SAAS;AACjB,gBAAM,QAAQ,QAAQ,MAAM;AAAA,QAChC,OAAO;AACH,2BAAiB,UAAU,OAAO;AAAA,QACtC;AAAA,MACJ;AAAA,MAEA,QAAQ,QAAQ,QAAQ,KAAK,OAAO;AAAA,IACxC;AAEA,YAAQ,MAAM,KAAK,SAAS,GAAG,UAAU,qBAAqB,OAAO;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,MAAuB,SAAY,SAAyC;AAC9E,YAAQ,MAAM,KAAK,SAAS,GAAG,MAAM,SAAS,OAAO;AAAA,EACzD;AAAA,EAEA,OAAO,OAAO,SAAuB,SAA8C;AAC/E,YAAQ,MAAM,KAAK,SAAS,GAAG,OAAO,SAAS,OAAO;AAAA,EAC1D;AAAA,EAEA,MAAM,WAAuC;AACzC,QAAI,CAAC,KAAK,MAAM,UAAU,UAAU;AAChC,YAAM,KAAK,MAAM,MAAM;AAAA,IAC3B;AACA,WAAO,KAAK,MAAM,IAAI,IAAI,iBAAiB;AAAA,EAC/C;AAAA,EAEA,IAAI,YAAY;AACZ,WAAQ,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAgC;AAAA,EAClF;AACJ;",
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
- /** Reference to the default subscription used when the node was started. */
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,4EAA4E;IAC5E,SAAS,KAAK,wBAAwB,YAQrC;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"}
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.toString()),
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
- /** Reference to the default subscription used when the node was started. */
186
+ /** Determines if the subscription is fabric filtered */
187
187
  get subscribedFabricFiltered() {
188
188
  if (this.#subscribedFabricFiltered === void 0) {
189
- this.#subscribedFabricFiltered = this.#node.state.network.defaultSubscription?.isFabricFiltered ?? true;
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,EAAiE,WAAW,EAAW,MAAM,WAAW,CAAC;AAGhH,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;;gBAMxC,KAAK,EAAE,UAAU;IAmB7B;;OAEG;IACH,UAAU;IAqCV;;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;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;IAEM,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAe9C,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;CAyLvB"}
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 { ClientSubscriptionHandler, ClientSubscriptions, FabricManager, PeerAddress, PeerSet } from "#protocol";
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
- #subscriptionHandler;
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
- const nodeAddress = node.state.commissioning.peerAddress;
129
- if (nodeAddress && PeerAddress.is(nodeAddress, address)) {
130
- return node;
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
- await this.#subscriptionHandler?.close();
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.size > 0 || !this.owner.env.has(InteractionServer)) {
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
- if (!this.#subscriptionHandler) {
195
- this.#subscriptionHandler = new ClientSubscriptionHandler(subscriptions);
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
- const state = node.state.commissioning;
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(_node) {
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 {