sverklo 0.20.22 → 0.20.23

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.
@@ -128,9 +128,16 @@ async function rankCandidates(indexer, options) {
128
128
  }
129
129
  }
130
130
  }
131
- // Add chunks from top PageRank files (structurally important), cap total candidates
131
+ // Add chunks from top PageRank files (structurally important), cap total candidates.
132
+ // Single fileStore.getAll() scan for both the top-20 PR slice AND the
133
+ // file lookup map (was called twice on every warm search call before
134
+ // the 2026-05-13 perf review — P4 in the Performance synthesis).
132
135
  const MAX_CANDIDATES = 500;
133
- const topFiles = indexer.fileStore.getAll().slice(0, 20); // already sorted by pagerank DESC
136
+ const allFiles = indexer.fileStore.getAll(); // already sorted by pagerank DESC
137
+ const fileCache = new Map();
138
+ for (const f of allFiles)
139
+ fileCache.set(f.id, f);
140
+ const topFiles = allFiles.slice(0, 20);
134
141
  for (const f of topFiles) {
135
142
  if (candidateChunkIds.size >= MAX_CANDIDATES)
136
143
  break;
@@ -150,11 +157,6 @@ async function rankCandidates(indexer, options) {
150
157
  }
151
158
  vectorScores.sort((a, b) => b.score - a.score);
152
159
  const topVector = vectorScores.slice(0, 50);
153
- // Build file cache for PageRank lookup
154
- const fileCache = new Map();
155
- for (const f of indexer.fileStore.getAll()) {
156
- fileCache.set(f.id, f);
157
- }
158
160
  // Reciprocal Rank Fusion
159
161
  const rrfScores = new Map();
160
162
  // Add FTS scores
@@ -169,10 +171,19 @@ async function rankCandidates(indexer, options) {
169
171
  const score = 1 / (RRF_K + rank + 1);
170
172
  rrfScores.set(chunkId, (rrfScores.get(chunkId) || 0) + score);
171
173
  }
174
+ // Batch-load candidate chunks in ONE SQLite query instead of N
175
+ // chunkStore.getById point reads. RRF candidate set is bounded by
176
+ // MAX_CANDIDATES (~500), well within SQLITE_MAX_VARIABLE_NUMBER.
177
+ // Perf review 2026-05-13 (P4) estimated 30-50ms warm-call win.
178
+ const candidateIds = Array.from(rrfScores.keys());
179
+ const chunksById = new Map();
180
+ for (const chunk of indexer.chunkStore.getByIds(candidateIds)) {
181
+ chunksById.set(chunk.id, chunk);
182
+ }
172
183
  // Collect candidates with full data
173
184
  const candidates = [];
174
185
  for (const [chunkId, rrfScore] of rrfScores) {
175
- const chunk = indexer.chunkStore.getById(chunkId);
186
+ const chunk = chunksById.get(chunkId);
176
187
  if (!chunk)
177
188
  continue;
178
189
  const file = fileCache.get(chunk.file_id);
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../../src/search/hybrid-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid-search.js","sourceRoot":"","sources":["../../../src/search/hybrid-search.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,16 @@ export declare class ChunkStore {
16
16
  rank: number;
17
17
  })[];
18
18
  getById(id: number): CodeChunk | undefined;
19
+ /**
20
+ * Batched fetch by a set of chunk ids. Used by hybrid-search to enrich
21
+ * the RRF candidate set in one query instead of N point reads. The
22
+ * `WHERE id IN (...)` shape is built dynamically because better-sqlite3
23
+ * doesn't support array binding; we cap chunk-count at MAX_CANDIDATES
24
+ * (~500) upstream so the SQL stays well under SQLITE_MAX_VARIABLE_NUMBER.
25
+ * Returns chunks in arbitrary order — caller is responsible for the
26
+ * (chunkId → CodeChunk) mapping if ordering matters.
27
+ */
28
+ getByIds(ids: number[]): CodeChunk[];
19
29
  getByName(namePattern: string, limit?: number): CodeChunk[];
20
30
  /**
21
31
  * Same shape as getByName, but JOINs in the containing file's path and
@@ -57,6 +57,23 @@ export class ChunkStore {
57
57
  getById(id) {
58
58
  return this.getByIdStmt.get(id);
59
59
  }
60
+ /**
61
+ * Batched fetch by a set of chunk ids. Used by hybrid-search to enrich
62
+ * the RRF candidate set in one query instead of N point reads. The
63
+ * `WHERE id IN (...)` shape is built dynamically because better-sqlite3
64
+ * doesn't support array binding; we cap chunk-count at MAX_CANDIDATES
65
+ * (~500) upstream so the SQL stays well under SQLITE_MAX_VARIABLE_NUMBER.
66
+ * Returns chunks in arbitrary order — caller is responsible for the
67
+ * (chunkId → CodeChunk) mapping if ordering matters.
68
+ */
69
+ getByIds(ids) {
70
+ if (ids.length === 0)
71
+ return [];
72
+ const placeholders = ids.map(() => "?").join(",");
73
+ return this.db
74
+ .prepare(`SELECT * FROM chunks WHERE id IN (${placeholders})`)
75
+ .all(...ids);
76
+ }
60
77
  getByName(namePattern, limit = 20) {
61
78
  return this.getByNameStmt.all(`%${namePattern}%`, limit);
62
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-store.js","sourceRoot":"","sources":["../../../src/storage/chunk-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunk-store.js","sourceRoot":"","sources":["../../../src/storage/chunk-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sverklo",
3
3
  "mcpName": "io.github.sverklo/sverklo",
4
- "version": "0.20.22",
4
+ "version": "0.20.23",
5
5
  "description": "Local-first code intelligence — MCP server for Claude Code, Cursor, Windsurf, Zed. Symbol graph, blast-radius, git-pinned memory. 43× fewer tokens than naive grep on the public bench. MIT, zero-config.",
6
6
  "type": "module",
7
7
  "bin": {