@jafreck/lore 0.1.0 → 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.
Files changed (93) hide show
  1. package/README.md +345 -196
  2. package/dist/cli.js +133 -12
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/dist/indexer/db.d.ts.map +1 -1
  8. package/dist/indexer/db.js +96 -2
  9. package/dist/indexer/db.js.map +1 -1
  10. package/dist/indexer/docs.d.ts +42 -0
  11. package/dist/indexer/docs.d.ts.map +1 -0
  12. package/dist/indexer/docs.js +214 -0
  13. package/dist/indexer/docs.js.map +1 -0
  14. package/dist/indexer/embedder.d.ts +7 -0
  15. package/dist/indexer/embedder.d.ts.map +1 -1
  16. package/dist/indexer/embedder.js +10 -0
  17. package/dist/indexer/embedder.js.map +1 -1
  18. package/dist/indexer/extractors/types.d.ts +22 -0
  19. package/dist/indexer/extractors/types.d.ts.map +1 -1
  20. package/dist/indexer/extractors/types.js +12 -0
  21. package/dist/indexer/extractors/types.js.map +1 -1
  22. package/dist/indexer/extractors/typescript.d.ts +1 -1
  23. package/dist/indexer/extractors/typescript.d.ts.map +1 -1
  24. package/dist/indexer/extractors/typescript.js +38 -8
  25. package/dist/indexer/extractors/typescript.js.map +1 -1
  26. package/dist/indexer/git-hooks.d.ts +1 -0
  27. package/dist/indexer/git-hooks.d.ts.map +1 -1
  28. package/dist/indexer/git-hooks.js +3 -2
  29. package/dist/indexer/git-hooks.js.map +1 -1
  30. package/dist/indexer/index.d.ts +32 -7
  31. package/dist/indexer/index.d.ts.map +1 -1
  32. package/dist/indexer/index.js +427 -15
  33. package/dist/indexer/index.js.map +1 -1
  34. package/dist/indexer/lsp/client.d.ts +61 -0
  35. package/dist/indexer/lsp/client.d.ts.map +1 -0
  36. package/dist/indexer/lsp/client.js +217 -0
  37. package/dist/indexer/lsp/client.js.map +1 -0
  38. package/dist/indexer/lsp/config.d.ts +16 -0
  39. package/dist/indexer/lsp/config.d.ts.map +1 -0
  40. package/dist/indexer/lsp/config.js +78 -0
  41. package/dist/indexer/lsp/config.js.map +1 -0
  42. package/dist/indexer/lsp/enrichment.d.ts +55 -0
  43. package/dist/indexer/lsp/enrichment.d.ts.map +1 -0
  44. package/dist/indexer/lsp/enrichment.js +211 -0
  45. package/dist/indexer/lsp/enrichment.js.map +1 -0
  46. package/dist/indexer/lsp/registry.d.ts +19 -0
  47. package/dist/indexer/lsp/registry.d.ts.map +1 -0
  48. package/dist/indexer/lsp/registry.js +118 -0
  49. package/dist/indexer/lsp/registry.js.map +1 -0
  50. package/dist/indexer/parser.d.ts +7 -0
  51. package/dist/indexer/parser.d.ts.map +1 -1
  52. package/dist/indexer/parser.js +3 -1
  53. package/dist/indexer/parser.js.map +1 -1
  54. package/dist/indexer/poller.d.ts +7 -0
  55. package/dist/indexer/poller.d.ts.map +1 -1
  56. package/dist/indexer/poller.js +6 -0
  57. package/dist/indexer/poller.js.map +1 -1
  58. package/dist/indexer/walker.d.ts +22 -0
  59. package/dist/indexer/walker.d.ts.map +1 -1
  60. package/dist/indexer/walker.js +15 -0
  61. package/dist/indexer/walker.js.map +1 -1
  62. package/dist/indexer/watcher.d.ts +7 -0
  63. package/dist/indexer/watcher.d.ts.map +1 -1
  64. package/dist/indexer/watcher.js +6 -0
  65. package/dist/indexer/watcher.js.map +1 -1
  66. package/dist/kb-server/db.d.ts +82 -0
  67. package/dist/kb-server/db.d.ts.map +1 -1
  68. package/dist/kb-server/db.js +239 -0
  69. package/dist/kb-server/db.js.map +1 -1
  70. package/dist/kb-server/server.d.ts +11 -3
  71. package/dist/kb-server/server.d.ts.map +1 -1
  72. package/dist/kb-server/server.js +28 -6
  73. package/dist/kb-server/server.js.map +1 -1
  74. package/dist/kb-server/tools/architecture.d.ts +7 -0
  75. package/dist/kb-server/tools/architecture.d.ts.map +1 -1
  76. package/dist/kb-server/tools/architecture.js +35 -0
  77. package/dist/kb-server/tools/architecture.js.map +1 -1
  78. package/dist/kb-server/tools/docs.d.ts +78 -0
  79. package/dist/kb-server/tools/docs.d.ts.map +1 -0
  80. package/dist/kb-server/tools/docs.js +136 -0
  81. package/dist/kb-server/tools/docs.js.map +1 -0
  82. package/dist/kb-server/tools/lookup.d.ts.map +1 -1
  83. package/dist/kb-server/tools/lookup.js +5 -4
  84. package/dist/kb-server/tools/lookup.js.map +1 -1
  85. package/dist/kb-server/tools/notes.d.ts +1 -1
  86. package/dist/kb-server/tools/notes.d.ts.map +1 -1
  87. package/dist/kb-server/tools/notes.js +35 -0
  88. package/dist/kb-server/tools/notes.js.map +1 -1
  89. package/dist/kb-server/tools/search.d.ts +54 -11
  90. package/dist/kb-server/tools/search.d.ts.map +1 -1
  91. package/dist/kb-server/tools/search.js +138 -34
  92. package/dist/kb-server/tools/search.js.map +1 -1
  93. package/package.json +16 -7
package/dist/cli.js CHANGED
@@ -16,16 +16,17 @@
16
16
  * Ingest a coverage report file into the knowledge base.
17
17
  */
18
18
  import * as fs from 'node:fs';
19
+ import { loadLspSettingsFromLoreConfig, resolveEffectiveLspSettings, } from './indexer/lsp/config.js';
19
20
  // ─── Argument helpers ─────────────────────────────────────────────────────────
20
21
  function usage() {
21
22
  console.error(`Usage:
22
- lore index --root <dir> --db <path> [--embedding-model <id>] [--history] [--history-depth <n>] [--history-all]
23
+ lore index --root <dir> --db <path> [--embedding-model <id>] [--index-deps] [--history] [--history-depth <n>] [--history-all]
23
24
  Index a codebase into a knowledge-base SQLite file
24
25
  lore mcp --db <path> Start the KB MCP server (stdio transport)
25
- lore refresh --db <path> --root <dir> [--history] [--history-depth <n>] [--history-all] Run an incremental index update and exit
26
+ lore refresh --db <path> --root <dir> [--index-deps] [--history] [--history-depth <n>] [--history-all] Run an incremental index update and exit
26
27
  lore refresh --db <path> --root <dir> --watch Watch for file changes and refresh automatically
27
28
  lore refresh --db <path> --root <dir> --poll Poll for file changes and refresh automatically
28
- lore hooks --db <path> --root <dir> [--history] [--history-depth <n>] [--history-all]
29
+ lore hooks --db <path> --root <dir> [--history] [--history-depth <n>] [--history-all] [--lsp] [--no-lsp]
29
30
  Install git hooks for automatic refresh on commit/merge/checkout
30
31
  lore ingest-coverage --db <path> --root <dir> --file <path> --format <lcov|cobertura> [--commit <sha>]
31
32
  Ingest an explicit coverage report file into the knowledge base
@@ -34,14 +35,22 @@ Options:
34
35
  --root <dir> Root directory to index (required for index, refresh)
35
36
  --db <path> Path to a Lore knowledge-base SQLite file (required for index, mcp, refresh)
36
37
  --embedding-model <id> Embedding model identifier (default: Qwen/Qwen3-Embedding-4B)
38
+ --index-deps Enable dependency API indexing (disabled by default)
37
39
  --history Enable git history ingestion
38
40
  --history-depth <n> Limit commit ingestion to the most recent N commits
39
41
  --history-all Traverse all refs (branches/tags) for history ingestion
40
42
  --include <glob> Glob pattern for files to include (repeatable)
41
43
  --exclude <glob> Glob pattern for paths to exclude (repeatable)
42
44
  --language <lang> Language name to filter by, e.g. typescript (repeatable)
45
+ --docs-include <glob> Glob pattern for docs to include (repeatable)
46
+ --docs-exclude <glob> Glob pattern for docs to exclude (repeatable)
47
+ --docs-extension <ext> Documentation extension to include, e.g. .md (repeatable)
48
+ --docs-auto-notes Enable doc-based note seeding during indexing (default)
49
+ --no-docs-auto-notes Disable doc-based note seeding during indexing
43
50
  --watch Enable fs-event watch mode (low-latency, may miss events on some platforms)
44
51
  --poll Enable polling mode (reliable but higher CPU/IO cost)
52
+ --lsp Force-enable index-time LSP settings
53
+ --no-lsp Force-disable index-time LSP settings
45
54
  --file <path> Coverage report path (required for ingest-coverage)
46
55
  --format <name> Coverage format: lcov or cobertura (required for ingest-coverage)
47
56
  --commit <sha> Commit SHA to associate with coverage ingestion (default: HEAD)
@@ -63,6 +72,31 @@ function flags(args, name) {
63
72
  }
64
73
  return results;
65
74
  }
75
+ function docsAutoNotesFlag(args) {
76
+ const enable = args.includes('--docs-auto-notes');
77
+ const disable = args.includes('--no-docs-auto-notes');
78
+ if (enable && disable) {
79
+ console.error('Error: --docs-auto-notes and --no-docs-auto-notes cannot be used together.\n');
80
+ usage();
81
+ }
82
+ if (enable)
83
+ return true;
84
+ if (disable)
85
+ return false;
86
+ return true;
87
+ }
88
+ function explicitLspEnabled(args) {
89
+ const enabled = args.includes('--lsp');
90
+ const disabled = args.includes('--no-lsp');
91
+ if (enabled && disabled) {
92
+ throw new Error('cannot combine --lsp and --no-lsp');
93
+ }
94
+ if (enabled)
95
+ return true;
96
+ if (disabled)
97
+ return false;
98
+ return undefined;
99
+ }
66
100
  // ─── Main ─────────────────────────────────────────────────────────────────────
67
101
  async function main() {
68
102
  const args = process.argv.slice(2);
@@ -85,6 +119,7 @@ async function main() {
85
119
  return;
86
120
  }
87
121
  const embeddingModel = flag(args, '--embedding-model');
122
+ const indexDependencies = args.includes('--index-deps');
88
123
  const historyEnabled = args.includes('--history');
89
124
  const historyAll = args.includes('--history-all');
90
125
  const historyDepthRaw = flag(args, '--history-depth');
@@ -98,9 +133,34 @@ async function main() {
98
133
  }
99
134
  historyDepth = Math.floor(parsed);
100
135
  }
136
+ let lspEnabled;
137
+ try {
138
+ lspEnabled = explicitLspEnabled(args);
139
+ }
140
+ catch (error) {
141
+ const message = error instanceof Error ? error.message : String(error);
142
+ console.error(`Error: ${message}.\n`);
143
+ usage();
144
+ return;
145
+ }
146
+ let lspSettings;
147
+ try {
148
+ const lspConfig = loadLspSettingsFromLoreConfig(rootDir);
149
+ lspSettings = resolveEffectiveLspSettings(lspConfig, { ...(lspEnabled !== undefined && { enabled: lspEnabled }) });
150
+ }
151
+ catch (error) {
152
+ const message = error instanceof Error ? error.message : String(error);
153
+ console.error(`Error: ${message}\n`);
154
+ process.exit(1);
155
+ return;
156
+ }
101
157
  const includeGlobs = flags(args, '--include');
102
158
  const excludeGlobs = flags(args, '--exclude');
103
159
  const languageNames = flags(args, '--language');
160
+ const docsIncludeGlobs = flags(args, '--docs-include');
161
+ const docsExcludeGlobs = flags(args, '--docs-exclude');
162
+ const docsExtensions = flags(args, '--docs-extension');
163
+ const docsAutoNotes = docsAutoNotesFlag(args);
104
164
  // Static reverse map: language name → extensions (mirrors EXT_TO_LANG in walker.ts)
105
165
  const LANG_TO_EXTS = {
106
166
  c: ['.c', '.h'],
@@ -145,6 +205,9 @@ async function main() {
145
205
  const { IndexBuilder } = await import('./indexer/index.js');
146
206
  const shouldEnableHistory = historyEnabled || historyAll || historyDepth !== undefined;
147
207
  const options = {
208
+ docsAutoNotes,
209
+ indexDependencies,
210
+ lsp: lspSettings,
148
211
  ...(embeddingModel && { embeddingModel }),
149
212
  ...(shouldEnableHistory && {
150
213
  history: {
@@ -158,7 +221,10 @@ async function main() {
158
221
  ...(includeGlobs.length > 0 && { includeGlobs }),
159
222
  ...(excludeGlobs.length > 0 && { excludeGlobs }),
160
223
  ...(extensions && { extensions }),
161
- }, undefined, Object.keys(options).length > 0 ? options : undefined);
224
+ ...(docsIncludeGlobs.length > 0 && { docsIncludeGlobs }),
225
+ ...(docsExcludeGlobs.length > 0 && { docsExcludeGlobs }),
226
+ ...(docsExtensions.length > 0 && { docsExtensions }),
227
+ }, undefined, options);
162
228
  await builder.build();
163
229
  }
164
230
  else if (subcommand === 'mcp') {
@@ -211,6 +277,7 @@ async function main() {
211
277
  }
212
278
  const watchMode = args.includes('--watch');
213
279
  const pollMode = args.includes('--poll');
280
+ const indexDependencies = args.includes('--index-deps');
214
281
  const historyEnabled = args.includes('--history');
215
282
  const historyAll = args.includes('--history-all');
216
283
  const historyDepthRaw = flag(args, '--history-depth');
@@ -224,6 +291,27 @@ async function main() {
224
291
  }
225
292
  historyDepth = Math.floor(parsed);
226
293
  }
294
+ let lspEnabled;
295
+ try {
296
+ lspEnabled = explicitLspEnabled(args);
297
+ }
298
+ catch (error) {
299
+ const message = error instanceof Error ? error.message : String(error);
300
+ console.error(`Error: ${message}.\n`);
301
+ usage();
302
+ return;
303
+ }
304
+ let lspSettings;
305
+ try {
306
+ const lspConfig = loadLspSettingsFromLoreConfig(rootDir);
307
+ lspSettings = resolveEffectiveLspSettings(lspConfig, { ...(lspEnabled !== undefined && { enabled: lspEnabled }) });
308
+ }
309
+ catch (error) {
310
+ const message = error instanceof Error ? error.message : String(error);
311
+ console.error(`Error: ${message}\n`);
312
+ process.exit(1);
313
+ return;
314
+ }
227
315
  const shouldEnableHistory = historyEnabled || historyAll || historyDepth !== undefined;
228
316
  const historyOption = shouldEnableHistory
229
317
  ? {
@@ -231,12 +319,24 @@ async function main() {
231
319
  ...(historyAll && { all: true }),
232
320
  }
233
321
  : false;
234
- const walkerConfig = { rootDir };
322
+ const docsIncludeGlobs = flags(args, '--docs-include');
323
+ const docsExcludeGlobs = flags(args, '--docs-exclude');
324
+ const docsExtensions = flags(args, '--docs-extension');
325
+ const docsAutoNotes = docsAutoNotesFlag(args);
326
+ const walkerConfig = {
327
+ rootDir,
328
+ ...(docsIncludeGlobs.length > 0 && { docsIncludeGlobs }),
329
+ ...(docsExcludeGlobs.length > 0 && { docsExcludeGlobs }),
330
+ ...(docsExtensions.length > 0 && { docsExtensions }),
331
+ };
332
+ const refreshOptions = {
333
+ indexDependencies,
334
+ lsp: lspSettings,
335
+ ...(shouldEnableHistory && { history: historyOption }),
336
+ };
235
337
  if (watchMode) {
236
338
  const { FileWatcher } = await import('./indexer/watcher.js');
237
- const watcher = new FileWatcher(dbPath, walkerConfig, {
238
- history: historyOption,
239
- });
339
+ const watcher = new FileWatcher(dbPath, walkerConfig, refreshOptions);
240
340
  watcher.start();
241
341
  process.stderr.write(JSON.stringify({ level: 'info', source: 'cli', message: 'watch mode started', rootDir }) + '\n');
242
342
  // Keep the process alive until interrupted
@@ -245,9 +345,7 @@ async function main() {
245
345
  }
246
346
  else if (pollMode) {
247
347
  const { FilePoller } = await import('./indexer/poller.js');
248
- const poller = new FilePoller(dbPath, walkerConfig, {
249
- history: historyOption,
250
- });
348
+ const poller = new FilePoller(dbPath, walkerConfig, refreshOptions);
251
349
  poller.start();
252
350
  process.stderr.write(JSON.stringify({ level: 'info', source: 'cli', message: 'poll mode started', rootDir }) + '\n');
253
351
  // Keep the process alive until interrupted
@@ -258,7 +356,8 @@ async function main() {
258
356
  // Manual refresh: full build if DB doesn't exist yet, otherwise incremental update
259
357
  const { IndexBuilder } = await import('./indexer/index.js');
260
358
  const builder = new IndexBuilder(dbPath, walkerConfig, undefined, {
261
- ...(shouldEnableHistory && { history: historyOption }),
359
+ ...refreshOptions,
360
+ docsAutoNotes,
262
361
  });
263
362
  const dbExists = fs.existsSync(dbPath);
264
363
  if (dbExists) {
@@ -297,12 +396,34 @@ async function main() {
297
396
  const historyAll = args.includes('--history-all');
298
397
  const historyDepthRaw = flag(args, '--history-depth');
299
398
  const includeHistory = historyEnabled || historyAll || historyDepthRaw !== undefined;
399
+ let lspEnabled;
400
+ try {
401
+ lspEnabled = explicitLspEnabled(args);
402
+ }
403
+ catch (error) {
404
+ const message = error instanceof Error ? error.message : String(error);
405
+ console.error(`Error: ${message}.\n`);
406
+ usage();
407
+ return;
408
+ }
409
+ let lspSettings;
410
+ try {
411
+ const lspConfig = loadLspSettingsFromLoreConfig(rootDir);
412
+ lspSettings = resolveEffectiveLspSettings(lspConfig, { ...(lspEnabled !== undefined && { enabled: lspEnabled }) });
413
+ }
414
+ catch (error) {
415
+ const message = error instanceof Error ? error.message : String(error);
416
+ console.error(`Error: ${message}\n`);
417
+ process.exit(1);
418
+ return;
419
+ }
300
420
  const { installGitHooks } = await import('./indexer/git-hooks.js');
301
421
  const result = installGitHooks({
302
422
  repoRoot: rootDir,
303
423
  rootDir,
304
424
  dbPath,
305
425
  includeHistory,
426
+ lspEnabled: lspSettings.enabled,
306
427
  });
307
428
  process.stderr.write(JSON.stringify({
308
429
  level: 'info',
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export { ParserPool } from './indexer/parser.js';
9
9
  export { ensurePythonDeps } from './indexer/ensure-python-deps.js';
10
10
  export { installGitHooks } from './indexer/git-hooks.js';
11
11
  export type { InstallGitHooksOptions } from './indexer/git-hooks.js';
12
+ export type { EffectiveLspSettings, LspSettingsOverrides } from './indexer/lsp/config.js';
12
13
  export { SentenceTransformersProvider, Qwen3EmbeddingProvider, DEFAULT_EMBEDDING_MODEL } from './indexer/embedder.js';
13
14
  export type { EmbeddingProvider } from './indexer/embedder.js';
14
15
  export type { ExtractionResult, RawCallRef, RawImport, RawSymbol, SymbolExtractor, } from './indexer/extractors/types.js';
@@ -17,6 +18,8 @@ export type { WatcherOptions } from './indexer/watcher.js';
17
18
  export { FilePoller } from './indexer/poller.js';
18
19
  export type { PollerOptions } from './indexer/poller.js';
19
20
  export { createKbMcpServer } from './kb-server/server.js';
21
+ export type { KbServerOptions } from './kb-server/server.js';
22
+ export type { SearchObservation, SearchObserver } from './kb-server/tools/search.js';
20
23
  export { openReadOnly, getSymbolById, getSymbolsByName, listSymbols, getFileById, getFileByPath, listFiles, } from './kb-server/db.js';
21
24
  export type { SymbolRow, FileRow } from './kb-server/db.js';
22
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjF,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtH,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjF,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtH,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,GAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAUtH,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAUtH,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/indexer/db.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAoNzB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAWtD;AAID,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAC7E,eAAO,MAAM,kCAAkC,+BAA+B,CAAC;AAE/E,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAgB1E"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/indexer/db.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAMtC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAqSzB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAYtD;AAoBD,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAC7E,eAAO,MAAM,kCAAkC,+BAA+B,CAAC;AAE/E,0DAA0D;AAC1D,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjF;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAgB1E"}
@@ -32,7 +32,11 @@ CREATE TABLE IF NOT EXISTS symbols (
32
32
  start_line INTEGER NOT NULL,
33
33
  end_line INTEGER NOT NULL,
34
34
  signature TEXT,
35
- doc_comment TEXT
35
+ doc_comment TEXT,
36
+ resolved_type_signature TEXT,
37
+ resolved_return_type TEXT,
38
+ definition_uri TEXT,
39
+ definition_path TEXT
36
40
  );
37
41
 
38
42
  -- File-linked annotations extracted from comments (e.g. TODO/FIXME/NOTE).
@@ -69,7 +73,11 @@ CREATE TABLE IF NOT EXISTS symbol_refs (
69
73
  caller_id INTEGER NOT NULL REFERENCES symbols(id) ON DELETE CASCADE,
70
74
  callee_id INTEGER REFERENCES symbols(id),
71
75
  callee_name TEXT NOT NULL,
72
- call_line INTEGER NOT NULL
76
+ call_line INTEGER NOT NULL,
77
+ resolved_type_signature TEXT,
78
+ resolved_return_type TEXT,
79
+ definition_uri TEXT,
80
+ definition_path TEXT
73
81
  );
74
82
 
75
83
  -- External (third-party / stdlib) dependencies inferred from imports.
@@ -81,6 +89,25 @@ CREATE TABLE IF NOT EXISTS external_deps (
81
89
  UNIQUE(file_id, package)
82
90
  );
83
91
 
92
+ -- Symbols extracted from direct dependency declarations and public API surfaces.
93
+ CREATE TABLE IF NOT EXISTS external_symbols (
94
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
95
+ dependency_ecosystem TEXT NOT NULL DEFAULT 'npm',
96
+ source_type TEXT NOT NULL DEFAULT 'declaration',
97
+ source_ref TEXT NOT NULL DEFAULT '',
98
+ package_name TEXT NOT NULL,
99
+ package_version TEXT,
100
+ symbol_name TEXT NOT NULL,
101
+ symbol_kind TEXT NOT NULL,
102
+ signature TEXT NOT NULL DEFAULT '',
103
+ doc_comment TEXT,
104
+ resolved_type_signature TEXT,
105
+ resolved_return_type TEXT,
106
+ definition_uri TEXT,
107
+ definition_path TEXT,
108
+ UNIQUE(dependency_ecosystem, package_name, package_version, symbol_name, symbol_kind, signature)
109
+ );
110
+
84
111
  -- Logical modules grouping related files (e.g. Rust crates, Python packages).
85
112
  CREATE TABLE IF NOT EXISTS modules (
86
113
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -133,6 +160,34 @@ CREATE TABLE IF NOT EXISTS notes (
133
160
  UNIQUE(key, scope)
134
161
  );
135
162
 
163
+ -- Indexed documentation files.
164
+ CREATE TABLE IF NOT EXISTS docs (
165
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
166
+ path TEXT NOT NULL,
167
+ branch TEXT NOT NULL DEFAULT '',
168
+ kind TEXT NOT NULL,
169
+ title TEXT NOT NULL,
170
+ content TEXT NOT NULL,
171
+ content_hash TEXT NOT NULL,
172
+ indexed_at INTEGER NOT NULL DEFAULT (unixepoch()),
173
+ UNIQUE(path, branch)
174
+ );
175
+
176
+ -- Heading-based documentation chunks.
177
+ CREATE TABLE IF NOT EXISTS doc_sections (
178
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
179
+ doc_id INTEGER NOT NULL REFERENCES docs(id) ON DELETE CASCADE,
180
+ section_index INTEGER NOT NULL,
181
+ title TEXT NOT NULL,
182
+ depth INTEGER NOT NULL,
183
+ heading_path TEXT NOT NULL,
184
+ line_start INTEGER NOT NULL,
185
+ line_end INTEGER NOT NULL,
186
+ content TEXT NOT NULL,
187
+ content_hash TEXT NOT NULL,
188
+ UNIQUE(doc_id, section_index)
189
+ );
190
+
136
191
  -- Full-text search index over symbol names, signatures, and kinds (BM25 via FTS5).
137
192
  CREATE VIRTUAL TABLE IF NOT EXISTS symbols_fts USING fts5(
138
193
  name, signature, kind
@@ -214,7 +269,31 @@ CREATE INDEX IF NOT EXISTS idx_annotations_file_id ON annotations(file_id);
214
269
  CREATE INDEX IF NOT EXISTS idx_coverage_runs_ingested_at ON coverage_runs(ingested_at);
215
270
  CREATE INDEX IF NOT EXISTS idx_coverage_files_path ON coverage_files(file_path);
216
271
  CREATE INDEX IF NOT EXISTS idx_coverage_lines_path_line ON coverage_lines(file_path, line_number);
272
+ CREATE INDEX IF NOT EXISTS idx_docs_branch_kind ON docs(branch, kind);
273
+ CREATE INDEX IF NOT EXISTS idx_doc_sections_doc_id ON doc_sections(doc_id);
274
+ CREATE INDEX IF NOT EXISTS idx_external_symbols_dependency_ecosystem ON external_symbols(dependency_ecosystem);
275
+ CREATE INDEX IF NOT EXISTS idx_external_symbols_package_name ON external_symbols(package_name);
276
+ CREATE INDEX IF NOT EXISTS idx_external_symbols_symbol_name ON external_symbols(symbol_name);
217
277
  `;
278
+ const ENRICHMENT_SCHEMA_MIGRATIONS = [
279
+ { table: 'symbols', column: 'resolved_type_signature', sql: 'ALTER TABLE symbols ADD COLUMN resolved_type_signature TEXT' },
280
+ { table: 'symbols', column: 'resolved_return_type', sql: 'ALTER TABLE symbols ADD COLUMN resolved_return_type TEXT' },
281
+ { table: 'symbols', column: 'definition_uri', sql: 'ALTER TABLE symbols ADD COLUMN definition_uri TEXT' },
282
+ { table: 'symbols', column: 'definition_path', sql: 'ALTER TABLE symbols ADD COLUMN definition_path TEXT' },
283
+ { table: 'symbol_refs', column: 'resolved_type_signature', sql: 'ALTER TABLE symbol_refs ADD COLUMN resolved_type_signature TEXT' },
284
+ { table: 'symbol_refs', column: 'resolved_return_type', sql: 'ALTER TABLE symbol_refs ADD COLUMN resolved_return_type TEXT' },
285
+ { table: 'symbol_refs', column: 'definition_uri', sql: 'ALTER TABLE symbol_refs ADD COLUMN definition_uri TEXT' },
286
+ { table: 'symbol_refs', column: 'definition_path', sql: 'ALTER TABLE symbol_refs ADD COLUMN definition_path TEXT' },
287
+ { table: 'external_symbols', column: 'resolved_type_signature', sql: 'ALTER TABLE external_symbols ADD COLUMN resolved_type_signature TEXT' },
288
+ { table: 'external_symbols', column: 'resolved_return_type', sql: 'ALTER TABLE external_symbols ADD COLUMN resolved_return_type TEXT' },
289
+ { table: 'external_symbols', column: 'definition_uri', sql: 'ALTER TABLE external_symbols ADD COLUMN definition_uri TEXT' },
290
+ { table: 'external_symbols', column: 'definition_path', sql: 'ALTER TABLE external_symbols ADD COLUMN definition_path TEXT' },
291
+ ];
292
+ const ENRICHMENT_INDEX_MIGRATIONS = [
293
+ 'CREATE INDEX IF NOT EXISTS idx_symbols_definition_path ON symbols(definition_path)',
294
+ 'CREATE INDEX IF NOT EXISTS idx_symbol_refs_definition_path ON symbol_refs(definition_path)',
295
+ 'CREATE INDEX IF NOT EXISTS idx_external_symbols_definition_path ON external_symbols(definition_path)',
296
+ ];
218
297
  // ─── Public API ───────────────────────────────────────────────────────────────
219
298
  /**
220
299
  * Opens (or creates) the SQLite database at `path` and initialises the schema.
@@ -229,8 +308,23 @@ export function openDb(path) {
229
308
  db.pragma('foreign_keys = ON');
230
309
  // Create all tables in a single transaction.
231
310
  db.exec(DDL);
311
+ ensureEnrichmentSchema(db);
232
312
  return db;
233
313
  }
314
+ function ensureEnrichmentSchema(db) {
315
+ for (const migration of ENRICHMENT_SCHEMA_MIGRATIONS) {
316
+ if (!hasTableColumn(db, migration.table, migration.column)) {
317
+ db.exec(migration.sql);
318
+ }
319
+ }
320
+ for (const indexMigration of ENRICHMENT_INDEX_MIGRATIONS) {
321
+ db.exec(indexMigration);
322
+ }
323
+ }
324
+ function hasTableColumn(db, table, column) {
325
+ const rows = db.pragma(`table_info(${table})`);
326
+ return rows.some((row) => row.name === column);
327
+ }
234
328
  // ─── kb_meta helpers ──────────────────────────────────────────────────────────
235
329
  export const KB_META_INDEX_CHECKPOINT = 'index_checkpoint';
236
330
  export const KB_META_LAST_HEAD_SHA = 'last_known_head_sha';
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/indexer/db.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAKlD,gFAAgF;AAEhF,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4MX,CAAC;AAEF,iFAAiF;AAEjF;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IACjC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAE9B,sEAAsE;IACtE,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,6CAA6C;IAC7C,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAA2B,CAAC;AAC7E,MAAM,CAAC,MAAM,kCAAkC,GAAG,4BAA4B,CAAC;AAE/E,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,EAAqB,EAAE,GAAW,EAAE,KAAa;IACzE,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CAAC,EAAqB,EAAE,GAAW;IAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,GAAG,CAE5D,CAAC;IACd,OAAO,GAAG,EAAE,KAAK,CAAC;AACpB,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,IAAY;IAClE,wCAAwC;IACxC,yFAAyF;IACzF,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAA0C,CAAC;IACpF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEnB,EAAE,CAAC,IAAI,CAAC;;wBAEc,IAAI;;;wBAGJ,IAAI;;GAEzB,CAAC,CAAC;IAEH,SAAS,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/indexer/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export type DocumentKind = 'readme' | 'adr' | 'architecture' | 'design' | 'guide' | 'changelog' | 'reference' | 'text';
2
+ export interface DocumentSection {
3
+ title: string;
4
+ depth: number;
5
+ headingPath: string[];
6
+ line: number;
7
+ }
8
+ export interface DocumentationFile {
9
+ path: string;
10
+ kind: DocumentKind;
11
+ title: string;
12
+ content: string;
13
+ hash: string;
14
+ sections: DocumentSection[];
15
+ chunks: DocumentChunk[];
16
+ }
17
+ export interface DocumentChunk {
18
+ sectionIndex: number;
19
+ title: string;
20
+ depth: number;
21
+ headingPath: string[];
22
+ lineStart: number;
23
+ lineEnd: number;
24
+ content: string;
25
+ hash: string;
26
+ }
27
+ export interface DocsDiscoveryConfig {
28
+ rootDir: string;
29
+ includeGlobs?: string[];
30
+ excludeGlobs?: string[];
31
+ extensions?: string[];
32
+ }
33
+ export declare const DEFAULT_DOC_EXTENSIONS: string[];
34
+ export declare const DEFAULT_DOC_INCLUDE_GLOBS: string[];
35
+ export declare function discoverDocumentationFiles(config: DocsDiscoveryConfig): Promise<DocumentationFile[]>;
36
+ export declare function inferDocumentKind(filePath: string): DocumentKind;
37
+ export declare function inferDocumentTitle(filePath: string, content: string): string;
38
+ export declare function inferDocumentSections(filePath: string, content: string): DocumentSection[];
39
+ export declare function inferDocumentChunks(filePath: string, content: string, sections: DocumentSection[]): DocumentChunk[];
40
+ export declare function inferSeededDocNoteKey(doc: Pick<DocumentationFile, 'path' | 'kind'>): string | null;
41
+ export declare function buildDocNoteScope(docPath: string, branch: string): string;
42
+ //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/indexer/docs.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,KAAK,GACL,cAAc,GACd,QAAQ,GACR,OAAO,GACP,WAAW,GACX,WAAW,GACX,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAaD,eAAO,MAAM,sBAAsB,UAAmC,CAAC;AAEvE,eAAO,MAAM,yBAAyB,UAOrC,CAAC;AAKF,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2C1G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA4BhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAU5E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CAiC1F;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,eAAe,EAAE,GAC1B,aAAa,EAAE,CAwCjB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAkBlG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE"}