codevault 1.8.4 → 1.8.5

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 (351) hide show
  1. package/README.md +3 -2
  2. package/dist/chunking/token-counter.d.ts.map +1 -1
  3. package/dist/chunking/token-counter.js +16 -10
  4. package/dist/chunking/token-counter.js.map +1 -1
  5. package/dist/cli/commands/index-cmd.d.ts.map +1 -1
  6. package/dist/cli/commands/index-cmd.js +108 -97
  7. package/dist/cli/commands/index-cmd.js.map +1 -1
  8. package/dist/cli/commands/interactive-config.d.ts.map +1 -1
  9. package/dist/cli/commands/interactive-config.js +40 -3
  10. package/dist/cli/commands/interactive-config.js.map +1 -1
  11. package/dist/cli/commands/search-cmd.d.ts.map +1 -1
  12. package/dist/cli/commands/search-cmd.js +11 -7
  13. package/dist/cli/commands/search-cmd.js.map +1 -1
  14. package/dist/cli/commands/search-with-code-cmd.d.ts.map +1 -1
  15. package/dist/cli/commands/search-with-code-cmd.js +3 -1
  16. package/dist/cli/commands/search-with-code-cmd.js.map +1 -1
  17. package/dist/cli/utils.d.ts +56 -0
  18. package/dist/cli/utils.d.ts.map +1 -0
  19. package/dist/cli/utils.js +98 -0
  20. package/dist/cli/utils.js.map +1 -0
  21. package/dist/config/constants.d.ts +4 -0
  22. package/dist/config/constants.d.ts.map +1 -1
  23. package/dist/config/constants.js +2 -0
  24. package/dist/config/constants.js.map +1 -1
  25. package/dist/context/packs.d.ts.map +1 -1
  26. package/dist/context/packs.js +3 -1
  27. package/dist/context/packs.js.map +1 -1
  28. package/dist/core/IndexerEngine.d.ts +2 -0
  29. package/dist/core/IndexerEngine.d.ts.map +1 -1
  30. package/dist/core/IndexerEngine.js +34 -26
  31. package/dist/core/IndexerEngine.js.map +1 -1
  32. package/dist/core/SearchService.d.ts +1 -0
  33. package/dist/core/SearchService.d.ts.map +1 -1
  34. package/dist/core/SearchService.js +18 -12
  35. package/dist/core/SearchService.js.map +1 -1
  36. package/dist/core/batch-indexer.d.ts.map +1 -1
  37. package/dist/core/batch-indexer.js +5 -13
  38. package/dist/core/batch-indexer.js.map +1 -1
  39. package/dist/core/indexing/IndexFinalizationStage.d.ts.map +1 -1
  40. package/dist/core/indexing/IndexFinalizationStage.js +21 -2
  41. package/dist/core/indexing/IndexFinalizationStage.js.map +1 -1
  42. package/dist/core/indexing/IndexState.d.ts +3 -8
  43. package/dist/core/indexing/IndexState.d.ts.map +1 -1
  44. package/dist/core/indexing/IndexState.js.map +1 -1
  45. package/dist/core/indexing/PersistManager.d.ts +1 -1
  46. package/dist/core/indexing/PersistManager.d.ts.map +1 -1
  47. package/dist/core/indexing/PersistManager.js +17 -17
  48. package/dist/core/indexing/PersistManager.js.map +1 -1
  49. package/dist/core/search/HybridFusion.d.ts +0 -1
  50. package/dist/core/search/HybridFusion.d.ts.map +1 -1
  51. package/dist/core/search/HybridFusion.js +2 -14
  52. package/dist/core/search/HybridFusion.js.map +1 -1
  53. package/dist/core/search/ResultMapper.d.ts +0 -1
  54. package/dist/core/search/ResultMapper.d.ts.map +1 -1
  55. package/dist/core/search/ResultMapper.js +2 -13
  56. package/dist/core/search/ResultMapper.js.map +1 -1
  57. package/dist/core/search/SearchContextManager.d.ts +3 -0
  58. package/dist/core/search/SearchContextManager.d.ts.map +1 -1
  59. package/dist/core/search/SearchContextManager.js +15 -2
  60. package/dist/core/search/SearchContextManager.js.map +1 -1
  61. package/dist/core/search.d.ts.map +1 -1
  62. package/dist/core/search.js +9 -4
  63. package/dist/core/search.js.map +1 -1
  64. package/dist/languages/rules.d.ts.map +1 -1
  65. package/dist/languages/rules.js +14 -5
  66. package/dist/languages/rules.js.map +1 -1
  67. package/dist/mcp/schemas.d.ts +2 -2
  68. package/dist/mcp-server.d.ts +1 -0
  69. package/dist/mcp-server.d.ts.map +1 -1
  70. package/dist/mcp-server.js +32 -21
  71. package/dist/mcp-server.js.map +1 -1
  72. package/dist/providers/base.d.ts +3 -2
  73. package/dist/providers/base.d.ts.map +1 -1
  74. package/dist/providers/base.js +3 -1
  75. package/dist/providers/base.js.map +1 -1
  76. package/dist/providers/chat-llm.d.ts +2 -2
  77. package/dist/providers/chat-llm.d.ts.map +1 -1
  78. package/dist/providers/chat-llm.js +4 -1
  79. package/dist/providers/chat-llm.js.map +1 -1
  80. package/dist/providers/openai.d.ts.map +1 -1
  81. package/dist/providers/openai.js +4 -1
  82. package/dist/providers/openai.js.map +1 -1
  83. package/dist/ranking/api-reranker.d.ts.map +1 -1
  84. package/dist/ranking/api-reranker.js +27 -8
  85. package/dist/ranking/api-reranker.js.map +1 -1
  86. package/dist/ranking/symbol-boost.d.ts.map +1 -1
  87. package/dist/ranking/symbol-boost.js +4 -11
  88. package/dist/ranking/symbol-boost.js.map +1 -1
  89. package/dist/search/bm25.d.ts +10 -0
  90. package/dist/search/bm25.d.ts.map +1 -1
  91. package/dist/search/bm25.js +16 -0
  92. package/dist/search/bm25.js.map +1 -1
  93. package/dist/storage/encrypted-chunks.d.ts +3 -0
  94. package/dist/storage/encrypted-chunks.d.ts.map +1 -1
  95. package/dist/storage/encrypted-chunks.js +108 -16
  96. package/dist/storage/encrypted-chunks.js.map +1 -1
  97. package/dist/synthesis/conversational-synthesizer.d.ts +2 -1
  98. package/dist/synthesis/conversational-synthesizer.d.ts.map +1 -1
  99. package/dist/synthesis/conversational-synthesizer.js +6 -1
  100. package/dist/synthesis/conversational-synthesizer.js.map +1 -1
  101. package/dist/synthesis/prompt-builder.d.ts.map +1 -1
  102. package/dist/synthesis/prompt-builder.js +40 -13
  103. package/dist/synthesis/prompt-builder.js.map +1 -1
  104. package/dist/synthesis/synthesizer.d.ts.map +1 -1
  105. package/dist/synthesis/synthesizer.js +14 -2
  106. package/dist/synthesis/synthesizer.js.map +1 -1
  107. package/dist/tests/api-reranker.test.d.ts +2 -0
  108. package/dist/tests/api-reranker.test.d.ts.map +1 -0
  109. package/dist/tests/api-reranker.test.js +575 -0
  110. package/dist/tests/api-reranker.test.js.map +1 -0
  111. package/dist/tests/bm25.test.d.ts +2 -0
  112. package/dist/tests/bm25.test.d.ts.map +1 -0
  113. package/dist/tests/bm25.test.js +340 -0
  114. package/dist/tests/bm25.test.js.map +1 -0
  115. package/dist/tests/chunking/file-grouper.test.d.ts +2 -0
  116. package/dist/tests/chunking/file-grouper.test.d.ts.map +1 -0
  117. package/dist/tests/chunking/file-grouper.test.js +495 -0
  118. package/dist/tests/chunking/file-grouper.test.js.map +1 -0
  119. package/dist/tests/chunking/semantic-chunker.test.d.ts +2 -0
  120. package/dist/tests/chunking/semantic-chunker.test.d.ts.map +1 -0
  121. package/dist/tests/chunking/semantic-chunker.test.js +509 -0
  122. package/dist/tests/chunking/semantic-chunker.test.js.map +1 -0
  123. package/dist/tests/chunking/token-counter.test.d.ts +2 -0
  124. package/dist/tests/chunking/token-counter.test.d.ts.map +1 -0
  125. package/dist/tests/chunking/token-counter.test.js +441 -0
  126. package/dist/tests/chunking/token-counter.test.js.map +1 -0
  127. package/dist/tests/cli/ask-cmd.test.d.ts +2 -0
  128. package/dist/tests/cli/ask-cmd.test.d.ts.map +1 -0
  129. package/dist/tests/cli/ask-cmd.test.js +152 -0
  130. package/dist/tests/cli/ask-cmd.test.js.map +1 -0
  131. package/dist/tests/cli/chat-cmd.test.d.ts +2 -0
  132. package/dist/tests/cli/chat-cmd.test.d.ts.map +1 -0
  133. package/dist/tests/cli/chat-cmd.test.js +118 -0
  134. package/dist/tests/cli/chat-cmd.test.js.map +1 -0
  135. package/dist/tests/cli/config-cmd.test.d.ts +2 -0
  136. package/dist/tests/cli/config-cmd.test.d.ts.map +1 -0
  137. package/dist/tests/cli/config-cmd.test.js +226 -0
  138. package/dist/tests/cli/config-cmd.test.js.map +1 -0
  139. package/dist/tests/cli/context.test.d.ts +2 -0
  140. package/dist/tests/cli/context.test.d.ts.map +1 -0
  141. package/dist/tests/cli/context.test.js +158 -0
  142. package/dist/tests/cli/context.test.js.map +1 -0
  143. package/dist/tests/cli/index-cmd.test.d.ts +2 -0
  144. package/dist/tests/cli/index-cmd.test.d.ts.map +1 -0
  145. package/dist/tests/cli/index-cmd.test.js +89 -0
  146. package/dist/tests/cli/index-cmd.test.js.map +1 -0
  147. package/dist/tests/cli/index.test.d.ts +2 -0
  148. package/dist/tests/cli/index.test.d.ts.map +1 -0
  149. package/dist/tests/cli/index.test.js +167 -0
  150. package/dist/tests/cli/index.test.js.map +1 -0
  151. package/dist/tests/cli/info-cmd.test.d.ts +2 -0
  152. package/dist/tests/cli/info-cmd.test.d.ts.map +1 -0
  153. package/dist/tests/cli/info-cmd.test.js +47 -0
  154. package/dist/tests/cli/info-cmd.test.js.map +1 -0
  155. package/dist/tests/cli/interactive-config.test.d.ts +2 -0
  156. package/dist/tests/cli/interactive-config.test.d.ts.map +1 -0
  157. package/dist/tests/cli/interactive-config.test.js +30 -0
  158. package/dist/tests/cli/interactive-config.test.js.map +1 -0
  159. package/dist/tests/cli/mcp-cmd.test.d.ts +2 -0
  160. package/dist/tests/cli/mcp-cmd.test.d.ts.map +1 -0
  161. package/dist/tests/cli/mcp-cmd.test.js +47 -0
  162. package/dist/tests/cli/mcp-cmd.test.js.map +1 -0
  163. package/dist/tests/cli/search-cmd.test.d.ts +2 -0
  164. package/dist/tests/cli/search-cmd.test.d.ts.map +1 -0
  165. package/dist/tests/cli/search-cmd.test.js +120 -0
  166. package/dist/tests/cli/search-cmd.test.js.map +1 -0
  167. package/dist/tests/cli/search-with-code-cmd.test.d.ts +2 -0
  168. package/dist/tests/cli/search-with-code-cmd.test.d.ts.map +1 -0
  169. package/dist/tests/cli/search-with-code-cmd.test.js +140 -0
  170. package/dist/tests/cli/search-with-code-cmd.test.js.map +1 -0
  171. package/dist/tests/cli/update-cmd.test.d.ts +2 -0
  172. package/dist/tests/cli/update-cmd.test.d.ts.map +1 -0
  173. package/dist/tests/cli/update-cmd.test.js +75 -0
  174. package/dist/tests/cli/update-cmd.test.js.map +1 -0
  175. package/dist/tests/cli/utils.test.d.ts +2 -0
  176. package/dist/tests/cli/utils.test.d.ts.map +1 -0
  177. package/dist/tests/cli/utils.test.js +119 -0
  178. package/dist/tests/cli/utils.test.js.map +1 -0
  179. package/dist/tests/cli/watch-cmd.test.d.ts +2 -0
  180. package/dist/tests/cli/watch-cmd.test.d.ts.map +1 -0
  181. package/dist/tests/cli/watch-cmd.test.js +84 -0
  182. package/dist/tests/cli/watch-cmd.test.js.map +1 -0
  183. package/dist/tests/cli-ui.test.d.ts +2 -0
  184. package/dist/tests/cli-ui.test.d.ts.map +1 -0
  185. package/dist/tests/cli-ui.test.js +608 -0
  186. package/dist/tests/cli-ui.test.js.map +1 -0
  187. package/dist/tests/codemap-io.test.d.ts +2 -0
  188. package/dist/tests/codemap-io.test.d.ts.map +1 -0
  189. package/dist/tests/codemap-io.test.js +992 -0
  190. package/dist/tests/codemap-io.test.js.map +1 -0
  191. package/dist/tests/config/apply-env.test.d.ts +2 -0
  192. package/dist/tests/config/apply-env.test.d.ts.map +1 -0
  193. package/dist/tests/config/apply-env.test.js +717 -0
  194. package/dist/tests/config/apply-env.test.js.map +1 -0
  195. package/dist/tests/config/constants.test.d.ts +2 -0
  196. package/dist/tests/config/constants.test.d.ts.map +1 -0
  197. package/dist/tests/config/constants.test.js +406 -0
  198. package/dist/tests/config/constants.test.js.map +1 -0
  199. package/dist/tests/config/loader.test.d.ts +2 -0
  200. package/dist/tests/config/loader.test.d.ts.map +1 -0
  201. package/dist/tests/config/loader.test.js +716 -0
  202. package/dist/tests/config/loader.test.js.map +1 -0
  203. package/dist/tests/config/resolver.test.d.ts +2 -0
  204. package/dist/tests/config/resolver.test.d.ts.map +1 -0
  205. package/dist/tests/config/resolver.test.js +402 -0
  206. package/dist/tests/config/resolver.test.js.map +1 -0
  207. package/dist/tests/config/types.test.d.ts +2 -0
  208. package/dist/tests/config/types.test.d.ts.map +1 -0
  209. package/dist/tests/config/types.test.js +460 -0
  210. package/dist/tests/config/types.test.js.map +1 -0
  211. package/dist/tests/context-packs.test.d.ts +2 -0
  212. package/dist/tests/context-packs.test.d.ts.map +1 -0
  213. package/dist/tests/context-packs.test.js +826 -0
  214. package/dist/tests/context-packs.test.js.map +1 -0
  215. package/dist/tests/conversational-synthesizer.test.d.ts +2 -0
  216. package/dist/tests/conversational-synthesizer.test.d.ts.map +1 -0
  217. package/dist/tests/conversational-synthesizer.test.js +595 -0
  218. package/dist/tests/conversational-synthesizer.test.js.map +1 -0
  219. package/dist/tests/database.test.d.ts +2 -0
  220. package/dist/tests/database.test.d.ts.map +1 -0
  221. package/dist/tests/database.test.js +965 -0
  222. package/dist/tests/database.test.js.map +1 -0
  223. package/dist/tests/encrypted-chunks.test.d.ts +2 -0
  224. package/dist/tests/encrypted-chunks.test.d.ts.map +1 -0
  225. package/dist/tests/encrypted-chunks.test.js +1470 -0
  226. package/dist/tests/encrypted-chunks.test.js.map +1 -0
  227. package/dist/tests/hybrid.test.d.ts +2 -0
  228. package/dist/tests/hybrid.test.d.ts.map +1 -0
  229. package/dist/tests/hybrid.test.js +456 -0
  230. package/dist/tests/hybrid.test.js.map +1 -0
  231. package/dist/tests/indexer/ChangeQueue.test.d.ts +12 -0
  232. package/dist/tests/indexer/ChangeQueue.test.d.ts.map +1 -0
  233. package/dist/tests/indexer/ChangeQueue.test.js +441 -0
  234. package/dist/tests/indexer/ChangeQueue.test.js.map +1 -0
  235. package/dist/tests/indexer/ProviderManager.test.d.ts +12 -0
  236. package/dist/tests/indexer/ProviderManager.test.d.ts.map +1 -0
  237. package/dist/tests/indexer/ProviderManager.test.js +290 -0
  238. package/dist/tests/indexer/ProviderManager.test.js.map +1 -0
  239. package/dist/tests/indexer/WatchService.test.d.ts +14 -0
  240. package/dist/tests/indexer/WatchService.test.d.ts.map +1 -0
  241. package/dist/tests/indexer/WatchService.test.js +667 -0
  242. package/dist/tests/indexer/WatchService.test.js.map +1 -0
  243. package/dist/tests/indexer/merkle.test.d.ts +11 -0
  244. package/dist/tests/indexer/merkle.test.d.ts.map +1 -0
  245. package/dist/tests/indexer/merkle.test.js +497 -0
  246. package/dist/tests/indexer/merkle.test.js.map +1 -0
  247. package/dist/tests/indexer/update.test.d.ts +10 -0
  248. package/dist/tests/indexer/update.test.d.ts.map +1 -0
  249. package/dist/tests/indexer/update.test.js +317 -0
  250. package/dist/tests/indexer/update.test.js.map +1 -0
  251. package/dist/tests/indexer/watch.test.d.ts +8 -0
  252. package/dist/tests/indexer/watch.test.d.ts.map +1 -0
  253. package/dist/tests/indexer/watch.test.js +95 -0
  254. package/dist/tests/indexer/watch.test.js.map +1 -0
  255. package/dist/tests/integration/index-search.integration.test.js +1 -0
  256. package/dist/tests/integration/index-search.integration.test.js.map +1 -1
  257. package/dist/tests/languages.test.d.ts +2 -0
  258. package/dist/tests/languages.test.d.ts.map +1 -0
  259. package/dist/tests/languages.test.js +575 -0
  260. package/dist/tests/languages.test.js.map +1 -0
  261. package/dist/tests/logger-redaction.test.d.ts +2 -0
  262. package/dist/tests/logger-redaction.test.d.ts.map +1 -0
  263. package/dist/tests/logger-redaction.test.js +48 -0
  264. package/dist/tests/logger-redaction.test.js.map +1 -0
  265. package/dist/tests/logger.test.d.ts +2 -0
  266. package/dist/tests/logger.test.d.ts.map +1 -0
  267. package/dist/tests/logger.test.js +468 -0
  268. package/dist/tests/logger.test.js.map +1 -0
  269. package/dist/tests/markdown-formatter.test.d.ts +2 -0
  270. package/dist/tests/markdown-formatter.test.d.ts.map +1 -0
  271. package/dist/tests/markdown-formatter.test.js +453 -0
  272. package/dist/tests/markdown-formatter.test.js.map +1 -0
  273. package/dist/tests/mcp/tools/use-context-pack.test.d.ts +7 -0
  274. package/dist/tests/mcp/tools/use-context-pack.test.d.ts.map +1 -0
  275. package/dist/tests/mcp/tools/use-context-pack.test.js +505 -0
  276. package/dist/tests/mcp/tools/use-context-pack.test.js.map +1 -0
  277. package/dist/tests/mutex.test.d.ts +2 -0
  278. package/dist/tests/mutex.test.d.ts.map +1 -0
  279. package/dist/tests/mutex.test.js +489 -0
  280. package/dist/tests/mutex.test.js.map +1 -0
  281. package/dist/tests/path-helpers.test.d.ts +2 -0
  282. package/dist/tests/path-helpers.test.d.ts.map +1 -0
  283. package/dist/tests/path-helpers.test.js +332 -0
  284. package/dist/tests/path-helpers.test.js.map +1 -0
  285. package/dist/tests/prompt-builder.test.d.ts +2 -0
  286. package/dist/tests/prompt-builder.test.d.ts.map +1 -0
  287. package/dist/tests/prompt-builder.test.js +417 -0
  288. package/dist/tests/prompt-builder.test.js.map +1 -0
  289. package/dist/tests/providers/base.test.d.ts +2 -0
  290. package/dist/tests/providers/base.test.d.ts.map +1 -0
  291. package/dist/tests/providers/base.test.js +299 -0
  292. package/dist/tests/providers/base.test.js.map +1 -0
  293. package/dist/tests/providers/chat-llm.test.d.ts +2 -0
  294. package/dist/tests/providers/chat-llm.test.d.ts.map +1 -0
  295. package/dist/tests/providers/chat-llm.test.js +435 -0
  296. package/dist/tests/providers/chat-llm.test.js.map +1 -0
  297. package/dist/tests/providers/index.test.d.ts +2 -0
  298. package/dist/tests/providers/index.test.d.ts.map +1 -0
  299. package/dist/tests/providers/index.test.js +204 -0
  300. package/dist/tests/providers/index.test.js.map +1 -0
  301. package/dist/tests/providers/mock.test.d.ts +2 -0
  302. package/dist/tests/providers/mock.test.d.ts.map +1 -0
  303. package/dist/tests/providers/mock.test.js +225 -0
  304. package/dist/tests/providers/mock.test.js.map +1 -0
  305. package/dist/tests/providers/openai.test.d.ts +2 -0
  306. package/dist/tests/providers/openai.test.d.ts.map +1 -0
  307. package/dist/tests/providers/openai.test.js +408 -0
  308. package/dist/tests/providers/openai.test.js.map +1 -0
  309. package/dist/tests/providers/token-counter.test.d.ts +2 -0
  310. package/dist/tests/providers/token-counter.test.d.ts.map +1 -0
  311. package/dist/tests/providers/token-counter.test.js +247 -0
  312. package/dist/tests/providers/token-counter.test.js.map +1 -0
  313. package/dist/tests/rate-limiter.test.js +392 -1
  314. package/dist/tests/rate-limiter.test.js.map +1 -1
  315. package/dist/tests/scope.test.d.ts +2 -0
  316. package/dist/tests/scope.test.d.ts.map +1 -0
  317. package/dist/tests/scope.test.js +529 -0
  318. package/dist/tests/scope.test.js.map +1 -0
  319. package/dist/tests/simple-lru.test.js +377 -0
  320. package/dist/tests/simple-lru.test.js.map +1 -1
  321. package/dist/tests/symbol-boost.test.js +730 -10
  322. package/dist/tests/symbol-boost.test.js.map +1 -1
  323. package/dist/tests/symbols-extract.test.d.ts +2 -0
  324. package/dist/tests/symbols-extract.test.d.ts.map +1 -0
  325. package/dist/tests/symbols-extract.test.js +536 -0
  326. package/dist/tests/symbols-extract.test.js.map +1 -0
  327. package/dist/tests/symbols-graph.test.d.ts +2 -0
  328. package/dist/tests/symbols-graph.test.d.ts.map +1 -0
  329. package/dist/tests/symbols-graph.test.js +656 -0
  330. package/dist/tests/symbols-graph.test.js.map +1 -0
  331. package/dist/tests/synthesizer.test.d.ts +2 -0
  332. package/dist/tests/synthesizer.test.d.ts.map +1 -0
  333. package/dist/tests/synthesizer.test.js +381 -0
  334. package/dist/tests/synthesizer.test.js.map +1 -0
  335. package/dist/types/context-pack.d.ts +3 -3
  336. package/dist/utils/logger.d.ts +5 -1
  337. package/dist/utils/logger.d.ts.map +1 -1
  338. package/dist/utils/logger.js +149 -4
  339. package/dist/utils/logger.js.map +1 -1
  340. package/dist/utils/mutex.d.ts +7 -2
  341. package/dist/utils/mutex.d.ts.map +1 -1
  342. package/dist/utils/mutex.js +31 -7
  343. package/dist/utils/mutex.js.map +1 -1
  344. package/dist/utils/path-helpers.d.ts.map +1 -1
  345. package/dist/utils/path-helpers.js +5 -2
  346. package/dist/utils/path-helpers.js.map +1 -1
  347. package/dist/utils/simple-lru.d.ts +6 -0
  348. package/dist/utils/simple-lru.d.ts.map +1 -1
  349. package/dist/utils/simple-lru.js +26 -0
  350. package/dist/utils/simple-lru.js.map +1 -1
  351. package/package.json +1 -1
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Unit tests for src/indexer/update.ts
3
+ *
4
+ * Tests partial re-indexing functionality including:
5
+ * - Path normalization for changed/deleted files
6
+ * - Early return when no changes detected
7
+ * - Delegation to indexProject with correct parameters
8
+ */
9
+ import test from 'node:test';
10
+ import assert from 'node:assert/strict';
11
+ import path from 'path';
12
+ import fs from 'fs';
13
+ import os from 'os';
14
+ import { updateIndex } from '../../indexer/update.js';
15
+ // Helper to create a temporary directory with .codevault structure
16
+ async function createTempRepo() {
17
+ const root = await fs.promises.mkdtemp(path.join(os.tmpdir(), 'update-test-'));
18
+ // Create necessary directory structure
19
+ const codevaultDir = path.join(root, '.codevault');
20
+ await fs.promises.mkdir(codevaultDir, { recursive: true });
21
+ // Create chunks directory
22
+ const chunksDir = path.join(codevaultDir, 'chunks');
23
+ await fs.promises.mkdir(chunksDir, { recursive: true });
24
+ // Create a minimal database structure (empty merkle)
25
+ await fs.promises.writeFile(path.join(codevaultDir, 'merkle.json'), JSON.stringify({}));
26
+ return {
27
+ root,
28
+ cleanup: async () => {
29
+ await fs.promises.rm(root, { recursive: true, force: true });
30
+ }
31
+ };
32
+ }
33
+ // Helper to write a test file
34
+ async function writeTestFile(root, relativePath, content) {
35
+ const fullPath = path.join(root, relativePath);
36
+ await fs.promises.mkdir(path.dirname(fullPath), { recursive: true });
37
+ await fs.promises.writeFile(fullPath, content);
38
+ }
39
+ // ============================================================================
40
+ // Early Return Tests - No Changes Scenario
41
+ // ============================================================================
42
+ test('updateIndex returns early when no files changed or deleted', async () => {
43
+ const repo = await createTempRepo();
44
+ try {
45
+ const result = await updateIndex({
46
+ repoPath: repo.root,
47
+ changedFiles: [],
48
+ deletedFiles: []
49
+ });
50
+ assert.equal(result.success, true, 'Should succeed');
51
+ assert.equal(result.processedChunks, 0, 'No chunks should be processed');
52
+ assert.equal(result.totalChunks, 0, 'Total chunks should be 0');
53
+ assert.deepEqual(result.errors, [], 'No errors should occur');
54
+ }
55
+ finally {
56
+ await repo.cleanup();
57
+ }
58
+ });
59
+ test('updateIndex returns early when changedFiles is undefined', async () => {
60
+ const repo = await createTempRepo();
61
+ try {
62
+ const result = await updateIndex({
63
+ repoPath: repo.root
64
+ });
65
+ assert.equal(result.success, true, 'Should succeed with undefined arrays');
66
+ assert.equal(result.processedChunks, 0, 'No chunks should be processed');
67
+ }
68
+ finally {
69
+ await repo.cleanup();
70
+ }
71
+ });
72
+ test('updateIndex returns early with default options', async () => {
73
+ // Uses cwd as default, which might not be a valid repo
74
+ // But the early return should trigger before validation
75
+ const result = await updateIndex({
76
+ changedFiles: [],
77
+ deletedFiles: []
78
+ });
79
+ assert.equal(result.success, true, 'Should succeed with empty arrays');
80
+ assert.equal(result.processedChunks, 0, 'No chunks processed');
81
+ });
82
+ // ============================================================================
83
+ // Path Normalization Tests
84
+ // ============================================================================
85
+ test('updateIndex normalizes paths that escape base directory', async () => {
86
+ const repo = await createTempRepo();
87
+ try {
88
+ // Paths that try to escape should be filtered out
89
+ const result = await updateIndex({
90
+ repoPath: repo.root,
91
+ changedFiles: ['../escape.ts', '../../etc/passwd'],
92
+ deletedFiles: ['../../../root/file.ts']
93
+ });
94
+ // All paths are invalid, so should result in early return
95
+ assert.equal(result.success, true, 'Should succeed (invalid paths filtered)');
96
+ assert.equal(result.processedChunks, 0, 'No valid paths to process');
97
+ }
98
+ finally {
99
+ await repo.cleanup();
100
+ }
101
+ });
102
+ test('updateIndex filters out non-string values from arrays', async () => {
103
+ const repo = await createTempRepo();
104
+ try {
105
+ const result = await updateIndex({
106
+ repoPath: repo.root,
107
+ changedFiles: [null, undefined, 123, '', 'valid.ts'],
108
+ deletedFiles: [false, {}, []]
109
+ });
110
+ // Most values are invalid; only 'valid.ts' might be considered
111
+ // But since valid.ts doesn't exist, normalization may still filter it
112
+ assert.equal(result.success, true, 'Should handle mixed invalid types');
113
+ }
114
+ finally {
115
+ await repo.cleanup();
116
+ }
117
+ });
118
+ test('updateIndex handles non-array changedFiles gracefully', async () => {
119
+ const repo = await createTempRepo();
120
+ try {
121
+ const result = await updateIndex({
122
+ repoPath: repo.root,
123
+ changedFiles: 'not-an-array',
124
+ deletedFiles: undefined
125
+ });
126
+ assert.equal(result.success, true, 'Should handle non-array gracefully');
127
+ assert.equal(result.processedChunks, 0, 'No chunks processed');
128
+ }
129
+ finally {
130
+ await repo.cleanup();
131
+ }
132
+ });
133
+ // ============================================================================
134
+ // Path Resolution Tests
135
+ // ============================================================================
136
+ test('updateIndex resolves relative repoPath to absolute', async () => {
137
+ const repo = await createTempRepo();
138
+ try {
139
+ // Create a test file
140
+ await writeTestFile(repo.root, 'src/test.ts', 'export const x = 1;');
141
+ // Get relative path from cwd
142
+ const relativePath = path.relative(process.cwd(), repo.root);
143
+ const result = await updateIndex({
144
+ repoPath: relativePath,
145
+ changedFiles: [],
146
+ deletedFiles: []
147
+ });
148
+ assert.equal(result.success, true, 'Should handle relative path');
149
+ }
150
+ finally {
151
+ await repo.cleanup();
152
+ }
153
+ });
154
+ test('updateIndex deduplicates normalized paths', async () => {
155
+ const repo = await createTempRepo();
156
+ try {
157
+ await writeTestFile(repo.root, 'src/test.ts', 'export const x = 1;');
158
+ // Same file referenced multiple ways
159
+ const result = await updateIndex({
160
+ repoPath: repo.root,
161
+ changedFiles: [
162
+ 'src/test.ts',
163
+ './src/test.ts',
164
+ 'src/../src/test.ts'
165
+ ],
166
+ deletedFiles: []
167
+ });
168
+ // Should deduplicate to single entry
169
+ assert.equal(result.success, true, 'Should handle duplicate paths');
170
+ }
171
+ finally {
172
+ await repo.cleanup();
173
+ }
174
+ });
175
+ // ============================================================================
176
+ // Options Forwarding Tests
177
+ // ============================================================================
178
+ test('updateIndex uses default provider when not specified', async () => {
179
+ const repo = await createTempRepo();
180
+ try {
181
+ const result = await updateIndex({
182
+ repoPath: repo.root,
183
+ changedFiles: [],
184
+ deletedFiles: []
185
+ });
186
+ // Default provider is 'auto'
187
+ assert.equal(result.provider, 'auto', 'Should use auto provider by default');
188
+ }
189
+ finally {
190
+ await repo.cleanup();
191
+ }
192
+ });
193
+ test('updateIndex respects custom provider option', async () => {
194
+ const repo = await createTempRepo();
195
+ try {
196
+ const result = await updateIndex({
197
+ repoPath: repo.root,
198
+ provider: 'openai',
199
+ changedFiles: [],
200
+ deletedFiles: []
201
+ });
202
+ assert.equal(result.provider, 'openai', 'Should use specified provider');
203
+ }
204
+ finally {
205
+ await repo.cleanup();
206
+ }
207
+ });
208
+ // ============================================================================
209
+ // Return Type Validation Tests
210
+ // ============================================================================
211
+ test('updateIndex returns correct result structure on early return', async () => {
212
+ const result = await updateIndex({
213
+ changedFiles: [],
214
+ deletedFiles: []
215
+ });
216
+ // Validate structure
217
+ assert.ok('success' in result, 'Result should have success property');
218
+ assert.ok('processedChunks' in result, 'Result should have processedChunks property');
219
+ assert.ok('totalChunks' in result, 'Result should have totalChunks property');
220
+ assert.ok('provider' in result, 'Result should have provider property');
221
+ assert.ok('errors' in result, 'Result should have errors property');
222
+ // Validate types
223
+ assert.equal(typeof result.success, 'boolean', 'success should be boolean');
224
+ assert.equal(typeof result.processedChunks, 'number', 'processedChunks should be number');
225
+ assert.equal(typeof result.totalChunks, 'number', 'totalChunks should be number');
226
+ assert.equal(typeof result.provider, 'string', 'provider should be string');
227
+ assert.ok(Array.isArray(result.errors), 'errors should be array');
228
+ });
229
+ // ============================================================================
230
+ // Edge Cases
231
+ // ============================================================================
232
+ test('updateIndex handles paths with special characters', async () => {
233
+ const repo = await createTempRepo();
234
+ try {
235
+ // Create file with spaces and special chars
236
+ await writeTestFile(repo.root, 'src/my file (copy).ts', 'export const x = 1;');
237
+ const result = await updateIndex({
238
+ repoPath: repo.root,
239
+ changedFiles: ['src/my file (copy).ts'],
240
+ deletedFiles: []
241
+ });
242
+ assert.equal(result.success, true, 'Should handle special characters');
243
+ }
244
+ finally {
245
+ await repo.cleanup();
246
+ }
247
+ });
248
+ test('updateIndex handles very long paths', async () => {
249
+ const repo = await createTempRepo();
250
+ try {
251
+ // Create deeply nested path
252
+ const deepPath = 'a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/test.ts';
253
+ await writeTestFile(repo.root, deepPath, 'export const x = 1;');
254
+ const result = await updateIndex({
255
+ repoPath: repo.root,
256
+ changedFiles: [deepPath],
257
+ deletedFiles: []
258
+ });
259
+ assert.equal(result.success, true, 'Should handle deep paths');
260
+ }
261
+ finally {
262
+ await repo.cleanup();
263
+ }
264
+ });
265
+ test('updateIndex handles unicode in paths', async () => {
266
+ const repo = await createTempRepo();
267
+ try {
268
+ const unicodePath = 'src/\u4E2D\u6587\u6587\u4EF6.ts';
269
+ await writeTestFile(repo.root, unicodePath, 'export const x = 1;');
270
+ const result = await updateIndex({
271
+ repoPath: repo.root,
272
+ changedFiles: [unicodePath],
273
+ deletedFiles: []
274
+ });
275
+ assert.equal(result.success, true, 'Should handle unicode paths');
276
+ }
277
+ finally {
278
+ await repo.cleanup();
279
+ }
280
+ });
281
+ // ============================================================================
282
+ // Concurrency Option Tests
283
+ // ============================================================================
284
+ test('updateIndex passes concurrency option through', async () => {
285
+ const repo = await createTempRepo();
286
+ try {
287
+ const result = await updateIndex({
288
+ repoPath: repo.root,
289
+ changedFiles: [],
290
+ deletedFiles: [],
291
+ concurrency: 50
292
+ });
293
+ assert.equal(result.success, true, 'Should accept concurrency option');
294
+ }
295
+ finally {
296
+ await repo.cleanup();
297
+ }
298
+ });
299
+ // ============================================================================
300
+ // Encryption Option Tests
301
+ // ============================================================================
302
+ test('updateIndex passes encrypt option through', async () => {
303
+ const repo = await createTempRepo();
304
+ try {
305
+ const result = await updateIndex({
306
+ repoPath: repo.root,
307
+ changedFiles: [],
308
+ deletedFiles: [],
309
+ encrypt: 'off'
310
+ });
311
+ assert.equal(result.success, true, 'Should accept encrypt option');
312
+ }
313
+ finally {
314
+ await repo.cleanup();
315
+ }
316
+ });
317
+ //# sourceMappingURL=update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.test.js","sourceRoot":"","sources":["../../../src/tests/indexer/update.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAmD,MAAM,yBAAyB,CAAC;AAEvG,mEAAmE;AACnE,KAAK,UAAU,cAAc;IAC3B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/E,uCAAuC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,0BAA0B;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,qDAAqD;IACrD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,EACtC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CACnB,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8BAA8B;AAC9B,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,YAAoB,EAAE,OAAe;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;IAC5E,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAChE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;IAC1E,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,sCAAsC,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAChE,uDAAuD;IACvD,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;IACzE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;YAClD,YAAY,EAAE,CAAC,uBAAuB,CAAC;SACxC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,yCAAyC,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACvE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,CAAwB;YAC3E,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAwB;SACrD,CAAC,CAAC;QAEH,+DAA+D;QAC/D,sEAAsE;QACtE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;IACvE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,cAAqC;YACnD,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;IACpE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,qBAAqB;QACrB,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC;QAErE,6BAA6B;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,CAAC,CAAC;QAErE,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE;gBACZ,aAAa;gBACb,eAAe;gBACf,oBAAoB;aACrB;YACD,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,qCAAqC;QACrC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,+BAA+B,CAAC,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACtE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,qCAAqC,CAAC,CAAC;IAC/E,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;IAC7D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,IAAI,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;IAC9E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE,qCAAqC,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,CAAC,iBAAiB,IAAI,MAAM,EAAE,6CAA6C,CAAC,CAAC;IACtF,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,MAAM,EAAE,yCAAyC,CAAC,CAAC;IAC9E,MAAM,CAAC,EAAE,CAAC,UAAU,IAAI,MAAM,EAAE,sCAAsC,CAAC,CAAC;IACxE,MAAM,CAAC,EAAE,CAAC,QAAQ,IAAI,MAAM,EAAE,oCAAoC,CAAC,CAAC;IAEpE,iBAAiB;IACjB,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,kCAAkC,CAAC,CAAC;IAC1F,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,8BAA8B,CAAC,CAAC;IAClF,MAAM,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IAC5E,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,EAAE,qBAAqB,CAAC,CAAC;QAE/E,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;IACrD,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,yCAAyC,CAAC;QAC3D,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,CAAC,QAAQ,CAAC;YACxB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,0BAA0B,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,iCAAiC,CAAC;QACtD,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,CAAC,WAAW,CAAC;YAC3B,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,6BAA6B,CAAC,CAAC;IACpE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;IAC/D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,kCAAkC,CAAC,CAAC;IACzE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;IAC3D,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,8BAA8B,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Unit tests for src/indexer/watch.ts
3
+ *
4
+ * Tests the re-export module that provides backward-compatible exports
5
+ * for WatchService, ChangeQueue, and ProviderManager.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=watch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.test.d.ts","sourceRoot":"","sources":["../../../src/tests/indexer/watch.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Unit tests for src/indexer/watch.ts
3
+ *
4
+ * Tests the re-export module that provides backward-compatible exports
5
+ * for WatchService, ChangeQueue, and ProviderManager.
6
+ */
7
+ import test from 'node:test';
8
+ import assert from 'node:assert/strict';
9
+ // Import from watch.ts (the re-export module)
10
+ import { startWatch, WatchService, ChangeQueue, ProviderManager } from '../../indexer/watch.js';
11
+ // ============================================================================
12
+ // Re-export Verification Tests
13
+ // ============================================================================
14
+ test('watch.ts exports startWatch function', () => {
15
+ assert.equal(typeof startWatch, 'function', 'startWatch should be a function');
16
+ });
17
+ test('watch.ts exports WatchService class', () => {
18
+ assert.equal(typeof WatchService, 'function', 'WatchService should be a constructor');
19
+ });
20
+ test('watch.ts exports ChangeQueue class', () => {
21
+ assert.equal(typeof ChangeQueue, 'function', 'ChangeQueue should be a constructor');
22
+ });
23
+ test('watch.ts exports ProviderManager class', () => {
24
+ assert.equal(typeof ProviderManager, 'function', 'ProviderManager should be a constructor');
25
+ });
26
+ // ============================================================================
27
+ // Type Export Verification Tests
28
+ // ============================================================================
29
+ test('WatchOptions type is properly exported (duck typing)', () => {
30
+ // Verify the type works by creating a conforming object
31
+ const options = {
32
+ repoPath: '/test',
33
+ provider: 'mock',
34
+ debounceMs: 100
35
+ };
36
+ assert.ok(options.repoPath, 'WatchOptions should accept repoPath');
37
+ });
38
+ test('WatchController type is properly exported (duck typing)', () => {
39
+ // Verify the type interface
40
+ const mockController = {
41
+ watcher: {},
42
+ ready: Promise.resolve(),
43
+ close: async () => { },
44
+ flush: async () => { }
45
+ };
46
+ assert.equal(typeof mockController.close, 'function', 'WatchController should have close');
47
+ assert.equal(typeof mockController.flush, 'function', 'WatchController should have flush');
48
+ });
49
+ // ============================================================================
50
+ // Instance Creation Tests (verify exports work correctly)
51
+ // ============================================================================
52
+ test('ChangeQueue can be instantiated through watch.ts export', () => {
53
+ const queue = new ChangeQueue({
54
+ repoPath: '/test',
55
+ provider: 'mock',
56
+ debounceMs: 100
57
+ });
58
+ assert.ok(queue, 'ChangeQueue should be instantiable');
59
+ assert.equal(typeof queue.enqueue, 'function', 'Should have enqueue method');
60
+ assert.equal(typeof queue.flush, 'function', 'Should have flush method');
61
+ assert.equal(typeof queue.drain, 'function', 'Should have drain method');
62
+ assert.equal(typeof queue.cancel, 'function', 'Should have cancel method');
63
+ assert.equal(typeof queue.hasPending, 'function', 'Should have hasPending method');
64
+ assert.equal(typeof queue.getPendingCount, 'function', 'Should have getPendingCount method');
65
+ queue.cancel();
66
+ });
67
+ test('ProviderManager can be instantiated through watch.ts export', () => {
68
+ const manager = new ProviderManager('mock', {});
69
+ assert.ok(manager, 'ProviderManager should be instantiable');
70
+ assert.equal(typeof manager.getProvider, 'function', 'Should have getProvider method');
71
+ assert.equal(typeof manager.getProviderSafe, 'function', 'Should have getProviderSafe method');
72
+ assert.equal(typeof manager.cleanup, 'function', 'Should have cleanup method');
73
+ });
74
+ // ============================================================================
75
+ // Backward Compatibility Tests
76
+ // ============================================================================
77
+ test('startWatch returns expected controller interface', () => {
78
+ const controller = startWatch({});
79
+ assert.ok(controller.watcher, 'Controller should have watcher');
80
+ assert.ok(controller.ready instanceof Promise, 'Controller should have ready promise');
81
+ assert.equal(typeof controller.close, 'function', 'Controller should have close');
82
+ assert.equal(typeof controller.flush, 'function', 'Controller should have flush');
83
+ // Clean up
84
+ void controller.close();
85
+ });
86
+ test('WatchService getController matches WatchController interface', async () => {
87
+ const service = new WatchService({});
88
+ const controller = service.getController();
89
+ assert.ok(controller.watcher, 'Should have watcher');
90
+ assert.ok(controller.ready instanceof Promise, 'Should have ready promise');
91
+ assert.equal(typeof controller.close, 'function', 'Should have close');
92
+ assert.equal(typeof controller.flush, 'function', 'Should have flush');
93
+ await controller.close();
94
+ });
95
+ //# sourceMappingURL=watch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch.test.js","sourceRoot":"","sources":["../../../src/tests/indexer/watch.test.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ async function writeProviderConfig(root, dimensions) {
24
24
  beforeEach(() => {
25
25
  envSnapshot = { ...process.env };
26
26
  process.env.CODEVAULT_QUIET = 'true';
27
+ process.env.CODEVAULT_TEST_MODE = 'true';
27
28
  });
28
29
  afterEach(async () => {
29
30
  clearSearchCaches();
@@ -1 +1 @@
1
- {"version":3,"file":"index-search.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/index-search.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-search.integration.test.js","sourceRoot":"","sources":["../../../src/tests/integration/index-search.integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=languages.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.test.d.ts","sourceRoot":"","sources":["../../src/tests/languages.test.ts"],"names":[],"mappings":""}