@monoes/monograph 1.6.1 → 1.6.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 (76) hide show
  1. package/dist/src/cache/extraction-cache.d.ts +3 -1
  2. package/dist/src/cache/extraction-cache.d.ts.map +1 -1
  3. package/dist/src/cache/extraction-cache.js +10 -2
  4. package/dist/src/cache/extraction-cache.js.map +1 -1
  5. package/dist/src/graph/explain.d.ts.map +1 -1
  6. package/dist/src/graph/explain.js +9 -2
  7. package/dist/src/graph/explain.js.map +1 -1
  8. package/dist/src/graph/pagerank.d.ts +9 -3
  9. package/dist/src/graph/pagerank.d.ts.map +1 -1
  10. package/dist/src/graph/pagerank.js +69 -34
  11. package/dist/src/graph/pagerank.js.map +1 -1
  12. package/dist/src/mcp-tools/neighbors.d.ts +29 -3
  13. package/dist/src/mcp-tools/neighbors.d.ts.map +1 -1
  14. package/dist/src/mcp-tools/neighbors.js +85 -10
  15. package/dist/src/mcp-tools/neighbors.js.map +1 -1
  16. package/dist/src/mcp-tools/query.d.ts +8 -0
  17. package/dist/src/mcp-tools/query.d.ts.map +1 -1
  18. package/dist/src/mcp-tools/query.js +15 -9
  19. package/dist/src/mcp-tools/query.js.map +1 -1
  20. package/dist/src/mcp-tools/rename.d.ts.map +1 -1
  21. package/dist/src/mcp-tools/rename.js +27 -2
  22. package/dist/src/mcp-tools/rename.js.map +1 -1
  23. package/dist/src/parsers/extractor.d.ts.map +1 -1
  24. package/dist/src/parsers/extractor.js +16 -8
  25. package/dist/src/parsers/extractor.js.map +1 -1
  26. package/dist/src/parsers/loader.js +17 -3
  27. package/dist/src/parsers/loader.js.map +1 -1
  28. package/dist/src/pipeline/index-scope.d.ts +23 -0
  29. package/dist/src/pipeline/index-scope.d.ts.map +1 -0
  30. package/dist/src/pipeline/index-scope.js +33 -0
  31. package/dist/src/pipeline/index-scope.js.map +1 -0
  32. package/dist/src/pipeline/orchestrator.d.ts +17 -0
  33. package/dist/src/pipeline/orchestrator.d.ts.map +1 -1
  34. package/dist/src/pipeline/orchestrator.js +55 -122
  35. package/dist/src/pipeline/orchestrator.js.map +1 -1
  36. package/dist/src/pipeline/phases/communities.d.ts +78 -2
  37. package/dist/src/pipeline/phases/communities.d.ts.map +1 -1
  38. package/dist/src/pipeline/phases/communities.js +141 -9
  39. package/dist/src/pipeline/phases/communities.js.map +1 -1
  40. package/dist/src/pipeline/phases/markdown.js +6 -6
  41. package/dist/src/pipeline/phases/markdown.js.map +1 -1
  42. package/dist/src/pipeline/phases/parse.d.ts.map +1 -1
  43. package/dist/src/pipeline/phases/parse.js +22 -27
  44. package/dist/src/pipeline/phases/parse.js.map +1 -1
  45. package/dist/src/pipeline/phases/pdf-parse.js +5 -5
  46. package/dist/src/pipeline/phases/pdf-parse.js.map +1 -1
  47. package/dist/src/pipeline/phases/scan.d.ts.map +1 -1
  48. package/dist/src/pipeline/phases/scan.js +16 -1
  49. package/dist/src/pipeline/phases/scan.js.map +1 -1
  50. package/dist/src/pipeline/phases/structure.js +12 -12
  51. package/dist/src/pipeline/phases/structure.js.map +1 -1
  52. package/dist/src/pipeline/phases/variables.d.ts.map +1 -1
  53. package/dist/src/pipeline/phases/variables.js +2 -1
  54. package/dist/src/pipeline/phases/variables.js.map +1 -1
  55. package/dist/src/search/hybrid-query.d.ts +77 -14
  56. package/dist/src/search/hybrid-query.d.ts.map +1 -1
  57. package/dist/src/search/hybrid-query.js +81 -21
  58. package/dist/src/search/hybrid-query.js.map +1 -1
  59. package/dist/src/staleness/git-staleness.d.ts +46 -0
  60. package/dist/src/staleness/git-staleness.d.ts.map +1 -1
  61. package/dist/src/staleness/git-staleness.js +188 -24
  62. package/dist/src/staleness/git-staleness.js.map +1 -1
  63. package/dist/src/storage/fts-store.d.ts +14 -0
  64. package/dist/src/storage/fts-store.d.ts.map +1 -1
  65. package/dist/src/storage/fts-store.js +18 -3
  66. package/dist/src/storage/fts-store.js.map +1 -1
  67. package/dist/src/types.d.ts +58 -0
  68. package/dist/src/types.d.ts.map +1 -1
  69. package/dist/src/types.js +103 -1
  70. package/dist/src/types.js.map +1 -1
  71. package/dist/src/web/api.d.ts +3 -0
  72. package/dist/src/web/api.d.ts.map +1 -1
  73. package/dist/src/web/api.js +2 -0
  74. package/dist/src/web/api.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +1 -1
@@ -2,7 +2,7 @@ import { readFileSync, statSync } from 'node:fs';
2
2
  import { basename, extname } from 'node:path';
3
3
  import { insertEdges } from '../../storage/edge-store.js';
4
4
  import { insertNodes } from '../../storage/node-store.js';
5
- import { makeId, toNormLabel } from '../../types.js';
5
+ import { docId, makeId, toNormLabel } from '../../types.js';
6
6
  const MARKDOWN_EXTENSIONS = new Set(['.md', '.mdx']);
7
7
  // Inline code span: `identifier`
8
8
  const INLINE_CODE_RE = /`([^`]+)`/g;
@@ -39,10 +39,10 @@ export const markdownPhase = {
39
39
  continue;
40
40
  }
41
41
  const nameWithoutExt = basename(relPath).replace(/\.(mdx?)$/, '');
42
- // Use 'doc' suffix to avoid collision with the 'file'-suffixed File node
43
- const docId = makeId(relPath.replace(/\//g, '_'), 'doc');
42
+ // Use the 'doc' kind to avoid collision with the 'file'-kinded File node
43
+ const relDocId = docId(relPath);
44
44
  const docNode = {
45
- id: docId,
45
+ id: relDocId,
46
46
  label: 'Document',
47
47
  name: nameWithoutExt,
48
48
  normLabel: toNormLabel(nameWithoutExt),
@@ -65,10 +65,10 @@ export const markdownPhase = {
65
65
  // Exact name match, excluding structural nodes to avoid matching file names
66
66
  const rows = symbolLookup.all(span);
67
67
  if (rows.length === 1) {
68
- const edgeId = makeId(docId, rows[0].id, 'references');
68
+ const edgeId = makeId(relDocId, rows[0].id, 'references');
69
69
  referencesEdges.push({
70
70
  id: edgeId,
71
- sourceId: docId,
71
+ sourceId: relDocId,
72
72
  targetId: rows[0].id,
73
73
  relation: 'REFERENCES',
74
74
  confidence: 'INFERRED',
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIrD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,iCAAiC;AACjC,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,iFAAiF;AACjF,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAOrD,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,IAAI,EAAE,UAAU;IAChB,yEAAyE;IACzE,2DAA2D;IAC3D,6EAA6E;IAC7E,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI;QACrB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QAC5E,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAoB,CAAC;QAC/D,MAAM,aAAa,GAAoB,EAAE,CAAC;QAC1C,MAAM,eAAe,GAAoB,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC3C,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,gEAAgE;YAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;YAE7C,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB;oBAAE,SAAS;gBACvD,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAClE,yEAAyE;YACzE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAkB;gBAC7B,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC;gBACtC,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,UAAU;aACrB,CAAC;YACF,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE5B,qEAAqE;YACrE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACvC,2EAA2E;gBAC3E,2EAA2E;gBAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CACjC;2DACiD,CAClD,CAAC;gBAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,uEAAuE;oBACvE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;wBAAE,SAAS;oBAElC,4EAA4E;oBAC5E,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAqB,CAAC;oBAExD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;wBACvD,eAAe,CAAC,IAAI,CAAC;4BACnB,EAAE,EAAE,MAAM;4BACV,QAAQ,EAAE,KAAK;4BACf,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;4BACpB,QAAQ,EAAE,YAAY;4BACtB,UAAU,EAAE,UAAU;4BACtB,0EAA0E;4BAC1E,gFAAgF;4BAChF,eAAe,EAAE,GAAG;yBACrB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAA6B,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2GAA2G;AAC3G,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/markdown.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/parse.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,WAAW,CAoLjD,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7E;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB9E"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/parse.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,WAAW,CA4KjD,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7E;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB9E"}
@@ -4,6 +4,7 @@ import { ExtractionCache } from '../../cache/extraction-cache.js';
4
4
  import { parseFile } from '../../parsers/loader.js';
5
5
  import { deleteEdgesForFile, insertEdges } from '../../storage/edge-store.js';
6
6
  import { deleteNodesForFile, insertNodes } from '../../storage/node-store.js';
7
+ import { symbolId } from '../../types.js';
7
8
  import { extractVariables, variableToNode } from './variables.js';
8
9
  export const parsePhase = {
9
10
  name: 'parse',
@@ -12,17 +13,6 @@ export const parsePhase = {
12
13
  const { fileNodes } = deps.get('structure');
13
14
  const symbolNodes = [];
14
15
  const allEdges = [];
15
- // freshNodes/freshEdges (the cache-miss-only subset) are NOT accumulated in a
16
- // parallel array during the loop — that duplicated every fresh node/edge object
17
- // in memory for the entire pipeline run. Instead we record the [start, end)
18
- // slice of symbolNodes/allEdges that each cache-miss file contributed, and
19
- // materialize the fresh subset via a single slice pass at the end, only when
20
- // it's actually needed (cacheHits > 0). On a cold build (cacheHits === 0) the
21
- // fresh subset is never materialized at all, since nodesToInsert falls back to
22
- // symbolNodes/allEdges directly in that case — eliminating the redundant
23
- // allocation entirely for the memory-heaviest scenario.
24
- const freshNodeRanges = [];
25
- const freshEdgeRanges = [];
26
16
  const staleFilePaths = [];
27
17
  const parseErrors = [];
28
18
  const fileContents = new Map();
@@ -71,7 +61,12 @@ export const parsePhase = {
71
61
  const csNamespaces = extractCsharpNamespaces(source, fileNode.filePath ?? '');
72
62
  for (const ns of csNamespaces) {
73
63
  fileSymbols.push({
74
- id: `${ns.filePath}::namespace::${ns.name}`,
64
+ id: symbolId({
65
+ filePath: ns.filePath,
66
+ scope: [],
67
+ name: ns.name,
68
+ kind: 'Namespace',
69
+ }),
75
70
  name: ns.name,
76
71
  label: 'Namespace',
77
72
  normLabel: 'namespace',
@@ -87,7 +82,7 @@ export const parsePhase = {
87
82
  const arrowFns = extractArrowFunctions(source, fileNode.filePath ?? '');
88
83
  for (const fn of arrowFns) {
89
84
  fileSymbols.push({
90
- id: `${fn.filePath}::fn::${fn.name}`,
85
+ id: symbolId({ filePath: fn.filePath, scope: [], name: fn.name, kind: 'Function' }),
91
86
  name: fn.name,
92
87
  label: 'Function',
93
88
  normLabel: 'function',
@@ -104,12 +99,8 @@ export const parsePhase = {
104
99
  catch {
105
100
  /* non-fatal */
106
101
  }
107
- const nodeStart = symbolNodes.length;
108
- const edgeStart = allEdges.length;
109
102
  symbolNodes.push(...fileSymbols);
110
103
  allEdges.push(...fileEdges);
111
- freshNodeRanges.push([nodeStart, symbolNodes.length]);
112
- freshEdgeRanges.push([edgeStart, allEdges.length]);
113
104
  // This file was re-parsed (cache miss) — its OLD node/edge set (from the
114
105
  // previous build) must be deleted before the fresh rows are inserted below,
115
106
  // otherwise a renamed/removed symbol's old row survives forever (ghost rows).
@@ -129,15 +120,20 @@ export const parsePhase = {
129
120
  cache.flush();
130
121
  if (ctx.db) {
131
122
  const db = ctx.db;
132
- // Only insert freshly-parsed nodes — cached nodes are already in the DB
133
- // from the previous build (node IDs are deterministic from file_path + symbol).
134
- // On first build (no cache hits), freshNodes === symbolNodes, so the fresh
135
- // subset is never materialized — symbolNodes/allEdges are used directly.
136
- const freshNodes = cacheHits > 0 ? freshNodeRanges.flatMap(([s, e]) => symbolNodes.slice(s, e)) : symbolNodes;
137
- const freshEdges = cacheHits > 0 ? freshEdgeRanges.flatMap(([s, e]) => allEdges.slice(s, e)) : allEdges;
138
- const nodesToInsert = freshNodes;
123
+ // Insert EVERY extracted node/edge, cache hits included. A cache hit used
124
+ // to skip insertion on the assumption that those rows were already in
125
+ // SQLite from a previous build — but the cache is flushed to disk before
126
+ // the build's SQL transaction commits, so that assumption breaks the
127
+ // moment the DB and the cache disagree: a build that rolls back (or a
128
+ // deleted/replaced database file) leaves a fully-populated cache in front
129
+ // of an empty database, and the next build then "succeeds" with zero
130
+ // nodes. Treating cached extraction as reusable INPUT that can repopulate
131
+ // storage on its own keeps the cache a pure parse accelerator instead of
132
+ // a store that another store's contents silently depend on. Node IDs are
133
+ // deterministic, so re-inserting an unchanged row is an idempotent upsert.
134
+ const nodesToInsert = symbolNodes;
139
135
  const knownIds = new Set(symbolNodes.map((n) => n.id));
140
- const edgesToInsert = freshEdges.filter((e) => knownIds.has(e.targetId));
136
+ const edgesToInsert = allEdges.filter((e) => knownIds.has(e.targetId));
141
137
  // For every cache-miss file, purge its OLD node/edge set BEFORE inserting the
142
138
  // fresh parse results, inside the same transaction — otherwise a renamed or
143
139
  // removed symbol's old row would survive forever (INSERT OR REPLACE only
@@ -157,12 +153,11 @@ export const parsePhase = {
157
153
  ctx.allFilesCached = true;
158
154
  }
159
155
  if (cacheHits > 0) {
160
- const freshNodeCount = freshNodeRanges.reduce((sum, [s, e]) => sum + (e - s), 0);
161
156
  ctx.onProgress?.({
162
157
  phase: 'parse',
163
158
  filesProcessed: processed,
164
159
  totalFiles: fileNodes.length,
165
- message: `cache: ${cacheHits} hits, ${cacheMisses} misses (${freshNodeCount} nodes inserted)`,
160
+ message: `cache: ${cacheHits} hits, ${cacheMisses} misses (${symbolNodes.length} nodes inserted)`,
166
161
  });
167
162
  }
168
163
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/parse.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import { basename, extname, join, relative } from 'node:path';
3
3
  import { insertEdges } from '../../storage/edge-store.js';
4
4
  import { insertNodes } from '../../storage/node-store.js';
5
- import { CONFIDENCE_SCORE, makeId, toNormLabel } from '../../types.js';
5
+ import { CONFIDENCE_SCORE, fileId, makeId, toNormLabel } from '../../types.js';
6
6
  const IGNORE_DIRS = new Set([
7
7
  'node_modules',
8
8
  '.git',
@@ -76,7 +76,7 @@ export const pdfParsePhase = {
76
76
  const allEdges = [];
77
77
  for (const absPath of pdfPaths) {
78
78
  const rel = relative(ctx.repoPath, absPath);
79
- const fileId = makeId(rel.replace(/\//g, '_'), 'file');
79
+ const relFileId = fileId(rel);
80
80
  let text;
81
81
  try {
82
82
  const buf = readFileSync(absPath);
@@ -101,7 +101,7 @@ export const pdfParsePhase = {
101
101
  for (let i = 0; i < chunks.length; i++) {
102
102
  const { content, startChar } = chunks[i];
103
103
  const title = `${docTitle} §${i + 1}`;
104
- const sectionId = makeId('section', fileId, String(i));
104
+ const sectionId = makeId('section', relFileId, String(i));
105
105
  const node = {
106
106
  id: sectionId,
107
107
  label: 'Section',
@@ -115,8 +115,8 @@ export const pdfParsePhase = {
115
115
  };
116
116
  sectionNodes.push(node);
117
117
  allEdges.push({
118
- id: makeId(fileId, sectionId, 'defines'),
119
- sourceId: fileId,
118
+ id: makeId(relFileId, sectionId, 'defines'),
119
+ sourceId: relFileId,
120
120
  targetId: sectionId,
121
121
  relation: 'DEFINES',
122
122
  confidence: 'EXTRACTED',
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-parse.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/pdf-parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf-parse.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/pdf-parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,aAAa;IACb,QAAQ;IACR,UAAU;IACV,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,YAAY;CACb,CAAC,CAAC;AAOH,SAAS,QAAQ,CAAC,GAAW,EAAE,SAAiB,EAAE,MAAgB;IAChE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,SAAS,IAAI,CAAC,CAAS;QACrB,IAAI,OAAiB,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5B,IAAI,EAAE,CAAC;YACP,IAAI,CAAC;gBACH,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkC;IAC1D,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,CAAC,WAAW,CAAC;IAEnB,KAAK,CAAC,OAAO,CAAC,GAAoB;QAChC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAEnE,8EAA8E;QAC9E,IAAI,eAAe,GAAqC,IAAI,CAAC;QAC7D,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,GAAG,GAAG,MAAO,IAAI,QAAQ,CAC7B,2CAA2C,CAC5C,EAAmB,CAAC;YACrB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAClC,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;gBAChC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC/B,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAEpE,MAAM,YAAY,GAAoB,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE9B,IAAI,IAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE;oBAAE,SAAS;gBAC7D,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,KAAK,GAAG,IAAI,CAAC;YACnB,MAAM,OAAO,GAAG,GAAG,CAAC;YACpB,MAAM,MAAM,GAAkD,EAAE,CAAC;YACjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvE,IAAI,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,MAAM;oBAAE,MAAM;YACxC,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,GAAG,QAAQ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE1D,MAAM,IAAI,GAAkB;oBAC1B,EAAE,EAAE,SAAS;oBACb,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC;oBAC7B,QAAQ,EAAE,GAAG;oBACb,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM;oBACnC,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;iBACnF,CAAC;gBACF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExB,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;oBAC3C,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,SAAS;oBACnB,UAAU,EAAE,WAAW;oBACvB,eAAe,EAAE,gBAAgB,CAAC,SAAS;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,MAAM,SAAS,GAAoB,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;oBACjF,SAAS,CAAC,IAAI,CAAC;wBACb,EAAE,EAAE,IAAI,CAAC,QAAQ;wBACjB,KAAK,EAAE,MAAM;wBACb,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;wBACvB,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBACzC,QAAQ,EAAE,OAAO;wBACjB,UAAU,EAAE,KAAK;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;YACrD,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,GAAG,CAAC,UAAU,EAAE,CAAC;YACf,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,UAAU,QAAQ,CAAC,MAAM,gBAAgB,YAAY,CAAC,MAAM,SAAS;SAC/E,CAAC,CAAC;QACH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IACrD,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/scan.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA+CjD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,UAAU,CAiG/C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAe9F"}
1
+ {"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/scan.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8DjD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,UAAU,CAiG/C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAOD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,gBAAgB,CAe9F"}
@@ -19,6 +19,13 @@ const DEFAULT_IGNORE = new Set([
19
19
  '.claude-plugin',
20
20
  '.github',
21
21
  '.githooks',
22
+ '.next',
23
+ '.nuxt',
24
+ '.svelte-kit',
25
+ '.turbo',
26
+ '.vercel',
27
+ '.wrangler',
28
+ '.open-next',
22
29
  ]);
23
30
  const BINARY_EXTENSIONS = new Set([
24
31
  '.png',
@@ -44,7 +51,15 @@ const BINARY_EXTENSIONS = new Set([
44
51
  '.class',
45
52
  '.jar',
46
53
  ]);
47
- const GENERATED_PATTERNS = [/\.min\.(js|css)$/, /\.pb\.go$/, /_generated\.ts$/];
54
+ const GENERATED_PATTERNS = [
55
+ /\.min\.(js|css)$/,
56
+ /\.pb\.go$/,
57
+ /_generated\.ts$/,
58
+ // Monograph's own build output (reporting/graph-report.ts writes it to the repo
59
+ // root). Indexing it feeds a previous build's prose back into the graph as
60
+ // document nodes and edges, compounding on every rebuild.
61
+ /^GRAPH_REPORT\.md$/,
62
+ ];
48
63
  export const scanPhase = {
49
64
  name: 'scan',
50
65
  deps: [],
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/scan.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { basename, dirname, relative } from 'node:path';
2
- import { CONFIDENCE_SCORE, makeId, toNormLabel } from '../../types.js';
2
+ import { CONFIDENCE_SCORE, fileId, folderId, makeId, toNormLabel } from '../../types.js';
3
3
  export const structurePhase = {
4
4
  name: 'structure',
5
5
  deps: ['scan'],
@@ -11,9 +11,9 @@ export const structurePhase = {
11
11
  const seenFolders = new Set();
12
12
  for (const absPath of filePaths) {
13
13
  const rel = relative(ctx.repoPath, absPath);
14
- const fileId = makeId(rel.replace(/\//g, '_'), 'file');
14
+ const relFileId = fileId(rel);
15
15
  fileNodes.push({
16
- id: fileId,
16
+ id: relFileId,
17
17
  label: 'File',
18
18
  name: basename(rel),
19
19
  normLabel: toNormLabel(basename(rel)),
@@ -27,11 +27,11 @@ export const structurePhase = {
27
27
  if (part === '.')
28
28
  continue;
29
29
  current = current ? `${current}/${part}` : part;
30
- const folderId = makeId(current.replace(/\//g, '_'), 'folder');
31
- if (!seenFolders.has(folderId)) {
32
- seenFolders.add(folderId);
30
+ const currentFolderId = folderId(current);
31
+ if (!seenFolders.has(currentFolderId)) {
32
+ seenFolders.add(currentFolderId);
33
33
  folderNodes.push({
34
- id: folderId,
34
+ id: currentFolderId,
35
35
  label: 'Folder',
36
36
  name: part,
37
37
  normLabel: toNormLabel(part),
@@ -40,22 +40,22 @@ export const structurePhase = {
40
40
  });
41
41
  if (parentFolderId) {
42
42
  containsEdges.push({
43
- id: makeId(parentFolderId, folderId, 'contains'),
43
+ id: makeId(parentFolderId, currentFolderId, 'contains'),
44
44
  sourceId: parentFolderId,
45
- targetId: folderId,
45
+ targetId: currentFolderId,
46
46
  relation: 'CONTAINS',
47
47
  confidence: 'EXTRACTED',
48
48
  confidenceScore: CONFIDENCE_SCORE.EXTRACTED,
49
49
  });
50
50
  }
51
51
  }
52
- parentFolderId = folderId;
52
+ parentFolderId = currentFolderId;
53
53
  }
54
54
  if (parentFolderId) {
55
55
  containsEdges.push({
56
- id: makeId(parentFolderId, fileId, 'contains'),
56
+ id: makeId(parentFolderId, relFileId, 'contains'),
57
57
  sourceId: parentFolderId,
58
- targetId: fileId,
58
+ targetId: relFileId,
59
59
  relation: 'CONTAINS',
60
60
  confidence: 'EXTRACTED',
61
61
  confidenceScore: CONFIDENCE_SCORE.EXTRACTED,
@@ -1 +1 @@
1
- {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/structure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAyBjF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,aAAa,CAW7D"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phases/variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAyBjF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,aAAa,CAW7D"}
@@ -1,3 +1,4 @@
1
+ import { symbolId } from '../../types.js';
1
2
  // Regex for top-level variable declarations.
2
3
  // We detect nesting depth by counting braces before the match.
3
4
  const TOP_LEVEL_VAR = /^(export\s+)?(const|let|var)\s+(\w+)\s*[=:]/gm;
@@ -42,7 +43,7 @@ export function extractVariables(source, filePath) {
42
43
  }
43
44
  export function variableToNode(v) {
44
45
  return {
45
- id: `var:${v.filePath}:${v.name}`,
46
+ id: symbolId({ filePath: v.filePath, scope: [], name: v.name, kind: 'Variable' }),
46
47
  label: 'Variable',
47
48
  name: v.name,
48
49
  normLabel: v.name.toLowerCase(),
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/variables.ts"],"names":[],"mappings":"AASA,6CAA6C;AAC7C,+DAA+D;AAC/D,MAAM,aAAa,GAAG,+CAA+C,CAAC;AAEtE;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,8EAA8E;IAC9E,mFAAmF;IACnF,OAAO,GAAG;SACP,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACtE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1D,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACzD,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,KAA6B,CAAC;IAClC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAE5B,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,iDAAiD;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACnB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS;QAE1B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAe;IAC5C,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;QACjC,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,SAAS,EAAE,CAAC,CAAC,IAAI;QACjB,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../src/pipeline/phases/variables.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAS1C,6CAA6C;AAC7C,+DAA+D;AAC/D,MAAM,aAAa,GAAG,+CAA+C,CAAC;AAEtE;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,8EAA8E;IAC9E,mFAAmF;IACnF,OAAO,GAAG;SACP,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACtE,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1D,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1D,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACzD,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,IAAI,KAA6B,CAAC;IAClC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAE5B,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,iDAAiD;QACjD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACnB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,CAAC;YAAE,SAAS;QAE1B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAe;IAC5C,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACjF,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,SAAS,EAAE,CAAC,CAAC,IAAI;QACjB,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,UAAU,EAAE,CAAC,CAAC,UAAU;KACzB,CAAC;AACJ,CAAC"}
@@ -1,21 +1,80 @@
1
1
  /**
2
- * BM25 search (FTS5) with the historical "hybrid" entry-point signature.
2
+ * The single lexical retrieval service for the monograph knowledge graph.
3
3
  *
4
- * Monograph search is BM25-only. The former embedding/vector branch
4
+ * Every adapter — the package-level `monograph_query` MCP tool, the
5
+ * CLI-hosted `monograph_query` MCP tool, `augmentContext`, the eval server —
6
+ * calls {@link searchGraph} rather than assembling its own BM25/LIKE/fuzzy
7
+ * combination. Two adapters answering the same query differently was a real
8
+ * bug, not a hypothetical one.
9
+ *
10
+ * SCORE CONVENTION — higher is better, always non-negative.
11
+ * SQLite FTS5's `rank` is the opposite (negative, more negative = better).
12
+ * That inversion is resolved in exactly one place,
13
+ * {@link relevanceFromFtsRank} in `../storage/fts-store.js`, at the boundary
14
+ * where a rank enters the system. Nothing downstream ever sees a raw rank, so
15
+ * the sign cannot be forwarded into a ranker again.
16
+ *
17
+ * Monograph search is lexical-only. The former embedding/vector branch
5
18
  * (gated on MONOGRAPH_EMBEDDINGS=true) was removed — it was never run in
6
- * practice (the embeddings table stayed empty) and did a JS cosine full
7
- * scan. The exported function signatures are unchanged so callers do not
8
- * need to change.
19
+ * practice (the embeddings table stayed empty) and did a JS cosine full scan.
9
20
  */
10
21
  import type Database from 'better-sqlite3';
11
22
  import type { RankedResult } from './rrf.js';
23
+ /**
24
+ * Retrieval strategies, named for what they actually do.
25
+ *
26
+ * - `hybrid` — FTS5 BM25 + LIKE fallback + in-memory fuzzy + node-type bonus.
27
+ * The default: it degrades gracefully on short identifiers, where bare BM25
28
+ * over a trigram index returns nothing.
29
+ * - `bm25` — FTS5 BM25 only. Narrower, but predictable; used where a caller
30
+ * wants pure lexical ranking with no heuristic bonuses.
31
+ */
32
+ export type RetrievalMode = 'bm25' | 'hybrid';
33
+ export interface GraphSearchOptions {
34
+ limit?: number;
35
+ label?: string;
36
+ /** Retrieval strategy (default: `hybrid`). */
37
+ mode?: RetrievalMode;
38
+ }
39
+ export interface GraphSearchResult {
40
+ id: string;
41
+ name: string;
42
+ normLabel: string;
43
+ filePath: string | null;
44
+ label: string;
45
+ /** Higher is better, always ≥ 0. See the score-convention note above. */
46
+ relevance: number;
47
+ /** First line of the symbol in its source file (1-based, null if unknown). */
48
+ startLine: number | null;
49
+ /** Last line of the symbol in its source file (1-based, null if unknown). */
50
+ endLine: number | null;
51
+ /** Which retrieval strategy surfaced this row. */
52
+ matchStrategy: 'fts' | 'like' | 'fuzzy';
53
+ }
54
+ /**
55
+ * Run a lexical search over the graph and return results under the
56
+ * higher-is-better score convention.
57
+ *
58
+ * The query is prepared identically for every mode so that two adapters
59
+ * asking the same question in the same mode get the same answer.
60
+ *
61
+ * Preparation is `trim()` only, deliberately. The FTS5 index uses the trigram
62
+ * tokenizer, which folds ASCII case but does NOT fold diacritics, and the
63
+ * index stores `name`/`norm_label` verbatim. Stripping diacritics from the
64
+ * query (as the old `bm25Query` did) therefore could never *gain* a match —
65
+ * it only stopped `naïveResolver` from finding the symbol literally named
66
+ * `naïveResolver`. Lowercasing is likewise skipped: it is a no-op for ASCII
67
+ * under both the trigram tokenizer and SQLite's LIKE, and for non-ASCII it
68
+ * would break the LIKE fallback against a capitalized name.
69
+ */
70
+ export declare function searchGraph(db: Database.Database, query: string, options?: GraphSearchOptions): GraphSearchResult[];
12
71
  export interface BM25QueryOptions {
13
72
  limit?: number;
14
73
  label?: string;
15
- /** @deprecated Embeddings are disabled — this option is ignored; search is BM25-only. Will be removed in the next major version. */
74
+ /** @deprecated Embeddings are disabled — this option is ignored; search is lexical-only. Will be removed in the next major version. */
16
75
  embedder?: unknown;
17
76
  }
18
- /** @deprecated Use {@link BM25QueryOptions} — this alias will be removed in the next major version. */
77
+ /** @deprecated Use {@link GraphSearchOptions} — this alias will be removed in the next major version. */
19
78
  export type HybridQueryOptions = BM25QueryOptions;
20
79
  export interface BM25Result extends RankedResult {
21
80
  id: string;
@@ -23,24 +82,28 @@ export interface BM25Result extends RankedResult {
23
82
  normLabel: string;
24
83
  filePath: string | null;
25
84
  label: string;
85
+ /** Higher is better, always ≥ 0 — see the score-convention note above. */
26
86
  score: number;
27
87
  /** First line of the symbol in its source file (1-based, null if unknown). */
28
88
  startLine?: number | null;
29
89
  /** Last line of the symbol in its source file (1-based, null if unknown). */
30
90
  endLine?: number | null;
31
91
  }
32
- /** @deprecated Use {@link BM25Result} — this alias will be removed in the next major version. */
92
+ /** @deprecated Use {@link GraphSearchResult} — this alias will be removed in the next major version. */
33
93
  export type HybridResult = BM25Result;
34
94
  /**
35
- * Run a BM25 (FTS5) search. The `embedder` option is ignored — the vector
36
- * branch was removed; search is BM25-only.
95
+ * @deprecated Use {@link searchGraph} with `mode: 'bm25'`. Retained as a thin
96
+ * wrapper so existing callers keep working; it now reports the same
97
+ * higher-is-better `score` as every other path (it used to forward FTS5's
98
+ * raw negative `rank`, which inverted ranking for anything downstream that
99
+ * compared or propagated scores).
37
100
  */
38
101
  export declare function bm25Query(db: Database.Database, query: string, options?: BM25QueryOptions): Promise<BM25Result[]>;
39
102
  /**
40
- * @deprecated Use {@link bm25Query} instead — this is a misleading name
41
- * (search here is BM25-only, not a hybrid of multiple retrieval strategies).
42
- * `hybridQuery` remains as an alias for backward compatibility and will be
43
- * removed in the next major version.
103
+ * @deprecated Use {@link searchGraph} instead — this is a misleading name
104
+ * (search here is lexical-only, not a hybrid of multiple retrieval
105
+ * *modalities*). `hybridQuery` remains as an alias for backward compatibility
106
+ * and will be removed in the next major version.
44
107
  */
45
108
  export declare const hybridQuery: typeof bm25Query;
46
109
  //# sourceMappingURL=hybrid-query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-query.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oIAAoI;IACpI,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,uGAAuG;AACvG,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAElD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,iGAAiG;AACjG,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,EAAE,CAAC,CAqBvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,kBAAY,CAAC"}
1
+ {"version":3,"file":"hybrid-query.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kDAAkD;IAClD,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,EAAE,CAqCrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uIAAuI;IACvI,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,yGAAyG;AACzG,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAElD,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wGAAwG;AACxG,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,kBAAY,CAAC"}