@mfittko/repo-wiki 0.2.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/.llmwiki/schema.md +107 -0
- package/AGENTS.md +42 -0
- package/CHANGELOG.md +91 -0
- package/LICENSE +21 -0
- package/README.md +254 -0
- package/dist/bin/repo-wiki.d.ts +2 -0
- package/dist/bin/repo-wiki.js +7 -0
- package/dist/bin/repo-wiki.js.map +1 -0
- package/dist/src/cli.d.ts +1 -0
- package/dist/src/cli.js +404 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/compiler.d.ts +55 -0
- package/dist/src/compiler.js +2046 -0
- package/dist/src/compiler.js.map +1 -0
- package/dist/src/config.d.ts +63 -0
- package/dist/src/config.js +86 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/context-assembler.d.ts +68 -0
- package/dist/src/context-assembler.js +378 -0
- package/dist/src/context-assembler.js.map +1 -0
- package/dist/src/data-model-signals.d.ts +1 -0
- package/dist/src/data-model-signals.js +13 -0
- package/dist/src/data-model-signals.js.map +1 -0
- package/dist/src/docs-ingestor.d.ts +138 -0
- package/dist/src/docs-ingestor.js +844 -0
- package/dist/src/docs-ingestor.js.map +1 -0
- package/dist/src/docs-linter.d.ts +14 -0
- package/dist/src/docs-linter.js +164 -0
- package/dist/src/docs-linter.js.map +1 -0
- package/dist/src/docs-validation.d.ts +36 -0
- package/dist/src/docs-validation.js +297 -0
- package/dist/src/docs-validation.js.map +1 -0
- package/dist/src/extractors.d.ts +50 -0
- package/dist/src/extractors.js +2275 -0
- package/dist/src/extractors.js.map +1 -0
- package/dist/src/frontmatter.d.ts +46 -0
- package/dist/src/frontmatter.js +377 -0
- package/dist/src/frontmatter.js.map +1 -0
- package/dist/src/index.d.ts +26 -0
- package/dist/src/index.js +18 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/init.d.ts +12 -0
- package/dist/src/init.js +121 -0
- package/dist/src/init.js.map +1 -0
- package/dist/src/language.d.ts +2 -0
- package/dist/src/language.js +62 -0
- package/dist/src/language.js.map +1 -0
- package/dist/src/linter.d.ts +33 -0
- package/dist/src/linter.js +398 -0
- package/dist/src/linter.js.map +1 -0
- package/dist/src/llm-provider.d.ts +267 -0
- package/dist/src/llm-provider.js +474 -0
- package/dist/src/llm-provider.js.map +1 -0
- package/dist/src/page-ownership.d.ts +38 -0
- package/dist/src/page-ownership.js +96 -0
- package/dist/src/page-ownership.js.map +1 -0
- package/dist/src/planner.d.ts +55 -0
- package/dist/src/planner.js +422 -0
- package/dist/src/planner.js.map +1 -0
- package/dist/src/prompts.d.ts +103 -0
- package/dist/src/prompts.js +344 -0
- package/dist/src/prompts.js.map +1 -0
- package/dist/src/publisher.d.ts +68 -0
- package/dist/src/publisher.js +662 -0
- package/dist/src/publisher.js.map +1 -0
- package/dist/src/repository-analysis.d.ts +88 -0
- package/dist/src/repository-analysis.js +485 -0
- package/dist/src/repository-analysis.js.map +1 -0
- package/dist/src/scanner.d.ts +122 -0
- package/dist/src/scanner.js +309 -0
- package/dist/src/scanner.js.map +1 -0
- package/dist/src/search.d.ts +71 -0
- package/dist/src/search.js +410 -0
- package/dist/src/search.js.map +1 -0
- package/dist/src/secret-patterns.d.ts +3 -0
- package/dist/src/secret-patterns.js +14 -0
- package/dist/src/secret-patterns.js.map +1 -0
- package/dist/src/utils/args.d.ts +2 -0
- package/dist/src/utils/args.js +19 -0
- package/dist/src/utils/args.js.map +1 -0
- package/dist/src/utils/dotenv.d.ts +7 -0
- package/dist/src/utils/dotenv.js +73 -0
- package/dist/src/utils/dotenv.js.map +1 -0
- package/dist/src/utils/fs.d.ts +22 -0
- package/dist/src/utils/fs.js +83 -0
- package/dist/src/utils/fs.js.map +1 -0
- package/dist/src/utils/git.d.ts +13 -0
- package/dist/src/utils/git.js +39 -0
- package/dist/src/utils/git.js.map +1 -0
- package/dist/src/wiki-graph.d.ts +74 -0
- package/dist/src/wiki-graph.js +335 -0
- package/dist/src/wiki-graph.js.map +1 -0
- package/dist/src/wiki-patch.d.ts +152 -0
- package/dist/src/wiki-patch.js +489 -0
- package/dist/src/wiki-patch.js.map +1 -0
- package/dist/src/wiki-query.d.ts +63 -0
- package/dist/src/wiki-query.js +255 -0
- package/dist/src/wiki-query.js.map +1 -0
- package/dist/test/cli.test.d.ts +1 -0
- package/dist/test/cli.test.js +514 -0
- package/dist/test/cli.test.js.map +1 -0
- package/dist/test/compiler-eval.test.d.ts +1 -0
- package/dist/test/compiler-eval.test.js +234 -0
- package/dist/test/compiler-eval.test.js.map +1 -0
- package/dist/test/compiler.test.d.ts +1 -0
- package/dist/test/compiler.test.js +2537 -0
- package/dist/test/compiler.test.js.map +1 -0
- package/dist/test/context-assembler.test.d.ts +1 -0
- package/dist/test/context-assembler.test.js +379 -0
- package/dist/test/context-assembler.test.js.map +1 -0
- package/dist/test/docs-linter.test.d.ts +1 -0
- package/dist/test/docs-linter.test.js +900 -0
- package/dist/test/docs-linter.test.js.map +1 -0
- package/dist/test/dotenv.test.d.ts +1 -0
- package/dist/test/dotenv.test.js +77 -0
- package/dist/test/dotenv.test.js.map +1 -0
- package/dist/test/extractors-go.test.d.ts +1 -0
- package/dist/test/extractors-go.test.js +393 -0
- package/dist/test/extractors-go.test.js.map +1 -0
- package/dist/test/extractors-rust.test.d.ts +1 -0
- package/dist/test/extractors-rust.test.js +219 -0
- package/dist/test/extractors-rust.test.js.map +1 -0
- package/dist/test/extractors-utils.test.d.ts +1 -0
- package/dist/test/extractors-utils.test.js +786 -0
- package/dist/test/extractors-utils.test.js.map +1 -0
- package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.d.ts +1 -0
- package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.js +4 -0
- package/dist/test/fixtures/compiler-e2e/basic-node-service/repo/infra/deploy.js.map +1 -0
- package/dist/test/frontmatter.test.d.ts +1 -0
- package/dist/test/frontmatter.test.js +287 -0
- package/dist/test/frontmatter.test.js.map +1 -0
- package/dist/test/init-planner.test.d.ts +1 -0
- package/dist/test/init-planner.test.js +688 -0
- package/dist/test/init-planner.test.js.map +1 -0
- package/dist/test/linter.test.d.ts +1 -0
- package/dist/test/linter.test.js +426 -0
- package/dist/test/linter.test.js.map +1 -0
- package/dist/test/llm-provider.test.d.ts +1 -0
- package/dist/test/llm-provider.test.js +783 -0
- package/dist/test/llm-provider.test.js.map +1 -0
- package/dist/test/page-ownership.test.d.ts +1 -0
- package/dist/test/page-ownership.test.js +247 -0
- package/dist/test/page-ownership.test.js.map +1 -0
- package/dist/test/publisher.test.d.ts +1 -0
- package/dist/test/publisher.test.js +1297 -0
- package/dist/test/publisher.test.js.map +1 -0
- package/dist/test/repository-analysis.test.d.ts +1 -0
- package/dist/test/repository-analysis.test.js +182 -0
- package/dist/test/repository-analysis.test.js.map +1 -0
- package/dist/test/run-compiled-tests.d.ts +1 -0
- package/dist/test/run-compiled-tests.js +48 -0
- package/dist/test/run-compiled-tests.js.map +1 -0
- package/dist/test/scanner.test.d.ts +1 -0
- package/dist/test/scanner.test.js +551 -0
- package/dist/test/scanner.test.js.map +1 -0
- package/dist/test/search.test.d.ts +1 -0
- package/dist/test/search.test.js +92 -0
- package/dist/test/search.test.js.map +1 -0
- package/dist/test/update-changelog.test.d.ts +1 -0
- package/dist/test/update-changelog.test.js +125 -0
- package/dist/test/update-changelog.test.js.map +1 -0
- package/dist/test/wiki-graph.test.d.ts +1 -0
- package/dist/test/wiki-graph.test.js +164 -0
- package/dist/test/wiki-graph.test.js.map +1 -0
- package/dist/test/wiki-patch.test.d.ts +1 -0
- package/dist/test/wiki-patch.test.js +610 -0
- package/dist/test/wiki-patch.test.js.map +1 -0
- package/dist/test/wiki-query.test.d.ts +1 -0
- package/dist/test/wiki-query.test.js +163 -0
- package/dist/test/wiki-query.test.js.map +1 -0
- package/docs/PLAN.md +993 -0
- package/docs/WHY.md +61 -0
- package/docs/plans/agent-integration.md +85 -0
- package/docs/plans/ci-publishing.md +111 -0
- package/docs/plans/doc-validation.md +92 -0
- package/docs/plans/github-action.md +113 -0
- package/docs/plans/incremental-mode.md +98 -0
- package/docs/plans/karpathy-llm-wiki-alignment.md +84 -0
- package/docs/plans/llm-compiler.md +160 -0
- package/docs/plans/production-scanner.md +104 -0
- package/docs/plans/query-and-file-back.md +103 -0
- package/docs/plans/search-index.md +118 -0
- package/docs/plans/trust-hardening.md +74 -0
- package/docs/plans/wiki-graph.md +183 -0
- package/docs/plans/wiki-health.md +76 -0
- package/package.json +83 -0
- package/prompts/compiler.md +16 -0
- package/prompts/lint.md +18 -0
- package/prompts/page-templates.md +25 -0
- package/skills/repo-wiki-cli/SKILL.md +139 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type SearchResult } from './search.js';
|
|
2
|
+
import { type WikiGraphEdge } from './wiki-graph.js';
|
|
3
|
+
export type WikiEvidence = {
|
|
4
|
+
ref: string;
|
|
5
|
+
kind: string;
|
|
6
|
+
strength: 'source' | 'documentation' | 'wiki' | 'graph';
|
|
7
|
+
via: string;
|
|
8
|
+
};
|
|
9
|
+
export type WikiQueryAnswer = {
|
|
10
|
+
question: string;
|
|
11
|
+
answer: string;
|
|
12
|
+
totalResults: number;
|
|
13
|
+
results: SearchResult[];
|
|
14
|
+
evidence: WikiEvidence[];
|
|
15
|
+
};
|
|
16
|
+
export type WikiExplanation = {
|
|
17
|
+
target: string;
|
|
18
|
+
found: boolean;
|
|
19
|
+
explanation: string;
|
|
20
|
+
page: SearchResult | null;
|
|
21
|
+
evidence: WikiEvidence[];
|
|
22
|
+
related: Array<{
|
|
23
|
+
nodeId: string;
|
|
24
|
+
path: string;
|
|
25
|
+
kind: string;
|
|
26
|
+
direction: 'incoming' | 'outgoing';
|
|
27
|
+
edgeType: string;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
export type WikiGraphPathResult = {
|
|
31
|
+
from: string;
|
|
32
|
+
to: string;
|
|
33
|
+
found: boolean;
|
|
34
|
+
reason: 'ok' | 'unknown-source' | 'unknown-target' | 'no-path';
|
|
35
|
+
path: Array<{
|
|
36
|
+
nodeId: string;
|
|
37
|
+
path: string;
|
|
38
|
+
kind: string;
|
|
39
|
+
}>;
|
|
40
|
+
edges: WikiGraphEdge[];
|
|
41
|
+
};
|
|
42
|
+
export declare function defaultGraphPathForWiki(wikiDir: string): string;
|
|
43
|
+
export declare function buildWikiQueryAnswer({ question, wikiDir, graphPath, limit, outDir }: {
|
|
44
|
+
question: string;
|
|
45
|
+
wikiDir: string;
|
|
46
|
+
graphPath?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
outDir?: string;
|
|
49
|
+
}): Promise<WikiQueryAnswer>;
|
|
50
|
+
export declare function buildWikiExplanation({ target, wikiDir, graphPath, outDir }: {
|
|
51
|
+
target: string;
|
|
52
|
+
wikiDir: string;
|
|
53
|
+
graphPath?: string;
|
|
54
|
+
outDir?: string;
|
|
55
|
+
}): Promise<WikiExplanation>;
|
|
56
|
+
export declare function findWikiGraphPath({ graphPath, from, to }: {
|
|
57
|
+
graphPath: string;
|
|
58
|
+
from: string;
|
|
59
|
+
to: string;
|
|
60
|
+
}): Promise<WikiGraphPathResult>;
|
|
61
|
+
export declare function formatWikiQueryAnswer(answer: WikiQueryAnswer): string;
|
|
62
|
+
export declare function formatWikiExplanation(explanation: WikiExplanation): string;
|
|
63
|
+
export declare function formatWikiGraphPath(result: WikiGraphPathResult): string;
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { promises as fs } from 'node:fs';
|
|
3
|
+
import { buildSearchIndex, defaultSearchDirForWiki, searchIndex, searchWiki } from './search.js';
|
|
4
|
+
import { getIncomingEdges, getNodeById, getNodesByPath, getOutgoingEdges, loadWikiGraph, selectPageProvenancePaths } from './wiki-graph.js';
|
|
5
|
+
export function defaultGraphPathForWiki(wikiDir) {
|
|
6
|
+
return path.join(path.dirname(path.resolve(wikiDir)), 'graph.json');
|
|
7
|
+
}
|
|
8
|
+
export async function buildWikiQueryAnswer({ question, wikiDir, graphPath = defaultGraphPathForWiki(wikiDir), limit = 5, outDir = defaultSearchDirForWiki(wikiDir) }) {
|
|
9
|
+
const result = await searchWiki({ query: question, wikiDir, outDir, limit });
|
|
10
|
+
const graph = await loadOptionalGraph(graphPath);
|
|
11
|
+
const evidence = collectEvidence(result.results, graph);
|
|
12
|
+
return {
|
|
13
|
+
question,
|
|
14
|
+
answer: formatAnswer(question, result.results, evidence),
|
|
15
|
+
totalResults: result.results.length,
|
|
16
|
+
results: result.results,
|
|
17
|
+
evidence
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export async function buildWikiExplanation({ target, wikiDir, graphPath = defaultGraphPathForWiki(wikiDir), outDir = defaultSearchDirForWiki(wikiDir) }) {
|
|
21
|
+
const { index } = await buildSearchIndex({ wikiDir, outDir });
|
|
22
|
+
const graph = await loadOptionalGraph(graphPath);
|
|
23
|
+
const page = findSearchResultForTarget(index, target);
|
|
24
|
+
if (!page) {
|
|
25
|
+
return {
|
|
26
|
+
target,
|
|
27
|
+
found: false,
|
|
28
|
+
explanation: `No wiki page found for: ${target}`,
|
|
29
|
+
page: null,
|
|
30
|
+
evidence: [],
|
|
31
|
+
related: []
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const evidence = collectEvidence([page], graph);
|
|
35
|
+
const related = graph ? collectRelated(graph, page.pagePath) : [];
|
|
36
|
+
return {
|
|
37
|
+
target,
|
|
38
|
+
found: true,
|
|
39
|
+
explanation: formatExplanation(page, evidence, related),
|
|
40
|
+
page,
|
|
41
|
+
evidence,
|
|
42
|
+
related
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export async function findWikiGraphPath({ graphPath, from, to }) {
|
|
46
|
+
const graph = await loadWikiGraph(graphPath);
|
|
47
|
+
const starts = resolveGraphNodes(graph, from);
|
|
48
|
+
if (starts.length === 0) {
|
|
49
|
+
return { from, to, found: false, reason: 'unknown-source', path: [], edges: [] };
|
|
50
|
+
}
|
|
51
|
+
const targets = new Set(resolveGraphNodes(graph, to).map((node) => node.id));
|
|
52
|
+
if (targets.size === 0) {
|
|
53
|
+
return { from, to, found: false, reason: 'unknown-target', path: [], edges: [] };
|
|
54
|
+
}
|
|
55
|
+
const queue = starts.map((node) => ({ node, path: [node], edges: [] }));
|
|
56
|
+
const visited = new Set(starts.map((node) => node.id));
|
|
57
|
+
for (let queueIndex = 0; queueIndex < queue.length; queueIndex += 1) {
|
|
58
|
+
const current = queue[queueIndex];
|
|
59
|
+
if (targets.has(current.node.id)) {
|
|
60
|
+
return {
|
|
61
|
+
from,
|
|
62
|
+
to,
|
|
63
|
+
found: true,
|
|
64
|
+
reason: 'ok',
|
|
65
|
+
path: current.path.map(formatPathNode),
|
|
66
|
+
edges: current.edges
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
for (const edge of getOutgoingEdges(graph, current.node.id)) {
|
|
70
|
+
const next = getNodeById(graph, edge.to);
|
|
71
|
+
if (!next || visited.has(next.id)) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
visited.add(next.id);
|
|
75
|
+
queue.push({ node: next, path: [...current.path, next], edges: [...current.edges, edge] });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return { from, to, found: false, reason: 'no-path', path: [], edges: [] };
|
|
79
|
+
}
|
|
80
|
+
export function formatWikiQueryAnswer(answer) {
|
|
81
|
+
return answer.answer;
|
|
82
|
+
}
|
|
83
|
+
export function formatWikiExplanation(explanation) {
|
|
84
|
+
return explanation.explanation;
|
|
85
|
+
}
|
|
86
|
+
export function formatWikiGraphPath(result) {
|
|
87
|
+
if (!result.found) {
|
|
88
|
+
return `No path from ${result.from} to ${result.to}: ${result.reason}`;
|
|
89
|
+
}
|
|
90
|
+
const lines = [`Path from ${result.from} to ${result.to}:`];
|
|
91
|
+
result.path.forEach((node, index) => {
|
|
92
|
+
if (index === 0) {
|
|
93
|
+
lines.push(`${index + 1}. ${node.path || node.nodeId} (${node.kind})`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const edge = result.edges[index - 1];
|
|
97
|
+
lines.push(`${index + 1}. --${edge.type}--> ${node.path || node.nodeId} (${node.kind})`);
|
|
98
|
+
});
|
|
99
|
+
return lines.join('\n');
|
|
100
|
+
}
|
|
101
|
+
async function loadOptionalGraph(graphPath) {
|
|
102
|
+
try {
|
|
103
|
+
await fs.access(graphPath);
|
|
104
|
+
return await loadWikiGraph(graphPath);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error?.code === 'ENOENT') {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function collectEvidence(results, graph) {
|
|
114
|
+
const evidence = new Map();
|
|
115
|
+
for (const result of results) {
|
|
116
|
+
for (const sourcePath of result.sourcePaths) {
|
|
117
|
+
addEvidence(evidence, {
|
|
118
|
+
ref: sourcePath,
|
|
119
|
+
kind: inferEvidenceKind(sourcePath),
|
|
120
|
+
strength: inferEvidenceStrength(sourcePath),
|
|
121
|
+
via: `wiki:${result.pagePath}`
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (!graph) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
for (const item of selectPageProvenancePaths(graph, result.pagePath)) {
|
|
128
|
+
addEvidence(evidence, {
|
|
129
|
+
ref: item.path,
|
|
130
|
+
kind: item.kind,
|
|
131
|
+
strength: item.kind === 'documentation' ? 'documentation' : 'source',
|
|
132
|
+
via: `graph:${result.pagePath}`
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return [...evidence.values()].sort(compareEvidence);
|
|
137
|
+
}
|
|
138
|
+
function addEvidence(evidence, item) {
|
|
139
|
+
const key = `${item.strength}:${item.kind}:${item.ref}`;
|
|
140
|
+
if (!evidence.has(key)) {
|
|
141
|
+
evidence.set(key, item);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function formatAnswer(question, results, evidence) {
|
|
145
|
+
if (results.length === 0) {
|
|
146
|
+
return `No local wiki evidence found for: ${question}`;
|
|
147
|
+
}
|
|
148
|
+
const top = results.slice(0, 3).map((result, index) => `${index + 1}. ${result.title}: ${result.summary || result.snippet} [${result.pagePath}]`);
|
|
149
|
+
const evidenceRefs = evidence.filter((item) => item.strength !== 'wiki').slice(0, 8).map((item) => item.ref);
|
|
150
|
+
return [
|
|
151
|
+
`Wiki-first answer for: ${question}`,
|
|
152
|
+
...top,
|
|
153
|
+
evidenceRefs.length > 0 ? `Evidence: ${evidenceRefs.join(', ')}` : 'Evidence: wiki pages only; verify against source before treating as authoritative.'
|
|
154
|
+
].join('\n');
|
|
155
|
+
}
|
|
156
|
+
function formatExplanation(page, evidence, related) {
|
|
157
|
+
const lines = [
|
|
158
|
+
`${page.title} (${page.pagePath})`,
|
|
159
|
+
page.summary || page.snippet || 'No summary available.'
|
|
160
|
+
];
|
|
161
|
+
const evidenceRefs = evidence.filter((item) => item.strength !== 'wiki').map((item) => item.ref);
|
|
162
|
+
lines.push(evidenceRefs.length > 0 ? `Evidence: ${evidenceRefs.join(', ')}` : 'Evidence: wiki page only; source verification needed.');
|
|
163
|
+
if (related.length > 0) {
|
|
164
|
+
lines.push(`Graph: ${related.slice(0, 6).map((item) => `${item.direction}:${item.edgeType}:${item.path}`).join(', ')}`);
|
|
165
|
+
}
|
|
166
|
+
return lines.join('\n');
|
|
167
|
+
}
|
|
168
|
+
function findSearchResultForTarget(index, target) {
|
|
169
|
+
const normalized = normalizeTarget(target);
|
|
170
|
+
const exact = index.entries.find((entry) => normalizeTarget(entry.pagePath) === normalized || normalizeTarget(entry.title) === normalized);
|
|
171
|
+
if (exact) {
|
|
172
|
+
return entryToSearchResult(exact, 1, 0);
|
|
173
|
+
}
|
|
174
|
+
const [first] = searchIndex(index, target, 1);
|
|
175
|
+
return first || null;
|
|
176
|
+
}
|
|
177
|
+
function entryToSearchResult(entry, rank, score) {
|
|
178
|
+
return {
|
|
179
|
+
rank,
|
|
180
|
+
score,
|
|
181
|
+
pagePath: entry.pagePath,
|
|
182
|
+
title: entry.title,
|
|
183
|
+
kind: entry.kind,
|
|
184
|
+
pageState: entry.pageState,
|
|
185
|
+
summary: entry.summary,
|
|
186
|
+
snippet: entry.snippet,
|
|
187
|
+
sourcePaths: entry.sourcePaths,
|
|
188
|
+
graph: { outboundLinks: entry.outboundLinks, inboundLinks: entry.inboundLinks }
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
function collectRelated(graph, pagePath) {
|
|
192
|
+
const pageNodes = getNodesByPath(graph, pagePath, { kind: 'page' });
|
|
193
|
+
const related = [];
|
|
194
|
+
for (const node of pageNodes) {
|
|
195
|
+
for (const edge of getOutgoingEdges(graph, node.id)) {
|
|
196
|
+
const target = getNodeById(graph, edge.to);
|
|
197
|
+
if (target)
|
|
198
|
+
related.push({ nodeId: target.id, path: target.path, kind: target.kind, direction: 'outgoing', edgeType: edge.type });
|
|
199
|
+
}
|
|
200
|
+
for (const edge of getIncomingEdges(graph, node.id)) {
|
|
201
|
+
const source = getNodeById(graph, edge.from);
|
|
202
|
+
if (source)
|
|
203
|
+
related.push({ nodeId: source.id, path: source.path, kind: source.kind, direction: 'incoming', edgeType: edge.type });
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return related.sort((left, right) => left.direction.localeCompare(right.direction) || left.edgeType.localeCompare(right.edgeType) || left.path.localeCompare(right.path));
|
|
207
|
+
}
|
|
208
|
+
function resolveGraphNodes(graph, target) {
|
|
209
|
+
const exact = getNodeById(graph, target);
|
|
210
|
+
if (exact)
|
|
211
|
+
return [exact];
|
|
212
|
+
const normalized = normalizeTarget(target);
|
|
213
|
+
const byPath = getNodesByPath(graph, target);
|
|
214
|
+
if (byPath.length > 0)
|
|
215
|
+
return byPath;
|
|
216
|
+
return graph.graph.nodes.filter((node) => normalizeTarget(node.path) === normalized || normalizeTarget(node.id) === normalized).sort(compareNodes);
|
|
217
|
+
}
|
|
218
|
+
function formatPathNode(node) {
|
|
219
|
+
return { nodeId: node.id, path: node.path, kind: node.kind };
|
|
220
|
+
}
|
|
221
|
+
function inferEvidenceKind(ref) {
|
|
222
|
+
return /\.(md|mdx|markdown)$/i.test(ref) ? 'documentation' : 'source';
|
|
223
|
+
}
|
|
224
|
+
function inferEvidenceStrength(ref) {
|
|
225
|
+
return /\.(md|mdx|markdown)$/i.test(ref) ? 'documentation' : 'source';
|
|
226
|
+
}
|
|
227
|
+
function normalizeTarget(value) {
|
|
228
|
+
return value
|
|
229
|
+
.toLowerCase()
|
|
230
|
+
.replace(/^page:\s*/, '')
|
|
231
|
+
.replace(/^source:\s*/, '')
|
|
232
|
+
.replace(/^documentation:\s*/, '')
|
|
233
|
+
.replace(/^\.\//, '')
|
|
234
|
+
.replace(/\.md$/i, '')
|
|
235
|
+
.trim()
|
|
236
|
+
.replace(/\s+/g, '-');
|
|
237
|
+
}
|
|
238
|
+
function compareNodes(left, right) {
|
|
239
|
+
return left.kind.localeCompare(right.kind) || left.path.localeCompare(right.path) || left.id.localeCompare(right.id);
|
|
240
|
+
}
|
|
241
|
+
function compareEvidence(left, right) {
|
|
242
|
+
return evidenceStrengthRank(left.strength) - evidenceStrengthRank(right.strength)
|
|
243
|
+
|| left.ref.localeCompare(right.ref)
|
|
244
|
+
|| left.via.localeCompare(right.via);
|
|
245
|
+
}
|
|
246
|
+
function evidenceStrengthRank(strength) {
|
|
247
|
+
if (strength === 'source')
|
|
248
|
+
return 0;
|
|
249
|
+
if (strength === 'documentation')
|
|
250
|
+
return 1;
|
|
251
|
+
if (strength === 'graph')
|
|
252
|
+
return 2;
|
|
253
|
+
return 3;
|
|
254
|
+
}
|
|
255
|
+
//# sourceMappingURL=wiki-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wiki-query.js","sourceRoot":"","sources":["../../src/wiki-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|