codesift-mcp 0.14.0 → 0.15.1

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 (458) hide show
  1. package/README.md +5 -1
  2. package/dist/cli/commands-admin.d.ts +18 -0
  3. package/dist/cli/commands-admin.d.ts.map +1 -0
  4. package/dist/cli/commands-admin.js +187 -0
  5. package/dist/cli/commands-admin.js.map +1 -0
  6. package/dist/cli/commands-daemon.d.ts +42 -0
  7. package/dist/cli/commands-daemon.d.ts.map +1 -0
  8. package/dist/cli/commands-daemon.js +163 -0
  9. package/dist/cli/commands-daemon.js.map +1 -0
  10. package/dist/cli/commands-index.d.ts +12 -0
  11. package/dist/cli/commands-index.d.ts.map +1 -0
  12. package/dist/cli/commands-index.js +133 -0
  13. package/dist/cli/commands-index.js.map +1 -0
  14. package/dist/cli/commands-maintenance.d.ts +12 -0
  15. package/dist/cli/commands-maintenance.d.ts.map +1 -0
  16. package/dist/cli/commands-maintenance.js +409 -0
  17. package/dist/cli/commands-maintenance.js.map +1 -0
  18. package/dist/cli/commands-query.d.ts +21 -0
  19. package/dist/cli/commands-query.d.ts.map +1 -0
  20. package/dist/cli/commands-query.js +270 -0
  21. package/dist/cli/commands-query.js.map +1 -0
  22. package/dist/cli/commands.d.ts +2 -36
  23. package/dist/cli/commands.d.ts.map +1 -1
  24. package/dist/cli/commands.js +8 -867
  25. package/dist/cli/commands.js.map +1 -1
  26. package/dist/cli/embed-child.js +13 -2
  27. package/dist/cli/embed-child.js.map +1 -1
  28. package/dist/instructions.d.ts +1 -1
  29. package/dist/instructions.d.ts.map +1 -1
  30. package/dist/instructions.js +5 -2
  31. package/dist/instructions.js.map +1 -1
  32. package/dist/parser/extractors/php-class-metadata.d.ts +10 -0
  33. package/dist/parser/extractors/php-class-metadata.d.ts.map +1 -0
  34. package/dist/parser/extractors/php-class-metadata.js +65 -0
  35. package/dist/parser/extractors/php-class-metadata.js.map +1 -0
  36. package/dist/parser/extractors/php-doc.d.ts +13 -0
  37. package/dist/parser/extractors/php-doc.d.ts.map +1 -0
  38. package/dist/parser/extractors/php-doc.js +39 -0
  39. package/dist/parser/extractors/php-doc.js.map +1 -0
  40. package/dist/parser/extractors/php-node-metadata.d.ts +26 -0
  41. package/dist/parser/extractors/php-node-metadata.d.ts.map +1 -0
  42. package/dist/parser/extractors/php-node-metadata.js +132 -0
  43. package/dist/parser/extractors/php-node-metadata.js.map +1 -0
  44. package/dist/parser/extractors/php-symbol-builders.d.ts +13 -0
  45. package/dist/parser/extractors/php-symbol-builders.d.ts.map +1 -0
  46. package/dist/parser/extractors/php-symbol-builders.js +58 -0
  47. package/dist/parser/extractors/php-symbol-builders.js.map +1 -0
  48. package/dist/parser/extractors/php-walker.d.ts +4 -0
  49. package/dist/parser/extractors/php-walker.d.ts.map +1 -0
  50. package/dist/parser/extractors/php-walker.js +238 -0
  51. package/dist/parser/extractors/php-walker.js.map +1 -0
  52. package/dist/parser/extractors/php.d.ts +2 -33
  53. package/dist/parser/extractors/php.d.ts.map +1 -1
  54. package/dist/parser/extractors/php.js +2 -747
  55. package/dist/parser/extractors/php.js.map +1 -1
  56. package/dist/register-tool-loaders.d.ts +11 -11
  57. package/dist/register-tool-loaders.d.ts.map +1 -1
  58. package/dist/register-tools/runtime.d.ts +11 -0
  59. package/dist/register-tools/runtime.d.ts.map +1 -1
  60. package/dist/register-tools/runtime.js +40 -0
  61. package/dist/register-tools/runtime.js.map +1 -1
  62. package/dist/register-tools.d.ts.map +1 -1
  63. package/dist/register-tools.js +5 -1
  64. package/dist/register-tools.js.map +1 -1
  65. package/dist/retrieval/semantic-handlers.d.ts.map +1 -1
  66. package/dist/retrieval/semantic-handlers.js +10 -3
  67. package/dist/retrieval/semantic-handlers.js.map +1 -1
  68. package/dist/search/semantic.d.ts +2 -0
  69. package/dist/search/semantic.d.ts.map +1 -1
  70. package/dist/search/semantic.js +41 -9
  71. package/dist/search/semantic.js.map +1 -1
  72. package/dist/storage/chunk-store.d.ts +14 -2
  73. package/dist/storage/chunk-store.d.ts.map +1 -1
  74. package/dist/storage/chunk-store.js +214 -34
  75. package/dist/storage/chunk-store.js.map +1 -1
  76. package/dist/storage/embedding-store.d.ts +0 -12
  77. package/dist/storage/embedding-store.d.ts.map +1 -1
  78. package/dist/storage/embedding-store.js +69 -9
  79. package/dist/storage/embedding-store.js.map +1 -1
  80. package/dist/storage/index-cache.d.ts +12 -0
  81. package/dist/storage/index-cache.d.ts.map +1 -0
  82. package/dist/storage/index-cache.js +89 -0
  83. package/dist/storage/index-cache.js.map +1 -0
  84. package/dist/storage/index-json-mutations.d.ts +11 -0
  85. package/dist/storage/index-json-mutations.d.ts.map +1 -0
  86. package/dist/storage/index-json-mutations.js +93 -0
  87. package/dist/storage/index-json-mutations.js.map +1 -0
  88. package/dist/storage/index-migration.d.ts +22 -0
  89. package/dist/storage/index-migration.d.ts.map +1 -0
  90. package/dist/storage/index-migration.js +80 -0
  91. package/dist/storage/index-migration.js.map +1 -0
  92. package/dist/storage/index-store.d.ts +5 -61
  93. package/dist/storage/index-store.d.ts.map +1 -1
  94. package/dist/storage/index-store.js +33 -414
  95. package/dist/storage/index-store.js.map +1 -1
  96. package/dist/storage/index-version.d.ts +39 -0
  97. package/dist/storage/index-version.d.ts.map +1 -0
  98. package/dist/storage/index-version.js +87 -0
  99. package/dist/storage/index-version.js.map +1 -0
  100. package/dist/storage/registry.d.ts +9 -1
  101. package/dist/storage/registry.d.ts.map +1 -1
  102. package/dist/storage/registry.js +169 -8
  103. package/dist/storage/registry.js.map +1 -1
  104. package/dist/storage/shared-embedding-cache.d.ts +23 -3
  105. package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
  106. package/dist/storage/shared-embedding-cache.js +300 -45
  107. package/dist/storage/shared-embedding-cache.js.map +1 -1
  108. package/dist/storage/telemetry/config.d.ts.map +1 -1
  109. package/dist/storage/telemetry/config.js +3 -2
  110. package/dist/storage/telemetry/config.js.map +1 -1
  111. package/dist/storage/telemetry/retro-aggregator.d.ts +21 -0
  112. package/dist/storage/telemetry/retro-aggregator.d.ts.map +1 -1
  113. package/dist/storage/telemetry/retro-aggregator.js +58 -16
  114. package/dist/storage/telemetry/retro-aggregator.js.map +1 -1
  115. package/dist/storage/telemetry/sanitizer.d.ts +16 -0
  116. package/dist/storage/telemetry/sanitizer.d.ts.map +1 -1
  117. package/dist/storage/telemetry/sanitizer.js +2 -0
  118. package/dist/storage/telemetry/sanitizer.js.map +1 -1
  119. package/dist/storage/telemetry/uploader.d.ts +3 -1
  120. package/dist/storage/telemetry/uploader.d.ts.map +1 -1
  121. package/dist/storage/telemetry/uploader.js +158 -21
  122. package/dist/storage/telemetry/uploader.js.map +1 -1
  123. package/dist/storage/usage-tracker.d.ts +8 -12
  124. package/dist/storage/usage-tracker.d.ts.map +1 -1
  125. package/dist/storage/usage-tracker.js +74 -1
  126. package/dist/storage/usage-tracker.js.map +1 -1
  127. package/dist/tools/cross-repo-contract-adapters.d.ts +39 -0
  128. package/dist/tools/cross-repo-contract-adapters.d.ts.map +1 -0
  129. package/dist/tools/cross-repo-contract-adapters.js +70 -0
  130. package/dist/tools/cross-repo-contract-adapters.js.map +1 -0
  131. package/dist/tools/cross-repo-contract-group.d.ts +17 -0
  132. package/dist/tools/cross-repo-contract-group.d.ts.map +1 -0
  133. package/dist/tools/cross-repo-contract-group.js +89 -0
  134. package/dist/tools/cross-repo-contract-group.js.map +1 -0
  135. package/dist/tools/cross-repo-contract-matcher.d.ts +24 -0
  136. package/dist/tools/cross-repo-contract-matcher.d.ts.map +1 -0
  137. package/dist/tools/cross-repo-contract-matcher.js +134 -0
  138. package/dist/tools/cross-repo-contract-matcher.js.map +1 -0
  139. package/dist/tools/cross-repo-contract-resolver.d.ts +9 -0
  140. package/dist/tools/cross-repo-contract-resolver.d.ts.map +1 -0
  141. package/dist/tools/cross-repo-contract-resolver.js +86 -0
  142. package/dist/tools/cross-repo-contract-resolver.js.map +1 -0
  143. package/dist/tools/cross-repo-contract-tools.d.ts +12 -135
  144. package/dist/tools/cross-repo-contract-tools.d.ts.map +1 -1
  145. package/dist/tools/cross-repo-contract-tools.js +8 -589
  146. package/dist/tools/cross-repo-contract-tools.js.map +1 -1
  147. package/dist/tools/cross-repo-contract-types.d.ts +30 -0
  148. package/dist/tools/cross-repo-contract-types.d.ts.map +1 -0
  149. package/dist/tools/cross-repo-contract-types.js +3 -0
  150. package/dist/tools/cross-repo-contract-types.js.map +1 -0
  151. package/dist/tools/cross-repo-outbound-calls.d.ts +28 -0
  152. package/dist/tools/cross-repo-outbound-calls.d.ts.map +1 -0
  153. package/dist/tools/cross-repo-outbound-calls.js +347 -0
  154. package/dist/tools/cross-repo-outbound-calls.js.map +1 -0
  155. package/dist/tools/cross-repo-outbound-lexer/call-detectors.d.ts.map +1 -1
  156. package/dist/tools/cross-repo-outbound-lexer/call-detectors.js +2 -0
  157. package/dist/tools/cross-repo-outbound-lexer/call-detectors.js.map +1 -1
  158. package/dist/tools/cross-repo-outbound-lexer/types.d.ts +2 -0
  159. package/dist/tools/cross-repo-outbound-lexer/types.d.ts.map +1 -1
  160. package/dist/tools/index-tools/file-indexer.js +3 -3
  161. package/dist/tools/index-tools/file-indexer.js.map +1 -1
  162. package/dist/tools/index-tools/folder-indexer.d.ts.map +1 -1
  163. package/dist/tools/index-tools/folder-indexer.js +47 -2
  164. package/dist/tools/index-tools/folder-indexer.js.map +1 -1
  165. package/dist/tools/index-tools/parse.d.ts +12 -3
  166. package/dist/tools/index-tools/parse.d.ts.map +1 -1
  167. package/dist/tools/index-tools/parse.js +33 -8
  168. package/dist/tools/index-tools/parse.js.map +1 -1
  169. package/dist/tools/index-tools/registry.d.ts +19 -0
  170. package/dist/tools/index-tools/registry.d.ts.map +1 -1
  171. package/dist/tools/index-tools/registry.js +88 -2
  172. package/dist/tools/index-tools/registry.js.map +1 -1
  173. package/dist/tools/index-tools/state.d.ts +31 -0
  174. package/dist/tools/index-tools/state.d.ts.map +1 -1
  175. package/dist/tools/index-tools/state.js +53 -0
  176. package/dist/tools/index-tools/state.js.map +1 -1
  177. package/dist/tools/index-tools/types.d.ts +9 -0
  178. package/dist/tools/index-tools/types.d.ts.map +1 -1
  179. package/dist/tools/index-tools/watcher.js +3 -3
  180. package/dist/tools/index-tools/watcher.js.map +1 -1
  181. package/dist/tools/index-tools/worktree-seed.d.ts +44 -0
  182. package/dist/tools/index-tools/worktree-seed.d.ts.map +1 -0
  183. package/dist/tools/index-tools/worktree-seed.js +302 -0
  184. package/dist/tools/index-tools/worktree-seed.js.map +1 -0
  185. package/dist/tools/index-tools.d.ts.map +1 -1
  186. package/dist/tools/index-tools.js +3 -1
  187. package/dist/tools/index-tools.js.map +1 -1
  188. package/dist/tools/nest-ext-tools/graphql.d.ts +17 -0
  189. package/dist/tools/nest-ext-tools/graphql.d.ts.map +1 -0
  190. package/dist/tools/nest-ext-tools/graphql.js +54 -0
  191. package/dist/tools/nest-ext-tools/graphql.js.map +1 -0
  192. package/dist/tools/nest-ext-tools/microservice.d.ts +17 -0
  193. package/dist/tools/nest-ext-tools/microservice.d.ts.map +1 -0
  194. package/dist/tools/nest-ext-tools/microservice.js +51 -0
  195. package/dist/tools/nest-ext-tools/microservice.js.map +1 -0
  196. package/dist/tools/nest-ext-tools/openapi.d.ts +81 -0
  197. package/dist/tools/nest-ext-tools/openapi.d.ts.map +1 -0
  198. package/dist/tools/nest-ext-tools/openapi.js +254 -0
  199. package/dist/tools/nest-ext-tools/openapi.js.map +1 -0
  200. package/dist/tools/nest-ext-tools/queue.d.ts +27 -0
  201. package/dist/tools/nest-ext-tools/queue.d.ts.map +1 -0
  202. package/dist/tools/nest-ext-tools/queue.js +95 -0
  203. package/dist/tools/nest-ext-tools/queue.js.map +1 -0
  204. package/dist/tools/nest-ext-tools/schedule.d.ts +19 -0
  205. package/dist/tools/nest-ext-tools/schedule.d.ts.map +1 -0
  206. package/dist/tools/nest-ext-tools/schedule.js +89 -0
  207. package/dist/tools/nest-ext-tools/schedule.js.map +1 -0
  208. package/dist/tools/nest-ext-tools/scope.d.ts +19 -0
  209. package/dist/tools/nest-ext-tools/scope.d.ts.map +1 -0
  210. package/dist/tools/nest-ext-tools/scope.js +151 -0
  211. package/dist/tools/nest-ext-tools/scope.js.map +1 -0
  212. package/dist/tools/nest-ext-tools/shared.d.ts +33 -0
  213. package/dist/tools/nest-ext-tools/shared.d.ts.map +1 -0
  214. package/dist/tools/nest-ext-tools/shared.js +279 -0
  215. package/dist/tools/nest-ext-tools/shared.js.map +1 -0
  216. package/dist/tools/nest-ext-tools/typeorm.d.ts +22 -0
  217. package/dist/tools/nest-ext-tools/typeorm.d.ts.map +1 -0
  218. package/dist/tools/nest-ext-tools/typeorm.js +59 -0
  219. package/dist/tools/nest-ext-tools/typeorm.js.map +1 -0
  220. package/dist/tools/nest-ext-tools/websocket.d.ts +21 -0
  221. package/dist/tools/nest-ext-tools/websocket.d.ts.map +1 -0
  222. package/dist/tools/nest-ext-tools/websocket.js +70 -0
  223. package/dist/tools/nest-ext-tools/websocket.js.map +1 -0
  224. package/dist/tools/nest-ext-tools.d.ts +10 -204
  225. package/dist/tools/nest-ext-tools.d.ts.map +1 -1
  226. package/dist/tools/nest-ext-tools.js +10 -749
  227. package/dist/tools/nest-ext-tools.js.map +1 -1
  228. package/dist/tools/perf-tools.js +2 -2
  229. package/dist/tools/python-audit/checks/dead-code.d.ts +1 -1
  230. package/dist/tools/python-audit/checks/dead-code.d.ts.map +1 -1
  231. package/dist/tools/python-constants/constant-match.d.ts +5 -0
  232. package/dist/tools/python-constants/constant-match.d.ts.map +1 -0
  233. package/dist/tools/python-constants/constant-match.js +24 -0
  234. package/dist/tools/python-constants/constant-match.js.map +1 -0
  235. package/dist/tools/python-constants/file-context.d.ts +5 -0
  236. package/dist/tools/python-constants/file-context.d.ts.map +1 -0
  237. package/dist/tools/python-constants/file-context.js +91 -0
  238. package/dist/tools/python-constants/file-context.js.map +1 -0
  239. package/dist/tools/python-constants/function-defaults.d.ts +5 -0
  240. package/dist/tools/python-constants/function-defaults.d.ts.map +1 -0
  241. package/dist/tools/python-constants/function-defaults.js +98 -0
  242. package/dist/tools/python-constants/function-defaults.js.map +1 -0
  243. package/dist/tools/python-constants/model.d.ts +78 -0
  244. package/dist/tools/python-constants/model.d.ts.map +1 -0
  245. package/dist/tools/python-constants/model.js +2 -0
  246. package/dist/tools/python-constants/model.js.map +1 -0
  247. package/dist/tools/python-constants/syntax.d.ts +22 -0
  248. package/dist/tools/python-constants/syntax.d.ts.map +1 -0
  249. package/dist/tools/python-constants/syntax.js +93 -0
  250. package/dist/tools/python-constants/syntax.js.map +1 -0
  251. package/dist/tools/python-constants/value-resolver.d.ts +6 -0
  252. package/dist/tools/python-constants/value-resolver.d.ts.map +1 -0
  253. package/dist/tools/python-constants/value-resolver.js +320 -0
  254. package/dist/tools/python-constants/value-resolver.js.map +1 -0
  255. package/dist/tools/python-constants-tools.d.ts +3 -45
  256. package/dist/tools/python-constants-tools.d.ts.map +1 -1
  257. package/dist/tools/python-constants-tools.js +2 -505
  258. package/dist/tools/python-constants-tools.js.map +1 -1
  259. package/dist/tools/route-tools/django.d.ts +8 -0
  260. package/dist/tools/route-tools/django.d.ts.map +1 -0
  261. package/dist/tools/route-tools/django.js +52 -0
  262. package/dist/tools/route-tools/django.js.map +1 -0
  263. package/dist/tools/route-tools/express.d.ts +5 -0
  264. package/dist/tools/route-tools/express.d.ts.map +1 -0
  265. package/dist/tools/route-tools/express.js +33 -0
  266. package/dist/tools/route-tools/express.js.map +1 -0
  267. package/dist/tools/route-tools/file-sources.d.ts +7 -0
  268. package/dist/tools/route-tools/file-sources.d.ts.map +1 -0
  269. package/dist/tools/route-tools/file-sources.js +15 -0
  270. package/dist/tools/route-tools/file-sources.js.map +1 -0
  271. package/dist/tools/route-tools/handler-discovery.d.ts +4 -0
  272. package/dist/tools/route-tools/handler-discovery.d.ts.map +1 -0
  273. package/dist/tools/route-tools/handler-discovery.js +38 -0
  274. package/dist/tools/route-tools/handler-discovery.js.map +1 -0
  275. package/dist/tools/route-tools/hono.d.ts +5 -0
  276. package/dist/tools/route-tools/hono.d.ts.map +1 -0
  277. package/dist/tools/route-tools/hono.js +61 -0
  278. package/dist/tools/route-tools/hono.js.map +1 -0
  279. package/dist/tools/route-tools/ktor.d.ts +5 -0
  280. package/dist/tools/route-tools/ktor.d.ts.map +1 -0
  281. package/dist/tools/route-tools/ktor.js +76 -0
  282. package/dist/tools/route-tools/ktor.js.map +1 -0
  283. package/dist/tools/route-tools/laravel.d.ts +5 -0
  284. package/dist/tools/route-tools/laravel.d.ts.map +1 -0
  285. package/dist/tools/route-tools/laravel.js +45 -0
  286. package/dist/tools/route-tools/laravel.js.map +1 -0
  287. package/dist/tools/route-tools/mermaid-call-chain.d.ts +3 -0
  288. package/dist/tools/route-tools/mermaid-call-chain.d.ts.map +1 -0
  289. package/dist/tools/route-tools/mermaid-call-chain.js +50 -0
  290. package/dist/tools/route-tools/mermaid-call-chain.js.map +1 -0
  291. package/dist/tools/route-tools/nest.d.ts +5 -0
  292. package/dist/tools/route-tools/nest.d.ts.map +1 -0
  293. package/dist/tools/route-tools/nest.js +75 -0
  294. package/dist/tools/route-tools/nest.js.map +1 -0
  295. package/dist/tools/route-tools/next-trace.d.ts +4 -0
  296. package/dist/tools/route-tools/next-trace.d.ts.map +1 -0
  297. package/dist/tools/route-tools/next-trace.js +48 -0
  298. package/dist/tools/route-tools/next-trace.js.map +1 -0
  299. package/dist/tools/route-tools/next.d.ts +7 -0
  300. package/dist/tools/route-tools/next.d.ts.map +1 -0
  301. package/dist/tools/route-tools/next.js +77 -0
  302. package/dist/tools/route-tools/next.js.map +1 -0
  303. package/dist/tools/route-tools/python-decorators.d.ts +7 -0
  304. package/dist/tools/route-tools/python-decorators.d.ts.map +1 -0
  305. package/dist/tools/route-tools/python-decorators.js +53 -0
  306. package/dist/tools/route-tools/python-decorators.js.map +1 -0
  307. package/dist/tools/route-tools/route-mermaid.d.ts +4 -0
  308. package/dist/tools/route-tools/route-mermaid.d.ts.map +1 -0
  309. package/dist/tools/route-tools/route-mermaid.js +53 -0
  310. package/dist/tools/route-tools/route-mermaid.js.map +1 -0
  311. package/dist/tools/route-tools/spring-kotlin.d.ts +5 -0
  312. package/dist/tools/route-tools/spring-kotlin.d.ts.map +1 -0
  313. package/dist/tools/route-tools/spring-kotlin.js +52 -0
  314. package/dist/tools/route-tools/spring-kotlin.js.map +1 -0
  315. package/dist/tools/route-tools/trace-analysis.d.ts +4 -0
  316. package/dist/tools/route-tools/trace-analysis.d.ts.map +1 -0
  317. package/dist/tools/route-tools/trace-analysis.js +37 -0
  318. package/dist/tools/route-tools/trace-analysis.js.map +1 -0
  319. package/dist/tools/route-tools/trace-route.d.ts +6 -0
  320. package/dist/tools/route-tools/trace-route.d.ts.map +1 -0
  321. package/dist/tools/route-tools/trace-route.js +53 -0
  322. package/dist/tools/route-tools/trace-route.js.map +1 -0
  323. package/dist/tools/route-tools/types.d.ts +35 -0
  324. package/dist/tools/route-tools/types.d.ts.map +1 -0
  325. package/dist/tools/route-tools/types.js +2 -0
  326. package/dist/tools/route-tools/types.js.map +1 -0
  327. package/dist/tools/route-tools/yii2.d.ts +5 -0
  328. package/dist/tools/route-tools/yii2.d.ts.map +1 -0
  329. package/dist/tools/route-tools/yii2.js +73 -0
  330. package/dist/tools/route-tools/yii2.js.map +1 -0
  331. package/dist/tools/route-tools.d.ts +7 -49
  332. package/dist/tools/route-tools.d.ts.map +1 -1
  333. package/dist/tools/route-tools.js +5 -978
  334. package/dist/tools/route-tools.js.map +1 -1
  335. package/dist/tools/symbol-analysis-tools.d.ts +81 -0
  336. package/dist/tools/symbol-analysis-tools.d.ts.map +1 -0
  337. package/dist/tools/symbol-analysis-tools.js +327 -0
  338. package/dist/tools/symbol-analysis-tools.js.map +1 -0
  339. package/dist/tools/symbol-context-tools.d.ts +68 -0
  340. package/dist/tools/symbol-context-tools.d.ts.map +1 -0
  341. package/dist/tools/symbol-context-tools.js +232 -0
  342. package/dist/tools/symbol-context-tools.js.map +1 -0
  343. package/dist/tools/symbol-lookup-tools.d.ts +77 -0
  344. package/dist/tools/symbol-lookup-tools.d.ts.map +1 -0
  345. package/dist/tools/symbol-lookup-tools.js +305 -0
  346. package/dist/tools/symbol-lookup-tools.js.map +1 -0
  347. package/dist/tools/symbol-reference-tools.d.ts +38 -0
  348. package/dist/tools/symbol-reference-tools.d.ts.map +1 -0
  349. package/dist/tools/symbol-reference-tools.js +253 -0
  350. package/dist/tools/symbol-reference-tools.js.map +1 -0
  351. package/dist/tools/symbol-tool-internals.d.ts +9 -0
  352. package/dist/tools/symbol-tool-internals.d.ts.map +1 -0
  353. package/dist/tools/symbol-tool-internals.js +47 -0
  354. package/dist/tools/symbol-tool-internals.js.map +1 -0
  355. package/dist/tools/symbol-tools.d.ts +11 -270
  356. package/dist/tools/symbol-tools.d.ts.map +1 -1
  357. package/dist/tools/symbol-tools.js +7 -1131
  358. package/dist/tools/symbol-tools.js.map +1 -1
  359. package/dist/tools/taint/python-context.d.ts +10 -0
  360. package/dist/tools/taint/python-context.d.ts.map +1 -0
  361. package/dist/tools/taint/python-context.js +150 -0
  362. package/dist/tools/taint/python-context.js.map +1 -0
  363. package/dist/tools/taint/taint-analyzer.d.ts +2 -0
  364. package/dist/tools/taint/taint-analyzer.d.ts.map +1 -0
  365. package/dist/tools/taint/taint-analyzer.js +2 -0
  366. package/dist/tools/taint/taint-analyzer.js.map +1 -0
  367. package/dist/tools/taint/taint-expression.d.ts +18 -0
  368. package/dist/tools/taint/taint-expression.d.ts.map +1 -0
  369. package/dist/tools/taint/taint-expression.js +265 -0
  370. package/dist/tools/taint/taint-expression.js.map +1 -0
  371. package/dist/tools/taint/taint-flow.d.ts +10 -0
  372. package/dist/tools/taint/taint-flow.d.ts.map +1 -0
  373. package/dist/tools/taint/taint-flow.js +178 -0
  374. package/dist/tools/taint/taint-flow.js.map +1 -0
  375. package/dist/tools/taint/taint-model.d.ts +113 -0
  376. package/dist/tools/taint/taint-model.d.ts.map +1 -0
  377. package/dist/tools/taint/taint-model.js +277 -0
  378. package/dist/tools/taint/taint-model.js.map +1 -0
  379. package/dist/tools/taint-tools.d.ts +2 -34
  380. package/dist/tools/taint-tools.d.ts.map +1 -1
  381. package/dist/tools/taint-tools.js +2 -852
  382. package/dist/tools/taint-tools.js.map +1 -1
  383. package/dist/tools/typescript-constants/file-context.d.ts +7 -0
  384. package/dist/tools/typescript-constants/file-context.d.ts.map +1 -0
  385. package/dist/tools/typescript-constants/file-context.js +219 -0
  386. package/dist/tools/typescript-constants/file-context.js.map +1 -0
  387. package/dist/tools/typescript-constants/symbol-resolver.d.ts +7 -0
  388. package/dist/tools/typescript-constants/symbol-resolver.d.ts.map +1 -0
  389. package/dist/tools/typescript-constants/symbol-resolver.js +165 -0
  390. package/dist/tools/typescript-constants/symbol-resolver.js.map +1 -0
  391. package/dist/tools/typescript-constants/types.d.ts +44 -0
  392. package/dist/tools/typescript-constants/types.d.ts.map +1 -0
  393. package/dist/tools/typescript-constants/types.js +2 -0
  394. package/dist/tools/typescript-constants/types.js.map +1 -0
  395. package/dist/tools/typescript-constants/value-evaluator.d.ts +8 -0
  396. package/dist/tools/typescript-constants/value-evaluator.d.ts.map +1 -0
  397. package/dist/tools/typescript-constants/value-evaluator.js +404 -0
  398. package/dist/tools/typescript-constants/value-evaluator.js.map +1 -0
  399. package/dist/tools/typescript-constants-tools.d.ts.map +1 -1
  400. package/dist/tools/typescript-constants-tools.js +19 -709
  401. package/dist/tools/typescript-constants-tools.js.map +1 -1
  402. package/dist/utils/import-graph/collect.d.ts +5 -0
  403. package/dist/utils/import-graph/collect.d.ts.map +1 -0
  404. package/dist/utils/import-graph/collect.js +47 -0
  405. package/dist/utils/import-graph/collect.js.map +1 -0
  406. package/dist/utils/import-graph/edge-accumulator.d.ts +7 -0
  407. package/dist/utils/import-graph/edge-accumulator.d.ts.map +1 -0
  408. package/dist/utils/import-graph/edge-accumulator.js +47 -0
  409. package/dist/utils/import-graph/edge-accumulator.js.map +1 -0
  410. package/dist/utils/import-graph/language-imports.d.ts +6 -0
  411. package/dist/utils/import-graph/language-imports.d.ts.map +1 -0
  412. package/dist/utils/import-graph/language-imports.js +84 -0
  413. package/dist/utils/import-graph/language-imports.js.map +1 -0
  414. package/dist/utils/import-graph/metrics.d.ts +6 -0
  415. package/dist/utils/import-graph/metrics.d.ts.map +1 -0
  416. package/dist/utils/import-graph/metrics.js +51 -0
  417. package/dist/utils/import-graph/metrics.js.map +1 -0
  418. package/dist/utils/import-graph/path-map.d.ts +7 -0
  419. package/dist/utils/import-graph/path-map.d.ts.map +1 -0
  420. package/dist/utils/import-graph/path-map.js +56 -0
  421. package/dist/utils/import-graph/path-map.js.map +1 -0
  422. package/dist/utils/import-graph/python-php-edge-collectors.d.ts +5 -0
  423. package/dist/utils/import-graph/python-php-edge-collectors.d.ts.map +1 -0
  424. package/dist/utils/import-graph/python-php-edge-collectors.js +56 -0
  425. package/dist/utils/import-graph/python-php-edge-collectors.js.map +1 -0
  426. package/dist/utils/import-graph/source-edge-collector.d.ts +13 -0
  427. package/dist/utils/import-graph/source-edge-collector.d.ts.map +1 -0
  428. package/dist/utils/import-graph/source-edge-collector.js +42 -0
  429. package/dist/utils/import-graph/source-edge-collector.js.map +1 -0
  430. package/dist/utils/import-graph/source-imports.d.ts +5 -0
  431. package/dist/utils/import-graph/source-imports.d.ts.map +1 -0
  432. package/dist/utils/import-graph/source-imports.js +33 -0
  433. package/dist/utils/import-graph/source-imports.js.map +1 -0
  434. package/dist/utils/import-graph/types.d.ts +15 -0
  435. package/dist/utils/import-graph/types.d.ts.map +1 -0
  436. package/dist/utils/import-graph/types.js +2 -0
  437. package/dist/utils/import-graph/types.js.map +1 -0
  438. package/dist/utils/import-graph/typescript-edge-collector.d.ts +7 -0
  439. package/dist/utils/import-graph/typescript-edge-collector.d.ts.map +1 -0
  440. package/dist/utils/import-graph/typescript-edge-collector.js +58 -0
  441. package/dist/utils/import-graph/typescript-edge-collector.js.map +1 -0
  442. package/dist/utils/import-graph/workspace-alias.d.ts +7 -0
  443. package/dist/utils/import-graph/workspace-alias.d.ts.map +1 -0
  444. package/dist/utils/import-graph/workspace-alias.js +95 -0
  445. package/dist/utils/import-graph/workspace-alias.js.map +1 -0
  446. package/dist/utils/import-graph/workspace-entry.d.ts +3 -0
  447. package/dist/utils/import-graph/workspace-entry.d.ts.map +1 -0
  448. package/dist/utils/import-graph/workspace-entry.js +81 -0
  449. package/dist/utils/import-graph/workspace-entry.js.map +1 -0
  450. package/dist/utils/import-graph.d.ts +10 -94
  451. package/dist/utils/import-graph.d.ts.map +1 -1
  452. package/dist/utils/import-graph.js +6 -702
  453. package/dist/utils/import-graph.js.map +1 -1
  454. package/package.json +1 -1
  455. package/rules/codesift.md +11 -2
  456. package/rules/codesift.mdc +11 -2
  457. package/rules/codex.md +11 -2
  458. package/rules/gemini.md +11 -2
@@ -0,0 +1,409 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import { getBoolFlag, output, die } from "./args.js";
3
+ /**
4
+ * Delete orphaned per-repo cache artifacts (embeddings/index/meta/bm25/graph)
5
+ * whose hash stem is no longer in the registry. These accumulate from
6
+ * re-indexes (hash changes) and ephemeral/test repos that were indexed then
7
+ * deleted — each leaves multi-GB embedding files behind. Use --dry-run to
8
+ * preview. Regenerable: re-indexing recreates anything still needed.
9
+ */
10
+ async function handlePrune(_args, flags) {
11
+ const { loadConfig } = await import("../config.js");
12
+ const { withRegistryLock } = await import("../storage/registry.js");
13
+ const registryPath = loadConfig().registryPath;
14
+ await withRegistryLock(registryPath, () => handlePruneLocked(flags, registryPath));
15
+ }
16
+ async function handlePruneLocked(flags, registryPath) {
17
+ const { readFileSync, readdirSync, statSync, unlinkSync } = await import("node:fs");
18
+ const { join } = await import("node:path");
19
+ const { loadConfig } = await import("../config.js");
20
+ const dataDir = loadConfig().dataDir;
21
+ const dryRun = getBoolFlag(flags, "dry-run");
22
+ const pruneGraceMs = 5 * 60 * 1000;
23
+ // Live index hashes from the registry — everything else is orphaned cache.
24
+ //
25
+ // A registry entry counted as live even when its `root` no longer existed, so
26
+ // artifacts for deleted directories were protected indefinitely. Measured
27
+ // here: 101 of 119 indexed worktrees pointed at directories that were gone,
28
+ // holding 5.4 GB of embeddings for code that cannot be read. Task branches are
29
+ // created and deleted constantly, so this accumulates without bound.
30
+ //
31
+ // Entries whose root is missing are de-registered first; their artifacts then
32
+ // fall out as orphans through the sweep below.
33
+ const live = new Set();
34
+ const stale = [];
35
+ const staleHashes = new Set();
36
+ let reg;
37
+ let registryDirty = false;
38
+ try {
39
+ reg = JSON.parse(readFileSync(registryPath, "utf-8"));
40
+ }
41
+ catch {
42
+ die("prune: cannot read registry.json — aborting so live data is never deleted.");
43
+ return;
44
+ }
45
+ for (const [name, v] of Object.entries(reg.repos ?? {})) {
46
+ const ip = v.index_path;
47
+ const root = v.root;
48
+ // Only a root that is definitively absent counts. An unreadable path (a
49
+ // permissions error, an unmounted volume mid-check) throws and is treated
50
+ // as present — the conservative direction, since the cost of keeping a dead
51
+ // entry is disk, and the cost of dropping a live one is a re-index.
52
+ let rootGone = false;
53
+ if (typeof root === "string" && root.length > 0) {
54
+ try {
55
+ statSync(root);
56
+ }
57
+ catch (error) {
58
+ const code = error.code;
59
+ rootGone = code === "ENOENT" || code === "ENOTDIR";
60
+ }
61
+ }
62
+ if (rootGone) {
63
+ stale.push({ name, root: root });
64
+ if (typeof ip === "string") {
65
+ const stem = /^([0-9a-f]{8,})\./.exec(ip.split("/").pop() ?? "")?.[1];
66
+ if (stem)
67
+ staleHashes.add(stem);
68
+ }
69
+ continue; // deliberately NOT added to `live`
70
+ }
71
+ // Take the HASH STEM with the same shape the sweep below matches, rather than stripping one
72
+ // known suffix. `.replace(".index.json", "")` silently no-ops on any other form — so after the
73
+ // SQLite migration an entry whose `index_path` ends in `.index.db` never reached this set, and
74
+ // every artifact under that hash looked orphaned. Measured 2026-08-07 on one such entry:
75
+ // 8.33 GB of LIVE data (a 240,706-symbol index plus 3.9 GB of embeddings) was one `prune` away
76
+ // from deletion. Deriving the stem the same way in both halves of this command is what makes
77
+ // them agree by construction instead of by coincidence.
78
+ if (typeof ip === "string") {
79
+ const stem = /^([0-9a-f]{8,})\./.exec(ip.split("/").pop() ?? "")?.[1];
80
+ if (stem)
81
+ live.add(stem);
82
+ }
83
+ }
84
+ // An index database is LIVE if its own `meta` says it describes a directory that still exists —
85
+ // whether or not the registry knows about it.
86
+ //
87
+ // The registry is not the authority on what exists; it is a lookup table, and it drifts. Measured
88
+ // 2026-08-07: `local/tgm-survey-platform` had been re-registered onto a worktree that was later
89
+ // deleted, leaving the MAIN checkout's index — 240,706 symbols, and 8.33 GB once its embeddings
90
+ // are counted — described by no entry at all. Prune classified every byte of it as orphaned.
91
+ // Twenty-four hours later three MORE databases had drifted the same way, so this is a rate, not
92
+ // an incident.
93
+ //
94
+ // Asking each database who it is costs one small read per unregistered hash, and removes a whole
95
+ // class of data loss: a repo still present on disk can no longer be deleted because a JSON file
96
+ // lost track of it. Re-registering also means the next lookup finds it.
97
+ const rescued = [];
98
+ const rescuedNames = new Set();
99
+ // Databases prune could not classify — kept, but SAID so. Protecting them silently is the
100
+ // difference between "prune deleted nothing unexpected" and "prune is quietly accumulating
101
+ // files nobody can account for"; only the second is actionable, and only if it is reported.
102
+ const indeterminate = [];
103
+ const protectedNames = new Set();
104
+ for (const name of readdirSync(dataDir)) {
105
+ const m = /^([0-9a-f]{8,})\.index\.db$/.exec(name);
106
+ if (!m?.[1] || live.has(m[1]))
107
+ continue;
108
+ let db;
109
+ try {
110
+ const { DatabaseSync } = await import("node:sqlite");
111
+ db = new DatabaseSync(`file:${join(dataDir, name)}?mode=ro`, { open: true });
112
+ const rows = db.prepare("SELECT key, value FROM meta").all();
113
+ const meta = Object.fromEntries(rows.map((r) => [r.key, r.value]));
114
+ const root = meta["root"];
115
+ const repo = meta["repo"];
116
+ if (!root || !repo) {
117
+ live.add(m[1]);
118
+ continue;
119
+ }
120
+ statSync(root); // throws when the tree is gone — then it really is garbage
121
+ // The live guard above is keyed by hash, while registration replaces an
122
+ // entry by repository name. Do not let an orphan database repoint a
123
+ // healthy entry that already owns the same name.
124
+ const existing = reg.repos?.[repo];
125
+ if (existing?.root) {
126
+ let existingGone = false;
127
+ try {
128
+ statSync(existing.root);
129
+ }
130
+ catch (error) {
131
+ const code = error.code;
132
+ existingGone = code === "ENOENT" || code === "ENOTDIR";
133
+ }
134
+ if (!existingGone) {
135
+ // Same root means this database is an older generation and may be
136
+ // swept. A different live root is ambiguous, so preserve both and
137
+ // leave registry reconciliation to an explicit operator action.
138
+ if (existing.root !== root) {
139
+ live.add(m[1]);
140
+ protectedNames.add(repo);
141
+ }
142
+ continue;
143
+ }
144
+ }
145
+ live.add(m[1]);
146
+ protectedNames.add(repo);
147
+ if (!dryRun) {
148
+ // Canonical `.index.json` form: `sqlitePathFor()` derives the `.db` from it, and the
149
+ // live-set above is built from these strings.
150
+ reg.repos ??= {};
151
+ const previous = reg.repos[repo];
152
+ const replacement = {
153
+ name: repo,
154
+ root,
155
+ index_path: join(dataDir, `${m[1]}.index.json`),
156
+ };
157
+ if (typeof previous?.symbol_count === "number" && Number.isFinite(previous.symbol_count)) {
158
+ replacement.symbol_count = previous.symbol_count;
159
+ }
160
+ if (typeof previous?.file_count === "number" && Number.isFinite(previous.file_count)) {
161
+ replacement.file_count = previous.file_count;
162
+ }
163
+ if (typeof previous?.updated_at === "number" && Number.isFinite(previous.updated_at)) {
164
+ replacement.updated_at = previous.updated_at;
165
+ }
166
+ if (typeof previous?.last_git_commit === "string") {
167
+ replacement.last_git_commit = previous.last_git_commit;
168
+ }
169
+ reg.repos[repo] = replacement;
170
+ registryDirty = true;
171
+ }
172
+ rescued.push(repo);
173
+ rescuedNames.add(repo);
174
+ }
175
+ catch (error) {
176
+ const code = error.code;
177
+ // Only definite absence makes the database garbage. Any other I/O or
178
+ // permission failure is inconclusive, so preserve this hash.
179
+ if (code !== "ENOENT" && code !== "ENOTDIR") {
180
+ live.add(m[1]);
181
+ indeterminate.push(name);
182
+ }
183
+ }
184
+ finally {
185
+ try {
186
+ db?.close();
187
+ }
188
+ catch { /* already closed */ }
189
+ }
190
+ }
191
+ // Safety: an empty live set would mark every artifact orphaned. Refuse rather
192
+ // than risk nuking a valid (but momentarily empty-looking) data dir.
193
+ if (live.size === 0) {
194
+ die("prune: registry lists 0 repos — aborting (refusing to treat all artifacts as orphans).");
195
+ }
196
+ // Commit every registry rescue/removal before deleting derived files. If the
197
+ // atomic registry write fails, prune exits with all artifacts still intact.
198
+ if (!dryRun && stale.length > 0) {
199
+ const staleNames = new Set(stale
200
+ .filter((entry) => !rescuedNames.has(entry.name) && !protectedNames.has(entry.name))
201
+ .map((entry) => entry.name));
202
+ const effectiveRepoCount = Object.keys(reg.repos ?? {})
203
+ .filter((name) => !staleNames.has(name)).length;
204
+ if (effectiveRepoCount === 0) {
205
+ die("prune: every registry entry is stale — aborting before registry or artifacts change.");
206
+ }
207
+ for (const s of stale) {
208
+ if (!rescuedNames.has(s.name) && !protectedNames.has(s.name)) {
209
+ if (reg.repos && s.name in reg.repos) {
210
+ delete reg.repos[s.name];
211
+ registryDirty = true;
212
+ }
213
+ }
214
+ }
215
+ }
216
+ if (registryDirty) {
217
+ reg.updated_at = Date.now();
218
+ const { saveRegistryUnderLock } = await import("../storage/registry.js");
219
+ await saveRegistryUnderLock(registryPath, reg);
220
+ }
221
+ // Suffix list lives with the helpers that build these names, so a new artifact kind
222
+ // cannot quietly become unreclaimable garbage — see ARTIFACT_SUFFIXES.
223
+ const { artifactPattern } = await import("../storage/_shared.js");
224
+ const re = artifactPattern();
225
+ const registryProtectsHash = (hash) => {
226
+ try {
227
+ const fresh = JSON.parse(readFileSync(registryPath, "utf-8"));
228
+ return Object.values(fresh.repos ?? {}).some((entry) => {
229
+ const file = entry.index_path?.split("/").pop() ?? "";
230
+ return /^([0-9a-f]{8,})\./.exec(file)?.[1] === hash;
231
+ });
232
+ }
233
+ catch {
234
+ // An inconclusive registry read must protect data, not authorize deletion.
235
+ return true;
236
+ }
237
+ };
238
+ let files = 0, bytes = 0, kept = 0;
239
+ for (const name of readdirSync(dataDir)) {
240
+ const m = re.exec(name);
241
+ if (!m)
242
+ continue;
243
+ // A stale entry removed during THIS run gets one full run of retention.
244
+ // The next prune re-evaluates its database metadata before collecting it.
245
+ if (live.has(m[1]) || staleHashes.has(m[1])) {
246
+ kept++;
247
+ continue;
248
+ }
249
+ const full = join(dataDir, name);
250
+ try {
251
+ const fileStat = statSync(full);
252
+ // A fresh artifact may belong to an index operation that has not yet
253
+ // committed its registry entry. Delay collection for one run and also
254
+ // re-read registry immediately before every destructive unlink.
255
+ const ageMs = Date.now() - fileStat.mtimeMs;
256
+ if (ageMs < pruneGraceMs || registryProtectsHash(m[1])) {
257
+ kept++;
258
+ continue;
259
+ }
260
+ if (!dryRun)
261
+ unlinkSync(full);
262
+ bytes += fileStat.size;
263
+ files++;
264
+ }
265
+ catch { /* skip unreadable/already-gone */ }
266
+ }
267
+ // Shared-cache versions have no repository hash prefix, so the artifact
268
+ // sweep cannot discover superseded formats. Keep the current version and
269
+ // reclaim only older derived cache files.
270
+ const { currentSharedCacheFilename } = await import("../storage/shared-embedding-cache.js");
271
+ const currentShared = currentSharedCacheFilename();
272
+ const currentVersion = Number(/^shared-embeddings\.v(\d+)\.bin$/.exec(currentShared)?.[1]);
273
+ for (const name of readdirSync(dataDir)) {
274
+ const match = /^shared-embeddings\.v(\d+)\.(?:bin|ndjson)$/.exec(name);
275
+ if (!match?.[1] || name === currentShared || !Number.isFinite(currentVersion) ||
276
+ Number(match[1]) >= currentVersion)
277
+ continue;
278
+ const full = join(dataDir, name);
279
+ try {
280
+ const fileStat = statSync(full);
281
+ const ageMs = Date.now() - fileStat.mtimeMs;
282
+ if (ageMs < pruneGraceMs)
283
+ continue;
284
+ if (!dryRun)
285
+ unlinkSync(full);
286
+ bytes += fileStat.size;
287
+ files++;
288
+ }
289
+ catch { /* skip unreadable/already-gone */ }
290
+ }
291
+ output({
292
+ indeterminate_databases: indeterminate.length,
293
+ indeterminate_examples: indeterminate.slice(0, 5),
294
+ rescued_repos: rescued.length,
295
+ rescued_examples: rescued.slice(0, 5),
296
+ stale_repos: stale.length,
297
+ stale_examples: stale.slice(0, 5).map((s) => s.name),
298
+ pruned: !dryRun,
299
+ dry_run: dryRun,
300
+ orphan_files: files,
301
+ freed_gb: +(bytes / 1e9).toFixed(2),
302
+ kept_live_artifacts: kept,
303
+ data_dir: dataDir,
304
+ }, flags);
305
+ }
306
+ function listProcesses() {
307
+ const raw = execFileSync("ps", ["-axo", "pid=,ppid=,rss=,command="], {
308
+ encoding: "utf-8",
309
+ maxBuffer: 10 * 1024 * 1024,
310
+ });
311
+ const rows = [];
312
+ for (const line of raw.split("\n")) {
313
+ const match = line.match(/^\s*(\d+)\s+(\d+)\s+(\d+)\s+(.+)$/);
314
+ if (!match)
315
+ continue;
316
+ rows.push({
317
+ pid: Number(match[1]),
318
+ ppid: Number(match[2]),
319
+ rssKb: Number(match[3]),
320
+ command: match[4] ?? "",
321
+ });
322
+ }
323
+ return rows;
324
+ }
325
+ function classifyCleanupTarget(command, includeGlobalCodesift) {
326
+ const node = String.raw `(?:node|\S*/node)`;
327
+ const npm = String.raw `(?:npm|\S*/npm)`;
328
+ if (command === "" || /(?:^|\s)codesift\s+cleanup-processes(?:\s|$)/.test(command))
329
+ return null;
330
+ if (new RegExp(`^${node}\\s+/Users/\\S+/DEV/codesift-mcp/dist/server\\.js(?:\\s|$)`).test(command)) {
331
+ return "legacy-dev-dist-server";
332
+ }
333
+ if (new RegExp(`^${npm}\\s+exec\\s+chrome-devtools-mcp(?:@\\S+)?(?:\\s|$)`).test(command) ||
334
+ /^(?:\S*\/)?chrome-devtools-mcp(?:\s|$)/.test(command)) {
335
+ return "chrome-devtools-mcp";
336
+ }
337
+ if (new RegExp(`^${node}\\s+\\S*chrome-devtools-mcp/\\S*/watchdog/main\\.js(?:\\s|$)`).test(command)) {
338
+ return "chrome-devtools-watchdog";
339
+ }
340
+ if (new RegExp(`^${npm}\\s+exec\\s+@sentry/mcp-server(?:@\\S+)?(?:\\s|$)`).test(command)) {
341
+ return "sentry-mcp";
342
+ }
343
+ if (new RegExp(`^${npm}\\s+exec\\s+@playwright/mcp(?:@\\S+)?(?:\\s|$)`).test(command)) {
344
+ return "playwright-mcp";
345
+ }
346
+ if (includeGlobalCodesift &&
347
+ new RegExp(`^(?:${node}\\s+)?/Users/\\S+/.npm-global/bin/codesift-mcp(?:\\s|$)`).test(command)) {
348
+ return "global-codesift-mcp";
349
+ }
350
+ return null;
351
+ }
352
+ function currentProcessCommand(pid) {
353
+ try {
354
+ return execFileSync("ps", ["-p", String(pid), "-o", "command="], {
355
+ encoding: "utf-8",
356
+ maxBuffer: 1024 * 1024,
357
+ }).trim() || null;
358
+ }
359
+ catch {
360
+ return null;
361
+ }
362
+ }
363
+ async function handleCleanupProcesses(_args, flags) {
364
+ const dryRun = getBoolFlag(flags, "dry-run") === true;
365
+ const includeGlobalCodesift = getBoolFlag(flags, "global-codesift") === true;
366
+ const rows = listProcesses();
367
+ const targets = rows
368
+ .map((row) => ({ ...row, reason: classifyCleanupTarget(row.command, includeGlobalCodesift) }))
369
+ .filter((row) => row.reason !== null);
370
+ const beforeMb = targets.reduce((sum, row) => sum + row.rssKb, 0) / 1024;
371
+ const killed = [];
372
+ const failed = [];
373
+ if (!dryRun) {
374
+ for (const row of targets) {
375
+ try {
376
+ const current = currentProcessCommand(row.pid);
377
+ if (current !== row.command || classifyCleanupTarget(current, includeGlobalCodesift) !== row.reason) {
378
+ throw new Error("process identity changed before kill");
379
+ }
380
+ process.kill(row.pid, "SIGKILL");
381
+ killed.push(row);
382
+ }
383
+ catch (err) {
384
+ failed.push({ ...row, error: err instanceof Error ? err.message : String(err) });
385
+ }
386
+ }
387
+ }
388
+ const byReason = {};
389
+ for (const row of targets) {
390
+ byReason[row.reason] ??= { count: 0, rss_mb: 0 };
391
+ byReason[row.reason].count += 1;
392
+ byReason[row.reason].rss_mb += row.rssKb / 1024;
393
+ }
394
+ for (const value of Object.values(byReason)) {
395
+ value.rss_mb = Number(value.rss_mb.toFixed(1));
396
+ }
397
+ output({
398
+ dry_run: dryRun,
399
+ include_global_codesift: includeGlobalCodesift,
400
+ matched: targets.length,
401
+ killed: dryRun ? 0 : killed.length,
402
+ failed: failed.length,
403
+ matched_rss_mb: Number(beforeMb.toFixed(1)),
404
+ by_reason: byReason,
405
+ failed_pids: failed.map((row) => ({ pid: row.pid, reason: row.reason, error: row.error })),
406
+ }, flags);
407
+ }
408
+ export { handlePrune, handleCleanupProcesses };
409
+ //# sourceMappingURL=commands-maintenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-maintenance.js","sourceRoot":"","sources":["../../src/cli/commands-maintenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Flags } from "./args.js";
2
+ declare function handleSearch(args: string[], flags: Flags): Promise<void>;
3
+ declare function handleSymbols(args: string[], flags: Flags): Promise<void>;
4
+ declare function handleTree(args: string[], flags: Flags): Promise<void>;
5
+ declare function handleOutline(args: string[], flags: Flags): Promise<void>;
6
+ declare function handleRepoOutline(args: string[], flags: Flags): Promise<void>;
7
+ declare function handleSymbol(args: string[], flags: Flags): Promise<void>;
8
+ declare function handleSymbolsBatch(args: string[], flags: Flags): Promise<void>;
9
+ declare function handleFind(args: string[], flags: Flags): Promise<void>;
10
+ declare function handleRefs(args: string[], flags: Flags): Promise<void>;
11
+ declare function handleTrace(args: string[], flags: Flags): Promise<void>;
12
+ declare function handleImpact(args: string[], flags: Flags): Promise<void>;
13
+ declare function handleContext(args: string[], flags: Flags): Promise<void>;
14
+ declare function handleKnowledgeMap(args: string[], flags: Flags): Promise<void>;
15
+ declare function handleDiff(args: string[], flags: Flags): Promise<void>;
16
+ declare function handleChanged(args: string[], flags: Flags): Promise<void>;
17
+ declare function handleRetrieve(args: string[], flags: Flags): Promise<void>;
18
+ declare function handleStats(_args: string[], flags: Flags): Promise<void>;
19
+ declare function handleGenerateClaudeMd(args: string[], flags: Flags): Promise<void>;
20
+ export { handleSearch, handleSymbols, handleTree, handleOutline, handleRepoOutline, handleSymbol, handleSymbolsBatch, handleFind, handleRefs, handleTrace, handleImpact, handleContext, handleKnowledgeMap, handleDiff, handleChanged, handleRetrieve, handleStats, handleGenerateClaudeMd, };
21
+ //# sourceMappingURL=commands-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-query.d.ts","sourceRoot":"","sources":["../../src/cli/commands-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAoBvC,iBAAe,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAavE;AAED,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE;AAMD,iBAAe,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAYrE;AAED,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAED,iBAAe,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5E;AAMD,iBAAe,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvE;AAED,iBAAe,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E;AAED,iBAAe,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrE;AAED,iBAAe,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrE;AAyBD,iBAAe,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBtE;AAED,iBAAe,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvE;AAMD,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AAED,iBAAe,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAMD,iBAAe,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrE;AAED,iBAAe,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;AA0CD,iBAAe,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzE;AAED,iBAAe,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvE;AAED,iBAAe,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjF;AAED,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,sBAAsB,GACvB,CAAC"}