lmgrep 0.1.16 → 0.1.18

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 (45) hide show
  1. package/dist/cli.d.ts +1 -1
  2. package/dist/cli.js +203 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +14 -2
  5. package/dist/index.js +356 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/build.d.ts +14 -0
  8. package/dist/lib/build.js +126 -36
  9. package/dist/lib/build.js.map +1 -1
  10. package/dist/lib/chunker/context.d.ts +4 -4
  11. package/dist/lib/chunker/context.js.map +1 -1
  12. package/dist/lib/chunker/index.js +64 -5
  13. package/dist/lib/chunker/index.js.map +1 -1
  14. package/dist/lib/chunker/languages.d.ts +1 -1
  15. package/dist/lib/chunker/languages.js +36 -17
  16. package/dist/lib/chunker/languages.js.map +1 -1
  17. package/dist/lib/embedder.d.ts +11 -1
  18. package/dist/lib/embedder.js +16 -1
  19. package/dist/lib/embedder.js.map +1 -1
  20. package/dist/lib/facet-session.d.ts +44 -0
  21. package/dist/lib/facet-session.js +125 -0
  22. package/dist/lib/facet-session.js.map +1 -0
  23. package/dist/lib/native-tuning.d.ts +1 -0
  24. package/dist/lib/native-tuning.js +9 -0
  25. package/dist/lib/native-tuning.js.map +1 -0
  26. package/dist/lib/repair.d.ts +9 -2
  27. package/dist/lib/repair.js +30 -77
  28. package/dist/lib/repair.js.map +1 -1
  29. package/dist/lib/search-tool.d.ts +9 -1
  30. package/dist/lib/search-tool.js +92 -12
  31. package/dist/lib/search-tool.js.map +1 -1
  32. package/dist/lib/serve.js +17 -0
  33. package/dist/lib/serve.js.map +1 -1
  34. package/dist/lib/store.d.ts +78 -3
  35. package/dist/lib/store.js +407 -16
  36. package/dist/lib/store.js.map +1 -1
  37. package/dist/lib/types.d.ts +65 -1
  38. package/dist/lib/types.js.map +1 -1
  39. package/dist/lib/vocab.d.ts +20 -0
  40. package/dist/lib/vocab.js +275 -0
  41. package/dist/lib/vocab.js.map +1 -0
  42. package/dist/mcp.d.ts +1 -1
  43. package/dist/mcp.js +13 -1
  44. package/dist/mcp.js.map +1 -1
  45. package/package.json +29 -3
@@ -1 +1 @@
1
- {"version":3,"file":"search-tool.js","sourceRoot":"","sources":["../../src/lib/search-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-tool.js","sourceRoot":"","sources":["../../src/lib/search-tool.ts"],"names":[],"mappings":"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"}
package/dist/lib/serve.js CHANGED
@@ -4,6 +4,12 @@ import { watchFiles } from "./scanner.js";
4
4
  import { getDbPath, findIndexedAncestor, acquireDbLock, releaseDbLock, isDbLocked, } from "./store.js";
5
5
  import { consoleLogger } from "./types.js";
6
6
  export { isDbLocked as isServeLocked };
7
+ // fs.watch (recursive) silently misses events on Linux — new subdirectories,
8
+ // editor atomic-saves, bursts. A periodic incremental reconcile is a cheap
9
+ // backstop: when nothing changed, build() returns before embedding (so it does
10
+ // not ping the embedder), and it also retries files that failed while the
11
+ // embedder was down. This removes the need to run `lmgrep index` in a loop.
12
+ const RECONCILE_MS = 30_000;
7
13
  // --- Serve ---
8
14
  export async function serve(cwd, store, config, embedder, chunker, logger = consoleLogger) {
9
15
  const log = logger.info.bind(logger);
@@ -68,6 +74,10 @@ export async function serve(cwd, store, config, embedder, chunker, logger = cons
68
74
  watchFiles(cwd, config.ignore, (changedFiles) => {
69
75
  runIndex(changedFiles);
70
76
  }, 2000, config.extensions);
77
+ // Periodic full reconcile backstop for events fs.watch missed.
78
+ setInterval(() => {
79
+ void runIndex();
80
+ }, RECONCILE_MS);
71
81
  log("Watching for changes...");
72
82
  }
73
83
  /**
@@ -118,8 +128,15 @@ export function startWatcher(cwd, store, config, embedder, chunker, logger = con
118
128
  const watcher = watchFiles(cwd, config.ignore, (changedFiles) => {
119
129
  runIndex(changedFiles);
120
130
  }, 2000, config.extensions);
131
+ // Periodic full reconcile backstop for events fs.watch missed. unref() so
132
+ // it never keeps the host process alive on its own.
133
+ const reconcileTimer = setInterval(() => {
134
+ void runIndex();
135
+ }, RECONCILE_MS);
136
+ reconcileTimer.unref?.();
121
137
  log("Watching for changes...");
122
138
  return () => {
139
+ clearInterval(reconcileTimer);
123
140
  watcher.close();
124
141
  releaseDbLock(cwd);
125
142
  };
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/lib/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/lib/serve.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,17 @@ export declare function acquireDbLock(cwd: string): boolean;
74
74
  * Release the write lock for a project's DB.
75
75
  */
76
76
  export declare function releaseDbLock(cwd: string): void;
77
+ /**
78
+ * Run `fn` while holding the project's write mutex, so concurrent indexers
79
+ * (a watcher plus an ad-hoc `lmgrep index`) can't write at the same time and
80
+ * produce duplicate chunk rows. Waits up to `waitMs` for a busy lock, taking
81
+ * over a lock held by a dead process. Throws if the lock can't be acquired in
82
+ * time.
83
+ */
84
+ export declare function withWriteLock<T>(cwd: string, fn: () => Promise<T>, opts?: {
85
+ waitMs?: number;
86
+ pollMs?: number;
87
+ }): Promise<T>;
77
88
  /**
78
89
  * Check if a write lock is held by a live process.
79
90
  */
@@ -102,11 +113,33 @@ export declare class Store {
102
113
  private db;
103
114
  private chunksTable;
104
115
  private filesTable;
116
+ private vocabTable;
105
117
  constructor(dbPath: string, branch?: string);
106
118
  static forProject(cwd: string): Store;
107
119
  private connection;
108
120
  private openChunks;
109
121
  private openFiles;
122
+ private openVocab;
123
+ hasVocab(): Promise<boolean>;
124
+ /**
125
+ * Return the set of vocab terms already embedded in the vocab table.
126
+ * Used at index time to skip re-embedding.
127
+ */
128
+ getVocabTerms(): Promise<Set<string>>;
129
+ addVocab(entries: Array<{
130
+ term: string;
131
+ vector: number[];
132
+ }>): Promise<void>;
133
+ /**
134
+ * ANN search against the vocab table. Returns top-N terms closest to the
135
+ * given vector by cosine distance.
136
+ */
137
+ searchVocab(vector: number[], limit: number, excludeTerms?: Set<string>): Promise<Array<{
138
+ term: string;
139
+ score: number;
140
+ }>>;
141
+ vocabCount(): Promise<number>;
142
+ dropVocab(): Promise<void>;
110
143
  addChunks(chunks: IndexedChunk[]): Promise<void>;
111
144
  /**
112
145
  * Delete chunks for files that are no longer referenced by ANY branch.
@@ -114,16 +147,34 @@ export declare class Store {
114
147
  * the chunks are kept (they're shared via content-addressing).
115
148
  */
116
149
  deleteChunksByFiles(filePaths: string[]): Promise<void>;
117
- private branchFilesCache;
150
+ private branchVersionsCache;
118
151
  /**
119
- * Get the set of file paths indexed on the current branch (cached).
152
+ * Map of filePath -> file-version hash for the current branch (cached).
153
+ * Used to scope search to the exact file versions this branch references,
154
+ * so stale chunks from another version of the same path are excluded.
120
155
  */
121
- getBranchFiles(): Promise<Set<string> | undefined>;
156
+ getBranchFileVersions(): Promise<Map<string, string> | undefined>;
122
157
  /** Invalidate the branch files cache (call after index/import). */
123
158
  invalidateBranchFilesCache(): void;
124
159
  search(queryVector: number[], limit?: number, filePrefix?: string, typeFilter?: string[],
125
160
  /** Pass false to skip branch scoping (e.g. for cross-project search). */
126
161
  scopeToBranch?: boolean): Promise<SearchResult[]>;
162
+ /**
163
+ * Same as search() but also returns each chunk's vector — needed for
164
+ * client-side clustering (facet command).
165
+ */
166
+ searchWithVectors(queryVector: number[], limit?: number, filePrefix?: string, scopeToBranch?: boolean): Promise<Array<SearchResult & {
167
+ id: string;
168
+ vector: number[];
169
+ }>>;
170
+ /**
171
+ * Fetch chunks (with vectors) by id. Used to rehydrate faceting sessions.
172
+ * Missing ids are silently dropped.
173
+ */
174
+ getChunksByIds(ids: string[]): Promise<Array<SearchResult & {
175
+ id: string;
176
+ vector: number[];
177
+ }>>;
127
178
  getIndexedFiles(): Promise<Map<string, string[]>>;
128
179
  getIndexedHashes(): Promise<Set<string>>;
129
180
  /**
@@ -132,6 +183,14 @@ export declare class Store {
132
183
  */
133
184
  filterExistingChunkHashes(hashes: string[]): Promise<Set<string>>;
134
185
  chunkCount(): Promise<number>;
186
+ /**
187
+ * Stream chunk texts (name + content only) in batches. Used by vocab
188
+ * backfill to avoid loading all chunks into memory at once.
189
+ */
190
+ streamChunkTexts(batchSize?: number): AsyncIterable<Array<{
191
+ name: string;
192
+ content: string;
193
+ }>>;
135
194
  getFileHashes(): Promise<Map<string, string>>;
136
195
  /**
137
196
  * Given a set of file hashes, return those that already exist in the
@@ -145,6 +204,22 @@ export declare class Store {
145
204
  }>): Promise<void>;
146
205
  deleteFileHashes(filePaths: string[]): Promise<void>;
147
206
  streamAllChunks(batchSize: number): AsyncGenerator<Record<string, unknown>[]>;
207
+ /**
208
+ * Remove redundant rows from the chunks table:
209
+ * - exact duplicate ids (identical rows from concurrent unlocked indexing)
210
+ * - orphaned versions: chunks whose fileHash is no longer referenced by any
211
+ * branch's manifest (left behind when a file was edited on one branch
212
+ * while another branch still pointed at the old path). Legacy chunks with
213
+ * an empty fileHash are kept.
214
+ * Rewrites the table from the surviving rows. Loads chunks into memory in
215
+ * batches, so this is a maintenance operation, not a hot path.
216
+ */
217
+ dedupeChunks(): Promise<{
218
+ before: number;
219
+ after: number;
220
+ duplicateIds: number;
221
+ staleVersions: number;
222
+ }>;
148
223
  getAllFileEntries(): Promise<Array<{
149
224
  filePath: string;
150
225
  fileHash: string;