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
@@ -0,0 +1,16 @@
1
+ export declare function pruneIsDue(dataDir: string, now: number, intervalMs?: number): Promise<boolean>;
2
+ export declare function recordPruneRun(dataDir: string, now: number): Promise<void>;
3
+ export interface AutoPruneOptions {
4
+ dataDir: string;
5
+ cliEntry: string;
6
+ env?: NodeJS.ProcessEnv;
7
+ now?: () => number;
8
+ /** Injected in tests; production spawns a detached child. */
9
+ spawnChild?: (cliEntry: string) => void;
10
+ }
11
+ export declare function runAutoPruneOnce(options: AutoPruneOptions): Promise<"ran" | "throttled" | "disabled">;
12
+ /** Schedule the sweep after the daemon is serving. Never awaited, never blocks a request. */
13
+ export declare function scheduleAutoPrune(options: AutoPruneOptions & {
14
+ delayMs?: number;
15
+ }): NodeJS.Timeout;
16
+ //# sourceMappingURL=auto-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prune.d.ts","sourceRoot":"","sources":["../../src/cli/auto-prune.ts"],"names":[],"mappings":"AA8BA,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,UAAU,GAAE,MAA0B,GACrC,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CACxE,KAAK,GAAG,WAAW,GAAG,UAAU,CACjC,CAsBA;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,OAAO,CASlG"}
@@ -0,0 +1,87 @@
1
+ import { spawn } from "node:child_process";
2
+ import { readFile, writeFile } from "node:fs/promises";
3
+ import { join } from "node:path";
4
+ /**
5
+ * Retention for indexes whose repository is gone.
6
+ *
7
+ * Nothing was reclaiming them. `prune` exists, and it is a command a person has to type — no timer,
8
+ * no cron, nothing in the daemon called it. Measured 2026-09-02: 267 orphaned registry entries had
9
+ * accumulated holding **58.7 GB**, and the data directory had gone 65 GB → 98 GB in sixteen days,
10
+ * about 2 GB a day. Every worktree gets its own index by design (answering from a sibling's tree is
11
+ * the H19 failure this prevents), so a workflow that creates ten worktrees at a time and deletes
12
+ * them leaves ten indexes behind each round.
13
+ *
14
+ * Run in a DETACHED CHILD, never in-process. `handlePrune` reaches `die()` on each of its safety
15
+ * guards — unreadable registry, zero repos, every entry stale — and `die` ends the process. In the
16
+ * daemon that would turn a refused prune into a dead server for every client on the machine.
17
+ *
18
+ * The child is also why this needs no LaunchAgent: the maintenance lives in the product, is
19
+ * versioned with it and is covered by its tests, rather than in a plist nobody edits again.
20
+ */
21
+ const PRUNE_INTERVAL_MS = 24 * 60 * 60 * 1000;
22
+ /** Long enough that the first clients are served before any maintenance competes with them. */
23
+ const PRUNE_START_DELAY_MS = 5 * 60 * 1000;
24
+ function stampPath(dataDir) {
25
+ return join(dataDir, "last-prune.json");
26
+ }
27
+ export async function pruneIsDue(dataDir, now, intervalMs = PRUNE_INTERVAL_MS) {
28
+ try {
29
+ const raw = await readFile(stampPath(dataDir), "utf-8");
30
+ const at = JSON.parse(raw).at;
31
+ if (typeof at !== "number" || !Number.isFinite(at))
32
+ return true;
33
+ // A stamp in the FUTURE means a clock change, not a prune five hours from now. Treating it as
34
+ // "not due" would park retention until the clock caught up, which on a laptop can be never.
35
+ if (at > now)
36
+ return true;
37
+ return now - at >= intervalMs;
38
+ }
39
+ catch {
40
+ // No stamp yet, or unreadable — due. Erring towards running is right: the failure this exists
41
+ // to prevent is 58 GB of dead indexes, and prune's own guards refuse anything ambiguous.
42
+ return true;
43
+ }
44
+ }
45
+ export async function recordPruneRun(dataDir, now) {
46
+ try {
47
+ await writeFile(stampPath(dataDir), JSON.stringify({ at: now }), "utf-8");
48
+ }
49
+ catch {
50
+ // A stamp that cannot be written means the next start prunes again. Wasteful, not harmful —
51
+ // and far better than failing a daemon start over a maintenance bookkeeping file.
52
+ }
53
+ }
54
+ export async function runAutoPruneOnce(options) {
55
+ const env = options.env ?? process.env;
56
+ if (env["CODESIFT_AUTO_PRUNE"] === "0" || env["CODESIFT_AUTO_PRUNE"] === "false") {
57
+ return "disabled";
58
+ }
59
+ const now = (options.now ?? Date.now)();
60
+ if (!(await pruneIsDue(options.dataDir, now)))
61
+ return "throttled";
62
+ // Stamp BEFORE spawning. A prune that crashes must not re-run on every restart of a
63
+ // crash-looping daemon — that is how a maintenance task becomes the outage.
64
+ await recordPruneRun(options.dataDir, now);
65
+ if (options.spawnChild) {
66
+ options.spawnChild(options.cliEntry);
67
+ return "ran";
68
+ }
69
+ const child = spawn(process.execPath, [options.cliEntry, "prune", "--json"], {
70
+ detached: true,
71
+ stdio: "ignore",
72
+ });
73
+ child.unref();
74
+ return "ran";
75
+ }
76
+ /** Schedule the sweep after the daemon is serving. Never awaited, never blocks a request. */
77
+ export function scheduleAutoPrune(options) {
78
+ const timer = setTimeout(() => {
79
+ void runAutoPruneOnce(options).catch(() => {
80
+ // Maintenance is best-effort by construction: the next start tries again.
81
+ });
82
+ }, options.delayMs ?? PRUNE_START_DELAY_MS);
83
+ // Must not hold the process open — a daemon told to exit should exit.
84
+ timer.unref();
85
+ return timer;
86
+ }
87
+ //# sourceMappingURL=auto-prune.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prune.js","sourceRoot":"","sources":["../../src/cli/auto-prune.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands-admin.d.ts","sourceRoot":"","sources":["../../src/cli/commands-admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAOvC,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3E;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CASzE;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED,iBAAe,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzE;AAED,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EtE;AAED,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3E;AAGD;;;;;;GAMG;AACH,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CxE;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,CAAC"}
1
+ {"version":3,"file":"commands-admin.d.ts","sourceRoot":"","sources":["../../src/cli/commands-admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAOvC,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3E;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CASzE;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED,iBAAe,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E;AAED,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzE;AAED,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAsFtE;AAED,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAW3E;AAGD;;;;;;GAMG;AACH,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CxE;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,GACd,CAAC"}
@@ -81,8 +81,19 @@ async function handleSetup(args, flags) {
81
81
  const rawScheme = getFlag(flags, "scheme");
82
82
  const daemonScheme = rawScheme === "https" ? "https" : rawScheme === "http" ? "http" : undefined;
83
83
  const insecureTransport = getBoolFlag(flags, "insecure-transport") ?? false;
84
+ // --project writes the client config into THIS project instead of the user's home, and pins this
85
+ // directory into the URL. It exists because a client whose MCP config is global cannot use the
86
+ // shared daemon at all: one URL carries one directory, so one global entry cannot describe two
87
+ // projects, and the client falls back to a stdio process per session.
88
+ //
89
+ // Without --project, `--http` writes the GLOBAL entry as a bare daemon URL (no ?cwd=), which is
90
+ // the transport half; each project's own config then supplies the directory half by overriding
91
+ // the same key. A global entry that pinned one directory would be actively wrong for every other
92
+ // project on the machine.
93
+ const projectScope = getBoolFlag(flags, "project") ?? false;
84
94
  const options = {
85
95
  hooks, rules, force, gitHooks, http,
96
+ ...(projectScope ? { projectScope: true, cwd: process.cwd() } : http ? { cwd: null } : {}),
86
97
  ...(port !== undefined ? { port } : {}),
87
98
  ...(daemonHost ? { host: daemonHost } : {}),
88
99
  ...(daemonToken ? { token: daemonToken } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"commands-admin.js","sourceRoot":"","sources":["../../src/cli/commands-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-admin.js","sourceRoot":"","sources":["../../src/cli/commands-admin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands-daemon.d.ts","sourceRoot":"","sources":["../../src/cli/commands-daemon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUpF;AAWD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E,OAAO,CAAC,YAAY,CAAC,CA4DvB;AAED;;GAEG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBvE;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"commands-daemon.d.ts","sourceRoot":"","sources":["../../src/cli/commands-daemon.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMrD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAEtF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUpF;AAqCD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E,OAAO,CAAC,YAAY,CAAC,CAkEvB;AAED;;GAEG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BvE;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { join } from "node:path";
2
2
  import { readFileSync, writeFileSync, mkdirSync, unlinkSync } from "node:fs";
3
3
  import { getFlag, getNumFlag, output, die } from "./args.js";
4
+ import { scheduleAutoPrune } from "./auto-prune.js";
5
+ import { loadConfig } from "../config.js";
6
+ import { fileURLToPath } from "node:url";
4
7
  /** Default daemon port — clients point here via `setup --http`. */
5
8
  export const DEFAULT_DAEMON_PORT = 7077;
6
9
  /** Lockfile paths for the daemon in a given data dir (~/.codesift). */
@@ -46,6 +49,32 @@ function readDaemonPid(pidPath) {
46
49
  return null;
47
50
  }
48
51
  }
52
+ /**
53
+ * Timestamped startup trace on stderr, one line per stage.
54
+ *
55
+ * The daemon used to print NOTHING between launch and its first served request, and a start that
56
+ * takes minutes is indistinguishable from one that will never finish: measured 2026-09-24, a fresh
57
+ * `launchctl load` left the process alive with **no listening socket for 9+ minutes** while the box
58
+ * sat at load 155, and the only way to learn where it was came from `sample <pid>` reading V8
59
+ * frames. A hang now names its stage by being the line that never arrives after the last one
60
+ * printed — which is also why the stages are logged on ENTRY-to-next rather than as one summary at
61
+ * the end. Default on: nobody sets a debug flag before the outage they did not expect.
62
+ *
63
+ * Elapsed is measured from PROCESS START (`process.uptime()`), not from entry to this function. Most
64
+ * of that 9-minute start was spent before `startDaemon` was even called — `sample` caught the main
65
+ * thread inside ESM module evaluation — so a clock that starts here would have reported a healthy
66
+ * few hundred milliseconds and hidden the entire delay. The first line's own number is therefore the
67
+ * measurement that matters: it is the cost of importing the CLI.
68
+ *
69
+ * Off with `CODESIFT_DAEMON_BOOT_TRACE=0`.
70
+ */
71
+ function bootTracer() {
72
+ return (stage) => {
73
+ if (process.env["CODESIFT_DAEMON_BOOT_TRACE"] === "0")
74
+ return;
75
+ console.error(`[codesift] boot +${Math.round(process.uptime() * 1000)}ms ${stage}`);
76
+ };
77
+ }
49
78
  /**
50
79
  * Acquire the daemon lock and start the shared HTTP server.
51
80
  *
@@ -56,15 +85,18 @@ function readDaemonPid(pidPath) {
56
85
  * `close()` removes the lockfiles, so a graceful SIGTERM leaves a clean slate.
57
86
  */
58
87
  export async function startDaemon(opts = {}) {
88
+ const trace = bootTracer();
59
89
  const { loadConfig } = await import("../config.js");
60
90
  const dataDir = opts.dataDir ?? loadConfig().dataDir;
61
91
  const { pidPath, portPath } = daemonLockPaths(dataDir);
92
+ trace("config");
62
93
  mkdirSync(dataDir, { recursive: true });
63
94
  const { DatabaseSync } = await import("node:sqlite");
64
95
  const lockDb = new DatabaseSync(join(dataDir, "daemon-lock.db"));
65
96
  try {
66
97
  lockDb.exec("PRAGMA busy_timeout = 0; CREATE TABLE IF NOT EXISTS daemon_lock (id INTEGER PRIMARY KEY);");
67
98
  lockDb.exec("BEGIN EXCLUSIVE");
99
+ trace("lock acquired");
68
100
  }
69
101
  catch (error) {
70
102
  try {
@@ -105,6 +137,8 @@ export async function startDaemon(opts = {}) {
105
137
  }
106
138
  catch { /* stale or absent */ }
107
139
  const { startHttpServer } = await import("../server.js");
140
+ // The heavy one: this pulls the whole tool surface, every parser and the storage layer.
141
+ trace("server module imported");
108
142
  const httpOpts = {};
109
143
  if (opts.port !== undefined)
110
144
  httpOpts.port = opts.port;
@@ -113,6 +147,7 @@ export async function startDaemon(opts = {}) {
113
147
  if (opts.token !== undefined)
114
148
  httpOpts.token = opts.token;
115
149
  handle = await startHttpServer(httpOpts);
150
+ trace(`listening on ${handle.port}`);
116
151
  writeFileSync(portPath, String(handle.port));
117
152
  const origClose = handle.close;
118
153
  return {
@@ -153,6 +188,12 @@ async function handleServe(_args, flags) {
153
188
  return;
154
189
  }
155
190
  output({ status: "serving", url: handle.url, port: handle.port, pid: process.pid }, flags);
191
+ // Reclaim indexes whose repository is gone. Only the daemon does this — it is the one
192
+ // long-lived process per machine, so a stdio server per session would run it N times over.
193
+ scheduleAutoPrune({
194
+ dataDir: loadConfig().dataDir,
195
+ cliEntry: fileURLToPath(new URL("../cli.js", import.meta.url)),
196
+ });
156
197
  const shutdown = () => {
157
198
  void handle.close().then(() => process.exit(0));
158
199
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commands-daemon.js","sourceRoot":"","sources":["../../src/cli/commands-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-daemon.js","sourceRoot":"","sources":["../../src/cli/commands-daemon.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands-index.d.ts","sourceRoot":"","sources":["../../src/cli/commands-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMtC;AA6DD,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCtE;AAED,iBAAe,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1E;AAED,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAED,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED,iBAAe,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"commands-index.d.ts","sourceRoot":"","sources":["../../src/cli/commands-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAMtC;AA6DD,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CtE;AAED,iBAAe,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1E;AAED,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAED,iBAAe,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;AAED,iBAAe,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,CAAC"}
@@ -61,6 +61,14 @@ async function runEmbeddingChild(repoName, rootPath) {
61
61
  }
62
62
  async function handleIndex(args, flags) {
63
63
  const path = requireArg(args, 0, "path");
64
+ // `embed-child` has guarded itself against a dead parent for a while; THIS process, the one that
65
+ // spawns it, did not. Measured 2026-08-29: an agent's shell died, this command was reparented to
66
+ // launchd and kept running, so the child's ppid check saw a live parent and never fired — the
67
+ // pair burned 813% CPU and 4.9 GB for 1 h 10 min on a worktree that had already been deleted.
68
+ // Guarding the parent is what makes the child's guard reachable.
69
+ const { exitWhenOrphaned, exitWhenRootGone } = await import("./orphan-guard.js");
70
+ exitWhenOrphaned();
71
+ exitWhenRootGone(path);
64
72
  const { indexFolder } = await import("../tools/index-tools.js");
65
73
  // Keep onnxruntime out of THIS process; the embedding runs in a child below.
66
74
  process.env["CODESIFT_EMBED_OUT_OF_PROCESS"] = "1";
@@ -1 +1 @@
1
- {"version":3,"file":"commands-index.js","sourceRoot":"","sources":["../../src/cli/commands-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-index.js","sourceRoot":"","sources":["../../src/cli/commands-index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands-maintenance.d.ts","sourceRoot":"","sources":["../../src/cli/commands-maintenance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC;;;;;;GAMG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE;AAiWD,iBAAe,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClF;AAED,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"commands-maintenance.d.ts","sourceRoot":"","sources":["../../src/cli/commands-maintenance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC;;;;;;GAMG;AACH,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvE;AA2eD,iBAAe,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClF;AAED,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC"}
@@ -14,7 +14,7 @@ async function handlePrune(_args, flags) {
14
14
  await withRegistryLock(registryPath, () => handlePruneLocked(flags, registryPath));
15
15
  }
16
16
  async function handlePruneLocked(flags, registryPath) {
17
- const { readFileSync, readdirSync, statSync, unlinkSync } = await import("node:fs");
17
+ const { readFileSync, readdirSync, statSync, unlinkSync, existsSync } = await import("node:fs");
18
18
  const { join } = await import("node:path");
19
19
  const { loadConfig } = await import("../config.js");
20
20
  const dataDir = loadConfig().dataDir;
@@ -235,17 +235,49 @@ async function handlePruneLocked(flags, registryPath) {
235
235
  return true;
236
236
  }
237
237
  };
238
+ // An abandoned half of an interrupted write is garbage no matter WHOSE it is.
239
+ //
240
+ // `artifactPattern()` learned the `.tmp.*` / `.generation.*` tails so these could be reclaimed —
241
+ // and then the live-hash check below made that unreachable for any repo still on disk, which is
242
+ // essentially all of them (measured 2026-09-27: 1,507 of 1,511 registry roots present). So the
243
+ // tails were collected only for repos that were *also* being de-registered. Result on this
244
+ // machine: 149 temp files holding 11.15 GB, the oldest from 31 July, surviving a `prune` that had
245
+ // run the day before and reported success.
246
+ //
247
+ // A temp file is never live data by construction: readers open the target name, never the tail.
248
+ // The rules that decide are therefore the same two the in-process sweeper uses — an hour of age,
249
+ // and a writer that is no longer running — not registry membership.
250
+ const tempTail = /\.(?:tmp|generation)\./;
251
+ const orphanTempAgeMs = 60 * 60 * 1000;
252
+ const { writerPidIsAlive, PID_TRUST_WINDOW_MS: pidTrustWindowMs } = await import("../storage/_shared.js");
238
253
  let files = 0, bytes = 0, kept = 0;
239
254
  for (const name of readdirSync(dataDir)) {
240
255
  const m = re.exec(name);
241
256
  if (!m)
242
257
  continue;
258
+ const isTempTail = tempTail.test(name);
243
259
  // A stale entry removed during THIS run gets one full run of retention.
244
260
  // The next prune re-evaluates its database metadata before collecting it.
245
- if (live.has(m[1]) || staleHashes.has(m[1])) {
261
+ if (!isTempTail && (live.has(m[1]) || staleHashes.has(m[1]))) {
246
262
  kept++;
247
263
  continue;
248
264
  }
265
+ // Pid liveness is trusted only inside the sweeper's own window — see PID_TRUST_WINDOW_MS. A
266
+ // recycled pid must not pin an abandoned write forever; that is the leak, not the guard.
267
+ if (isTempTail) {
268
+ let mtimeMs = 0;
269
+ try {
270
+ mtimeMs = statSync(join(dataDir, name)).mtimeMs;
271
+ }
272
+ catch {
273
+ kept++;
274
+ continue;
275
+ }
276
+ if (Date.now() - mtimeMs < pidTrustWindowMs && writerPidIsAlive(name)) {
277
+ kept++;
278
+ continue;
279
+ }
280
+ }
249
281
  const full = join(dataDir, name);
250
282
  try {
251
283
  const fileStat = statSync(full);
@@ -253,7 +285,16 @@ async function handlePruneLocked(flags, registryPath) {
253
285
  // committed its registry entry. Delay collection for one run and also
254
286
  // re-read registry immediately before every destructive unlink.
255
287
  const ageMs = Date.now() - fileStat.mtimeMs;
256
- if (ageMs < pruneGraceMs || registryProtectsHash(m[1])) {
288
+ // A temp tail gets the sweeper's hour rather than the 5-minute grace, and is NOT protected by
289
+ // its hash being registered — that protection is the whole reason these accumulated. The hour
290
+ // is what covers a write still in flight whose pid we could not read from the name.
291
+ if (isTempTail) {
292
+ if (ageMs < orphanTempAgeMs) {
293
+ kept++;
294
+ continue;
295
+ }
296
+ }
297
+ else if (ageMs < pruneGraceMs || registryProtectsHash(m[1])) {
257
298
  kept++;
258
299
  continue;
259
300
  }
@@ -264,6 +305,74 @@ async function handlePruneLocked(flags, registryPath) {
264
305
  }
265
306
  catch { /* skip unreadable/already-gone */ }
266
307
  }
308
+ // Reclaim BM25 caches written by a format this build cannot read.
309
+ //
310
+ // These DO carry a repo hash, so the sweep above sees them — and skips them, because the hash is
311
+ // live. That is correct for a readable cache and wrong for one no build can read: a format bump
312
+ // makes every existing file garbage, and it is only overwritten when that repo is indexed again,
313
+ // which for a repo nobody touches is never. Measured at the v1 -> v2 bump: 47.78 GB on this machine.
314
+ //
315
+ // Judged by the file's OWN header, not by its age or its hash — that is the only thing that says
316
+ // which format it is. An unreadable or headerless first line is left alone: the file is then either
317
+ // mid-write or something this code does not understand, and neither is a reason to delete.
318
+ let bm25Superseded = 0;
319
+ if (!dryRun) {
320
+ const { bm25FormatVersion } = await import("../search/bm25-store.js");
321
+ const current = bm25FormatVersion();
322
+ const { open } = await import("node:fs/promises");
323
+ for (const name of readdirSync(dataDir)) {
324
+ if (!/^[0-9a-f]{8,}\.bm25\.ndjson$/.test(name))
325
+ continue;
326
+ const full = join(dataDir, name);
327
+ let version;
328
+ // Capture the identity the version decision is made ABOUT. Every writer here is
329
+ // temp-then-rename, so between reading this header and unlinking the file another process can
330
+ // atomically put a CURRENT-format index in its place — and the unlink would then delete a valid
331
+ // cache and force an expensive rebuild. Compared again immediately before the unlink below.
332
+ let seenMtimeMs;
333
+ let seenIno;
334
+ try {
335
+ const seen = statSync(full);
336
+ seenMtimeMs = seen.mtimeMs;
337
+ seenIno = seen.ino;
338
+ }
339
+ catch {
340
+ continue;
341
+ }
342
+ try {
343
+ const handle = await open(full, "r");
344
+ try {
345
+ // The header is the first line; 64 KiB is far more than it can be.
346
+ const buf = Buffer.allocUnsafe(64 * 1024);
347
+ const { bytesRead } = await handle.read(buf, 0, buf.length, 0);
348
+ const firstLine = buf.subarray(0, bytesRead).toString("utf-8").split("\n", 1)[0] ?? "";
349
+ version = JSON.parse(firstLine).v;
350
+ }
351
+ finally {
352
+ await handle.close();
353
+ }
354
+ }
355
+ catch {
356
+ continue;
357
+ }
358
+ if (typeof version !== "number" || version >= current)
359
+ continue;
360
+ try {
361
+ const fileStat = statSync(full);
362
+ if (Date.now() - fileStat.mtimeMs < pruneGraceMs)
363
+ continue;
364
+ // Same file, unchanged since its header was read? A different inode or mtime means a writer
365
+ // replaced it, and what sits there now is not what the version check looked at.
366
+ if (fileStat.mtimeMs !== seenMtimeMs || fileStat.ino !== seenIno)
367
+ continue;
368
+ unlinkSync(full);
369
+ bytes += fileStat.size;
370
+ files++;
371
+ bm25Superseded++;
372
+ }
373
+ catch { /* already gone */ }
374
+ }
375
+ }
267
376
  // Shared-cache versions have no repository hash prefix, so the artifact
268
377
  // sweep cannot discover superseded formats. Keep the current version and
269
378
  // reclaim only older derived cache files.
@@ -288,7 +397,68 @@ async function handlePruneLocked(flags, registryPath) {
288
397
  }
289
398
  catch { /* skip unreadable/already-gone */ }
290
399
  }
400
+ // Checkpoint write-ahead logs that no longer have a writer.
401
+ //
402
+ // SQLite truncates a `-wal` when the LAST connection closes cleanly. This server's connections
403
+ // frequently do not: a stdio server exits on client disconnect, the daemon has OOM'd, and a
404
+ // `launchctl unload` is a signal. Each of those leaves the log on disk, and nothing ever comes
405
+ // back to that database to fold it in — so it is derived data with no owner, which is exactly what
406
+ // this command is for. Measured 2026-09-27: 1,488 logs holding 4.17 GB, of which 682 were above
407
+ // 64 KB; checkpointing those brought the total to 0.01 GB.
408
+ //
409
+ // A live index is the normal case here, not an edge case, so this must never disturb one: opening
410
+ // a database that another process holds throws or the checkpoint is refused, and either way the
411
+ // log is left exactly as it was. Small logs are skipped rather than opened — a busy index will
412
+ // just rewrite its own, and the bytes are not worth the syscalls.
413
+ let walBefore = 0, walAfter = 0, walCheckpointed = 0;
414
+ if (!dryRun) {
415
+ const { DatabaseSync } = await import("node:sqlite");
416
+ for (const name of readdirSync(dataDir)) {
417
+ if (!name.endsWith(".index.db-wal"))
418
+ continue;
419
+ const full = join(dataDir, name);
420
+ let size;
421
+ try {
422
+ size = statSync(full).size;
423
+ }
424
+ catch {
425
+ continue;
426
+ }
427
+ walBefore += size;
428
+ if (size < 64 * 1024) {
429
+ walAfter += size;
430
+ continue;
431
+ }
432
+ const dbPath = join(dataDir, name.slice(0, -"-wal".length));
433
+ // `new DatabaseSync(path)` CREATES the file when it is absent, so a stray `-wal` with no
434
+ // database — what a partial delete or an earlier prune leaves — would have this command
435
+ // manufacture an empty database and then "checkpoint" it. Reclaiming bytes must not create
436
+ // artifacts. Raised by the cross-model review of this release.
437
+ if (!existsSync(dbPath)) {
438
+ walAfter += size;
439
+ continue;
440
+ }
441
+ try {
442
+ const db = new DatabaseSync(dbPath);
443
+ try {
444
+ db.exec("PRAGMA wal_checkpoint(TRUNCATE)");
445
+ walCheckpointed++;
446
+ }
447
+ finally {
448
+ db.close();
449
+ }
450
+ }
451
+ catch { /* held open elsewhere, or unreadable — leave the log alone */ }
452
+ try {
453
+ walAfter += statSync(full).size;
454
+ }
455
+ catch { /* gone */ }
456
+ }
457
+ }
291
458
  output({
459
+ bm25_superseded_format: bm25Superseded,
460
+ wal_checkpointed: walCheckpointed,
461
+ wal_reclaimed_gb: +((walBefore - walAfter) / 1e9).toFixed(2),
292
462
  indeterminate_databases: indeterminate.length,
293
463
  indeterminate_examples: indeterminate.slice(0, 5),
294
464
  rescued_repos: rescued.length,