@wiki0/core 0.0.2 → 0.0.4
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 +27 -3
- package/dist/database.d.ts +3 -2
- package/dist/database.js +2 -2
- package/dist/database.js.map +1 -1
- package/dist/events.d.ts +9 -0
- package/dist/events.js +56 -0
- package/dist/events.js.map +1 -0
- package/dist/facts.js +78 -16
- package/dist/facts.js.map +1 -1
- package/dist/graph.js +14 -2
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/indexer.d.ts +13 -1
- package/dist/indexer.js +208 -7
- package/dist/indexer.js.map +1 -1
- package/dist/lint.js +2 -2
- package/dist/lint.js.map +1 -1
- package/dist/markdown.js +32 -54
- package/dist/markdown.js.map +1 -1
- package/dist/pages.js +26 -4
- package/dist/pages.js.map +1 -1
- package/dist/review.js +3 -1
- package/dist/review.js.map +1 -1
- package/dist/schema.sql +38 -0
- package/dist/search.d.ts +5 -2
- package/dist/search.js +218 -12
- package/dist/search.js.map +1 -1
- package/dist/topics.d.ts +2 -0
- package/dist/topics.js +55 -0
- package/dist/topics.js.map +1 -0
- package/dist/types.d.ts +102 -12
- package/dist/workflow.d.ts +4 -0
- package/dist/workflow.js +301 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +2 -3
package/dist/workflow.js
ADDED
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync, statSync, } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { log_wiki_event } from './events.js';
|
|
4
|
+
import { index_wiki } from './indexer.js';
|
|
5
|
+
import { serialize_frontmatter } from './markdown.js';
|
|
6
|
+
import { create_page } from './pages.js';
|
|
7
|
+
import { page_file_path, resolve_wiki_root } from './paths.js';
|
|
8
|
+
export const wiki_building_workflow_markdown = `# Wiki building workflow
|
|
9
|
+
|
|
10
|
+
Use this workflow when a user asks to build, bootstrap, generate, or improve a wiki from source material. A codebase is one source type; the same workflow applies to docs, notes, research, transcripts, or any mixed knowledge corpus.
|
|
11
|
+
|
|
12
|
+
## Steps
|
|
13
|
+
|
|
14
|
+
1. Clarify the source scope only if it is ambiguous.
|
|
15
|
+
2. Inspect source material before writing pages.
|
|
16
|
+
3. Propose a small page plan with names, purposes, and review flags.
|
|
17
|
+
4. Create an index page that explains the corpus and links to major sections.
|
|
18
|
+
5. Create focused pages for concepts, workflows, decisions, sources, and open questions.
|
|
19
|
+
6. Use [[WikiLinks]] to connect related pages instead of duplicating context.
|
|
20
|
+
7. Use frontmatter for title, aliases, tags, status, and review markers.
|
|
21
|
+
8. Add structured facts for durable claims, decisions, or constraints.
|
|
22
|
+
9. Run index_wiki after page creation.
|
|
23
|
+
10. Run lint_wiki and fix unresolved links or duplicate names.
|
|
24
|
+
11. Run review_wiki and surface pages that still need human review.
|
|
25
|
+
|
|
26
|
+
## Quality bar
|
|
27
|
+
|
|
28
|
+
- Prefer many focused pages over one giant dump.
|
|
29
|
+
- Mark uncertain pages with needs-review instead of inventing confidence.
|
|
30
|
+
- Preserve citations or source paths when facts come from external material.
|
|
31
|
+
- Make the wiki navigable for humans and retrievable for agents.
|
|
32
|
+
`;
|
|
33
|
+
const common_pages = [
|
|
34
|
+
{
|
|
35
|
+
title: 'Index',
|
|
36
|
+
path: 'index',
|
|
37
|
+
purpose: 'Entry point that summarizes the wiki and links to major sections.',
|
|
38
|
+
tags: ['index'],
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
title: 'Sources',
|
|
42
|
+
path: 'sources/index',
|
|
43
|
+
purpose: 'Inventory of source material used to build the wiki.',
|
|
44
|
+
tags: ['sources'],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: 'Concepts',
|
|
48
|
+
path: 'concepts/index',
|
|
49
|
+
purpose: 'Stable concepts, glossary entries, and domain vocabulary.',
|
|
50
|
+
tags: ['concepts'],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title: 'Workflows',
|
|
54
|
+
path: 'workflows/index',
|
|
55
|
+
purpose: 'Repeatable processes, how-tos, and operational playbooks.',
|
|
56
|
+
tags: ['workflow'],
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
title: 'Open questions',
|
|
60
|
+
path: 'questions/open-questions',
|
|
61
|
+
purpose: 'Unknowns, contradictions, and items requiring human review.',
|
|
62
|
+
tags: ['needs-review', 'questions'],
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const source_pages = {
|
|
66
|
+
general: [],
|
|
67
|
+
codebase: [
|
|
68
|
+
{
|
|
69
|
+
title: 'Architecture overview',
|
|
70
|
+
path: 'architecture/overview',
|
|
71
|
+
purpose: 'System shape, package boundaries, runtime flow, and key tradeoffs.',
|
|
72
|
+
tags: ['architecture', 'needs-review'],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
title: 'Packages and modules',
|
|
76
|
+
path: 'packages/index',
|
|
77
|
+
purpose: 'Map packages, modules, entry points, and ownership boundaries.',
|
|
78
|
+
tags: ['package', 'codebase'],
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
docs: [
|
|
82
|
+
{
|
|
83
|
+
title: 'Documentation map',
|
|
84
|
+
path: 'docs/documentation-map',
|
|
85
|
+
purpose: 'Organize existing documentation by audience, topic, and freshness.',
|
|
86
|
+
tags: ['documentation', 'needs-review'],
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
research: [
|
|
90
|
+
{
|
|
91
|
+
title: 'Research findings',
|
|
92
|
+
path: 'research/findings',
|
|
93
|
+
purpose: 'Summarize sourced claims, evidence, and confidence levels.',
|
|
94
|
+
tags: ['research', 'needs-review'],
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
notes: [
|
|
98
|
+
{
|
|
99
|
+
title: 'Note clusters',
|
|
100
|
+
path: 'notes/clusters',
|
|
101
|
+
purpose: 'Group raw notes into themes and candidate durable pages.',
|
|
102
|
+
tags: ['notes', 'needs-review'],
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
};
|
|
106
|
+
export function plan_wiki(options = {}) {
|
|
107
|
+
const source_type = options.source_type ?? 'general';
|
|
108
|
+
const scope = options.scope ?? 'user-provided source material';
|
|
109
|
+
const pages = [...common_pages, ...source_pages[source_type]];
|
|
110
|
+
return {
|
|
111
|
+
source_type: source_type,
|
|
112
|
+
scope,
|
|
113
|
+
workflow: wiki_building_workflow_markdown,
|
|
114
|
+
pages,
|
|
115
|
+
next_steps: [
|
|
116
|
+
'Inspect the source material and adjust this plan before writing pages.',
|
|
117
|
+
'Create or update the index page first so later pages have a navigation target.',
|
|
118
|
+
'Create focused pages with frontmatter and wikilinks.',
|
|
119
|
+
'Run index_wiki, lint_wiki, and review_wiki before handing off.',
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
export function bootstrap_wiki(options = {}) {
|
|
124
|
+
const root = resolve_wiki_root(options.root);
|
|
125
|
+
const plan = plan_wiki(options);
|
|
126
|
+
const created = [];
|
|
127
|
+
const skipped = [];
|
|
128
|
+
const detected_sources = detect_source_inventory(root, plan.source_type, options.sources, plan.scope);
|
|
129
|
+
for (const page of plan.pages) {
|
|
130
|
+
if (!options.overwrite &&
|
|
131
|
+
existsSync(page_file_path(page.path, root))) {
|
|
132
|
+
skipped.push(page.path);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
create_page(page.path, page_template(page, plan, detected_sources), {
|
|
136
|
+
root,
|
|
137
|
+
overwrite: options.overwrite,
|
|
138
|
+
});
|
|
139
|
+
created.push(page.path);
|
|
140
|
+
}
|
|
141
|
+
const ingested_sources = options.ingest_sources
|
|
142
|
+
? ingest_sources(root, detected_sources, options.overwrite, created, skipped)
|
|
143
|
+
: [];
|
|
144
|
+
const indexed = index_wiki(root);
|
|
145
|
+
log_wiki_event({
|
|
146
|
+
root,
|
|
147
|
+
operation: 'bootstrap_wiki',
|
|
148
|
+
summary: `Bootstrapped ${created.length} pages and ${ingested_sources.length} sources`,
|
|
149
|
+
target: root,
|
|
150
|
+
details: { created, skipped, ingested_sources },
|
|
151
|
+
});
|
|
152
|
+
return {
|
|
153
|
+
root,
|
|
154
|
+
plan,
|
|
155
|
+
created,
|
|
156
|
+
skipped,
|
|
157
|
+
ingested_sources: ingested_sources,
|
|
158
|
+
indexed,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function page_template(page, plan, detected_sources) {
|
|
162
|
+
if (page.path === 'index')
|
|
163
|
+
return index_template(page, plan);
|
|
164
|
+
const frontmatter = serialize_frontmatter({
|
|
165
|
+
title: page.title,
|
|
166
|
+
tags: page.tags,
|
|
167
|
+
});
|
|
168
|
+
if (page.path === 'sources/index') {
|
|
169
|
+
return `${frontmatter}# ${page.title}\n\n${page.purpose}\n\n## Source scope\n\n${plan.scope}\n\n## Detected sources\n\n${format_source_inventory(detected_sources)}\n\n## Ingestion notes\n\n- Record source paths, URLs, owners, and freshness before extracting durable facts.\n`;
|
|
170
|
+
}
|
|
171
|
+
if (page.path === 'questions/open-questions') {
|
|
172
|
+
return `${frontmatter}# ${page.title}\n\n${page.purpose}\n\n## Source scope\n\n${plan.scope}\n\n## Questions\n\n- What source material has not been inspected yet?\n- Which claims need citations or owner confirmation?\n- Which pages should move from needs-review to verified?\n`;
|
|
173
|
+
}
|
|
174
|
+
return `${frontmatter}# ${page.title}\n\n${page.purpose}\n\n## Source scope\n\n${plan.scope}\n\n## Evidence\n\n- Add source-backed details here with citations or file paths.\n\n## Candidate facts\n\n- Add durable claims here before promoting them with add_fact.\n`;
|
|
175
|
+
}
|
|
176
|
+
function index_template(page, plan) {
|
|
177
|
+
const frontmatter = serialize_frontmatter({
|
|
178
|
+
title: page.title,
|
|
179
|
+
tags: page.tags,
|
|
180
|
+
});
|
|
181
|
+
const links = plan.pages
|
|
182
|
+
.filter((planned_page) => planned_page.path !== page.path)
|
|
183
|
+
.map((planned_page) => `- [[${planned_page.path}|${planned_page.title}]] — ${planned_page.purpose}`)
|
|
184
|
+
.join('\n');
|
|
185
|
+
return `${frontmatter}# ${page.title}\n\nWiki for ${plan.scope}.\n\n## Start here\n\n${links}\n\n## Workflow\n\nUse [[workflows/index|Workflows]] to capture repeatable processes, [[sources/index|Sources]] to track inspected material, and [[questions/open-questions|Open questions]] for uncertain claims.\n`;
|
|
186
|
+
}
|
|
187
|
+
function detect_source_inventory(root, source_type, explicit_sources = [], scope = '') {
|
|
188
|
+
const candidates = ['README.md', 'package.json', 'docs'];
|
|
189
|
+
if (source_type === 'codebase')
|
|
190
|
+
candidates.push('packages');
|
|
191
|
+
const sources = [
|
|
192
|
+
...explicit_sources,
|
|
193
|
+
...extract_urls(scope),
|
|
194
|
+
];
|
|
195
|
+
for (const candidate of candidates) {
|
|
196
|
+
const candidate_path = join(root, candidate);
|
|
197
|
+
if (!existsSync(candidate_path))
|
|
198
|
+
continue;
|
|
199
|
+
if (candidate === 'packages') {
|
|
200
|
+
for (const entry of readdirSync(candidate_path, {
|
|
201
|
+
withFileTypes: true,
|
|
202
|
+
})) {
|
|
203
|
+
if (entry.isDirectory()) {
|
|
204
|
+
sources.push(`packages/${entry.name}/package.json`);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
sources.push(candidate);
|
|
210
|
+
}
|
|
211
|
+
return [...new Set(sources)];
|
|
212
|
+
}
|
|
213
|
+
function ingest_sources(root, sources, overwrite, created, skipped) {
|
|
214
|
+
const ingested = [];
|
|
215
|
+
for (const source of sources) {
|
|
216
|
+
const source_page = `sources/detected/${source_slug(source)}`;
|
|
217
|
+
if (!overwrite && existsSync(page_file_path(source_page, root))) {
|
|
218
|
+
skipped.push(source_page);
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
const source_kind = source.startsWith('http')
|
|
222
|
+
? 'url'
|
|
223
|
+
: existsSync(join(root, source))
|
|
224
|
+
? 'file'
|
|
225
|
+
: 'missing';
|
|
226
|
+
create_page(source_page, source_template(root, source, source_kind), {
|
|
227
|
+
root,
|
|
228
|
+
overwrite,
|
|
229
|
+
});
|
|
230
|
+
created.push(source_page);
|
|
231
|
+
ingested.push({
|
|
232
|
+
source,
|
|
233
|
+
page: `${source_page}.md`,
|
|
234
|
+
kind: source_kind,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return ingested;
|
|
238
|
+
}
|
|
239
|
+
function source_template(root, source, kind) {
|
|
240
|
+
const frontmatter = serialize_frontmatter({
|
|
241
|
+
title: `Source: ${source}`,
|
|
242
|
+
tags: ['source', kind],
|
|
243
|
+
status: kind === 'missing' ? 'review' : 'draft',
|
|
244
|
+
});
|
|
245
|
+
const source_path = join(root, source);
|
|
246
|
+
const excerpt = kind === 'file' ? source_excerpt(source_path) : '';
|
|
247
|
+
const candidate_facts = kind === 'file' ? source_candidate_facts(source_path) : [];
|
|
248
|
+
const evidence = kind === 'file'
|
|
249
|
+
? `## Extracted excerpt\n\n${excerpt}\n\n`
|
|
250
|
+
: kind === 'url'
|
|
251
|
+
? '## Extraction\n\n- URL ingestion is registered; fetch and summarize this source before promoting facts.\n\n'
|
|
252
|
+
: '## Extraction\n\n- Source was listed but not found locally; confirm the path or URL.\n\n';
|
|
253
|
+
return `${frontmatter}# Source: ${source}\n\nSource kind: ${kind}\n\n${evidence}## Candidate facts\n\n${format_candidate_facts(candidate_facts)}\n\n## Open questions\n\n- What claims from this source should become stable wiki pages?\n- What needs citation, owner confirmation, or freshness review?\n`;
|
|
254
|
+
}
|
|
255
|
+
function source_excerpt(file_path) {
|
|
256
|
+
const stats = statSync(file_path);
|
|
257
|
+
if (stats.isDirectory())
|
|
258
|
+
return '- Directory source; inspect child files before extracting facts.';
|
|
259
|
+
const content = readFileSync(file_path, 'utf-8')
|
|
260
|
+
.slice(0, 2000)
|
|
261
|
+
.trim();
|
|
262
|
+
return content.length > 0
|
|
263
|
+
? `\`\`\`\n${content}\n\`\`\``
|
|
264
|
+
: '- Source file is empty.';
|
|
265
|
+
}
|
|
266
|
+
function source_candidate_facts(file_path) {
|
|
267
|
+
const stats = statSync(file_path);
|
|
268
|
+
if (stats.isDirectory())
|
|
269
|
+
return [];
|
|
270
|
+
const lines = readFileSync(file_path, 'utf-8').split(/\r?\n/u);
|
|
271
|
+
return lines
|
|
272
|
+
.map((line, index) => ({
|
|
273
|
+
line: line.trim(),
|
|
274
|
+
line_number: index + 1,
|
|
275
|
+
}))
|
|
276
|
+
.filter(({ line }) => /\b(should|must|required|requirement|decision|constraint|risk|assumption|fact)\b/iu.test(line))
|
|
277
|
+
.slice(0, 10)
|
|
278
|
+
.map(({ line, line_number }) => `- Candidate from line ${line_number}: ${line}`);
|
|
279
|
+
}
|
|
280
|
+
function format_candidate_facts(candidate_facts) {
|
|
281
|
+
return candidate_facts.length > 0
|
|
282
|
+
? candidate_facts.join('\n')
|
|
283
|
+
: '- Review this source and promote durable claims with add_fact.';
|
|
284
|
+
}
|
|
285
|
+
function source_slug(source) {
|
|
286
|
+
return (source
|
|
287
|
+
.replace(/^https?:\/\//u, '')
|
|
288
|
+
.replace(/[^A-Za-z0-9]+/gu, '-')
|
|
289
|
+
.replace(/^-+|-+$/gu, '')
|
|
290
|
+
.toLowerCase() || 'source');
|
|
291
|
+
}
|
|
292
|
+
function extract_urls(scope) {
|
|
293
|
+
return scope.match(/https?:\/\/[^\s)]+/gu) ?? [];
|
|
294
|
+
}
|
|
295
|
+
function format_source_inventory(sources) {
|
|
296
|
+
if (sources.length === 0) {
|
|
297
|
+
return '- No local sources detected automatically; add source paths or URLs here.';
|
|
298
|
+
}
|
|
299
|
+
return sources.map((source) => `- \`${source}\``).join('\n');
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wiki0/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Core wiki0 Markdown wiki indexing and retrieval primitives",
|
|
5
5
|
"homepage": "https://github.com/spences10/wiki0/tree/main/packages/core#readme",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,10 +27,9 @@
|
|
|
27
27
|
"access": "public"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"
|
|
30
|
+
"yaml": "^2.9.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@types/better-sqlite3": "^7.6.13",
|
|
34
33
|
"@types/node": "^25.8.0",
|
|
35
34
|
"typescript": "^6.0.3",
|
|
36
35
|
"vite-plus": "^0.1.22",
|