@matter/types 0.13.0-alpha.0-20250322-f085fa576 → 0.13.0-alpha.0-20250323-770919c6a

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.
@@ -254,7 +254,7 @@ export declare namespace CommissionerControl {
254
254
  *
255
255
  * The generalized flow supported by the Commissioner Control Cluster can be seen in the following diagram.
256
256
  *
257
- * Figure 101. Commissioner Control Cluster - General Flow
257
+ * Figure 103. Commissioner Control Cluster - General Flow
258
258
  *
259
259
  * @see {@link MatterSpecification.v13.Core} § 11.26
260
260
  */
@@ -5,6 +5,7 @@
5
5
  */
6
6
  /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
7
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
8
+ import { FabricScopedAttribute } from "../cluster/Cluster.js";
8
9
  import { TypeFromSchema } from "../tlv/TlvSchema.js";
9
10
  import { Identity } from "#general";
10
11
  export declare namespace EcosystemInformation {
@@ -129,6 +130,11 @@ export declare namespace EcosystemInformation {
129
130
  floorNumber: import("../tlv/TlvObject.js").FieldType<number | null>;
130
131
  areaType: import("../tlv/TlvObject.js").FieldType<number | null>;
131
132
  }>>;
133
+ /**
134
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
135
+ *
136
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
137
+ */
132
138
  locationDescriptorLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
133
139
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
134
140
  }>;
@@ -144,6 +150,147 @@ export declare namespace EcosystemInformation {
144
150
  readonly id: 1872;
145
151
  readonly name: "EcosystemInformation";
146
152
  readonly revision: 1;
153
+ readonly attributes: {
154
+ /**
155
+ * This attribute shall contain the list of logical devices represented by a Bridged Node. Most of the time
156
+ * this will contain a single entry, but may grow with more complex device compositions (e.g. another
157
+ * bridge.)
158
+ *
159
+ * An empty list indicates that the information is not available.
160
+ *
161
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.1
162
+ */
163
+ readonly deviceDirectory: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
164
+ /**
165
+ * This field shall indicate the device’s name, which is provided externally if the user consents. (For example,
166
+ * provided by the user in an ecosystem specific interface.)
167
+ *
168
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.1
169
+ */
170
+ deviceName: import("../tlv/TlvObject.js").OptionalFieldType<string>;
171
+ /**
172
+ * This field shall be present and set if the DeviceName field is present.
173
+ *
174
+ * This field shall indicate the timestamp of when the DeviceName was last modified.
175
+ *
176
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.2
177
+ */
178
+ deviceNameLastEdit: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
179
+ /**
180
+ * This field shall indicate the endpoint this EcosystemDeviceStruct is associated with on this Bridge.
181
+ *
182
+ * This field shall be present and set to a valid endpoint if the device is accessible through the bridge.
183
+ *
184
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.3
185
+ */
186
+ bridgedEndpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
187
+ /**
188
+ * This field shall indicate the endpoint this EcosystemDeviceStruct is associated with on the original device
189
+ * represented by this bridge’s Bridged Node. If this bridge is receiving the device from another bridge, then
190
+ * the OriginalEndpoint field value would be the same on both bridges. This field shall be present and set to a
191
+ * valid endpoint on the original device if that device is a Matter device.
192
+ *
193
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.4
194
+ */
195
+ originalEndpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
196
+ /**
197
+ * This field shall indicate all of the DeviceTypes within the DeviceTypeList in the Descriptor Cluster
198
+ * associated with this EcosystemDeviceStruct entry.
199
+ *
200
+ * This field shall contain a list of valid device type ids.
201
+ *
202
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.5
203
+ */
204
+ deviceTypes: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
205
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../index.js").DeviceTypeId>;
206
+ revision: import("../tlv/TlvObject.js").FieldType<number>;
207
+ }>[]>;
208
+ /**
209
+ * This field shall specify the EcosystemLocationStruct entries in the LocationDirectory attribute associated
210
+ * with this EcosystemDeviceStruct.
211
+ *
212
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.6
213
+ */
214
+ uniqueLocationIDs: import("../tlv/TlvObject.js").FieldType<string[]>;
215
+ /**
216
+ * This field shall indicate the timestamp of when the UniqueLocationIDs was last modified.
217
+ *
218
+ * NOTE
219
+ *
220
+ * If multiple server instances update the UniqueLocationIDs field at the same time, it is possible one of the
221
+ * updates will be missed. This is considered an acceptable limitation to reduce the complexity of the design.
222
+ * Since this is meant to be provided from user input, it is unlikely these signals would be happening at one
223
+ * time.
224
+ *
225
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.7
226
+ */
227
+ uniqueLocationIDsLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
228
+ fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
229
+ }>[], any>;
230
+ /**
231
+ * This attribute shall contain the list of rooms, areas and groups associated with the DeviceDirectory
232
+ * entries, and shall NOT contain locations which are dynamically generated and removed by an ecosystem.
233
+ * (E.g. a location that is generated and removed based on the user being home is not permitted. However, an
234
+ * initially generated location name that does not quickly change is acceptable.)
235
+ *
236
+ * An empty list indicates that the information is not available.
237
+ *
238
+ * LocationDirectory entries shall be removed if there is no DeviceDirectory that references it.
239
+ *
240
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.2
241
+ */
242
+ readonly locationDirectory: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
243
+ /**
244
+ * This field shall indicate a unique identifier for a specific Ecosystem Information Cluster server instance
245
+ * representing the location independent of its LocationDescriptor field.
246
+ *
247
+ * UniqueLocationID can be used by the client to determine if the change is a relocation of the device or just a
248
+ * renaming of the location.
249
+ *
250
+ * No guarantees are given for consistency of the ID between server instances. The same location may be
251
+ * represented by different IDs on different Ecosystem Information Cluster server instances, so only the history
252
+ * from a single server instance should be considered when evaluating a change.
253
+ *
254
+ * UniqueLocationID shall be changed when the LocationDescriptor changes from one existing location to another
255
+ * location as a result of an external interaction. (For example, the user changes the location assignment.)
256
+ *
257
+ * UniqueLocationID shall NOT be changed when the LocationDescriptor changes name, but still represents the same
258
+ * location. (For example, the user renames a room.)
259
+ *
260
+ * UniqueLocationID shall be changed when LocationDescriptor changes as a result of another Ecosystem
261
+ * Information Cluster server instance changing and the UniqueLocationID on the remote server instance also
262
+ * changes.
263
+ *
264
+ * UniqueLocationID shall NOT be changed when LocationDescriptor changes as a result of another Ecosystem
265
+ * Information Cluster server instance changing and the UniqueLocationID on the remote server instance does not
266
+ * change.
267
+ *
268
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.1
269
+ */
270
+ uniqueLocationId: import("../tlv/TlvObject.js").FieldType<string>;
271
+ /**
272
+ * This field shall indicate the location (e.g. living room, driveway) and associated metadata that is provided
273
+ * externally if the user consents. (For example, provided by the user in an ecosystem specific interface.)
274
+ *
275
+ * "Location" in this context is typically used by the user’s grouping into rooms, areas or other logical
276
+ * groupings of how devices are used. So a device might be part of multiple such "Locations"s.
277
+ *
278
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.2
279
+ */
280
+ locationDescriptor: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
281
+ locationName: import("../tlv/TlvObject.js").FieldType<string>;
282
+ floorNumber: import("../tlv/TlvObject.js").FieldType<number | null>;
283
+ areaType: import("../tlv/TlvObject.js").FieldType<number | null>;
284
+ }>>;
285
+ /**
286
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
287
+ *
288
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
289
+ */
290
+ locationDescriptorLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
291
+ fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
292
+ }>[], any>;
293
+ };
147
294
  }, []>;
148
295
  /**
149
296
  * The Ecosystem Information Cluster provides extended device information for all the logical devices represented by
@@ -1 +1 @@
1
- {"version":3,"file":"ecosystem-information.d.ts","sourceRoot":"","sources":["../../../src/clusters/ecosystem-information.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAQvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,oBAAoB,CAAC;IAClC;;OAEG;IACI,MAAM,kBAAkB;QAC3B;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;WAOG;;;;;QAGH;;;;;WAKG;;QAGH;;;;;;;;;;;WAWG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,eAAgB,SAAQ,cAAc,CAAC,OAAO,kBAAkB,CAAC;KAAG;IAErF;;OAEG;IACI,MAAM,oBAAoB;QAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;;QAGH;;;;;;;;WAQG;;;;;;;;MAKL,CAAC;IAEH;;OAEG;IACH,UAAiB,iBAAkB,SAAQ,cAAc,CAAC,OAAO,oBAAoB,CAAC;KAAG;IAEzF;;OAEG;IACI,MAAM,eAAe;;;;UAA2E,CAAC;IAExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IACzC,MAAM,QAAQ,SAAU,CAAC;CACnC;AAED,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,OAAO,CAAC;AACvE,eAAO,MAAM,2BAA2B,8BAA+B,CAAC"}
1
+ {"version":3,"file":"ecosystem-information.d.ts","sourceRoot":"","sources":["../../../src/clusters/ecosystem-information.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,oBAAoB,CAAC;IAClC;;OAEG;IACI,MAAM,kBAAkB;QAC3B;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;WAOG;;;;;QAGH;;;;;WAKG;;QAGH;;;;;;;;;;;WAWG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,eAAgB,SAAQ,cAAc,CAAC,OAAO,kBAAkB,CAAC;KAAG;IAErF;;OAEG;IACI,MAAM,oBAAoB;QAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;;QAGH;;;;;;;;WAQG;;;;;;QAGH;;;;WAIG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,iBAAkB,SAAQ,cAAc,CAAC,OAAO,oBAAoB,CAAC;KAAG;IAEzF;;OAEG;IACI,MAAM,eAAe;;;;;YAMpB;;;;;;;;eAQG;;gBAxJP;;;;;mBAKG;;gBAGH;;;;;;mBAMG;;gBAGH;;;;;;mBAMG;;gBAGH;;;;;;;mBAOG;;gBAGH;;;;;;;mBAOG;;;;;gBAGH;;;;;mBAKG;;gBAGH;;;;;;;;;;;mBAWG;;;;YA8FC;;;;;;;;;;;eAWG;;gBA1FP;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0BG;;gBAGH;;;;;;;;mBAQG;;;;;;gBAGH;;;;mBAIG;;;;;UAqDL,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IACzC,MAAM,QAAQ,SAAU,CAAC;CACnC;AAED,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,OAAO,CAAC;AACvE,eAAO,MAAM,2BAA2B,8BAA+B,CAAC"}
@@ -23,13 +23,15 @@ __export(ecosystem_information_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(ecosystem_information_exports);
25
25
  var import_MutableCluster = require("../cluster/mutation/MutableCluster.js");
26
+ var import_Cluster = require("../cluster/Cluster.js");
27
+ var import_TlvArray = require("../tlv/TlvArray.js");
26
28
  var import_TlvObject = require("../tlv/TlvObject.js");
27
29
  var import_TlvString = require("../tlv/TlvString.js");
28
30
  var import_TlvNumber = require("../tlv/TlvNumber.js");
29
31
  var import_EndpointNumber = require("../datatype/EndpointNumber.js");
30
- var import_TlvArray = require("../tlv/TlvArray.js");
31
32
  var import_descriptor = require("./descriptor.js");
32
33
  var import_FabricIndex = require("../datatype/FabricIndex.js");
34
+ var import_model = require("#model");
33
35
  var import_Locationdesc = require("../globals/Locationdesc.js");
34
36
  var import_ClusterRegistry = require("../cluster/ClusterRegistry.js");
35
37
  /**
@@ -142,10 +144,52 @@ var EcosystemInformation;
142
144
  * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.2
143
145
  */
144
146
  locationDescriptor: (0, import_TlvObject.TlvField)(1, import_Locationdesc.TlvLocationdesc),
147
+ /**
148
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
149
+ *
150
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
151
+ */
145
152
  locationDescriptorLastEdit: (0, import_TlvObject.TlvField)(2, import_TlvNumber.TlvEpochUs),
146
153
  fabricIndex: (0, import_TlvObject.TlvField)(254, import_FabricIndex.TlvFabricIndex)
147
154
  });
148
- EcosystemInformation2.ClusterInstance = (0, import_MutableCluster.MutableCluster)({ id: 1872, name: "EcosystemInformation", revision: 1 });
155
+ EcosystemInformation2.ClusterInstance = (0, import_MutableCluster.MutableCluster)({
156
+ id: 1872,
157
+ name: "EcosystemInformation",
158
+ revision: 1,
159
+ attributes: {
160
+ /**
161
+ * This attribute shall contain the list of logical devices represented by a Bridged Node. Most of the time
162
+ * this will contain a single entry, but may grow with more complex device compositions (e.g. another
163
+ * bridge.)
164
+ *
165
+ * An empty list indicates that the information is not available.
166
+ *
167
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.1
168
+ */
169
+ deviceDirectory: (0, import_Cluster.FabricScopedAttribute)(
170
+ 0,
171
+ (0, import_TlvArray.TlvArray)(EcosystemInformation2.TlvEcosystemDevice),
172
+ { persistent: true, default: [], readAcl: import_model.AccessLevel.Manage, writeAcl: import_model.AccessLevel.Manage }
173
+ ),
174
+ /**
175
+ * This attribute shall contain the list of rooms, areas and groups associated with the DeviceDirectory
176
+ * entries, and shall NOT contain locations which are dynamically generated and removed by an ecosystem.
177
+ * (E.g. a location that is generated and removed based on the user being home is not permitted. However, an
178
+ * initially generated location name that does not quickly change is acceptable.)
179
+ *
180
+ * An empty list indicates that the information is not available.
181
+ *
182
+ * LocationDirectory entries shall be removed if there is no DeviceDirectory that references it.
183
+ *
184
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.2
185
+ */
186
+ locationDirectory: (0, import_Cluster.FabricScopedAttribute)(
187
+ 1,
188
+ (0, import_TlvArray.TlvArray)(EcosystemInformation2.TlvEcosystemLocation),
189
+ { persistent: true, default: [], readAcl: import_model.AccessLevel.Manage, writeAcl: import_model.AccessLevel.Manage }
190
+ )
191
+ }
192
+ });
149
193
  EcosystemInformation2.Cluster = EcosystemInformation2.ClusterInstance;
150
194
  EcosystemInformation2.Complete = EcosystemInformation2.Cluster;
151
195
  })(EcosystemInformation || (EcosystemInformation = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/clusters/ecosystem-information.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,4BAA+B;AAC/B,uBAAsD;AACtD,uBAA0B;AAC1B,uBAA2B;AAC3B,4BAAkC;AAClC,sBAAyB;AACzB,wBAA2B;AAC3B,yBAA+B;AAE/B,0BAAgC;AAEhC,6BAAgC;AAnBhC;AAAA;AAAA;AAAA;AAAA;AAqBO,IAAU;AAAA,CAAV,CAAUA,0BAAV;AAII,EAAMA,sBAAA,yBAAqB,4BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOxC,gBAAY,mCAAiB,GAAG,2BAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlE,wBAAoB,mCAAiB,GAAG,2BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,qBAAiB,mCAAiB,GAAG,uCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtD,sBAAkB,mCAAiB,GAAG,uCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUvD,iBAAa,2BAAS,OAAG,0BAAS,6BAAW,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3D,uBAAmB,2BAAS,OAAG,0BAAS,4BAAW,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcrE,+BAA2B,2BAAS,GAAG,2BAAU;AAAA,IAEjD,iBAAa,2BAAS,KAAK,iCAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,2BAAuB,4BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4B1C,sBAAkB,2BAAS,GAAG,2BAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWhE,wBAAoB,2BAAS,GAAG,mCAAe;AAAA,IAE/C,gCAA4B,2BAAS,GAAG,2BAAU;AAAA,IAClD,iBAAa,2BAAS,KAAK,iCAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,sBAAkB,sCAAe,EAAE,IAAI,MAAO,MAAM,wBAAwB,UAAU,EAAE,CAAC;AAmC/F,EAAMA,sBAAA,UAAmBA,sBAAA;AACzB,EAAMA,sBAAA,WAAWA,sBAAA;AAAA,GA7KX;AAiLV,MAAM,8BAA8B,qBAAqB;AAChE,uCAAgB,SAAS,qBAAqB,QAAQ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,4BAA+B;AAC/B,qBAAsC;AACtC,sBAAyB;AACzB,uBAAsD;AACtD,uBAA0B;AAC1B,uBAA2B;AAC3B,4BAAkC;AAClC,wBAA2B;AAC3B,yBAA+B;AAE/B,mBAA4B;AAC5B,0BAAgC;AAEhC,6BAAgC;AArBhC;AAAA;AAAA;AAAA;AAAA;AAuBO,IAAU;AAAA,CAAV,CAAUA,0BAAV;AAII,EAAMA,sBAAA,yBAAqB,4BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOxC,gBAAY,mCAAiB,GAAG,2BAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlE,wBAAoB,mCAAiB,GAAG,2BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,qBAAiB,mCAAiB,GAAG,uCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtD,sBAAkB,mCAAiB,GAAG,uCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUvD,iBAAa,2BAAS,OAAG,0BAAS,6BAAW,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3D,uBAAmB,2BAAS,OAAG,0BAAS,4BAAW,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcrE,+BAA2B,2BAAS,GAAG,2BAAU;AAAA,IAEjD,iBAAa,2BAAS,KAAK,iCAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,2BAAuB,4BAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4B1C,sBAAkB,2BAAS,GAAG,2BAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWhE,wBAAoB,2BAAS,GAAG,mCAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO/C,gCAA4B,2BAAS,GAAG,2BAAU;AAAA,IAElD,iBAAa,2BAAS,KAAK,iCAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,sBAAkB,sCAAe;AAAA,IAC1C,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IAEV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUR,qBAAiB;AAAA,QACb;AAAA,YACA,0BAASA,sBAAA,kBAAkB;AAAA,QAC3B,EAAE,YAAY,MAAM,SAAS,CAAC,GAAG,SAAS,yBAAY,QAAQ,UAAU,yBAAY,OAAO;AAAA,MAC/F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAcA,uBAAmB;AAAA,QACf;AAAA,YACA,0BAASA,sBAAA,oBAAoB;AAAA,QAC7B,EAAE,YAAY,MAAM,SAAS,CAAC,GAAG,SAAS,yBAAY,QAAQ,UAAU,yBAAY,OAAO;AAAA,MAC/F;AAAA,IACJ;AAAA,EACJ,CAAC;AAmCM,EAAMA,sBAAA,UAAmBA,sBAAA;AACzB,EAAMA,sBAAA,WAAWA,sBAAA;AAAA,GA1NX;AA8NV,MAAM,8BAA8B,qBAAqB;AAChE,uCAAgB,SAAS,qBAAqB,QAAQ;",
5
5
  "names": ["EcosystemInformation"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TlvAny.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvAny.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExG,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/C,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAyBzC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IA4BtF,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,SAAS;IAIxF,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzF,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAe7C,kBAAkB,CAAC,OAAO,EAAE,SAAS;IAarC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,UAAQ;IA6B/F,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,UAAQ;IAiBjE,sBAAsB,CAAC,MAAM,EAAE,cAAc;;;CAgBhD;AAED,eAAO,MAAM,MAAM,WAAkB,CAAC"}
1
+ {"version":3,"file":"TlvAny.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvAny.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExG,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/C,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAyBzC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IA4BtF,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,SAAS;IAIxF,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzF,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAe7C,kBAAkB,CAAC,OAAO,EAAE,SAAS;IAerC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,UAAQ;IA6B/F,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,UAAQ;IAiBjE,sBAAsB,CAAC,MAAM,EAAE,cAAc;;;CAgBhD;AAED,eAAO,MAAM,MAAM,WAAkB,CAAC"}
@@ -136,7 +136,9 @@ class AnySchema extends import_TlvSchema.TlvSchema {
136
136
  const result = this.decodeGenericElement(reader);
137
137
  const nextElement = reader.readTagType();
138
138
  if (nextElement !== void 0) {
139
- throw new import_general.UnexpectedDataError(`Unexpected data left after parsing all data: ${import_general.Logger.toJSON(nextElement)}`);
139
+ throw new import_general.UnexpectedDataError(
140
+ `Unexpected data left after parsing all data: ${import_general.Diagnostic.json(nextElement)}`
141
+ );
140
142
  }
141
143
  return result;
142
144
  }
@@ -155,7 +157,7 @@ class AnySchema extends import_TlvSchema.TlvSchema {
155
157
  case import_TlvCodec.TlvType.Utf8String:
156
158
  case import_TlvCodec.TlvType.ByteString:
157
159
  if (tag !== void 0 && !allowTag) {
158
- throw new import_general.UnexpectedDataError(`Tag detected for a native type: ${import_general.Logger.toJSON(element)}`);
160
+ throw new import_general.UnexpectedDataError(`Tag detected for a native type: ${import_general.Diagnostic.json(element)}`);
159
161
  }
160
162
  return reader.readPrimitive(element.typeLength);
161
163
  case import_TlvCodec.TlvType.Array:
@@ -177,7 +179,7 @@ class AnySchema extends import_TlvSchema.TlvSchema {
177
179
  } = element;
178
180
  if (type === import_TlvCodec.TlvType.EndOfContainer) break;
179
181
  if (tag !== void 0 && !allowTag) {
180
- throw new import_general.UnexpectedDataError(`Tag detected : ${import_general.Logger.toJSON(element)}`);
182
+ throw new import_general.UnexpectedDataError(`Tag detected : ${import_general.Diagnostic.json(element)}`);
181
183
  }
182
184
  result.push(this.decodeGenericElement(reader, element, allowTag));
183
185
  }
@@ -193,7 +195,7 @@ class AnySchema extends import_TlvSchema.TlvSchema {
193
195
  } = element;
194
196
  if (type === import_TlvCodec.TlvType.EndOfContainer) break;
195
197
  if (tag === void 0 || tag.id === void 0) {
196
- throw new import_general.UnexpectedDataError(`Tag missing for a structure: ${import_general.Logger.toJSON(element)}`);
198
+ throw new import_general.UnexpectedDataError(`Tag missing for a structure: ${import_general.Diagnostic.json(element)}`);
197
199
  }
198
200
  result[tag.id] = this.decodeGenericElement(reader, element, true);
199
201
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/tlv/TlvAny.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -254,7 +254,7 @@ export declare namespace CommissionerControl {
254
254
  *
255
255
  * The generalized flow supported by the Commissioner Control Cluster can be seen in the following diagram.
256
256
  *
257
- * Figure 101. Commissioner Control Cluster - General Flow
257
+ * Figure 103. Commissioner Control Cluster - General Flow
258
258
  *
259
259
  * @see {@link MatterSpecification.v13.Core} § 11.26
260
260
  */
@@ -5,6 +5,7 @@
5
5
  */
6
6
  /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
7
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
8
+ import { FabricScopedAttribute } from "../cluster/Cluster.js";
8
9
  import { TypeFromSchema } from "../tlv/TlvSchema.js";
9
10
  import { Identity } from "#general";
10
11
  export declare namespace EcosystemInformation {
@@ -129,6 +130,11 @@ export declare namespace EcosystemInformation {
129
130
  floorNumber: import("../tlv/TlvObject.js").FieldType<number | null>;
130
131
  areaType: import("../tlv/TlvObject.js").FieldType<number | null>;
131
132
  }>>;
133
+ /**
134
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
135
+ *
136
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
137
+ */
132
138
  locationDescriptorLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
133
139
  fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
134
140
  }>;
@@ -144,6 +150,147 @@ export declare namespace EcosystemInformation {
144
150
  readonly id: 1872;
145
151
  readonly name: "EcosystemInformation";
146
152
  readonly revision: 1;
153
+ readonly attributes: {
154
+ /**
155
+ * This attribute shall contain the list of logical devices represented by a Bridged Node. Most of the time
156
+ * this will contain a single entry, but may grow with more complex device compositions (e.g. another
157
+ * bridge.)
158
+ *
159
+ * An empty list indicates that the information is not available.
160
+ *
161
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.1
162
+ */
163
+ readonly deviceDirectory: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
164
+ /**
165
+ * This field shall indicate the device’s name, which is provided externally if the user consents. (For example,
166
+ * provided by the user in an ecosystem specific interface.)
167
+ *
168
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.1
169
+ */
170
+ deviceName: import("../tlv/TlvObject.js").OptionalFieldType<string>;
171
+ /**
172
+ * This field shall be present and set if the DeviceName field is present.
173
+ *
174
+ * This field shall indicate the timestamp of when the DeviceName was last modified.
175
+ *
176
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.2
177
+ */
178
+ deviceNameLastEdit: import("../tlv/TlvObject.js").OptionalFieldType<number | bigint>;
179
+ /**
180
+ * This field shall indicate the endpoint this EcosystemDeviceStruct is associated with on this Bridge.
181
+ *
182
+ * This field shall be present and set to a valid endpoint if the device is accessible through the bridge.
183
+ *
184
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.3
185
+ */
186
+ bridgedEndpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
187
+ /**
188
+ * This field shall indicate the endpoint this EcosystemDeviceStruct is associated with on the original device
189
+ * represented by this bridge’s Bridged Node. If this bridge is receiving the device from another bridge, then
190
+ * the OriginalEndpoint field value would be the same on both bridges. This field shall be present and set to a
191
+ * valid endpoint on the original device if that device is a Matter device.
192
+ *
193
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.4
194
+ */
195
+ originalEndpoint: import("../tlv/TlvObject.js").OptionalFieldType<import("../datatype/EndpointNumber.js").EndpointNumber>;
196
+ /**
197
+ * This field shall indicate all of the DeviceTypes within the DeviceTypeList in the Descriptor Cluster
198
+ * associated with this EcosystemDeviceStruct entry.
199
+ *
200
+ * This field shall contain a list of valid device type ids.
201
+ *
202
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.5
203
+ */
204
+ deviceTypes: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
205
+ deviceType: import("../tlv/TlvObject.js").FieldType<import("../index.js").DeviceTypeId>;
206
+ revision: import("../tlv/TlvObject.js").FieldType<number>;
207
+ }>[]>;
208
+ /**
209
+ * This field shall specify the EcosystemLocationStruct entries in the LocationDirectory attribute associated
210
+ * with this EcosystemDeviceStruct.
211
+ *
212
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.6
213
+ */
214
+ uniqueLocationIDs: import("../tlv/TlvObject.js").FieldType<string[]>;
215
+ /**
216
+ * This field shall indicate the timestamp of when the UniqueLocationIDs was last modified.
217
+ *
218
+ * NOTE
219
+ *
220
+ * If multiple server instances update the UniqueLocationIDs field at the same time, it is possible one of the
221
+ * updates will be missed. This is considered an acceptable limitation to reduce the complexity of the design.
222
+ * Since this is meant to be provided from user input, it is unlikely these signals would be happening at one
223
+ * time.
224
+ *
225
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.1.7
226
+ */
227
+ uniqueLocationIDsLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
228
+ fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
229
+ }>[], any>;
230
+ /**
231
+ * This attribute shall contain the list of rooms, areas and groups associated with the DeviceDirectory
232
+ * entries, and shall NOT contain locations which are dynamically generated and removed by an ecosystem.
233
+ * (E.g. a location that is generated and removed based on the user being home is not permitted. However, an
234
+ * initially generated location name that does not quickly change is acceptable.)
235
+ *
236
+ * An empty list indicates that the information is not available.
237
+ *
238
+ * LocationDirectory entries shall be removed if there is no DeviceDirectory that references it.
239
+ *
240
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.2
241
+ */
242
+ readonly locationDirectory: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
243
+ /**
244
+ * This field shall indicate a unique identifier for a specific Ecosystem Information Cluster server instance
245
+ * representing the location independent of its LocationDescriptor field.
246
+ *
247
+ * UniqueLocationID can be used by the client to determine if the change is a relocation of the device or just a
248
+ * renaming of the location.
249
+ *
250
+ * No guarantees are given for consistency of the ID between server instances. The same location may be
251
+ * represented by different IDs on different Ecosystem Information Cluster server instances, so only the history
252
+ * from a single server instance should be considered when evaluating a change.
253
+ *
254
+ * UniqueLocationID shall be changed when the LocationDescriptor changes from one existing location to another
255
+ * location as a result of an external interaction. (For example, the user changes the location assignment.)
256
+ *
257
+ * UniqueLocationID shall NOT be changed when the LocationDescriptor changes name, but still represents the same
258
+ * location. (For example, the user renames a room.)
259
+ *
260
+ * UniqueLocationID shall be changed when LocationDescriptor changes as a result of another Ecosystem
261
+ * Information Cluster server instance changing and the UniqueLocationID on the remote server instance also
262
+ * changes.
263
+ *
264
+ * UniqueLocationID shall NOT be changed when LocationDescriptor changes as a result of another Ecosystem
265
+ * Information Cluster server instance changing and the UniqueLocationID on the remote server instance does not
266
+ * change.
267
+ *
268
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.1
269
+ */
270
+ uniqueLocationId: import("../tlv/TlvObject.js").FieldType<string>;
271
+ /**
272
+ * This field shall indicate the location (e.g. living room, driveway) and associated metadata that is provided
273
+ * externally if the user consents. (For example, provided by the user in an ecosystem specific interface.)
274
+ *
275
+ * "Location" in this context is typically used by the user’s grouping into rooms, areas or other logical
276
+ * groupings of how devices are used. So a device might be part of multiple such "Locations"s.
277
+ *
278
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.2
279
+ */
280
+ locationDescriptor: import("../tlv/TlvObject.js").FieldType<import("../tlv/TlvObject.js").TypeFromFields<{
281
+ locationName: import("../tlv/TlvObject.js").FieldType<string>;
282
+ floorNumber: import("../tlv/TlvObject.js").FieldType<number | null>;
283
+ areaType: import("../tlv/TlvObject.js").FieldType<number | null>;
284
+ }>>;
285
+ /**
286
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
287
+ *
288
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
289
+ */
290
+ locationDescriptorLastEdit: import("../tlv/TlvObject.js").FieldType<number | bigint>;
291
+ fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
292
+ }>[], any>;
293
+ };
147
294
  }, []>;
148
295
  /**
149
296
  * The Ecosystem Information Cluster provides extended device information for all the logical devices represented by
@@ -1 +1 @@
1
- {"version":3,"file":"ecosystem-information.d.ts","sourceRoot":"","sources":["../../../src/clusters/ecosystem-information.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAQvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,oBAAoB,CAAC;IAClC;;OAEG;IACI,MAAM,kBAAkB;QAC3B;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;WAOG;;;;;QAGH;;;;;WAKG;;QAGH;;;;;;;;;;;WAWG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,eAAgB,SAAQ,cAAc,CAAC,OAAO,kBAAkB,CAAC;KAAG;IAErF;;OAEG;IACI,MAAM,oBAAoB;QAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;;QAGH;;;;;;;;WAQG;;;;;;;;MAKL,CAAC;IAEH;;OAEG;IACH,UAAiB,iBAAkB,SAAQ,cAAc,CAAC,OAAO,oBAAoB,CAAC;KAAG;IAEzF;;OAEG;IACI,MAAM,eAAe;;;;UAA2E,CAAC;IAExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IACzC,MAAM,QAAQ,SAAU,CAAC;CACnC;AAED,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,OAAO,CAAC;AACvE,eAAO,MAAM,2BAA2B,8BAA+B,CAAC"}
1
+ {"version":3,"file":"ecosystem-information.d.ts","sourceRoot":"","sources":["../../../src/clusters/ecosystem-information.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAQ9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,yBAAiB,oBAAoB,CAAC;IAClC;;OAEG;IACI,MAAM,kBAAkB;QAC3B;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;WAOG;;QAGH;;;;;;;WAOG;;;;;QAGH;;;;;WAKG;;QAGH;;;;;;;;;;;WAWG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,eAAgB,SAAQ,cAAc,CAAC,OAAO,kBAAkB,CAAC;KAAG;IAErF;;OAEG;IACI,MAAM,oBAAoB;QAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;;QAGH;;;;;;;;WAQG;;;;;;QAGH;;;;WAIG;;;MAIL,CAAC;IAEH;;OAEG;IACH,UAAiB,iBAAkB,SAAQ,cAAc,CAAC,OAAO,oBAAoB,CAAC;KAAG;IAEzF;;OAEG;IACI,MAAM,eAAe;;;;;YAMpB;;;;;;;;eAQG;;gBAxJP;;;;;mBAKG;;gBAGH;;;;;;mBAMG;;gBAGH;;;;;;mBAMG;;gBAGH;;;;;;;mBAOG;;gBAGH;;;;;;;mBAOG;;;;;gBAGH;;;;;mBAKG;;gBAGH;;;;;;;;;;;mBAWG;;;;YA8FC;;;;;;;;;;;eAWG;;gBA1FP;;;;;;;;;;;;;;;;;;;;;;;;;;mBA0BG;;gBAGH;;;;;;;;mBAQG;;;;;;gBAGH;;;;mBAIG;;;;;UAqDL,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IACzC,MAAM,QAAQ,SAAU,CAAC;CACnC;AAED,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,OAAO,CAAC;AACvE,eAAO,MAAM,2BAA2B,8BAA+B,CAAC"}
@@ -4,13 +4,15 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
7
+ import { FabricScopedAttribute } from "../cluster/Cluster.js";
8
+ import { TlvArray } from "../tlv/TlvArray.js";
7
9
  import { TlvOptionalField, TlvField, TlvObject } from "../tlv/TlvObject.js";
8
10
  import { TlvString } from "../tlv/TlvString.js";
9
11
  import { TlvEpochUs } from "../tlv/TlvNumber.js";
10
12
  import { TlvEndpointNumber } from "../datatype/EndpointNumber.js";
11
- import { TlvArray } from "../tlv/TlvArray.js";
12
13
  import { Descriptor } from "./descriptor.js";
13
14
  import { TlvFabricIndex } from "../datatype/FabricIndex.js";
15
+ import { AccessLevel } from "#model";
14
16
  import { TlvLocationdesc } from "../globals/Locationdesc.js";
15
17
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
16
18
  var EcosystemInformation;
@@ -118,10 +120,52 @@ var EcosystemInformation;
118
120
  * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.2
119
121
  */
120
122
  locationDescriptor: TlvField(1, TlvLocationdesc),
123
+ /**
124
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
125
+ *
126
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
127
+ */
121
128
  locationDescriptorLastEdit: TlvField(2, TlvEpochUs),
122
129
  fabricIndex: TlvField(254, TlvFabricIndex)
123
130
  });
124
- EcosystemInformation2.ClusterInstance = MutableCluster({ id: 1872, name: "EcosystemInformation", revision: 1 });
131
+ EcosystemInformation2.ClusterInstance = MutableCluster({
132
+ id: 1872,
133
+ name: "EcosystemInformation",
134
+ revision: 1,
135
+ attributes: {
136
+ /**
137
+ * This attribute shall contain the list of logical devices represented by a Bridged Node. Most of the time
138
+ * this will contain a single entry, but may grow with more complex device compositions (e.g. another
139
+ * bridge.)
140
+ *
141
+ * An empty list indicates that the information is not available.
142
+ *
143
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.1
144
+ */
145
+ deviceDirectory: FabricScopedAttribute(
146
+ 0,
147
+ TlvArray(EcosystemInformation2.TlvEcosystemDevice),
148
+ { persistent: true, default: [], readAcl: AccessLevel.Manage, writeAcl: AccessLevel.Manage }
149
+ ),
150
+ /**
151
+ * This attribute shall contain the list of rooms, areas and groups associated with the DeviceDirectory
152
+ * entries, and shall NOT contain locations which are dynamically generated and removed by an ecosystem.
153
+ * (E.g. a location that is generated and removed based on the user being home is not permitted. However, an
154
+ * initially generated location name that does not quickly change is acceptable.)
155
+ *
156
+ * An empty list indicates that the information is not available.
157
+ *
158
+ * LocationDirectory entries shall be removed if there is no DeviceDirectory that references it.
159
+ *
160
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.2
161
+ */
162
+ locationDirectory: FabricScopedAttribute(
163
+ 1,
164
+ TlvArray(EcosystemInformation2.TlvEcosystemLocation),
165
+ { persistent: true, default: [], readAcl: AccessLevel.Manage, writeAcl: AccessLevel.Manage }
166
+ )
167
+ }
168
+ });
125
169
  EcosystemInformation2.Cluster = EcosystemInformation2.ClusterInstance;
126
170
  EcosystemInformation2.Complete = EcosystemInformation2.Cluster;
127
171
  })(EcosystemInformation || (EcosystemInformation = {}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/clusters/ecosystem-information.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB,UAAU,iBAAiB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAE/B,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAEzB,IAAU;AAAA,CAAV,CAAUA,0BAAV;AAII,EAAMA,sBAAA,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOxC,YAAY,iBAAiB,GAAG,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlE,oBAAoB,iBAAiB,GAAG,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,iBAAiB,iBAAiB,GAAG,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtD,kBAAkB,iBAAiB,GAAG,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUvD,aAAa,SAAS,GAAG,SAAS,WAAW,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3D,mBAAmB,SAAS,GAAG,SAAS,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcrE,2BAA2B,SAAS,GAAG,UAAU;AAAA,IAEjD,aAAa,SAAS,KAAK,cAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,uBAAuB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4B1C,kBAAkB,SAAS,GAAG,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWhE,oBAAoB,SAAS,GAAG,eAAe;AAAA,IAE/C,4BAA4B,SAAS,GAAG,UAAU;AAAA,IAClD,aAAa,SAAS,KAAK,cAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,kBAAkB,eAAe,EAAE,IAAI,MAAO,MAAM,wBAAwB,UAAU,EAAE,CAAC;AAmC/F,EAAMA,sBAAA,UAAmBA,sBAAA;AACzB,EAAMA,sBAAA,WAAWA,sBAAA;AAAA,GA7KX;AAiLV,MAAM,8BAA8B,qBAAqB;AAChE,gBAAgB,SAAS,qBAAqB,QAAQ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,sBAAsB;AAC/B,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AACzB,SAAS,kBAAkB,UAAU,iBAAiB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAEzB,IAAU;AAAA,CAAV,CAAUA,0BAAV;AAII,EAAMA,sBAAA,qBAAqB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOxC,YAAY,iBAAiB,GAAG,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlE,oBAAoB,iBAAiB,GAAG,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASlD,iBAAiB,iBAAiB,GAAG,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUtD,kBAAkB,iBAAiB,GAAG,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUvD,aAAa,SAAS,GAAG,SAAS,WAAW,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ3D,mBAAmB,SAAS,GAAG,SAAS,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcrE,2BAA2B,SAAS,GAAG,UAAU;AAAA,IAEjD,aAAa,SAAS,KAAK,cAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,uBAAuB,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4B1C,kBAAkB,SAAS,GAAG,UAAU,MAAM,EAAE,WAAW,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWhE,oBAAoB,SAAS,GAAG,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAO/C,4BAA4B,SAAS,GAAG,UAAU;AAAA,IAElD,aAAa,SAAS,KAAK,cAAc;AAAA,EAC7C,CAAC;AAUM,EAAMA,sBAAA,kBAAkB,eAAe;AAAA,IAC1C,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,IAEV,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAUR,iBAAiB;AAAA,QACb;AAAA,QACA,SAASA,sBAAA,kBAAkB;AAAA,QAC3B,EAAE,YAAY,MAAM,SAAS,CAAC,GAAG,SAAS,YAAY,QAAQ,UAAU,YAAY,OAAO;AAAA,MAC/F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAcA,mBAAmB;AAAA,QACf;AAAA,QACA,SAASA,sBAAA,oBAAoB;AAAA,QAC7B,EAAE,YAAY,MAAM,SAAS,CAAC,GAAG,SAAS,YAAY,QAAQ,UAAU,YAAY,OAAO;AAAA,MAC/F;AAAA,IACJ;AAAA,EACJ,CAAC;AAmCM,EAAMA,sBAAA,UAAmBA,sBAAA;AACzB,EAAMA,sBAAA,WAAWA,sBAAA;AAAA,GA1NX;AA8NV,MAAM,8BAA8B,qBAAqB;AAChE,gBAAgB,SAAS,qBAAqB,QAAQ;",
5
5
  "names": ["EcosystemInformation"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TlvAny.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvAny.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExG,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/C,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAyBzC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IA4BtF,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,SAAS;IAIxF,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzF,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAe7C,kBAAkB,CAAC,OAAO,EAAE,SAAS;IAarC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,UAAQ;IA6B/F,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,UAAQ;IAiBjE,sBAAsB,CAAC,MAAM,EAAE,cAAc;;;CAgBhD;AAED,eAAO,MAAM,MAAM,WAAkB,CAAC"}
1
+ {"version":3,"file":"TlvAny.d.ts","sourceRoot":"","sources":["../../../src/tlv/TlvAny.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAY,MAAM,EAAW,aAAa,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAExG,qBAAa,SAAU,SAAQ,SAAS,CAAC,SAAS,CAAC;IAC/C,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAyBzC,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IA4BtF,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,GAAG,SAAS;IAIxF,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzF,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAe7C,kBAAkB,CAAC,OAAO,EAAE,SAAS;IAerC,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,QAAQ,UAAQ;IA6B/F,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,UAAQ;IAiBjE,sBAAsB,CAAC,MAAM,EAAE,cAAc;;;CAgBhD;AAED,eAAO,MAAM,MAAM,WAAkB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Logger, UnexpectedDataError } from "#general";
6
+ import { Diagnostic, UnexpectedDataError } from "#general";
7
7
  import { ValidationDatatypeMismatchError } from "../common/ValidationError.js";
8
8
  import { TlvCodec, TlvType } from "./TlvCodec.js";
9
9
  import { TlvArrayReader, TlvSchema } from "./TlvSchema.js";
@@ -112,7 +112,9 @@ class AnySchema extends TlvSchema {
112
112
  const result = this.decodeGenericElement(reader);
113
113
  const nextElement = reader.readTagType();
114
114
  if (nextElement !== void 0) {
115
- throw new UnexpectedDataError(`Unexpected data left after parsing all data: ${Logger.toJSON(nextElement)}`);
115
+ throw new UnexpectedDataError(
116
+ `Unexpected data left after parsing all data: ${Diagnostic.json(nextElement)}`
117
+ );
116
118
  }
117
119
  return result;
118
120
  }
@@ -131,7 +133,7 @@ class AnySchema extends TlvSchema {
131
133
  case TlvType.Utf8String:
132
134
  case TlvType.ByteString:
133
135
  if (tag !== void 0 && !allowTag) {
134
- throw new UnexpectedDataError(`Tag detected for a native type: ${Logger.toJSON(element)}`);
136
+ throw new UnexpectedDataError(`Tag detected for a native type: ${Diagnostic.json(element)}`);
135
137
  }
136
138
  return reader.readPrimitive(element.typeLength);
137
139
  case TlvType.Array:
@@ -153,7 +155,7 @@ class AnySchema extends TlvSchema {
153
155
  } = element;
154
156
  if (type === TlvType.EndOfContainer) break;
155
157
  if (tag !== void 0 && !allowTag) {
156
- throw new UnexpectedDataError(`Tag detected : ${Logger.toJSON(element)}`);
158
+ throw new UnexpectedDataError(`Tag detected : ${Diagnostic.json(element)}`);
157
159
  }
158
160
  result.push(this.decodeGenericElement(reader, element, allowTag));
159
161
  }
@@ -169,7 +171,7 @@ class AnySchema extends TlvSchema {
169
171
  } = element;
170
172
  if (type === TlvType.EndOfContainer) break;
171
173
  if (tag === void 0 || tag.id === void 0) {
172
- throw new UnexpectedDataError(`Tag missing for a structure: ${Logger.toJSON(element)}`);
174
+ throw new UnexpectedDataError(`Tag missing for a structure: ${Diagnostic.json(element)}`);
173
175
  }
174
176
  result[tag.id] = this.decodeGenericElement(reader, element, true);
175
177
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/tlv/TlvAny.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/types",
3
- "version": "0.13.0-alpha.0-20250322-f085fa576",
3
+ "version": "0.13.0-alpha.0-20250323-770919c6a",
4
4
  "description": "Definitions for Matter application",
5
5
  "keywords": [
6
6
  "iot",
@@ -33,13 +33,13 @@
33
33
  "embed-examples": "embedme **/README.md"
34
34
  },
35
35
  "dependencies": {
36
- "@matter/general": "0.13.0-alpha.0-20250322-f085fa576",
37
- "@matter/model": "0.13.0-alpha.0-20250322-f085fa576",
36
+ "@matter/general": "0.13.0-alpha.0-20250323-770919c6a",
37
+ "@matter/model": "0.13.0-alpha.0-20250323-770919c6a",
38
38
  "@noble/curves": "^1.8.1"
39
39
  },
40
40
  "devDependencies": {
41
- "@matter/tools": "0.13.0-alpha.0-20250322-f085fa576",
42
- "@matter/testing": "0.13.0-alpha.0-20250322-f085fa576"
41
+ "@matter/tools": "0.13.0-alpha.0-20250323-770919c6a",
42
+ "@matter/testing": "0.13.0-alpha.0-20250323-770919c6a"
43
43
  },
44
44
  "files": [
45
45
  "dist/**/*",
@@ -267,7 +267,7 @@ export namespace CommissionerControl {
267
267
  *
268
268
  * The generalized flow supported by the Commissioner Control Cluster can be seen in the following diagram.
269
269
  *
270
- * Figure 101. Commissioner Control Cluster - General Flow
270
+ * Figure 103. Commissioner Control Cluster - General Flow
271
271
  *
272
272
  * @see {@link MatterSpecification.v13.Core} § 11.26
273
273
  */
@@ -7,14 +7,16 @@
7
7
  /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
8
8
 
9
9
  import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
10
+ import { FabricScopedAttribute } from "../cluster/Cluster.js";
11
+ import { TlvArray } from "../tlv/TlvArray.js";
10
12
  import { TlvOptionalField, TlvField, TlvObject } from "../tlv/TlvObject.js";
11
13
  import { TlvString } from "../tlv/TlvString.js";
12
14
  import { TlvEpochUs } from "../tlv/TlvNumber.js";
13
15
  import { TlvEndpointNumber } from "../datatype/EndpointNumber.js";
14
- import { TlvArray } from "../tlv/TlvArray.js";
15
16
  import { Descriptor } from "./descriptor.js";
16
17
  import { TlvFabricIndex } from "../datatype/FabricIndex.js";
17
18
  import { TypeFromSchema } from "../tlv/TlvSchema.js";
19
+ import { AccessLevel } from "#model";
18
20
  import { TlvLocationdesc } from "../globals/Locationdesc.js";
19
21
  import { Identity } from "#general";
20
22
  import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
@@ -144,7 +146,13 @@ export namespace EcosystemInformation {
144
146
  */
145
147
  locationDescriptor: TlvField(1, TlvLocationdesc),
146
148
 
149
+ /**
150
+ * This field shall indicate the timestamp of when the LocationDescriptor was last modified.
151
+ *
152
+ * @see {@link MatterSpecification.v13.Core} § 9.18.4.2.3
153
+ */
147
154
  locationDescriptorLastEdit: TlvField(2, TlvEpochUs),
155
+
148
156
  fabricIndex: TlvField(254, TlvFabricIndex)
149
157
  });
150
158
 
@@ -156,7 +164,46 @@ export namespace EcosystemInformation {
156
164
  /**
157
165
  * @see {@link Cluster}
158
166
  */
159
- export const ClusterInstance = MutableCluster({ id: 0x750, name: "EcosystemInformation", revision: 1 });
167
+ export const ClusterInstance = MutableCluster({
168
+ id: 0x750,
169
+ name: "EcosystemInformation",
170
+ revision: 1,
171
+
172
+ attributes: {
173
+ /**
174
+ * This attribute shall contain the list of logical devices represented by a Bridged Node. Most of the time
175
+ * this will contain a single entry, but may grow with more complex device compositions (e.g. another
176
+ * bridge.)
177
+ *
178
+ * An empty list indicates that the information is not available.
179
+ *
180
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.1
181
+ */
182
+ deviceDirectory: FabricScopedAttribute(
183
+ 0x0,
184
+ TlvArray(TlvEcosystemDevice),
185
+ { persistent: true, default: [], readAcl: AccessLevel.Manage, writeAcl: AccessLevel.Manage }
186
+ ),
187
+
188
+ /**
189
+ * This attribute shall contain the list of rooms, areas and groups associated with the DeviceDirectory
190
+ * entries, and shall NOT contain locations which are dynamically generated and removed by an ecosystem.
191
+ * (E.g. a location that is generated and removed based on the user being home is not permitted. However, an
192
+ * initially generated location name that does not quickly change is acceptable.)
193
+ *
194
+ * An empty list indicates that the information is not available.
195
+ *
196
+ * LocationDirectory entries shall be removed if there is no DeviceDirectory that references it.
197
+ *
198
+ * @see {@link MatterSpecification.v13.Core} § 9.18.5.2
199
+ */
200
+ locationDirectory: FabricScopedAttribute(
201
+ 0x1,
202
+ TlvArray(TlvEcosystemLocation),
203
+ { persistent: true, default: [], readAcl: AccessLevel.Manage, writeAcl: AccessLevel.Manage }
204
+ )
205
+ }
206
+ });
160
207
 
161
208
  /**
162
209
  * The Ecosystem Information Cluster provides extended device information for all the logical devices represented by
package/src/tlv/TlvAny.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- import { Logger, UnexpectedDataError } from "#general";
7
+ import { Diagnostic, UnexpectedDataError } from "#general";
8
8
  import { ValidationDatatypeMismatchError } from "../common/ValidationError.js";
9
9
  import { TlvCodec, TlvTag, TlvType, TlvTypeLength } from "./TlvCodec.js";
10
10
  import { TlvArrayReader, TlvElement, TlvReader, TlvSchema, TlvStream, TlvWriter } from "./TlvSchema.js";
@@ -120,7 +120,9 @@ export class AnySchema extends TlvSchema<TlvStream> {
120
120
  const result = this.decodeGenericElement(reader);
121
121
  const nextElement = reader.readTagType();
122
122
  if (nextElement !== undefined) {
123
- throw new UnexpectedDataError(`Unexpected data left after parsing all data: ${Logger.toJSON(nextElement)}`);
123
+ throw new UnexpectedDataError(
124
+ `Unexpected data left after parsing all data: ${Diagnostic.json(nextElement)}`,
125
+ );
124
126
  }
125
127
  return result;
126
128
  }
@@ -141,7 +143,7 @@ export class AnySchema extends TlvSchema<TlvStream> {
141
143
  case TlvType.Utf8String:
142
144
  case TlvType.ByteString:
143
145
  if (tag !== undefined && !allowTag) {
144
- throw new UnexpectedDataError(`Tag detected for a native type: ${Logger.toJSON(element)}`);
146
+ throw new UnexpectedDataError(`Tag detected for a native type: ${Diagnostic.json(element)}`);
145
147
  }
146
148
  return reader.readPrimitive(element.typeLength);
147
149
  case TlvType.Array:
@@ -164,7 +166,7 @@ export class AnySchema extends TlvSchema<TlvStream> {
164
166
  } = element;
165
167
  if (type === TlvType.EndOfContainer) break;
166
168
  if (tag !== undefined && !allowTag) {
167
- throw new UnexpectedDataError(`Tag detected : ${Logger.toJSON(element)}`);
169
+ throw new UnexpectedDataError(`Tag detected : ${Diagnostic.json(element)}`);
168
170
  }
169
171
  result.push(this.decodeGenericElement(reader, element, allowTag));
170
172
  }
@@ -181,7 +183,7 @@ export class AnySchema extends TlvSchema<TlvStream> {
181
183
  } = element;
182
184
  if (type === TlvType.EndOfContainer) break;
183
185
  if (tag === undefined || tag.id === undefined) {
184
- throw new UnexpectedDataError(`Tag missing for a structure: ${Logger.toJSON(element)}`);
186
+ throw new UnexpectedDataError(`Tag missing for a structure: ${Diagnostic.json(element)}`);
185
187
  }
186
188
  result[tag.id] = this.decodeGenericElement(reader, element, true);
187
189
  }