@matter/node 0.16.0-alpha.0-20251101-70c8d51d7 → 0.16.0-alpha.0-20251103-b47ffa15b

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 (159) hide show
  1. package/dist/cjs/behavior/Behavior.d.ts +2 -2
  2. package/dist/cjs/behavior/Behavior.d.ts.map +1 -1
  3. package/dist/cjs/behavior/Behavior.js +1 -1
  4. package/dist/cjs/behavior/Behavior.js.map +1 -1
  5. package/dist/cjs/behavior/Events.js.map +1 -1
  6. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +3 -2
  7. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  8. package/dist/cjs/behavior/cluster/ClusterBehavior.js.map +1 -1
  9. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js +1 -1
  10. package/dist/cjs/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  11. package/dist/cjs/behavior/internal/BehaviorBacking.js +1 -1
  12. package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
  13. package/dist/cjs/behavior/system/mqtt/MqttInterface.js +1 -1
  14. package/dist/cjs/behavior/system/mqtt/MqttInterface.js.map +1 -1
  15. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
  16. package/dist/cjs/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  17. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js +0 -3
  18. package/dist/cjs/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  19. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
  20. package/dist/cjs/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  21. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts +3 -3
  22. package/dist/cjs/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  23. package/dist/cjs/behaviors/color-control/ColorControlServer.js +118 -3
  24. package/dist/cjs/behaviors/color-control/ColorControlServer.js.map +1 -1
  25. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
  26. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  27. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  28. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
  29. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  30. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  31. package/dist/cjs/behaviors/groups/GroupsServer.d.ts.map +1 -1
  32. package/dist/cjs/behaviors/groups/GroupsServer.js +9 -1
  33. package/dist/cjs/behaviors/groups/GroupsServer.js.map +1 -1
  34. package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts +5 -5
  35. package/dist/cjs/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
  36. package/dist/cjs/behaviors/level-control/LevelControlServer.js +54 -27
  37. package/dist/cjs/behaviors/level-control/LevelControlServer.js.map +1 -1
  38. package/dist/cjs/behaviors/on-off/OnOffServer.d.ts +3 -6
  39. package/dist/cjs/behaviors/on-off/OnOffServer.d.ts.map +1 -1
  40. package/dist/cjs/behaviors/on-off/OnOffServer.js +59 -7
  41. package/dist/cjs/behaviors/on-off/OnOffServer.js.map +1 -1
  42. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
  43. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
  44. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js +909 -1
  45. package/dist/cjs/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
  46. package/dist/cjs/behaviors/switch/SwitchServer.d.ts +1 -1
  47. package/dist/cjs/behaviors/switch/SwitchServer.d.ts.map +1 -1
  48. package/dist/cjs/behaviors/switch/SwitchServer.js.map +1 -1
  49. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js +2 -2
  50. package/dist/cjs/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  51. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +1 -1
  52. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  53. package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
  54. package/dist/cjs/devices/color-temperature-light.d.ts +4 -4
  55. package/dist/cjs/devices/dimmable-light.d.ts +4 -4
  56. package/dist/cjs/devices/dimmable-plug-in-unit.d.ts +4 -4
  57. package/dist/cjs/devices/extended-color-light.d.ts +4 -4
  58. package/dist/cjs/devices/mounted-dimmable-load-control.d.ts +4 -4
  59. package/dist/cjs/devices/mounted-on-off-control.d.ts +4 -4
  60. package/dist/cjs/devices/on-off-light.d.ts +4 -4
  61. package/dist/cjs/devices/on-off-plug-in-unit.d.ts +4 -4
  62. package/dist/cjs/endpoint/Agent.d.ts +5 -0
  63. package/dist/cjs/endpoint/Agent.d.ts.map +1 -1
  64. package/dist/cjs/endpoint/Agent.js +9 -0
  65. package/dist/cjs/endpoint/Agent.js.map +1 -1
  66. package/dist/cjs/endpoint/properties/Behaviors.js +1 -1
  67. package/dist/cjs/endpoint/properties/Behaviors.js.map +1 -1
  68. package/dist/cjs/node/integration/ProtocolService.js +1 -1
  69. package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
  70. package/dist/esm/behavior/Behavior.d.ts +2 -2
  71. package/dist/esm/behavior/Behavior.d.ts.map +1 -1
  72. package/dist/esm/behavior/Behavior.js +1 -1
  73. package/dist/esm/behavior/Behavior.js.map +1 -1
  74. package/dist/esm/behavior/Events.js.map +1 -1
  75. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +3 -2
  76. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts.map +1 -1
  77. package/dist/esm/behavior/cluster/ClusterBehavior.js.map +1 -1
  78. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js +1 -1
  79. package/dist/esm/behavior/cluster/ClusterBehaviorUtil.js.map +1 -1
  80. package/dist/esm/behavior/internal/BehaviorBacking.js +1 -1
  81. package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
  82. package/dist/esm/behavior/system/mqtt/MqttInterface.js +1 -1
  83. package/dist/esm/behavior/system/mqtt/MqttInterface.js.map +1 -1
  84. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts +2 -2
  85. package/dist/esm/behaviors/basic-information/BasicInformationServer.d.ts.map +1 -1
  86. package/dist/esm/behaviors/basic-information/BasicInformationServer.js +1 -4
  87. package/dist/esm/behaviors/basic-information/BasicInformationServer.js.map +1 -1
  88. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts +1 -1
  89. package/dist/esm/behaviors/bridged-device-basic-information/BridgedDeviceBasicInformationServer.d.ts.map +1 -1
  90. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts +3 -3
  91. package/dist/esm/behaviors/color-control/ColorControlServer.d.ts.map +1 -1
  92. package/dist/esm/behaviors/color-control/ColorControlServer.js +118 -3
  93. package/dist/esm/behaviors/color-control/ColorControlServer.js.map +1 -1
  94. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts +1 -1
  95. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  96. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  97. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts +1 -1
  98. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  99. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  100. package/dist/esm/behaviors/groups/GroupsServer.d.ts.map +1 -1
  101. package/dist/esm/behaviors/groups/GroupsServer.js +9 -1
  102. package/dist/esm/behaviors/groups/GroupsServer.js.map +1 -1
  103. package/dist/esm/behaviors/level-control/LevelControlServer.d.ts +5 -5
  104. package/dist/esm/behaviors/level-control/LevelControlServer.d.ts.map +1 -1
  105. package/dist/esm/behaviors/level-control/LevelControlServer.js +55 -28
  106. package/dist/esm/behaviors/level-control/LevelControlServer.js.map +1 -1
  107. package/dist/esm/behaviors/on-off/OnOffServer.d.ts +3 -6
  108. package/dist/esm/behaviors/on-off/OnOffServer.d.ts.map +1 -1
  109. package/dist/esm/behaviors/on-off/OnOffServer.js +59 -7
  110. package/dist/esm/behaviors/on-off/OnOffServer.js.map +1 -1
  111. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts +122 -3
  112. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.d.ts.map +1 -1
  113. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js +960 -1
  114. package/dist/esm/behaviors/scenes-management/ScenesManagementServer.js.map +2 -2
  115. package/dist/esm/behaviors/switch/SwitchServer.d.ts +1 -1
  116. package/dist/esm/behaviors/switch/SwitchServer.d.ts.map +1 -1
  117. package/dist/esm/behaviors/switch/SwitchServer.js.map +1 -1
  118. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js +2 -2
  119. package/dist/esm/behaviors/thermostat/AtomicWriteHandler.js.map +1 -1
  120. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +1 -1
  121. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  122. package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
  123. package/dist/esm/devices/color-temperature-light.d.ts +4 -4
  124. package/dist/esm/devices/dimmable-light.d.ts +4 -4
  125. package/dist/esm/devices/dimmable-plug-in-unit.d.ts +4 -4
  126. package/dist/esm/devices/extended-color-light.d.ts +4 -4
  127. package/dist/esm/devices/mounted-dimmable-load-control.d.ts +4 -4
  128. package/dist/esm/devices/mounted-on-off-control.d.ts +4 -4
  129. package/dist/esm/devices/on-off-light.d.ts +4 -4
  130. package/dist/esm/devices/on-off-plug-in-unit.d.ts +4 -4
  131. package/dist/esm/endpoint/Agent.d.ts +5 -0
  132. package/dist/esm/endpoint/Agent.d.ts.map +1 -1
  133. package/dist/esm/endpoint/Agent.js +9 -0
  134. package/dist/esm/endpoint/Agent.js.map +1 -1
  135. package/dist/esm/endpoint/properties/Behaviors.js +1 -1
  136. package/dist/esm/endpoint/properties/Behaviors.js.map +1 -1
  137. package/dist/esm/node/integration/ProtocolService.js +1 -1
  138. package/dist/esm/node/integration/ProtocolService.js.map +1 -1
  139. package/package.json +7 -7
  140. package/src/behavior/Behavior.ts +2 -2
  141. package/src/behavior/Events.ts +1 -1
  142. package/src/behavior/cluster/ClusterBehavior.ts +4 -2
  143. package/src/behavior/cluster/ClusterBehaviorUtil.ts +1 -1
  144. package/src/behavior/internal/BehaviorBacking.ts +1 -1
  145. package/src/behavior/system/mqtt/MqttInterface.ts +1 -1
  146. package/src/behaviors/basic-information/BasicInformationServer.ts +3 -7
  147. package/src/behaviors/color-control/ColorControlServer.ts +132 -3
  148. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +1 -1
  149. package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +2 -2
  150. package/src/behaviors/groups/GroupsServer.ts +13 -1
  151. package/src/behaviors/level-control/LevelControlServer.ts +72 -29
  152. package/src/behaviors/on-off/OnOffServer.ts +78 -9
  153. package/src/behaviors/scenes-management/ScenesManagementServer.ts +1123 -3
  154. package/src/behaviors/switch/SwitchServer.ts +1 -1
  155. package/src/behaviors/thermostat/AtomicWriteHandler.ts +4 -4
  156. package/src/behaviors/thermostat/ThermostatServer.ts +1 -1
  157. package/src/endpoint/Agent.ts +10 -0
  158. package/src/endpoint/properties/Behaviors.ts +1 -1
  159. package/src/node/integration/ProtocolService.ts +1 -1
@@ -26,7 +26,7 @@ const SwitchServerBase = SwitchBehavior.for(Switch.Complete).with(
26
26
  );
27
27
 
28
28
  // Enhance Schema to define conformance for some of the additional state attributes
29
- const schema = SwitchServerBase.schema!.extend({
29
+ const schema = SwitchServerBase.schema.extend({
30
30
  children: [
31
31
  FieldElement({
32
32
  name: "longPressDelay",
@@ -8,7 +8,7 @@ import { ActionContext, Behavior, ClusterBehavior, type ClusterState, ValueSuper
8
8
  import { Thermostat } from "#clusters/thermostat";
9
9
  import { Endpoint } from "#endpoint/Endpoint.js";
10
10
  import { BasicSet, Environment, Environmental, InternalError, Logger, ObserverGroup, serialize } from "#general";
11
- import { ClusterModel, DataModelPath } from "#model";
11
+ import { DataModelPath } from "#model";
12
12
  import {
13
13
  AccessControl,
14
14
  assertRemoteActor,
@@ -74,7 +74,7 @@ export class AtomicWriteHandler {
74
74
  endpoint: Endpoint,
75
75
  cluster: B,
76
76
  ) {
77
- if (!ClusterBehavior.is(cluster) || !cluster.schema) {
77
+ if (!ClusterBehavior.is(cluster)) {
78
78
  throw new InternalError("Cluster behavior expected for atomic write handler");
79
79
  }
80
80
 
@@ -164,13 +164,13 @@ export class AtomicWriteHandler {
164
164
  if (!hasRemoteActor(context)) {
165
165
  throw new StatusResponse.InvalidCommandError("AtomicRequest requires a remote actor");
166
166
  }
167
- if (!ClusterBehavior.is(cluster) || !cluster.schema) {
167
+ if (!ClusterBehavior.is(cluster)) {
168
168
  throw new InternalError("Cluster behavior expected for atomic write handler");
169
169
  }
170
170
  let commandStatusCode = Status.Success;
171
171
  const attributeStatus = request.attributeRequests.map(attr => {
172
172
  let statusCode = Status.Success;
173
- const attributeModel = (cluster.schema!.conformant as ClusterModel.Conformant).attributes.for(attr);
173
+ const attributeModel = cluster.schema.conformant.attributes.for(attr);
174
174
  if (!attributeModel?.quality.atomic) {
175
175
  statusCode = Status.InvalidAction;
176
176
  } else if (this.#pendingWriteStateForAttribute(endpoint, cluster, attr) !== undefined) {
@@ -39,7 +39,7 @@ const ThermostatBehaviorLogicBase = ThermostatBehavior.with(
39
39
  );
40
40
 
41
41
  // Enhance Schema to define conformance for some of the additional state attributes
42
- const schema = ThermostatBehaviorLogicBase.schema!.extend({
42
+ const schema = ThermostatBehaviorLogicBase.schema.extend({
43
43
  children: [
44
44
  FieldElement({
45
45
  name: "PersistedPresets",
@@ -86,6 +86,16 @@ export class Agent {
86
86
  return behavior as InstanceType<T>;
87
87
  }
88
88
 
89
+ /**
90
+ * Optionally obtain a behavior supported by this agent. Returns `undefined` if the {@link Behavior.Type} isn't
91
+ * supported or yet installed
92
+ */
93
+ maybeGet<T extends Behavior.Type>(type: T): InstanceType<T> | undefined {
94
+ if (this.has(type)) {
95
+ return this.get(type);
96
+ }
97
+ }
98
+
89
99
  /**
90
100
  * Obtain a behavior supported by this agent. Throws an error if the {@link Behavior.Type} isn't supported. Waits
91
101
  * if the behavior is not yet initialized.
@@ -682,7 +682,7 @@ export class Behaviors {
682
682
  #augmentEndpoint(type: Behavior.Type) {
683
683
  const get = () => this.#backingFor(type).stateView;
684
684
  Object.defineProperty(this.#endpoint.state, type.id, { get, enumerable: true });
685
- if (type.schema?.id !== undefined) {
685
+ if (type.schema.id !== undefined) {
686
686
  Object.defineProperty(this.#endpoint.state, type.schema.id, { get });
687
687
  }
688
688
 
@@ -102,7 +102,7 @@ export class ProtocolService {
102
102
  * This optimized path allows us to broadcast state changes without registering observers for every change.
103
103
  */
104
104
  handleChange(backing: BehaviorBacking, props: string[]) {
105
- const clusterId = backing.type.schema?.id as ClusterId | undefined;
105
+ const clusterId = backing.type.schema.id as ClusterId | undefined;
106
106
  if (clusterId === undefined) {
107
107
  return;
108
108
  }