codesift-mcp 0.15.3 → 0.17.0

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 (401) 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 +9 -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/embed-child.js +5 -1
  15. package/dist/cli/embed-child.js.map +1 -1
  16. package/dist/cli/help.js +1 -1
  17. package/dist/cli/hooks/pre-tool-use.d.ts.map +1 -1
  18. package/dist/cli/hooks/pre-tool-use.js +11 -5
  19. package/dist/cli/hooks/pre-tool-use.js.map +1 -1
  20. package/dist/cli/hooks/shared.d.ts +1 -1
  21. package/dist/cli/hooks/shared.d.ts.map +1 -1
  22. package/dist/cli/hooks/shared.js +34 -2
  23. package/dist/cli/hooks/shared.js.map +1 -1
  24. package/dist/cli/orphan-guard.d.ts +22 -0
  25. package/dist/cli/orphan-guard.d.ts.map +1 -1
  26. package/dist/cli/orphan-guard.js +30 -0
  27. package/dist/cli/orphan-guard.js.map +1 -1
  28. package/dist/cli/service.d.ts +43 -0
  29. package/dist/cli/service.d.ts.map +1 -1
  30. package/dist/cli/service.js +84 -4
  31. package/dist/cli/service.js.map +1 -1
  32. package/dist/cli/setup/codex-project-auto.d.ts +27 -0
  33. package/dist/cli/setup/codex-project-auto.d.ts.map +1 -0
  34. package/dist/cli/setup/codex-project-auto.js +98 -0
  35. package/dist/cli/setup/codex-project-auto.js.map +1 -0
  36. package/dist/cli/setup/codex.d.ts.map +1 -1
  37. package/dist/cli/setup/codex.js +101 -6
  38. package/dist/cli/setup/codex.js.map +1 -1
  39. package/dist/cli/setup/cursor.d.ts.map +1 -1
  40. package/dist/cli/setup/cursor.js +9 -1
  41. package/dist/cli/setup/cursor.js.map +1 -1
  42. package/dist/cli/setup/gemini.d.ts.map +1 -1
  43. package/dist/cli/setup/gemini.js +21 -0
  44. package/dist/cli/setup/gemini.js.map +1 -1
  45. package/dist/cli/setup/mcp.d.ts +37 -1
  46. package/dist/cli/setup/mcp.d.ts.map +1 -1
  47. package/dist/cli/setup/mcp.js +57 -4
  48. package/dist/cli/setup/mcp.js.map +1 -1
  49. package/dist/cli/setup/types.d.ts +19 -1
  50. package/dist/cli/setup/types.d.ts.map +1 -1
  51. package/dist/config.d.ts.map +1 -1
  52. package/dist/config.js +30 -6
  53. package/dist/config.js.map +1 -1
  54. package/dist/formatters-core.d.ts +2 -0
  55. package/dist/formatters-core.d.ts.map +1 -1
  56. package/dist/formatters-core.js +18 -3
  57. package/dist/formatters-core.js.map +1 -1
  58. package/dist/formatters-shortening.d.ts.map +1 -1
  59. package/dist/formatters-shortening.js +8 -2
  60. package/dist/formatters-shortening.js.map +1 -1
  61. package/dist/instructions.d.ts +17 -0
  62. package/dist/instructions.d.ts.map +1 -1
  63. package/dist/instructions.js +35 -0
  64. package/dist/instructions.js.map +1 -1
  65. package/dist/lsp/lsp-servers.d.ts.map +1 -1
  66. package/dist/lsp/lsp-servers.js +4 -1
  67. package/dist/lsp/lsp-servers.js.map +1 -1
  68. package/dist/parser/parse-cache.d.ts.map +1 -1
  69. package/dist/parser/parse-cache.js +36 -1
  70. package/dist/parser/parse-cache.js.map +1 -1
  71. package/dist/register-tool-groups/analysis.d.ts.map +1 -1
  72. package/dist/register-tool-groups/analysis.js +10 -1
  73. package/dist/register-tool-groups/analysis.js.map +1 -1
  74. package/dist/register-tool-groups/core/index.d.ts.map +1 -1
  75. package/dist/register-tool-groups/core/index.js +26 -3
  76. package/dist/register-tool-groups/core/index.js.map +1 -1
  77. package/dist/register-tool-groups/core/meta.d.ts.map +1 -1
  78. package/dist/register-tool-groups/core/meta.js +23 -1
  79. package/dist/register-tool-groups/core/meta.js.map +1 -1
  80. package/dist/register-tool-groups/core/search.d.ts +15 -0
  81. package/dist/register-tool-groups/core/search.d.ts.map +1 -1
  82. package/dist/register-tool-groups/core/search.js +60 -2
  83. package/dist/register-tool-groups/core/search.js.map +1 -1
  84. package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
  85. package/dist/register-tool-groups/core/symbols.js +13 -2
  86. package/dist/register-tool-groups/core/symbols.js.map +1 -1
  87. package/dist/register-tool-groups/meta.d.ts.map +1 -1
  88. package/dist/register-tool-groups/meta.js +23 -0
  89. package/dist/register-tool-groups/meta.js.map +1 -1
  90. package/dist/register-tools/discovery.d.ts +22 -5
  91. package/dist/register-tools/discovery.d.ts.map +1 -1
  92. package/dist/register-tools/discovery.js +95 -9
  93. package/dist/register-tools/discovery.js.map +1 -1
  94. package/dist/register-tools/runtime.d.ts +9 -1
  95. package/dist/register-tools/runtime.d.ts.map +1 -1
  96. package/dist/register-tools/runtime.js +19 -2
  97. package/dist/register-tools/runtime.js.map +1 -1
  98. package/dist/register-tools.d.ts +4 -2
  99. package/dist/register-tools.d.ts.map +1 -1
  100. package/dist/register-tools.js +20 -8
  101. package/dist/register-tools.js.map +1 -1
  102. package/dist/search/bm25-store.d.ts +6 -0
  103. package/dist/search/bm25-store.d.ts.map +1 -0
  104. package/dist/search/bm25-store.js +164 -0
  105. package/dist/search/bm25-store.js.map +1 -0
  106. package/dist/search/bm25.d.ts +30 -0
  107. package/dist/search/bm25.d.ts.map +1 -1
  108. package/dist/search/bm25.js +159 -34
  109. package/dist/search/bm25.js.map +1 -1
  110. package/dist/search/embed-gate.d.ts +17 -0
  111. package/dist/search/embed-gate.d.ts.map +1 -0
  112. package/dist/search/embed-gate.js +64 -0
  113. package/dist/search/embed-gate.js.map +1 -0
  114. package/dist/search/semantic.d.ts.map +1 -1
  115. package/dist/search/semantic.js +5 -2
  116. package/dist/search/semantic.js.map +1 -1
  117. package/dist/server-helpers/health-vitals.d.ts +45 -0
  118. package/dist/server-helpers/health-vitals.d.ts.map +1 -0
  119. package/dist/server-helpers/health-vitals.js +77 -0
  120. package/dist/server-helpers/health-vitals.js.map +1 -0
  121. package/dist/server-helpers/repo-resolution.d.ts.map +1 -1
  122. package/dist/server-helpers/repo-resolution.js +23 -3
  123. package/dist/server-helpers/repo-resolution.js.map +1 -1
  124. package/dist/server-helpers/request-context.d.ts +34 -4
  125. package/dist/server-helpers/request-context.d.ts.map +1 -1
  126. package/dist/server-helpers/request-context.js +4 -0
  127. package/dist/server-helpers/request-context.js.map +1 -1
  128. package/dist/server-helpers/response-hints.d.ts +1 -4
  129. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  130. package/dist/server-helpers/response-hints.js +44 -1
  131. package/dist/server-helpers/response-hints.js.map +1 -1
  132. package/dist/server-helpers.d.ts.map +1 -1
  133. package/dist/server-helpers.js +20 -0
  134. package/dist/server-helpers.js.map +1 -1
  135. package/dist/server.d.ts +10 -0
  136. package/dist/server.d.ts.map +1 -1
  137. package/dist/server.js +165 -8
  138. package/dist/server.js.map +1 -1
  139. package/dist/storage/_shared.d.ts +1 -1
  140. package/dist/storage/_shared.d.ts.map +1 -1
  141. package/dist/storage/_shared.js +41 -3
  142. package/dist/storage/_shared.js.map +1 -1
  143. package/dist/storage/index-migration.d.ts.map +1 -1
  144. package/dist/storage/index-migration.js +6 -2
  145. package/dist/storage/index-migration.js.map +1 -1
  146. package/dist/storage/index-store.d.ts +29 -0
  147. package/dist/storage/index-store.d.ts.map +1 -1
  148. package/dist/storage/index-store.js +112 -0
  149. package/dist/storage/index-store.js.map +1 -1
  150. package/dist/storage/registry.d.ts +14 -0
  151. package/dist/storage/registry.d.ts.map +1 -1
  152. package/dist/storage/registry.js +46 -7
  153. package/dist/storage/registry.js.map +1 -1
  154. package/dist/storage/sqlite/accessors.d.ts +17 -0
  155. package/dist/storage/sqlite/accessors.d.ts.map +1 -1
  156. package/dist/storage/sqlite/accessors.js +20 -0
  157. package/dist/storage/sqlite/accessors.js.map +1 -1
  158. package/dist/storage/sqlite/connection.d.ts +20 -0
  159. package/dist/storage/sqlite/connection.d.ts.map +1 -1
  160. package/dist/storage/sqlite/connection.js +61 -0
  161. package/dist/storage/sqlite/connection.js.map +1 -1
  162. package/dist/storage/sqlite/index-io.d.ts +5 -0
  163. package/dist/storage/sqlite/index-io.d.ts.map +1 -1
  164. package/dist/storage/sqlite/index-io.js +98 -9
  165. package/dist/storage/sqlite/index-io.js.map +1 -1
  166. package/dist/storage/sqlite/meta.d.ts +7 -0
  167. package/dist/storage/sqlite/meta.d.ts.map +1 -1
  168. package/dist/storage/sqlite/meta.js.map +1 -1
  169. package/dist/storage/sqlite/queries.d.ts +66 -0
  170. package/dist/storage/sqlite/queries.d.ts.map +1 -0
  171. package/dist/storage/sqlite/queries.js +196 -0
  172. package/dist/storage/sqlite/queries.js.map +1 -0
  173. package/dist/storage/sqlite/schema.d.ts +2 -2
  174. package/dist/storage/sqlite/schema.d.ts.map +1 -1
  175. package/dist/storage/sqlite/schema.js +36 -0
  176. package/dist/storage/sqlite/schema.js.map +1 -1
  177. package/dist/storage/sqlite-index-store.d.ts +3 -1
  178. package/dist/storage/sqlite-index-store.d.ts.map +1 -1
  179. package/dist/storage/sqlite-index-store.js +4 -1
  180. package/dist/storage/sqlite-index-store.js.map +1 -1
  181. package/dist/storage/telemetry/uploader.js +1 -1
  182. package/dist/storage/telemetry/uploader.js.map +1 -1
  183. package/dist/storage/usage-tracker.d.ts.map +1 -1
  184. package/dist/storage/usage-tracker.js +54 -2
  185. package/dist/storage/usage-tracker.js.map +1 -1
  186. package/dist/tools/boundary-tools.js +2 -2
  187. package/dist/tools/boundary-tools.js.map +1 -1
  188. package/dist/tools/community-tools.d.ts +7 -0
  189. package/dist/tools/community-tools.d.ts.map +1 -1
  190. package/dist/tools/community-tools.js +31 -14
  191. package/dist/tools/community-tools.js.map +1 -1
  192. package/dist/tools/complexity-tools.d.ts.map +1 -1
  193. package/dist/tools/complexity-tools.js +65 -45
  194. package/dist/tools/complexity-tools.js.map +1 -1
  195. package/dist/tools/conversation-index-tools.js +2 -2
  196. package/dist/tools/conversation-index-tools.js.map +1 -1
  197. package/dist/tools/conversation-search-tools.js +2 -2
  198. package/dist/tools/conversation-search-tools.js.map +1 -1
  199. package/dist/tools/coupling-tools.d.ts +2 -2
  200. package/dist/tools/coupling-tools.d.ts.map +1 -1
  201. package/dist/tools/coupling-tools.js +8 -13
  202. package/dist/tools/coupling-tools.js.map +1 -1
  203. package/dist/tools/diff-tools.d.ts.map +1 -1
  204. package/dist/tools/diff-tools.js +11 -14
  205. package/dist/tools/diff-tools.js.map +1 -1
  206. package/dist/tools/git-exec.d.ts +42 -0
  207. package/dist/tools/git-exec.d.ts.map +1 -0
  208. package/dist/tools/git-exec.js +53 -0
  209. package/dist/tools/git-exec.js.map +1 -0
  210. package/dist/tools/git-tree-guard.d.ts +23 -0
  211. package/dist/tools/git-tree-guard.d.ts.map +1 -0
  212. package/dist/tools/git-tree-guard.js +33 -0
  213. package/dist/tools/git-tree-guard.js.map +1 -0
  214. package/dist/tools/graph-tools.d.ts.map +1 -1
  215. package/dist/tools/graph-tools.js +5 -2
  216. package/dist/tools/graph-tools.js.map +1 -1
  217. package/dist/tools/hotspot-tools.d.ts +25 -0
  218. package/dist/tools/hotspot-tools.d.ts.map +1 -1
  219. package/dist/tools/hotspot-tools.js +24 -3
  220. package/dist/tools/hotspot-tools.js.map +1 -1
  221. package/dist/tools/impact-tools.d.ts.map +1 -1
  222. package/dist/tools/impact-tools.js +8 -9
  223. package/dist/tools/impact-tools.js.map +1 -1
  224. package/dist/tools/index-tools/file-indexer.d.ts +6 -0
  225. package/dist/tools/index-tools/file-indexer.d.ts.map +1 -1
  226. package/dist/tools/index-tools/file-indexer.js +184 -18
  227. package/dist/tools/index-tools/file-indexer.js.map +1 -1
  228. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  229. package/dist/tools/index-tools/folder-indexer.js +59 -7
  230. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  231. package/dist/tools/index-tools/load-gate.d.ts +15 -0
  232. package/dist/tools/index-tools/load-gate.d.ts.map +1 -0
  233. package/dist/tools/index-tools/load-gate.js +57 -0
  234. package/dist/tools/index-tools/load-gate.js.map +1 -0
  235. package/dist/tools/index-tools/overload-guard.d.ts +16 -0
  236. package/dist/tools/index-tools/overload-guard.d.ts.map +1 -0
  237. package/dist/tools/index-tools/overload-guard.js +68 -0
  238. package/dist/tools/index-tools/overload-guard.js.map +1 -0
  239. package/dist/tools/index-tools/parse.d.ts +9 -0
  240. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  241. package/dist/tools/index-tools/parse.js +9 -2
  242. package/dist/tools/index-tools/parse.js.map +1 -1
  243. package/dist/tools/index-tools/registry.d.ts +25 -1
  244. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  245. package/dist/tools/index-tools/registry.js +149 -8
  246. package/dist/tools/index-tools/registry.js.map +1 -1
  247. package/dist/tools/index-tools/state.d.ts +46 -0
  248. package/dist/tools/index-tools/state.d.ts.map +1 -1
  249. package/dist/tools/index-tools/state.js +132 -0
  250. package/dist/tools/index-tools/state.js.map +1 -1
  251. package/dist/tools/index-tools/watcher.d.ts.map +1 -1
  252. package/dist/tools/index-tools/watcher.js +13 -5
  253. package/dist/tools/index-tools/watcher.js.map +1 -1
  254. package/dist/tools/index-tools/worktree-seed.d.ts +42 -1
  255. package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -1
  256. package/dist/tools/index-tools/worktree-seed.js +165 -24
  257. package/dist/tools/index-tools/worktree-seed.js.map +1 -1
  258. package/dist/tools/index-tools.d.ts +2 -2
  259. package/dist/tools/index-tools.d.ts.map +1 -1
  260. package/dist/tools/index-tools.js +2 -2
  261. package/dist/tools/index-tools.js.map +1 -1
  262. package/dist/tools/journal-generator-helpers.d.ts.map +1 -1
  263. package/dist/tools/journal-generator-helpers.js +3 -1
  264. package/dist/tools/journal-generator-helpers.js.map +1 -1
  265. package/dist/tools/nest-guard-tools.d.ts +8 -0
  266. package/dist/tools/nest-guard-tools.d.ts.map +1 -1
  267. package/dist/tools/nest-guard-tools.js +7 -1
  268. package/dist/tools/nest-guard-tools.js.map +1 -1
  269. package/dist/tools/nest-pipeline-tools.d.ts.map +1 -1
  270. package/dist/tools/nest-pipeline-tools.js +5 -1
  271. package/dist/tools/nest-pipeline-tools.js.map +1 -1
  272. package/dist/tools/outline-tools.d.ts +4 -1
  273. package/dist/tools/outline-tools.d.ts.map +1 -1
  274. package/dist/tools/outline-tools.js +41 -4
  275. package/dist/tools/outline-tools.js.map +1 -1
  276. package/dist/tools/patterns/execution.d.ts.map +1 -1
  277. package/dist/tools/patterns/execution.js +28 -10
  278. package/dist/tools/patterns/execution.js.map +1 -1
  279. package/dist/tools/review-diff/checks/coupling.js +1 -1
  280. package/dist/tools/review-diff/checks/coupling.js.map +1 -1
  281. package/dist/tools/review-diff/constants.d.ts +9 -0
  282. package/dist/tools/review-diff/constants.d.ts.map +1 -1
  283. package/dist/tools/review-diff/constants.js +9 -0
  284. package/dist/tools/review-diff/constants.js.map +1 -1
  285. package/dist/tools/review-diff/orchestrator.d.ts.map +1 -1
  286. package/dist/tools/review-diff/orchestrator.js +35 -2
  287. package/dist/tools/review-diff/orchestrator.js.map +1 -1
  288. package/dist/tools/review-diff/types.d.ts +5 -0
  289. package/dist/tools/review-diff/types.d.ts.map +1 -1
  290. package/dist/tools/route-tools/file-sources.d.ts.map +1 -1
  291. package/dist/tools/route-tools/file-sources.js +8 -1
  292. package/dist/tools/route-tools/file-sources.js.map +1 -1
  293. package/dist/tools/route-tools/hono.d.ts.map +1 -1
  294. package/dist/tools/route-tools/hono.js +18 -4
  295. package/dist/tools/route-tools/hono.js.map +1 -1
  296. package/dist/tools/route-tools/laravel.js +1 -1
  297. package/dist/tools/route-tools/laravel.js.map +1 -1
  298. package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -1
  299. package/dist/tools/route-tools/mermaid-call-chain.js +9 -1
  300. package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -1
  301. package/dist/tools/route-tools/nest.js +2 -2
  302. package/dist/tools/route-tools/nest.js.map +1 -1
  303. package/dist/tools/route-tools/next-trace.d.ts.map +1 -1
  304. package/dist/tools/route-tools/next-trace.js +16 -1
  305. package/dist/tools/route-tools/next-trace.js.map +1 -1
  306. package/dist/tools/route-tools/next.d.ts.map +1 -1
  307. package/dist/tools/route-tools/next.js +10 -3
  308. package/dist/tools/route-tools/next.js.map +1 -1
  309. package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -1
  310. package/dist/tools/route-tools/route-mermaid.js +7 -1
  311. package/dist/tools/route-tools/route-mermaid.js.map +1 -1
  312. package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -1
  313. package/dist/tools/route-tools/spring-kotlin.js +4 -1
  314. package/dist/tools/route-tools/spring-kotlin.js.map +1 -1
  315. package/dist/tools/route-tools/trace-route.d.ts.map +1 -1
  316. package/dist/tools/route-tools/trace-route.js +12 -4
  317. package/dist/tools/route-tools/trace-route.js.map +1 -1
  318. package/dist/tools/route-tools/yii2.d.ts.map +1 -1
  319. package/dist/tools/route-tools/yii2.js +14 -9
  320. package/dist/tools/route-tools/yii2.js.map +1 -1
  321. package/dist/tools/secret-detectors.d.ts +10 -1
  322. package/dist/tools/secret-detectors.d.ts.map +1 -1
  323. package/dist/tools/secret-detectors.js +16 -2
  324. package/dist/tools/secret-detectors.js.map +1 -1
  325. package/dist/tools/secret-file-scanner.d.ts +3 -1
  326. package/dist/tools/secret-file-scanner.d.ts.map +1 -1
  327. package/dist/tools/secret-file-scanner.js +4 -2
  328. package/dist/tools/secret-file-scanner.js.map +1 -1
  329. package/dist/tools/secret-tools.d.ts +7 -0
  330. package/dist/tools/secret-tools.d.ts.map +1 -1
  331. package/dist/tools/secret-tools.js +62 -5
  332. package/dist/tools/secret-tools.js.map +1 -1
  333. package/dist/tools/status-tools.d.ts +20 -0
  334. package/dist/tools/status-tools.d.ts.map +1 -1
  335. package/dist/tools/status-tools.js +46 -0
  336. package/dist/tools/status-tools.js.map +1 -1
  337. package/dist/tools/symbol-analysis-tools.d.ts.map +1 -1
  338. package/dist/tools/symbol-analysis-tools.js +27 -2
  339. package/dist/tools/symbol-analysis-tools.js.map +1 -1
  340. package/dist/tools/symbol-reference-tools.d.ts +17 -0
  341. package/dist/tools/symbol-reference-tools.d.ts.map +1 -1
  342. package/dist/tools/symbol-reference-tools.js +23 -4
  343. package/dist/tools/symbol-reference-tools.js.map +1 -1
  344. package/dist/tools/symbol-tool-internals.d.ts +10 -0
  345. package/dist/tools/symbol-tool-internals.d.ts.map +1 -1
  346. package/dist/tools/symbol-tool-internals.js +16 -1
  347. package/dist/tools/symbol-tool-internals.js.map +1 -1
  348. package/dist/tools/test-impact-tools.d.ts +3 -0
  349. package/dist/tools/test-impact-tools.d.ts.map +1 -1
  350. package/dist/tools/test-impact-tools.js +26 -4
  351. package/dist/tools/test-impact-tools.js.map +1 -1
  352. package/dist/tools/wiki-overview-sources.d.ts.map +1 -1
  353. package/dist/tools/wiki-overview-sources.js +3 -0
  354. package/dist/tools/wiki-overview-sources.js.map +1 -1
  355. package/dist/utils/import-graph/collect.d.ts +2 -3
  356. package/dist/utils/import-graph/collect.d.ts.map +1 -1
  357. package/dist/utils/import-graph/collect.js +73 -8
  358. package/dist/utils/import-graph/collect.js.map +1 -1
  359. package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -1
  360. package/dist/utils/import-graph/edge-accumulator.js +5 -0
  361. package/dist/utils/import-graph/edge-accumulator.js.map +1 -1
  362. package/dist/utils/import-graph/edge-cache.d.ts +15 -0
  363. package/dist/utils/import-graph/edge-cache.d.ts.map +1 -0
  364. package/dist/utils/import-graph/edge-cache.js +98 -0
  365. package/dist/utils/import-graph/edge-cache.js.map +1 -0
  366. package/dist/utils/import-graph/language-imports.d.ts +2 -2
  367. package/dist/utils/import-graph/language-imports.d.ts.map +1 -1
  368. package/dist/utils/import-graph/language-imports.js.map +1 -1
  369. package/dist/utils/import-graph/path-map.d.ts +2 -2
  370. package/dist/utils/import-graph/path-map.d.ts.map +1 -1
  371. package/dist/utils/import-graph/path-map.js.map +1 -1
  372. package/dist/utils/import-graph/python-php-edge-collectors.d.ts +11 -4
  373. package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -1
  374. package/dist/utils/import-graph/python-php-edge-collectors.js +22 -5
  375. package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -1
  376. package/dist/utils/import-graph/source-edge-collector.d.ts +2 -3
  377. package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -1
  378. package/dist/utils/import-graph/source-edge-collector.js +7 -2
  379. package/dist/utils/import-graph/source-edge-collector.js.map +1 -1
  380. package/dist/utils/import-graph/types.d.ts +36 -1
  381. package/dist/utils/import-graph/types.d.ts.map +1 -1
  382. package/dist/utils/import-graph/typescript-edge-collector.d.ts +2 -3
  383. package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -1
  384. package/dist/utils/import-graph/typescript-edge-collector.js +6 -2
  385. package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -1
  386. package/dist/utils/import-graph/workspace-alias.d.ts +2 -2
  387. package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -1
  388. package/dist/utils/import-graph/workspace-alias.js.map +1 -1
  389. package/dist/utils/language-detect.d.ts +2 -4
  390. package/dist/utils/language-detect.d.ts.map +1 -1
  391. package/dist/utils/language-detect.js +26 -4
  392. package/dist/utils/language-detect.js.map +1 -1
  393. package/dist/utils/python-imports.d.ts +20 -0
  394. package/dist/utils/python-imports.d.ts.map +1 -1
  395. package/dist/utils/python-imports.js +52 -0
  396. package/dist/utils/python-imports.js.map +1 -1
  397. package/dist/utils/ts-imports.d.ts +16 -0
  398. package/dist/utils/ts-imports.d.ts.map +1 -1
  399. package/dist/utils/ts-imports.js +65 -3
  400. package/dist/utils/ts-imports.js.map +1 -1
  401. package/package.json +1 -1
@@ -5,17 +5,21 @@ import { EXTRACTOR_VERSIONS } from "../index-shared.js";
5
5
  import { loadIndex, loadIndexOrStale, loadIndexSummary, summariseIndex, collectExtractorVersionMismatches, } from "../../storage/index-store.js";
6
6
  import { classifyStorageError, } from "../../storage/sqlite-index-store.js";
7
7
  import { IndexStorageError } from "../../storage/sqlite-index-store.js";
8
+ import { assessOverload, DaemonOverloadedError } from "./overload-guard.js";
9
+ import { loadBM25Index, saveBM25Index } from "../../search/bm25-store.js";
10
+ import { findSymbols, streamSymbols } from "../../storage/index-store.js";
11
+ import { withIndexLoadSlot } from "./load-gate.js";
8
12
  import { getRepo, listRepos as listRegistryRepos, removeRepo, resolveRegisteredRepoMeta, getRepoName, } from "../../storage/registry.js";
9
13
  import { stopWatcher } from "../../storage/watcher.js";
10
14
  import { getEmbeddingPath, getEmbeddingMetaPath, loadEmbeddings, } from "../../storage/embedding-store.js";
11
15
  import { getChunkPath, getChunkEmbeddingPath } from "../../storage/chunk-store.js";
12
16
  import { getGraphPath } from "../../storage/graph-store.js";
13
17
  import { getSnapshotPath } from "../../storage/hash-snapshot.js";
14
- import { buildBM25Index } from "../../search/bm25.js";
18
+ import { buildBM25IndexYielding } from "../../search/bm25.js";
15
19
  import { loadConfig, localEmbeddingsDisabled, embeddingMemBudgetBytes } from "../../config.js";
16
20
  import { ensureIndexFresh } from "./file-indexer.js";
17
21
  import { indexFolder } from "./folder-indexer.js";
18
- import { activeWatchers, bm25Indexes, codeIndexes, embeddingCaches, embeddingCacheGenerations, embeddingCacheSources, cacheEmbeddingIfGenerationCurrent, invalidateEmbeddingCache, chunkCacheKey, invalidateEmbeddingCaches, } from "./state.js";
22
+ import { activeWatchers, bm25Indexes, codeIndexes, embeddingCaches, embeddingCacheGenerations, embeddingCacheSources, cacheEmbeddingIfGenerationCurrent, invalidateEmbeddingCache, chunkCacheKey, invalidateEmbeddingCaches, rememberBM25Index, touchBM25Index } from "./state.js";
19
23
  import { findWorkingTree } from "../../utils/worktree.js";
20
24
  export async function listAllRepos(options) {
21
25
  const config = loadConfig();
@@ -62,6 +66,11 @@ export async function invalidateCache(repoName) {
62
66
  await removeRepo(config.registryPath, repoName);
63
67
  return true;
64
68
  }
69
+ /**
70
+ * Below this, rebuilding is cheaper than the disk it would cost. 1 s is roughly where a repo is
71
+ * large enough that a restart is noticeable to whoever is waiting on the first search.
72
+ */
73
+ const BM25_PERSIST_MIN_BUILD_MS = 1_000;
65
74
  export async function getBM25Index(repoName) {
66
75
  // Resolve through the case-insensitive registry resolver (mirrors
67
76
  // getCodeIndex) so `local/Rewards-API` finds `local/rewards-api` and the
@@ -76,13 +85,36 @@ export async function getBM25Index(repoName) {
76
85
  const { resolvedName, meta } = resolved;
77
86
  await ensureIndexFresh(resolvedName);
78
87
  const cached = bm25Indexes.get(resolvedName);
79
- if (cached)
88
+ if (cached) {
89
+ touchBM25Index(resolvedName);
80
90
  return cached;
91
+ }
81
92
  const index = await loadIndex(meta.index_path);
82
93
  if (!index)
83
94
  return null;
84
- const bm25 = buildBM25Index(index.symbols);
85
- bm25Indexes.set(resolvedName, bm25);
95
+ // Reload before rebuilding. Measured on the largest index here (352,166 symbols, 12.9M tokens):
96
+ // a rebuild is 10.04 s, reconstructing the same maps from the sidecar is 0.70 s. The expensive
97
+ // half of a build is tokenising every symbol, and that result does not change until the index
98
+ // does — so it is worth writing down. A stale or unreadable sidecar returns null and we rebuild.
99
+ const restored = await loadBM25Index(meta.index_path, index);
100
+ if (restored) {
101
+ rememberBM25Index(resolvedName, restored);
102
+ return restored;
103
+ }
104
+ const buildStarted = Date.now();
105
+ const bm25 = await buildBM25IndexYielding(index.symbols);
106
+ const buildMs = Date.now() - buildStarted;
107
+ rememberBM25Index(resolvedName, bm25);
108
+ // Persist only when the rebuild actually cost something. The sidecar is not small — measured
109
+ // 112.5 MB for a 28k-symbol repo, more than twice its index database, and this machine has 865
110
+ // registered repos on the disk that is the real bottleneck. Gating on the MEASURED build time
111
+ // rather than a symbol count keeps the trade honest: the thing being bought back is exactly that
112
+ // duration, and a repo whose index rebuilds in 200 ms is not worth a hundred megabytes.
113
+ if (buildMs >= BM25_PERSIST_MIN_BUILD_MS) {
114
+ // Not awaited: the caller has a working index in memory, and making the first search wait on a
115
+ // cache write would spend the very seconds this exists to save.
116
+ void saveBM25Index(meta.index_path, bm25, index).catch(() => { });
117
+ }
86
118
  return bm25;
87
119
  }
88
120
  /**
@@ -104,7 +136,25 @@ export async function getCodeIndex(repoName, options) {
104
136
  const cached = codeIndexes.get(resolvedName);
105
137
  if (cached)
106
138
  return cached;
107
- const result = await loadIndexOrStale(meta.index_path, { ...EXTRACTOR_VERSIONS });
139
+ // Only a COLD load is gated: a resident index costs nothing and is returned above. See
140
+ // overload-guard.ts for why refusing fast beats blocking — the caller's 120 s timeout turns one
141
+ // slow read into a session with no CodeSift tools at all.
142
+ const overload = assessOverload();
143
+ if (overload.refuse) {
144
+ throw new DaemonOverloadedError(resolvedName, overload.reason ?? "overloaded");
145
+ }
146
+ const gated = await withIndexLoadSlot(async () => {
147
+ // Re-checked AFTER the wait, not before it. While this call queued, another may have loaded the
148
+ // same repo — without this the gate would only STAGGER ten sessions touching one repo into ten
149
+ // identical 349 MB allocations instead of preventing nine of them.
150
+ const nowCached = codeIndexes.get(resolvedName);
151
+ if (nowCached)
152
+ return { cached: nowCached };
153
+ return { fresh: await loadIndexOrStale(meta.index_path, { ...EXTRACTOR_VERSIONS }) };
154
+ });
155
+ if ("cached" in gated)
156
+ return gated.cached;
157
+ const result = gated.fresh;
108
158
  if (!result)
109
159
  return null;
110
160
  if (result.status === "unreadable") {
@@ -144,6 +194,93 @@ export async function getCodeIndex(repoName, options) {
144
194
  * Returns `IndexSummary`, which has no `symbols` field at all rather than an empty one: a caller
145
195
  * that needs symbols must fail to compile, not read an empty array as "this repo has none".
146
196
  */
197
+ /**
198
+ * Symbols matching a predicate, without materialising the index.
199
+ *
200
+ * The tool-layer face of `findSymbols` (ADR-004 stage 2), resolving the repo name the same way
201
+ * `getCodeIndex` and `getIndexSummary` do so a caller never has to reach into the registry.
202
+ *
203
+ * An already-resident index answers from memory: going back to the database would be slower than
204
+ * filtering what is already being held, and it keeps the two paths returning the same objects.
205
+ * The reasoning about cache validity is `getIndexSummary`'s, unchanged.
206
+ */
207
+ export async function findRepoSymbols(repoName, query, options) {
208
+ const config = loadConfig();
209
+ const resolved = await resolveRegisteredRepoMeta(config.registryPath, repoName);
210
+ if (!resolved)
211
+ return [];
212
+ const { resolvedName, meta } = resolved;
213
+ if (!options?.skipFreshness) {
214
+ await ensureIndexFresh(resolvedName);
215
+ }
216
+ const cached = codeIndexes.get(resolvedName);
217
+ if (cached)
218
+ return filterCachedSymbols(cached.symbols, query);
219
+ return findSymbols(meta.index_path, query);
220
+ }
221
+ /**
222
+ * Fold over matching symbols in pages, for the tools that must see every symbol but never need
223
+ * them all resident — regex scanners, complexity scorers, adjacency builders.
224
+ *
225
+ * Returning `false` from `onBatch` stops the scan, which the wall-clock-budgeted tools need: without
226
+ * it a scorer that has run out of time keeps paging the rest of the table for results nobody reads.
227
+ */
228
+ export async function streamRepoSymbols(repoName, query, onBatch, options) {
229
+ const config = loadConfig();
230
+ const resolved = await resolveRegisteredRepoMeta(config.registryPath, repoName);
231
+ if (!resolved)
232
+ return;
233
+ const { resolvedName, meta } = resolved;
234
+ if (!options?.skipFreshness) {
235
+ await ensureIndexFresh(resolvedName);
236
+ }
237
+ // An already-resident index is folded directly: paging it back out of the database would be
238
+ // strictly more work than walking what is already in memory.
239
+ const cached = codeIndexes.get(resolvedName);
240
+ if (cached) {
241
+ await onBatch(filterCachedSymbols(cached.symbols, query));
242
+ return;
243
+ }
244
+ return streamSymbols(meta.index_path, query, onBatch);
245
+ }
246
+ /**
247
+ * The in-memory equivalent of the SQL predicate, for when the index is already resident.
248
+ *
249
+ * Kept beside its caller rather than shared with the storage layer's JSON branch: they answer the
250
+ * same question over different inputs, and a shared helper would have to be exported from storage
251
+ * into tools purely to be reused, which is how a "narrow read" acquires a dependency on the wide
252
+ * one. Both are asserted against the SQL by the backend-parity tests.
253
+ */
254
+ function filterCachedSymbols(symbols, query) {
255
+ const ids = query.ids === undefined ? null : new Set(query.ids);
256
+ const out = [];
257
+ for (const symbol of symbols) {
258
+ if (query.limit !== undefined && out.length >= query.limit)
259
+ break;
260
+ if (query.file !== undefined && symbol.file !== query.file)
261
+ continue;
262
+ if (query.name !== undefined && symbol.name !== query.name)
263
+ continue;
264
+ if (query.namePrefix !== undefined && !symbol.name.startsWith(query.namePrefix))
265
+ continue;
266
+ if (query.kind !== undefined && symbol.kind !== query.kind)
267
+ continue;
268
+ if (query.parent !== undefined && symbol.parent !== query.parent)
269
+ continue;
270
+ if (ids !== null && !ids.has(symbol.id))
271
+ continue;
272
+ if (query.withSource) {
273
+ out.push(symbol);
274
+ }
275
+ else {
276
+ // Same contract as the SQL projection: the key is ABSENT, not undefined. A symbol carrying
277
+ // `source: undefined` reads as one whose source is genuinely empty.
278
+ const { source: _dropped, ...rest } = symbol;
279
+ out.push(rest);
280
+ }
281
+ }
282
+ return out;
283
+ }
147
284
  export async function getIndexSummary(repoName, options) {
148
285
  const config = loadConfig();
149
286
  const resolved = await resolveRegisteredRepoMeta(config.registryPath, repoName);
@@ -163,8 +300,12 @@ export async function getIndexSummary(repoName, options) {
163
300
  // so there is no window in which a cached index becomes stale. Two independent reviewers read
164
301
  // this shortcut as a missing check, which is why it is spelled out rather than left implicit.
165
302
  const cached = codeIndexes.get(resolvedName);
303
+ // `indexPath` travels with the summary so consumers that cache something alongside the index —
304
+ // the parsed-imports cache — can find the right place without reaching into the registry
305
+ // themselves. Both return paths carry it, or the cache would be active on one and silently off
306
+ // on the other depending on whether the index happened to be resident.
166
307
  if (cached)
167
- return summariseIndex(cached);
308
+ return { ...summariseIndex(cached), indexPath: meta.index_path };
168
309
  try {
169
310
  const summary = await loadIndexSummary(meta.index_path);
170
311
  if (summary === null)
@@ -190,7 +331,7 @@ export async function getIndexSummary(repoName, options) {
190
331
  `Run index_folder to refresh.`);
191
332
  return null;
192
333
  }
193
- return summary;
334
+ return { ...summary, indexPath: meta.index_path };
194
335
  }
195
336
  catch (err) {
196
337
  const code = classifyStorageError(err);
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/index-tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/index-tools/registry.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,26 @@ import type { BM25Index } from "../../search/bm25.js";
2
2
  import type { CodeIndex } from "../../types.js";
3
3
  export declare const activeWatchers: Map<string, import("@parcel/watcher").AsyncSubscription>;
4
4
  export declare const bm25Indexes: Map<string, BM25Index>;
5
+ /**
6
+ * Keep the BM25 cache inside a budget, evicting least-recently-used first.
7
+ *
8
+ * This cache had NO bound of any kind — no LRU, no budget, no entry cap — while every neighbour has
9
+ * one (`CODESIFT_MAX_INDEX_CACHE_MB` for indexes, `CODESIFT_MAX_EMBEDDING_MEM_MB` for embeddings, a
10
+ * watcher cap, an LRU parse cache). It survived because eviction happened by ACCIDENT: every
11
+ * `index_file` deleted its repo's entry, and the PostToolUse hook fires on every agent edit, so the
12
+ * map was constantly being emptied by the thing that looked like cache invalidation.
13
+ *
14
+ * 69a49cd made those edits update the index in place instead of dropping it — a 595x win on the
15
+ * edit path, and it removed the only thing keeping this map small. The daemon then climbed to the
16
+ * 16 GB heap ceiling and crash-looped: 15.1 GB, 16.0 GB, restart, repeat, with clients that
17
+ * happened to initialize during a restart window getting no tools at all for their whole session.
18
+ *
19
+ * At ~400 MB for a large repository, the budget holds two or three. That is the point: a repo
20
+ * evicted here is rebuilt on next use, which now costs one build rather than one per edit.
21
+ */
22
+ export declare function rememberBM25Index(repoName: string, index: BM25Index): void;
23
+ /** Mark an entry as most-recently-used, so eviction drops cold repos rather than merely old ones. */
24
+ export declare function touchBM25Index(repoName: string): void;
5
25
  export declare const codeIndexes: Map<string, CodeIndex>;
6
26
  export declare const embeddingCaches: Map<string, Map<string, Float32Array<ArrayBufferLike>>>;
7
27
  export declare const embeddingCacheGenerations: Map<string, number>;
@@ -36,4 +56,30 @@ export declare function chunkCacheKey(repoName: string): string;
36
56
  * bug was that five call sites each independently forgot the same thing.
37
57
  */
38
58
  export declare function invalidateEmbeddingCaches(repoName: string): void;
59
+ /**
60
+ * Drop every materialised cache this process is holding.
61
+ *
62
+ * Eviction was budget-based ONLY, and budget eviction runs on ACCESS — so a server that loaded an
63
+ * index and then went quiet held all of it forever. Measured on this Mac: 27 codesift processes
64
+ * holding 8.4 GB, 23 of them spawned by one client that keeps a server per session alive; ages
65
+ * ~1h50m, individual resident sets up to 2.6 GB, while swap sat at 17.6 of 18.4 GB. Nothing was
66
+ * leaking — the caches were simply immortal.
67
+ *
68
+ * Cheap to undo: the next call reloads from disk (a cold load is seconds, and the SQLite backend
69
+ * made warm loads ~17800x faster than the JSON one it replaced). Holding gigabytes for hours
70
+ * against a possible future query is the worse trade on a machine running many sessions at once.
71
+ *
72
+ * Watchers are deliberately NOT stopped: they are cheap, and dropping them would silently stop
73
+ * incremental updates for a repo the client still has open.
74
+ */
75
+ export declare function releaseCachedIndexes(): {
76
+ indexes: number;
77
+ bm25: number;
78
+ embeddings: number;
79
+ };
80
+ /** Called on every tool invocation — the only signal that this process is still in use. */
81
+ export declare function markToolActivity(): void;
82
+ export declare function millisSinceLastActivity(): number;
83
+ /** Test seam: pretend the process has been idle for `ms`. */
84
+ export declare function _setLastActivityForTests(ms: number): void;
39
85
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,eAAO,MAAM,cAAc,0DAA+B,CAAC;AAC3D,eAAO,MAAM,WAAW,wBAA+B,CAAC;AACxD,eAAO,MAAM,WAAW,wBAA+B,CAAC;AACxD,eAAO,MAAM,eAAe,yDAA+C,CAAC;AAC5E,eAAO,MAAM,yBAAyB,qBAA4B,CAAC;AACnE,eAAO,MAAM,qBAAqB,qBAA4B,CAAC;AAE/D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED,wFAAwF;AACxF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAKT;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAShE"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,eAAO,MAAM,cAAc,0DAA+B,CAAC;AAC3D,eAAO,MAAM,WAAW,wBAA+B,CAAC;AAkBxD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAI1E;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAKrD;AAuCD,eAAO,MAAM,WAAW,wBAA+B,CAAC;AACxD,eAAO,MAAM,eAAe,yDAA+C,CAAC;AAC5E,eAAO,MAAM,yBAAyB,qBAA4B,CAAC;AACnE,eAAO,MAAM,qBAAqB,qBAA4B,CAAC;AAE/D,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI/D;AAED,wFAAwF;AACxF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAKT;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAShE;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAa5F;AAID,2FAA2F;AAC3F,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzD"}
@@ -1,5 +1,91 @@
1
+ import { totalmem as osTotalmem } from "node:os";
1
2
  export const activeWatchers = new Map();
2
3
  export const bm25Indexes = new Map();
4
+ /**
5
+ * Bytes a BM25 index occupies, from its own token totals.
6
+ *
7
+ * Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
8
+ * 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
9
+ * by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
10
+ * evicts something that would have fitted, under-reporting silently breaks the budget.
11
+ */
12
+ function bm25FootprintBytes(index) {
13
+ let tokens = 0;
14
+ for (const field of Object.keys(index.totalFieldLengths)) {
15
+ tokens += index.totalFieldLengths[field];
16
+ }
17
+ return tokens * 40;
18
+ }
19
+ /**
20
+ * Keep the BM25 cache inside a budget, evicting least-recently-used first.
21
+ *
22
+ * This cache had NO bound of any kind — no LRU, no budget, no entry cap — while every neighbour has
23
+ * one (`CODESIFT_MAX_INDEX_CACHE_MB` for indexes, `CODESIFT_MAX_EMBEDDING_MEM_MB` for embeddings, a
24
+ * watcher cap, an LRU parse cache). It survived because eviction happened by ACCIDENT: every
25
+ * `index_file` deleted its repo's entry, and the PostToolUse hook fires on every agent edit, so the
26
+ * map was constantly being emptied by the thing that looked like cache invalidation.
27
+ *
28
+ * 69a49cd made those edits update the index in place instead of dropping it — a 595x win on the
29
+ * edit path, and it removed the only thing keeping this map small. The daemon then climbed to the
30
+ * 16 GB heap ceiling and crash-looped: 15.1 GB, 16.0 GB, restart, repeat, with clients that
31
+ * happened to initialize during a restart window getting no tools at all for their whole session.
32
+ *
33
+ * At ~400 MB for a large repository, the budget holds two or three. That is the point: a repo
34
+ * evicted here is rebuilt on next use, which now costs one build rather than one per edit.
35
+ */
36
+ export function rememberBM25Index(repoName, index) {
37
+ bm25Indexes.delete(repoName);
38
+ bm25Indexes.set(repoName, index);
39
+ evictBM25OverBudget(repoName);
40
+ }
41
+ /** Mark an entry as most-recently-used, so eviction drops cold repos rather than merely old ones. */
42
+ export function touchBM25Index(repoName) {
43
+ const existing = bm25Indexes.get(repoName);
44
+ if (!existing)
45
+ return;
46
+ bm25Indexes.delete(repoName);
47
+ bm25Indexes.set(repoName, existing);
48
+ }
49
+ function evictBM25OverBudget(pinned) {
50
+ const budget = maxBM25CacheBytes();
51
+ let total = 0;
52
+ for (const index of bm25Indexes.values())
53
+ total += bm25FootprintBytes(index);
54
+ if (total <= budget)
55
+ return;
56
+ for (const [name, index] of bm25Indexes) {
57
+ if (total <= budget)
58
+ break;
59
+ // Never evict the repo being served, even when it alone exceeds the budget — otherwise every
60
+ // call into a large repository would rebuild and immediately discard its own index.
61
+ if (name === pinned)
62
+ continue;
63
+ total -= bm25FootprintBytes(index);
64
+ bm25Indexes.delete(name);
65
+ }
66
+ }
67
+ function maxBM25CacheBytes() {
68
+ const raw = process.env["CODESIFT_MAX_BM25_CACHE_MB"];
69
+ if (raw !== undefined) {
70
+ const parsed = Number.parseInt(raw, 10);
71
+ if (Number.isFinite(parsed) && parsed > 0)
72
+ return parsed * 1024 * 1024;
73
+ }
74
+ // Same RAM tiers as the index and embedding budgets, so the three agree about what a machine
75
+ // this size is willing to hold resident.
76
+ const totalGb = totalSystemMemoryBytes() / 1024 ** 3;
77
+ const mb = totalGb <= 16 ? 256 : totalGb <= 32 ? 512 : 1024;
78
+ return mb * 1024 * 1024;
79
+ }
80
+ function totalSystemMemoryBytes() {
81
+ try {
82
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
83
+ return osTotalmem();
84
+ }
85
+ catch {
86
+ return 8 * 1024 ** 3;
87
+ }
88
+ }
3
89
  export const codeIndexes = new Map();
4
90
  export const embeddingCaches = new Map();
5
91
  export const embeddingCacheGenerations = new Map();
@@ -56,4 +142,50 @@ export function invalidateEmbeddingCaches(repoName) {
56
142
  invalidateEmbeddingCache(repoName);
57
143
  invalidateEmbeddingCache(chunkCacheKey(repoName));
58
144
  }
145
+ // ---------------------------------------------------------------------------
146
+ // Idle release
147
+ // ---------------------------------------------------------------------------
148
+ /**
149
+ * Drop every materialised cache this process is holding.
150
+ *
151
+ * Eviction was budget-based ONLY, and budget eviction runs on ACCESS — so a server that loaded an
152
+ * index and then went quiet held all of it forever. Measured on this Mac: 27 codesift processes
153
+ * holding 8.4 GB, 23 of them spawned by one client that keeps a server per session alive; ages
154
+ * ~1h50m, individual resident sets up to 2.6 GB, while swap sat at 17.6 of 18.4 GB. Nothing was
155
+ * leaking — the caches were simply immortal.
156
+ *
157
+ * Cheap to undo: the next call reloads from disk (a cold load is seconds, and the SQLite backend
158
+ * made warm loads ~17800x faster than the JSON one it replaced). Holding gigabytes for hours
159
+ * against a possible future query is the worse trade on a machine running many sessions at once.
160
+ *
161
+ * Watchers are deliberately NOT stopped: they are cheap, and dropping them would silently stop
162
+ * incremental updates for a repo the client still has open.
163
+ */
164
+ export function releaseCachedIndexes() {
165
+ const released = {
166
+ indexes: codeIndexes.size,
167
+ bm25: bm25Indexes.size,
168
+ embeddings: embeddingCaches.size,
169
+ };
170
+ codeIndexes.clear();
171
+ bm25Indexes.clear();
172
+ // Bump generations so an in-flight load cannot publish into the cache we just cleared.
173
+ for (const key of embeddingCaches.keys())
174
+ invalidateEmbeddingCache(key);
175
+ embeddingCaches.clear();
176
+ embeddingCacheSources.clear();
177
+ return released;
178
+ }
179
+ let lastActivityAt = Date.now();
180
+ /** Called on every tool invocation — the only signal that this process is still in use. */
181
+ export function markToolActivity() {
182
+ lastActivityAt = Date.now();
183
+ }
184
+ export function millisSinceLastActivity() {
185
+ return Date.now() - lastActivityAt;
186
+ }
187
+ /** Test seam: pretend the process has been idle for `ms`. */
188
+ export function _setLastActivityForTests(ms) {
189
+ lastActivityAt = Date.now() - ms;
190
+ }
59
191
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/tools/index-tools/state.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;AAC3D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAqC,CAAC;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE/D,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,iCAAiC,CAC/C,QAAgB,EAChB,UAAkB,EAClB,UAAqC,EACrC,MAAe;IAEf,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAChF,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,GAAG,QAAQ,SAAS,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAgB;IACxD,uFAAuF;IACvF,2FAA2F;IAC3F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,wDAAwD;IACxD,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACnC,wBAAwB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/tools/index-tools/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/watcher.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../../../src/tools/index-tools/watcher.ts"],"names":[],"mappings":"AAwBA;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -4,6 +4,7 @@ import { startWatcher, stopWatcher } from "../../storage/watcher.js";
4
4
  import { loadConfig } from "../../config.js";
5
5
  import { onFileChanged as scanOnChanged, onFileDeleted as scanOnDeleted, scanFileForSecrets } from "../secret-scan-shared.js";
6
6
  import { parseOneFile } from "./parse.js";
7
+ import { updateBM25ForFile } from "../../search/bm25.js";
7
8
  import { activeWatchers, bm25Indexes, codeIndexes, invalidateEmbeddingCaches } from "./state.js";
8
9
  const DEFAULT_MAX_WATCHERS = 8;
9
10
  function getMaxWatchers() {
@@ -95,15 +96,18 @@ async function handleFileChange(repoRoot, repoName, indexPath, relativeFile) {
95
96
  await saveIncremental(indexPath, relativeFile, result.symbols, result.entry);
96
97
  if (loadConfig().secretScanEnabled) {
97
98
  try {
98
- await scanFileForSecrets(fullPath, relativeFile, repoName, result.symbols);
99
+ await scanFileForSecrets(fullPath, relativeFile, repoName, () => result.symbols);
99
100
  }
100
101
  catch (err) {
101
102
  const message = err instanceof Error ? err.message : String(err);
102
103
  console.warn(`[codesift] Secret scan failed for ${relativeFile}: ${message}`);
103
104
  }
104
105
  }
105
- // Invalidate caches — lazy rebuild on next query via getBM25Index()
106
- bm25Indexes.delete(repoName);
106
+ // Swap this file's symbols in place rather than dropping the index — see updateBM25ForFile.
107
+ const cachedBm25 = bm25Indexes.get(repoName);
108
+ if (cachedBm25) {
109
+ updateBM25ForFile(cachedBm25, relativeFile, result.symbols);
110
+ }
107
111
  codeIndexes.delete(repoName);
108
112
  invalidateEmbeddingCaches(repoName);
109
113
  }
@@ -113,8 +117,12 @@ async function handleFileChange(repoRoot, repoName, indexPath, relativeFile) {
113
117
  */
114
118
  async function handleFileDelete(repoRoot, repoName, indexPath, relativeFile) {
115
119
  await removeFileFromIndex(indexPath, relativeFile);
116
- // Invalidate caches — lazy rebuild on next query via getBM25Index()
117
- bm25Indexes.delete(repoName);
120
+ // A deletion is the same swap with nothing to put back: drop the file's symbols, keep the rest
121
+ // of the index. Dropping the whole index here would make `rm` as expensive as a reindex.
122
+ const cachedBm25 = bm25Indexes.get(repoName);
123
+ if (cachedBm25) {
124
+ updateBM25ForFile(cachedBm25, relativeFile, []);
125
+ }
118
126
  codeIndexes.delete(repoName);
119
127
  invalidateEmbeddingCaches(repoName);
120
128
  scanOnDeleted(repoName, relativeFile);
@@ -1 +1 @@
1
- {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/tools/index-tools/watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../../src/tools/index-tools/watcher.ts"],"names":[],"mappings":"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"}