opencode-rag-plugin 1.12.17 → 1.14.7

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 (336) hide show
  1. package/ReadMe.md +15 -13
  2. package/dist/api.d.ts +54 -2
  3. package/dist/api.js +41 -1
  4. package/dist/api.js.map +1 -1
  5. package/dist/chunker/base.js +2 -0
  6. package/dist/chunker/base.js.map +1 -1
  7. package/dist/chunker/bash.d.ts +5 -0
  8. package/dist/chunker/bash.js +5 -0
  9. package/dist/chunker/bash.js.map +1 -1
  10. package/dist/chunker/c.d.ts +6 -0
  11. package/dist/chunker/c.js +6 -0
  12. package/dist/chunker/c.js.map +1 -1
  13. package/dist/chunker/cpp.d.ts +6 -0
  14. package/dist/chunker/cpp.js +6 -0
  15. package/dist/chunker/cpp.js.map +1 -1
  16. package/dist/chunker/csharp.d.ts +6 -0
  17. package/dist/chunker/csharp.js +6 -0
  18. package/dist/chunker/csharp.js.map +1 -1
  19. package/dist/chunker/css.d.ts +6 -0
  20. package/dist/chunker/css.js +6 -0
  21. package/dist/chunker/css.js.map +1 -1
  22. package/dist/chunker/doc.d.ts +18 -0
  23. package/dist/chunker/doc.js +18 -0
  24. package/dist/chunker/doc.js.map +1 -1
  25. package/dist/chunker/dockerfile.d.ts +6 -0
  26. package/dist/chunker/dockerfile.js +6 -0
  27. package/dist/chunker/dockerfile.js.map +1 -1
  28. package/dist/chunker/docx.d.ts +18 -0
  29. package/dist/chunker/docx.js +18 -0
  30. package/dist/chunker/docx.js.map +1 -1
  31. package/dist/chunker/excel.d.ts +19 -0
  32. package/dist/chunker/excel.js +19 -0
  33. package/dist/chunker/excel.js.map +1 -1
  34. package/dist/chunker/go.d.ts +5 -0
  35. package/dist/chunker/go.js +5 -0
  36. package/dist/chunker/go.js.map +1 -1
  37. package/dist/chunker/grammar.d.ts +62 -0
  38. package/dist/chunker/grammar.js +133 -0
  39. package/dist/chunker/grammar.js.map +1 -1
  40. package/dist/chunker/html.d.ts +5 -0
  41. package/dist/chunker/html.js +5 -0
  42. package/dist/chunker/html.js.map +1 -1
  43. package/dist/chunker/image.d.ts +31 -0
  44. package/dist/chunker/image.js +50 -4
  45. package/dist/chunker/image.js.map +1 -1
  46. package/dist/chunker/ini.d.ts +5 -0
  47. package/dist/chunker/ini.js +5 -0
  48. package/dist/chunker/ini.js.map +1 -1
  49. package/dist/chunker/java.d.ts +5 -0
  50. package/dist/chunker/java.js +5 -0
  51. package/dist/chunker/java.js.map +1 -1
  52. package/dist/chunker/javascript.d.ts +6 -0
  53. package/dist/chunker/javascript.js +6 -0
  54. package/dist/chunker/javascript.js.map +1 -1
  55. package/dist/chunker/json.d.ts +5 -0
  56. package/dist/chunker/json.js +5 -0
  57. package/dist/chunker/json.js.map +1 -1
  58. package/dist/chunker/kotlin.d.ts +6 -0
  59. package/dist/chunker/kotlin.js +6 -0
  60. package/dist/chunker/kotlin.js.map +1 -1
  61. package/dist/chunker/loader.d.ts +11 -0
  62. package/dist/chunker/loader.js +20 -0
  63. package/dist/chunker/loader.js.map +1 -1
  64. package/dist/chunker/markdown.d.ts +5 -0
  65. package/dist/chunker/markdown.js +5 -0
  66. package/dist/chunker/markdown.js.map +1 -1
  67. package/dist/chunker/pdf.d.ts +19 -0
  68. package/dist/chunker/pdf.js +30 -0
  69. package/dist/chunker/pdf.js.map +1 -1
  70. package/dist/chunker/php.d.ts +5 -0
  71. package/dist/chunker/php.js +5 -0
  72. package/dist/chunker/php.js.map +1 -1
  73. package/dist/chunker/powershell.d.ts +5 -0
  74. package/dist/chunker/powershell.js +5 -0
  75. package/dist/chunker/powershell.js.map +1 -1
  76. package/dist/chunker/python.d.ts +5 -0
  77. package/dist/chunker/python.js +5 -0
  78. package/dist/chunker/python.js.map +1 -1
  79. package/dist/chunker/razor.d.ts +12 -0
  80. package/dist/chunker/razor.js +25 -0
  81. package/dist/chunker/razor.js.map +1 -1
  82. package/dist/chunker/ruby.d.ts +5 -0
  83. package/dist/chunker/ruby.js +5 -0
  84. package/dist/chunker/ruby.js.map +1 -1
  85. package/dist/chunker/rust.d.ts +6 -0
  86. package/dist/chunker/rust.js +6 -0
  87. package/dist/chunker/rust.js.map +1 -1
  88. package/dist/chunker/sln.d.ts +11 -0
  89. package/dist/chunker/sln.js +11 -0
  90. package/dist/chunker/sln.js.map +1 -1
  91. package/dist/chunker/sql.d.ts +5 -0
  92. package/dist/chunker/sql.js +5 -0
  93. package/dist/chunker/sql.js.map +1 -1
  94. package/dist/chunker/ssl.d.ts +12 -0
  95. package/dist/chunker/ssl.js +21 -2
  96. package/dist/chunker/ssl.js.map +1 -1
  97. package/dist/chunker/swift.d.ts +5 -0
  98. package/dist/chunker/swift.js +5 -0
  99. package/dist/chunker/swift.js.map +1 -1
  100. package/dist/chunker/tex.d.ts +12 -0
  101. package/dist/chunker/tex.js +12 -0
  102. package/dist/chunker/tex.js.map +1 -1
  103. package/dist/chunker/toml.d.ts +5 -0
  104. package/dist/chunker/toml.js +5 -0
  105. package/dist/chunker/toml.js.map +1 -1
  106. package/dist/chunker/typescript.d.ts +6 -0
  107. package/dist/chunker/typescript.js +6 -0
  108. package/dist/chunker/typescript.js.map +1 -1
  109. package/dist/chunker/xml.d.ts +5 -0
  110. package/dist/chunker/xml.js +5 -0
  111. package/dist/chunker/xml.js.map +1 -1
  112. package/dist/chunker/yaml.d.ts +5 -0
  113. package/dist/chunker/yaml.js +5 -0
  114. package/dist/chunker/yaml.js.map +1 -1
  115. package/dist/cli/commands/clear.d.ts +12 -0
  116. package/dist/cli/commands/clear.js +81 -0
  117. package/dist/cli/commands/clear.js.map +1 -0
  118. package/dist/cli/commands/describe-image.d.ts +14 -0
  119. package/dist/cli/commands/describe-image.js +68 -0
  120. package/dist/cli/commands/describe-image.js.map +1 -0
  121. package/dist/cli/commands/dump.d.ts +13 -0
  122. package/dist/cli/commands/dump.js +55 -0
  123. package/dist/cli/commands/dump.js.map +1 -0
  124. package/dist/cli/commands/eval.d.ts +32 -0
  125. package/dist/cli/commands/eval.js +158 -0
  126. package/dist/cli/commands/eval.js.map +1 -0
  127. package/dist/cli/commands/index-command.d.ts +17 -0
  128. package/dist/cli/commands/index-command.js +167 -0
  129. package/dist/cli/commands/index-command.js.map +1 -0
  130. package/dist/cli/commands/index.d.ts +16 -0
  131. package/dist/cli/commands/index.js +17 -0
  132. package/dist/cli/commands/index.js.map +1 -0
  133. package/dist/cli/commands/init-helpers.d.ts +101 -0
  134. package/dist/cli/commands/init-helpers.js +398 -0
  135. package/dist/cli/commands/init-helpers.js.map +1 -0
  136. package/dist/cli/commands/init.d.ts +19 -0
  137. package/dist/cli/commands/init.js +251 -0
  138. package/dist/cli/commands/init.js.map +1 -0
  139. package/dist/cli/commands/list.d.ts +13 -0
  140. package/dist/cli/commands/list.js +46 -0
  141. package/dist/cli/commands/list.js.map +1 -0
  142. package/dist/cli/commands/mcp.d.ts +14 -0
  143. package/dist/cli/commands/mcp.js +35 -0
  144. package/dist/cli/commands/mcp.js.map +1 -0
  145. package/dist/cli/commands/query.d.ts +14 -0
  146. package/dist/cli/commands/query.js +86 -0
  147. package/dist/cli/commands/query.js.map +1 -0
  148. package/dist/cli/commands/show.d.ts +13 -0
  149. package/dist/cli/commands/show.js +51 -0
  150. package/dist/cli/commands/show.js.map +1 -0
  151. package/dist/cli/commands/status.d.ts +14 -0
  152. package/dist/cli/commands/status.js +104 -0
  153. package/dist/cli/commands/status.js.map +1 -0
  154. package/dist/cli/commands/ui.d.ts +14 -0
  155. package/dist/cli/commands/ui.js +69 -0
  156. package/dist/cli/commands/ui.js.map +1 -0
  157. package/dist/cli/commands/update.d.ts +14 -0
  158. package/dist/cli/commands/update.js +76 -0
  159. package/dist/cli/commands/update.js.map +1 -0
  160. package/dist/cli/format.d.ts +112 -0
  161. package/dist/cli/format.js +184 -0
  162. package/dist/cli/format.js.map +1 -0
  163. package/dist/cli/helpers.d.ts +51 -0
  164. package/dist/cli/helpers.js +86 -0
  165. package/dist/cli/helpers.js.map +1 -0
  166. package/dist/cli/index.d.ts +28 -0
  167. package/dist/cli/index.js +107 -0
  168. package/dist/cli/index.js.map +1 -0
  169. package/dist/cli/progress.d.ts +39 -0
  170. package/dist/cli/progress.js +137 -0
  171. package/dist/cli/progress.js.map +1 -0
  172. package/dist/cli/types.d.ts +40 -0
  173. package/dist/cli/types.js +3 -0
  174. package/dist/cli/types.js.map +1 -0
  175. package/dist/cli.d.ts +11 -4
  176. package/dist/cli.js +9 -1253
  177. package/dist/cli.js.map +1 -1
  178. package/dist/content/doc.d.ts +1 -1
  179. package/dist/content/doc.js +1 -1
  180. package/dist/content/doc.js.map +1 -1
  181. package/dist/content/docx.d.ts +1 -1
  182. package/dist/content/docx.js +1 -1
  183. package/dist/content/docx.js.map +1 -1
  184. package/dist/content/excel.d.ts +1 -1
  185. package/dist/content/excel.js +1 -1
  186. package/dist/content/excel.js.map +1 -1
  187. package/dist/content/pdf.d.ts +1 -1
  188. package/dist/content/pdf.js +1 -1
  189. package/dist/content/pdf.js.map +1 -1
  190. package/dist/content/reader.d.ts +3 -1
  191. package/dist/content/reader.js +42 -10
  192. package/dist/content/reader.js.map +1 -1
  193. package/dist/core/bootstrap.d.ts +18 -0
  194. package/dist/core/bootstrap.js +9 -15
  195. package/dist/core/bootstrap.js.map +1 -1
  196. package/dist/core/config.d.ts +146 -0
  197. package/dist/core/config.js +66 -14
  198. package/dist/core/config.js.map +1 -1
  199. package/dist/core/doc-progress.d.ts +15 -0
  200. package/dist/core/doc-progress.js +61 -0
  201. package/dist/core/doc-progress.js.map +1 -0
  202. package/dist/core/fileLogger.d.ts +7 -0
  203. package/dist/core/fileLogger.js +2 -0
  204. package/dist/core/fileLogger.js.map +1 -1
  205. package/dist/core/interfaces.d.ts +52 -1
  206. package/dist/core/manifest.d.ts +25 -0
  207. package/dist/core/manifest.js +15 -1
  208. package/dist/core/manifest.js.map +1 -1
  209. package/dist/core/provider-defaults.d.ts +8 -0
  210. package/dist/core/provider-defaults.js +3 -0
  211. package/dist/core/provider-defaults.js.map +1 -1
  212. package/dist/core/rag-injection-flag.d.ts +3 -0
  213. package/dist/core/rag-injection-flag.js +2 -0
  214. package/dist/core/rag-injection-flag.js.map +1 -1
  215. package/dist/core/resolve-api-key.d.ts +1 -0
  216. package/dist/core/resolve-api-key.js +1 -0
  217. package/dist/core/resolve-api-key.js.map +1 -1
  218. package/dist/core/runtime-overrides.d.ts +4 -0
  219. package/dist/core/runtime-overrides.js +4 -1
  220. package/dist/core/runtime-overrides.js.map +1 -1
  221. package/dist/describer/anthropic.d.ts +22 -2
  222. package/dist/describer/anthropic.js +43 -111
  223. package/dist/describer/anthropic.js.map +1 -1
  224. package/dist/describer/describer.d.ts +21 -4
  225. package/dist/describer/describer.js +53 -112
  226. package/dist/describer/describer.js.map +1 -1
  227. package/dist/describer/gemini.d.ts +1 -2
  228. package/dist/describer/gemini.js +21 -114
  229. package/dist/describer/gemini.js.map +1 -1
  230. package/dist/describer/shared.d.ts +3 -0
  231. package/dist/describer/shared.js +23 -0
  232. package/dist/describer/shared.js.map +1 -0
  233. package/dist/embedder/factory.d.ts +25 -0
  234. package/dist/embedder/factory.js +25 -0
  235. package/dist/embedder/factory.js.map +1 -1
  236. package/dist/embedder/health.d.ts +10 -0
  237. package/dist/embedder/health.js +26 -14
  238. package/dist/embedder/health.js.map +1 -1
  239. package/dist/embedder/http.d.ts +47 -0
  240. package/dist/embedder/http.js +61 -3
  241. package/dist/embedder/http.js.map +1 -1
  242. package/dist/eval/index.d.ts +6 -0
  243. package/dist/eval/index.js.map +1 -1
  244. package/dist/eval/run-token-test.js +1 -5
  245. package/dist/eval/run-token-test.js.map +1 -1
  246. package/dist/eval/session-logger.d.ts +5 -0
  247. package/dist/eval/session-logger.js +4 -0
  248. package/dist/eval/session-logger.js.map +1 -1
  249. package/dist/eval/storage.d.ts +9 -0
  250. package/dist/eval/storage.js +9 -5
  251. package/dist/eval/storage.js.map +1 -1
  252. package/dist/eval/token-analysis.d.ts +8 -0
  253. package/dist/eval/token-analysis.js +6 -2
  254. package/dist/eval/token-analysis.js.map +1 -1
  255. package/dist/eval/token-counter.d.ts +1 -3
  256. package/dist/eval/token-counter.js +4 -5
  257. package/dist/eval/token-counter.js.map +1 -1
  258. package/dist/eval/types.d.ts +6 -0
  259. package/dist/eval/types.js +2 -0
  260. package/dist/eval/types.js.map +1 -1
  261. package/dist/index.d.ts +11 -0
  262. package/dist/index.js +12 -3
  263. package/dist/index.js.map +1 -1
  264. package/dist/indexer/description-stage.d.ts +1 -1
  265. package/dist/indexer/description-stage.js +25 -5
  266. package/dist/indexer/description-stage.js.map +1 -1
  267. package/dist/indexer/embed-stage.js +0 -8
  268. package/dist/indexer/embed-stage.js.map +1 -1
  269. package/dist/indexer/pipeline.d.ts +27 -3
  270. package/dist/indexer/pipeline.js +325 -143
  271. package/dist/indexer/pipeline.js.map +1 -1
  272. package/dist/indexer/stats.d.ts +35 -0
  273. package/dist/indexer/stats.js +9 -0
  274. package/dist/indexer/stats.js.map +1 -1
  275. package/dist/indexer/watch.d.ts +25 -0
  276. package/dist/indexer/watch.js +21 -0
  277. package/dist/indexer/watch.js.map +1 -1
  278. package/dist/indexer/worker.d.ts +96 -2
  279. package/dist/indexer/worker.js +109 -24
  280. package/dist/indexer/worker.js.map +1 -1
  281. package/dist/indexer.d.ts +11 -1
  282. package/dist/indexer.js +9 -0
  283. package/dist/indexer.js.map +1 -1
  284. package/dist/mcp/cli.d.ts +3 -0
  285. package/dist/mcp/cli.js +1 -0
  286. package/dist/mcp/cli.js.map +1 -1
  287. package/dist/mcp/handlers.d.ts +41 -0
  288. package/dist/mcp/handlers.js +40 -1
  289. package/dist/mcp/handlers.js.map +1 -1
  290. package/dist/mcp/server.d.ts +8 -0
  291. package/dist/mcp/server.js +18 -1
  292. package/dist/mcp/server.js.map +1 -1
  293. package/dist/opencode/create-read-tool.js +1 -0
  294. package/dist/opencode/create-read-tool.js.map +1 -1
  295. package/dist/opencode/tools.d.ts +8 -17
  296. package/dist/opencode/tools.js +74 -109
  297. package/dist/opencode/tools.js.map +1 -1
  298. package/dist/plugin-entry.d.ts +6 -0
  299. package/dist/plugin-entry.js +6 -0
  300. package/dist/plugin-entry.js.map +1 -1
  301. package/dist/plugin.d.ts +37 -0
  302. package/dist/plugin.js +278 -41
  303. package/dist/plugin.js.map +1 -1
  304. package/dist/retriever/keyword-index.js +9 -9
  305. package/dist/retriever/keyword-index.js.map +1 -1
  306. package/dist/retriever/retriever.js +14 -4
  307. package/dist/retriever/retriever.js.map +1 -1
  308. package/dist/tui.d.ts +5 -0
  309. package/dist/tui.js +101 -13
  310. package/dist/tui.js.map +1 -1
  311. package/dist/types/opencode-plugin.d.ts +4 -1
  312. package/dist/updater.d.ts +23 -1
  313. package/dist/updater.js +55 -16
  314. package/dist/updater.js.map +1 -1
  315. package/dist/vectorstore/factory.d.ts +13 -0
  316. package/dist/vectorstore/factory.js +13 -0
  317. package/dist/vectorstore/factory.js.map +1 -1
  318. package/dist/vectorstore/lancedb.d.ts +78 -1
  319. package/dist/vectorstore/lancedb.js +195 -21
  320. package/dist/vectorstore/lancedb.js.map +1 -1
  321. package/dist/vectorstore/memory.d.ts +5 -0
  322. package/dist/vectorstore/memory.js +11 -0
  323. package/dist/vectorstore/memory.js.map +1 -1
  324. package/dist/watcher.d.ts +24 -0
  325. package/dist/watcher.js +17 -35
  326. package/dist/watcher.js.map +1 -1
  327. package/dist/web/api.d.ts +37 -0
  328. package/dist/web/api.js +54 -0
  329. package/dist/web/api.js.map +1 -1
  330. package/dist/web/server.d.ts +15 -0
  331. package/dist/web/server.js +14 -0
  332. package/dist/web/server.js.map +1 -1
  333. package/dist/web/static.d.ts +8 -0
  334. package/dist/web/static.js +8 -0
  335. package/dist/web/static.js.map +1 -1
  336. package/package.json +11 -15
@@ -2,8 +2,12 @@ import * as lancedb from "@lancedb/lancedb";
2
2
  import fs from "node:fs/promises";
3
3
  import { normalizeFilePath, manifestPathFor } from "../core/manifest.js";
4
4
  const TABLE_NAME = "chunks";
5
- const VECTOR_COLUMN = "embedding";
6
5
  const QUERY_COLUMNS = ["id", "content", "description", "filePath", "startLine", "endLine", "language"];
6
+ /**
7
+ * Check whether an error is a LanceDB corruption error (table not found / broken).
8
+ * @param err - The error to inspect.
9
+ * @returns True if the error matches a known corruption pattern.
10
+ */
7
11
  export function isCorruptionError(err) {
8
12
  if (err instanceof Error) {
9
13
  return (err.message.includes("Not found") &&
@@ -12,12 +16,53 @@ export function isCorruptionError(err) {
12
16
  }
13
17
  return false;
14
18
  }
19
+ /**
20
+ * Atomically replace one LanceDB store directory with another.
21
+ * Swaps the real directory with a temporary one that was built during a rebuild.
22
+ * The old directory is moved to `${realPath}_old` and deleted asynchronously.
23
+ *
24
+ * @param tempPath - Path to the newly built store (source).
25
+ * @param realPath - Path to the current store (destination, will be replaced).
26
+ */
27
+ export async function swapStoreDirectories(tempPath, realPath) {
28
+ const oldPath = `${realPath}_old`;
29
+ // Move current real → old (so we can recover if the rename fails)
30
+ try {
31
+ await fs.rename(realPath, oldPath);
32
+ }
33
+ catch {
34
+ // realPath may not exist yet (first-time build)
35
+ }
36
+ // Move temp → real
37
+ try {
38
+ await fs.rename(tempPath, realPath);
39
+ }
40
+ catch (err) {
41
+ // Rename failed — try to restore old back
42
+ try {
43
+ await fs.rename(oldPath, realPath);
44
+ }
45
+ catch { }
46
+ throw err;
47
+ }
48
+ // Best-effort async cleanup of old directory
49
+ fs.rm(oldPath, { recursive: true, force: true }).catch(() => { });
50
+ }
51
+ /**
52
+ * A LanceDB-backed vector store with persistent on-disk storage, vector search,
53
+ * and chunk metadata queries. Supports automatic corruption recovery by falling
54
+ * back to prior table versions or dropping and rebuilding the table.
55
+ */
15
56
  export class LanceDBStore {
16
57
  dbPath;
17
58
  vectorDimension;
18
59
  db = null;
19
60
  table = null;
20
61
  tableInit = null;
62
+ /**
63
+ * @param dbPath - Filesystem path to the LanceDB database directory.
64
+ * @param vectorDimension - Dimension of the embedding vectors. Default: 384.
65
+ */
21
66
  constructor(dbPath, vectorDimension = 384) {
22
67
  this.dbPath = dbPath;
23
68
  this.vectorDimension = vectorDimension;
@@ -49,10 +94,22 @@ export class LanceDBStore {
49
94
  if (await this.tableHasDescriptionColumn()) {
50
95
  return this.table;
51
96
  }
97
+ // Schema missing 'description' column -- try to add it gracefully first.
98
+ try {
99
+ await this.table.addColumns([{ name: "description", valueSql: "''" }]);
100
+ console.warn("[lancedb] Added missing 'description' column to existing table.");
101
+ return this.table;
102
+ }
103
+ catch {
104
+ console.warn("[lancedb] Could not auto-add missing 'description' column. " +
105
+ "Run 'opencode-rag index --force' to rebuild the index with the correct schema.");
106
+ // Fall through to drop + recreate below
107
+ }
52
108
  try {
53
109
  const oldCount = await this.table.countRows();
54
110
  if (oldCount > 0) {
55
- console.error(`[lancedb] WARNING: Dropping table with ${oldCount} rows — schema missing 'description' column (data will be lost). Clearing manifest so index will rebuild.`);
111
+ console.warn(`[lancedb] Dropping table with ${oldCount} rows — schema missing 'description' column. ` +
112
+ `Clearing manifest so index will rebuild.`);
56
113
  try {
57
114
  const manifestPath = manifestPathFor(this.dbPath);
58
115
  await fs.unlink(manifestPath).catch(() => { });
@@ -83,7 +140,14 @@ export class LanceDBStore {
83
140
  data: [seedRow],
84
141
  mode: "overwrite",
85
142
  });
86
- await this.table.delete('id = "__seed__"');
143
+ const deleted = await this.table.delete('id = "__seed__"');
144
+ if (deleted === undefined) {
145
+ // LanceDB may not return a count; try a direct query to verify
146
+ const leftover = await this.table.query().filter('id = "__seed__"').limit(1).toArray();
147
+ if (leftover.length > 0) {
148
+ console.warn("[lancedb] WARNING: seed row still present — filtering in search");
149
+ }
150
+ }
87
151
  return this.table;
88
152
  }
89
153
  async tableHasDescriptionColumn() {
@@ -95,6 +159,13 @@ export class LanceDBStore {
95
159
  return false;
96
160
  }
97
161
  }
162
+ /**
163
+ * Store chunks in the LanceDB table. New rows are inserted first, then
164
+ * any old rows at the same (filePath, startLine) with different IDs are
165
+ * removed. This ensures no data is lost if the process aborts between
166
+ * insert and cleanup. Automatically attempts repair on corruption errors.
167
+ * @param chunks - The chunks to add.
168
+ */
98
169
  async addChunks(chunks) {
99
170
  if (chunks.length === 0)
100
171
  return;
@@ -125,14 +196,67 @@ export class LanceDBStore {
125
196
  }));
126
197
  if (rows.length === 0)
127
198
  return;
199
+ // Build a map: (filePath, startLine) → set of new IDs for dedup after insert
200
+ const newIdsByLine = new Map();
201
+ for (const row of rows) {
202
+ const key = `${row.filePath}:${row.startLine}`;
203
+ const ids = newIdsByLine.get(key);
204
+ if (ids) {
205
+ ids.add(row.id);
206
+ }
207
+ else {
208
+ newIdsByLine.set(key, new Set([row.id]));
209
+ }
210
+ }
211
+ // INSERT FIRST: data is safely stored before any delete
128
212
  await table.add(rows);
213
+ // THEN DEDUP: remove old rows at the same (filePath, startLine) positions,
214
+ // but preserve the newly inserted rows by filtering out their IDs.
215
+ for (const [key, newIds] of newIdsByLine) {
216
+ const colonIdx = key.lastIndexOf(":");
217
+ const filePath = key.slice(0, colonIdx);
218
+ const startLine = parseInt(key.slice(colonIdx + 1), 10);
219
+ const escapedPath = filePath.replace(/'/g, "''");
220
+ for (const id of newIds) {
221
+ const escapedId = id.replace(/'/g, "''");
222
+ await table.delete(`filePath = '${escapedPath}' AND startLine = ${startLine} AND id != '${escapedId}'`);
223
+ }
224
+ }
225
+ // FINALLY: remove stale chunks for the same file that belong to a
226
+ // previous revision (different startLines). Exclude the new inserts
227
+ // so an abort never orphans data.
228
+ const filePathsDone = new Set();
229
+ for (const [key] of newIdsByLine) {
230
+ const colonIdx = key.lastIndexOf(":");
231
+ const filePath = key.slice(0, colonIdx);
232
+ if (filePathsDone.has(filePath))
233
+ continue;
234
+ filePathsDone.add(filePath);
235
+ // Collect all new IDs inserted for this file
236
+ const fileNewIds = [];
237
+ for (const [k, ids] of newIdsByLine) {
238
+ if (k.startsWith(filePath + ":")) {
239
+ fileNewIds.push(...ids);
240
+ }
241
+ }
242
+ const escapedPath = filePath.replace(/'/g, "''");
243
+ const idList = fileNewIds.map((id) => `'${id.replace(/'/g, "''")}'`).join(", ");
244
+ await table.delete(`filePath = '${escapedPath}' AND id NOT IN (${idList})`);
245
+ }
129
246
  }
247
+ /**
248
+ * Perform ANN (approximate nearest neighbor) search using LanceDB's native vector index.
249
+ * Returns results scored as 1 / (1 + L2 distance). Falls back to repair on corruption.
250
+ * @param embedding - The query embedding vector.
251
+ * @param topK - Maximum number of results to return.
252
+ * @returns An array of search results sorted by descending score.
253
+ */
130
254
  async search(embedding, topK) {
131
255
  try {
132
256
  return await this.searchInternal(embedding, topK);
133
257
  }
134
258
  catch (err) {
135
- if (this.isCorruptionError(err)) {
259
+ if (isCorruptionError(err)) {
136
260
  const repaired = await this.tryRepair();
137
261
  if (repaired) {
138
262
  return this.searchInternal(embedding, topK);
@@ -157,12 +281,16 @@ export class LanceDBStore {
157
281
  },
158
282
  };
159
283
  }
284
+ /**
285
+ * List all distinct file paths stored in the index, along with their language and chunk count.
286
+ * @returns An array of file summaries sorted by file path.
287
+ */
160
288
  async listFiles() {
161
289
  const table = await this.getTable();
162
290
  const count = await table.countRows();
163
291
  if (count === 0)
164
292
  return [];
165
- const rows = await table.query().select(["filePath", "language"]).toArray();
293
+ const rows = await table.query().select(["filePath", "language"]).limit(count).toArray();
166
294
  const fileMap = new Map();
167
295
  for (const row of rows) {
168
296
  const filePath = row.filePath;
@@ -179,6 +307,11 @@ export class LanceDBStore {
179
307
  .map(([filePath, info]) => ({ filePath, ...info }))
180
308
  .sort((a, b) => a.filePath.localeCompare(b.filePath));
181
309
  }
310
+ /**
311
+ * Retrieve all chunks for a specific file path, sorted by start line.
312
+ * @param filePath - The file path to query.
313
+ * @returns An array of chunks for that file.
314
+ */
182
315
  async getChunksByFilePath(filePath) {
183
316
  const table = await this.getTable();
184
317
  const normalizedPath = normalizeFilePath(filePath).replace(/'/g, "''");
@@ -200,6 +333,12 @@ export class LanceDBStore {
200
333
  }))
201
334
  .sort((a, b) => a.metadata.startLine - b.metadata.startLine);
202
335
  }
336
+ /**
337
+ * Retrieve a paginated list of all chunks without embeddings.
338
+ * @param offset - Number of rows to skip (for pagination).
339
+ * @param limit - Maximum number of rows to return.
340
+ * @returns An array of chunk summaries.
341
+ */
203
342
  async getChunks(offset, limit) {
204
343
  const table = await this.getTable();
205
344
  const rows = await table.query()
@@ -227,8 +366,14 @@ export class LanceDBStore {
227
366
  if (count === 0)
228
367
  return [];
229
368
  const results = await table.search(embedding).limit(topK).toArray();
230
- return results.map((row) => this.rowToSearchResult(row));
369
+ return results
370
+ .map((row) => this.rowToSearchResult(row))
371
+ .filter((r) => r.chunk.id !== "__seed__");
231
372
  }
373
+ /**
374
+ * Return the total number of chunks stored in the table.
375
+ * @returns The chunk count, or 0 if the table does not exist.
376
+ */
232
377
  async count() {
233
378
  try {
234
379
  const db = await this.getDb();
@@ -242,12 +387,31 @@ export class LanceDBStore {
242
387
  return 0;
243
388
  }
244
389
  }
390
+ /**
391
+ * Re-open the store, optionally pointing at a new database path.
392
+ * Closes any existing connection and resets internal state so that the
393
+ * next operation lazily reconnects to (the new) path.
394
+ *
395
+ * @param newPath - Optional new filesystem path for the LanceDB database.
396
+ */
397
+ async reopen(newPath) {
398
+ if (newPath)
399
+ this.dbPath = newPath;
400
+ this.table = null;
401
+ this.db = null;
402
+ this.tableInit = null;
403
+ }
404
+ /** Close the database connection and release resources. */
245
405
  async close() {
246
406
  this.table?.close();
247
407
  this.table = null;
248
408
  this.db?.close();
249
409
  this.db = null;
250
410
  }
411
+ /**
412
+ * Remove all chunks by dropping the underlying LanceDB table.
413
+ * Falls back to deleting the database directory if dropTable fails.
414
+ */
251
415
  async clear() {
252
416
  this.table = null;
253
417
  try {
@@ -265,6 +429,10 @@ export class LanceDBStore {
265
429
  catch { }
266
430
  }
267
431
  }
432
+ /**
433
+ * Completely remove the entire LanceDB database directory from disk.
434
+ * All data is permanently lost.
435
+ */
268
436
  async dropDatabase() {
269
437
  this.table = null;
270
438
  this.db = null;
@@ -273,6 +441,11 @@ export class LanceDBStore {
273
441
  }
274
442
  catch { }
275
443
  }
444
+ /**
445
+ * Remove all chunks associated with a given file path.
446
+ * Automatically attempts repair on corruption errors.
447
+ * @param filePath - The file path whose chunks should be deleted.
448
+ */
276
449
  async deleteByFilePath(filePath) {
277
450
  try {
278
451
  await this.deleteByFilePathInternal(filePath);
@@ -294,9 +467,6 @@ export class LanceDBStore {
294
467
  const normalizedPath = normalizeFilePath(filePath).replace(/'/g, "''");
295
468
  await table.delete(`filePath = '${normalizedPath}'`);
296
469
  }
297
- isCorruptionError(err) {
298
- return isCorruptionError(err);
299
- }
300
470
  async tryRepair() {
301
471
  try {
302
472
  this.table = null;
@@ -310,28 +480,31 @@ export class LanceDBStore {
310
480
  table = await db.openTable(TABLE_NAME);
311
481
  }
312
482
  catch {
313
- await this.dropDatabase();
314
- return true;
483
+ // Table is corrupt and can't even be opened — leave it be so the user
484
+ // can run `opencode-rag index --force` to rebuild with full control.
485
+ console.error("[lancedb] Corrupt table detected. Run 'opencode-rag index --force' to rebuild.");
486
+ return false;
315
487
  }
316
488
  let versions;
317
489
  try {
318
490
  versions = await table.listVersions();
319
491
  }
320
492
  catch {
321
- await db.dropTable(TABLE_NAME).catch(() => { });
322
- this.table = null;
323
- return true;
493
+ // Can't list versions (corrupt version manifest). Don't nuke data —
494
+ // let the user decide how to proceed.
495
+ console.warn("[lancedb] Could not list table versions for repair. " +
496
+ "Run 'opencode-rag index --force' to rebuild if search results are incorrect.");
497
+ return false;
324
498
  }
499
+ // No previous version to roll back to — not a corruption we can fix.
325
500
  if (versions.length <= 1) {
326
- await db.dropTable(TABLE_NAME).catch(() => { });
327
- this.table = null;
328
- return true;
501
+ return false;
329
502
  }
330
503
  const sorted = [...versions].sort((a, b) => b.version - a.version);
331
504
  for (const ver of sorted.slice(1)) {
332
505
  try {
333
506
  await table.checkout(ver.version);
334
- const count = await table.countRows();
507
+ await table.countRows();
335
508
  await table.restore();
336
509
  await table.checkoutLatest();
337
510
  this.table = table;
@@ -341,9 +514,10 @@ export class LanceDBStore {
341
514
  continue;
342
515
  }
343
516
  }
344
- await db.dropTable(TABLE_NAME).catch(() => { });
345
- this.table = null;
346
- return true;
517
+ // Tried all versions, none worked — report failure but don't destroy data.
518
+ console.error("[lancedb] All version-restore attempts failed. " +
519
+ "Run 'opencode-rag index --force' to rebuild the index.");
520
+ return false;
347
521
  }
348
522
  catch {
349
523
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"lancedb.js","sourceRoot":"","sources":["../../src/vectorstore/lancedb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lancedb.js","sourceRoot":"","sources":["../../src/vectorstore/lancedb.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@ export declare class InMemoryVectorStore implements VectorStore {
5
5
  search(embedding: number[], topK: number): Promise<SearchResult[]>;
6
6
  count(): Promise<number>;
7
7
  clear(): Promise<void>;
8
+ /**
9
+ * Remove all chunks associated with a given file path.
10
+ * @param filePath - The file path whose chunks should be removed.
11
+ */
8
12
  deleteByFilePath(filePath: string): Promise<void>;
13
+ /** Release any held resources. No-op for the in-memory store. */
9
14
  close(): Promise<void>;
10
15
  }
@@ -20,12 +20,23 @@ export class InMemoryVectorStore {
20
20
  async clear() {
21
21
  this.chunks = [];
22
22
  }
23
+ /**
24
+ * Remove all chunks associated with a given file path.
25
+ * @param filePath - The file path whose chunks should be removed.
26
+ */
23
27
  async deleteByFilePath(filePath) {
24
28
  this.chunks = this.chunks.filter((c) => c.metadata.filePath !== filePath);
25
29
  }
30
+ /** Release any held resources. No-op for the in-memory store. */
26
31
  async close() {
27
32
  }
28
33
  }
34
+ /**
35
+ * Compute the cosine similarity between two equal-length vectors.
36
+ * @param a - First vector.
37
+ * @param b - Second vector.
38
+ * @returns The cosine similarity (0 if either vector has zero magnitude).
39
+ */
29
40
  function cosineSimilarity(a, b) {
30
41
  let dot = 0;
31
42
  let normA = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/vectorstore/memory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IACtB,MAAM,GAAY,EAAE,CAAC;IAE7B,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAmB,EAAE,IAAY;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,CAAC,CAAC,EAAwC,EAAE,CAC1C,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CACvE,CAAC;QACF,MAAM,MAAM,GAAG,cAAc;aAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAElB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,KAAK;IACX,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IAChD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/vectorstore/memory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IACtB,MAAM,GAAY,EAAE,CAAC;IAE7B,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAmB,EAAE,IAAY;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,CAAC,CAAC,EAAwC,EAAE,CAC1C,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,CACvE,CAAC;QACF,MAAM,MAAM,GAAG,cAAc;aAC1B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC/B,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAElB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,KAAK;IACX,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,CAAW,EAAE,CAAW;IAChD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACjB,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACvC,CAAC"}
package/dist/watcher.d.ts CHANGED
@@ -1,21 +1,45 @@
1
1
  import type { RagConfig } from "./core/config.js";
2
2
  import type { DescriptionProvider, EmbeddingProvider, KeywordIndex, VectorStore } from "./core/interfaces.js";
3
+ /** A background indexer that can be shut down gracefully. */
3
4
  export interface BackgroundIndexer {
5
+ /** Stop the watcher, cancel pending index passes, and clean up status files. */
4
6
  close(): Promise<void>;
5
7
  }
8
+ /** Options for creating a background indexer instance. */
6
9
  export interface CreateBackgroundIndexerOptions {
10
+ /** The workspace root directory to watch for changes. */
7
11
  cwd: string;
12
+ /** Absolute path to the vector store directory. */
8
13
  storePath: string;
14
+ /** Loaded RAG configuration. */
9
15
  config: RagConfig;
16
+ /** Vector store instance for writing indexed chunks. */
10
17
  store: VectorStore;
18
+ /** Embedding provider for converting chunks to vectors. */
11
19
  embedder: EmbeddingProvider;
20
+ /** Path to the debug log file. */
12
21
  logFilePath: string;
22
+ /** Log level controlling verbosity. */
13
23
  logLevel?: string;
24
+ /** Optional keyword index for hybrid search support. */
14
25
  keywordIndex?: KeywordIndex;
26
+ /** Optional provider for generating LLM-based chunk descriptions. */
15
27
  descriptionProvider?: DescriptionProvider;
16
28
  }
29
+ /** The current operational status of the background indexer watcher. */
17
30
  export type WatcherStatus = {
31
+ /** Whether an index pass is currently running. */
18
32
  running: boolean;
33
+ /** Timestamp (ms since epoch) of the last completed run, or undefined. */
19
34
  lastRunAt: number | undefined;
20
35
  };
36
+ /**
37
+ * Create a background file watcher that automatically re-indexes the
38
+ * workspace when files change. Uses chokidar for file system events and
39
+ * debounces rapid changes. Detects vector store corruption and performs
40
+ * an automatic rebuild.
41
+ *
42
+ * @param options - Configuration for the background indexer.
43
+ * @returns A BackgroundIndexer handle with a close() method for shutdown.
44
+ */
21
45
  export declare function createBackgroundIndexer(options: CreateBackgroundIndexerOptions): BackgroundIndexer;
package/dist/watcher.js CHANGED
@@ -4,6 +4,7 @@ import { writeFileSync, unlinkSync, existsSync } from "node:fs";
4
4
  import { appendDebugLog } from "./core/fileLogger.js";
5
5
  import { isCorruptionError } from "./vectorstore/lancedb.js";
6
6
  import { createWatchPassScheduler, createWatchIgnore, runIndexPass, } from "./indexer.js";
7
+ /** Persist the current watcher status to disk as JSON. */
7
8
  function writeWatcherStatus(storePath, status) {
8
9
  try {
9
10
  writeFileSync(path.join(storePath, "watcher-status.json"), JSON.stringify(status, null, 2), "utf-8");
@@ -12,6 +13,15 @@ function writeWatcherStatus(storePath, status) {
12
13
  // silently ignore write errors
13
14
  }
14
15
  }
16
+ /**
17
+ * Create a background file watcher that automatically re-indexes the
18
+ * workspace when files change. Uses chokidar for file system events and
19
+ * debounces rapid changes. Detects vector store corruption and performs
20
+ * an automatic rebuild.
21
+ *
22
+ * @param options - Configuration for the background indexer.
23
+ * @returns A BackgroundIndexer handle with a close() method for shutdown.
24
+ */
15
25
  export function createBackgroundIndexer(options) {
16
26
  const { cwd, storePath, config, store, embedder, logFilePath, logLevel, keywordIndex, descriptionProvider } = options;
17
27
  writeWatcherStatus(storePath, { running: false, lastRunAt: undefined });
@@ -38,43 +48,15 @@ export function createBackgroundIndexer(options) {
38
48
  updateStatus({ running: false, lastRunAt: Date.now() });
39
49
  }
40
50
  catch (err) {
51
+ appendDebugLog(logFilePath, {
52
+ scope: "autoIndex",
53
+ message: "Watch reindex pass failed",
54
+ error: err,
55
+ }, logLevel);
41
56
  if (isCorruptionError(err)) {
42
57
  appendDebugLog(logFilePath, {
43
58
  scope: "autoIndex",
44
- message: "Corruption detected; clearing store and rebuilding",
45
- error: err,
46
- }, logLevel);
47
- try {
48
- await store.clear();
49
- keywordIndex?.clear();
50
- await runIndexPass({
51
- cwd,
52
- storePath,
53
- config,
54
- store,
55
- embedder,
56
- keywordIndex,
57
- descriptionProvider,
58
- logger: {
59
- info: (message) => appendDebugLog(logFilePath, { scope: "autoIndex", message }, logLevel),
60
- warn: (message) => appendDebugLog(logFilePath, { scope: "autoIndex", message }, logLevel),
61
- debug: (message) => appendDebugLog(logFilePath, { scope: "autoIndex", message: `DEBUG: ${message}`, severity: "debug" }, logLevel),
62
- },
63
- });
64
- }
65
- catch (retryErr) {
66
- appendDebugLog(logFilePath, {
67
- scope: "autoIndex",
68
- message: "Rebuild after corruption also failed",
69
- error: retryErr,
70
- }, logLevel);
71
- }
72
- }
73
- else {
74
- appendDebugLog(logFilePath, {
75
- scope: "autoIndex",
76
- message: "Watch reindex pass failed",
77
- error: err,
59
+ message: "Corruption detected run 'opencode-rag index --force' to rebuild manually",
78
60
  }, logLevel);
79
61
  }
80
62
  updateStatus({ running: false, lastRunAt: Date.now() });
@@ -88,7 +70,7 @@ export function createBackgroundIndexer(options) {
88
70
  error: err,
89
71
  }, logLevel);
90
72
  });
91
- const autoIndexCfg = config.openCode.autoIndex ?? { enabled: true, debounceMs: 5000, intervalMs: 300000 };
73
+ const autoIndexCfg = config.openCode.autoIndex ?? { enabled: false, debounceMs: 5000, intervalMs: 300000 };
92
74
  const scheduler = createWatchPassScheduler(runPass, (error) => {
93
75
  const message = error.message || String(error);
94
76
  appendDebugLog(logFilePath, {
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"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"}