codesift-mcp 0.15.5 → 0.19.2

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 (390) hide show
  1. package/dist/cli/auto-prune.d.ts +16 -0
  2. package/dist/cli/auto-prune.d.ts.map +1 -0
  3. package/dist/cli/auto-prune.js +87 -0
  4. package/dist/cli/auto-prune.js.map +1 -0
  5. package/dist/cli/commands-admin.d.ts.map +1 -1
  6. package/dist/cli/commands-admin.js +11 -0
  7. package/dist/cli/commands-admin.js.map +1 -1
  8. package/dist/cli/commands-daemon.d.ts.map +1 -1
  9. package/dist/cli/commands-daemon.js +41 -0
  10. package/dist/cli/commands-daemon.js.map +1 -1
  11. package/dist/cli/commands-index.d.ts.map +1 -1
  12. package/dist/cli/commands-index.js +8 -0
  13. package/dist/cli/commands-index.js.map +1 -1
  14. package/dist/cli/commands-maintenance.d.ts.map +1 -1
  15. package/dist/cli/commands-maintenance.js +173 -3
  16. package/dist/cli/commands-maintenance.js.map +1 -1
  17. package/dist/cli/embed-child.js +5 -1
  18. package/dist/cli/embed-child.js.map +1 -1
  19. package/dist/cli/hooks/pre-compact.d.ts.map +1 -1
  20. package/dist/cli/hooks/pre-compact.js +4 -0
  21. package/dist/cli/hooks/pre-compact.js.map +1 -1
  22. package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
  23. package/dist/cli/hooks/pre-tool-use.js +5 -2
  24. package/dist/cli/hooks/pre-tool-use.js.map +1 -1
  25. package/dist/cli/hooks/session.d.ts.map +1 -1
  26. package/dist/cli/hooks/session.js +5 -0
  27. package/dist/cli/hooks/session.js.map +1 -1
  28. package/dist/cli/hooks/shared.d.ts.map +1 -1
  29. package/dist/cli/hooks/shared.js +6 -2
  30. package/dist/cli/hooks/shared.js.map +1 -1
  31. package/dist/cli/hooks/wiki.d.ts +13 -0
  32. package/dist/cli/hooks/wiki.d.ts.map +1 -1
  33. package/dist/cli/hooks/wiki.js +19 -2
  34. package/dist/cli/hooks/wiki.js.map +1 -1
  35. package/dist/cli/orphan-guard.d.ts +22 -0
  36. package/dist/cli/orphan-guard.d.ts.map +1 -1
  37. package/dist/cli/orphan-guard.js +30 -0
  38. package/dist/cli/orphan-guard.js.map +1 -1
  39. package/dist/cli/owner-only-file.d.ts +9 -0
  40. package/dist/cli/owner-only-file.d.ts.map +1 -1
  41. package/dist/cli/owner-only-file.js +40 -8
  42. package/dist/cli/owner-only-file.js.map +1 -1
  43. package/dist/cli/service.d.ts +32 -0
  44. package/dist/cli/service.d.ts.map +1 -1
  45. package/dist/cli/service.js +74 -4
  46. package/dist/cli/service.js.map +1 -1
  47. package/dist/cli/setup/claude.js +3 -3
  48. package/dist/cli/setup/claude.js.map +1 -1
  49. package/dist/cli/setup/codex-project-auto.d.ts +27 -0
  50. package/dist/cli/setup/codex-project-auto.d.ts.map +1 -0
  51. package/dist/cli/setup/codex-project-auto.js +98 -0
  52. package/dist/cli/setup/codex-project-auto.js.map +1 -0
  53. package/dist/cli/setup/codex.d.ts.map +1 -1
  54. package/dist/cli/setup/codex.js +105 -10
  55. package/dist/cli/setup/codex.js.map +1 -1
  56. package/dist/cli/setup/cursor.d.ts.map +1 -1
  57. package/dist/cli/setup/cursor.js +9 -1
  58. package/dist/cli/setup/cursor.js.map +1 -1
  59. package/dist/cli/setup/fs.d.ts +2 -0
  60. package/dist/cli/setup/fs.d.ts.map +1 -1
  61. package/dist/cli/setup/fs.js +4 -1
  62. package/dist/cli/setup/fs.js.map +1 -1
  63. package/dist/cli/setup/gemini.d.ts.map +1 -1
  64. package/dist/cli/setup/gemini.js +25 -4
  65. package/dist/cli/setup/gemini.js.map +1 -1
  66. package/dist/cli/setup/hooks.d.ts +10 -0
  67. package/dist/cli/setup/hooks.d.ts.map +1 -1
  68. package/dist/cli/setup/hooks.js +25 -3
  69. package/dist/cli/setup/hooks.js.map +1 -1
  70. package/dist/cli/setup/mcp.d.ts +37 -1
  71. package/dist/cli/setup/mcp.d.ts.map +1 -1
  72. package/dist/cli/setup/mcp.js +57 -4
  73. package/dist/cli/setup/mcp.js.map +1 -1
  74. package/dist/cli/setup/types.d.ts +19 -1
  75. package/dist/cli/setup/types.d.ts.map +1 -1
  76. package/dist/config.d.ts.map +1 -1
  77. package/dist/config.js +30 -6
  78. package/dist/config.js.map +1 -1
  79. package/dist/formatters-core.d.ts +1 -0
  80. package/dist/formatters-core.d.ts.map +1 -1
  81. package/dist/formatters-core.js +8 -2
  82. package/dist/formatters-core.js.map +1 -1
  83. package/dist/formatters-shortening.d.ts.map +1 -1
  84. package/dist/formatters-shortening.js +8 -2
  85. package/dist/formatters-shortening.js.map +1 -1
  86. package/dist/instructions.d.ts +22 -1
  87. package/dist/instructions.d.ts.map +1 -1
  88. package/dist/instructions.js +61 -1
  89. package/dist/instructions.js.map +1 -1
  90. package/dist/lsp/lsp-client.d.ts +1 -1
  91. package/dist/lsp/lsp-client.d.ts.map +1 -1
  92. package/dist/lsp/lsp-client.js +2 -1
  93. package/dist/lsp/lsp-client.js.map +1 -1
  94. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  95. package/dist/lsp/lsp-manager.js +10 -2
  96. package/dist/lsp/lsp-manager.js.map +1 -1
  97. package/dist/lsp/lsp-servers.d.ts +7 -0
  98. package/dist/lsp/lsp-servers.d.ts.map +1 -1
  99. package/dist/lsp/lsp-servers.js +82 -1
  100. package/dist/lsp/lsp-servers.js.map +1 -1
  101. package/dist/parser/parser-manager.d.ts.map +1 -1
  102. package/dist/parser/parser-manager.js +8 -2
  103. package/dist/parser/parser-manager.js.map +1 -1
  104. package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
  105. package/dist/register-tool-groups/core/symbols.js +71 -6
  106. package/dist/register-tool-groups/core/symbols.js.map +1 -1
  107. package/dist/register-tool-groups/meta.d.ts.map +1 -1
  108. package/dist/register-tool-groups/meta.js +23 -0
  109. package/dist/register-tool-groups/meta.js.map +1 -1
  110. package/dist/register-tools/discovery.d.ts +7 -0
  111. package/dist/register-tools/discovery.d.ts.map +1 -1
  112. package/dist/register-tools/discovery.js +8 -1
  113. package/dist/register-tools/discovery.js.map +1 -1
  114. package/dist/register-tools/runtime.d.ts +1 -1
  115. package/dist/register-tools/runtime.d.ts.map +1 -1
  116. package/dist/register-tools/runtime.js +9 -2
  117. package/dist/register-tools/runtime.js.map +1 -1
  118. package/dist/register-tools.d.ts +3 -1
  119. package/dist/register-tools.d.ts.map +1 -1
  120. package/dist/register-tools.js +7 -2
  121. package/dist/register-tools.js.map +1 -1
  122. package/dist/search/bm25-store.d.ts +16 -0
  123. package/dist/search/bm25-store.d.ts.map +1 -0
  124. package/dist/search/bm25-store.js +294 -0
  125. package/dist/search/bm25-store.js.map +1 -0
  126. package/dist/search/bm25.d.ts +52 -0
  127. package/dist/search/bm25.d.ts.map +1 -1
  128. package/dist/search/bm25.js +202 -34
  129. package/dist/search/bm25.js.map +1 -1
  130. package/dist/search/embed-gate.d.ts +17 -0
  131. package/dist/search/embed-gate.d.ts.map +1 -0
  132. package/dist/search/embed-gate.js +64 -0
  133. package/dist/search/embed-gate.js.map +1 -0
  134. package/dist/search/semantic.d.ts.map +1 -1
  135. package/dist/search/semantic.js +5 -2
  136. package/dist/search/semantic.js.map +1 -1
  137. package/dist/server-helpers/cache-report.d.ts +36 -0
  138. package/dist/server-helpers/cache-report.d.ts.map +1 -0
  139. package/dist/server-helpers/cache-report.js +26 -0
  140. package/dist/server-helpers/cache-report.js.map +1 -0
  141. package/dist/server-helpers/health-vitals.d.ts +45 -0
  142. package/dist/server-helpers/health-vitals.d.ts.map +1 -0
  143. package/dist/server-helpers/health-vitals.js +85 -0
  144. package/dist/server-helpers/health-vitals.js.map +1 -0
  145. package/dist/server-helpers/request-context.d.ts +34 -4
  146. package/dist/server-helpers/request-context.d.ts.map +1 -1
  147. package/dist/server-helpers/request-context.js +4 -0
  148. package/dist/server-helpers/request-context.js.map +1 -1
  149. package/dist/server-helpers/response-budget.d.ts +24 -0
  150. package/dist/server-helpers/response-budget.d.ts.map +1 -0
  151. package/dist/server-helpers/response-budget.js +29 -0
  152. package/dist/server-helpers/response-budget.js.map +1 -0
  153. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  154. package/dist/server-helpers/response-hints.js +43 -0
  155. package/dist/server-helpers/response-hints.js.map +1 -1
  156. package/dist/server-helpers/shown-source.d.ts +59 -0
  157. package/dist/server-helpers/shown-source.d.ts.map +1 -0
  158. package/dist/server-helpers/shown-source.js +175 -0
  159. package/dist/server-helpers/shown-source.js.map +1 -0
  160. package/dist/server-helpers/stdio-envelope.d.ts +31 -0
  161. package/dist/server-helpers/stdio-envelope.d.ts.map +1 -0
  162. package/dist/server-helpers/stdio-envelope.js +67 -0
  163. package/dist/server-helpers/stdio-envelope.js.map +1 -0
  164. package/dist/server-helpers.d.ts +7 -0
  165. package/dist/server-helpers.d.ts.map +1 -1
  166. package/dist/server-helpers.js +51 -10
  167. package/dist/server-helpers.js.map +1 -1
  168. package/dist/server.d.ts +9 -0
  169. package/dist/server.d.ts.map +1 -1
  170. package/dist/server.js +235 -51
  171. package/dist/server.js.map +1 -1
  172. package/dist/storage/_shared.d.ts +26 -1
  173. package/dist/storage/_shared.d.ts.map +1 -1
  174. package/dist/storage/_shared.js +74 -3
  175. package/dist/storage/_shared.js.map +1 -1
  176. package/dist/storage/index-migration.d.ts.map +1 -1
  177. package/dist/storage/index-migration.js +6 -2
  178. package/dist/storage/index-migration.js.map +1 -1
  179. package/dist/storage/index-store.d.ts +29 -0
  180. package/dist/storage/index-store.d.ts.map +1 -1
  181. package/dist/storage/index-store.js +112 -0
  182. package/dist/storage/index-store.js.map +1 -1
  183. package/dist/storage/registry.d.ts.map +1 -1
  184. package/dist/storage/registry.js +13 -1
  185. package/dist/storage/registry.js.map +1 -1
  186. package/dist/storage/session-state.d.ts +7 -0
  187. package/dist/storage/session-state.d.ts.map +1 -1
  188. package/dist/storage/session-state.js +3 -0
  189. package/dist/storage/session-state.js.map +1 -1
  190. package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
  191. package/dist/storage/shared-embedding-cache.js +153 -2
  192. package/dist/storage/shared-embedding-cache.js.map +1 -1
  193. package/dist/storage/sqlite/accessors.d.ts +17 -0
  194. package/dist/storage/sqlite/accessors.d.ts.map +1 -1
  195. package/dist/storage/sqlite/accessors.js +20 -0
  196. package/dist/storage/sqlite/accessors.js.map +1 -1
  197. package/dist/storage/sqlite/connection.d.ts +20 -0
  198. package/dist/storage/sqlite/connection.d.ts.map +1 -1
  199. package/dist/storage/sqlite/connection.js +61 -0
  200. package/dist/storage/sqlite/connection.js.map +1 -1
  201. package/dist/storage/sqlite/index-io.d.ts +5 -0
  202. package/dist/storage/sqlite/index-io.d.ts.map +1 -1
  203. package/dist/storage/sqlite/index-io.js +98 -9
  204. package/dist/storage/sqlite/index-io.js.map +1 -1
  205. package/dist/storage/sqlite/meta.d.ts +7 -0
  206. package/dist/storage/sqlite/meta.d.ts.map +1 -1
  207. package/dist/storage/sqlite/meta.js.map +1 -1
  208. package/dist/storage/sqlite/queries.d.ts +66 -0
  209. package/dist/storage/sqlite/queries.d.ts.map +1 -0
  210. package/dist/storage/sqlite/queries.js +196 -0
  211. package/dist/storage/sqlite/queries.js.map +1 -0
  212. package/dist/storage/sqlite/schema.d.ts +2 -2
  213. package/dist/storage/sqlite/schema.d.ts.map +1 -1
  214. package/dist/storage/sqlite/schema.js +36 -0
  215. package/dist/storage/sqlite/schema.js.map +1 -1
  216. package/dist/storage/sqlite-index-store.d.ts +3 -1
  217. package/dist/storage/sqlite-index-store.d.ts.map +1 -1
  218. package/dist/storage/sqlite-index-store.js +4 -1
  219. package/dist/storage/sqlite-index-store.js.map +1 -1
  220. package/dist/storage/telemetry/uploader.js +1 -1
  221. package/dist/storage/telemetry/uploader.js.map +1 -1
  222. package/dist/storage/usage-tracker.d.ts +11 -0
  223. package/dist/storage/usage-tracker.d.ts.map +1 -1
  224. package/dist/storage/usage-tracker.js +18 -0
  225. package/dist/storage/usage-tracker.js.map +1 -1
  226. package/dist/tools/boundary-tools.js +2 -2
  227. package/dist/tools/boundary-tools.js.map +1 -1
  228. package/dist/tools/community-tools.d.ts +7 -0
  229. package/dist/tools/community-tools.d.ts.map +1 -1
  230. package/dist/tools/community-tools.js +31 -14
  231. package/dist/tools/community-tools.js.map +1 -1
  232. package/dist/tools/complexity-tools.d.ts.map +1 -1
  233. package/dist/tools/complexity-tools.js +65 -45
  234. package/dist/tools/complexity-tools.js.map +1 -1
  235. package/dist/tools/conversation-cache.d.ts +23 -3
  236. package/dist/tools/conversation-cache.d.ts.map +1 -1
  237. package/dist/tools/conversation-cache.js +141 -4
  238. package/dist/tools/conversation-cache.js.map +1 -1
  239. package/dist/tools/conversation-index-tools.d.ts +12 -0
  240. package/dist/tools/conversation-index-tools.d.ts.map +1 -1
  241. package/dist/tools/conversation-index-tools.js +316 -5
  242. package/dist/tools/conversation-index-tools.js.map +1 -1
  243. package/dist/tools/conversation-search-tools.d.ts +0 -5
  244. package/dist/tools/conversation-search-tools.d.ts.map +1 -1
  245. package/dist/tools/conversation-search-tools.js +78 -7
  246. package/dist/tools/conversation-search-tools.js.map +1 -1
  247. package/dist/tools/coupling-tools.d.ts +2 -2
  248. package/dist/tools/coupling-tools.d.ts.map +1 -1
  249. package/dist/tools/coupling-tools.js +8 -13
  250. package/dist/tools/coupling-tools.js.map +1 -1
  251. package/dist/tools/diff-tools.d.ts.map +1 -1
  252. package/dist/tools/diff-tools.js +8 -14
  253. package/dist/tools/diff-tools.js.map +1 -1
  254. package/dist/tools/explore-tools.d.ts +9 -0
  255. package/dist/tools/explore-tools.d.ts.map +1 -0
  256. package/dist/tools/explore-tools.js +177 -0
  257. package/dist/tools/explore-tools.js.map +1 -0
  258. package/dist/tools/git-exec.d.ts +42 -0
  259. package/dist/tools/git-exec.d.ts.map +1 -0
  260. package/dist/tools/git-exec.js +53 -0
  261. package/dist/tools/git-exec.js.map +1 -0
  262. package/dist/tools/graph-tools.d.ts +7 -0
  263. package/dist/tools/graph-tools.d.ts.map +1 -1
  264. package/dist/tools/graph-tools.js +41 -2
  265. package/dist/tools/graph-tools.js.map +1 -1
  266. package/dist/tools/hotspot-tools.d.ts +25 -0
  267. package/dist/tools/hotspot-tools.d.ts.map +1 -1
  268. package/dist/tools/hotspot-tools.js +24 -3
  269. package/dist/tools/hotspot-tools.js.map +1 -1
  270. package/dist/tools/impact-tools.d.ts.map +1 -1
  271. package/dist/tools/impact-tools.js +6 -9
  272. package/dist/tools/impact-tools.js.map +1 -1
  273. package/dist/tools/index-tools/file-indexer.d.ts +4 -0
  274. package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
  275. package/dist/tools/index-tools/file-indexer.js +155 -16
  276. package/dist/tools/index-tools/file-indexer.js.map +1 -1
  277. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  278. package/dist/tools/index-tools/folder-indexer.js +5 -5
  279. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  280. package/dist/tools/index-tools/load-gate.d.ts +15 -0
  281. package/dist/tools/index-tools/load-gate.d.ts.map +1 -0
  282. package/dist/tools/index-tools/load-gate.js +57 -0
  283. package/dist/tools/index-tools/load-gate.js.map +1 -0
  284. package/dist/tools/index-tools/overload-guard.d.ts +16 -0
  285. package/dist/tools/index-tools/overload-guard.d.ts.map +1 -0
  286. package/dist/tools/index-tools/overload-guard.js +68 -0
  287. package/dist/tools/index-tools/overload-guard.js.map +1 -0
  288. package/dist/tools/index-tools/registry.d.ts +25 -1
  289. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  290. package/dist/tools/index-tools/registry.js +149 -8
  291. package/dist/tools/index-tools/registry.js.map +1 -1
  292. package/dist/tools/index-tools/state.d.ts +35 -1
  293. package/dist/tools/index-tools/state.d.ts.map +1 -1
  294. package/dist/tools/index-tools/state.js +72 -0
  295. package/dist/tools/index-tools/state.js.map +1 -1
  296. package/dist/tools/index-tools/watcher.d.ts.map +1 -1
  297. package/dist/tools/index-tools/watcher.js +13 -5
  298. package/dist/tools/index-tools/watcher.js.map +1 -1
  299. package/dist/tools/index-tools/worktree-seed.d.ts +39 -1
  300. package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
  301. package/dist/tools/index-tools/worktree-seed.js +154 -21
  302. package/dist/tools/index-tools/worktree-seed.js.map +1 -1
  303. package/dist/tools/index-tools.d.ts +2 -2
  304. package/dist/tools/index-tools.d.ts.map +1 -1
  305. package/dist/tools/index-tools.js +2 -2
  306. package/dist/tools/index-tools.js.map +1 -1
  307. package/dist/tools/insights-tools.d.ts.map +1 -1
  308. package/dist/tools/insights-tools.js +6 -3
  309. package/dist/tools/insights-tools.js.map +1 -1
  310. package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
  311. package/dist/tools/journal-generator-helpers.js +3 -1
  312. package/dist/tools/journal-generator-helpers.js.map +1 -1
  313. package/dist/tools/patterns/execution.d.ts.map +1 -1
  314. package/dist/tools/patterns/execution.js +28 -10
  315. package/dist/tools/patterns/execution.js.map +1 -1
  316. package/dist/tools/review-diff/checks/coupling.js +1 -1
  317. package/dist/tools/review-diff/checks/coupling.js.map +1 -1
  318. package/dist/tools/secret-detectors.d.ts +10 -1
  319. package/dist/tools/secret-detectors.d.ts.map +1 -1
  320. package/dist/tools/secret-detectors.js +16 -2
  321. package/dist/tools/secret-detectors.js.map +1 -1
  322. package/dist/tools/secret-file-scanner.d.ts +3 -1
  323. package/dist/tools/secret-file-scanner.d.ts.map +1 -1
  324. package/dist/tools/secret-file-scanner.js +4 -2
  325. package/dist/tools/secret-file-scanner.js.map +1 -1
  326. package/dist/tools/secret-tools.d.ts.map +1 -1
  327. package/dist/tools/secret-tools.js +6 -3
  328. package/dist/tools/secret-tools.js.map +1 -1
  329. package/dist/tools/status-tools.d.ts +20 -0
  330. package/dist/tools/status-tools.d.ts.map +1 -1
  331. package/dist/tools/status-tools.js +46 -0
  332. package/dist/tools/status-tools.js.map +1 -1
  333. package/dist/tools/symbol-analysis-tools.d.ts.map +1 -1
  334. package/dist/tools/symbol-analysis-tools.js +27 -2
  335. package/dist/tools/symbol-analysis-tools.js.map +1 -1
  336. package/dist/tools/symbol-reference-tools.js +4 -4
  337. package/dist/tools/symbol-reference-tools.js.map +1 -1
  338. package/dist/tools/symbol-tool-internals.d.ts +10 -0
  339. package/dist/tools/symbol-tool-internals.d.ts.map +1 -1
  340. package/dist/tools/symbol-tool-internals.js +16 -1
  341. package/dist/tools/symbol-tool-internals.js.map +1 -1
  342. package/dist/tools/test-impact-tools.js +1 -1
  343. package/dist/tools/test-impact-tools.js.map +1 -1
  344. package/dist/tools/wiki-overview-sources.d.ts.map +1 -1
  345. package/dist/tools/wiki-overview-sources.js +3 -0
  346. package/dist/tools/wiki-overview-sources.js.map +1 -1
  347. package/dist/utils/import-graph/collect.d.ts +2 -3
  348. package/dist/utils/import-graph/collect.d.ts.map +1 -1
  349. package/dist/utils/import-graph/collect.js +73 -8
  350. package/dist/utils/import-graph/collect.js.map +1 -1
  351. package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -1
  352. package/dist/utils/import-graph/edge-accumulator.js +5 -0
  353. package/dist/utils/import-graph/edge-accumulator.js.map +1 -1
  354. package/dist/utils/import-graph/edge-cache.d.ts +15 -0
  355. package/dist/utils/import-graph/edge-cache.d.ts.map +1 -0
  356. package/dist/utils/import-graph/edge-cache.js +106 -0
  357. package/dist/utils/import-graph/edge-cache.js.map +1 -0
  358. package/dist/utils/import-graph/language-imports.d.ts +2 -2
  359. package/dist/utils/import-graph/language-imports.d.ts.map +1 -1
  360. package/dist/utils/import-graph/language-imports.js.map +1 -1
  361. package/dist/utils/import-graph/path-map.d.ts +2 -2
  362. package/dist/utils/import-graph/path-map.d.ts.map +1 -1
  363. package/dist/utils/import-graph/path-map.js.map +1 -1
  364. package/dist/utils/import-graph/python-php-edge-collectors.d.ts +2 -3
  365. package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
  366. package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
  367. package/dist/utils/import-graph/source-edge-collector.d.ts +2 -3
  368. package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
  369. package/dist/utils/import-graph/types.d.ts +36 -1
  370. package/dist/utils/import-graph/types.d.ts.map +1 -1
  371. package/dist/utils/import-graph/typescript-edge-collector.d.ts +2 -3
  372. package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -1
  373. package/dist/utils/import-graph/typescript-edge-collector.js +6 -2
  374. package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -1
  375. package/dist/utils/import-graph/workspace-alias.d.ts +2 -2
  376. package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -1
  377. package/dist/utils/import-graph/workspace-alias.js.map +1 -1
  378. package/dist/utils/language-detect.d.ts +2 -4
  379. package/dist/utils/language-detect.d.ts.map +1 -1
  380. package/dist/utils/language-detect.js +26 -4
  381. package/dist/utils/language-detect.js.map +1 -1
  382. package/dist/utils/ts-imports.d.ts +16 -0
  383. package/dist/utils/ts-imports.d.ts.map +1 -1
  384. package/dist/utils/ts-imports.js +65 -3
  385. package/dist/utils/ts-imports.js.map +1 -1
  386. package/package.json +3 -3
  387. package/rules/codesift.md +19 -0
  388. package/rules/codesift.mdc +19 -0
  389. package/rules/codex.md +19 -0
  390. package/rules/gemini.md +19 -0
@@ -1,5 +1,5 @@
1
- import { execFileSync } from "node:child_process";
2
1
  import { getCodeIndex } from "./index-tools.js";
2
+ import { runGit } from "./git-exec.js";
3
3
  import { buildAdjacencyIndex, stripSource } from "./graph-tools.js";
4
4
  import { buildGitDiffArgs } from "../utils/git-validation.js";
5
5
  import { isTestFileStrict as isTestFile } from "../utils/test-file.js";
@@ -76,17 +76,14 @@ function buildFileDependencyGraph(index, adjacency, relevantFiles) {
76
76
  /**
77
77
  * Run git diff to find changed files between two refs.
78
78
  */
79
- function getChangedFiles(repoRoot, since, until) {
79
+ async function getChangedFiles(repoRoot, since, until) {
80
80
  // buildGitDiffArgs validates refs and translates the WORKING/STAGED pseudo-refs
81
81
  // (uncommitted diffs) — a bare `${since}..${until}` fails git for those.
82
82
  const args = buildGitDiffArgs(since, until, true);
83
83
  try {
84
- // SEC-002: Use execFileSync (array form) to prevent shell injection — R-1 pattern
85
- const output = execFileSync("git", args, {
86
- cwd: repoRoot,
87
- encoding: "utf-8",
88
- timeout: 10_000,
89
- });
84
+ // SEC-002: array form, never a shell string — the injection guard survives the move to the
85
+ // async runGit (which blocks nothing; see git-exec.ts for why that mattered).
86
+ const output = await runGit(args, { cwd: repoRoot, timeout: 10_000 });
90
87
  return output
91
88
  .split("\n")
92
89
  .map((line) => line.trim())
@@ -122,7 +119,7 @@ export async function impactAnalysis(repo, since, depthOrOptions, until) {
122
119
  untilRef = until ?? "HEAD";
123
120
  includeSource = false;
124
121
  }
125
- const changedFiles = getChangedFiles(index.root, since, untilRef);
122
+ const changedFiles = await getChangedFiles(index.root, since, untilRef);
126
123
  // Find all symbols in changed files — use Set for O(1) lookup (CQ17 fix)
127
124
  const changedFileSet = new Set(changedFiles);
128
125
  const changedSymbols = index.symbols.filter((s) => changedFileSet.has(s.file));
@@ -1 +1 @@
1
- {"version":3,"file":"impact-tools.js","sourceRoot":"","sources":["../../src/tools/impact-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impact-tools.js","sourceRoot":"","sources":["../../src/tools/impact-tools.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ export declare function indexFile(filePath: string): Promise<{
14
14
  secrets_warning?: string;
15
15
  /** The file no longer exists and its symbols were pruned from the index. */
16
16
  removed?: boolean;
17
+ /** The walker would never have indexed this path; the directory that decided it. */
18
+ excluded_by?: string;
19
+ /** The path is in no git checkout at all, so there was nothing to index and nothing is wrong. */
20
+ outside_indexed_repos?: boolean;
17
21
  }>;
18
22
  /**
19
23
  * Ensure the index for a repo is fresh relative to git HEAD.
@@ -1 +1 @@
1
- {"version":3,"file":"file-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"AA8BA,2DAA2D;AAC3D,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAuJD;AAUD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAiED;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"file-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"AAiCA,2DAA2D;AAC3D,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAqDD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC,CAuOD;AAUD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAChE,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAsED;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -1,14 +1,17 @@
1
1
  import { readFile, stat } from "node:fs/promises";
2
- import { join, resolve, relative, basename } from "node:path";
3
- import { execFileSync } from "node:child_process";
2
+ import { runGit } from "../git-exec.js";
3
+ import { join, resolve, relative, basename, isAbsolute, dirname } from "node:path";
4
4
  import { createHash } from "node:crypto";
5
5
  import { clearTsconfigCache } from "../../utils/tsconfig-paths.js";
6
6
  import { getRepo, listRepos as listRegistryRepos, updateRepoMeta, } from "../../storage/registry.js";
7
7
  import { getFileEntry, saveIncremental } from "../../storage/index-store.js";
8
8
  import { loadConfig } from "../../config.js";
9
+ import { currentCwd, hasRequestContext } from "../../server-helpers/request-context.js";
9
10
  import { scanFileForSecrets } from "../secret-scan-shared.js";
10
11
  import { parseOneFile } from "./parse.js";
11
12
  import { indexFolder } from "./folder-indexer.js";
13
+ import { updateBM25ForFile } from "../../search/bm25.js";
14
+ import { IGNORE_DIRS } from "../../utils/walk/filters.js";
12
15
  import { bm25Indexes, codeIndexes, invalidateEmbeddingCaches } from "./state.js";
13
16
  /**
14
17
  * In-process record of the last indexed state per absolute file path.
@@ -26,13 +29,72 @@ const lastIndexedState = new Map();
26
29
  export function clearLastIndexedStateForTesting() {
27
30
  lastIndexedState.clear();
28
31
  }
32
+ /**
33
+ * The nearest ancestor that is a git checkout, or null if there is none.
34
+ *
35
+ * `.git` is a directory in a normal checkout and a FILE in a linked worktree or a submodule, so the
36
+ * test is existence, not `isDirectory` — the worktree case is precisely the one this needs to catch.
37
+ */
38
+ async function findEnclosingCheckout(absPath) {
39
+ let dir = dirname(absPath);
40
+ // Bounded: a pathological symlink loop must not turn a missing repo into an infinite walk.
41
+ for (let depth = 0; depth < 64; depth++) {
42
+ try {
43
+ await stat(join(dir, ".git"));
44
+ return dir;
45
+ }
46
+ catch {
47
+ // not here — keep climbing
48
+ }
49
+ const parent = dirname(dir);
50
+ if (parent === dir)
51
+ return null;
52
+ dir = parent;
53
+ }
54
+ return null;
55
+ }
56
+ /**
57
+ * The directory that makes this path one the walker would never have visited, or null.
58
+ *
59
+ * There are two doors into an index and only one of them had a filter. `walkDirectory` refuses
60
+ * `node_modules`, `vendor`, `dist` and every dot-directory; `indexFile` refused nothing, and the
61
+ * PostToolUse hook calls it after EVERY agent edit. So anything an agent touched went in, including
62
+ * files under directories the walk deliberately declines to enter.
63
+ *
64
+ * Measured on the live indexes: 3,067 files across 33 repositories under `.claude/worktrees/`,
65
+ * 1,911 of them in ResearchShieldNew alone — real parsed source (218 symbols in the largest) from
66
+ * throwaway per-agent checkouts that no longer exist on disk. They produced 29,000 lines of
67
+ * `failed to read indexed file` in a single day's log and stayed searchable long after deletion.
68
+ *
69
+ * Mirroring the walker rather than blocklisting `.claude` is the point: the rule is "the two doors
70
+ * agree", so node_modules and vendor stop leaking in by the same route, and a future exclusion
71
+ * needs adding in one place instead of two.
72
+ */
73
+ function walkerExcludedSegment(relPath) {
74
+ const segments = relPath.split(/[\\/]/);
75
+ // The last segment is the file. A dot-FILE is fine — `.eslintrc.json` is indexable; it is
76
+ // dot-DIRECTORIES the walker declines to descend into.
77
+ for (const segment of segments.slice(0, -1)) {
78
+ if (!segment || segment === ".")
79
+ continue;
80
+ if (IGNORE_DIRS.has(segment) || segment.startsWith("."))
81
+ return segment;
82
+ }
83
+ return null;
84
+ }
29
85
  /**
30
86
  * Re-index a single file instantly. Finds the repo by matching the file
31
87
  * path against indexed repo roots. Updates symbols, BM25 index, and
32
88
  * invalidates embedding cache — no full repo walk needed.
33
89
  */
34
90
  export async function indexFile(filePath) {
35
- const absPath = resolve(filePath);
91
+ // A relative path is resolved against THIS REQUEST's directory, not the process's. Under stdio the
92
+ // two are the same; under the shared daemon the process runs from `/` (launchd), so `resolve()`
93
+ // alone turned `apps/api/x.ts` into `/apps/api/x.ts` and every such call failed. Measured
94
+ // 2026-08-30: 20 of 36 calls in one 15-minute window, all of them the PostToolUse hook reporting
95
+ // an edit, all lost.
96
+ const fallbackStart = Date.now();
97
+ const absPath = isAbsolute(filePath) ? resolve(filePath) : resolve(currentCwd(), filePath);
36
98
  const config = loadConfig();
37
99
  const repos = await listRegistryRepos(config.registryPath);
38
100
  // Find the most specific repo root that contains this file
@@ -40,10 +102,68 @@ export async function indexFile(filePath) {
40
102
  .filter((r) => absPath.startsWith(r.root + "/") || absPath === r.root)
41
103
  .sort((a, b) => b.root.length - a.root.length)[0];
42
104
  if (!matchingRepo) {
43
- throw new Error(`No indexed repo contains "${absPath}". Run index_folder first.`);
105
+ // Name the real cause when there was one. `No indexed repo contains "/apps/api/x.ts"` is true
106
+ // and useless: the leading slash IS the diagnosis, and nobody reads it that way.
107
+ //
108
+ // Deliberately NOT guessed at: this same relative path exists under the main checkout and
109
+ // fifteen worktrees of it, so picking one would index the wrong tree — the exact confusion the
110
+ // `?cwd=` mechanism exists to prevent.
111
+ if (!isAbsolute(filePath) && !hasRequestContext()) {
112
+ throw new Error(`Cannot resolve relative path "${filePath}": this connection carries no working directory, ` +
113
+ `so it resolved to "${absPath}". Add ?cwd=<abs path> to the MCP server URL ` +
114
+ `(\`codesift setup <client> --http\` writes it), or pass an absolute path.`);
115
+ }
116
+ // Two very different situations reached this one throw, and lumping them together is what made
117
+ // index_file the noisiest tool in the telemetry: 147 errors in 801 calls over three days, 18.4%,
118
+ // every one of them with an empty `repo` field.
119
+ //
120
+ // The PostToolUse hook fires after EVERY Write/Edit an agent makes — scratchpad files, notes
121
+ // under ~/.claude, anything in /tmp. Those are not in a repository and never should be, so
122
+ // reporting a tool FAILURE for them is simply wrong: nothing was asked for and nothing is
123
+ // broken. It also trains agents to distrust a tool that is working.
124
+ //
125
+ // A file inside a real git checkout that nobody has indexed is the opposite case. There the
126
+ // index is silently going stale under an agent that thinks it is being kept current, which is
127
+ // the H19 failure in miniature — so that one stays an error, and now names the exact call.
128
+ const checkoutRoot = await findEnclosingCheckout(absPath);
129
+ if (checkoutRoot === null) {
130
+ return {
131
+ repo: "",
132
+ file: absPath,
133
+ symbol_count: 0,
134
+ duration_ms: Date.now() - fallbackStart,
135
+ skipped: true,
136
+ outside_indexed_repos: true,
137
+ };
138
+ }
139
+ throw new Error(`"${absPath}" is inside the git checkout "${checkoutRoot}", which is not indexed. ` +
140
+ `Run index_folder(path="${checkoutRoot}") once — for a linked worktree that is a FIRST ` +
141
+ `index, not a re-index, and until it runs every edit here is lost and searches answer ` +
142
+ `from the parent checkout instead.`);
44
143
  }
45
144
  const startTime = Date.now();
46
145
  const relPath = relative(matchingRepo.root, absPath);
146
+ // Refuse what the walk would have refused — and prune it if a previous run let it in. Purely
147
+ // refusing would leave the 3,067 already-indexed files searchable forever, since the throwaway
148
+ // checkouts they came from are deleted and nothing will ever touch them again; pruning on the
149
+ // way past means the index heals itself wherever an agent is still working.
150
+ const excludedBy = walkerExcludedSegment(relPath);
151
+ if (excludedBy !== null) {
152
+ const { removeFileFromIndex } = await import("../../storage/index-store.js");
153
+ await removeFileFromIndex(matchingRepo.index_path, relPath).catch(() => { });
154
+ const bm25 = bm25Indexes.get(matchingRepo.name);
155
+ if (bm25)
156
+ updateBM25ForFile(bm25, relPath, []);
157
+ lastIndexedState.delete(absPath);
158
+ return {
159
+ repo: matchingRepo.name,
160
+ file: relPath,
161
+ symbol_count: 0,
162
+ duration_ms: Date.now() - startTime,
163
+ skipped: true,
164
+ excluded_by: excludedBy,
165
+ };
166
+ }
47
167
  // If the changed file is a TS/JS config that drives path resolution, drop
48
168
  // caches so incremental indexing picks up new `paths` / `extends`.
49
169
  {
@@ -73,7 +193,12 @@ export async function indexFile(filePath) {
73
193
  const { removeFileFromIndex } = await import("../../storage/index-store.js");
74
194
  await removeFileFromIndex(matchingRepo.index_path, relPath);
75
195
  lastIndexedState.delete(absPath);
76
- bm25Indexes.delete(matchingRepo.name);
196
+ // A deletion is a swap with nothing to put back. Dropping the index here made `rm` as
197
+ // expensive as a reindex — measured on the live daemon at 28 s for one removed file against
198
+ // 0.08 s for an edit, on the same repository minutes apart.
199
+ const bm25AfterDelete = bm25Indexes.get(matchingRepo.name);
200
+ if (bm25AfterDelete)
201
+ updateBM25ForFile(bm25AfterDelete, relPath, []);
77
202
  codeIndexes.delete(matchingRepo.name);
78
203
  return {
79
204
  repo: matchingRepo.name,
@@ -146,15 +271,23 @@ export async function indexFile(filePath) {
146
271
  let secretFindingsCount = 0;
147
272
  if (config.secretScanEnabled) {
148
273
  try {
149
- secretFindingsCount = (await scanFileForSecrets(absPath, relPath, matchingRepo.name, result.symbols)).length;
274
+ secretFindingsCount = (await scanFileForSecrets(absPath, relPath, matchingRepo.name, () => result.symbols)).length;
150
275
  }
151
276
  catch (err) {
152
277
  const message = err instanceof Error ? err.message : String(err);
153
278
  console.warn(`[codesift] Secret scan failed for ${relPath}: ${message}`);
154
279
  }
155
280
  }
156
- // Invalidate caches — lazy rebuild on next query via getBM25Index()
157
- bm25Indexes.delete(matchingRepo.name);
281
+ // One file changed, so swap that file's symbols in the BM25 index instead of dropping it.
282
+ // Dropping it was cheap to write and expensive to run: the next search rebuilt the whole index
283
+ // (6.8 s on a 372k-symbol repository here), and this runs after EVERY agent edit — 952 times in
284
+ // a week — against an agent loop that is edit-then-search. `relPath` is the same
285
+ // `relative(root, absPath)` that parseOneFile stores on each symbol, so the two agree by
286
+ // construction.
287
+ const cachedBm25 = bm25Indexes.get(matchingRepo.name);
288
+ if (cachedBm25) {
289
+ updateBM25ForFile(cachedBm25, relPath, result.symbols);
290
+ }
158
291
  codeIndexes.delete(matchingRepo.name);
159
292
  invalidateEmbeddingCaches(matchingRepo.name);
160
293
  let secretsWarning;
@@ -189,11 +322,13 @@ export async function ensureIndexFresh(repoName) {
189
322
  const meta = await getRepo(config.registryPath, repoName);
190
323
  if (!meta)
191
324
  return { status: "skipped" };
325
+ // Asynchronous, and this is the call site where it matters most: `ensureIndexFresh` runs from
326
+ // `getCodeIndex`, i.e. on the path of EVERY repo-scoped tool. As `execFileSync` it stopped the
327
+ // whole shared daemon for as long as git took — up to 5 s here and 10 s for the diff below —
328
+ // once per repo per freshness interval, for every client on the machine.
192
329
  let currentCommit;
193
330
  try {
194
- currentCommit = execFileSync("git", ["rev-parse", "HEAD"], {
195
- cwd: meta.root, encoding: "utf-8", timeout: 5000,
196
- }).trim();
331
+ currentCommit = (await runGit(["rev-parse", "HEAD"], { cwd: meta.root, timeout: 5000 })).trim();
197
332
  }
198
333
  catch {
199
334
  freshnessChecked.set(repoName, Date.now());
@@ -207,12 +342,10 @@ export async function ensureIndexFresh(repoName) {
207
342
  let changedFiles = [];
208
343
  if (meta.last_git_commit) {
209
344
  try {
210
- const diff = execFileSync("git", [
345
+ const diff = await runGit([
211
346
  "diff", "--name-only", "--diff-filter=ACMR",
212
347
  `${meta.last_git_commit}..${currentCommit}`,
213
- ], {
214
- cwd: meta.root, encoding: "utf-8", timeout: 10_000,
215
- });
348
+ ], { cwd: meta.root, timeout: 10_000 });
216
349
  changedFiles = diff.trim().split("\n").filter(Boolean);
217
350
  }
218
351
  catch {
@@ -220,6 +353,7 @@ export async function ensureIndexFresh(repoName) {
220
353
  changedFiles = [];
221
354
  }
222
355
  }
356
+ let fullReindexRan = false;
223
357
  if (changedFiles.length > 0 && changedFiles.length <= MAX_DIFF_FILES) {
224
358
  for (const file of changedFiles) {
225
359
  try {
@@ -232,12 +366,17 @@ export async function ensureIndexFresh(repoName) {
232
366
  }
233
367
  else if (changedFiles.length > MAX_DIFF_FILES || !meta.last_git_commit) {
234
368
  await indexFolder(meta.root, { incremental: true, watch: false });
369
+ fullReindexRan = true;
235
370
  }
236
371
  await updateRepoMeta(config.registryPath, repoName, {
237
372
  last_git_commit: currentCommit,
238
373
  updated_at: Date.now(),
239
374
  });
240
- bm25Indexes.delete(repoName);
375
+ // Only a FULL reindex invalidates the BM25 index. The per-file branch above went through
376
+ // indexFile, which already swapped each changed file in — dropping the index here would undo
377
+ // exactly the work that was just done, one file at a time, and charge a full rebuild for it.
378
+ if (fullReindexRan)
379
+ bm25Indexes.delete(repoName);
241
380
  codeIndexes.delete(repoName);
242
381
  invalidateEmbeddingCaches(repoName);
243
382
  freshnessChecked.set(repoName, Date.now());
@@ -1 +1 @@
1
- {"version":3,"file":"file-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/file-indexer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAuDpD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5D;AAWD,6CAA6C;AAC7C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AA+BD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,iBAAiB,CAAC,CA4d5B"}
1
+ {"version":3,"file":"folder-indexer.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAuDpD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5D;AAWD,6CAA6C;AAC7C,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D;AA+BD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B,GACA,OAAO,CAAC,iBAAiB,CAAC,CAie5B"}
@@ -6,12 +6,12 @@ import { getLanguageForExtension } from "../../parser/parser-manager.js";
6
6
  import { saveIndex, loadIndex, loadIndexSummary, getIndexPath } from "../../storage/index-store.js";
7
7
  import { clearTsconfigCache } from "../../utils/tsconfig-paths.js";
8
8
  import { registerRepo, listRepos as listRegistryRepos, removeRepo, getRepo, getRepoName, updateRepoMeta, } from "../../storage/registry.js";
9
- import { buildBM25Index } from "../../search/bm25.js";
9
+ import { buildBM25IndexYielding } from "../../search/bm25.js";
10
10
  import { loadConfig } from "../../config.js";
11
11
  import { walkDirectory } from "../../utils/walk.js";
12
12
  import { canonicalPath, findWorkingTree } from "../../utils/worktree.js";
13
13
  import { HASH_SNAPSHOT_VERSION } from "../../storage/hash-snapshot.js";
14
- import { activeWatchers, bm25Indexes, codeIndexes, lastFullIndexAt } from "./state.js";
14
+ import { activeWatchers, codeIndexes, lastFullIndexAt, rememberBM25Index } from "./state.js";
15
15
  import { parseFiles, propagateDirtySignatures, embedSymbols, embedChunks } from "./parse.js";
16
16
  import { drainLegacyHashQueue, loadIndexSnapshot, saveIndexSnapshot, sha1OfFile } from "./snapshots.js";
17
17
  import { setupWatcher } from "./watcher.js";
@@ -175,7 +175,7 @@ export async function indexFolder(folderPath, options) {
175
175
  console.error(`[codesift] Seeded ${repoName} from ${seed.parent_repo} in ${seed.elapsed_ms} ms ` +
176
176
  `(${seed.files} files, ${seed.symbols} symbols) — bringing it to this tree's HEAD…`);
177
177
  const { catchUpSeededWorktree } = await import("./worktree-seed.js");
178
- const caught = await catchUpSeededWorktree(rootPath, repoName, seed.seeded_at_commit ?? null);
178
+ const caught = await catchUpSeededWorktree(rootPath, repoName, seed.seeded_at_commit ?? null, seed.files);
179
179
  if (caught.caught_up) {
180
180
  const summary = await loadIndexSummary(indexPath);
181
181
  console.error(`[codesift] ${repoName}: caught up ${caught.updated} changed + ${caught.removed} removed ` +
@@ -418,8 +418,8 @@ export async function indexFolder(folderPath, options) {
418
418
  // Build and cache BM25 index from the FINAL (possibly merged) symbol set.
419
419
  // Built here (not before the guard) so a rejected_partial early-return leaves
420
420
  // the previous in-memory BM25 index intact rather than swapping in a partial.
421
- const bm25 = buildBM25Index(mergedSymbols);
422
- bm25Indexes.set(repoName, bm25);
421
+ const bm25 = await buildBM25IndexYielding(mergedSymbols);
422
+ rememberBM25Index(repoName, bm25);
423
423
  // Resolve workspaces (Task 7) — runs before persistence so collectImportEdges
424
424
  // and other downstream consumers see the populated `workspaces` field.
425
425
  // Gated behind CODESIFT_DISABLE_MONOREPO=1 kill switch (spec D-FB).
@@ -1 +1 @@
1
- {"version":3,"file":"folder-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-indexer.js","sourceRoot":"","sources":["../../../src/tools/index-tools/folder-indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Run `fn` with at most `limit` other loads in flight.
3
+ *
4
+ * FIFO, so the caller that has waited longest goes next: under sustained load a stack starves the
5
+ * first arrival, which is precisely the request whose client timeout is closest to firing.
6
+ */
7
+ export declare function withIndexLoadSlot<T>(fn: () => Promise<T>, options?: {
8
+ env?: NodeJS.ProcessEnv;
9
+ }): Promise<T>;
10
+ /** Exported for tests and for /health, which reports the queue rather than guessing at it. */
11
+ export declare function indexLoadGateState(): {
12
+ active: number;
13
+ waiting: number;
14
+ };
15
+ //# sourceMappingURL=load-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-gate.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/load-gate.ts"],"names":[],"mappings":"AA4BA;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GACpC,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAExE"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Cap on how many indexes are being read into memory at the same time.
3
+ *
4
+ * Nothing limited it. Each cold load materialises a whole index — 349 MB and hundreds of thousands
5
+ * of objects for the largest repo here — so N concurrent first-touches allocate N times that, at
6
+ * once, in a process with a fixed heap ceiling. Watched over a quarter of an hour on 2026-09-01 the
7
+ * daemon's RSS moved 0.3 GB → 8 GB and then into the OOM crash-loop that left clients with no tools
8
+ * for the rest of their sessions.
9
+ *
10
+ * The gate does not make loading slower in any real sense: the reads are synchronous SQLite against
11
+ * one disk, so they were already contending — for the disk, for the heap, and for the single thread
12
+ * that has to build the objects. Two at a time turns an invisible pile-up into a queue.
13
+ *
14
+ * The second thing it buys is free coalescing. A caller that waited for a slot re-checks the cache
15
+ * before reading, so ten sessions touching the same repo at once produce ONE read and nine cache
16
+ * hits instead of ten identical 349 MB allocations.
17
+ */
18
+ const DEFAULT_CONCURRENCY = 2;
19
+ function configuredLimit(env) {
20
+ const raw = Number(env["CODESIFT_INDEX_LOAD_CONCURRENCY"]);
21
+ if (Number.isFinite(raw))
22
+ return Math.floor(raw);
23
+ return DEFAULT_CONCURRENCY;
24
+ }
25
+ let active = 0;
26
+ const waiting = [];
27
+ /**
28
+ * Run `fn` with at most `limit` other loads in flight.
29
+ *
30
+ * FIFO, so the caller that has waited longest goes next: under sustained load a stack starves the
31
+ * first arrival, which is precisely the request whose client timeout is closest to firing.
32
+ */
33
+ export async function withIndexLoadSlot(fn, options) {
34
+ const limit = configuredLimit(options?.env ?? process.env);
35
+ if (limit <= 0)
36
+ return fn();
37
+ if (active >= limit) {
38
+ await new Promise((resolve) => waiting.push(resolve));
39
+ }
40
+ active++;
41
+ try {
42
+ return await fn();
43
+ }
44
+ finally {
45
+ active--;
46
+ // Released in `finally` so a throwing load cannot leak the slot — a leaked slot is permanent,
47
+ // and after `limit` of them nothing on this machine can ever load an index again.
48
+ const next = waiting.shift();
49
+ if (next)
50
+ next();
51
+ }
52
+ }
53
+ /** Exported for tests and for /health, which reports the queue rather than guessing at it. */
54
+ export function indexLoadGateState() {
55
+ return { active, waiting: waiting.length };
56
+ }
57
+ //# sourceMappingURL=load-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-gate.js","sourceRoot":"","sources":["../../../src/tools/index-tools/load-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,SAAS,eAAe,CAAC,GAAsB;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,MAAM,OAAO,GAAsB,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAoB,EACpB,OAAqC;IAErC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,CAAC;IAE5B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,EAAE,CAAC;IACT,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC;QACT,8FAA8F;QAC9F,kFAAkF;QAClF,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC7C,CAAC"}