@matter/dcl-data 2026.5.1-5.1

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.
@@ -0,0 +1,11 @@
1
+ import type { PaaRootEntry, CdSignerEntry, VendorEntry, Manifest, SeedSource } from "./types.js";
2
+ export declare function readManifest(packageRoot?: string): Manifest;
3
+ type Opts = {
4
+ packageRoot?: string;
5
+ includeTest?: boolean;
6
+ };
7
+ export declare function paaRoots(opts?: Opts): SeedSource<PaaRootEntry>;
8
+ export declare function cdSigners(opts?: Opts): SeedSource<CdSignerEntry>;
9
+ export declare function vendors(opts?: Opts): SeedSource<VendorEntry>;
10
+ export {};
11
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKjG,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAA2B,GAAG,QAAQ,CAE/E;AAwBD,KAAK,IAAI,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,CAY9D;AAED,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,CAYhE;AAED,wBAAgB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAc5D"}
@@ -0,0 +1,79 @@
1
+ import { createReadStream } from "node:fs";
2
+ import { readFileSync } from "node:fs";
3
+ import { join, dirname } from "node:path";
4
+ import { createInterface } from "node:readline";
5
+ import { fileURLToPath } from "node:url";
6
+ import { DclDataCorruptError } from "./types.js";
7
+ const defaultPackageRoot = join(dirname(fileURLToPath(import.meta.url)), "../..");
8
+ function readManifest(packageRoot = defaultPackageRoot) {
9
+ return JSON.parse(readFileSync(join(packageRoot, "manifest.json"), "utf8"));
10
+ }
11
+ async function* streamJsonl(filePath, filter) {
12
+ const stream = createReadStream(filePath, { encoding: "utf8" });
13
+ const rl = createInterface({ input: stream, crlfDelay: Infinity });
14
+ let lineNumber = 0;
15
+ try {
16
+ for await (const line of rl) {
17
+ lineNumber++;
18
+ if (line.trim() === "") continue;
19
+ let entry;
20
+ try {
21
+ entry = JSON.parse(line);
22
+ } catch (e) {
23
+ throw new DclDataCorruptError(filePath, lineNumber, e);
24
+ }
25
+ if (!filter || filter(entry)) yield entry;
26
+ }
27
+ } finally {
28
+ rl.close();
29
+ stream.destroy();
30
+ }
31
+ }
32
+ function paaRoots(opts) {
33
+ const root = opts?.packageRoot ?? defaultPackageRoot;
34
+ const manifest = readManifest(root);
35
+ const includeTest = opts?.includeTest ?? false;
36
+ return {
37
+ builtAt: manifest.builtAt,
38
+ expectedCount: manifest.counts.paaRoots - (includeTest ? 0 : manifest.counts.paaRootsTest),
39
+ entries: streamJsonl(
40
+ join(root, "data", "paa-roots.jsonl"),
41
+ includeTest ? void 0 : (e) => e.kind !== "test"
42
+ )
43
+ };
44
+ }
45
+ function cdSigners(opts) {
46
+ const root = opts?.packageRoot ?? defaultPackageRoot;
47
+ const manifest = readManifest(root);
48
+ const includeTest = opts?.includeTest ?? false;
49
+ return {
50
+ builtAt: manifest.builtAt,
51
+ expectedCount: manifest.counts.cdSigners - (includeTest ? 0 : manifest.counts.cdSignersTest),
52
+ entries: streamJsonl(
53
+ join(root, "data", "cd-signers.jsonl"),
54
+ includeTest ? void 0 : (e) => e.kind !== "test"
55
+ )
56
+ };
57
+ }
58
+ function vendors(opts) {
59
+ const root = opts?.packageRoot ?? defaultPackageRoot;
60
+ const manifest = readManifest(root);
61
+ const includeTest = opts?.includeTest ?? false;
62
+ const all = JSON.parse(readFileSync(join(root, "data", "vendors.json"), "utf8"));
63
+ return {
64
+ builtAt: manifest.builtAt,
65
+ expectedCount: manifest.counts.vendors - (includeTest ? 0 : manifest.counts.vendorsTest),
66
+ entries: (async function* () {
67
+ for (const v of all) {
68
+ if (includeTest || v.kind !== "test") yield v;
69
+ }
70
+ })()
71
+ };
72
+ }
73
+ export {
74
+ cdSigners,
75
+ paaRoots,
76
+ readManifest,
77
+ vendors
78
+ };
79
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/node.ts"],
4
+ "mappings": "AAAA,SAAS,wBAAwB;AACjC,SAAS,oBAAoB;AAC7B,SAAS,MAAM,eAAe;AAC9B,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAE9B,SAAS,2BAA2B;AAEpC,MAAM,qBAAqB,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC,GAAG,OAAO;AAEzE,SAAS,aAAa,cAAsB,oBAA8B;AAC7E,SAAO,KAAK,MAAM,aAAa,KAAK,aAAa,eAAe,GAAG,MAAM,CAAC;AAC9E;AAEA,gBAAgB,YAAe,UAAkB,QAAmD;AAChG,QAAM,SAAS,iBAAiB,UAAU,EAAE,UAAU,OAAO,CAAC;AAC9D,QAAM,KAAK,gBAAgB,EAAE,OAAO,QAAQ,WAAW,SAAS,CAAC;AACjE,MAAI,aAAa;AACjB,MAAI;AACA,qBAAiB,QAAQ,IAAI;AACzB;AACA,UAAI,KAAK,KAAK,MAAM,GAAI;AACxB,UAAI;AACJ,UAAI;AACA,gBAAQ,KAAK,MAAM,IAAI;AAAA,MAC3B,SAAS,GAAG;AACR,cAAM,IAAI,oBAAoB,UAAU,YAAY,CAAC;AAAA,MACzD;AACA,UAAI,CAAC,UAAU,OAAO,KAAK,EAAG,OAAM;AAAA,IACxC;AAAA,EACJ,UAAE;AACE,OAAG,MAAM;AACT,WAAO,QAAQ;AAAA,EACnB;AACJ;AAIO,SAAS,SAAS,MAAuC;AAC5D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,YAAY,cAAc,IAAI,SAAS,OAAO;AAAA,IAC7E,SAAS;AAAA,MACL,KAAK,MAAM,QAAQ,iBAAiB;AAAA,MACpC,cAAc,SAAY,OAAK,EAAE,SAAS;AAAA,IAC9C;AAAA,EACJ;AACJ;AAEO,SAAS,UAAU,MAAwC;AAC9D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,aAAa,cAAc,IAAI,SAAS,OAAO;AAAA,IAC9E,SAAS;AAAA,MACL,KAAK,MAAM,QAAQ,kBAAkB;AAAA,MACrC,cAAc,SAAY,OAAK,EAAE,SAAS;AAAA,IAC9C;AAAA,EACJ;AACJ;AAEO,SAAS,QAAQ,MAAsC;AAC1D,QAAM,OAAO,MAAM,eAAe;AAClC,QAAM,WAAW,aAAa,IAAI;AAClC,QAAM,cAAc,MAAM,eAAe;AACzC,QAAM,MAAM,KAAK,MAAM,aAAa,KAAK,MAAM,QAAQ,cAAc,GAAG,MAAM,CAAC;AAC/E,SAAO;AAAA,IACH,SAAS,SAAS;AAAA,IAClB,eAAe,SAAS,OAAO,WAAW,cAAc,IAAI,SAAS,OAAO;AAAA,IAC5E,UAAU,mBAAmB;AACzB,iBAAW,KAAK,KAAK;AACjB,YAAI,eAAe,EAAE,SAAS,OAAQ,OAAM;AAAA,MAChD;AAAA,IACJ,GAAG;AAAA,EACP;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,59 @@
1
+ export type SeedSource<T> = {
2
+ builtAt: string;
3
+ expectedCount: number;
4
+ entries: AsyncIterable<T>;
5
+ };
6
+ export type CertEntry = {
7
+ subjectKeyId: string;
8
+ derHex: string;
9
+ kind: "production" | "test";
10
+ subject?: string;
11
+ issuer?: string;
12
+ notBefore?: string;
13
+ notAfter?: string;
14
+ };
15
+ export type PaaRootEntry = CertEntry & {
16
+ role: "paa";
17
+ };
18
+ export type CdSignerEntry = CertEntry & {
19
+ role: "cd-signer";
20
+ };
21
+ export type VendorEntry = {
22
+ vendorId: number;
23
+ vendorName: string;
24
+ companyLegalName?: string;
25
+ companyPreferredName?: string;
26
+ vendorLandingPageURL?: string;
27
+ creator?: string;
28
+ kind: "production" | "test";
29
+ [extra: string]: unknown;
30
+ };
31
+ export type Manifest = {
32
+ builtAt: string;
33
+ schemaVersion: number;
34
+ sources: {
35
+ dcl: {
36
+ url: string;
37
+ latestBlockHeight?: number;
38
+ };
39
+ github: {
40
+ repo: string;
41
+ ref: string;
42
+ commit: string;
43
+ };
44
+ };
45
+ counts: {
46
+ paaRoots: number;
47
+ paaRootsTest: number;
48
+ cdSigners: number;
49
+ cdSignersTest: number;
50
+ vendors: number;
51
+ vendorsTest: number;
52
+ };
53
+ };
54
+ export declare class DclDataCorruptError extends Error {
55
+ readonly file: string;
56
+ readonly lineNumber: number;
57
+ constructor(file: string, lineNumber: number, cause: unknown);
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QACL,GAAG,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjD,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KACzD,CAAC;IACF,MAAM,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAF/B,YACa,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAC3B,KAAK,EAAE,OAAO,EAIjB;CACJ"}
@@ -0,0 +1,14 @@
1
+ class DclDataCorruptError extends Error {
2
+ constructor(file, lineNumber, cause) {
3
+ super(`Corrupt entry in ${file} at line ${lineNumber}`, { cause });
4
+ this.file = file;
5
+ this.lineNumber = lineNumber;
6
+ this.name = "DclDataCorruptError";
7
+ }
8
+ file;
9
+ lineNumber;
10
+ }
11
+ export {
12
+ DclDataCorruptError
13
+ };
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/types.ts"],
4
+ "mappings": "AA+CO,MAAM,4BAA4B,MAAM;AAAA,EAC3C,YACa,MACA,YACT,OACF;AACE,UAAM,oBAAoB,IAAI,YAAY,UAAU,IAAI,EAAE,MAAM,CAAC;AAJxD;AACA;AAIT,SAAK,OAAO;AAAA,EAChB;AAAA,EANa;AAAA,EACA;AAMjB;",
5
+ "names": []
6
+ }
package/manifest.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "builtAt": "2026-05-15T10:30:27.318Z",
3
+ "schemaVersion": 1,
4
+ "sources": {
5
+ "dcl": {
6
+ "url": "https://on.dcl.csa-iot.org"
7
+ },
8
+ "github": {
9
+ "repo": "project-chip/connectedhomeip",
10
+ "ref": "master",
11
+ "commit": "unknown"
12
+ }
13
+ },
14
+ "counts": {
15
+ "paaRoots": 169,
16
+ "paaRootsTest": 95,
17
+ "cdSigners": 6,
18
+ "cdSignersTest": 6,
19
+ "vendors": 427,
20
+ "vendorsTest": 0
21
+ }
22
+ }
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@matter/dcl-data",
3
+ "version": "2026.5.15.1",
4
+ "type": "module",
5
+ "description": "Daily snapshot of Matter DCL data for seeding matter.js services",
6
+ "license": "Apache-2.0",
7
+ "engines": {
8
+ "node": ">=18"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/esm/types.d.ts",
13
+ "default": "./dist/esm/types.js"
14
+ },
15
+ "./node": {
16
+ "types": "./dist/esm/node.d.ts",
17
+ "default": "./dist/esm/node.js"
18
+ }
19
+ },
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "data",
26
+ "manifest.json",
27
+ "LICENSE"
28
+ ],
29
+ "scripts": {
30
+ "build": "nacho-build",
31
+ "build-clean": "nacho-build --clean",
32
+ "test": "matter-test",
33
+ "format": "oxfmt \"src/**/*.ts\" \"tools/**/*.ts\" \"test/**/*.ts\"",
34
+ "format-verify": "oxfmt --check \"src/**/*.ts\" \"tools/**/*.ts\" \"test/**/*.ts\"",
35
+ "lint": "oxlint --type-aware",
36
+ "lint-fix": "oxlint --fix --type-aware"
37
+ },
38
+ "overrides": {
39
+ "mocha": {
40
+ "diff": "^8.0.3",
41
+ "serialize-javascript": "^7.0.4"
42
+ }
43
+ },
44
+ "devDependencies": {
45
+ "@matter/main": "dev",
46
+ "@matter/testing": "dev",
47
+ "@nacho-iot/js-tools": "^0.1.7",
48
+ "@types/chai": "^4.3.20",
49
+ "@types/mocha": "^10.0.10",
50
+ "@types/node": "^25.8.0",
51
+ "oxfmt": "^0.49.0",
52
+ "oxlint": "^1.64.0",
53
+ "oxlint-tsgolint": "^0.22.1",
54
+ "typescript": "^6.0.3"
55
+ }
56
+ }