@matter/node 0.11.9 → 0.12.0-alpha.0-20241211-6d80d8b5c

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 (214) hide show
  1. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts +6 -1
  2. package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  3. package/dist/cjs/behavior/internal/BehaviorBacking.js +2 -1
  4. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  5. package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts +2 -1
  6. package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
  7. package/dist/cjs/behavior/internal/ClientBehaviorBacking.js +4 -0
  8. package/dist/cjs/behavior/internal/ClientBehaviorBacking.js.map +1 -1
  9. package/dist/cjs/behavior/internal/ServerBehaviorBacking.d.ts +2 -0
  10. package/dist/cjs/behavior/internal/ServerBehaviorBacking.d.ts.map +1 -1
  11. package/dist/cjs/behavior/internal/ServerBehaviorBacking.js +37 -0
  12. package/dist/cjs/behavior/internal/ServerBehaviorBacking.js.map +1 -1
  13. package/dist/cjs/behavior/state/transaction/Transaction.d.ts +18 -18
  14. package/dist/cjs/behavior/system/events/EventsBehavior.d.ts +26 -0
  15. package/dist/cjs/behavior/system/events/EventsBehavior.d.ts.map +1 -0
  16. package/dist/cjs/behavior/system/events/EventsBehavior.js +74 -0
  17. package/dist/cjs/behavior/system/events/EventsBehavior.js.map +6 -0
  18. package/dist/cjs/behavior/system/events/index.d.ts +7 -0
  19. package/dist/cjs/behavior/system/events/index.d.ts.map +1 -0
  20. package/dist/cjs/behavior/system/events/index.js +24 -0
  21. package/dist/cjs/behavior/system/events/index.js.map +6 -0
  22. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  23. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +3 -0
  24. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  25. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +8 -0
  26. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  27. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +12 -4
  28. package/dist/cjs/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  29. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +2 -4
  30. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  31. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +6 -8
  32. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  33. package/dist/cjs/endpoint/Agent.d.ts +1 -1
  34. package/dist/cjs/endpoint/Agent.js +1 -1
  35. package/dist/cjs/endpoint/index.d.ts +1 -1
  36. package/dist/cjs/endpoint/index.d.ts.map +1 -1
  37. package/dist/cjs/endpoint/index.js +1 -1
  38. package/dist/cjs/endpoint/index.js.map +1 -1
  39. package/dist/cjs/endpoint/properties/Behaviors.d.ts +13 -0
  40. package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
  41. package/dist/cjs/endpoint/properties/Behaviors.js +37 -24
  42. package/dist/cjs/endpoint/properties/Behaviors.js.map +2 -2
  43. package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts +8 -3
  44. package/dist/cjs/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
  45. package/dist/cjs/endpoint/properties/EndpointInitializer.js +5 -0
  46. package/dist/cjs/endpoint/properties/EndpointInitializer.js.map +1 -1
  47. package/dist/cjs/endpoint/server/BehaviorServer.d.ts +21 -0
  48. package/dist/cjs/endpoint/server/BehaviorServer.d.ts.map +1 -0
  49. package/dist/cjs/endpoint/server/BehaviorServer.js +272 -0
  50. package/dist/cjs/endpoint/server/BehaviorServer.js.map +6 -0
  51. package/dist/{esm/endpoint → cjs/endpoint/server}/EndpointServer.d.ts +5 -6
  52. package/dist/cjs/endpoint/server/EndpointServer.d.ts.map +1 -0
  53. package/dist/cjs/endpoint/{EndpointServer.js → server/EndpointServer.js} +38 -14
  54. package/dist/cjs/endpoint/server/EndpointServer.js.map +6 -0
  55. package/dist/cjs/{node → endpoint}/server/ServerEndpointInitializer.d.ts +4 -4
  56. package/dist/cjs/endpoint/server/ServerEndpointInitializer.d.ts.map +1 -0
  57. package/dist/cjs/{node → endpoint}/server/ServerEndpointInitializer.js +7 -7
  58. package/dist/cjs/endpoint/server/ServerEndpointInitializer.js.map +6 -0
  59. package/dist/cjs/endpoint/server/index.d.ts +8 -0
  60. package/dist/cjs/endpoint/server/index.d.ts.map +1 -0
  61. package/dist/cjs/endpoint/server/index.js +25 -0
  62. package/dist/cjs/endpoint/server/index.js.map +6 -0
  63. package/dist/cjs/endpoint/type/MutableEndpoint.d.ts.map +1 -1
  64. package/dist/cjs/endpoint/type/MutableEndpoint.js +3 -0
  65. package/dist/cjs/endpoint/type/MutableEndpoint.js.map +1 -1
  66. package/dist/cjs/node/Node.d.ts +5 -0
  67. package/dist/cjs/node/Node.d.ts.map +1 -1
  68. package/dist/cjs/node/Node.js +17 -2
  69. package/dist/cjs/node/Node.js.map +1 -1
  70. package/dist/cjs/node/NodeLifecycle.d.ts +11 -1
  71. package/dist/cjs/node/NodeLifecycle.d.ts.map +1 -1
  72. package/dist/cjs/node/NodeLifecycle.js +14 -0
  73. package/dist/cjs/node/NodeLifecycle.js.map +1 -1
  74. package/dist/cjs/node/ServerNode.d.ts +3 -2
  75. package/dist/cjs/node/ServerNode.d.ts.map +1 -1
  76. package/dist/cjs/node/ServerNode.js +9 -9
  77. package/dist/cjs/node/ServerNode.js.map +1 -1
  78. package/dist/cjs/node/server/ServerEnvironment.js +1 -1
  79. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  80. package/dist/cjs/node/server/TransactionalInteractionServer.d.ts +2 -2
  81. package/dist/cjs/node/server/TransactionalInteractionServer.d.ts.map +1 -1
  82. package/dist/cjs/node/server/TransactionalInteractionServer.js +9 -4
  83. package/dist/cjs/node/server/TransactionalInteractionServer.js.map +2 -2
  84. package/dist/cjs/node/server/index.d.ts +0 -1
  85. package/dist/cjs/node/server/index.d.ts.map +1 -1
  86. package/dist/cjs/node/server/index.js +0 -1
  87. package/dist/cjs/node/server/index.js.map +1 -1
  88. package/dist/esm/behavior/internal/BehaviorBacking.d.ts +6 -1
  89. package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
  90. package/dist/esm/behavior/internal/BehaviorBacking.js +2 -1
  91. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  92. package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts +2 -1
  93. package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
  94. package/dist/esm/behavior/internal/ClientBehaviorBacking.js +4 -0
  95. package/dist/esm/behavior/internal/ClientBehaviorBacking.js.map +1 -1
  96. package/dist/esm/behavior/internal/ServerBehaviorBacking.d.ts +2 -0
  97. package/dist/esm/behavior/internal/ServerBehaviorBacking.d.ts.map +1 -1
  98. package/dist/esm/behavior/internal/ServerBehaviorBacking.js +37 -0
  99. package/dist/esm/behavior/internal/ServerBehaviorBacking.js.map +1 -1
  100. package/dist/esm/behavior/state/transaction/Transaction.d.ts +18 -18
  101. package/dist/esm/behavior/system/events/EventsBehavior.d.ts +26 -0
  102. package/dist/esm/behavior/system/events/EventsBehavior.d.ts.map +1 -0
  103. package/dist/esm/behavior/system/events/EventsBehavior.js +54 -0
  104. package/dist/esm/behavior/system/events/EventsBehavior.js.map +6 -0
  105. package/dist/esm/behavior/system/events/index.d.ts +7 -0
  106. package/dist/esm/behavior/system/events/index.d.ts.map +1 -0
  107. package/dist/esm/behavior/system/events/index.js +7 -0
  108. package/dist/esm/behavior/system/events/index.js.map +6 -0
  109. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  110. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +3 -0
  111. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  112. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts +8 -0
  113. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.d.ts.map +1 -1
  114. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js +12 -4
  115. package/dist/esm/behaviors/administrator-commissioning/AdministratorCommissioningServer.js.map +1 -1
  116. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +2 -4
  117. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  118. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +6 -8
  119. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  120. package/dist/esm/endpoint/Agent.d.ts +1 -1
  121. package/dist/esm/endpoint/Agent.js +1 -1
  122. package/dist/esm/endpoint/index.d.ts +1 -1
  123. package/dist/esm/endpoint/index.d.ts.map +1 -1
  124. package/dist/esm/endpoint/index.js +1 -1
  125. package/dist/esm/endpoint/properties/Behaviors.d.ts +13 -0
  126. package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
  127. package/dist/esm/endpoint/properties/Behaviors.js +38 -27
  128. package/dist/esm/endpoint/properties/Behaviors.js.map +2 -2
  129. package/dist/esm/endpoint/properties/EndpointInitializer.d.ts +8 -3
  130. package/dist/esm/endpoint/properties/EndpointInitializer.d.ts.map +1 -1
  131. package/dist/esm/endpoint/properties/EndpointInitializer.js +5 -0
  132. package/dist/esm/endpoint/properties/EndpointInitializer.js.map +1 -1
  133. package/dist/esm/endpoint/server/BehaviorServer.d.ts +21 -0
  134. package/dist/esm/endpoint/server/BehaviorServer.d.ts.map +1 -0
  135. package/dist/esm/endpoint/server/BehaviorServer.js +269 -0
  136. package/dist/esm/endpoint/server/BehaviorServer.js.map +6 -0
  137. package/dist/{cjs/endpoint → esm/endpoint/server}/EndpointServer.d.ts +5 -6
  138. package/dist/esm/endpoint/server/EndpointServer.d.ts.map +1 -0
  139. package/dist/esm/endpoint/{EndpointServer.js → server/EndpointServer.js} +38 -14
  140. package/dist/esm/endpoint/server/EndpointServer.js.map +6 -0
  141. package/dist/esm/{node → endpoint}/server/ServerEndpointInitializer.d.ts +4 -4
  142. package/dist/esm/endpoint/server/ServerEndpointInitializer.d.ts.map +1 -0
  143. package/dist/esm/{node → endpoint}/server/ServerEndpointInitializer.js +7 -7
  144. package/dist/esm/endpoint/server/ServerEndpointInitializer.js.map +6 -0
  145. package/dist/esm/endpoint/server/index.d.ts +8 -0
  146. package/dist/esm/endpoint/server/index.d.ts.map +1 -0
  147. package/dist/esm/endpoint/server/index.js +8 -0
  148. package/dist/esm/endpoint/server/index.js.map +6 -0
  149. package/dist/esm/endpoint/type/MutableEndpoint.d.ts.map +1 -1
  150. package/dist/esm/endpoint/type/MutableEndpoint.js +3 -0
  151. package/dist/esm/endpoint/type/MutableEndpoint.js.map +1 -1
  152. package/dist/esm/node/Node.d.ts +5 -0
  153. package/dist/esm/node/Node.d.ts.map +1 -1
  154. package/dist/esm/node/Node.js +17 -2
  155. package/dist/esm/node/Node.js.map +1 -1
  156. package/dist/esm/node/NodeLifecycle.d.ts +11 -1
  157. package/dist/esm/node/NodeLifecycle.d.ts.map +1 -1
  158. package/dist/esm/node/NodeLifecycle.js +15 -1
  159. package/dist/esm/node/NodeLifecycle.js.map +1 -1
  160. package/dist/esm/node/ServerNode.d.ts +3 -2
  161. package/dist/esm/node/ServerNode.d.ts.map +1 -1
  162. package/dist/esm/node/ServerNode.js +10 -10
  163. package/dist/esm/node/ServerNode.js.map +1 -1
  164. package/dist/esm/node/server/ServerEnvironment.js +1 -1
  165. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  166. package/dist/esm/node/server/TransactionalInteractionServer.d.ts +2 -2
  167. package/dist/esm/node/server/TransactionalInteractionServer.d.ts.map +1 -1
  168. package/dist/esm/node/server/TransactionalInteractionServer.js +9 -4
  169. package/dist/esm/node/server/TransactionalInteractionServer.js.map +2 -2
  170. package/dist/esm/node/server/index.d.ts +0 -1
  171. package/dist/esm/node/server/index.d.ts.map +1 -1
  172. package/dist/esm/node/server/index.js +0 -1
  173. package/dist/esm/node/server/index.js.map +1 -1
  174. package/package.json +7 -7
  175. package/src/behavior/internal/BehaviorBacking.ts +9 -1
  176. package/src/behavior/internal/ClientBehaviorBacking.ts +6 -1
  177. package/src/behavior/internal/ServerBehaviorBacking.ts +51 -0
  178. package/src/behavior/system/events/EventsBehavior.ts +60 -0
  179. package/src/behavior/system/events/index.ts +7 -0
  180. package/src/behavior/system/network/ServerNetworkRuntime.ts +6 -0
  181. package/src/behaviors/administrator-commissioning/AdministratorCommissioningServer.ts +14 -4
  182. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +16 -9
  183. package/src/endpoint/Agent.ts +1 -1
  184. package/src/endpoint/index.ts +1 -1
  185. package/src/endpoint/properties/Behaviors.ts +56 -28
  186. package/src/endpoint/properties/EndpointInitializer.ts +9 -3
  187. package/src/endpoint/server/BehaviorServer.ts +387 -0
  188. package/src/endpoint/{EndpointServer.ts → server/EndpointServer.ts} +50 -20
  189. package/src/{node → endpoint}/server/ServerEndpointInitializer.ts +7 -7
  190. package/src/endpoint/server/index.ts +8 -0
  191. package/src/endpoint/type/MutableEndpoint.ts +4 -0
  192. package/src/node/Node.ts +22 -4
  193. package/src/node/NodeLifecycle.ts +17 -1
  194. package/src/node/ServerNode.ts +11 -13
  195. package/src/node/server/ServerEnvironment.ts +1 -1
  196. package/src/node/server/TransactionalInteractionServer.ts +13 -7
  197. package/src/node/server/index.ts +0 -1
  198. package/dist/cjs/behavior/internal/ClusterServerBacking.d.ts +0 -36
  199. package/dist/cjs/behavior/internal/ClusterServerBacking.d.ts.map +0 -1
  200. package/dist/cjs/behavior/internal/ClusterServerBacking.js +0 -342
  201. package/dist/cjs/behavior/internal/ClusterServerBacking.js.map +0 -6
  202. package/dist/cjs/endpoint/EndpointServer.d.ts.map +0 -1
  203. package/dist/cjs/endpoint/EndpointServer.js.map +0 -6
  204. package/dist/cjs/node/server/ServerEndpointInitializer.d.ts.map +0 -1
  205. package/dist/cjs/node/server/ServerEndpointInitializer.js.map +0 -6
  206. package/dist/esm/behavior/internal/ClusterServerBacking.d.ts +0 -36
  207. package/dist/esm/behavior/internal/ClusterServerBacking.d.ts.map +0 -1
  208. package/dist/esm/behavior/internal/ClusterServerBacking.js +0 -330
  209. package/dist/esm/behavior/internal/ClusterServerBacking.js.map +0 -6
  210. package/dist/esm/endpoint/EndpointServer.d.ts.map +0 -1
  211. package/dist/esm/endpoint/EndpointServer.js.map +0 -6
  212. package/dist/esm/node/server/ServerEndpointInitializer.d.ts.map +0 -1
  213. package/dist/esm/node/server/ServerEndpointInitializer.js.map +0 -6
  214. package/src/behavior/internal/ClusterServerBacking.ts +0 -446
@@ -4,7 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Behavior } from "#behavior/Behavior.js";
7
- import { ValidatedElements } from "#behavior/cluster/ValidatedElements.js";
8
7
  import { ActionTracer } from "#behavior/context/ActionTracer.js";
9
8
  import { NodeActivity } from "#behavior/context/NodeActivity.js";
10
9
  import { OfflineContext } from "#behavior/context/server/OfflineContext.js";
@@ -15,12 +14,10 @@ import {
15
14
  describeList,
16
15
  Diagnostic,
17
16
  ImplementationError,
18
- InternalError,
19
17
  Lifecycle,
20
18
  Logger,
21
19
  MaybePromise,
22
- ReadOnlyError,
23
- UninitializedDependencyError
20
+ ReadOnlyError
24
21
  } from "#general";
25
22
  import { FeatureSet } from "#model";
26
23
  import { DescriptorServer } from "../../behaviors/descriptor/DescriptorServer.js";
@@ -58,8 +55,8 @@ class Behaviors {
58
55
  if (!cluster) {
59
56
  return result;
60
57
  }
58
+ const elements = this.elementsOf(type);
61
59
  const elementDiagnostic = Array();
62
- const elements = new ValidatedElements(type);
63
60
  const features = new FeatureSet(cluster.supportedFeatures);
64
61
  if (features.size) {
65
62
  elementDiagnostic.push([Diagnostic.strong("features"), features]);
@@ -119,7 +116,7 @@ class Behaviors {
119
116
  this.activate(type, agent);
120
117
  }
121
118
  }
122
- return Construction.all(
119
+ let promise2 = Construction.all(
123
120
  {
124
121
  [Symbol.iterator]: () => {
125
122
  return Object.values(this.#backings)[Symbol.iterator]();
@@ -127,6 +124,13 @@ class Behaviors {
127
124
  },
128
125
  (causes) => new EndpointBehaviorsError(causes)
129
126
  );
127
+ const endpointInitializer = this.#endpoint.env.get(EndpointInitializer);
128
+ if (promise2) {
129
+ promise2 = promise2.then(() => endpointInitializer.behaviorsInitialized(agent));
130
+ } else {
131
+ promise2 = endpointInitializer.behaviorsInitialized(agent);
132
+ }
133
+ return promise2;
130
134
  };
131
135
  const activity = this.#endpoint.env.get(NodeActivity);
132
136
  const trace = this.#endpoint.env.has(ActionTracer) ? { type: ActionTracer.ActionType.Initialize } : void 0;
@@ -351,16 +355,31 @@ class Behaviors {
351
355
  * does access to {@link Behavior.State} and {@link Behavior.Events}.
352
356
  */
353
357
  internalsOf(type) {
354
- let backing = this.#backings[type.id];
355
- if (!backing) {
356
- this.#activateLate(type);
357
- backing = this.#backings[type.id];
358
- if (backing === void 0) {
359
- throw new InternalError(`Behavior ${this.#endpoint}.${type.id} late activation did not create backing`);
360
- }
361
- }
358
+ const backing = this.#backingFor(type);
362
359
  return backing.getInternal();
363
360
  }
361
+ /**
362
+ * Obtain current data version of behavior.
363
+ */
364
+ versionOf(type) {
365
+ const backing = this.#backingFor(type);
366
+ return backing.datasource.version;
367
+ }
368
+ /**
369
+ * Access elements supported by a behavior.
370
+ */
371
+ elementsOf(type) {
372
+ if (!this.has(type)) {
373
+ throw new ImplementationError(`Endpoint ${this.#endpoint} does not support behavior ${type.id}`);
374
+ }
375
+ const elements = this.#backingFor(type).elements;
376
+ if (elements === void 0) {
377
+ throw new ImplementationError(
378
+ `Endpoint ${this.#endpoint} behavior ${type.id} elements accessed before initialization`
379
+ );
380
+ }
381
+ return elements;
382
+ }
364
383
  #activateLate(type) {
365
384
  const result = OfflineContext.act(
366
385
  "behavior-late-activation",
@@ -379,26 +398,18 @@ class Behaviors {
379
398
  }
380
399
  }
381
400
  /**
382
- * Obtain a backing for an endpoint shortcut.
401
+ * Obtain a backing for a behavior.
383
402
  */
384
- #backingFor(container, type) {
403
+ #backingFor(type) {
385
404
  if (this.#endpoint.construction.status !== Lifecycle.Status.Initializing) {
386
405
  this.#endpoint.construction.assert(this.#endpoint.toString(), `behavior ${type.id}`);
387
406
  }
388
407
  let backing = this.#backings[type.id];
389
408
  if (!backing) {
390
- try {
391
- this.#activateLate(type);
392
- } catch (e) {
393
- logger.warn(`Cannot initialize ${container}.${type.id} until node is initialized: ${e}`);
394
- throw new UninitializedDependencyError(
395
- `${container}.${type.id}`,
396
- "is not available until node is initialized, you may await node.construction to avoid this error"
397
- );
398
- }
409
+ this.#activateLate(type);
399
410
  backing = this.#backings[type.id];
400
411
  if (backing === void 0) {
401
- throw new InternalError(`Behavior ${this.#endpoint}.${type.id} late activation did not create backing`);
412
+ throw new BehaviorInitializationError(`${this.#endpoint}.${type.id}`, "initialization failed");
402
413
  }
403
414
  }
404
415
  return backing;
@@ -429,7 +440,7 @@ class Behaviors {
429
440
  #augmentEndpoint(type) {
430
441
  Object.defineProperty(this.#endpoint.state, type.id, {
431
442
  get: () => {
432
- return this.#backingFor("state", type).stateView;
443
+ return this.#backingFor(type).stateView;
433
444
  },
434
445
  set() {
435
446
  throw new ReadOnlyError('The "state" property is read-only; you must use set() to modify state');
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/endpoint/properties/Behaviors.ts"],
4
- "mappings": "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",
5
- "names": ["type"]
4
+ "mappings": "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",
5
+ "names": ["type", "promise"]
6
6
  }
@@ -3,9 +3,10 @@
3
3
  * Copyright 2022-2024 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Behavior } from "#behavior/Behavior.js";
7
- import { BehaviorBacking } from "#behavior/internal/BehaviorBacking.js";
8
- import { Endpoint } from "../Endpoint.js";
6
+ import type { Behavior } from "#behavior/Behavior.js";
7
+ import type { BehaviorBacking } from "#behavior/internal/BehaviorBacking.js";
8
+ import type { Agent } from "#endpoint/Agent.js";
9
+ import type { Endpoint } from "../Endpoint.js";
9
10
  /**
10
11
  * Base class for {@link Endpoint} initialization services.
11
12
  */
@@ -30,5 +31,9 @@ export declare abstract class EndpointInitializer {
30
31
  * @returns a new {@link BehaviorBacking}
31
32
  */
32
33
  abstract createBacking(endpoint: Endpoint, type: Behavior.Type): BehaviorBacking;
34
+ /**
35
+ * Invoked after behaviors are initialized but before the initialization transaction commits.
36
+ */
37
+ behaviorsInitialized(_agent: Agent): void;
33
38
  }
34
39
  //# sourceMappingURL=EndpointInitializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EndpointInitializer.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/properties/EndpointInitializer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,8BAAsB,mBAAmB;IACrC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,QAAQ;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,eAAe;CACnF"}
1
+ {"version":3,"file":"EndpointInitializer.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/properties/EndpointInitializer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;GAEG;AACH,8BAAsB,mBAAmB;IACrC;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,QAAQ;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAE5D;;OAEG;IACH,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,eAAe;IAEhF;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,KAAK;CACrC"}
@@ -9,6 +9,11 @@ class EndpointInitializer {
9
9
  */
10
10
  initializeDescendant(_endpoint) {
11
11
  }
12
+ /**
13
+ * Invoked after behaviors are initialized but before the initialization transaction commits.
14
+ */
15
+ behaviorsInitialized(_agent) {
16
+ }
12
17
  }
13
18
  export {
14
19
  EndpointInitializer
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/endpoint/properties/EndpointInitializer.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAe,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAItC,qBAAqB,WAAqB;AAAA,EAAC;AAoB/C;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAcO,MAAe,oBAAoB;AAAA;AAAA;AAAA;AAAA,EAItC,qBAAqB,WAAqB;AAAA,EAAC;AAAA;AAAA;AAAA;AAAA,EAwB3C,qBAAqB,QAAe;AAAA,EAAC;AACzC;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js";
7
+ import { ClusterServer } from "#protocol";
8
+ import type { EndpointServer } from "./EndpointServer.js";
9
+ export interface BehaviorServer extends ClusterServer {
10
+ close(): void;
11
+ }
12
+ /**
13
+ * Create a {@link ClusterServer} for a {@link ClusterBehavior}.
14
+ *
15
+ * Note that we only create servers for cluster behaviors. Other {@link Behavior} implementations do not have proper
16
+ * metadata to go online.
17
+ *
18
+ * TODO - refactor element server management after we remove the old API
19
+ */
20
+ export declare function BehaviorServer(endpointServer: EndpointServer, type: ClusterBehavior.Type): BehaviorServer;
21
+ //# sourceMappingURL=BehaviorServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BehaviorServer.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/server/BehaviorServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAkBvE,OAAO,EAGH,aAAa,EAQhB,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,WAAW,cAAe,SAAQ,aAAa;IACjD,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,GAAG,cAAc,CA2DzG"}
@@ -0,0 +1,269 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AccessControl } from "#behavior/AccessControl.js";
7
+ import { Contextual, Resource } from "#behavior/index.js";
8
+ import { StructManager } from "#behavior/state/managed/values/StructManager.js";
9
+ import { Status } from "#behavior/state/transaction/Status.js";
10
+ import {
11
+ camelize,
12
+ Diagnostic,
13
+ ImplementationError,
14
+ InternalError,
15
+ isObject,
16
+ Logger,
17
+ MaybePromise,
18
+ ObserverGroup
19
+ } from "#general";
20
+ import { ElementTag } from "#model";
21
+ import {
22
+ AttributeServer,
23
+ CommandServer,
24
+ createAttributeServer as ConstructAttributeServer,
25
+ EventServer,
26
+ FabricManager,
27
+ OccurrenceManager,
28
+ SecureSession
29
+ } from "#protocol";
30
+ const logger = Logger.get("BehaviorServer");
31
+ function BehaviorServer(endpointServer, type) {
32
+ const { id, name, attributes, commands, events } = type.cluster;
33
+ const { endpoint } = endpointServer;
34
+ const datasource = createClusterDatasource(endpoint, type);
35
+ const observers = new ObserverGroup();
36
+ const clusterServer = {
37
+ id,
38
+ name,
39
+ datasource,
40
+ attributes: {},
41
+ commands: {},
42
+ events: {},
43
+ close() {
44
+ observers.close();
45
+ }
46
+ };
47
+ const stateView = endpoint.stateOf(type);
48
+ const observables = endpoint.eventsOf(type);
49
+ const elements = endpointServer.endpoint.behaviors.elementsOf(type);
50
+ for (const name2 of elements.attributes) {
51
+ const attribute = attributes[name2];
52
+ const server = createAttributeServer(
53
+ name2,
54
+ attribute,
55
+ endpoint,
56
+ type,
57
+ datasource,
58
+ stateView,
59
+ observables,
60
+ observers
61
+ );
62
+ clusterServer.attributes[name2] = server;
63
+ server.assignToEndpoint(endpointServer);
64
+ }
65
+ for (const name2 of elements.commands) {
66
+ const command = commands[name2];
67
+ clusterServer.commands[name2] = createCommandServer(name2, command, endpoint, type);
68
+ }
69
+ for (const name2 of elements.events) {
70
+ const server = createEventServer(name2, events[name2], endpoint, type, observables, observers);
71
+ clusterServer.events[name2] = server;
72
+ server.assignToEndpoint(endpointServer);
73
+ }
74
+ return clusterServer;
75
+ }
76
+ function createClusterDatasource(endpoint, type) {
77
+ const env = endpoint.env;
78
+ return {
79
+ get version() {
80
+ return endpoint.behaviors.versionOf(type);
81
+ },
82
+ get eventHandler() {
83
+ return env.get(OccurrenceManager);
84
+ },
85
+ get fabrics() {
86
+ return env.get(FabricManager).fabrics;
87
+ },
88
+ // We handle change management ourselves
89
+ changed() {
90
+ },
91
+ // We handle version management ourselves
92
+ increaseVersion() {
93
+ return this.version;
94
+ }
95
+ };
96
+ }
97
+ function createAttributeServer(name, definition, endpoint, type, datasource, stateView, observables, observers) {
98
+ function getter(_session, _endpoint, _isFabricFiltered, message) {
99
+ if (!message) {
100
+ return stateView[name];
101
+ }
102
+ const behavior = behaviorFor(endpoint, type, message);
103
+ behavior.context.activity?.frame(`read ${name}`);
104
+ const trace = behavior.context.trace;
105
+ if (trace) {
106
+ trace.path = endpoint.path.at(name);
107
+ }
108
+ logger.debug("Read", Diagnostic.strong(`${endpoint}.state.${name}`), "via", behavior.context.transaction.via);
109
+ const state = behavior.state;
110
+ StructManager.assertDirectReadAuthorized(state, name);
111
+ if (trace) {
112
+ trace.output = state[name];
113
+ }
114
+ return state[name];
115
+ }
116
+ function setter(value, _session, _endpoint, message) {
117
+ const behavior = behaviorFor(endpoint, type, message);
118
+ behavior.context.activity?.frame(`write ${name}`);
119
+ logger.info("Write", Diagnostic.strong(`${endpoint}.state.${name}`), "via", behavior.context.transaction.via);
120
+ const trace = behavior.context.trace;
121
+ if (trace) {
122
+ trace.path = endpoint.path.at(name);
123
+ trace.input = value;
124
+ }
125
+ const state = behavior.state;
126
+ state[name] = value;
127
+ return behavior.context.transaction?.status === Status.Exclusive;
128
+ }
129
+ const server = ConstructAttributeServer(
130
+ type.cluster,
131
+ definition,
132
+ name,
133
+ stateView[name],
134
+ datasource,
135
+ getter,
136
+ setter
137
+ );
138
+ if (server instanceof AttributeServer) {
139
+ const observable = observables[`${name}$Changed`];
140
+ if (observable !== void 0) {
141
+ observers.on(observable, (_value, _oldValue, context) => {
142
+ const session = context.session;
143
+ if (session instanceof SecureSession) {
144
+ server.updated(session);
145
+ } else {
146
+ server.updatedLocal();
147
+ }
148
+ });
149
+ }
150
+ }
151
+ return server;
152
+ }
153
+ function createCommandServer(name, definition, endpoint, type) {
154
+ const schema = type.schema?.member(camelize(name, true), [ElementTag.Command]);
155
+ if (schema === void 0) {
156
+ throw new ImplementationError(`There is no metadata for command ${name}`);
157
+ }
158
+ const access = AccessControl(schema);
159
+ const handler = (request, _session, message) => {
160
+ let requestDiagnostic;
161
+ if (isObject(request)) {
162
+ requestDiagnostic = Diagnostic.dict(request);
163
+ } else if (request !== void 0) {
164
+ requestDiagnostic = request;
165
+ } else {
166
+ requestDiagnostic = Diagnostic.weak("(no payload)");
167
+ }
168
+ const behavior = behaviorFor(endpoint, type, message);
169
+ const path = endpoint.path.at(name);
170
+ const trace = behavior.context.trace;
171
+ if (trace) {
172
+ trace.path = endpoint.path.at(name);
173
+ trace.input = request;
174
+ }
175
+ logger.info("Invoke", Diagnostic.strong(path.toString()), behavior.context.transaction.via, requestDiagnostic);
176
+ access.authorizeInvoke(behavior.context, {
177
+ path,
178
+ cluster: behavior.cluster.id
179
+ });
180
+ let isAsync = false;
181
+ let activity;
182
+ let result;
183
+ try {
184
+ activity = behavior.context?.activity?.frame(`invoke ${name}`);
185
+ const invoke = behavior[name].bind(behavior);
186
+ if (behavior.constructor.lockOnInvoke) {
187
+ const tx = behavior.context.transaction;
188
+ if (Resource.isLocked(behavior)) {
189
+ result = async function invokeAsync() {
190
+ await tx.addResources(behavior);
191
+ await tx.begin();
192
+ return invoke(request);
193
+ }();
194
+ } else {
195
+ tx.addResourcesSync(behavior);
196
+ tx.beginSync();
197
+ result = invoke(request);
198
+ }
199
+ } else {
200
+ result = invoke(request);
201
+ }
202
+ if (MaybePromise.is(result)) {
203
+ isAsync = true;
204
+ result = Promise.resolve(result).then((result2) => {
205
+ if (trace) {
206
+ trace.output = result2;
207
+ }
208
+ return result2;
209
+ }).finally(() => activity?.[Symbol.dispose]());
210
+ } else if (trace) {
211
+ trace.output = result;
212
+ }
213
+ } finally {
214
+ if (!isAsync) {
215
+ activity?.[Symbol.dispose]();
216
+ }
217
+ }
218
+ return result;
219
+ };
220
+ const server = new CommandServer(
221
+ definition.requestId,
222
+ definition.responseId,
223
+ name,
224
+ definition.requestSchema,
225
+ definition.responseSchema,
226
+ definition.timed,
227
+ definition.invokeAcl,
228
+ handler
229
+ );
230
+ server.debug = () => {
231
+ };
232
+ return server;
233
+ }
234
+ function createEventServer(name, definition, endpoint, type, observables, observers) {
235
+ const observable = observables[name];
236
+ const server = new EventServer(
237
+ definition.id,
238
+ type.cluster.id,
239
+ name,
240
+ definition.schema,
241
+ definition.priority,
242
+ definition.readAcl
243
+ );
244
+ if (observable !== void 0) {
245
+ observers.on(observable, (payload, _context) => {
246
+ const maybePromise = server.triggerEvent(payload);
247
+ if (MaybePromise.is(maybePromise)) {
248
+ endpoint.env.runtime.add(maybePromise);
249
+ }
250
+ });
251
+ }
252
+ const promise = server.bindToEventHandler(endpoint.env.get(OccurrenceManager));
253
+ if (MaybePromise.is(promise)) {
254
+ throw new InternalError("Event handler binding returned a promise");
255
+ }
256
+ return server;
257
+ }
258
+ function behaviorFor(endpoint, type, message) {
259
+ const context = Contextual.contextOf(message);
260
+ if (!context) {
261
+ throw new InternalError("Message context not installed");
262
+ }
263
+ const agent = context.agentFor(endpoint);
264
+ return agent.get(type);
265
+ }
266
+ export {
267
+ BehaviorServer
268
+ };
269
+ //# sourceMappingURL=BehaviorServer.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/endpoint/server/BehaviorServer.ts"],
4
+ "mappings": "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",
5
+ "names": ["name", "result"]
6
+ }
@@ -3,22 +3,21 @@
3
3
  * Copyright 2022-2024 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Behavior } from "#behavior/Behavior.js";
7
- import { BehaviorBacking } from "#behavior/internal/BehaviorBacking.js";
8
6
  import { ClusterClientObj, ClusterServer, EndpointInterface } from "#protocol";
9
7
  import { ClusterId, ClusterType, EndpointNumber } from "#types";
10
- import { Endpoint } from "./Endpoint.js";
8
+ import { Endpoint } from "../Endpoint.js";
9
+ import { BehaviorServer } from "./BehaviorServer.js";
11
10
  /**
12
11
  * EndpointServer makes an {@link Endpoint} available for remote access as an Endpoint on a Matter network.
13
12
  */
14
13
  export declare class EndpointServer implements EndpointInterface {
15
14
  #private;
16
- get endpoint(): Endpoint<import("./index.js").EndpointType.Empty>;
15
+ get endpoint(): Endpoint<import("../index.js").EndpointType.Empty>;
17
16
  get deviceType(): import("#types").DeviceTypeId;
18
17
  constructor(endpoint: Endpoint);
19
- createBacking(type: Behavior.Type): BehaviorBacking;
20
18
  get number(): EndpointNumber;
21
19
  get name(): string;
20
+ updateServers(): void;
22
21
  getNumber(): EndpointNumber;
23
22
  removeFromStructure(): void;
24
23
  updatePartsList(): EndpointNumber[];
@@ -28,7 +27,7 @@ export declare class EndpointServer implements EndpointInterface {
28
27
  close(): void;
29
28
  [Symbol.asyncDispose](): Promise<void>;
30
29
  setStructureChangedCallback(): void;
31
- addClusterServer(server: ClusterServer): void;
30
+ addClusterServer(server: BehaviorServer): void;
32
31
  hasClusterServer(cluster: ClusterType): boolean;
33
32
  getClusterServer(cluster: ClusterType): ClusterServer | undefined;
34
33
  getClusterServerById(clusterId: ClusterId): ClusterServer | undefined;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndpointServer.d.ts","sourceRoot":"","sources":["../../../../src/endpoint/server/EndpointServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;;IAKpD,IAAI,QAAQ,uDAEX;IAED,IAAI,UAAU,kCAEb;gBAEW,QAAQ,EAAE,QAAQ;IAqB9B,IAAI,MAAM,mBAET;IAED,IAAI,IAAI,WAEP;IAED,aAAa;IAcb,SAAS,IAAI,cAAc;IAO3B,mBAAmB,IAAI,IAAI;IAI3B,eAAe,IAAI,cAAc,EAAE;IAKnC,iBAAiB,IAAI,iBAAiB,EAAE;IAQxC,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAIvC,sBAAsB,IAAI,IAAI;IAI9B,KAAK,IAAI,IAAI;IAIP,CAAC,MAAM,CAAC,YAAY,CAAC;IAc3B,2BAA2B,IAAI,IAAI;IAInC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAI9C,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAI/C,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS;IAOjE,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS;IAIrE,oBAAoB,IAAI,aAAa,EAAE;IAIvC,oBAAoB,IAAI,gBAAgB,EAAE;IAK1C,gBAAgB,IAAI,IAAI;IAIxB,gBAAgB,IAAI,GAAG;IAIvB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAQnD,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,iBAAiB,GAAG,SAAS;IA6BnE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ;CAOxC"}