@monoes/monograph 2.24.0 → 2.25.0

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 (116) hide show
  1. package/dist/src/embeddings/store.d.ts +38 -0
  2. package/dist/src/embeddings/store.d.ts.map +1 -0
  3. package/dist/src/embeddings/store.js +147 -0
  4. package/dist/src/embeddings/store.js.map +1 -0
  5. package/dist/src/embeddings/transformers-embedder.d.ts +19 -0
  6. package/dist/src/embeddings/transformers-embedder.d.ts.map +1 -0
  7. package/dist/src/embeddings/transformers-embedder.js +48 -0
  8. package/dist/src/embeddings/transformers-embedder.js.map +1 -0
  9. package/dist/src/index.d.ts +4 -0
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/index.js +4 -0
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/mcp-tools/brief.d.ts +40 -0
  14. package/dist/src/mcp-tools/brief.d.ts.map +1 -0
  15. package/dist/src/mcp-tools/brief.js +65 -0
  16. package/dist/src/mcp-tools/brief.js.map +1 -0
  17. package/dist/src/mcp-tools/context.d.ts +9 -0
  18. package/dist/src/mcp-tools/context.d.ts.map +1 -1
  19. package/dist/src/mcp-tools/context.js +20 -0
  20. package/dist/src/mcp-tools/context.js.map +1 -1
  21. package/dist/src/mcp-tools/impact.d.ts +9 -0
  22. package/dist/src/mcp-tools/impact.d.ts.map +1 -1
  23. package/dist/src/mcp-tools/impact.js +37 -0
  24. package/dist/src/mcp-tools/impact.js.map +1 -1
  25. package/dist/src/mcp-tools/index.d.ts +1 -0
  26. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  27. package/dist/src/mcp-tools/index.js +1 -0
  28. package/dist/src/mcp-tools/index.js.map +1 -1
  29. package/dist/src/pipeline/manifest.d.ts +34 -0
  30. package/dist/src/pipeline/manifest.d.ts.map +1 -0
  31. package/dist/src/pipeline/manifest.js +38 -0
  32. package/dist/src/pipeline/manifest.js.map +1 -0
  33. package/dist/src/pipeline/orchestrator.d.ts.map +1 -1
  34. package/dist/src/pipeline/orchestrator.js +18 -33
  35. package/dist/src/pipeline/orchestrator.js.map +1 -1
  36. package/dist/src/pipeline/phases/agent-registry.d.ts +33 -0
  37. package/dist/src/pipeline/phases/agent-registry.d.ts.map +1 -0
  38. package/dist/src/pipeline/phases/agent-registry.js +153 -0
  39. package/dist/src/pipeline/phases/agent-registry.js.map +1 -0
  40. package/dist/src/pipeline/phases/communities.d.ts.map +1 -1
  41. package/dist/src/pipeline/phases/communities.js +21 -16
  42. package/dist/src/pipeline/phases/communities.js.map +1 -1
  43. package/dist/src/pipeline/phases/cross-file.d.ts.map +1 -1
  44. package/dist/src/pipeline/phases/cross-file.js +8 -2
  45. package/dist/src/pipeline/phases/cross-file.js.map +1 -1
  46. package/dist/src/pipeline/phases/god-nodes.d.ts +8 -0
  47. package/dist/src/pipeline/phases/god-nodes.d.ts.map +1 -1
  48. package/dist/src/pipeline/phases/god-nodes.js +8 -0
  49. package/dist/src/pipeline/phases/god-nodes.js.map +1 -1
  50. package/dist/src/pipeline/phases/parse.d.ts.map +1 -1
  51. package/dist/src/pipeline/phases/parse.js +18 -2
  52. package/dist/src/pipeline/phases/parse.js.map +1 -1
  53. package/dist/src/pipeline/phases/processes.d.ts.map +1 -1
  54. package/dist/src/pipeline/phases/processes.js +7 -0
  55. package/dist/src/pipeline/phases/processes.js.map +1 -1
  56. package/dist/src/pipeline/phases/stale-sweep.d.ts +21 -0
  57. package/dist/src/pipeline/phases/stale-sweep.d.ts.map +1 -0
  58. package/dist/src/pipeline/phases/stale-sweep.js +49 -0
  59. package/dist/src/pipeline/phases/stale-sweep.js.map +1 -0
  60. package/dist/src/pipeline/phases/summaries.d.ts +20 -0
  61. package/dist/src/pipeline/phases/summaries.d.ts.map +1 -0
  62. package/dist/src/pipeline/phases/summaries.js +176 -0
  63. package/dist/src/pipeline/phases/summaries.js.map +1 -0
  64. package/dist/src/pipeline/phases/tests-edges.d.ts +16 -0
  65. package/dist/src/pipeline/phases/tests-edges.d.ts.map +1 -0
  66. package/dist/src/pipeline/phases/tests-edges.js +44 -0
  67. package/dist/src/pipeline/phases/tests-edges.js.map +1 -0
  68. package/dist/src/pipeline/runner.d.ts.map +1 -1
  69. package/dist/src/pipeline/runner.js +5 -0
  70. package/dist/src/pipeline/runner.js.map +1 -1
  71. package/dist/src/search/eval.d.ts +44 -0
  72. package/dist/src/search/eval.d.ts.map +1 -0
  73. package/dist/src/search/eval.js +35 -0
  74. package/dist/src/search/eval.js.map +1 -0
  75. package/dist/src/search/fused-search.d.ts +22 -0
  76. package/dist/src/search/fused-search.d.ts.map +1 -0
  77. package/dist/src/search/fused-search.js +103 -0
  78. package/dist/src/search/fused-search.js.map +1 -0
  79. package/dist/src/search/hybrid-query.d.ts +29 -2
  80. package/dist/src/search/hybrid-query.d.ts.map +1 -1
  81. package/dist/src/search/hybrid-query.js +111 -2
  82. package/dist/src/search/hybrid-query.js.map +1 -1
  83. package/dist/src/staleness/git-staleness.d.ts.map +1 -1
  84. package/dist/src/staleness/git-staleness.js +2 -0
  85. package/dist/src/staleness/git-staleness.js.map +1 -1
  86. package/dist/src/storage/db.d.ts.map +1 -1
  87. package/dist/src/storage/db.js +3 -2
  88. package/dist/src/storage/db.js.map +1 -1
  89. package/dist/src/storage/fts-store-hybrid.d.ts +2 -2
  90. package/dist/src/storage/fts-store-hybrid.d.ts.map +1 -1
  91. package/dist/src/storage/fts-store-hybrid.js +4 -3
  92. package/dist/src/storage/fts-store-hybrid.js.map +1 -1
  93. package/dist/src/storage/fts-store-search.d.ts +14 -1
  94. package/dist/src/storage/fts-store-search.d.ts.map +1 -1
  95. package/dist/src/storage/fts-store-search.js +25 -8
  96. package/dist/src/storage/fts-store-search.js.map +1 -1
  97. package/dist/src/storage/fts-store-terms.d.ts +1 -0
  98. package/dist/src/storage/fts-store-terms.d.ts.map +1 -1
  99. package/dist/src/storage/fts-store-terms.js +1 -1
  100. package/dist/src/storage/fts-store-terms.js.map +1 -1
  101. package/dist/src/storage/node-store.d.ts.map +1 -1
  102. package/dist/src/storage/node-store.js +23 -9
  103. package/dist/src/storage/node-store.js.map +1 -1
  104. package/dist/src/storage/schema.d.ts +14 -2
  105. package/dist/src/storage/schema.d.ts.map +1 -1
  106. package/dist/src/storage/schema.js +22 -5
  107. package/dist/src/storage/schema.js.map +1 -1
  108. package/dist/src/storage/summary-search.d.ts +13 -0
  109. package/dist/src/storage/summary-search.d.ts.map +1 -0
  110. package/dist/src/storage/summary-search.js +58 -0
  111. package/dist/src/storage/summary-search.js.map +1 -0
  112. package/dist/src/types.d.ts +2 -2
  113. package/dist/src/types.d.ts.map +1 -1
  114. package/dist/src/types.js.map +1 -1
  115. package/dist/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +1 -1
@@ -19,6 +19,28 @@
19
19
  * practice (the embeddings table stayed empty) and did a JS cosine full scan.
20
20
  */
21
21
  import { ftsSearch, hybridSearch, relevanceFromFtsRank } from '../storage/fts-store.js';
22
+ import { contentWords, summarySearch } from '../storage/summary-search.js';
23
+ import { SYMBOL_NODE_LABELS } from '../types.js';
24
+ export const CODE_SCOPE_LABELS = [
25
+ ...SYMBOL_NODE_LABELS,
26
+ 'File',
27
+ 'Module',
28
+ 'Route',
29
+ 'Tool',
30
+ ];
31
+ export const DOC_SCOPE_LABELS = ['Section', 'Document', 'Concept'];
32
+ export const AGENT_SCOPE_LABELS = ['Agent', 'Skill'];
33
+ // Whole words in a multi-word question — not `agent` inside `agent-pick` or `AgentSpawn`.
34
+ const AGENT_INTENT = /(?:^|\s)(?:agents?|subagents?|skills?)(?:\s|$)/i;
35
+ const DOC_INTENT = /\b(docs?|documentation|readme|guide|adr|changelog|tutorial|concept|explain(?:s|ed)?)\b/i;
36
+ /** True when the query is asking which agent or skill to use. */
37
+ export function hasAgentIntent(query) {
38
+ return /\s/.test(query.trim()) && AGENT_INTENT.test(query);
39
+ }
40
+ /** True when the query is plainly asking about documentation rather than code. */
41
+ export function hasDocIntent(query) {
42
+ return DOC_INTENT.test(query);
43
+ }
22
44
  /**
23
45
  * Run a lexical search over the graph and return results under the
24
46
  * higher-is-better score convention.
@@ -36,12 +58,99 @@ import { ftsSearch, hybridSearch, relevanceFromFtsRank } from '../storage/fts-st
36
58
  * would break the LIKE fallback against a capitalized name.
37
59
  */
38
60
  export function searchGraph(db, query, options = {}) {
39
- const { limit = 20, label, mode = 'hybrid' } = options;
61
+ const { limit = 20, label, mode = 'hybrid', scope = 'auto' } = options;
40
62
  if (limit <= 0)
41
63
  return [];
42
64
  const normalizedQuery = (query ?? '').trim();
43
65
  if (!normalizedQuery)
44
66
  return [];
67
+ if (label || scope === 'all')
68
+ return searchLabels(db, normalizedQuery, limit, mode, label);
69
+ if (scope === 'code')
70
+ return searchLabels(db, normalizedQuery, limit, mode, CODE_SCOPE_LABELS);
71
+ if (scope === 'docs')
72
+ return searchLabels(db, normalizedQuery, limit, mode, DOC_SCOPE_LABELS);
73
+ if (scope === 'agents')
74
+ return searchLabels(db, normalizedQuery, limit, mode, AGENT_SCOPE_LABELS);
75
+ const order = hasDocIntent(normalizedQuery)
76
+ ? [DOC_SCOPE_LABELS, CODE_SCOPE_LABELS, AGENT_SCOPE_LABELS]
77
+ : [CODE_SCOPE_LABELS, DOC_SCOPE_LABELS, AGENT_SCOPE_LABELS];
78
+ const results = [];
79
+ const seen = new Set();
80
+ // A question about agents or skills gets up to half the slots first; the
81
+ // code that matches it (an agent *picker*, say) keeps the rest.
82
+ if (hasAgentIntent(normalizedQuery)) {
83
+ for (const r of searchLabels(db, normalizedQuery, Math.ceil(limit / 2), mode, AGENT_SCOPE_LABELS)) {
84
+ results.push(r);
85
+ seen.add(r.id);
86
+ }
87
+ }
88
+ for (const labels of order) {
89
+ if (results.length >= limit)
90
+ break;
91
+ for (const r of searchLabels(db, normalizedQuery, limit - results.length, mode, labels)) {
92
+ if (seen.has(r.id))
93
+ continue;
94
+ results.push(r);
95
+ seen.add(r.id);
96
+ }
97
+ }
98
+ return results.slice(0, limit);
99
+ }
100
+ /**
101
+ * Summary hits sit below an exact lexical hit (whose relevance can exceed 1)
102
+ * but above weak fuzzy ones; a node found by both signals gets the summary
103
+ * score added, since two independent signals agreeing is the strongest evidence.
104
+ */
105
+ const SUMMARY_WEIGHT = 0.8;
106
+ const LEXICAL_ONLY_FACTOR = 0.25;
107
+ /** Tests restate the code they exercise; they rank below it unless asked for. */
108
+ export const TEST_PATH = /(\.test\.|\.spec\.|__tests__|__mocks__|\/tests?\/)/;
109
+ export const TEST_INTENT = /\b(tests?|specs?|mocks?|fixtures?)\b/i;
110
+ export const TEST_FACTOR = 0.6;
111
+ function searchLabels(db, normalizedQuery, limit, mode, label) {
112
+ const lexical = searchLexical(db, normalizedQuery, limit, mode, label);
113
+ const described = summarySearch(db, normalizedQuery, limit * 2, label);
114
+ if (described.length === 0)
115
+ return lexical;
116
+ // A multi-word question is not an identifier: a lexical-only hit is then
117
+ // usually a substring accident ("handle" inside handleTasksStatus), so it
118
+ // counts for less than a hit the descriptions also support.
119
+ if (contentWords(normalizedQuery).length >= 2) {
120
+ const supported = new Set(described.map((r) => r.id));
121
+ for (const r of lexical)
122
+ if (!supported.has(r.id))
123
+ r.relevance *= LEXICAL_ONLY_FACTOR;
124
+ }
125
+ const byId = new Map(lexical.map((r) => [r.id, r]));
126
+ for (const row of described) {
127
+ const score = SUMMARY_WEIGHT * relevanceFromFtsRank(row.rank);
128
+ const hit = byId.get(row.id);
129
+ if (hit) {
130
+ hit.relevance += score;
131
+ }
132
+ else {
133
+ byId.set(row.id, {
134
+ id: row.id,
135
+ name: row.name,
136
+ normLabel: row.normLabel,
137
+ filePath: row.filePath,
138
+ label: row.label,
139
+ relevance: score,
140
+ startLine: row.startLine,
141
+ endLine: row.endLine,
142
+ matchStrategy: 'fts',
143
+ });
144
+ }
145
+ }
146
+ const wantsTests = TEST_INTENT.test(normalizedQuery);
147
+ for (const r of byId.values()) {
148
+ if (!wantsTests && r.filePath && TEST_PATH.test(r.filePath))
149
+ r.relevance *= TEST_FACTOR;
150
+ }
151
+ return [...byId.values()].sort((a, b) => b.relevance - a.relevance).slice(0, limit);
152
+ }
153
+ function searchLexical(db, normalizedQuery, limit, mode, label) {
45
154
  if (mode === 'bm25') {
46
155
  // Over-fetch a little: FTS5's own ordering is what we keep, but a wider
47
156
  // window gives the caller's label filter something to bite on.
@@ -81,7 +190,7 @@ export function searchGraph(db, query, options = {}) {
81
190
  */
82
191
  export async function bm25Query(db, query, options = {}) {
83
192
  const { limit = 20, label } = options;
84
- return searchGraph(db, query, { limit, label, mode: 'bm25' }).map((r) => ({
193
+ return searchGraph(db, query, { limit, label, mode: 'bm25', scope: 'all' }).map((r) => ({
85
194
  id: r.id,
86
195
  name: r.name,
87
196
  normLabel: r.normLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-query.js","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-query.js","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA4BjD,MAAM,CAAC,MAAM,iBAAiB,GAAsB;IAClD,GAAG,kBAAkB;IACrB,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAC;AACF,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAExE,0FAA0F;AAC1F,MAAM,YAAY,GAAG,iDAAiD,CAAC;AACvE,MAAM,UAAU,GACd,yFAAyF,CAAC;AAE5F,iEAAiE;AACjE,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,EAAqB,EACrB,KAAa,EACb,OAAO,GAAuB,EAAE;IAEhC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IACvE,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEhC,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3F,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC/F,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE9F,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAElG,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC;QACzC,CAAC,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAC3D,CAAC,CAAC,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,yEAAyE;IACzE,gEAAgE;IAChE,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,YAAY,CAC1B,EAAE,EACF,eAAe,EACf,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EACpB,IAAI,EACJ,kBAAkB,CACnB,EAAE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;QACnC,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YACxF,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,iFAAiF;AACjF,MAAM,CAAC,MAAM,SAAS,GAAG,oDAAoD,CAAC;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAG,uCAAuC,CAAC;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC;AAE/B,SAAS,YAAY,CACnB,EAAqB,EACrB,eAAuB,EACvB,KAAa,EACb,IAAmB,EACnB,KAAkC;IAElC,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACvE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAC3C,yEAAyE;IACzE,0EAA0E;IAC1E,4DAA4D;IAC5D,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,CAAC,CAAC,SAAS,IAAI,mBAAmB,CAAC;IACxF,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE;gBACf,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,SAAS,EAAE,KAAK;gBAChB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC;IAC1F,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,aAAa,CACpB,EAAqB,EACrB,eAAuB,EACvB,KAAa,EACb,IAAmB,EACnB,KAAkC;IAElC,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,wEAAwE;QACxE,+DAA+D;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,aAAa,EAAE,KAAc;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,0EAA0E;IAC1E,yDAAyD;IACzD,OAAO,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,SAAS,EAAE,CAAC,CAAC,aAAa;QAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,aAAa,EAAE,CAAC,CAAC,aAAa;KAC/B,CAAC,CAAC,CAAC;AACN,CAAC;AA6BD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,EAAqB,EACrB,KAAa,EACb,OAAO,GAAqB,EAAE;IAE9B,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACtC,OAAO,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtF,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,SAAS;QAClB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"git-staleness.d.ts","sourceRoot":"","sources":["../../../src/staleness/git-staleness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAKzF,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kDAAkD;IAClD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0CAA0C;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,6DAA6D;IAC7D,KAAK,EAAE,mBAAmB,CAAC;IAC3B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sFAAsF;IACtF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gEAAgE;IAChE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2EAA2E;IAC3E,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAoJD,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CA4HjF"}
1
+ {"version":3,"file":"git-staleness.d.ts","sourceRoot":"","sources":["../../../src/staleness/git-staleness.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAKzF,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kDAAkD;IAClD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0CAA0C;IAC1C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,6DAA6D;IAC7D,KAAK,EAAE,mBAAmB,CAAC;IAC3B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sFAAsF;IACtF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gEAAgE;IAChE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2EAA2E;IAC3E,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,eAAe,EAAE,OAAO,CAAC;CAC1B;AAqJD,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CA6HjF"}
@@ -53,6 +53,7 @@ function checkDirtyWorktree(repoPath) {
53
53
  cwd: repoPath,
54
54
  encoding: 'utf8',
55
55
  maxBuffer: 8 * 1024 * 1024,
56
+ env: { ...process.env, GIT_OPTIONAL_LOCKS: '0' }, // #681: never take .git/index.lock
56
57
  stdio: ['ignore', 'pipe', 'pipe'], // #371
57
58
  });
58
59
  // Porcelain v1 lines are `XY <path>`; ignored files are excluded by default.
@@ -208,6 +209,7 @@ export function checkStaleness(db, repoPath) {
208
209
  const diff = execSync(`git diff --name-only ${indexedCommitFull}..HEAD`, {
209
210
  cwd: repoPath,
210
211
  encoding: 'utf8',
212
+ env: { ...process.env, GIT_OPTIONAL_LOCKS: '0' }, // #681
211
213
  });
212
214
  changedSince = diff.trim().split('\n').filter(Boolean);
213
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-staleness.js","sourceRoot":"","sources":["../../../src/staleness/git-staleness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-staleness.js","sourceRoot":"","sources":["../../../src/staleness/git-staleness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAmBtC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,CAwB/E;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAE7C;AAoCD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAgCtF"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAoBtC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,WAAW,CAwB/E;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAE7C;AAqCD,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAgCtF"}
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
2
2
  import { dirname } from 'node:path';
3
3
  import Database from 'better-sqlite3';
4
4
  import { MonographError } from '../types.js';
5
- import { CREATE_AGENT_INTERACTIONS, CREATE_AGENT_INTERACTIONS_IDX, CREATE_AGENT_INTERACTIONS_ORG_IDX, CREATE_AGENT_INTERACTIONS_TS_IDX, CREATE_AGENT_INTERACTIONS_TYPE_IDX, CREATE_COMMUNITIES, CREATE_EDGES, CREATE_EMBEDDINGS, CREATE_INDEX_META, CREATE_INDEXES, CREATE_NODES, CREATE_NODES_FTS, CREATE_WIKI_PAGES, FTS_SYNC_TRIGGERS, } from './schema.js';
5
+ import { CREATE_AGENT_INTERACTIONS, CREATE_AGENT_INTERACTIONS_IDX, CREATE_AGENT_INTERACTIONS_ORG_IDX, CREATE_AGENT_INTERACTIONS_TS_IDX, CREATE_AGENT_INTERACTIONS_TYPE_IDX, CREATE_COMMUNITIES, CREATE_EDGES, CREATE_INDEX_META, CREATE_INDEXES, CREATE_NODE_EMBEDDINGS, CREATE_NODE_SUMMARIES_FTS, CREATE_NODES, CREATE_NODES_FTS, CREATE_WIKI_PAGES, FTS_SYNC_TRIGGERS, } from './schema.js';
6
6
  export function openDb(dbPath, options = {}) {
7
7
  if (options.fileMustExist && !existsSync(dbPath)) {
8
8
  throw new MonographError(`Monograph database does not exist at ${dbPath}. Run monograph build first.`);
@@ -36,10 +36,11 @@ function applyMigrations(db) {
36
36
  db.exec(CREATE_COMMUNITIES);
37
37
  db.exec(CREATE_INDEX_META);
38
38
  db.exec(CREATE_NODES_FTS);
39
+ db.exec(CREATE_NODE_SUMMARIES_FTS);
40
+ db.exec(CREATE_NODE_EMBEDDINGS);
39
41
  for (const idx of CREATE_INDEXES)
40
42
  db.exec(idx);
41
43
  db.exec(FTS_SYNC_TRIGGERS);
42
- db.exec(CREATE_EMBEDDINGS);
43
44
  db.exec(CREATE_WIKI_PAGES);
44
45
  db.exec(CREATE_AGENT_INTERACTIONS);
45
46
  db.exec(CREATE_AGENT_INTERACTIONS_IDX);
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/storage/db.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type Database from 'better-sqlite3';
2
- import { type FtsResult } from './fts-store-search.js';
2
+ import { type FtsResult, type LabelFilter } from './fts-store-search.js';
3
3
  export interface HybridSearchResult extends FtsResult {
4
4
  combinedScore: number;
5
5
  matchStrategy: 'fts' | 'like' | 'fuzzy';
@@ -13,5 +13,5 @@ export interface HybridSearchResult extends FtsResult {
13
13
  * Results are deduped by id (highest combinedScore wins), re-ranked, and
14
14
  * trimmed to `limit`. The existing `ftsSearch` is left unchanged.
15
15
  */
16
- export declare function hybridSearch(db: Database.Database, query: string, limit: number, label?: string): HybridSearchResult[];
16
+ export declare function hybridSearch(db: Database.Database, query: string, limit: number, label?: LabelFilter): HybridSearchResult[];
17
17
  //# sourceMappingURL=fts-store-hybrid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-hybrid.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAmC,MAAM,uBAAuB,CAAC;AAExF,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,kBAAkB,EAAE,CA2EtB"}
1
+ {"version":3,"file":"fts-store-hybrid.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-hybrid.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,WAAW,EAGjB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAyCD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,WAAW,GAClB,kBAAkB,EAAE,CA4EtB"}
@@ -1,7 +1,7 @@
1
1
  // ── Hybrid search ─────────────────────────────────────────────────────────────
2
2
  // File-size sweep: split out of fts-store.ts.
3
3
  import { NOT_ANONYMOUS_CLOSURE_SQL } from './anonymous-closure.js';
4
- import { ftsSearch, relevanceFromFtsRank } from './fts-store-search.js';
4
+ import { ftsSearch, labelClause, relevanceFromFtsRank, } from './fts-store-search.js';
5
5
  /**
6
6
  * Computes an in-memory fuzzy sequence score for `query` against `name`.
7
7
  * Walks through query chars left-to-right, finding each in `name` sequentially.
@@ -88,8 +88,9 @@ export function hybridSearch(db, query, limit, label) {
88
88
  `;
89
89
  const likeParams = [likePattern, likePattern];
90
90
  if (label) {
91
- likeSql += ' AND n.label = ?';
92
- likeParams.push(label);
91
+ const lc = labelClause(label);
92
+ likeSql += lc.sql;
93
+ likeParams.push(...lc.params);
93
94
  }
94
95
  likeSql += ' LIMIT ?';
95
96
  likeParams.push(limit * 2);
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-hybrid.js","sourceRoot":"","sources":["../../../src/storage/fts-store-hybrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fts-store-hybrid.js","sourceRoot":"","sources":["../../../src/storage/fts-store-hybrid.ts"],"names":[],"mappings":"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"}
@@ -25,5 +25,18 @@ export interface FtsResult {
25
25
  * additive fuzzy/node-type bonuses without one term swamping the others.
26
26
  */
27
27
  export declare function relevanceFromFtsRank(rank: number): number;
28
- export declare function ftsSearch(db: Database.Database, query: string, limit: number, label?: string): FtsResult[];
28
+ /** A single node label, or any of several (e.g. every code-symbol label). */
29
+ export type LabelFilter = string | readonly string[];
30
+ /** SQL fragment + params restricting `n.label`; expects the `n` alias. */
31
+ export declare function labelClause(label: LabelFilter): {
32
+ sql: string;
33
+ params: string[];
34
+ };
35
+ /**
36
+ * Keyword search over node names and file paths (FTS5 trigram index), best
37
+ * match first. A plain-language query that matches nothing is retried on the
38
+ * identifier-like words extracted from it, and a short or malformed query falls
39
+ * back to a substring (LIKE) match, so a search never fails on its syntax.
40
+ */
41
+ export declare function ftsSearch(db: Database.Database, query: string, limit: number, label?: LabelFilter): FtsResult[];
29
42
  //# sourceMappingURL=fts-store-search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-search.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,MAAM,WAAW,SAAS;IACxB,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,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAgBD,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,EAAE,CAgKb"}
1
+ {"version":3,"file":"fts-store-search.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,MAAM,WAAW,SAAS;IACxB,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,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;AAErD,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAIjF;AAgBD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,WAAW,GAClB,SAAS,EAAE,CAoKb"}
@@ -18,6 +18,13 @@ export function relevanceFromFtsRank(rank) {
18
18
  const magnitude = Math.abs(rank);
19
19
  return magnitude / (1 + magnitude);
20
20
  }
21
+ /** SQL fragment + params restricting `n.label`; expects the `n` alias. */
22
+ export function labelClause(label) {
23
+ const labels = typeof label === 'string' ? [label] : [...label];
24
+ if (labels.length === 1)
25
+ return { sql: ' AND n.label = ?', params: labels };
26
+ return { sql: ` AND n.label IN (${labels.map(() => '?').join(',')})`, params: labels };
27
+ }
21
28
  /**
22
29
  * Quote a single FTS5 search term as a string literal when it contains characters
23
30
  * that would otherwise be parsed as FTS5 syntax (quotes, parens, boolean keywords
@@ -32,6 +39,12 @@ function quoteFtsTerm(term) {
32
39
  const escaped = term.replace(/"/g, '""');
33
40
  return `"${escaped}"`;
34
41
  }
42
+ /**
43
+ * Keyword search over node names and file paths (FTS5 trigram index), best
44
+ * match first. A plain-language query that matches nothing is retried on the
45
+ * identifier-like words extracted from it, and a short or malformed query falls
46
+ * back to a substring (LIKE) match, so a search never fails on its syntax.
47
+ */
35
48
  export function ftsSearch(db, query, limit, label) {
36
49
  // Sanitize: strip only characters that break FTS5 MATCH syntax (* still stripped,
37
50
  // trigram handles substring natively; " is now preserved since trigram doesn't need it removed)
@@ -51,8 +64,9 @@ export function ftsSearch(db, query, limit, label) {
51
64
  `;
52
65
  const matchParams = [ftsQuery];
53
66
  if (label) {
54
- matchSql += ' AND n.label = ?';
55
- matchParams.push(label);
67
+ const lc = labelClause(label);
68
+ matchSql += lc.sql;
69
+ matchParams.push(...lc.params);
56
70
  }
57
71
  matchSql += ' ORDER BY nodes_fts.rank LIMIT ?';
58
72
  matchParams.push(limit);
@@ -79,8 +93,9 @@ export function ftsSearch(db, query, limit, label) {
79
93
  `;
80
94
  const termParams = [termFtsQuery];
81
95
  if (label) {
82
- termSql += ' AND n.label = ?';
83
- termParams.push(label);
96
+ const lc = labelClause(label);
97
+ termSql += lc.sql;
98
+ termParams.push(...lc.params);
84
99
  }
85
100
  termSql += ' ORDER BY nodes_fts.rank LIMIT ?';
86
101
  termParams.push(limit * 2);
@@ -107,8 +122,9 @@ export function ftsSearch(db, query, limit, label) {
107
122
  `;
108
123
  const termLikeParams = [pat, pat];
109
124
  if (label) {
110
- termLikeSql += ' AND n.label = ?';
111
- termLikeParams.push(label);
125
+ const lc = labelClause(label);
126
+ termLikeSql += lc.sql;
127
+ termLikeParams.push(...lc.params);
112
128
  }
113
129
  termLikeSql += ' LIMIT ?';
114
130
  termLikeParams.push(limit);
@@ -150,8 +166,9 @@ export function ftsSearch(db, query, limit, label) {
150
166
  }
151
167
  likeSql += `) AND ${NOT_ANONYMOUS_CLOSURE_SQL}`;
152
168
  if (label) {
153
- likeSql += ' AND n.label = ?';
154
- likeParams.push(label);
169
+ const lc = labelClause(label);
170
+ likeSql += lc.sql;
171
+ likeParams.push(...lc.params);
155
172
  }
156
173
  likeSql += ' LIMIT ?';
157
174
  likeParams.push(limit);
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-search.js","sourceRoot":"","sources":["../../../src/storage/fts-store-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fts-store-search.js","sourceRoot":"","sources":["../../../src/storage/fts-store-search.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const STOPWORDS: Set<string>;
1
2
  /**
2
3
  * Extract code-relevant search terms from a natural-language query.
3
4
  * Strips stopwords, splits camelCase/PascalCase/snake_case, and strips
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-terms.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-terms.ts"],"names":[],"mappings":"AAkIA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D"}
1
+ {"version":3,"file":"fts-store-terms.d.ts","sourceRoot":"","sources":["../../../src/storage/fts-store-terms.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,aA6HpB,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAuC1D"}
@@ -1,6 +1,6 @@
1
1
  // ── Intent-to-identifier extraction ──────────────────────────────────────────
2
2
  // File-size sweep: split out of fts-store.ts.
3
- const STOPWORDS = new Set([
3
+ export const STOPWORDS = new Set([
4
4
  'a',
5
5
  'an',
6
6
  'the',
@@ -1 +1 @@
1
- {"version":3,"file":"fts-store-terms.js","sourceRoot":"","sources":["../../../src/storage/fts-store-terms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fts-store-terms.js","sourceRoot":"","sources":["../../../src/storage/fts-store-terms.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-store.d.ts","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAmB3E;AASD,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAsB/E;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAanF;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAKpF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAMxF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAGxD;AAID,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB;AAcD,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,EAAE,CAMnE;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAKpF;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAoB5E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,UAAU,GAAE,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAS,EAC1C,KAAK,SAAM,GACV,KAAK,CAAC;IACP,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC,CA+BD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAiBrE"}
1
+ {"version":3,"file":"node-store.d.ts","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8BjD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAc3E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAsB/E;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAanF;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAKpF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,CAMxF;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAGxD;AAID,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;CACpB;AAcD,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,EAAE,CAMnE;AAED,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAKpF;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAoB5E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAChC,UAAU,GAAE,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,GAAS,EAC1C,KAAK,SAAM,GACV,KAAK,CAAC;IACP,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC,CA+BD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,aAAa,CAiBrE"}
@@ -1,19 +1,33 @@
1
1
  import { MonographError, toNormLabel } from '../types.js';
2
2
  import { safeJsonParse } from './utils.js';
3
- export function insertNode(db, node) {
4
- db.prepare(`
5
- INSERT OR REPLACE INTO nodes
6
- (id, label, name, norm_label, file_path, start_line, end_line,
7
- community_id, is_exported, language, properties)
8
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
9
- `).run(node.id, node.label, node.name, node.normLabel ?? toNormLabel(node.name), node.filePath ?? null, node.startLine ?? null, node.endLine ?? null, node.communityId ?? null, node.isExported ? 1 : 0, node.language ?? null, node.properties ? JSON.stringify(node.properties) : null);
10
- }
3
+ // An upsert, not INSERT OR REPLACE: replacing the row would reset community_id and
4
+ // properties, wiping community assignments and enrichment (e.g. summaries) from every
5
+ // node a rebuild re-inserts unchanged. Structural columns take the fresh values;
6
+ // community_id and properties written by later phases or tools survive.
11
7
  const INSERT_SQL = `
12
- INSERT OR REPLACE INTO nodes
8
+ INSERT INTO nodes
13
9
  (id, label, name, norm_label, file_path, start_line, end_line,
14
10
  community_id, is_exported, language, properties)
15
11
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
12
+ ON CONFLICT(id) DO UPDATE SET
13
+ label = excluded.label,
14
+ name = excluded.name,
15
+ norm_label = excluded.norm_label,
16
+ file_path = excluded.file_path,
17
+ start_line = excluded.start_line,
18
+ end_line = excluded.end_line,
19
+ community_id = COALESCE(excluded.community_id, nodes.community_id),
20
+ is_exported = excluded.is_exported,
21
+ language = excluded.language,
22
+ properties = CASE
23
+ WHEN excluded.properties IS NULL THEN nodes.properties
24
+ WHEN nodes.properties IS NULL THEN excluded.properties
25
+ ELSE json_patch(nodes.properties, excluded.properties)
26
+ END
16
27
  `;
28
+ export function insertNode(db, node) {
29
+ db.prepare(INSERT_SQL).run(node.id, node.label, node.name, node.normLabel ?? toNormLabel(node.name), node.filePath ?? null, node.startLine ?? null, node.endLine ?? null, node.communityId ?? null, node.isExported ? 1 : 0, node.language ?? null, node.properties ? JSON.stringify(node.properties) : null);
30
+ }
17
31
  export function insertNodes(db, nodes) {
18
32
  if (nodes.length === 0)
19
33
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"node-store.js","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-store.js","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"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"}