@matter/types 0.15.0-alpha.0-20250620-16e218ed3 → 0.15.0-alpha.0-20250624-e8c89f458

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 (82) hide show
  1. package/dist/cjs/dcl/attestation-certificate.d.ts +99 -0
  2. package/dist/cjs/dcl/attestation-certificate.d.ts.map +1 -0
  3. package/dist/cjs/dcl/attestation-certificate.js +22 -0
  4. package/dist/cjs/dcl/attestation-certificate.js.map +6 -0
  5. package/dist/cjs/dcl/device-attestation-revocation.d.ts +135 -0
  6. package/dist/cjs/dcl/device-attestation-revocation.d.ts.map +1 -0
  7. package/dist/cjs/dcl/device-attestation-revocation.js +33 -0
  8. package/dist/cjs/dcl/device-attestation-revocation.js.map +6 -0
  9. package/dist/cjs/dcl/device-software-compliance.d.ts +96 -0
  10. package/dist/cjs/dcl/device-software-compliance.d.ts.map +1 -0
  11. package/dist/cjs/dcl/device-software-compliance.js +36 -0
  12. package/dist/cjs/dcl/device-software-compliance.js.map +6 -0
  13. package/dist/cjs/dcl/device-software-version.d.ts +127 -0
  14. package/dist/cjs/dcl/device-software-version.d.ts.map +1 -0
  15. package/dist/cjs/dcl/device-software-version.js +22 -0
  16. package/dist/cjs/dcl/device-software-version.js.map +6 -0
  17. package/dist/cjs/dcl/device.d.ts +217 -0
  18. package/dist/cjs/dcl/device.d.ts.map +1 -0
  19. package/dist/cjs/dcl/device.js +22 -0
  20. package/dist/cjs/dcl/device.js.map +6 -0
  21. package/dist/cjs/dcl/index.d.ts +13 -0
  22. package/dist/cjs/dcl/index.d.ts.map +1 -0
  23. package/dist/cjs/dcl/index.js +30 -0
  24. package/dist/cjs/dcl/index.js.map +6 -0
  25. package/dist/cjs/dcl/operational-certificate.d.ts +79 -0
  26. package/dist/cjs/dcl/operational-certificate.d.ts.map +1 -0
  27. package/dist/cjs/dcl/operational-certificate.js +22 -0
  28. package/dist/cjs/dcl/operational-certificate.js.map +6 -0
  29. package/dist/cjs/dcl/vendor.d.ts +47 -0
  30. package/dist/cjs/dcl/vendor.d.ts.map +1 -0
  31. package/dist/cjs/dcl/vendor.js +22 -0
  32. package/dist/cjs/dcl/vendor.js.map +6 -0
  33. package/dist/cjs/index.d.ts +1 -0
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +1 -0
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/esm/dcl/attestation-certificate.d.ts +99 -0
  38. package/dist/esm/dcl/attestation-certificate.d.ts.map +1 -0
  39. package/dist/esm/dcl/attestation-certificate.js +6 -0
  40. package/dist/esm/dcl/attestation-certificate.js.map +6 -0
  41. package/dist/esm/dcl/device-attestation-revocation.d.ts +135 -0
  42. package/dist/esm/dcl/device-attestation-revocation.d.ts.map +1 -0
  43. package/dist/esm/dcl/device-attestation-revocation.js +13 -0
  44. package/dist/esm/dcl/device-attestation-revocation.js.map +6 -0
  45. package/dist/esm/dcl/device-software-compliance.d.ts +96 -0
  46. package/dist/esm/dcl/device-software-compliance.d.ts.map +1 -0
  47. package/dist/esm/dcl/device-software-compliance.js +16 -0
  48. package/dist/esm/dcl/device-software-compliance.js.map +6 -0
  49. package/dist/esm/dcl/device-software-version.d.ts +127 -0
  50. package/dist/esm/dcl/device-software-version.d.ts.map +1 -0
  51. package/dist/esm/dcl/device-software-version.js +6 -0
  52. package/dist/esm/dcl/device-software-version.js.map +6 -0
  53. package/dist/esm/dcl/device.d.ts +217 -0
  54. package/dist/esm/dcl/device.d.ts.map +1 -0
  55. package/dist/esm/dcl/device.js +6 -0
  56. package/dist/esm/dcl/device.js.map +6 -0
  57. package/dist/esm/dcl/index.d.ts +13 -0
  58. package/dist/esm/dcl/index.d.ts.map +1 -0
  59. package/dist/esm/dcl/index.js +13 -0
  60. package/dist/esm/dcl/index.js.map +6 -0
  61. package/dist/esm/dcl/operational-certificate.d.ts +79 -0
  62. package/dist/esm/dcl/operational-certificate.d.ts.map +1 -0
  63. package/dist/esm/dcl/operational-certificate.js +6 -0
  64. package/dist/esm/dcl/operational-certificate.js.map +6 -0
  65. package/dist/esm/dcl/vendor.d.ts +47 -0
  66. package/dist/esm/dcl/vendor.d.ts.map +1 -0
  67. package/dist/esm/dcl/vendor.js +6 -0
  68. package/dist/esm/dcl/vendor.js.map +6 -0
  69. package/dist/esm/index.d.ts +1 -0
  70. package/dist/esm/index.d.ts.map +1 -1
  71. package/dist/esm/index.js +1 -0
  72. package/dist/esm/index.js.map +1 -1
  73. package/package.json +5 -5
  74. package/src/dcl/attestation-certificate.ts +114 -0
  75. package/src/dcl/device-attestation-revocation.ts +149 -0
  76. package/src/dcl/device-software-compliance.ts +108 -0
  77. package/src/dcl/device-software-version.ts +143 -0
  78. package/src/dcl/device.ts +243 -0
  79. package/src/dcl/index.ts +13 -0
  80. package/src/dcl/operational-certificate.ts +90 -0
  81. package/src/dcl/vendor.ts +53 -0
  82. package/src/index.ts +1 -0
@@ -0,0 +1,217 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { DeviceTypeId } from "../datatype/DeviceTypeId.js";
7
+ import { VendorId } from "../datatype/VendorId.js";
8
+ /**
9
+ * DeviceModel Schema
10
+ * @see {@link MatterSpecification.v141.Core} § 11.23.6.
11
+ * DCL endpoint:
12
+ * * /dcl/model/models
13
+ * * /dcl/model/models/{vid}
14
+ * * /dcl/model/models/{vid}/{pid}
15
+ */
16
+ export interface DeviceModelDclSchema {
17
+ /**
18
+ * This field SHALL identify the vendor of the product by its Vendor ID and SHALL match the VendorID
19
+ * field in the Basic Information Cluster of a device running the software referenced by this
20
+ * DeviceModel/DeviceSoftwareVersionModel record.
21
+ */
22
+ vid: VendorId;
23
+ /**
24
+ * This field SHALL identify the Product ID of the product instance to which a certification declaration,
25
+ * and thus a DCL entry, applies. This field SHALL match the ProductID field in the Basic Information
26
+ * Cluster of a device running the software referenced by this DeviceModel/DeviceSoftwareVersionModel
27
+ * record.
28
+ */
29
+ pid: number;
30
+ /**
31
+ * DeviceTypeID is the Primary Device Type identifier for the device. For example, DeviceTypeID is 10
32
+ * (0x000A), which is the device type identifier for a Door Lock.
33
+ */
34
+ deviceTypeID: DeviceTypeId;
35
+ /**
36
+ * This field SHOULD match the ProductName field in the Basic Information Cluster of a device running
37
+ * the software referenced by this DeviceModel record.
38
+ */
39
+ productName: string;
40
+ /**
41
+ * This field SHOULD match the ProductLabel field in the Basic Information Cluster of a device running
42
+ * the software referenced by this DeviceModel record.
43
+ */
44
+ productLabel: string;
45
+ /**
46
+ * This field SHALL match the PartNumber field in the Basic Information Cluster of a device running the
47
+ * software referenced by this DeviceModel record.
48
+ * Multiple products (and hence PartNumbers) can share a ProductID. For instance, there may be different
49
+ * packaging (with different PartNumbers) for different regions; also different colors of a product
50
+ * might share the ProductID but may have a different PartNumber. In such cases, the choice of a
51
+ * single PartNumber out of the available set of PartNumbers using this ProductID SHALL be used to
52
+ * populate this field.
53
+ */
54
+ partNumber: string;
55
+ /**
56
+ * This field SHALL identify the device’s available technologies for device discovery which SHALL be
57
+ * encoded as defined in Table 40, “Discovery Capabilities Bitmask”. This field SHALL match the Table
58
+ * 40, “Discovery Capabilities Bitmask” provided in the Section 5.1.3, “QR Code” (if a QR-code is provided
59
+ * on or with the product). This field SHALL be populated if the CommissioningFallbackUrl is
60
+ * populated, and SHOULD be populated for all other products.
61
+ */
62
+ discoveryCapabilitiesBitmask: number;
63
+ /**
64
+ * This field SHALL identify the device’s commissioning flow with encoding as described in Custom
65
+ * Flow.
66
+ */
67
+ commissioningCustomFlow: number;
68
+ /**
69
+ * This field SHALL identify a vendor-specific commissioning URL for the device model when the
70
+ * CommissioningCustomFlow field is set to '2', and MAY be set for other values of CommissioningCustomFlow.
71
+ * See Custom Commissioning Flow section for how this URL is used. During the lifetime of
72
+ * the product, the specified URL SHOULD resolve to a maintained web page. The syntax of this field
73
+ * SHALL follow the syntax as specified in RFC 1738 and SHALL use the https scheme. The maximum
74
+ * length of this field is 256 ASCII characters.
75
+ */
76
+ commissioningCustomFlowUrl?: string;
77
+ /**
78
+ * This field SHALL identify a hint for the steps that MAY be used to put a device that has not yet been
79
+ * commissioned into commissioning mode. This field is a bitmap with values defined in the Pairing
80
+ * Hint Table. For example, a value of 1 (bit 0 is set) indicates that a device that has not yet been commissioned
81
+ * will enter Commissioning Mode upon a power cycle.
82
+ * Devices that implement Extended Discovery SHALL reflect this value in the Pairing Hint field of
83
+ * Commissionable Node Discovery when they have not yet been commissioned.
84
+ */
85
+ commissioningModeInitialStepsHint: number;
86
+ /**
87
+ * This field SHALL be populated with the appropriate Pairing Instruction for those values of
88
+ * CommissioningModeInitialStepsHint, for which the Pairing Hint Table indicates a Pairing Instruction (PI)
89
+ * dependency.
90
+ * Devices that implement Extended Discovery SHALL reflect this value in the Pairing Instruction field
91
+ * of Commissionable Node Discovery when they have not yet been commissioned.
92
+ */
93
+ commissioningModeInitialStepsInstruction?: string;
94
+ /**
95
+ * This field SHALL identify a hint for the steps that MAY be used to put a device that has already been
96
+ * commissioned into commissioning mode. This field is a bitmap with values defined in the Pairing
97
+ * Hint Table. At least bit 2 SHALL be set, to indicate that a current Administrator can be used to put a
98
+ * device that has already been commissioned into commissioning mode (see Section 5.6.3, “Enhanced
99
+ * Commissioning Method (ECM)”). Devices which implement additional mechanisms to put a device
100
+ * that has already been commissioned into commissioning mode SHALL reflect these mechanism by
101
+ * setting the corresponding bits in this field.
102
+ * Devices that implement Extended Discovery SHALL reflect this value in the Pairing Hint field of
103
+ * Commissionable Node Discovery when they have already been commissioned.
104
+ */
105
+ commissioningModeSecondaryStepsHint: number;
106
+ /**
107
+ * This field SHALL be populated with the appropriate Pairing Instruction for those values of
108
+ * CommissioningModeSecondaryStepsHint, for which the Pairing Hint Table indicates a Pairing Instruction
109
+ * (PI) dependency.
110
+ * Devices that implement Extended Discovery SHALL reflect this value in the Pairing Instruction field
111
+ * of Commissionable Node Discovery when they have already been commissioned.
112
+ */
113
+ commissioningModeSecondaryStepsInstruction?: string;
114
+ /**
115
+ * This field SHALL identify a vendor-specific commissioning-fallback URL for the device model,
116
+ * which can be used by a Commissioner in case commissioning fails to direct the user to a manufacturer-provided
117
+ * mechanism to provide resolution to commissioning issues. See Commissioning Fallback
118
+ * section for how this URL is used.
119
+ * During the lifetime of the product, the specified URL SHOULD resolve to a maintained web page.
120
+ * The syntax of this field SHALL follow the syntax as specified in RFC 1738 and SHALL use the https
121
+ * scheme. The maximum length of this field is 256 ASCII characters.
122
+ */
123
+ commissioningFallbackUrl?: string;
124
+ /**
125
+ * This field (when provided) SHALL identify a product-specific web page containing a user manual
126
+ * for the device model. During the lifetime of the product, the specified URL SHOULD resolve to a
127
+ * maintained web page. The syntax of this field SHALL follow the syntax as specified in RFC 1738 and
128
+ * SHALL use the https scheme. The maximum length of this field is 256 ASCII characters.
129
+ */
130
+ userManualUrl?: string;
131
+ /**
132
+ * This field (when provided) SHALL identify a product specific support web page. During the lifetime
133
+ * of the product, the specified URL SHOULD resolve to a maintained web page. The syntax of this
134
+ * field SHALL follow the syntax as specified in RFC 1738 and SHALL use the https scheme. The maximum
135
+ * length of this field is 256 ASCII characters.
136
+ */
137
+ supportUrl?: string;
138
+ /**
139
+ * This field (when provided) SHALL identify a link to a product specific web page. This field SHALL
140
+ * match the ProductURL field in the Basic Information Cluster of a device running the software referenced
141
+ * by this DeviceModel record. During the lifetime of the product, the specified URL SHOULD resolve to a
142
+ * maintained web page. The syntax of this field SHALL follow the syntax as specified in
143
+ * RFC 1738 and SHALL use the https scheme. The maximum length of this field is 256 ASCII characters.
144
+ */
145
+ productUrl?: string;
146
+ /**
147
+ * This field (when provided) SHALL identify a link to the Localized String File of this product. This
148
+ * field SHALL NOT have a localized string identifier. During the lifetime of the product, the specified
149
+ * URL SHOULD resolve to a maintained Localized String File. The syntax of this field SHALL follow
150
+ * the syntax as specified in RFC 1738 and SHALL use the https scheme. The maximum length of this
151
+ * field is 256 ASCII characters.
152
+ */
153
+ lsfUrl?: string;
154
+ /**
155
+ * LsfRevision is a monotonically increasing positive integer indicating the latest available version of
156
+ * Localized String File. Any client can use this field to check whether it has the latest version of the
157
+ * Localized String File cached. When the first version of the Localized String File is published, the
158
+ * value of this field SHOULD be 1. When a new revision of the Localized String File is published, this
159
+ * value SHALL monotonically increase by 1. When a client of this information finds this to be greater
160
+ * than its currently stored LSF revision number, it SHOULD download the latest version of the LSF
161
+ * from the LsfUrl, and update its local value of this field.
162
+ * This field SHALL be provided if and only if when LsfUrl is provided.
163
+ */
164
+ lsfRevision?: number;
165
+ /**
166
+ * This field SHALL identify the configuration options for the Enhanced Setup Flow. This field is a
167
+ * bitmap with values defined in Enhanced Setup Flow Options Table.
168
+ */
169
+ enhancedSetupFlowOptions?: number;
170
+ /**
171
+ * This field (when provided) SHALL identify a link to the Enhanced Setup Flow Terms and Condition
172
+ * File for this product. During the lifetime of the product, the specified URL SHOULD resolve to a
173
+ * maintained Terms and Conditions File. The syntax of this field SHALL follow the syntax as specified
174
+ * in RFC 1738. The maximum length of this field is 256 ASCII characters. All URLs SHALL use the
175
+ * https scheme. This field SHALL be present if and only if the EnhancedSetupFlowOptions field has
176
+ * bit 0 set.
177
+ */
178
+ enhancedSetupFlowTCUrl?: string;
179
+ /**
180
+ * This field (when provided) is an increasing positive integer indicating the latest available version of
181
+ * the Enhanced Setup Flow Terms and Conditions file. When a new revision of the File is published,
182
+ * this value SHALL increase (and SHOULD increase by 1). This field SHALL be present if and only if
183
+ * the EnhancedSetupFlowOptions field has bit 0 set.
184
+ */
185
+ enhancedSetupFlowTCRevision?: number;
186
+ /**
187
+ * This field (when provided) SHALL contain the digest of the entire contents of the associated file
188
+ * downloaded from the EnhancedSetupFlowTCUrl field, encoded in base64 string representation and
189
+ * SHALL be used to ensure the contents of the downloaded file are authentic. The digest SHALL have
190
+ * been computed using the SHA-256 digest algorithm. This field SHALL be present if and only if the
191
+ * EnhancedSetupFlowOptions field has bit 0 set.
192
+ */
193
+ enhancedSetupFlowTCDigest?: string;
194
+ /**
195
+ * This field (when provided) SHALL indicate the total size of the Enhanced Setup Flow Terms and
196
+ * Conditions file in bytes, and SHALL be used to ensure the downloaded file size is within the bounds
197
+ * of EnhancedSetupFlowTCFileSize. This field SHALL be provided if and only if the EnhancedSetupFlowTCUrl
198
+ * field is present.
199
+ */
200
+ enhancedSetupFlowTCFileSize?: number;
201
+ /**
202
+ * This field (when provided) SHALL identify a link to a vendor-specific URL which SHALL provide a
203
+ * manufacturer specific means to resolve any functionality limitations indicated by the
204
+ * TERMS_AND_CONDITIONS_CHANGED status code. This field SHALL be present if the EnhancedSetupFlowOptions
205
+ * field has bit 0 set. During the lifetime of the product, the specified URL SHOULD
206
+ * resolve to a maintained web page. The syntax of this field SHALL follow the syntax as specified in
207
+ * RFC 1738. The maximum length of this field is 256 ASCII characters. All URLs SHALL use the https
208
+ * scheme.
209
+ */
210
+ enhancedSetupFlowMaintenanceUrl?: string;
211
+ /**
212
+ * The SchemaVersion field value history for this schema is provided below:
213
+ * * 0: Initial Release
214
+ */
215
+ schemaVersion: number;
216
+ }
217
+ //# sourceMappingURL=device.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/dcl/device.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACjC;;;;OAIG;IACH,GAAG,EAAE,QAAQ,CAAC;IAEd;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,YAAY,EAAE,YAAY,CAAC;IAE3B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,4BAA4B,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,uBAAuB,EAAE,MAAM,CAAC;IAEhC;;;;;;;OAOG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC;;;;;;;OAOG;IACH,iCAAiC,EAAE,MAAM,CAAC;IAE1C;;;;;;OAMG;IACH,wCAAwC,CAAC,EAAE,MAAM,CAAC;IAElD;;;;;;;;;;OAUG;IACH,mCAAmC,EAAE,MAAM,CAAC;IAE5C;;;;;;OAMG;IACH,0CAA0C,CAAC,EAAE,MAAM,CAAC;IAEpD;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;;;;;;;OAQG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var device_exports = {};
16
+ module.exports = __toCommonJS(device_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=device.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/dcl/device.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./attestation-certificate.js";
7
+ export * from "./device-attestation-revocation.js";
8
+ export * from "./device-software-compliance.js";
9
+ export * from "./device-software-version.js";
10
+ export * from "./device.js";
11
+ export * from "./operational-certificate.js";
12
+ export * from "./vendor.js";
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dcl/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,aAAa,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var dcl_exports = {};
17
+ module.exports = __toCommonJS(dcl_exports);
18
+ __reExport(dcl_exports, require("./attestation-certificate.js"), module.exports);
19
+ __reExport(dcl_exports, require("./device-attestation-revocation.js"), module.exports);
20
+ __reExport(dcl_exports, require("./device-software-compliance.js"), module.exports);
21
+ __reExport(dcl_exports, require("./device-software-version.js"), module.exports);
22
+ __reExport(dcl_exports, require("./device.js"), module.exports);
23
+ __reExport(dcl_exports, require("./operational-certificate.js"), module.exports);
24
+ __reExport(dcl_exports, require("./vendor.js"), module.exports);
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2025 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/dcl/index.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,yCANd;AAOA,wBAAc,+CAPd;AAQA,wBAAc,4CARd;AASA,wBAAc,yCATd;AAUA,wBAAc,wBAVd;AAWA,wBAAc,yCAXd;AAYA,wBAAc,wBAZd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Operational Root and Intermediate Certificate Schema
8
+ * @see {@link MatterSpecification.v141.Core} § 11.23.5.
9
+ */
10
+ export interface OperationalCertificateDclSchema {
11
+ /**
12
+ * This field uniquely identifies a certificate and SHALL contain the body of a certificate that has been
13
+ * added in the DCL. It SHALL be encoded in PEM format. The certificate SHALL respect the format
14
+ * constraints provided for that certificate type.
15
+ */
16
+ pemCert: string;
17
+ /**
18
+ * The field SHALL be used to identify the serial number field in the Matter certificate structure. A
19
+ * Matter certificate follows the same limitation on admissible serial numbers as in [RFC 5280], i.e.,
20
+ * that implementations SHALL admit serial numbers up to 20 octets in length, and certificate authorities
21
+ * SHALL NOT use serial numbers longer than 20 octets in length.
22
+ */
23
+ serialNumber: string;
24
+ /**
25
+ * The field SHALL be used to identify the Certificate Authority that issues the certificate. For a
26
+ * Operational Root CA Certificates (RCAC), this field is OPTIONAL because Issuer and
27
+ * Subject are the same.
28
+ */
29
+ issuer?: string;
30
+ /**
31
+ * The authority key identifier extension provides a means of identifying the public key corresponding
32
+ * to the private key used to sign a Matter certificate. This is OPTIONAL for Operational Root CA
33
+ * Certificates (RCAC).
34
+ */
35
+ authorityKeyID?: string;
36
+ /**
37
+ * This field SHALL contain the PAA certificate’s Subject field, as defined Operational Root CA Certificates
38
+ * (RCAC). This is OPTIONAL for Operational Root CA Certificates (RCAC). This is encoded as
39
+ * defined in Section 6.1, “Certificate Common Conventions”.
40
+ */
41
+ rootSubject?: string;
42
+ /**
43
+ * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
44
+ * It is defined in PAA Certificate and Operational Root CA Certificates (RCAC). This is OPTIONAL
45
+ * for Operational Root CA Certificates (RCAC). This is encoded as defined in Section 6.1, “Certificate
46
+ * Common Conventions”.
47
+ */
48
+ rootSubjectKeyID?: string;
49
+ /**
50
+ * This field SHALL signify whether the associated certificates is a Operational Root CA Certificate
51
+ * (RCAC).
52
+ */
53
+ isRoot: boolean;
54
+ /**
55
+ * This field uniquely identifies the DCL key that was used to register the certificate in DCL, pursuant
56
+ * to DCL policies.
57
+ */
58
+ owner: string;
59
+ /**
60
+ * This field SHALL contain the certificate’s Subject field. This is encoded as defined in Section 6.1,
61
+ * “Certificate Common Conventions”.
62
+ */
63
+ subject: string;
64
+ /**
65
+ * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
66
+ * This is encoded as defined in Section 6.1.2, “Key Identifier Extension Constraints”.
67
+ */
68
+ subjectKeyID: string;
69
+ /**
70
+ * This field SHALL contain the Vendor ID of the vendor that issued the certificate.
71
+ */
72
+ vid: number;
73
+ /**
74
+ * The SchemaVersion field value history for this schema is provided below:
75
+ * * ???
76
+ */
77
+ schemaVersion: number;
78
+ }
79
+ //# sourceMappingURL=operational-certificate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-certificate.d.ts","sourceRoot":"","sources":["../../../src/dcl/operational-certificate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC5C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var operational_certificate_exports = {};
16
+ module.exports = __toCommonJS(operational_certificate_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=operational-certificate.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/dcl/operational-certificate.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { VendorId } from "../datatype/VendorId.js";
7
+ /**
8
+ * Vendor Schema
9
+ * @see {@link MatterSpecification.v141.Core} § 11.23.3.
10
+ * DCL Endpoint: /dcl/vendorinfo/vendors or /dcl/vendorinfo/vendors/{vendorID}
11
+ */
12
+ export interface VendorDclSchema {
13
+ /**
14
+ * This field SHALL uniquely identify this Vendor Schema entry and it SHALL match the Vendor’s
15
+ * assigned Vendor ID.
16
+ */
17
+ vendorID: VendorId;
18
+ /**
19
+ * This field SHALL provide a human readable (displayable) name for the product manufacturer associated
20
+ * with this record. Maximum length is 128 characters.
21
+ */
22
+ vendorName: string;
23
+ /**
24
+ * The CompanyLegalName field SHALL specify the legal name for the product manufacturer.
25
+ * Maximum length is 256 characters.
26
+ */
27
+ companyLegalName: string;
28
+ /**
29
+ * The CompanyPreferredName field, if provided, SHALL specify the Preferred Name that MAY be
30
+ * used for display purposes instead of the CompanyLegalName. Maximum length is 256 characters.
31
+ */
32
+ companyPreferredName?: string;
33
+ /**
34
+ * The VendorLandingPageUrl field (when provided) SHALL contain a link to a maintained web page
35
+ * containing more information about the device manufacturer, such as contact information, address,
36
+ * etc. During the lifetime of the products of this manufacturer, the specified URL SHOULD resolve to a
37
+ * maintained web page. The syntax of this field SHALL follow the syntax as specified in RFC 1738 and
38
+ * SHALL use the https scheme. The maximum length of this field is 256 ASCII characters.
39
+ */
40
+ vendorLandingPageUrl?: string;
41
+ /**
42
+ * The SchemaVersion field value history for this schema is provided below:
43
+ * * 0: Initial Release
44
+ */
45
+ schemaVersion: number;
46
+ }
47
+ //# sourceMappingURL=vendor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor.d.ts","sourceRoot":"","sources":["../../../src/dcl/vendor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var vendor_exports = {};
16
+ module.exports = __toCommonJS(vendor_exports);
17
+ /**
18
+ * @license
19
+ * Copyright 2022-2025 Matter.js Authors
20
+ * SPDX-License-Identifier: Apache-2.0
21
+ */
22
+ //# sourceMappingURL=vendor.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/dcl/vendor.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "names": []
6
+ }
@@ -7,6 +7,7 @@ export * from "./cluster/index.js";
7
7
  export * from "./commissioning/index.js";
8
8
  export * from "./common/index.js";
9
9
  export * from "./datatype/index.js";
10
+ export * from "./dcl/index.js";
10
11
  export * from "./globals/index.js";
11
12
  export * from "./protocol/index.js";
12
13
  export * from "./schema/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -19,6 +19,7 @@ __reExport(src_exports, require("./cluster/index.js"), module.exports);
19
19
  __reExport(src_exports, require("./commissioning/index.js"), module.exports);
20
20
  __reExport(src_exports, require("./common/index.js"), module.exports);
21
21
  __reExport(src_exports, require("./datatype/index.js"), module.exports);
22
+ __reExport(src_exports, require("./dcl/index.js"), module.exports);
22
23
  __reExport(src_exports, require("./globals/index.js"), module.exports);
23
24
  __reExport(src_exports, require("./protocol/index.js"), module.exports);
24
25
  __reExport(src_exports, require("./schema/index.js"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAQA,wBAAc,+BARd;AASA,wBAAc,qCATd;AAUA,wBAAc,8BAVd;AAWA,wBAAc,gCAXd;AAYA,wBAAc,+BAZd;AAaA,wBAAc,gCAbd;AAcA,wBAAc,8BAdd;AAeA,wBAAc,2BAfd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAQA,wBAAc,+BARd;AASA,wBAAc,qCATd;AAUA,wBAAc,8BAVd;AAWA,wBAAc,gCAXd;AAYA,wBAAc,2BAZd;AAaA,wBAAc,+BAbd;AAcA,wBAAc,gCAdd;AAeA,wBAAc,8BAfd;AAgBA,wBAAc,2BAhBd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { VendorId } from "../datatype/VendorId.js";
7
+ export interface ApprovalOrRejectDetails {
8
+ address: string;
9
+ time: string;
10
+ info: string;
11
+ schemaVersion: number;
12
+ }
13
+ /**
14
+ * Product Attestation Authority and Intermediate Certificate Schema
15
+ * @see {@link MatterSpecification.v141.Core} § 11.23.4.
16
+ * DCL Endpoints:
17
+ * * /dcl/pki/certificates
18
+ * * /dcl/pki/certificates/{subject}
19
+ * * /dcl/pki/certificates/{subject}/{subjectKeyId}
20
+ */
21
+ export interface ProductAttestationDclSchema {
22
+ /**
23
+ * This field uniquely identifies a certificate and SHALL contain the body of a certificate that has been
24
+ * added in the DCL. It SHALL be encoded in PEM format. The certificate SHALL respect the format
25
+ * constraints provided for that certificate type.
26
+ */
27
+ pemCert: string;
28
+ /**
29
+ * The field SHALL be used to identify the serial number field in the Matter certificate structure. A
30
+ * Matter certificate follows the same limitation on admissible serial numbers as in [RFC 5280], i.e.,
31
+ * that implementations SHALL admit serial numbers up to 20 octets in length, and certificate authorities
32
+ * SHALL NOT use serial numbers longer than 20 octets in length.
33
+ */
34
+ serialNumber: string;
35
+ /**
36
+ * The field SHALL be used to identify the Certificate Authority that issues the certificate. For a PAA
37
+ * Certificate, this field is OPTIONAL because Issuer and Subject are the same.
38
+ */
39
+ issuer?: string;
40
+ /**
41
+ * The authority key identifier extension provides a means of identifying the public key corresponding
42
+ * to the private key used to sign a Matter certificate. This is OPTIONAL for PAA Certificates.
43
+ */
44
+ authorityKeyID?: string;
45
+ /**
46
+ * This field SHALL contain the PAA certificate’s Subject field, as defined in PAA in PAA Certificate.
47
+ * This is OPTIONAL for PAA Certificates. This is encoded as defined in Section 6.1, “Certificate Common
48
+ * Conventions”.
49
+ */
50
+ rootSubject?: string;
51
+ /**
52
+ * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
53
+ * It is defined in PAA Certificate and Operational Root CA Certificates (RCAC). This is OPTIONAL
54
+ * for PAA Certificates. This is encoded as defined in Section 6.1, “Certificate Common Conventions”.
55
+ */
56
+ rootSubjectKeyID?: string;
57
+ /**
58
+ * This field SHALL signify whether the associated certificate is PAA Certificate.
59
+ */
60
+ isRoot: boolean;
61
+ /**
62
+ * This field uniquely identifies the DCL key that was used to register the certificate in DCL, pursuant
63
+ * to DCL policies.
64
+ */
65
+ owner: string;
66
+ /**
67
+ * This field SHALL contain the certificate’s Subject field. This is OPTIONAL for PAA Certificates. This
68
+ * is encoded as defined in Section 6.1, “Certificate Common Conventions”.
69
+ * Base64 encoded
70
+ * TODO Check optional or not??
71
+ */
72
+ subject?: string;
73
+ /**
74
+ * This field SHALL uniquely identify the PAA certificate’s Subject Key Identifier mandatory extension.
75
+ * This is encoded as defined in Section 6.1.2, “Key Identifier Extension Constraints”.
76
+ */
77
+ subjectKeyID: string;
78
+ /**
79
+ * This field SHALL contain list of DCL Keys that approved the PAA Certificate admission into DCL.
80
+ * This field SHALL be set only for a PAA Certificate.
81
+ */
82
+ approvals: ApprovalOrRejectDetails;
83
+ /**
84
+ * This field SHALL contain list of DCL Keys that rejected the PAA Certificate admission into DCL. This
85
+ * field SHALL be set only for a PAA Certificate
86
+ */
87
+ rejects: ApprovalOrRejectDetails;
88
+ /**
89
+ * This field SHALL uniquely identify this Vendor Schema entry and it SHALL match the Vendor’s
90
+ * assigned Vendor ID.
91
+ */
92
+ vid: VendorId;
93
+ /**
94
+ * The SchemaVersion field value history for this schema is provided below:
95
+ * ???? TODO
96
+ */
97
+ schemaVersion: number;
98
+ }
99
+ //# sourceMappingURL=attestation-certificate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attestation-certificate.d.ts","sourceRoot":"","sources":["../../../src/dcl/attestation-certificate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IACxC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,uBAAuB,CAAC;IAEnC;;;OAGG;IACH,OAAO,EAAE,uBAAuB,CAAC;IAEjC;;;OAGG;IACH,GAAG,EAAE,QAAQ,CAAC;IAEd;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ //# sourceMappingURL=attestation-certificate.js.map