@lzehrung/codegraph 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (682) hide show
  1. package/README.md +19 -17
  2. package/codegraph-skill/codegraph/SKILL.md +3 -0
  3. package/dist/agent/artifact.d.ts.map +1 -1
  4. package/dist/agent/artifact.js +4 -9
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/call-hierarchy.d.ts +4 -2
  7. package/dist/agent/call-hierarchy.d.ts.map +1 -1
  8. package/dist/agent/call-hierarchy.js +20 -29
  9. package/dist/agent/call-hierarchy.js.map +1 -1
  10. package/dist/agent/explain.d.ts.map +1 -1
  11. package/dist/agent/explain.js +12 -11
  12. package/dist/agent/explain.js.map +1 -1
  13. package/dist/agent/explore.d.ts.map +1 -1
  14. package/dist/agent/explore.js +2 -11
  15. package/dist/agent/explore.js.map +1 -1
  16. package/dist/agent/file-view.d.ts.map +1 -1
  17. package/dist/agent/file-view.js +4 -12
  18. package/dist/agent/file-view.js.map +1 -1
  19. package/dist/agent/normalize.d.ts +0 -3
  20. package/dist/agent/normalize.d.ts.map +1 -1
  21. package/dist/agent/normalize.js +1 -7
  22. package/dist/agent/normalize.js.map +1 -1
  23. package/dist/agent/orient.d.ts.map +1 -1
  24. package/dist/agent/orient.js +2 -6
  25. package/dist/agent/orient.js.map +1 -1
  26. package/dist/agent/packet.d.ts.map +1 -1
  27. package/dist/agent/packet.js +2 -5
  28. package/dist/agent/packet.js.map +1 -1
  29. package/dist/agent/query-index/content.d.ts.map +1 -1
  30. package/dist/agent/query-index/content.js +2 -6
  31. package/dist/agent/query-index/content.js.map +1 -1
  32. package/dist/agent/query-index/update.d.ts.map +1 -1
  33. package/dist/agent/query-index/update.js +8 -45
  34. package/dist/agent/query-index/update.js.map +1 -1
  35. package/dist/agent/query-index/worker-pool.d.ts.map +1 -1
  36. package/dist/agent/query-index/worker-pool.js +2 -1
  37. package/dist/agent/query-index/worker-pool.js.map +1 -1
  38. package/dist/agent/refactor-plan.d.ts +2 -2
  39. package/dist/agent/refactor-plan.d.ts.map +1 -1
  40. package/dist/agent/refactor-plan.js +11 -57
  41. package/dist/agent/refactor-plan.js.map +1 -1
  42. package/dist/agent/rename-preview.d.ts.map +1 -1
  43. package/dist/agent/rename-preview.js +218 -26
  44. package/dist/agent/rename-preview.js.map +1 -1
  45. package/dist/agent/search.d.ts.map +1 -1
  46. package/dist/agent/search.js +7 -22
  47. package/dist/agent/search.js.map +1 -1
  48. package/dist/agent/semantic-symbols.d.ts +1 -1
  49. package/dist/agent/semantic-symbols.d.ts.map +1 -1
  50. package/dist/agent/semantic-symbols.js +2 -5
  51. package/dist/agent/semantic-symbols.js.map +1 -1
  52. package/dist/agent/semantic.d.ts +5 -0
  53. package/dist/agent/semantic.d.ts.map +1 -1
  54. package/dist/agent/semantic.js +12 -1
  55. package/dist/agent/semantic.js.map +1 -1
  56. package/dist/agent/session.d.ts +9 -0
  57. package/dist/agent/session.d.ts.map +1 -1
  58. package/dist/agent/session.js +59 -41
  59. package/dist/agent/session.js.map +1 -1
  60. package/dist/agent/type-hierarchy.d.ts +4 -2
  61. package/dist/agent/type-hierarchy.d.ts.map +1 -1
  62. package/dist/agent/type-hierarchy.js +19 -31
  63. package/dist/agent/type-hierarchy.js.map +1 -1
  64. package/dist/agent/workspace-symbols.d.ts +1 -1
  65. package/dist/agent/workspace-symbols.d.ts.map +1 -1
  66. package/dist/agent/workspace-symbols.js +7 -15
  67. package/dist/agent/workspace-symbols.js.map +1 -1
  68. package/dist/analysis-summary.d.ts +1 -4
  69. package/dist/analysis-summary.d.ts.map +1 -1
  70. package/dist/analysis-summary.js +58 -19
  71. package/dist/analysis-summary.js.map +1 -1
  72. package/dist/bin/cli.js +36572 -22925
  73. package/dist/bin/query-index-worker.js +440 -261
  74. package/dist/bootstrap/tree-sitter-languages.d.ts +2 -0
  75. package/dist/bootstrap/tree-sitter-languages.d.ts.map +1 -1
  76. package/dist/bootstrap/tree-sitter-languages.js +6 -19
  77. package/dist/bootstrap/tree-sitter-languages.js.map +1 -1
  78. package/dist/chunking/chunk-matches.d.ts.map +1 -1
  79. package/dist/chunking/chunk-matches.js +6 -42
  80. package/dist/chunking/chunk-matches.js.map +1 -1
  81. package/dist/chunking/chunk-split.d.ts +7 -0
  82. package/dist/chunking/chunk-split.d.ts.map +1 -1
  83. package/dist/chunking/chunk-split.js +3 -3
  84. package/dist/chunking/chunk-split.js.map +1 -1
  85. package/dist/chunking/chunk-text-file.js +2 -30
  86. package/dist/chunking/chunk-text-file.js.map +1 -1
  87. package/dist/cli/affected.d.ts.map +1 -1
  88. package/dist/cli/affected.js +1 -9
  89. package/dist/cli/affected.js.map +1 -1
  90. package/dist/cli/call-hierarchy.js +3 -6
  91. package/dist/cli/call-hierarchy.js.map +1 -1
  92. package/dist/cli/chunk.d.ts.map +1 -1
  93. package/dist/cli/chunk.js +4 -11
  94. package/dist/cli/chunk.js.map +1 -1
  95. package/dist/cli/command-table.d.ts.map +1 -1
  96. package/dist/cli/command-table.js +3 -0
  97. package/dist/cli/command-table.js.map +1 -1
  98. package/dist/cli/context.d.ts +1 -0
  99. package/dist/cli/context.d.ts.map +1 -1
  100. package/dist/cli/context.js +1 -1
  101. package/dist/cli/context.js.map +1 -1
  102. package/dist/cli/doctor.d.ts.map +1 -1
  103. package/dist/cli/doctor.js +1 -11
  104. package/dist/cli/doctor.js.map +1 -1
  105. package/dist/cli/graph.d.ts +4 -12
  106. package/dist/cli/graph.d.ts.map +1 -1
  107. package/dist/cli/graph.js +17 -8
  108. package/dist/cli/graph.js.map +1 -1
  109. package/dist/cli/help.d.ts +4 -4
  110. package/dist/cli/help.d.ts.map +1 -1
  111. package/dist/cli/help.js +7 -5
  112. package/dist/cli/help.js.map +1 -1
  113. package/dist/cli/index.d.ts +2 -12
  114. package/dist/cli/index.d.ts.map +1 -1
  115. package/dist/cli/index.js +2 -5
  116. package/dist/cli/index.js.map +1 -1
  117. package/dist/cli/links.d.ts.map +1 -1
  118. package/dist/cli/links.js +4 -10
  119. package/dist/cli/links.js.map +1 -1
  120. package/dist/cli/mcp.d.ts.map +1 -1
  121. package/dist/cli/mcp.js +1 -0
  122. package/dist/cli/mcp.js.map +1 -1
  123. package/dist/cli/module-locals.d.ts +8 -0
  124. package/dist/cli/module-locals.d.ts.map +1 -0
  125. package/dist/cli/module-locals.js +9 -0
  126. package/dist/cli/module-locals.js.map +1 -0
  127. package/dist/cli/navigation.d.ts +2 -0
  128. package/dist/cli/navigation.d.ts.map +1 -1
  129. package/dist/cli/navigation.js +3 -5
  130. package/dist/cli/navigation.js.map +1 -1
  131. package/dist/cli/options.d.ts.map +1 -1
  132. package/dist/cli/options.js +2 -1
  133. package/dist/cli/options.js.map +1 -1
  134. package/dist/cli/pretty.d.ts +1 -0
  135. package/dist/cli/pretty.d.ts.map +1 -1
  136. package/dist/cli/pretty.js +6 -8
  137. package/dist/cli/pretty.js.map +1 -1
  138. package/dist/cli/refactor-plan.js +2 -5
  139. package/dist/cli/refactor-plan.js.map +1 -1
  140. package/dist/cli/rename-preview.js +2 -5
  141. package/dist/cli/rename-preview.js.map +1 -1
  142. package/dist/cli/review.d.ts +6 -16
  143. package/dist/cli/review.d.ts.map +1 -1
  144. package/dist/cli/review.js +2 -0
  145. package/dist/cli/review.js.map +1 -1
  146. package/dist/cli/server.d.ts.map +1 -1
  147. package/dist/cli/server.js +7 -10
  148. package/dist/cli/server.js.map +1 -1
  149. package/dist/cli/type-hierarchy.js +8 -8
  150. package/dist/cli/type-hierarchy.js.map +1 -1
  151. package/dist/document-links/asciidoc.d.ts.map +1 -1
  152. package/dist/document-links/asciidoc.js +4 -16
  153. package/dist/document-links/asciidoc.js.map +1 -1
  154. package/dist/document-links/check.d.ts.map +1 -1
  155. package/dist/document-links/check.js +1 -3
  156. package/dist/document-links/check.js.map +1 -1
  157. package/dist/document-links/html.d.ts.map +1 -1
  158. package/dist/document-links/html.js +6 -44
  159. package/dist/document-links/html.js.map +1 -1
  160. package/dist/document-links/markdown.d.ts.map +1 -1
  161. package/dist/document-links/markdown.js +4 -13
  162. package/dist/document-links/markdown.js.map +1 -1
  163. package/dist/document-links/rst.d.ts.map +1 -1
  164. package/dist/document-links/rst.js +7 -31
  165. package/dist/document-links/rst.js.map +1 -1
  166. package/dist/document-links/sfc.d.ts.map +1 -1
  167. package/dist/document-links/sfc.js +2 -5
  168. package/dist/document-links/sfc.js.map +1 -1
  169. package/dist/document-links/shared.d.ts +2 -0
  170. package/dist/document-links/shared.d.ts.map +1 -1
  171. package/dist/document-links/shared.js +13 -0
  172. package/dist/document-links/shared.js.map +1 -1
  173. package/dist/drift/artifact.d.ts.map +1 -1
  174. package/dist/drift/artifact.js +4 -27
  175. package/dist/drift/artifact.js.map +1 -1
  176. package/dist/drift/graph-edges.d.ts +4 -0
  177. package/dist/drift/graph-edges.d.ts.map +1 -0
  178. package/dist/drift/graph-edges.js +15 -0
  179. package/dist/drift/graph-edges.js.map +1 -0
  180. package/dist/drift/snapshot.d.ts.map +1 -1
  181. package/dist/drift/snapshot.js +2 -17
  182. package/dist/drift/snapshot.js.map +1 -1
  183. package/dist/duplicates/unit-cache.d.ts +11 -1
  184. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  185. package/dist/duplicates/unit-cache.js +20 -2
  186. package/dist/duplicates/unit-cache.js.map +1 -1
  187. package/dist/duplicates/units.d.ts +2 -1
  188. package/dist/duplicates/units.d.ts.map +1 -1
  189. package/dist/duplicates/units.js +23 -22
  190. package/dist/duplicates/units.js.map +1 -1
  191. package/dist/graph-builder.d.ts +1 -1
  192. package/dist/graph-builder.d.ts.map +1 -1
  193. package/dist/graph-builder.js +3 -2
  194. package/dist/graph-builder.js.map +1 -1
  195. package/dist/graph-edge-collector.d.ts +3 -1
  196. package/dist/graph-edge-collector.d.ts.map +1 -1
  197. package/dist/graph-edge-collector.js +38 -6
  198. package/dist/graph-edge-collector.js.map +1 -1
  199. package/dist/graphs/angularjs.d.ts.map +1 -1
  200. package/dist/graphs/angularjs.js +2 -9
  201. package/dist/graphs/angularjs.js.map +1 -1
  202. package/dist/graphs/edge-resolution.d.ts +4 -0
  203. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  204. package/dist/graphs/edge-resolution.js +2 -0
  205. package/dist/graphs/edge-resolution.js.map +1 -1
  206. package/dist/graphs/external/manifests.d.ts.map +1 -1
  207. package/dist/graphs/external/manifests.js +1 -6
  208. package/dist/graphs/external/manifests.js.map +1 -1
  209. package/dist/graphs/specifiers.d.ts.map +1 -1
  210. package/dist/graphs/specifiers.js +47 -26
  211. package/dist/graphs/specifiers.js.map +1 -1
  212. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +2 -0
  213. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  214. package/dist/graphs/symbol-graph-detailed/edge-passes.js +9 -3
  215. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  216. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +3 -3
  217. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  218. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +2 -26
  219. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  220. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  221. package/dist/graphs/symbol-graph-detailed.js +38 -1
  222. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  223. package/dist/graphs/symbol-graph.d.ts +1 -1
  224. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  225. package/dist/graphs/symbol-graph.js +8 -0
  226. package/dist/graphs/symbol-graph.js.map +1 -1
  227. package/dist/impact/analyzer.d.ts.map +1 -1
  228. package/dist/impact/analyzer.js +116 -17
  229. package/dist/impact/analyzer.js.map +1 -1
  230. package/dist/impact/budgets.d.ts.map +1 -1
  231. package/dist/impact/budgets.js +3 -9
  232. package/dist/impact/budgets.js.map +1 -1
  233. package/dist/impact/call-compatibility.d.ts.map +1 -1
  234. package/dist/impact/call-compatibility.js +3 -12
  235. package/dist/impact/call-compatibility.js.map +1 -1
  236. package/dist/impact/context.d.ts +6 -0
  237. package/dist/impact/context.d.ts.map +1 -1
  238. package/dist/impact/context.js +2 -2
  239. package/dist/impact/context.js.map +1 -1
  240. package/dist/impact/direct.d.ts.map +1 -1
  241. package/dist/impact/direct.js +2 -6
  242. package/dist/impact/direct.js.map +1 -1
  243. package/dist/impact/map.d.ts +3 -1
  244. package/dist/impact/map.d.ts.map +1 -1
  245. package/dist/impact/map.js +12 -5
  246. package/dist/impact/map.js.map +1 -1
  247. package/dist/impact/reference-cache.d.ts.map +1 -1
  248. package/dist/impact/reference-cache.js +1 -24
  249. package/dist/impact/reference-cache.js.map +1 -1
  250. package/dist/impact/report-shared.d.ts +2 -1
  251. package/dist/impact/report-shared.d.ts.map +1 -1
  252. package/dist/impact/report-shared.js +10 -0
  253. package/dist/impact/report-shared.js.map +1 -1
  254. package/dist/impact/report-suggestions.d.ts.map +1 -1
  255. package/dist/impact/report-suggestions.js +2 -8
  256. package/dist/impact/report-suggestions.js.map +1 -1
  257. package/dist/impact/report.d.ts.map +1 -1
  258. package/dist/impact/report.js +2 -8
  259. package/dist/impact/report.js.map +1 -1
  260. package/dist/impact/streaming.d.ts.map +1 -1
  261. package/dist/impact/streaming.js +3 -8
  262. package/dist/impact/streaming.js.map +1 -1
  263. package/dist/impact/transitive.d.ts +6 -2
  264. package/dist/impact/transitive.d.ts.map +1 -1
  265. package/dist/impact/transitive.js +23 -11
  266. package/dist/impact/transitive.js.map +1 -1
  267. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  268. package/dist/indexer/build-cache/manifest.js +10 -108
  269. package/dist/indexer/build-cache/manifest.js.map +1 -1
  270. package/dist/indexer/build-cache/module-cache.d.ts +6 -1
  271. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  272. package/dist/indexer/build-cache/module-cache.js +25 -2
  273. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  274. package/dist/indexer/build-cache/options.d.ts +40 -1
  275. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  276. package/dist/indexer/build-cache/options.js +40 -1
  277. package/dist/indexer/build-cache/options.js.map +1 -1
  278. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  279. package/dist/indexer/build-cache/project-snapshot.js +52 -99
  280. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  281. package/dist/indexer/build-cache/reports.d.ts +1 -0
  282. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  283. package/dist/indexer/build-cache/reports.js +10 -0
  284. package/dist/indexer/build-cache/reports.js.map +1 -1
  285. package/dist/indexer/build-index.d.ts +2 -0
  286. package/dist/indexer/build-index.d.ts.map +1 -1
  287. package/dist/indexer/build-index.js +187 -57
  288. package/dist/indexer/build-index.js.map +1 -1
  289. package/dist/indexer/build-workers.d.ts +7 -1
  290. package/dist/indexer/build-workers.d.ts.map +1 -1
  291. package/dist/indexer/build-workers.js +12 -0
  292. package/dist/indexer/build-workers.js.map +1 -1
  293. package/dist/indexer/call-hierarchy.d.ts.map +1 -1
  294. package/dist/indexer/call-hierarchy.js +5 -17
  295. package/dist/indexer/call-hierarchy.js.map +1 -1
  296. package/dist/indexer/compilation-units.d.ts +32 -20
  297. package/dist/indexer/compilation-units.d.ts.map +1 -1
  298. package/dist/indexer/compilation-units.js +139 -145
  299. package/dist/indexer/compilation-units.js.map +1 -1
  300. package/dist/indexer/cpp-callables.d.ts.map +1 -1
  301. package/dist/indexer/cpp-callables.js +2 -7
  302. package/dist/indexer/cpp-callables.js.map +1 -1
  303. package/dist/indexer/declarations.d.ts.map +1 -1
  304. package/dist/indexer/declarations.js +32 -7
  305. package/dist/indexer/declarations.js.map +1 -1
  306. package/dist/indexer/import-resolution-tables.d.ts.map +1 -1
  307. package/dist/indexer/import-resolution-tables.js +10 -0
  308. package/dist/indexer/import-resolution-tables.js.map +1 -1
  309. package/dist/indexer/import-types.d.ts +5 -0
  310. package/dist/indexer/import-types.d.ts.map +1 -1
  311. package/dist/indexer/import-types.js.map +1 -1
  312. package/dist/indexer/imports/binding-ranges.d.ts +5 -12
  313. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  314. package/dist/indexer/imports/binding-ranges.js +13 -19
  315. package/dist/indexer/imports/binding-ranges.js.map +1 -1
  316. package/dist/indexer/imports/context.d.ts +6 -0
  317. package/dist/indexer/imports/context.d.ts.map +1 -1
  318. package/dist/indexer/imports/import-binding-tables.d.ts +28 -13
  319. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  320. package/dist/indexer/imports/import-binding-tables.js +182 -178
  321. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  322. package/dist/indexer/imports/js-text-imports.d.ts +0 -1
  323. package/dist/indexer/imports/js-text-imports.d.ts.map +1 -1
  324. package/dist/indexer/imports/js-text-imports.js +0 -176
  325. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  326. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  327. package/dist/indexer/imports/language-specific.js +4 -8
  328. package/dist/indexer/imports/language-specific.js.map +1 -1
  329. package/dist/indexer/imports/python.d.ts +0 -1
  330. package/dist/indexer/imports/python.d.ts.map +1 -1
  331. package/dist/indexer/imports/python.js +1 -29
  332. package/dist/indexer/imports/python.js.map +1 -1
  333. package/dist/indexer/imports/text-import-extractors.d.ts +2 -9
  334. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  335. package/dist/indexer/imports/text-import-extractors.js +0 -284
  336. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  337. package/dist/indexer/imports.d.ts +15 -0
  338. package/dist/indexer/imports.d.ts.map +1 -1
  339. package/dist/indexer/imports.js +82 -44
  340. package/dist/indexer/imports.js.map +1 -1
  341. package/dist/indexer/incremental-plan.d.ts +0 -1
  342. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  343. package/dist/indexer/incremental-plan.js +6 -12
  344. package/dist/indexer/incremental-plan.js.map +1 -1
  345. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  346. package/dist/indexer/locals-and-exports.js +8 -0
  347. package/dist/indexer/locals-and-exports.js.map +1 -1
  348. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
  349. package/dist/indexer/name-lookup-policies/implicit-self.js +25 -4
  350. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
  351. package/dist/indexer/name-resolution-types.d.ts +5 -0
  352. package/dist/indexer/name-resolution-types.d.ts.map +1 -1
  353. package/dist/indexer/name-resolution.d.ts.map +1 -1
  354. package/dist/indexer/name-resolution.js +2 -0
  355. package/dist/indexer/name-resolution.js.map +1 -1
  356. package/dist/indexer/navigation-cpp.d.ts.map +1 -1
  357. package/dist/indexer/navigation-cpp.js +3 -5
  358. package/dist/indexer/navigation-cpp.js.map +1 -1
  359. package/dist/indexer/navigation-goto.d.ts +49 -3
  360. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  361. package/dist/indexer/navigation-goto.js +500 -106
  362. package/dist/indexer/navigation-goto.js.map +1 -1
  363. package/dist/indexer/navigation-local.d.ts +7 -0
  364. package/dist/indexer/navigation-local.d.ts.map +1 -1
  365. package/dist/indexer/navigation-local.js +22 -2
  366. package/dist/indexer/navigation-local.js.map +1 -1
  367. package/dist/indexer/navigation-php.d.ts +0 -1
  368. package/dist/indexer/navigation-php.d.ts.map +1 -1
  369. package/dist/indexer/navigation-php.js +1 -7
  370. package/dist/indexer/navigation-php.js.map +1 -1
  371. package/dist/indexer/navigation-references.d.ts +1 -0
  372. package/dist/indexer/navigation-references.d.ts.map +1 -1
  373. package/dist/indexer/navigation-references.js +134 -23
  374. package/dist/indexer/navigation-references.js.map +1 -1
  375. package/dist/indexer/navigation-resolve.d.ts +22 -0
  376. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  377. package/dist/indexer/navigation-resolve.js +73 -8
  378. package/dist/indexer/navigation-resolve.js.map +1 -1
  379. package/dist/indexer/navigation.d.ts +4 -1
  380. package/dist/indexer/navigation.d.ts.map +1 -1
  381. package/dist/indexer/navigation.js +429 -109
  382. package/dist/indexer/navigation.js.map +1 -1
  383. package/dist/indexer/python-property-decorator.d.ts +11 -0
  384. package/dist/indexer/python-property-decorator.d.ts.map +1 -0
  385. package/dist/indexer/python-property-decorator.js +30 -0
  386. package/dist/indexer/python-property-decorator.js.map +1 -0
  387. package/dist/indexer/reference-context.d.ts.map +1 -1
  388. package/dist/indexer/reference-context.js +4 -1
  389. package/dist/indexer/reference-context.js.map +1 -1
  390. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  391. package/dist/indexer/scope-nodes.js +5 -0
  392. package/dist/indexer/scope-nodes.js.map +1 -1
  393. package/dist/indexer/shared-owner-identity.d.ts +3 -1
  394. package/dist/indexer/shared-owner-identity.d.ts.map +1 -1
  395. package/dist/indexer/shared-owner-identity.js +40 -12
  396. package/dist/indexer/shared-owner-identity.js.map +1 -1
  397. package/dist/indexer/shared.d.ts +10 -0
  398. package/dist/indexer/shared.d.ts.map +1 -1
  399. package/dist/indexer/shared.js +8 -0
  400. package/dist/indexer/shared.js.map +1 -1
  401. package/dist/indexer/star-import-precedence.d.ts +5 -1
  402. package/dist/indexer/star-import-precedence.d.ts.map +1 -1
  403. package/dist/indexer/star-import-precedence.js +12 -19
  404. package/dist/indexer/star-import-precedence.js.map +1 -1
  405. package/dist/indexer/type-hierarchy.d.ts.map +1 -1
  406. package/dist/indexer/type-hierarchy.js +8 -9
  407. package/dist/indexer/type-hierarchy.js.map +1 -1
  408. package/dist/indexer/types.d.ts +54 -2
  409. package/dist/indexer/types.d.ts.map +1 -1
  410. package/dist/indexer/types.js +4 -0
  411. package/dist/indexer/types.js.map +1 -1
  412. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  413. package/dist/indexer/workspace-symbols.js +3 -13
  414. package/dist/indexer/workspace-symbols.js.map +1 -1
  415. package/dist/installer/locks.d.ts +1 -0
  416. package/dist/installer/locks.d.ts.map +1 -1
  417. package/dist/installer/locks.js +4 -8
  418. package/dist/installer/locks.js.map +1 -1
  419. package/dist/installer/registry.d.ts.map +1 -1
  420. package/dist/installer/registry.js +9 -15
  421. package/dist/installer/registry.js.map +1 -1
  422. package/dist/languages/all.d.ts +1 -0
  423. package/dist/languages/all.d.ts.map +1 -1
  424. package/dist/languages/all.js +1 -0
  425. package/dist/languages/all.js.map +1 -1
  426. package/dist/languages/callable-arity.d.ts.map +1 -1
  427. package/dist/languages/callable-arity.js +1 -38
  428. package/dist/languages/callable-arity.js.map +1 -1
  429. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  430. package/dist/languages/definitions/csharp.js +5 -13
  431. package/dist/languages/definitions/csharp.js.map +1 -1
  432. package/dist/languages/definitions/java.d.ts.map +1 -1
  433. package/dist/languages/definitions/java.js +4 -13
  434. package/dist/languages/definitions/java.js.map +1 -1
  435. package/dist/languages/definitions/kotlin.d.ts.map +1 -1
  436. package/dist/languages/definitions/kotlin.js +4 -8
  437. package/dist/languages/definitions/kotlin.js.map +1 -1
  438. package/dist/languages/definitions/python.d.ts.map +1 -1
  439. package/dist/languages/definitions/python.js +5 -3
  440. package/dist/languages/definitions/python.js.map +1 -1
  441. package/dist/languages/definitions/terraform.d.ts +9 -0
  442. package/dist/languages/definitions/terraform.d.ts.map +1 -0
  443. package/dist/languages/definitions/terraform.js +84 -0
  444. package/dist/languages/definitions/terraform.js.map +1 -0
  445. package/dist/languages/import-statement-parsers.d.ts +0 -30
  446. package/dist/languages/import-statement-parsers.d.ts.map +1 -1
  447. package/dist/languages/import-statement-parsers.js +1 -81
  448. package/dist/languages/import-statement-parsers.js.map +1 -1
  449. package/dist/languages/sfc.d.ts.map +1 -1
  450. package/dist/languages/sfc.js +8 -43
  451. package/dist/languages/sfc.js.map +1 -1
  452. package/dist/languages.d.ts +1 -0
  453. package/dist/languages.d.ts.map +1 -1
  454. package/dist/languages.js +1 -0
  455. package/dist/languages.js.map +1 -1
  456. package/dist/lifecycle/manifest.d.ts.map +1 -1
  457. package/dist/lifecycle/manifest.js +11 -29
  458. package/dist/lifecycle/manifest.js.map +1 -1
  459. package/dist/mcp/handlers.d.ts +21 -0
  460. package/dist/mcp/handlers.d.ts.map +1 -1
  461. package/dist/mcp/handlers.js +66 -20
  462. package/dist/mcp/handlers.js.map +1 -1
  463. package/dist/mcp/http-transport.d.ts.map +1 -1
  464. package/dist/mcp/http-transport.js +5 -1
  465. package/dist/mcp/http-transport.js.map +1 -1
  466. package/dist/mcp/project-watcher.d.ts +125 -0
  467. package/dist/mcp/project-watcher.d.ts.map +1 -0
  468. package/dist/mcp/project-watcher.js +643 -0
  469. package/dist/mcp/project-watcher.js.map +1 -0
  470. package/dist/mcp/server.d.ts.map +1 -1
  471. package/dist/mcp/server.js +5 -1
  472. package/dist/mcp/server.js.map +1 -1
  473. package/dist/native/byte-index.d.ts +1 -0
  474. package/dist/native/byte-index.d.ts.map +1 -1
  475. package/dist/native/byte-index.js +1 -1
  476. package/dist/native/byte-index.js.map +1 -1
  477. package/dist/native/contracts.d.ts +1 -0
  478. package/dist/native/contracts.d.ts.map +1 -1
  479. package/dist/native/native-backend-report.d.ts +2 -1
  480. package/dist/native/native-backend-report.d.ts.map +1 -1
  481. package/dist/native/native-backend-report.js +23 -0
  482. package/dist/native/native-backend-report.js.map +1 -1
  483. package/dist/native/tree-shape.d.ts +5 -7
  484. package/dist/native/tree-shape.d.ts.map +1 -1
  485. package/dist/native/tree-shape.js +11 -10
  486. package/dist/native/tree-shape.js.map +1 -1
  487. package/dist/presentation/bounds.d.ts +2 -0
  488. package/dist/presentation/bounds.d.ts.map +1 -1
  489. package/dist/presentation/bounds.js +8 -0
  490. package/dist/presentation/bounds.js.map +1 -1
  491. package/dist/review/candidates.d.ts.map +1 -1
  492. package/dist/review/candidates.js +4 -25
  493. package/dist/review/candidates.js.map +1 -1
  494. package/dist/review/report.d.ts.map +1 -1
  495. package/dist/review/report.js +4 -2
  496. package/dist/review/report.js.map +1 -1
  497. package/dist/review/summaries.d.ts.map +1 -1
  498. package/dist/review/summaries.js +14 -35
  499. package/dist/review/summaries.js.map +1 -1
  500. package/dist/review.d.ts.map +1 -1
  501. package/dist/review.js +4 -5
  502. package/dist/review.js.map +1 -1
  503. package/dist/scss/navigation.d.ts +13 -0
  504. package/dist/scss/navigation.d.ts.map +1 -0
  505. package/dist/scss/navigation.js +150 -0
  506. package/dist/scss/navigation.js.map +1 -0
  507. package/dist/scss/resolution.d.ts +190 -0
  508. package/dist/scss/resolution.d.ts.map +1 -0
  509. package/dist/scss/resolution.js +1802 -0
  510. package/dist/scss/resolution.js.map +1 -0
  511. package/dist/scss/syntax.d.ts +181 -0
  512. package/dist/scss/syntax.d.ts.map +1 -0
  513. package/dist/scss/syntax.js +1436 -0
  514. package/dist/scss/syntax.js.map +1 -0
  515. package/dist/sql/classify-sql-file.d.ts +7 -0
  516. package/dist/sql/classify-sql-file.d.ts.map +1 -1
  517. package/dist/sql/classify-sql-file.js +9 -0
  518. package/dist/sql/classify-sql-file.js.map +1 -1
  519. package/dist/sql/extract-facts.d.ts.map +1 -1
  520. package/dist/sql/extract-facts.js +517 -77
  521. package/dist/sql/extract-facts.js.map +1 -1
  522. package/dist/sql/lex.d.ts +100 -1
  523. package/dist/sql/lex.d.ts.map +1 -1
  524. package/dist/sql/lex.js +473 -11
  525. package/dist/sql/lex.js.map +1 -1
  526. package/dist/sql/lookup.d.ts +17 -0
  527. package/dist/sql/lookup.d.ts.map +1 -1
  528. package/dist/sql/lookup.js +21 -0
  529. package/dist/sql/lookup.js.map +1 -1
  530. package/dist/sql/navigation.d.ts +28 -1
  531. package/dist/sql/navigation.d.ts.map +1 -1
  532. package/dist/sql/navigation.js +474 -84
  533. package/dist/sql/navigation.js.map +1 -1
  534. package/dist/sql/object-mentions.d.ts +24 -0
  535. package/dist/sql/object-mentions.d.ts.map +1 -0
  536. package/dist/sql/object-mentions.js +233 -0
  537. package/dist/sql/object-mentions.js.map +1 -0
  538. package/dist/sql/review.d.ts +3 -0
  539. package/dist/sql/review.d.ts.map +1 -1
  540. package/dist/sql/review.js +15 -14
  541. package/dist/sql/review.js.map +1 -1
  542. package/dist/sql/routine-mentions.d.ts +61 -0
  543. package/dist/sql/routine-mentions.d.ts.map +1 -0
  544. package/dist/sql/routine-mentions.js +868 -0
  545. package/dist/sql/routine-mentions.js.map +1 -0
  546. package/dist/sql/source-graph.d.ts +18 -3
  547. package/dist/sql/source-graph.d.ts.map +1 -1
  548. package/dist/sql/source-graph.js +109 -32
  549. package/dist/sql/source-graph.js.map +1 -1
  550. package/dist/sqlite/raw-query-worker-pool.d.ts.map +1 -1
  551. package/dist/sqlite/raw-query-worker-pool.js +2 -0
  552. package/dist/sqlite/raw-query-worker-pool.js.map +1 -1
  553. package/dist/sqlite/types.d.ts +6 -5
  554. package/dist/sqlite/types.d.ts.map +1 -1
  555. package/dist/sqlite/write.d.ts.map +1 -1
  556. package/dist/sqlite/write.js.map +1 -1
  557. package/dist/sqlite-driver.d.ts +0 -1
  558. package/dist/sqlite-driver.d.ts.map +1 -1
  559. package/dist/sqlite-driver.js +0 -11
  560. package/dist/sqlite-driver.js.map +1 -1
  561. package/dist/terraform/navigation.d.ts +20 -0
  562. package/dist/terraform/navigation.d.ts.map +1 -0
  563. package/dist/terraform/navigation.js +140 -0
  564. package/dist/terraform/navigation.js.map +1 -0
  565. package/dist/terraform/resolution.d.ts +82 -0
  566. package/dist/terraform/resolution.d.ts.map +1 -0
  567. package/dist/terraform/resolution.js +324 -0
  568. package/dist/terraform/resolution.js.map +1 -0
  569. package/dist/terraform/syntax.d.ts +109 -0
  570. package/dist/terraform/syntax.d.ts.map +1 -0
  571. package/dist/terraform/syntax.js +438 -0
  572. package/dist/terraform/syntax.js.map +1 -0
  573. package/dist/util/ast.d.ts +5 -0
  574. package/dist/util/ast.d.ts.map +1 -1
  575. package/dist/util/ast.js +10 -0
  576. package/dist/util/ast.js.map +1 -1
  577. package/dist/util/atomic-file.d.ts +22 -0
  578. package/dist/util/atomic-file.d.ts.map +1 -0
  579. package/dist/util/atomic-file.js +106 -0
  580. package/dist/util/atomic-file.js.map +1 -0
  581. package/dist/util/collections.d.ts +5 -0
  582. package/dist/util/collections.d.ts.map +1 -1
  583. package/dist/util/collections.js +26 -0
  584. package/dist/util/collections.js.map +1 -1
  585. package/dist/util/concurrency.d.ts +1 -0
  586. package/dist/util/concurrency.d.ts.map +1 -1
  587. package/dist/util/concurrency.js +5 -0
  588. package/dist/util/concurrency.js.map +1 -1
  589. package/dist/util/confined-file.d.ts.map +1 -1
  590. package/dist/util/confined-file.js +1 -3
  591. package/dist/util/confined-file.js.map +1 -1
  592. package/dist/util/csharp-tree.d.ts +65 -0
  593. package/dist/util/csharp-tree.d.ts.map +1 -0
  594. package/dist/util/csharp-tree.js +266 -0
  595. package/dist/util/csharp-tree.js.map +1 -0
  596. package/dist/util/errors.d.ts +1 -0
  597. package/dist/util/errors.d.ts.map +1 -1
  598. package/dist/util/errors.js +3 -0
  599. package/dist/util/errors.js.map +1 -1
  600. package/dist/util/graph-edges.d.ts +2 -0
  601. package/dist/util/graph-edges.d.ts.map +1 -1
  602. package/dist/util/graph-edges.js +11 -0
  603. package/dist/util/graph-edges.js.map +1 -1
  604. package/dist/util/guards.d.ts +1 -0
  605. package/dist/util/guards.d.ts.map +1 -1
  606. package/dist/util/guards.js +6 -0
  607. package/dist/util/guards.js.map +1 -1
  608. package/dist/util/identifiers.d.ts +0 -24
  609. package/dist/util/identifiers.d.ts.map +1 -1
  610. package/dist/util/identifiers.js +0 -24
  611. package/dist/util/identifiers.js.map +1 -1
  612. package/dist/util/jvm-tree.d.ts +58 -0
  613. package/dist/util/jvm-tree.d.ts.map +1 -0
  614. package/dist/util/jvm-tree.js +153 -0
  615. package/dist/util/jvm-tree.js.map +1 -0
  616. package/dist/util/member-access-tables.d.ts.map +1 -1
  617. package/dist/util/member-access-tables.js +3 -0
  618. package/dist/util/member-access-tables.js.map +1 -1
  619. package/dist/util/package-exports.d.ts +0 -22
  620. package/dist/util/package-exports.d.ts.map +1 -1
  621. package/dist/util/package-exports.js +25 -5
  622. package/dist/util/package-exports.js.map +1 -1
  623. package/dist/util/paths.d.ts +1 -0
  624. package/dist/util/paths.d.ts.map +1 -1
  625. package/dist/util/paths.js +10 -4
  626. package/dist/util/paths.js.map +1 -1
  627. package/dist/util/project-files.d.ts.map +1 -1
  628. package/dist/util/project-files.js +3 -1
  629. package/dist/util/project-files.js.map +1 -1
  630. package/dist/util/resolution/csharp.d.ts +20 -8
  631. package/dist/util/resolution/csharp.d.ts.map +1 -1
  632. package/dist/util/resolution/csharp.js +126 -127
  633. package/dist/util/resolution/csharp.js.map +1 -1
  634. package/dist/util/resolution/files.d.ts +6 -0
  635. package/dist/util/resolution/files.d.ts.map +1 -1
  636. package/dist/util/resolution/files.js +74 -21
  637. package/dist/util/resolution/files.js.map +1 -1
  638. package/dist/util/resolution/jvm.d.ts +21 -1
  639. package/dist/util/resolution/jvm.d.ts.map +1 -1
  640. package/dist/util/resolution/jvm.js +168 -100
  641. package/dist/util/resolution/jvm.js.map +1 -1
  642. package/dist/util/resolution/project-symbols.d.ts +1 -1
  643. package/dist/util/resolution/project-symbols.d.ts.map +1 -1
  644. package/dist/util/resolution/project-symbols.js.map +1 -1
  645. package/dist/util/resolution/specifier-targets.d.ts +4 -0
  646. package/dist/util/resolution/specifier-targets.d.ts.map +1 -1
  647. package/dist/util/resolution/specifier-targets.js +16 -3
  648. package/dist/util/resolution/specifier-targets.js.map +1 -1
  649. package/dist/util/resolution/terraform.d.ts +18 -0
  650. package/dist/util/resolution/terraform.d.ts.map +1 -0
  651. package/dist/util/resolution/terraform.js +64 -0
  652. package/dist/util/resolution/terraform.js.map +1 -0
  653. package/dist/util/resolution.d.ts.map +1 -1
  654. package/dist/util/resolution.js +21 -7
  655. package/dist/util/resolution.js.map +1 -1
  656. package/dist/util/syntax-tree.d.ts +16 -0
  657. package/dist/util/syntax-tree.d.ts.map +1 -0
  658. package/dist/util/syntax-tree.js +34 -0
  659. package/dist/util/syntax-tree.js.map +1 -0
  660. package/dist/util/text-scanning.d.ts +6 -0
  661. package/dist/util/text-scanning.d.ts.map +1 -0
  662. package/dist/util/text-scanning.js +35 -0
  663. package/dist/util/text-scanning.js.map +1 -0
  664. package/dist/util/trivia-tables.d.ts +13 -8
  665. package/dist/util/trivia-tables.d.ts.map +1 -1
  666. package/dist/util/trivia-tables.js +13 -63
  667. package/dist/util/trivia-tables.js.map +1 -1
  668. package/dist/util/trivia.d.ts +10 -3
  669. package/dist/util/trivia.d.ts.map +1 -1
  670. package/dist/util/trivia.js +209 -79
  671. package/dist/util/trivia.js.map +1 -1
  672. package/dist/util/windows-process-drain.d.ts.map +1 -1
  673. package/dist/util/windows-process-drain.js.map +1 -1
  674. package/dist/util/worker-threads.d.ts +16 -0
  675. package/dist/util/worker-threads.d.ts.map +1 -1
  676. package/dist/util/worker-threads.js +118 -0
  677. package/dist/util/worker-threads.js.map +1 -1
  678. package/dist/worker/native-worker-pool.d.ts.map +1 -1
  679. package/dist/worker/native-worker-pool.js +2 -1
  680. package/dist/worker/native-worker-pool.js.map +1 -1
  681. package/docs/mcp.md +27 -2
  682. package/package.json +8 -8
@@ -8,9 +8,10 @@ import { normalizePath } from "../util/paths.js";
8
8
  import { mapLimit } from "../util/concurrency.js";
9
9
  import { errorMessage } from "../util/errors.js";
10
10
  import { boundAgentList, defaultAgentLimit } from "./bounds.js";
11
+ import { compareCodeUnits } from "../util/collections.js";
11
12
  import { formatAgentChunkHandle, formatAgentFileHandle, formatAgentGraphHandle, formatAgentSqlHandle, formatAgentSymbolHandle, parseAgentChunkHandle, parseAgentFileHandle, parseAgentGraphHandle, parseAgentSqlHandle, parseAgentSymbolHandle, } from "./handles.js";
12
13
  import { collectDefinitionFollowUps, collectFileFollowUps as collectCommonFileFollowUps, isAgentSqlObjectNode, normalizeAgentFilePath, resolveAgentSnapshotFile, } from "./normalize.js";
13
- import { createAgentSession, } from "./session.js";
14
+ import { checkSessionFreshness, withRequestSession, } from "./session.js";
14
15
  import { formatAgentFollowUpAsCli, toolFollowUp } from "./follow-ups.js";
15
16
  import { buildQueryTextChunks, detectQueryIndexSurface, normalizeQuerySearchText, QUERY_INDEX_NORMALIZER_VERSION, } from "./query-index/content.js";
16
17
  import { findQueryIndexChunkCandidates, QUERY_INDEX_CANDIDATE_VERSION, } from "./query-index/candidates.js";
@@ -72,19 +73,10 @@ function hasSameFreshness(left, right) {
72
73
  sameStringList(left.changedFiles, right.changedFiles));
73
74
  }
74
75
  export async function searchCodegraph(request) {
75
- const session = createAgentSession({
76
- root: request.root,
77
- ...(request.buildOptions ? { buildOptions: request.buildOptions } : {}),
78
- });
79
- try {
80
- return await searchCodegraphWithSession(session, request);
81
- }
82
- finally {
83
- session.invalidate();
84
- }
76
+ return await withRequestSession(request, (session) => searchCodegraphWithSession(session, request));
85
77
  }
86
78
  export async function searchCodegraphWithSession(session, request) {
87
- const freshness = session.checkFreshness ? await session.checkFreshness() : { state: "fresh" };
79
+ const freshness = await checkSessionFreshness(session);
88
80
  if (canUsePathFastPath(request) && session.listFiles && session.root) {
89
81
  const files = await session.listFiles();
90
82
  return searchPathOnly(session.root, files, request, freshness);
@@ -985,13 +977,13 @@ function compareResults(left, right) {
985
977
  const coverageDelta = right.matchedRankTerms.size - left.matchedRankTerms.size;
986
978
  if (coverageDelta !== 0)
987
979
  return coverageDelta;
988
- const labelDelta = compareAscii(left.label, right.label);
980
+ const labelDelta = compareCodeUnits(left.label, right.label);
989
981
  if (labelDelta !== 0)
990
982
  return labelDelta;
991
- const fileDelta = compareAscii(left.file, right.file);
983
+ const fileDelta = compareCodeUnits(left.file, right.file);
992
984
  if (fileDelta !== 0)
993
985
  return fileDelta;
994
- return compareAscii(left.handle, right.handle);
986
+ return compareCodeUnits(left.handle, right.handle);
995
987
  }
996
988
  function capabilityRank(capability) {
997
989
  if (capability === "semantic")
@@ -1000,13 +992,6 @@ function capabilityRank(capability) {
1000
992
  return 1;
1001
993
  return 2;
1002
994
  }
1003
- function compareAscii(left, right) {
1004
- if (left < right)
1005
- return -1;
1006
- if (left > right)
1007
- return 1;
1008
- return 0;
1009
- }
1010
995
  function selectTopResults(resultMap, limit) {
1011
996
  const top = [];
1012
997
  let totalCandidates = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/agent/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/agent/search.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { SymbolDef } from "../indexer/types.js";
2
2
  import type { AgentProjectSnapshot } from "./session.js";
3
- import type { SemanticSymbol } from "./semantic.js";
3
+ import { type SemanticSymbol } from "./semantic.js";
4
4
  export type ResolvedSemanticSymbol = {
5
5
  id: string;
6
6
  def: SymbolDef;
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-symbols.d.ts","sourceRoot":"","sources":["../../src/agent/semantic-symbols.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAanH;AAgBD,oGAAoG;AACpG,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAmC3G;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,EAAE,SAAS,EACd,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtE,cAAc,CAuBhB"}
1
+ {"version":3,"file":"semantic-symbols.d.ts","sourceRoot":"","sources":["../../src/agent/semantic-symbols.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIxE,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,SAAS,CAAC;CAChB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAanH;AAgBD,oGAAoG;AACpG,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAmC3G;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,EAAE,SAAS,EACd,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtE,cAAc,CAmBhB"}
@@ -2,6 +2,7 @@ import { defNodeId } from "../graphs/symbol-graph.js";
2
2
  import { parseQualifiedSymbolPath, resolveSymbolTarget } from "../indexer/symbols.js";
3
3
  import { formatAgentSymbolHandle, parseAgentSymbolHandle } from "./handles.js";
4
4
  import { normalizeAgentFilePath, resolveAgentSnapshotFile } from "./normalize.js";
5
+ import { semanticProvenance } from "./semantic.js";
5
6
  import { normalizePath } from "../util/paths.js";
6
7
  import { buildSymbolLookup } from "./symbol-lookup.js";
7
8
  export function resolveSemanticSymbol(snapshot, handle) {
@@ -81,11 +82,7 @@ export function semanticSymbolFromDef(snapshot, def, options) {
81
82
  kind: def.kind,
82
83
  location: { file, range: def.range },
83
84
  exported,
84
- provenance: {
85
- capability: "semantic",
86
- backend: snapshot.analysis.backend,
87
- confidence: "high",
88
- },
85
+ provenance: semanticProvenance(snapshot),
89
86
  };
90
87
  }
91
88
  function isExported(snapshot, def) {
@@ -1 +1 @@
1
- {"version":3,"file":"semantic-symbols.js","sourceRoot":"","sources":["../../src/agent/semantic-symbols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic-symbols.js","sourceRoot":"","sources":["../../src/agent/semantic-symbols.ts"],"names":[],"mappings":"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"}
@@ -32,4 +32,9 @@ export type SemanticSymbol = {
32
32
  exported: boolean;
33
33
  provenance: SemanticProvenance;
34
34
  };
35
+ /** One-line label for a symbol in CLI text output: `name [kind] file:line:column`. */
36
+ export declare function formatSemanticSymbol(symbol: SemanticSymbol): string;
37
+ export declare function semanticProvenance(snapshot: {
38
+ analysis: AnalysisSummary;
39
+ }): SemanticProvenance;
35
40
  //# sourceMappingURL=semantic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/agent/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IAChD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/agent/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,oBAAoB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,qBAAqB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IAChD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAGnE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,GAAG,kBAAkB,CAM9F"}
@@ -1,2 +1,13 @@
1
- export {};
1
+ /** One-line label for a symbol in CLI text output: `name [kind] file:line:column`. */
2
+ export function formatSemanticSymbol(symbol) {
3
+ const { file, range } = symbol.location;
4
+ return `${symbol.name} [${symbol.kind}] ${file}:${range.start.line}:${range.start.column}`;
5
+ }
6
+ export function semanticProvenance(snapshot) {
7
+ return {
8
+ capability: "semantic",
9
+ backend: snapshot.analysis.backend,
10
+ confidence: "high",
11
+ };
12
+ }
2
13
  //# sourceMappingURL=semantic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/agent/semantic.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/agent/semantic.ts"],"names":[],"mappings":"AAwCA,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IACxC,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAuC;IACxE,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;QAClC,UAAU,EAAE,MAAM;KACnB,CAAC;AACJ,CAAC"}
@@ -59,8 +59,15 @@ export type AgentSession = {
59
59
  /** Bucketed duplicate-detection analysis for the current index, memoized for the session. */
60
60
  loadDuplicateAnalysis?: () => Promise<DuplicatePreparedAnalysis>;
61
61
  checkFreshness?: () => Promise<AgentFreshnessResult>;
62
+ /**
63
+ * Drops the cached freshness result and any in-flight freshness check so the next `checkFreshness` scans
64
+ * again. File-watcher hint: the pull check stays the authority. Does not invalidate the index itself.
65
+ */
66
+ markChanged?: () => void;
62
67
  invalidate: () => void;
63
68
  };
69
+ /** A session without a freshness check reports itself fresh. */
70
+ export declare function checkSessionFreshness(session: AgentSession): Promise<AgentFreshnessResult>;
64
71
  export declare function assertNoPrebuiltSessionWithBuildOptions(options: {
65
72
  session?: AgentSession;
66
73
  buildOptions?: BuildOptions;
@@ -74,5 +81,7 @@ export type AgentFileSignature = {
74
81
  mtimeMs: number;
75
82
  };
76
83
  export declare function listAgentSessionFiles(options: AgentSessionOptions, discoveryContext?: ProjectDiscoveryContext): Promise<string[]>;
84
+ export declare function createRequestSession(request: Pick<AgentSessionOptions, "root" | "buildOptions">, extra?: Omit<AgentSessionOptions, "root" | "buildOptions">): AgentSession;
85
+ export declare function withRequestSession<T>(request: Pick<AgentSessionOptions, "root" | "buildOptions">, run: (session: AgentSession) => Promise<T>, extra?: Omit<AgentSessionOptions, "root" | "buildOptions">): Promise<T>;
77
86
  export declare function createAgentSession(options: AgentSessionOptions): AgentSession;
78
87
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fsp from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { boundList } from "../presentation/bounds.js";
4
- import { buildProjectIndexIncremental } from "../indexer/build-index.js";
4
+ import { buildProjectIndexIncremental, emitIndexCheckActivity, emitIndexCheckStart } from "../indexer/build-index.js";
5
5
  import { resolveIncrementalFilePlan } from "../indexer/incremental-plan.js";
6
6
  import { computeConfigHash } from "../indexer/build-cache/manifest.js";
7
7
  import { tryLoadDetailedSymbolGraphSnapshot, writeDetailedSymbolGraphSnapshot } from "../indexer/build-cache.js";
@@ -16,6 +16,11 @@ import { createAgentFileLookup } from "./normalize.js";
16
16
  import { summarizeAnalysis } from "../analysis-summary.js";
17
17
  import { runSessionInvalidationHooks } from "./session-lifecycle.js";
18
18
  import { prepareDuplicateAnalysis } from "../duplicates.js";
19
+ import { isMissingPathError } from "../util/errors.js";
20
+ /** A session without a freshness check reports itself fresh. */
21
+ export async function checkSessionFreshness(session) {
22
+ return session.checkFreshness ? await session.checkFreshness() : { state: "fresh" };
23
+ }
19
24
  export function assertNoPrebuiltSessionWithBuildOptions(options, consumer) {
20
25
  if (options.session && options.buildOptions) {
21
26
  throw new Error(`${consumer} cannot combine a prebuilt session with buildOptions.`);
@@ -50,17 +55,6 @@ async function resolveAgentDiscoverySettings(options) {
50
55
  ...(cacheLocation ? { cacheLocation } : {}),
51
56
  };
52
57
  }
53
- function emitAgentFilePlanProgress(options) {
54
- options.buildOptions?.onProgress?.({
55
- type: "progress",
56
- phase: "start",
57
- mode: "check",
58
- message: "Discovering source files",
59
- activity: "Discovering source files",
60
- current: 0,
61
- total: 0,
62
- });
63
- }
64
58
  /**
65
59
  * Report discovery work while it runs. Discovery walks or Git-lists the whole project
66
60
  * before any file is parsed, and on a project holding a large ignored tree that phase can
@@ -68,19 +62,11 @@ function emitAgentFilePlanProgress(options) {
68
62
  * source files" line, which is indistinguishable from a hang.
69
63
  */
70
64
  function agentDiscoveryProgressReporter(options) {
71
- const onProgress = options.buildOptions?.onProgress;
72
- if (!onProgress)
65
+ const buildOptions = options.buildOptions;
66
+ if (!buildOptions?.onProgress)
73
67
  return undefined;
74
68
  return ({ activity, current, total }) => {
75
- onProgress({
76
- type: "progress",
77
- phase: "update",
78
- mode: "check",
79
- message: activity,
80
- activity,
81
- current,
82
- total,
83
- });
69
+ emitIndexCheckActivity(buildOptions, activity, current, total);
84
70
  };
85
71
  }
86
72
  async function resolveAgentSessionFilePlan(options, discoveryContext = createProjectDiscoveryContext(options.root)) {
@@ -111,7 +97,7 @@ async function resolveAgentSessionFilePlan(options, discoveryContext = createPro
111
97
  const { DEFAULT_PROJECT_PATTERNS } = await import("../util/project-files.js");
112
98
  const customPatterns = languageExtensionPatterns(languageExtensions);
113
99
  const patterns = customPatterns.length ? [...DEFAULT_PROJECT_PATTERNS, ...customPatterns] : undefined;
114
- emitAgentFilePlanProgress(options);
100
+ emitIndexCheckStart(options.buildOptions, "Discovering source files");
115
101
  const onDiscoveryProgress = agentDiscoveryProgressReporter(options);
116
102
  const files = await listProjectFilesWithGitCandidates(options.root, patterns, {
117
103
  ...discoveryOptions,
@@ -130,13 +116,6 @@ async function resolveAgentSessionFilePlan(options, discoveryContext = createPro
130
116
  export async function listAgentSessionFiles(options, discoveryContext) {
131
117
  return (await resolveAgentSessionFilePlan(options, discoveryContext)).files;
132
118
  }
133
- function isMissingStatRace(error) {
134
- if (!(error instanceof Error))
135
- return false;
136
- if (!("code" in error))
137
- return false;
138
- return error.code === "ENOENT" || error.code === "ENOTDIR";
139
- }
140
119
  function summarizeChangedFiles(files) {
141
120
  const bounded = boundList(files, DEFAULT_MAX_FRESHNESS_CHANGED_FILES);
142
121
  return {
@@ -161,7 +140,7 @@ async function collectAgentFileSignatures(files) {
161
140
  });
162
141
  }
163
142
  catch (error) {
164
- if (isMissingStatRace(error))
143
+ if (isMissingPathError(error))
165
144
  return;
166
145
  throw new Error(`Unable to verify freshness for ${resolvedFile}`, { cause: error });
167
146
  }
@@ -222,6 +201,22 @@ function diffAgentFileSignatures(previous, current) {
222
201
  changedFiles.sort();
223
202
  return { changedFiles, changedBytes };
224
203
  }
204
+ export function createRequestSession(request, extra = {}) {
205
+ return createAgentSession({
206
+ root: request.root,
207
+ ...(request.buildOptions ? { buildOptions: request.buildOptions } : {}),
208
+ ...extra,
209
+ });
210
+ }
211
+ export async function withRequestSession(request, run, extra = {}) {
212
+ const session = createRequestSession(request, extra);
213
+ try {
214
+ return await run(session);
215
+ }
216
+ finally {
217
+ session.invalidate();
218
+ }
219
+ }
225
220
  export function createAgentSession(options) {
226
221
  let cachedFilePlan;
227
222
  let cachedFiles;
@@ -237,6 +232,9 @@ export function createAgentSession(options) {
237
232
  let lastFreshnessCheckedAt = 0;
238
233
  let lastFreshnessResult;
239
234
  let freshnessInFlight;
235
+ // Bumped by markChanged. A scan that started under an older generation may have read files before the edit
236
+ // that bumped it, so it must not cache its result.
237
+ let changeGeneration = 0;
240
238
  const invalidate = () => {
241
239
  runSessionInvalidationHooks(session);
242
240
  cachedFilePlan = undefined;
@@ -254,6 +252,12 @@ export function createAgentSession(options) {
254
252
  lastFreshnessResult = undefined;
255
253
  freshnessInFlight = undefined;
256
254
  };
255
+ const markChanged = () => {
256
+ changeGeneration += 1;
257
+ lastFreshnessCheckedAt = 0;
258
+ lastFreshnessResult = undefined;
259
+ freshnessInFlight = undefined;
260
+ };
257
261
  const loadFilePlan = async (discoveryContext) => {
258
262
  if (cachedFilePlan)
259
263
  return cachedFilePlan;
@@ -450,12 +454,15 @@ export function createAgentSession(options) {
450
454
  }
451
455
  if (freshnessInFlight)
452
456
  return freshnessInFlight;
453
- freshnessInFlight = (async () => {
457
+ const generation = changeGeneration;
458
+ const scan = (async () => {
454
459
  if (cachedBase)
455
460
  await cachedBase;
456
461
  else if (cachedFilePlan)
457
462
  await cachedFilePlan;
458
- if (!cachedFileSignatures)
463
+ // The baseline that this scan checks, read before any file is: the stats below cannot be older than it.
464
+ const signatures = cachedFileSignatures;
465
+ if (!signatures)
459
466
  return { state: "fresh" };
460
467
  // Share discovery work within this check. File-only sessions have no indexed
461
468
  // configuration baseline, so they only need to compare discovery signatures.
@@ -467,10 +474,12 @@ export function createAgentSession(options) {
467
474
  resolveAgentSessionFilePlan(options, discoveryContext),
468
475
  ]);
469
476
  const currentSignatures = await collectAgentFileSignatures(currentFilePlan.files);
470
- const signatures = cachedFileSignatures;
471
- const configurationIdentity = cachedConfigurationIdentity;
472
- if (!signatures)
477
+ // `invalidate` dropped that baseline, or a rebuild replaced it, while the files were read. The stats may predate
478
+ // the replacement and report it as changed. This scan then changes nothing: it neither invalidates the newer
479
+ // snapshot nor caches, and what its caller loads next was built after the scan began.
480
+ if (cachedFileSignatures !== signatures)
473
481
  return { state: "fresh" };
482
+ const configurationIdentity = cachedConfigurationIdentity;
474
483
  const diff = diffAgentFileSignatures(signatures, currentSignatures);
475
484
  const configurationChanged = !!currentConfigurationIdentity &&
476
485
  (!!configurationIdentity?.error ||
@@ -516,18 +525,26 @@ export function createAgentSession(options) {
516
525
  };
517
526
  }
518
527
  else {
528
+ // The stats were compared with the baseline that is still the session's, so the change is real even when
529
+ // markChanged detached this scan. Holding the refresh back would starve it while events keep arriving.
519
530
  invalidate();
520
531
  result = { state: "refreshed", changedFiles };
521
532
  }
522
533
  }
523
534
  }
524
- lastFreshnessCheckedAt = Date.now();
525
- lastFreshnessResult = result;
535
+ if (generation === changeGeneration) {
536
+ lastFreshnessCheckedAt = Date.now();
537
+ lastFreshnessResult = result;
538
+ }
526
539
  return result;
527
540
  })().finally(() => {
528
- freshnessInFlight = undefined;
541
+ // `markChanged` and `invalidate` detach a running scan, and a newer one may hold the slot by the time this one
542
+ // ends. That scan is not this one's to clear.
543
+ if (freshnessInFlight === scan)
544
+ freshnessInFlight = undefined;
529
545
  });
530
- return freshnessInFlight;
546
+ freshnessInFlight = scan;
547
+ return scan;
531
548
  };
532
549
  const session = {
533
550
  root: options.root,
@@ -536,6 +553,7 @@ export function createAgentSession(options) {
536
553
  loadProject,
537
554
  loadDuplicateAnalysis,
538
555
  checkFreshness,
556
+ markChanged,
539
557
  invalidate,
540
558
  };
541
559
  return session;