@origintrail-official/dkg-okf 10.0.2

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 (51) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +55 -0
  3. package/dist/bundle.d.ts +16 -0
  4. package/dist/bundle.d.ts.map +1 -0
  5. package/dist/bundle.js +132 -0
  6. package/dist/bundle.js.map +1 -0
  7. package/dist/constants.d.ts +52 -0
  8. package/dist/constants.d.ts.map +1 -0
  9. package/dist/constants.js +55 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/document.d.ts +30 -0
  12. package/dist/document.d.ts.map +1 -0
  13. package/dist/document.js +72 -0
  14. package/dist/document.js.map +1 -0
  15. package/dist/export.d.ts +21 -0
  16. package/dist/export.d.ts.map +1 -0
  17. package/dist/export.js +210 -0
  18. package/dist/export.js.map +1 -0
  19. package/dist/index.d.ts +24 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +23 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/loader.d.ts +20 -0
  24. package/dist/loader.d.ts.map +1 -0
  25. package/dist/loader.js +42 -0
  26. package/dist/loader.js.map +1 -0
  27. package/dist/mapping.d.ts +38 -0
  28. package/dist/mapping.d.ts.map +1 -0
  29. package/dist/mapping.js +253 -0
  30. package/dist/mapping.js.map +1 -0
  31. package/dist/nquads.d.ts +13 -0
  32. package/dist/nquads.d.ts.map +1 -0
  33. package/dist/nquads.js +26 -0
  34. package/dist/nquads.js.map +1 -0
  35. package/dist/paths.d.ts +57 -0
  36. package/dist/paths.d.ts.map +1 -0
  37. package/dist/paths.js +126 -0
  38. package/dist/paths.js.map +1 -0
  39. package/dist/types.d.ts +134 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +10 -0
  42. package/dist/types.js.map +1 -0
  43. package/dist/utils.d.ts +27 -0
  44. package/dist/utils.d.ts.map +1 -0
  45. package/dist/utils.js +53 -0
  46. package/dist/utils.js.map +1 -0
  47. package/dist/validation.d.ts +17 -0
  48. package/dist/validation.d.ts.map +1 -0
  49. package/dist/validation.js +80 -0
  50. package/dist/validation.js.map +1 -0
  51. package/package.json +38 -0
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Public types for the OKF → DKG mapper.
3
+ *
4
+ * The RDF output is a deterministic array of `Quad`s. We reuse the node's
5
+ * canonical `Quad` shape (`{ subject, predicate, object, graph? }`) so the
6
+ * mapper's output drops straight into the importer/`/api/assertion/write`
7
+ * path without translation.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Small, dependency-free helpers shared by the mapper.
3
+ *
4
+ * `isSafeIri` is replicated verbatim from `dkg-core`'s `sparql-safe.ts` so the
5
+ * pure mapper has zero runtime cross-package dependency and stays unit-testable
6
+ * in isolation (the package intentionally does not import the node at runtime).
7
+ * A test pins the behaviour against the same inputs the node validates.
8
+ */
9
+ /** True when the string is a syntactically safe IRI with a scheme prefix. */
10
+ export declare function isSafeIri(value: string): boolean;
11
+ /** N-Triples/quad-encoding of a plain string literal: `"escaped"`. */
12
+ export declare function literalTerm(value: string): string;
13
+ /** N-Triples/quad-encoding of a typed literal: `"lexical"^^<datatype>`. */
14
+ export declare function typedLiteralTerm(lexical: string, datatypeIri: string): string;
15
+ /**
16
+ * `BigQuery Dataset` → `BigQueryDataset`. Splits on any non-alphanumeric run and
17
+ * upper-cases the first letter of each word, preserving existing inner case.
18
+ */
19
+ export declare function pascalCase(value: string): string;
20
+ /**
21
+ * `release date` → `releaseDate`, `custom_field` → `customField`. camelCase used
22
+ * for producer-defined frontmatter keys (converges with the extractor's handling).
23
+ */
24
+ export declare function camelCase(value: string): string;
25
+ /** Stable blank-node label fragment from an arbitrary concept ID. */
26
+ export declare function sanitizeForBlank(value: string): string;
27
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/C;AAED,qEAAqE;AACrE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD"}
package/dist/utils.js ADDED
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Small, dependency-free helpers shared by the mapper.
3
+ *
4
+ * `isSafeIri` is replicated verbatim from `dkg-core`'s `sparql-safe.ts` so the
5
+ * pure mapper has zero runtime cross-package dependency and stays unit-testable
6
+ * in isolation (the package intentionally does not import the node at runtime).
7
+ * A test pins the behaviour against the same inputs the node validates.
8
+ */
9
+ const IRI_SCHEME_RE = /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\s<>"{}|\\^`\x00-\x20]+$/;
10
+ /** True when the string is a syntactically safe IRI with a scheme prefix. */
11
+ export function isSafeIri(value) {
12
+ if (!value)
13
+ return false;
14
+ return IRI_SCHEME_RE.test(value);
15
+ }
16
+ /** N-Triples/quad-encoding of a plain string literal: `"escaped"`. */
17
+ export function literalTerm(value) {
18
+ return JSON.stringify(value);
19
+ }
20
+ /** N-Triples/quad-encoding of a typed literal: `"lexical"^^<datatype>`. */
21
+ export function typedLiteralTerm(lexical, datatypeIri) {
22
+ return `${JSON.stringify(lexical)}^^<${datatypeIri}>`;
23
+ }
24
+ /**
25
+ * `BigQuery Dataset` → `BigQueryDataset`. Splits on any non-alphanumeric run and
26
+ * upper-cases the first letter of each word, preserving existing inner case.
27
+ */
28
+ export function pascalCase(value) {
29
+ return value
30
+ .split(/[^A-Za-z0-9]+/)
31
+ .filter(Boolean)
32
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
33
+ .join('');
34
+ }
35
+ /**
36
+ * `release date` → `releaseDate`, `custom_field` → `customField`. camelCase used
37
+ * for producer-defined frontmatter keys (converges with the extractor's handling).
38
+ */
39
+ export function camelCase(value) {
40
+ const parts = value.split(/[^A-Za-z0-9]+/).filter(Boolean);
41
+ if (parts.length === 0)
42
+ return 'property';
43
+ return parts
44
+ .map((p, i) => i === 0
45
+ ? p.charAt(0).toLowerCase() + p.slice(1)
46
+ : p.charAt(0).toUpperCase() + p.slice(1))
47
+ .join('');
48
+ }
49
+ /** Stable blank-node label fragment from an arbitrary concept ID. */
50
+ export function sanitizeForBlank(value) {
51
+ return value.replace(/[^A-Za-z0-9]+/g, '_');
52
+ }
53
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,aAAa,GAAG,qDAAqD,CAAC;AAE5E,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,WAAmB;IACnE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,WAAW,GAAG,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACZ,CAAC,KAAK,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3C;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OKF §9 conformance validation — deliberately permissive.
3
+ *
4
+ * A bundle is conformant iff:
5
+ * 1. every non-reserved `.md` has a parseable YAML frontmatter block;
6
+ * 2. every frontmatter has a non-empty `type`;
7
+ * 3. reserved files (`index.md`/`log.md`) follow §6/§7 when present.
8
+ *
9
+ * Consumers MUST NOT reject a bundle for: missing optional fields, unknown
10
+ * `type` values, unknown extra keys, broken cross-links, or missing `index.md`.
11
+ * Those are surfaced as `warnings`, never `errors`. Only rules 1 and 2 produce
12
+ * hard errors; reserved-file structure issues are reported as warnings to keep
13
+ * the consumer lenient (see ADR 0005 / CONTEXT.md).
14
+ */
15
+ import type { BundleFile, ConformanceReport } from './types.js';
16
+ export declare function validateBundle(files: BundleFile[]): ConformanceReport;
17
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAoErE"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * OKF §9 conformance validation — deliberately permissive.
3
+ *
4
+ * A bundle is conformant iff:
5
+ * 1. every non-reserved `.md` has a parseable YAML frontmatter block;
6
+ * 2. every frontmatter has a non-empty `type`;
7
+ * 3. reserved files (`index.md`/`log.md`) follow §6/§7 when present.
8
+ *
9
+ * Consumers MUST NOT reject a bundle for: missing optional fields, unknown
10
+ * `type` values, unknown extra keys, broken cross-links, or missing `index.md`.
11
+ * Those are surfaced as `warnings`, never `errors`. Only rules 1 and 2 produce
12
+ * hard errors; reserved-file structure issues are reported as warnings to keep
13
+ * the consumer lenient (see ADR 0005 / CONTEXT.md).
14
+ */
15
+ import { parseDocument, OkfDocumentError } from './document.js';
16
+ import { isConceptFile, isReservedFile, isValidSegment, basename, pathToConceptId } from './paths.js';
17
+ export function validateBundle(files) {
18
+ const errors = [];
19
+ const warnings = [];
20
+ const ordered = [...files].sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
21
+ let conceptCount = 0;
22
+ let hasRootIndex = false;
23
+ for (const f of ordered) {
24
+ if (isReservedFile(f.path)) {
25
+ const name = basename(f.path);
26
+ const isRootIndex = f.path === 'index.md';
27
+ if (isRootIndex)
28
+ hasRootIndex = true;
29
+ // Reserved files carry no frontmatter, except the bundle-root index.md may
30
+ // declare only `okf_version` (§6, §11).
31
+ try {
32
+ const parsed = parseDocument(f.path, f.content);
33
+ const keys = Object.keys(parsed.frontmatter);
34
+ if (keys.length > 0) {
35
+ if (name === 'index.md' && isRootIndex) {
36
+ const extra = keys.filter((k) => k !== 'okf_version');
37
+ if (extra.length > 0) {
38
+ warnings.push(`root index.md declares frontmatter keys other than okf_version: ${extra.join(', ')} (§11)`);
39
+ }
40
+ }
41
+ else {
42
+ warnings.push(`reserved file ${f.path} carries frontmatter (§6/§7 expect none)`);
43
+ }
44
+ }
45
+ }
46
+ catch (err) {
47
+ warnings.push(`reserved file ${f.path} did not parse: ${err instanceof OkfDocumentError ? err.message : String(err)}`);
48
+ }
49
+ continue;
50
+ }
51
+ if (!isConceptFile(f.path))
52
+ continue; // non-.md assets (viz.html, etc.) are out of scope
53
+ conceptCount += 1;
54
+ const conceptId = pathToConceptId(f.path);
55
+ // Every concept path segment must be a valid OKF segment, or the derived subject
56
+ // IRI (`${iriBase}${conceptId}`) is malformed (e.g. `urn:okf:bad name`). The
57
+ // mapper already enforces this for link targets; enforce it for concept files too.
58
+ if (!conceptId.split('/').every(isValidSegment)) {
59
+ errors.push(`${conceptId}: invalid concept path segment(s) — must match [A-Za-z0-9_][A-Za-z0-9_.-]* (§2)`);
60
+ }
61
+ let frontmatter;
62
+ try {
63
+ frontmatter = parseDocument(f.path, f.content).frontmatter;
64
+ }
65
+ catch (err) {
66
+ errors.push(`${conceptId}: ${err instanceof OkfDocumentError ? err.message : String(err)} (§9 rule 1)`);
67
+ continue;
68
+ }
69
+ const type = frontmatter.type;
70
+ if (type === undefined || type === null || String(type).trim() === '') {
71
+ errors.push(`${conceptId}: frontmatter has no non-empty \`type\` (§9 rule 2)`);
72
+ }
73
+ }
74
+ if (conceptCount === 0)
75
+ warnings.push('bundle contains no concept documents');
76
+ if (!hasRootIndex)
77
+ warnings.push('bundle has no root index.md (permitted — §9)');
78
+ return { conformant: errors.length === 0, errors, warnings };
79
+ }
80
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@origintrail-official/dkg-okf",
3
+ "version": "10.0.2",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "dependencies": {
8
+ "js-yaml": "^4.1.1",
9
+ "mdast-util-from-markdown": "^2.0.3",
10
+ "mdast-util-to-string": "^4.0.0"
11
+ },
12
+ "devDependencies": {
13
+ "@types/js-yaml": "^4.0.9",
14
+ "@types/mdast": "^4.0.4",
15
+ "@vitest/coverage-v8": "^4.0.18",
16
+ "vitest": "^4.0.18"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
26
+ "license": "Apache-2.0",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/OriginTrail/dkg.git",
30
+ "directory": "packages/okf"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc",
34
+ "test": "vitest run",
35
+ "test:coverage": "vitest run --coverage",
36
+ "clean": "rm -rf dist tsconfig.tsbuildinfo"
37
+ }
38
+ }