okf-core 2.1.0 → 3.0.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.
- package/README.md +13 -0
- package/dist/graph.d.ts +2 -7
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +4 -11
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/indexes.d.ts +5 -0
- package/dist/indexes.d.ts.map +1 -0
- package/dist/indexes.js +58 -0
- package/dist/indexes.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,6 +17,19 @@ bundle. The library retains YAML source byte-for-byte beside its parsed mapping
|
|
|
17
17
|
and reads Markdown links from a CommonMark AST. Conformance errors, format
|
|
18
18
|
guidance, and consumer profile findings remain separate throughout the result.
|
|
19
19
|
|
|
20
|
+
## Generated directory indexes
|
|
21
|
+
|
|
22
|
+
`generateBundleIndexes(analysis)` returns one `okf.index.v1` navigation object
|
|
23
|
+
per directory. `selectBundleIndex(indexes, directory)` selects the root (`.`)
|
|
24
|
+
or a confined bundle-relative directory. Each index contains its immediate
|
|
25
|
+
pages' titles and descriptions, child directories, and rendered Markdown.
|
|
26
|
+
The root Markdown retains the analyzed `okf_version` declaration; nested
|
|
27
|
+
indexes have no frontmatter. Neither function writes to storage.
|
|
28
|
+
|
|
29
|
+
Indexes and logs are excluded from `buildGraph`. Navigation entries are not
|
|
30
|
+
semantic relationships. Useful prose previously kept in a reserved `index.md`
|
|
31
|
+
belongs in an ordinary typed page before an authored index is retired.
|
|
32
|
+
|
|
20
33
|
## Metadata and profile boundaries
|
|
21
34
|
|
|
22
35
|
`content`, `frontmatter.raw`, and `frontmatter.yaml` retain authored bytes. The
|
package/dist/graph.d.ts
CHANGED
|
@@ -2,13 +2,8 @@ import type { AnalyzedDocument, BundleGraph } from "okf-contracts";
|
|
|
2
2
|
/**
|
|
3
3
|
* Project a bundle onto its graph.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* heading, and described it. Dropping them dropped the spine of a bundle and drew the rest as
|
|
8
|
-
* unrelated islands — a picture that asserts the opposite of what the bundle says.
|
|
9
|
-
*
|
|
10
|
-
* Logs stay out. A log is a dated history of changes to a scope, so its links point at what
|
|
11
|
-
* happened rather than at what relates to what.
|
|
5
|
+
* Reserved indexes provide navigation and logs record history. Neither declares semantic
|
|
6
|
+
* relationships between concepts; those relationships come from the concept documents.
|
|
12
7
|
*/
|
|
13
8
|
export declare function buildGraph(documents: readonly AnalyzedDocument[]): BundleGraph;
|
|
14
9
|
//# sourceMappingURL=graph.d.ts.map
|
package/dist/graph.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EAGZ,MAAM,eAAe,CAAC;AAIvB
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EAGZ,MAAM,eAAe,CAAC;AAIvB;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,GAAG,WAAW,CA4C9E"}
|
package/dist/graph.js
CHANGED
|
@@ -2,26 +2,19 @@ import { byCodePoint } from "./paths.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Project a bundle onto its graph.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* heading, and described it. Dropping them dropped the spine of a bundle and drew the rest as
|
|
8
|
-
* unrelated islands — a picture that asserts the opposite of what the bundle says.
|
|
9
|
-
*
|
|
10
|
-
* Logs stay out. A log is a dated history of changes to a scope, so its links point at what
|
|
11
|
-
* happened rather than at what relates to what.
|
|
5
|
+
* Reserved indexes provide navigation and logs record history. Neither declares semantic
|
|
6
|
+
* relationships between concepts; those relationships come from the concept documents.
|
|
12
7
|
*/
|
|
13
8
|
export function buildGraph(documents) {
|
|
14
9
|
const linked = documents
|
|
15
|
-
.filter((document) => document.kind === "concept"
|
|
10
|
+
.filter((document) => document.kind === "concept")
|
|
16
11
|
.sort((left, right) => byCodePoint(left.path, right.path));
|
|
17
12
|
const known = new Set(linked.map((document) => document.path));
|
|
18
13
|
const nodes = linked.map((document) => ({
|
|
19
14
|
id: document.path,
|
|
20
15
|
path: document.path,
|
|
21
16
|
title: document.derived.title,
|
|
22
|
-
|
|
23
|
-
// tell a table of contents from a claim.
|
|
24
|
-
type: document.derived.type ?? (document.kind === "index" ? "Index" : "Concept"),
|
|
17
|
+
type: document.derived.type ?? "Concept",
|
|
25
18
|
description: document.derived.description,
|
|
26
19
|
status: document.derived.status,
|
|
27
20
|
trustTier: document.derived.trustTier,
|
package/dist/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { analyzeBundle, parseBundleDocument } from "./analyze.js";
|
|
|
2
2
|
export { canonicalChangeJson, parseChange } from "./changes.js";
|
|
3
3
|
export { documentExtensions } from "./derive.js";
|
|
4
4
|
export { buildGraph } from "./graph.js";
|
|
5
|
+
export { generateBundleIndexes, selectBundleIndex } from "./indexes.js";
|
|
5
6
|
export { extractMarkdownLinks } from "./links.js";
|
|
6
7
|
export type { ExtractLinksOptions } from "./links.js";
|
|
7
8
|
export { listBundleEntries } from "./listing.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { analyzeBundle, parseBundleDocument } from "./analyze.js";
|
|
|
2
2
|
export { canonicalChangeJson, parseChange } from "./changes.js";
|
|
3
3
|
export { documentExtensions } from "./derive.js";
|
|
4
4
|
export { buildGraph } from "./graph.js";
|
|
5
|
+
export { generateBundleIndexes, selectBundleIndex } from "./indexes.js";
|
|
5
6
|
export { extractMarkdownLinks } from "./links.js";
|
|
6
7
|
export { listBundleEntries } from "./listing.js";
|
|
7
8
|
export { byCodePoint, canonicalizeBundlePath, canonicalizeOperationPath, InvalidBundlePathError, resolveWithinBundle, validateBundlePath, } from "./paths.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { BundleAnalysis, BundleDirectoryIndex } from "okf-contracts";
|
|
2
|
+
/** Derive directory navigation without changing authored documents or semantic edges. */
|
|
3
|
+
export declare function generateBundleIndexes(analysis: BundleAnalysis): BundleDirectoryIndex[];
|
|
4
|
+
export declare function selectBundleIndex(indexes: readonly BundleDirectoryIndex[], requested?: string): BundleDirectoryIndex;
|
|
5
|
+
//# sourceMappingURL=indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../src/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAoB,MAAM,eAAe,CAAC;AAY5F,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,oBAAoB,EAAE,CAqCtF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EAAE,SAAS,SAAM,GAAG,oBAAoB,CAKjH"}
|
package/dist/indexes.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { byCodePoint, validateBundlePath } from "./paths.js";
|
|
2
|
+
function label(value) {
|
|
3
|
+
return value.replace(/\s+/g, " ").replace(/[\\`*_[\]<>]/g, "\\$&");
|
|
4
|
+
}
|
|
5
|
+
function href(value) {
|
|
6
|
+
return value.split("/").map((part) => encodeURIComponent(part).replace(/[!'()*]/g, (character) => `%${character.charCodeAt(0).toString(16).toUpperCase()}`)).join("/");
|
|
7
|
+
}
|
|
8
|
+
/** Derive directory navigation without changing authored documents or semantic edges. */
|
|
9
|
+
export function generateBundleIndexes(analysis) {
|
|
10
|
+
const directories = new Set(["."]);
|
|
11
|
+
for (const document of analysis.documents) {
|
|
12
|
+
const parts = document.path.split("/");
|
|
13
|
+
for (let count = 1; count < parts.length; count += 1) {
|
|
14
|
+
directories.add(parts.slice(0, count).join("/"));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const titles = new Map(analysis.documents.filter((document) => document.kind === "index")
|
|
18
|
+
.map((document) => [document.path, document.derived.title]));
|
|
19
|
+
return [...directories].sort(byCodePoint).map((directory) => {
|
|
20
|
+
const prefix = directory === "." ? "" : `${directory}/`;
|
|
21
|
+
const indexPath = `${prefix}index.md`;
|
|
22
|
+
const title = titles.get(indexPath) ?? (directory === "." ? "Bundle" : directory.split("/").at(-1));
|
|
23
|
+
const entries = [];
|
|
24
|
+
for (const child of directories) {
|
|
25
|
+
if (child === "." || !child.startsWith(prefix))
|
|
26
|
+
continue;
|
|
27
|
+
const relative = child.slice(prefix.length);
|
|
28
|
+
if (relative.includes("/") || relative === "")
|
|
29
|
+
continue;
|
|
30
|
+
entries.push({ kind: "directory", path: child, title: titles.get(`${child}/index.md`) ?? relative,
|
|
31
|
+
description: null, href: `${href(relative)}/index.md` });
|
|
32
|
+
}
|
|
33
|
+
for (const document of analysis.documents) {
|
|
34
|
+
if (document.kind === "index" || !document.path.startsWith(prefix))
|
|
35
|
+
continue;
|
|
36
|
+
const relative = document.path.slice(prefix.length);
|
|
37
|
+
if (relative.includes("/"))
|
|
38
|
+
continue;
|
|
39
|
+
entries.push({ kind: "document", path: document.path, title: document.derived.title,
|
|
40
|
+
description: document.derived.description, href: href(relative) });
|
|
41
|
+
}
|
|
42
|
+
entries.sort((left, right) => byCodePoint(left.path, right.path));
|
|
43
|
+
const version = directory === "." && analysis.okfVersion !== null
|
|
44
|
+
? `---\nokf_version: ${JSON.stringify(analysis.okfVersion)}\n---\n\n` : "";
|
|
45
|
+
const lines = entries.map((entry) => `- [${label(entry.title)}](${entry.href})${entry.description
|
|
46
|
+
? ` — ${label(entry.description)}` : ""}`);
|
|
47
|
+
return { schema: "okf.index.v1", generated: true, directory, path: indexPath, title, entries,
|
|
48
|
+
content: `${version}# ${label(title)}\n\n${lines.length ? `${lines.join("\n")}\n` : ""}` };
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
export function selectBundleIndex(indexes, requested = ".") {
|
|
52
|
+
const directory = requested === "." ? "." : validateBundlePath(requested);
|
|
53
|
+
const index = indexes.find((candidate) => candidate.directory === directory);
|
|
54
|
+
if (!index)
|
|
55
|
+
throw new Error(`directory does not exist in bundle: ${requested}`);
|
|
56
|
+
return index;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../src/indexes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "okf-core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Canonical parser, validator, link resolver, graph, and search engine for OKF v0.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"diff": "^9.0.0",
|
|
33
33
|
"mdast-util-from-markdown": "^2.0.2",
|
|
34
34
|
"yaml": "^2.9.0",
|
|
35
|
-
"okf-contracts": "
|
|
35
|
+
"okf-contracts": "2.1.0"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "tsc -p tsconfig.json",
|