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,3 +1,4 @@
1
+ import { totalmem } from "node:os";
1
2
  import { tokenizeIdentifier } from "../parser/symbol-utils.js";
2
3
  import { isTestFile } from "../utils/test-file.js";
3
4
  // BM25 parameters
@@ -73,44 +74,67 @@ function countTermFrequencies(tokens) {
73
74
  }
74
75
  return tf;
75
76
  }
76
- export function buildBM25Index(symbols) {
77
- const fieldNames = ["name", "signature", "docstring", "body", "comments"];
78
- const fields = {
79
- name: new Map(),
80
- signature: new Map(),
81
- docstring: new Map(),
82
- body: new Map(),
83
- comments: new Map(),
77
+ /**
78
+ * Symbols ingested per turn before the event loop gets one.
79
+ *
80
+ * Building this index is the single longest synchronous burst in the process. Measured on the
81
+ * largest real index here (372,949 symbols, 20,132 files): **19.5 seconds during which a 20 ms
82
+ * timer fired ZERO times**. In the shared daemon that is 19.5 seconds where nothing is answered —
83
+ * not another client's search, not `/health` — and it is the largest single contributor to what
84
+ * users reported as "CodeSift is down".
85
+ *
86
+ * The split matters for where to yield: 18.3 s of that is the tokenise-and-map loop below, and only
87
+ * 1.2 s the import-centrality pass after it. So the ingest loop is what yields.
88
+ */
89
+ /** Module scope now that ingestion is extracted — it was a local of the old single function. */
90
+ const fieldNames = ["name", "signature", "docstring", "body", "comments"];
91
+ const SYMBOLS_PER_TURN = 2000;
92
+ function yieldToEventLoop() {
93
+ return new Promise((resolve) => setImmediate(resolve));
94
+ }
95
+ function newAccumulator() {
96
+ return {
97
+ fields: {
98
+ name: new Map(), signature: new Map(), docstring: new Map(),
99
+ body: new Map(), comments: new Map(),
100
+ },
101
+ totalFieldLengths: { name: 0, signature: 0, docstring: 0, body: 0, comments: 0 },
102
+ symbolMap: new Map(),
103
+ fieldLengths: new Map(),
84
104
  };
85
- const totalFieldLengths = {
86
- name: 0,
87
- signature: 0,
88
- docstring: 0,
89
- body: 0,
90
- comments: 0,
105
+ }
106
+ /** One symbol into the inverted index. Extracted so both builders run byte-identical work. */
107
+ function ingestSymbol(acc, symbol) {
108
+ acc.symbolMap.set(symbol.id, symbol);
109
+ const fieldTokens = getFieldTokens(symbol);
110
+ const lengths = {
111
+ name: 0, signature: 0, docstring: 0, body: 0, comments: 0,
91
112
  };
92
- const symbolMap = new Map();
93
- const fieldLengths = new Map();
94
- for (const symbol of symbols) {
95
- symbolMap.set(symbol.id, symbol);
96
- const fieldTokens = getFieldTokens(symbol);
97
- const lengths = { name: 0, signature: 0, docstring: 0, body: 0, comments: 0 };
98
- for (const field of fieldNames) {
99
- const tokens = fieldTokens[field];
100
- totalFieldLengths[field] += tokens.length;
101
- lengths[field] = tokens.length;
102
- const tf = countTermFrequencies(tokens);
103
- for (const [token, freq] of tf) {
104
- let postings = fields[field].get(token);
105
- if (!postings) {
106
- postings = new Map();
107
- fields[field].set(token, postings);
108
- }
109
- postings.set(symbol.id, freq);
113
+ for (const field of fieldNames) {
114
+ const tokens = fieldTokens[field];
115
+ acc.totalFieldLengths[field] += tokens.length;
116
+ lengths[field] = tokens.length;
117
+ const tf = countTermFrequencies(tokens);
118
+ for (const [token, freq] of tf) {
119
+ let postings = acc.fields[field].get(token);
120
+ if (!postings) {
121
+ postings = new Map();
122
+ acc.fields[field].set(token, postings);
110
123
  }
124
+ postings.set(symbol.id, freq);
111
125
  }
112
- fieldLengths.set(symbol.id, lengths);
113
126
  }
127
+ acc.fieldLengths.set(symbol.id, lengths);
128
+ }
129
+ /**
130
+ * Averages plus import centrality — 1.2 s of the 19.5 on the largest index, so it stays synchronous.
131
+ *
132
+ * The inner `for (const file of allFiles)` is a linear scan per import match, i.e. O(imports x files).
133
+ * At 6% of the build it was not worth changing while fixing the blocking, but it is the obvious next
134
+ * thing if this pass ever grows.
135
+ */
136
+ function finishBuild(acc, symbols) {
137
+ const { fields, totalFieldLengths, symbolMap, fieldLengths } = acc;
114
138
  const docCount = symbols.length;
115
139
  const avgFieldLengths = {
116
140
  name: docCount > 0 ? totalFieldLengths.name / docCount : 0,
@@ -147,7 +171,151 @@ export function buildBM25Index(symbols) {
147
171
  for (const [file, count] of importCount) {
148
172
  centrality.set(file, Math.log2(1 + count));
149
173
  }
150
- return { fields, avgFieldLengths, docCount, symbols: symbolMap, centrality, fieldLengths };
174
+ return { fields, avgFieldLengths, docCount, symbols: symbolMap, centrality, fieldLengths, totalFieldLengths };
175
+ }
176
+ function recomputeAverages(index) {
177
+ const n = index.docCount;
178
+ for (const field of fieldNames) {
179
+ index.avgFieldLengths[field] = n > 0 ? index.totalFieldLengths[field] / n : 0;
180
+ }
181
+ }
182
+ /**
183
+ * Undo one symbol's contribution to the inverted index.
184
+ *
185
+ * No reverse token map is needed: the tokens a symbol contributed are a pure function of the
186
+ * symbol, and the symbol itself is still in `index.symbols`. Re-deriving them is exact and costs
187
+ * one `getFieldTokens` call, against a reverse map that would have to be kept correct forever.
188
+ *
189
+ * Field lengths come from the STORED record rather than the re-derived tokens, so the running
190
+ * totals stay symmetric with what ingest actually added even if tokenisation ever changes under a
191
+ * long-lived index.
192
+ */
193
+ function removeSymbolFromIndex(index, symbol) {
194
+ const fieldTokens = getFieldTokens(symbol);
195
+ const stored = index.fieldLengths.get(symbol.id);
196
+ for (const field of fieldNames) {
197
+ const tokens = fieldTokens[field];
198
+ index.totalFieldLengths[field] -= stored ? stored[field] : tokens.length;
199
+ const postings = index.fields[field];
200
+ for (const token of new Set(tokens)) {
201
+ const forToken = postings.get(token);
202
+ if (!forToken)
203
+ continue;
204
+ forToken.delete(symbol.id);
205
+ // A token nobody carries any more must go, or the vocabulary grows without bound across a
206
+ // long-lived daemon and every idf denominator drifts.
207
+ if (forToken.size === 0)
208
+ postings.delete(token);
209
+ }
210
+ }
211
+ index.symbols.delete(symbol.id);
212
+ index.fieldLengths.delete(symbol.id);
213
+ index.docCount--;
214
+ }
215
+ /**
216
+ * Swap one file's symbols in place, instead of throwing the whole index away.
217
+ *
218
+ * Editing a single file used to delete the repository's entire BM25 index, and the next search
219
+ * rebuilt it from scratch — measured 6.8 s on a 372k-symbol repository, against 952 `index_file`
220
+ * calls in a week. The agent loop is edit-then-search, so that rebuild was being paid constantly.
221
+ *
222
+ * `centrality` is deliberately NOT recomputed. It is an O(imports x files) scan over every symbol
223
+ * in the repository — the thing this function exists to avoid — and it is a ranking bonus derived
224
+ * from a substring heuristic, not a correctness input. One file's imports moving leaves it
225
+ * marginally stale until the next full build; a 6.8 s pause would not.
226
+ */
227
+ export function updateBM25ForFile(index, file, symbols) {
228
+ // Select by the STORED symbol's file, never by parsing the incoming ids: ids are
229
+ // `repo:file:name:line` and are documented as non-unique, so an incoming id can collide with a
230
+ // symbol that lives in a different file. Matching on the stored record cannot touch it.
231
+ const stale = [];
232
+ for (const existing of index.symbols.values()) {
233
+ if (existing.file === file)
234
+ stale.push(existing);
235
+ }
236
+ for (const symbol of stale)
237
+ removeSymbolFromIndex(index, symbol);
238
+ const acc = {
239
+ fields: index.fields,
240
+ totalFieldLengths: index.totalFieldLengths,
241
+ symbolMap: index.symbols,
242
+ fieldLengths: index.fieldLengths,
243
+ };
244
+ for (const symbol of symbols) {
245
+ ingestSymbol(acc, symbol);
246
+ index.docCount++;
247
+ }
248
+ recomputeAverages(index);
249
+ }
250
+ /**
251
+ * Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
252
+ * Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
253
+ */
254
+ /**
255
+ * Bytes a BM25 index occupies, from its own token totals.
256
+ *
257
+ * Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
258
+ * 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
259
+ * by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
260
+ * evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
261
+ * 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
262
+ * so it still errs by 12% in the safe direction.
263
+ *
264
+ * It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
265
+ * code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
266
+ * copy of this per cache is how their budgets drift apart.
267
+ */
268
+ export function bm25FootprintBytes(index) {
269
+ let tokens = 0;
270
+ for (const field of Object.keys(index.totalFieldLengths)) {
271
+ tokens += index.totalFieldLengths[field];
272
+ }
273
+ return tokens * 40;
274
+ }
275
+ /**
276
+ * Resident budget for one BM25 cache, in bytes.
277
+ *
278
+ * Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
279
+ * size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
280
+ */
281
+ export function bm25CacheBudgetBytes(env = process.env) {
282
+ const raw = env["CODESIFT_MAX_BM25_CACHE_MB"];
283
+ if (raw !== undefined) {
284
+ const parsed = Number.parseInt(raw, 10);
285
+ if (Number.isFinite(parsed) && parsed > 0)
286
+ return parsed * 1024 * 1024;
287
+ }
288
+ let totalGb = 8;
289
+ try {
290
+ totalGb = totalmem() / 1024 ** 3;
291
+ }
292
+ catch { /* keep the floor */ }
293
+ const mb = totalGb <= 16 ? 256 : totalGb <= 32 ? 512 : 1024;
294
+ return mb * 1024 * 1024;
295
+ }
296
+ export function buildBM25Index(symbols) {
297
+ const acc = newAccumulator();
298
+ for (const symbol of symbols)
299
+ ingestSymbol(acc, symbol);
300
+ return finishBuild(acc, symbols);
301
+ }
302
+ /**
303
+ * Same index, built without monopolising the event loop.
304
+ *
305
+ * Identical work and identical output — it simply hands the loop a turn every SYMBOLS_PER_TURN
306
+ * symbols, so other clients keep getting answers while a large repository is indexed.
307
+ */
308
+ export async function buildBM25IndexYielding(symbols) {
309
+ const acc = newAccumulator();
310
+ let sinceYield = 0;
311
+ for (const symbol of symbols) {
312
+ ingestSymbol(acc, symbol);
313
+ if (++sinceYield >= SYMBOLS_PER_TURN) {
314
+ sinceYield = 0;
315
+ await yieldToEventLoop();
316
+ }
317
+ }
318
+ return finishBuild(acc, symbols);
151
319
  }
152
320
  export function searchBM25(index, query, topK, fieldWeights) {
153
321
  if (index.docCount === 0 || !query.trim()) {
@@ -1 +1 @@
1
- {"version":3,"file":"bm25.js","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bm25.js","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Run `fn` with at most `limit` others.
3
+ *
4
+ * FIFO, so a batch that has waited longest goes next — a stack would starve the first arrival under
5
+ * sustained load, which is exactly the caller whose timeout is closest to firing.
6
+ */
7
+ export declare function withEmbedSlot<T>(fn: () => Promise<T>, options?: {
8
+ env?: NodeJS.ProcessEnv;
9
+ }): Promise<T>;
10
+ /** Tests need to observe the gate rather than infer it from timing. */
11
+ export declare function embedGateStateForTesting(): {
12
+ active: number;
13
+ waiting: number;
14
+ };
15
+ /** Tests need a clean slate between cases. */
16
+ export declare function resetEmbedGateForTesting(): void;
17
+ //# sourceMappingURL=embed-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-gate.d.ts","sourceRoot":"","sources":["../../src/search/embed-gate.ts"],"names":[],"mappings":"AA8BA;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,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,uEAAuE;AACvE,wBAAgB,wBAAwB,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAE9E;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Cap on how many embedding requests are in flight at once.
3
+ *
4
+ * Nothing limited them, and the remote does: `OLLAMA_NUM_PARALLEL=4` on the tailnet host this
5
+ * machine embeds against. So the daemon fired unbounded concurrent batches at a server that serves
6
+ * four, everything past the fourth queued until it exceeded the client's timeout, and
7
+ * `embedBatchWithStallRetry` answered each timeout by splitting the batch in two — producing MORE
8
+ * requests against the same queue. That is a congestion collapse we cause ourselves, and it is what
9
+ * filled `daemon.err.log` with hundreds of `embed batch of N stalled … retrying as N/2+N/2` lines
10
+ * and left the daemon unable to answer /health for fifteen minutes after a restart.
11
+ *
12
+ * A gate does not make embedding slower: the work was already serialised by the remote. It makes
13
+ * the QUEUE visible to us instead of hidden behind timeouts, so a batch waits rather than failing
14
+ * and multiplying.
15
+ *
16
+ * Default 4 to match the common Ollama setting. `CODESIFT_EMBED_CONCURRENCY` overrides it — a
17
+ * bigger GPU host or a hosted provider can take more, and a value of 0 or less disables the gate
18
+ * for callers who know their provider is unmetered.
19
+ */
20
+ const DEFAULT_CONCURRENCY = 4;
21
+ function configuredLimit(env) {
22
+ const raw = Number(env["CODESIFT_EMBED_CONCURRENCY"]);
23
+ if (Number.isFinite(raw))
24
+ return Math.floor(raw);
25
+ return DEFAULT_CONCURRENCY;
26
+ }
27
+ let active = 0;
28
+ const waiting = [];
29
+ /**
30
+ * Run `fn` with at most `limit` others.
31
+ *
32
+ * FIFO, so a batch that has waited longest goes next — a stack would starve the first arrival under
33
+ * sustained load, which is exactly the caller whose timeout is closest to firing.
34
+ */
35
+ export async function withEmbedSlot(fn, options) {
36
+ const limit = configuredLimit(options?.env ?? process.env);
37
+ if (limit <= 0)
38
+ return fn();
39
+ if (active >= limit) {
40
+ await new Promise((resolve) => waiting.push(resolve));
41
+ }
42
+ active++;
43
+ try {
44
+ return await fn();
45
+ }
46
+ finally {
47
+ active--;
48
+ // Release in arrival order. `shift()` on an array this short costs nothing, and the ordering is
49
+ // the property that matters.
50
+ const next = waiting.shift();
51
+ if (next)
52
+ next();
53
+ }
54
+ }
55
+ /** Tests need to observe the gate rather than infer it from timing. */
56
+ export function embedGateStateForTesting() {
57
+ return { active, waiting: waiting.length };
58
+ }
59
+ /** Tests need a clean slate between cases. */
60
+ export function resetEmbedGateForTesting() {
61
+ active = 0;
62
+ waiting.length = 0;
63
+ }
64
+ //# sourceMappingURL=embed-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed-gate.js","sourceRoot":"","sources":["../../src/search/embed-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,SAAS,eAAe,CAAC,GAAsB;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,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,aAAa,CACjC,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,gGAAgG;QAChG,6BAA6B;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI;YAAE,IAAI,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,wBAAwB;IACtC,MAAM,GAAG,CAAC,CAAC;IACX,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAkC5D,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMnE;AAMD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAiB1D;AAMD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAiBzE;AAED;;;GAGG;AACH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACpC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM9B;AAED,kDAAkD;AAClD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CASpF;AAED,wBAAgB,cAAc,CAC5B,cAAc,EAAE,YAAY,EAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAChC,IAAI,EAAE,MAAM,GACX,YAAY,EAAE,CAoBhB;AA6DD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,mBAAmB;IACjC,QAAQ,CAAC,UAAU,QAAQ;IAC3B,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,MAAM,EAAE,MAAM,EAEzB;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAOlF;CACF;AAMD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,4BAA4B;IAC1C,QAAQ,CAAC,UAAU,QAAQ;IAC3B,OAAO,CAAC,MAAM,CAAS;IAEvB,YAAY,MAAM,EAAE,MAAM,EAEzB;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAOnF;CACF;AAMD,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAS;IAMxB,YAAY,OAAO,EAAE,MAAM,EAAE,KAAK,SAAqB,EAAE,UAAU,SAAM,EAIxE;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAuCnF;CACF;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,SAAqB,EAC3B,SAAS,SAAmB,GAC3B,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuB5B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAClD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,MAAM,CAOR;AAmBD,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAKpE;AAiCD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK3D;AA2DD,qBAAa,aAAc,YAAW,iBAAiB;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,KAAK,GAAE,MAA4B,EAAE,UAAU,CAAC,EAAE,MAAM,EAGnE;IAEK,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,aAA0B,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CA0BlF;CACF;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C;AAMD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,EAClD,MAAM,EAAE;IACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GACA,iBAAiB,CA0BnB"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { withEmbedSlot } from "./embed-gate.js";
1
2
  import { importTransformers, localEmbeddingRemedy } from "./optional-transformers.js";
2
3
  import { StaticEmbeddingProvider } from "./static-embedding-provider.js";
3
4
  const MAX_SYMBOL_SOURCE_CHARS = 200;
@@ -232,12 +233,14 @@ export class OllamaProvider {
232
233
  // /api/embeddings once per text — 90K sequential HTTP round-trips for a big
233
234
  // repo, which throws away most of the GPU speedup Ollama gives on Apple
234
235
  // Silicon. /api/embed embeds the whole array in one request.
235
- const response = await fetch(`${this.baseUrl}/api/embed`, {
236
+ // Through the gate: the remote serves a fixed number at a time, and firing more than that at it
237
+ // turns queueing into timeouts, and timeouts into retries that queue again. See embed-gate.ts.
238
+ const response = await withEmbedSlot(() => fetch(`${this.baseUrl}/api/embed`, {
236
239
  method: "POST",
237
240
  headers: { "Content-Type": "application/json" },
238
241
  body: JSON.stringify({ model: this.model, input: capped }),
239
242
  signal: AbortSignal.timeout(embeddingTimeoutMs(capped)),
240
- });
243
+ }));
241
244
  if (!response.ok) {
242
245
  // SEC-004: log raw body to stderr only — do not forward to the MCP client.
243
246
  const body = await response.text();
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/search/semantic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * What the process is holding, per cache, priced the same way each cache prices itself.
3
+ *
4
+ * Every long-lived cache here has a documented budget, and on 2026-09-27 the daemon reached
5
+ * 15,194 MB of a 16,384 MB heap while those budgets summed to about 3.3 GB. Attributing the
6
+ * difference took an afternoon of reading modules and writing standalone probes, because `/health`
7
+ * reports heap TOTAL and nothing about who holds it — so the only way to ask "which cache" was to
8
+ * reproduce each one outside the process and extrapolate.
9
+ *
10
+ * Two of the four things that afternoon found were caches with no bound at all, and neither was
11
+ * visible from outside. The point of this report is that the next such question is a curl, not an
12
+ * investigation:
13
+ *
14
+ * - `entries` is what a count-based bound would have measured, and is the number that misleads;
15
+ * - `bytes` is each cache's OWN estimate — the one its eviction acts on. Where the two disagree
16
+ * with reality the estimate is what matters, because the estimate is what evicts.
17
+ *
18
+ * DO NOT read `vitals.heap_used_mb` minus the sum of these as "unattributed retention". `heapUsed`
19
+ * includes garbage that has not been collected yet, and this process allocates heavily per call —
20
+ * measured 103 s after a restart: heap 3,352 MB against 1,187 MB of priced caches, on a daemon that
21
+ * was holding exactly one index and one BM25 index. Comparing the two is only meaningful after a
22
+ * forced GC, which /health deliberately does not do (a synchronous full GC on a 16 GB heap is its own
23
+ * outage). These numbers answer "which cache is growing, and is its own bound working" — a question
24
+ * that needs a series of samples, not one.
25
+ *
26
+ * `bytes` is deliberately absent, not zero, for a cache that prices nothing: a zero here would read
27
+ * as "holds nothing" when it means "nobody counted", which is the same mistake as an unknown result
28
+ * shape counting as an empty result in the telemetry.
29
+ */
30
+ export interface CacheReportEntry {
31
+ entries: number;
32
+ bytes?: number;
33
+ }
34
+ export type CacheReport = Record<string, CacheReportEntry>;
35
+ export declare function readCacheReport(): Promise<CacheReport>;
36
+ //# sourceMappingURL=cache-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-report.d.ts","sourceRoot":"","sources":["../../src/server-helpers/cache-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAE3D,wBAAsB,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,CAqB5D"}
@@ -0,0 +1,26 @@
1
+ export async function readCacheReport() {
2
+ const report = {};
3
+ try {
4
+ const state = await import("../tools/index-tools/state.js");
5
+ const stats = state.cacheEntryCounts();
6
+ report["code_indexes"] = { entries: stats.indexes, bytes: stats.index_bytes };
7
+ report["code_bm25"] = { entries: stats.bm25, bytes: stats.bm25_bytes };
8
+ report["embeddings"] = { entries: stats.embeddings };
9
+ }
10
+ catch { /* a cache that cannot be read is reported by its absence */ }
11
+ try {
12
+ const conv = await import("../tools/conversation-cache.js");
13
+ const stats = conv.conversationCacheStats();
14
+ report["conversation_bm25"] = { entries: stats.bm25, bytes: stats.bm25_bytes };
15
+ report["conversation_embeddings"] = { entries: stats.embeddings };
16
+ }
17
+ catch { /* ditto */ }
18
+ try {
19
+ const gate = await import("../tools/index-tools/load-gate.js");
20
+ const { active, waiting } = gate.indexLoadGateState();
21
+ report["index_load_gate"] = { entries: active + waiting };
22
+ }
23
+ catch { /* ditto */ }
24
+ return report;
25
+ }
26
+ //# sourceMappingURL=cache-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-report.js","sourceRoot":"","sources":["../../src/server-helpers/cache-report.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QACvE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC,CAAC,4DAA4D,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5C,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC/E,MAAM,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;QAC/D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * What `/health` has to be able to say.
3
+ *
4
+ * Three separate incidents in one week produced the SAME symptom at the client — sessions reporting
5
+ * "CODESIFT UNAVAILABLE" — and had three unrelated causes: CPU starvation at load 235, an OOM
6
+ * crash-loop (15.1 GB → 16.0 GB → restart → repeat), and disk saturation at 50,835 IOPS with the
7
+ * process in uninterruptible I/O. Each took its own investigation to separate.
8
+ *
9
+ * `/health` answered `{"status":"ok"}` throughout all three. It reported liveness, which was never
10
+ * the question: the daemon was alive every time. The question is whether it can SERVE, and the two
11
+ * differ exactly when it matters.
12
+ *
13
+ * So this reports the quantities that actually moved, and nothing that did not:
14
+ *
15
+ * - event-loop lag: the one number that captures "answering slowly" whatever the cause, because
16
+ * every one of the three ended with requests queued behind a blocked thread;
17
+ * - heap against the ceiling, which is what an OOM loop walks up before each crash and what no
18
+ * liveness check can see;
19
+ * - uptime, because a crash-loop is invisible in a snapshot — a fresh process looks healthy, and
20
+ * only a resetting uptime says it is the fourth one this hour.
21
+ */
22
+ export interface Vitals {
23
+ /** Milliseconds the event loop was late on a timer it should have run immediately. */
24
+ event_loop_lag_ms: number;
25
+ heap_used_mb: number;
26
+ heap_limit_mb: number;
27
+ heap_used_pct: number;
28
+ rss_mb: number;
29
+ uptime_s: number;
30
+ }
31
+ /**
32
+ * Sample the loop's lateness continuously, because measuring it inside the request would measure a
33
+ * loop that has, by definition, just reached our handler. The interesting value is how late the
34
+ * loop was while nobody was asking.
35
+ */
36
+ export declare function startVitals(intervalMs?: number): void;
37
+ export declare function stopVitals(): void;
38
+ /** Exported for tests, which cannot wait 500 ms per case. */
39
+ export declare function setEventLoopLagForTesting(ms: number): void;
40
+ export declare function readVitals(): Vitals;
41
+ export declare function classifyVitals(v: Vitals): {
42
+ status: "ok" | "busy";
43
+ reasons: string[];
44
+ };
45
+ //# sourceMappingURL=health-vitals.d.ts.map