@codragraph/cli 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (909) hide show
  1. package/README.md +341 -0
  2. package/dist/_shared/graph/types.d.ts +81 -0
  3. package/dist/_shared/graph/types.d.ts.map +1 -0
  4. package/dist/_shared/graph/types.js +8 -0
  5. package/dist/_shared/graph/types.js.map +1 -0
  6. package/dist/_shared/index.d.ts +55 -0
  7. package/dist/_shared/index.d.ts.map +1 -0
  8. package/dist/_shared/index.js +39 -0
  9. package/dist/_shared/index.js.map +1 -0
  10. package/dist/_shared/language-detection.d.ts +23 -0
  11. package/dist/_shared/language-detection.d.ts.map +1 -0
  12. package/dist/_shared/language-detection.js +139 -0
  13. package/dist/_shared/language-detection.js.map +1 -0
  14. package/dist/_shared/languages.d.ts +26 -0
  15. package/dist/_shared/languages.d.ts.map +1 -0
  16. package/dist/_shared/languages.js +27 -0
  17. package/dist/_shared/languages.js.map +1 -0
  18. package/dist/_shared/lbug/schema-constants.d.ts +16 -0
  19. package/dist/_shared/lbug/schema-constants.d.ts.map +1 -0
  20. package/dist/_shared/lbug/schema-constants.js +67 -0
  21. package/dist/_shared/lbug/schema-constants.js.map +1 -0
  22. package/dist/_shared/mro-strategy.d.ts +41 -0
  23. package/dist/_shared/mro-strategy.d.ts.map +1 -0
  24. package/dist/_shared/mro-strategy.js +2 -0
  25. package/dist/_shared/mro-strategy.js.map +1 -0
  26. package/dist/_shared/pipeline.d.ts +16 -0
  27. package/dist/_shared/pipeline.d.ts.map +1 -0
  28. package/dist/_shared/pipeline.js +5 -0
  29. package/dist/_shared/pipeline.js.map +1 -0
  30. package/dist/_shared/scope-resolution/def-index.d.ts +36 -0
  31. package/dist/_shared/scope-resolution/def-index.d.ts.map +1 -0
  32. package/dist/_shared/scope-resolution/def-index.js +51 -0
  33. package/dist/_shared/scope-resolution/def-index.js.map +1 -0
  34. package/dist/_shared/scope-resolution/evidence-weights.d.ts +69 -0
  35. package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -0
  36. package/dist/_shared/scope-resolution/evidence-weights.js +84 -0
  37. package/dist/_shared/scope-resolution/evidence-weights.js.map +1 -0
  38. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +139 -0
  39. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -0
  40. package/dist/_shared/scope-resolution/finalize-algorithm.js +479 -0
  41. package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -0
  42. package/dist/_shared/scope-resolution/language-classification.d.ts +26 -0
  43. package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -0
  44. package/dist/_shared/scope-resolution/language-classification.js +44 -0
  45. package/dist/_shared/scope-resolution/language-classification.js.map +1 -0
  46. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts +80 -0
  47. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -0
  48. package/dist/_shared/scope-resolution/method-dispatch-index.js +79 -0
  49. package/dist/_shared/scope-resolution/method-dispatch-index.js.map +1 -0
  50. package/dist/_shared/scope-resolution/module-scope-index.d.ts +46 -0
  51. package/dist/_shared/scope-resolution/module-scope-index.d.ts.map +1 -0
  52. package/dist/_shared/scope-resolution/module-scope-index.js +58 -0
  53. package/dist/_shared/scope-resolution/module-scope-index.js.map +1 -0
  54. package/dist/_shared/scope-resolution/origin-priority.d.ts +14 -0
  55. package/dist/_shared/scope-resolution/origin-priority.d.ts.map +1 -0
  56. package/dist/_shared/scope-resolution/origin-priority.js +21 -0
  57. package/dist/_shared/scope-resolution/origin-priority.js.map +1 -0
  58. package/dist/_shared/scope-resolution/parsed-file.d.ts +76 -0
  59. package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -0
  60. package/dist/_shared/scope-resolution/parsed-file.js +54 -0
  61. package/dist/_shared/scope-resolution/parsed-file.js.map +1 -0
  62. package/dist/_shared/scope-resolution/position-index.d.ts +62 -0
  63. package/dist/_shared/scope-resolution/position-index.d.ts.map +1 -0
  64. package/dist/_shared/scope-resolution/position-index.js +134 -0
  65. package/dist/_shared/scope-resolution/position-index.js.map +1 -0
  66. package/dist/_shared/scope-resolution/qualified-name-index.d.ts +44 -0
  67. package/dist/_shared/scope-resolution/qualified-name-index.d.ts.map +1 -0
  68. package/dist/_shared/scope-resolution/qualified-name-index.js +75 -0
  69. package/dist/_shared/scope-resolution/qualified-name-index.js.map +1 -0
  70. package/dist/_shared/scope-resolution/reference-site.d.ts +75 -0
  71. package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -0
  72. package/dist/_shared/scope-resolution/reference-site.js +24 -0
  73. package/dist/_shared/scope-resolution/reference-site.js.map +1 -0
  74. package/dist/_shared/scope-resolution/registries/class-registry.d.ts +27 -0
  75. package/dist/_shared/scope-resolution/registries/class-registry.d.ts.map +1 -0
  76. package/dist/_shared/scope-resolution/registries/class-registry.js +30 -0
  77. package/dist/_shared/scope-resolution/registries/class-registry.js.map +1 -0
  78. package/dist/_shared/scope-resolution/registries/context.d.ts +69 -0
  79. package/dist/_shared/scope-resolution/registries/context.d.ts.map +1 -0
  80. package/dist/_shared/scope-resolution/registries/context.js +44 -0
  81. package/dist/_shared/scope-resolution/registries/context.js.map +1 -0
  82. package/dist/_shared/scope-resolution/registries/evidence.d.ts +56 -0
  83. package/dist/_shared/scope-resolution/registries/evidence.d.ts.map +1 -0
  84. package/dist/_shared/scope-resolution/registries/evidence.js +150 -0
  85. package/dist/_shared/scope-resolution/registries/evidence.js.map +1 -0
  86. package/dist/_shared/scope-resolution/registries/field-registry.d.ts +26 -0
  87. package/dist/_shared/scope-resolution/registries/field-registry.d.ts.map +1 -0
  88. package/dist/_shared/scope-resolution/registries/field-registry.js +31 -0
  89. package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -0
  90. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts +81 -0
  91. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -0
  92. package/dist/_shared/scope-resolution/registries/lookup-core.js +332 -0
  93. package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -0
  94. package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts +33 -0
  95. package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts.map +1 -0
  96. package/dist/_shared/scope-resolution/registries/lookup-qualified.js +56 -0
  97. package/dist/_shared/scope-resolution/registries/lookup-qualified.js.map +1 -0
  98. package/dist/_shared/scope-resolution/registries/method-registry.d.ts +36 -0
  99. package/dist/_shared/scope-resolution/registries/method-registry.d.ts.map +1 -0
  100. package/dist/_shared/scope-resolution/registries/method-registry.js +32 -0
  101. package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -0
  102. package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts +43 -0
  103. package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts.map +1 -0
  104. package/dist/_shared/scope-resolution/registries/tie-breaks.js +60 -0
  105. package/dist/_shared/scope-resolution/registries/tie-breaks.js.map +1 -0
  106. package/dist/_shared/scope-resolution/resolve-type-ref.d.ts +53 -0
  107. package/dist/_shared/scope-resolution/resolve-type-ref.d.ts.map +1 -0
  108. package/dist/_shared/scope-resolution/resolve-type-ref.js +126 -0
  109. package/dist/_shared/scope-resolution/resolve-type-ref.js.map +1 -0
  110. package/dist/_shared/scope-resolution/scope-id.d.ts +43 -0
  111. package/dist/_shared/scope-resolution/scope-id.d.ts.map +1 -0
  112. package/dist/_shared/scope-resolution/scope-id.js +46 -0
  113. package/dist/_shared/scope-resolution/scope-id.js.map +1 -0
  114. package/dist/_shared/scope-resolution/scope-tree.d.ts +61 -0
  115. package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -0
  116. package/dist/_shared/scope-resolution/scope-tree.js +186 -0
  117. package/dist/_shared/scope-resolution/scope-tree.js.map +1 -0
  118. package/dist/_shared/scope-resolution/shadow/aggregate.d.ts +63 -0
  119. package/dist/_shared/scope-resolution/shadow/aggregate.d.ts.map +1 -0
  120. package/dist/_shared/scope-resolution/shadow/aggregate.js +122 -0
  121. package/dist/_shared/scope-resolution/shadow/aggregate.js.map +1 -0
  122. package/dist/_shared/scope-resolution/shadow/diff.d.ts +59 -0
  123. package/dist/_shared/scope-resolution/shadow/diff.d.ts.map +1 -0
  124. package/dist/_shared/scope-resolution/shadow/diff.js +79 -0
  125. package/dist/_shared/scope-resolution/shadow/diff.js.map +1 -0
  126. package/dist/_shared/scope-resolution/symbol-definition.d.ts +34 -0
  127. package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -0
  128. package/dist/_shared/scope-resolution/symbol-definition.js +12 -0
  129. package/dist/_shared/scope-resolution/symbol-definition.js.map +1 -0
  130. package/dist/_shared/scope-resolution/types.d.ts +356 -0
  131. package/dist/_shared/scope-resolution/types.d.ts.map +1 -0
  132. package/dist/_shared/scope-resolution/types.js +17 -0
  133. package/dist/_shared/scope-resolution/types.js.map +1 -0
  134. package/dist/cli/ai-context.d.ts +27 -0
  135. package/dist/cli/ai-context.js +270 -0
  136. package/dist/cli/analyze.d.ts +43 -0
  137. package/dist/cli/analyze.js +312 -0
  138. package/dist/cli/augment.d.ts +13 -0
  139. package/dist/cli/augment.js +33 -0
  140. package/dist/cli/clean.d.ts +10 -0
  141. package/dist/cli/clean.js +78 -0
  142. package/dist/cli/config.d.ts +27 -0
  143. package/dist/cli/config.js +106 -0
  144. package/dist/cli/eval-server.d.ts +37 -0
  145. package/dist/cli/eval-server.js +398 -0
  146. package/dist/cli/graphstore.d.ts +40 -0
  147. package/dist/cli/graphstore.js +639 -0
  148. package/dist/cli/group.d.ts +2 -0
  149. package/dist/cli/group.js +306 -0
  150. package/dist/cli/index-repo.d.ts +15 -0
  151. package/dist/cli/index-repo.js +120 -0
  152. package/dist/cli/index.d.ts +2 -0
  153. package/dist/cli/index.js +236 -0
  154. package/dist/cli/lazy-action.d.ts +6 -0
  155. package/dist/cli/lazy-action.js +18 -0
  156. package/dist/cli/list.d.ts +6 -0
  157. package/dist/cli/list.js +40 -0
  158. package/dist/cli/mcp.d.ts +8 -0
  159. package/dist/cli/mcp.js +36 -0
  160. package/dist/cli/remove.d.ts +30 -0
  161. package/dist/cli/remove.js +99 -0
  162. package/dist/cli/serve.d.ts +4 -0
  163. package/dist/cli/serve.js +37 -0
  164. package/dist/cli/setup.d.ts +8 -0
  165. package/dist/cli/setup.js +543 -0
  166. package/dist/cli/skill-gen.d.ts +26 -0
  167. package/dist/cli/skill-gen.js +555 -0
  168. package/dist/cli/status.d.ts +6 -0
  169. package/dist/cli/status.js +36 -0
  170. package/dist/cli/tool.d.ts +43 -0
  171. package/dist/cli/tool.js +168 -0
  172. package/dist/cli/wiki.d.ts +21 -0
  173. package/dist/cli/wiki.js +579 -0
  174. package/dist/config/ignore-service.d.ts +35 -0
  175. package/dist/config/ignore-service.js +436 -0
  176. package/dist/config/supported-languages.d.ts +13 -0
  177. package/dist/config/supported-languages.js +13 -0
  178. package/dist/core/augmentation/engine.d.ts +26 -0
  179. package/dist/core/augmentation/engine.js +252 -0
  180. package/dist/core/embeddings/ast-utils.d.ts +22 -0
  181. package/dist/core/embeddings/ast-utils.js +105 -0
  182. package/dist/core/embeddings/character-chunk.d.ts +12 -0
  183. package/dist/core/embeddings/character-chunk.js +43 -0
  184. package/dist/core/embeddings/chunker.d.ts +14 -0
  185. package/dist/core/embeddings/chunker.js +239 -0
  186. package/dist/core/embeddings/embedder.d.ts +65 -0
  187. package/dist/core/embeddings/embedder.js +320 -0
  188. package/dist/core/embeddings/embedding-pipeline.d.ts +62 -0
  189. package/dist/core/embeddings/embedding-pipeline.js +486 -0
  190. package/dist/core/embeddings/http-client.d.ts +31 -0
  191. package/dist/core/embeddings/http-client.js +179 -0
  192. package/dist/core/embeddings/index.d.ts +10 -0
  193. package/dist/core/embeddings/index.js +10 -0
  194. package/dist/core/embeddings/line-index.d.ts +7 -0
  195. package/dist/core/embeddings/line-index.js +42 -0
  196. package/dist/core/embeddings/server-mapping.d.ts +15 -0
  197. package/dist/core/embeddings/server-mapping.js +33 -0
  198. package/dist/core/embeddings/structural-extractor.d.ts +15 -0
  199. package/dist/core/embeddings/structural-extractor.js +58 -0
  200. package/dist/core/embeddings/text-generator.d.ts +31 -0
  201. package/dist/core/embeddings/text-generator.js +208 -0
  202. package/dist/core/embeddings/types.d.ts +207 -0
  203. package/dist/core/embeddings/types.js +200 -0
  204. package/dist/core/git-staleness.d.ts +31 -0
  205. package/dist/core/git-staleness.js +137 -0
  206. package/dist/core/graph/graph.d.ts +2 -0
  207. package/dist/core/graph/graph.js +173 -0
  208. package/dist/core/graph/types.d.ts +36 -0
  209. package/dist/core/graph/types.js +1 -0
  210. package/dist/core/graphstore/index.d.ts +46 -0
  211. package/dist/core/graphstore/index.js +80 -0
  212. package/dist/core/graphstore/lbug-row-source.d.ts +19 -0
  213. package/dist/core/graphstore/lbug-row-source.js +141 -0
  214. package/dist/core/group/bridge-db.d.ts +82 -0
  215. package/dist/core/group/bridge-db.js +460 -0
  216. package/dist/core/group/bridge-schema.d.ts +27 -0
  217. package/dist/core/group/bridge-schema.js +55 -0
  218. package/dist/core/group/config-parser.d.ts +7 -0
  219. package/dist/core/group/config-parser.js +100 -0
  220. package/dist/core/group/contract-extractor.d.ts +7 -0
  221. package/dist/core/group/contract-extractor.js +1 -0
  222. package/dist/core/group/cross-impact.d.ts +41 -0
  223. package/dist/core/group/cross-impact.js +441 -0
  224. package/dist/core/group/extractors/fs-utils.d.ts +10 -0
  225. package/dist/core/group/extractors/fs-utils.js +24 -0
  226. package/dist/core/group/extractors/grpc-extractor.d.ts +25 -0
  227. package/dist/core/group/extractors/grpc-extractor.js +401 -0
  228. package/dist/core/group/extractors/grpc-patterns/go.d.ts +2 -0
  229. package/dist/core/group/extractors/grpc-patterns/go.js +97 -0
  230. package/dist/core/group/extractors/grpc-patterns/index.d.ts +19 -0
  231. package/dist/core/group/extractors/grpc-patterns/index.js +46 -0
  232. package/dist/core/group/extractors/grpc-patterns/java.d.ts +2 -0
  233. package/dist/core/group/extractors/grpc-patterns/java.js +173 -0
  234. package/dist/core/group/extractors/grpc-patterns/node.d.ts +4 -0
  235. package/dist/core/group/extractors/grpc-patterns/node.js +290 -0
  236. package/dist/core/group/extractors/grpc-patterns/proto.d.ts +9 -0
  237. package/dist/core/group/extractors/grpc-patterns/proto.js +134 -0
  238. package/dist/core/group/extractors/grpc-patterns/python.d.ts +2 -0
  239. package/dist/core/group/extractors/grpc-patterns/python.js +67 -0
  240. package/dist/core/group/extractors/grpc-patterns/types.d.ts +50 -0
  241. package/dist/core/group/extractors/grpc-patterns/types.js +1 -0
  242. package/dist/core/group/extractors/http-patterns/go.d.ts +2 -0
  243. package/dist/core/group/extractors/http-patterns/go.js +215 -0
  244. package/dist/core/group/extractors/http-patterns/index.d.ts +17 -0
  245. package/dist/core/group/extractors/http-patterns/index.js +44 -0
  246. package/dist/core/group/extractors/http-patterns/java.d.ts +2 -0
  247. package/dist/core/group/extractors/http-patterns/java.js +253 -0
  248. package/dist/core/group/extractors/http-patterns/node.d.ts +4 -0
  249. package/dist/core/group/extractors/http-patterns/node.js +484 -0
  250. package/dist/core/group/extractors/http-patterns/php.d.ts +2 -0
  251. package/dist/core/group/extractors/http-patterns/php.js +178 -0
  252. package/dist/core/group/extractors/http-patterns/python.d.ts +2 -0
  253. package/dist/core/group/extractors/http-patterns/python.js +133 -0
  254. package/dist/core/group/extractors/http-patterns/types.d.ts +61 -0
  255. package/dist/core/group/extractors/http-patterns/types.js +1 -0
  256. package/dist/core/group/extractors/http-route-extractor.d.ts +21 -0
  257. package/dist/core/group/extractors/http-route-extractor.js +421 -0
  258. package/dist/core/group/extractors/manifest-extractor.d.ts +54 -0
  259. package/dist/core/group/extractors/manifest-extractor.js +292 -0
  260. package/dist/core/group/extractors/topic-extractor.d.ts +8 -0
  261. package/dist/core/group/extractors/topic-extractor.js +97 -0
  262. package/dist/core/group/extractors/topic-patterns/go.d.ts +2 -0
  263. package/dist/core/group/extractors/topic-patterns/go.js +120 -0
  264. package/dist/core/group/extractors/topic-patterns/index.d.ts +14 -0
  265. package/dist/core/group/extractors/topic-patterns/index.js +38 -0
  266. package/dist/core/group/extractors/topic-patterns/java.d.ts +2 -0
  267. package/dist/core/group/extractors/topic-patterns/java.js +80 -0
  268. package/dist/core/group/extractors/topic-patterns/node.d.ts +4 -0
  269. package/dist/core/group/extractors/topic-patterns/node.js +155 -0
  270. package/dist/core/group/extractors/topic-patterns/python.d.ts +2 -0
  271. package/dist/core/group/extractors/topic-patterns/python.js +116 -0
  272. package/dist/core/group/extractors/topic-patterns/types.d.ts +25 -0
  273. package/dist/core/group/extractors/topic-patterns/types.js +10 -0
  274. package/dist/core/group/extractors/tree-sitter-scanner.d.ts +113 -0
  275. package/dist/core/group/extractors/tree-sitter-scanner.js +94 -0
  276. package/dist/core/group/group-path-utils.d.ts +17 -0
  277. package/dist/core/group/group-path-utils.js +40 -0
  278. package/dist/core/group/matching.d.ts +13 -0
  279. package/dist/core/group/matching.js +198 -0
  280. package/dist/core/group/normalization.d.ts +3 -0
  281. package/dist/core/group/normalization.js +115 -0
  282. package/dist/core/group/resolve-at-member.d.ts +10 -0
  283. package/dist/core/group/resolve-at-member.js +31 -0
  284. package/dist/core/group/service-boundary-detector.d.ts +8 -0
  285. package/dist/core/group/service-boundary-detector.js +155 -0
  286. package/dist/core/group/service.d.ts +55 -0
  287. package/dist/core/group/service.js +394 -0
  288. package/dist/core/group/storage.d.ts +9 -0
  289. package/dist/core/group/storage.js +91 -0
  290. package/dist/core/group/sync.d.ts +21 -0
  291. package/dist/core/group/sync.js +196 -0
  292. package/dist/core/group/types.d.ts +160 -0
  293. package/dist/core/group/types.js +1 -0
  294. package/dist/core/ingestion/ast-cache.d.ts +26 -0
  295. package/dist/core/ingestion/ast-cache.js +47 -0
  296. package/dist/core/ingestion/binding-accumulator.d.ts +212 -0
  297. package/dist/core/ingestion/binding-accumulator.js +336 -0
  298. package/dist/core/ingestion/call-extractors/configs/c-cpp.d.ts +3 -0
  299. package/dist/core/ingestion/call-extractors/configs/c-cpp.js +8 -0
  300. package/dist/core/ingestion/call-extractors/configs/csharp.d.ts +2 -0
  301. package/dist/core/ingestion/call-extractors/configs/csharp.js +6 -0
  302. package/dist/core/ingestion/call-extractors/configs/dart.d.ts +2 -0
  303. package/dist/core/ingestion/call-extractors/configs/dart.js +5 -0
  304. package/dist/core/ingestion/call-extractors/configs/go.d.ts +2 -0
  305. package/dist/core/ingestion/call-extractors/configs/go.js +5 -0
  306. package/dist/core/ingestion/call-extractors/configs/jvm.d.ts +3 -0
  307. package/dist/core/ingestion/call-extractors/configs/jvm.js +51 -0
  308. package/dist/core/ingestion/call-extractors/configs/php.d.ts +2 -0
  309. package/dist/core/ingestion/call-extractors/configs/php.js +5 -0
  310. package/dist/core/ingestion/call-extractors/configs/python.d.ts +2 -0
  311. package/dist/core/ingestion/call-extractors/configs/python.js +5 -0
  312. package/dist/core/ingestion/call-extractors/configs/ruby.d.ts +2 -0
  313. package/dist/core/ingestion/call-extractors/configs/ruby.js +5 -0
  314. package/dist/core/ingestion/call-extractors/configs/rust.d.ts +2 -0
  315. package/dist/core/ingestion/call-extractors/configs/rust.js +5 -0
  316. package/dist/core/ingestion/call-extractors/configs/swift.d.ts +2 -0
  317. package/dist/core/ingestion/call-extractors/configs/swift.js +5 -0
  318. package/dist/core/ingestion/call-extractors/configs/typescript-javascript.d.ts +3 -0
  319. package/dist/core/ingestion/call-extractors/configs/typescript-javascript.js +8 -0
  320. package/dist/core/ingestion/call-extractors/generic.d.ts +5 -0
  321. package/dist/core/ingestion/call-extractors/generic.js +59 -0
  322. package/dist/core/ingestion/call-processor.d.ts +235 -0
  323. package/dist/core/ingestion/call-processor.js +2639 -0
  324. package/dist/core/ingestion/call-routing.d.ts +55 -0
  325. package/dist/core/ingestion/call-routing.js +95 -0
  326. package/dist/core/ingestion/call-types.d.ts +135 -0
  327. package/dist/core/ingestion/call-types.js +2 -0
  328. package/dist/core/ingestion/class-extractors/configs/c-cpp.d.ts +3 -0
  329. package/dist/core/ingestion/class-extractors/configs/c-cpp.js +11 -0
  330. package/dist/core/ingestion/class-extractors/configs/csharp.d.ts +2 -0
  331. package/dist/core/ingestion/class-extractors/configs/csharp.js +21 -0
  332. package/dist/core/ingestion/class-extractors/configs/dart.d.ts +2 -0
  333. package/dist/core/ingestion/class-extractors/configs/dart.js +7 -0
  334. package/dist/core/ingestion/class-extractors/configs/go.d.ts +2 -0
  335. package/dist/core/ingestion/class-extractors/configs/go.js +20 -0
  336. package/dist/core/ingestion/class-extractors/configs/jvm.d.ts +3 -0
  337. package/dist/core/ingestion/class-extractors/configs/jvm.js +35 -0
  338. package/dist/core/ingestion/class-extractors/configs/php.d.ts +2 -0
  339. package/dist/core/ingestion/class-extractors/configs/php.js +7 -0
  340. package/dist/core/ingestion/class-extractors/configs/python.d.ts +2 -0
  341. package/dist/core/ingestion/class-extractors/configs/python.js +7 -0
  342. package/dist/core/ingestion/class-extractors/configs/ruby.d.ts +2 -0
  343. package/dist/core/ingestion/class-extractors/configs/ruby.js +7 -0
  344. package/dist/core/ingestion/class-extractors/configs/rust.d.ts +2 -0
  345. package/dist/core/ingestion/class-extractors/configs/rust.js +7 -0
  346. package/dist/core/ingestion/class-extractors/configs/swift.d.ts +2 -0
  347. package/dist/core/ingestion/class-extractors/configs/swift.js +18 -0
  348. package/dist/core/ingestion/class-extractors/configs/typescript-javascript.d.ts +4 -0
  349. package/dist/core/ingestion/class-extractors/configs/typescript-javascript.js +28 -0
  350. package/dist/core/ingestion/class-extractors/generic.d.ts +2 -0
  351. package/dist/core/ingestion/class-extractors/generic.js +135 -0
  352. package/dist/core/ingestion/class-types.d.ts +34 -0
  353. package/dist/core/ingestion/class-types.js +1 -0
  354. package/dist/core/ingestion/cluster-enricher.d.ts +38 -0
  355. package/dist/core/ingestion/cluster-enricher.js +168 -0
  356. package/dist/core/ingestion/cobol/cobol-copy-expander.d.ts +57 -0
  357. package/dist/core/ingestion/cobol/cobol-copy-expander.js +392 -0
  358. package/dist/core/ingestion/cobol/cobol-preprocessor.d.ts +210 -0
  359. package/dist/core/ingestion/cobol/cobol-preprocessor.js +1715 -0
  360. package/dist/core/ingestion/cobol/jcl-parser.d.ts +68 -0
  361. package/dist/core/ingestion/cobol/jcl-parser.js +217 -0
  362. package/dist/core/ingestion/cobol/jcl-processor.d.ts +33 -0
  363. package/dist/core/ingestion/cobol/jcl-processor.js +229 -0
  364. package/dist/core/ingestion/cobol-processor.d.ts +54 -0
  365. package/dist/core/ingestion/cobol-processor.js +1232 -0
  366. package/dist/core/ingestion/community-processor.d.ts +39 -0
  367. package/dist/core/ingestion/community-processor.js +318 -0
  368. package/dist/core/ingestion/constants.d.ts +16 -0
  369. package/dist/core/ingestion/constants.js +16 -0
  370. package/dist/core/ingestion/emit-references.d.ts +88 -0
  371. package/dist/core/ingestion/emit-references.js +229 -0
  372. package/dist/core/ingestion/entry-point-scoring.d.ts +58 -0
  373. package/dist/core/ingestion/entry-point-scoring.js +380 -0
  374. package/dist/core/ingestion/export-detection.d.ts +57 -0
  375. package/dist/core/ingestion/export-detection.js +233 -0
  376. package/dist/core/ingestion/field-extractor.d.ts +29 -0
  377. package/dist/core/ingestion/field-extractor.js +25 -0
  378. package/dist/core/ingestion/field-extractors/configs/c-cpp.d.ts +3 -0
  379. package/dist/core/ingestion/field-extractors/configs/c-cpp.js +104 -0
  380. package/dist/core/ingestion/field-extractors/configs/csharp.d.ts +8 -0
  381. package/dist/core/ingestion/field-extractors/configs/csharp.js +116 -0
  382. package/dist/core/ingestion/field-extractors/configs/dart.d.ts +8 -0
  383. package/dist/core/ingestion/field-extractors/configs/dart.js +78 -0
  384. package/dist/core/ingestion/field-extractors/configs/go.d.ts +11 -0
  385. package/dist/core/ingestion/field-extractors/configs/go.js +60 -0
  386. package/dist/core/ingestion/field-extractors/configs/helpers.d.ts +53 -0
  387. package/dist/core/ingestion/field-extractors/configs/helpers.js +158 -0
  388. package/dist/core/ingestion/field-extractors/configs/jvm.d.ts +3 -0
  389. package/dist/core/ingestion/field-extractors/configs/jvm.js +118 -0
  390. package/dist/core/ingestion/field-extractors/configs/php.d.ts +8 -0
  391. package/dist/core/ingestion/field-extractors/configs/php.js +65 -0
  392. package/dist/core/ingestion/field-extractors/configs/python.d.ts +12 -0
  393. package/dist/core/ingestion/field-extractors/configs/python.js +91 -0
  394. package/dist/core/ingestion/field-extractors/configs/ruby.d.ts +16 -0
  395. package/dist/core/ingestion/field-extractors/configs/ruby.js +76 -0
  396. package/dist/core/ingestion/field-extractors/configs/rust.d.ts +9 -0
  397. package/dist/core/ingestion/field-extractors/configs/rust.js +52 -0
  398. package/dist/core/ingestion/field-extractors/configs/swift.d.ts +8 -0
  399. package/dist/core/ingestion/field-extractors/configs/swift.js +65 -0
  400. package/dist/core/ingestion/field-extractors/configs/typescript-javascript.d.ts +3 -0
  401. package/dist/core/ingestion/field-extractors/configs/typescript-javascript.js +56 -0
  402. package/dist/core/ingestion/field-extractors/generic.d.ts +49 -0
  403. package/dist/core/ingestion/field-extractors/generic.js +117 -0
  404. package/dist/core/ingestion/field-extractors/typescript.d.ts +77 -0
  405. package/dist/core/ingestion/field-extractors/typescript.js +291 -0
  406. package/dist/core/ingestion/field-types.d.ts +61 -0
  407. package/dist/core/ingestion/field-types.js +2 -0
  408. package/dist/core/ingestion/filesystem-walker.d.ts +28 -0
  409. package/dist/core/ingestion/filesystem-walker.js +91 -0
  410. package/dist/core/ingestion/finalize-orchestrator.d.ts +63 -0
  411. package/dist/core/ingestion/finalize-orchestrator.js +139 -0
  412. package/dist/core/ingestion/framework-detection.d.ts +150 -0
  413. package/dist/core/ingestion/framework-detection.js +786 -0
  414. package/dist/core/ingestion/heritage-extractors/configs/go.d.ts +13 -0
  415. package/dist/core/ingestion/heritage-extractors/configs/go.js +20 -0
  416. package/dist/core/ingestion/heritage-extractors/configs/ruby.d.ts +18 -0
  417. package/dist/core/ingestion/heritage-extractors/configs/ruby.js +65 -0
  418. package/dist/core/ingestion/heritage-extractors/generic.d.ts +23 -0
  419. package/dist/core/ingestion/heritage-extractors/generic.js +47 -0
  420. package/dist/core/ingestion/heritage-processor.d.ts +54 -0
  421. package/dist/core/ingestion/heritage-processor.js +360 -0
  422. package/dist/core/ingestion/heritage-types.d.ts +73 -0
  423. package/dist/core/ingestion/heritage-types.js +2 -0
  424. package/dist/core/ingestion/import-processor.d.ts +23 -0
  425. package/dist/core/ingestion/import-processor.js +373 -0
  426. package/dist/core/ingestion/import-resolvers/configs/c-cpp.d.ts +7 -0
  427. package/dist/core/ingestion/import-resolvers/configs/c-cpp.js +14 -0
  428. package/dist/core/ingestion/import-resolvers/configs/csharp.d.ts +8 -0
  429. package/dist/core/ingestion/import-resolvers/configs/csharp.js +27 -0
  430. package/dist/core/ingestion/import-resolvers/configs/dart.d.ts +17 -0
  431. package/dist/core/ingestion/import-resolvers/configs/dart.js +54 -0
  432. package/dist/core/ingestion/import-resolvers/configs/go.d.ts +8 -0
  433. package/dist/core/ingestion/import-resolvers/configs/go.js +26 -0
  434. package/dist/core/ingestion/import-resolvers/configs/jvm.d.ts +13 -0
  435. package/dist/core/ingestion/import-resolvers/configs/jvm.js +68 -0
  436. package/dist/core/ingestion/import-resolvers/configs/php.d.ts +8 -0
  437. package/dist/core/ingestion/import-resolvers/configs/php.js +15 -0
  438. package/dist/core/ingestion/import-resolvers/configs/python.d.ts +12 -0
  439. package/dist/core/ingestion/import-resolvers/configs/python.js +41 -0
  440. package/dist/core/ingestion/import-resolvers/configs/ruby.d.ts +8 -0
  441. package/dist/core/ingestion/import-resolvers/configs/ruby.js +16 -0
  442. package/dist/core/ingestion/import-resolvers/configs/rust.d.ts +8 -0
  443. package/dist/core/ingestion/import-resolvers/configs/rust.js +54 -0
  444. package/dist/core/ingestion/import-resolvers/configs/swift.d.ts +8 -0
  445. package/dist/core/ingestion/import-resolvers/configs/swift.js +29 -0
  446. package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.d.ts +9 -0
  447. package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.js +23 -0
  448. package/dist/core/ingestion/import-resolvers/csharp.d.ts +18 -0
  449. package/dist/core/ingestion/import-resolvers/csharp.js +115 -0
  450. package/dist/core/ingestion/import-resolvers/go.d.ts +17 -0
  451. package/dist/core/ingestion/import-resolvers/go.js +46 -0
  452. package/dist/core/ingestion/import-resolvers/jvm.d.ts +27 -0
  453. package/dist/core/ingestion/import-resolvers/jvm.js +106 -0
  454. package/dist/core/ingestion/import-resolvers/php.d.ts +24 -0
  455. package/dist/core/ingestion/import-resolvers/php.js +77 -0
  456. package/dist/core/ingestion/import-resolvers/python.d.ts +22 -0
  457. package/dist/core/ingestion/import-resolvers/python.js +72 -0
  458. package/dist/core/ingestion/import-resolvers/resolver-factory.d.ts +24 -0
  459. package/dist/core/ingestion/import-resolvers/resolver-factory.js +33 -0
  460. package/dist/core/ingestion/import-resolvers/ruby.d.ts +14 -0
  461. package/dist/core/ingestion/import-resolvers/ruby.js +17 -0
  462. package/dist/core/ingestion/import-resolvers/rust.d.ts +17 -0
  463. package/dist/core/ingestion/import-resolvers/rust.js +75 -0
  464. package/dist/core/ingestion/import-resolvers/standard.d.ts +30 -0
  465. package/dist/core/ingestion/import-resolvers/standard.js +142 -0
  466. package/dist/core/ingestion/import-resolvers/types.d.ts +68 -0
  467. package/dist/core/ingestion/import-resolvers/types.js +6 -0
  468. package/dist/core/ingestion/import-resolvers/utils.d.ts +35 -0
  469. package/dist/core/ingestion/import-resolvers/utils.js +149 -0
  470. package/dist/core/ingestion/import-target-adapter.d.ts +73 -0
  471. package/dist/core/ingestion/import-target-adapter.js +95 -0
  472. package/dist/core/ingestion/language-config.d.ts +52 -0
  473. package/dist/core/ingestion/language-config.js +181 -0
  474. package/dist/core/ingestion/language-provider.d.ts +410 -0
  475. package/dist/core/ingestion/language-provider.js +24 -0
  476. package/dist/core/ingestion/languages/c-cpp.d.ts +12 -0
  477. package/dist/core/ingestion/languages/c-cpp.js +329 -0
  478. package/dist/core/ingestion/languages/cobol.d.ts +1 -0
  479. package/dist/core/ingestion/languages/cobol.js +26 -0
  480. package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +21 -0
  481. package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +56 -0
  482. package/dist/core/ingestion/languages/csharp/arity-metadata.d.ts +26 -0
  483. package/dist/core/ingestion/languages/csharp/arity-metadata.js +46 -0
  484. package/dist/core/ingestion/languages/csharp/arity.d.ts +23 -0
  485. package/dist/core/ingestion/languages/csharp/arity.js +37 -0
  486. package/dist/core/ingestion/languages/csharp/cache-stats.d.ts +15 -0
  487. package/dist/core/ingestion/languages/csharp/cache-stats.js +26 -0
  488. package/dist/core/ingestion/languages/csharp/captures.d.ts +19 -0
  489. package/dist/core/ingestion/languages/csharp/captures.js +249 -0
  490. package/dist/core/ingestion/languages/csharp/import-decomposer.d.ts +19 -0
  491. package/dist/core/ingestion/languages/csharp/import-decomposer.js +93 -0
  492. package/dist/core/ingestion/languages/csharp/import-target.d.ts +25 -0
  493. package/dist/core/ingestion/languages/csharp/import-target.js +123 -0
  494. package/dist/core/ingestion/languages/csharp/index.d.ts +82 -0
  495. package/dist/core/ingestion/languages/csharp/index.js +82 -0
  496. package/dist/core/ingestion/languages/csharp/interpret.d.ts +15 -0
  497. package/dist/core/ingestion/languages/csharp/interpret.js +132 -0
  498. package/dist/core/ingestion/languages/csharp/merge-bindings.d.ts +27 -0
  499. package/dist/core/ingestion/languages/csharp/merge-bindings.js +55 -0
  500. package/dist/core/ingestion/languages/csharp/namespace-siblings.d.ts +50 -0
  501. package/dist/core/ingestion/languages/csharp/namespace-siblings.js +374 -0
  502. package/dist/core/ingestion/languages/csharp/query.d.ts +35 -0
  503. package/dist/core/ingestion/languages/csharp/query.js +515 -0
  504. package/dist/core/ingestion/languages/csharp/receiver-binding.d.ts +31 -0
  505. package/dist/core/ingestion/languages/csharp/receiver-binding.js +135 -0
  506. package/dist/core/ingestion/languages/csharp/scope-resolver.d.ts +10 -0
  507. package/dist/core/ingestion/languages/csharp/scope-resolver.js +63 -0
  508. package/dist/core/ingestion/languages/csharp/simple-hooks.d.ts +53 -0
  509. package/dist/core/ingestion/languages/csharp/simple-hooks.js +76 -0
  510. package/dist/core/ingestion/languages/csharp.d.ts +8 -0
  511. package/dist/core/ingestion/languages/csharp.js +152 -0
  512. package/dist/core/ingestion/languages/dart.d.ts +12 -0
  513. package/dist/core/ingestion/languages/dart.js +102 -0
  514. package/dist/core/ingestion/languages/go.d.ts +11 -0
  515. package/dist/core/ingestion/languages/go.js +44 -0
  516. package/dist/core/ingestion/languages/index.d.ts +39 -0
  517. package/dist/core/ingestion/languages/index.js +64 -0
  518. package/dist/core/ingestion/languages/java.d.ts +9 -0
  519. package/dist/core/ingestion/languages/java.js +44 -0
  520. package/dist/core/ingestion/languages/kotlin.d.ts +9 -0
  521. package/dist/core/ingestion/languages/kotlin.js +123 -0
  522. package/dist/core/ingestion/languages/php.d.ts +8 -0
  523. package/dist/core/ingestion/languages/php.js +240 -0
  524. package/dist/core/ingestion/languages/python/arity-metadata.d.ts +24 -0
  525. package/dist/core/ingestion/languages/python/arity-metadata.js +45 -0
  526. package/dist/core/ingestion/languages/python/arity.d.ts +22 -0
  527. package/dist/core/ingestion/languages/python/arity.js +38 -0
  528. package/dist/core/ingestion/languages/python/cache-stats.d.ts +17 -0
  529. package/dist/core/ingestion/languages/python/cache-stats.js +28 -0
  530. package/dist/core/ingestion/languages/python/captures.d.ts +19 -0
  531. package/dist/core/ingestion/languages/python/captures.js +106 -0
  532. package/dist/core/ingestion/languages/python/import-decomposer.d.ts +15 -0
  533. package/dist/core/ingestion/languages/python/import-decomposer.js +112 -0
  534. package/dist/core/ingestion/languages/python/import-target.d.ts +21 -0
  535. package/dist/core/ingestion/languages/python/import-target.js +99 -0
  536. package/dist/core/ingestion/languages/python/index.d.ts +80 -0
  537. package/dist/core/ingestion/languages/python/index.js +80 -0
  538. package/dist/core/ingestion/languages/python/interpret.d.ts +15 -0
  539. package/dist/core/ingestion/languages/python/interpret.js +191 -0
  540. package/dist/core/ingestion/languages/python/merge-bindings.d.ts +16 -0
  541. package/dist/core/ingestion/languages/python/merge-bindings.js +44 -0
  542. package/dist/core/ingestion/languages/python/query.d.ts +9 -0
  543. package/dist/core/ingestion/languages/python/query.js +267 -0
  544. package/dist/core/ingestion/languages/python/receiver-binding.d.ts +21 -0
  545. package/dist/core/ingestion/languages/python/receiver-binding.js +116 -0
  546. package/dist/core/ingestion/languages/python/scope-resolver.d.ts +16 -0
  547. package/dist/core/ingestion/languages/python/scope-resolver.js +53 -0
  548. package/dist/core/ingestion/languages/python/simple-hooks.d.ts +23 -0
  549. package/dist/core/ingestion/languages/python/simple-hooks.js +35 -0
  550. package/dist/core/ingestion/languages/python.d.ts +12 -0
  551. package/dist/core/ingestion/languages/python.js +91 -0
  552. package/dist/core/ingestion/languages/ruby.d.ts +9 -0
  553. package/dist/core/ingestion/languages/ruby.js +210 -0
  554. package/dist/core/ingestion/languages/rust.d.ts +12 -0
  555. package/dist/core/ingestion/languages/rust.js +132 -0
  556. package/dist/core/ingestion/languages/swift.d.ts +12 -0
  557. package/dist/core/ingestion/languages/swift.js +244 -0
  558. package/dist/core/ingestion/languages/typescript.d.ts +11 -0
  559. package/dist/core/ingestion/languages/typescript.js +184 -0
  560. package/dist/core/ingestion/languages/vue.d.ts +13 -0
  561. package/dist/core/ingestion/languages/vue.js +77 -0
  562. package/dist/core/ingestion/markdown-processor.d.ts +17 -0
  563. package/dist/core/ingestion/markdown-processor.js +124 -0
  564. package/dist/core/ingestion/method-extractors/configs/c-cpp.d.ts +3 -0
  565. package/dist/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
  566. package/dist/core/ingestion/method-extractors/configs/csharp.d.ts +2 -0
  567. package/dist/core/ingestion/method-extractors/configs/csharp.js +287 -0
  568. package/dist/core/ingestion/method-extractors/configs/dart.d.ts +2 -0
  569. package/dist/core/ingestion/method-extractors/configs/dart.js +376 -0
  570. package/dist/core/ingestion/method-extractors/configs/go.d.ts +2 -0
  571. package/dist/core/ingestion/method-extractors/configs/go.js +176 -0
  572. package/dist/core/ingestion/method-extractors/configs/jvm.d.ts +3 -0
  573. package/dist/core/ingestion/method-extractors/configs/jvm.js +336 -0
  574. package/dist/core/ingestion/method-extractors/configs/php.d.ts +2 -0
  575. package/dist/core/ingestion/method-extractors/configs/php.js +304 -0
  576. package/dist/core/ingestion/method-extractors/configs/python.d.ts +2 -0
  577. package/dist/core/ingestion/method-extractors/configs/python.js +309 -0
  578. package/dist/core/ingestion/method-extractors/configs/ruby.d.ts +2 -0
  579. package/dist/core/ingestion/method-extractors/configs/ruby.js +286 -0
  580. package/dist/core/ingestion/method-extractors/configs/rust.d.ts +2 -0
  581. package/dist/core/ingestion/method-extractors/configs/rust.js +195 -0
  582. package/dist/core/ingestion/method-extractors/configs/swift.d.ts +2 -0
  583. package/dist/core/ingestion/method-extractors/configs/swift.js +277 -0
  584. package/dist/core/ingestion/method-extractors/configs/typescript-javascript.d.ts +3 -0
  585. package/dist/core/ingestion/method-extractors/configs/typescript-javascript.js +338 -0
  586. package/dist/core/ingestion/method-extractors/generic.d.ts +11 -0
  587. package/dist/core/ingestion/method-extractors/generic.js +204 -0
  588. package/dist/core/ingestion/method-types.d.ts +90 -0
  589. package/dist/core/ingestion/method-types.js +2 -0
  590. package/dist/core/ingestion/model/field-registry.d.ts +18 -0
  591. package/dist/core/ingestion/model/field-registry.js +22 -0
  592. package/dist/core/ingestion/model/heritage-map.d.ts +105 -0
  593. package/dist/core/ingestion/model/heritage-map.js +260 -0
  594. package/dist/core/ingestion/model/index.d.ts +20 -0
  595. package/dist/core/ingestion/model/index.js +43 -0
  596. package/dist/core/ingestion/model/method-registry.d.ts +71 -0
  597. package/dist/core/ingestion/model/method-registry.js +134 -0
  598. package/dist/core/ingestion/model/registration-table.d.ts +138 -0
  599. package/dist/core/ingestion/model/registration-table.js +224 -0
  600. package/dist/core/ingestion/model/resolution-context.d.ts +93 -0
  601. package/dist/core/ingestion/model/resolution-context.js +337 -0
  602. package/dist/core/ingestion/model/resolve.d.ts +61 -0
  603. package/dist/core/ingestion/model/resolve.js +381 -0
  604. package/dist/core/ingestion/model/scope-resolution-indexes.d.ts +59 -0
  605. package/dist/core/ingestion/model/scope-resolution-indexes.js +42 -0
  606. package/dist/core/ingestion/model/semantic-model.d.ts +150 -0
  607. package/dist/core/ingestion/model/semantic-model.js +175 -0
  608. package/dist/core/ingestion/model/symbol-table.d.ts +200 -0
  609. package/dist/core/ingestion/model/symbol-table.js +206 -0
  610. package/dist/core/ingestion/model/type-registry.d.ts +39 -0
  611. package/dist/core/ingestion/model/type-registry.js +62 -0
  612. package/dist/core/ingestion/mro-processor.d.ts +46 -0
  613. package/dist/core/ingestion/mro-processor.js +597 -0
  614. package/dist/core/ingestion/named-bindings/csharp.d.ts +3 -0
  615. package/dist/core/ingestion/named-bindings/csharp.js +37 -0
  616. package/dist/core/ingestion/named-bindings/java.d.ts +3 -0
  617. package/dist/core/ingestion/named-bindings/java.js +29 -0
  618. package/dist/core/ingestion/named-bindings/kotlin.d.ts +3 -0
  619. package/dist/core/ingestion/named-bindings/kotlin.js +36 -0
  620. package/dist/core/ingestion/named-bindings/php.d.ts +3 -0
  621. package/dist/core/ingestion/named-bindings/php.js +61 -0
  622. package/dist/core/ingestion/named-bindings/python.d.ts +3 -0
  623. package/dist/core/ingestion/named-bindings/python.js +49 -0
  624. package/dist/core/ingestion/named-bindings/rust.d.ts +3 -0
  625. package/dist/core/ingestion/named-bindings/rust.js +66 -0
  626. package/dist/core/ingestion/named-bindings/types.d.ts +16 -0
  627. package/dist/core/ingestion/named-bindings/types.js +6 -0
  628. package/dist/core/ingestion/named-bindings/typescript.d.ts +3 -0
  629. package/dist/core/ingestion/named-bindings/typescript.js +58 -0
  630. package/dist/core/ingestion/parsing-processor.d.ts +40 -0
  631. package/dist/core/ingestion/parsing-processor.js +576 -0
  632. package/dist/core/ingestion/pipeline-phases/cobol.d.ts +16 -0
  633. package/dist/core/ingestion/pipeline-phases/cobol.js +45 -0
  634. package/dist/core/ingestion/pipeline-phases/communities.d.ts +16 -0
  635. package/dist/core/ingestion/pipeline-phases/communities.js +62 -0
  636. package/dist/core/ingestion/pipeline-phases/cross-file-impl.d.ts +17 -0
  637. package/dist/core/ingestion/pipeline-phases/cross-file-impl.js +156 -0
  638. package/dist/core/ingestion/pipeline-phases/cross-file.d.ts +37 -0
  639. package/dist/core/ingestion/pipeline-phases/cross-file.js +63 -0
  640. package/dist/core/ingestion/pipeline-phases/index.d.ts +22 -0
  641. package/dist/core/ingestion/pipeline-phases/index.js +23 -0
  642. package/dist/core/ingestion/pipeline-phases/markdown.d.ts +17 -0
  643. package/dist/core/ingestion/pipeline-phases/markdown.js +33 -0
  644. package/dist/core/ingestion/pipeline-phases/mro.d.ts +18 -0
  645. package/dist/core/ingestion/pipeline-phases/mro.js +36 -0
  646. package/dist/core/ingestion/pipeline-phases/orm-extraction.d.ts +22 -0
  647. package/dist/core/ingestion/pipeline-phases/orm-extraction.js +92 -0
  648. package/dist/core/ingestion/pipeline-phases/orm.d.ts +15 -0
  649. package/dist/core/ingestion/pipeline-phases/orm.js +74 -0
  650. package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +58 -0
  651. package/dist/core/ingestion/pipeline-phases/parse-impl.js +458 -0
  652. package/dist/core/ingestion/pipeline-phases/parse.d.ts +74 -0
  653. package/dist/core/ingestion/pipeline-phases/parse.js +33 -0
  654. package/dist/core/ingestion/pipeline-phases/processes.d.ts +16 -0
  655. package/dist/core/ingestion/pipeline-phases/processes.js +143 -0
  656. package/dist/core/ingestion/pipeline-phases/routes.d.ts +21 -0
  657. package/dist/core/ingestion/pipeline-phases/routes.js +243 -0
  658. package/dist/core/ingestion/pipeline-phases/runner.d.ts +22 -0
  659. package/dist/core/ingestion/pipeline-phases/runner.js +203 -0
  660. package/dist/core/ingestion/pipeline-phases/scan.d.ts +21 -0
  661. package/dist/core/ingestion/pipeline-phases/scan.js +46 -0
  662. package/dist/core/ingestion/pipeline-phases/structure.d.ts +27 -0
  663. package/dist/core/ingestion/pipeline-phases/structure.js +35 -0
  664. package/dist/core/ingestion/pipeline-phases/tools.d.ts +20 -0
  665. package/dist/core/ingestion/pipeline-phases/tools.js +79 -0
  666. package/dist/core/ingestion/pipeline-phases/types.d.ts +79 -0
  667. package/dist/core/ingestion/pipeline-phases/types.js +37 -0
  668. package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.d.ts +70 -0
  669. package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.js +312 -0
  670. package/dist/core/ingestion/pipeline.d.ts +36 -0
  671. package/dist/core/ingestion/pipeline.js +89 -0
  672. package/dist/core/ingestion/process-processor.d.ts +51 -0
  673. package/dist/core/ingestion/process-processor.js +317 -0
  674. package/dist/core/ingestion/registry-primary-flag.d.ts +86 -0
  675. package/dist/core/ingestion/registry-primary-flag.js +111 -0
  676. package/dist/core/ingestion/resolve-references.d.ts +63 -0
  677. package/dist/core/ingestion/resolve-references.js +175 -0
  678. package/dist/core/ingestion/route-extractors/expo.d.ts +1 -0
  679. package/dist/core/ingestion/route-extractors/expo.js +36 -0
  680. package/dist/core/ingestion/route-extractors/middleware.d.ts +47 -0
  681. package/dist/core/ingestion/route-extractors/middleware.js +167 -0
  682. package/dist/core/ingestion/route-extractors/nextjs.d.ts +3 -0
  683. package/dist/core/ingestion/route-extractors/nextjs.js +76 -0
  684. package/dist/core/ingestion/route-extractors/php.d.ts +7 -0
  685. package/dist/core/ingestion/route-extractors/php.js +22 -0
  686. package/dist/core/ingestion/route-extractors/response-shapes.d.ts +20 -0
  687. package/dist/core/ingestion/route-extractors/response-shapes.js +294 -0
  688. package/dist/core/ingestion/scope-extractor-bridge.d.ts +32 -0
  689. package/dist/core/ingestion/scope-extractor-bridge.js +44 -0
  690. package/dist/core/ingestion/scope-extractor.d.ts +86 -0
  691. package/dist/core/ingestion/scope-extractor.js +758 -0
  692. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +372 -0
  693. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +212 -0
  694. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +43 -0
  695. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +79 -0
  696. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +57 -0
  697. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +112 -0
  698. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +17 -0
  699. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +46 -0
  700. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.d.ts +19 -0
  701. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +30 -0
  702. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +37 -0
  703. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +113 -0
  704. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +38 -0
  705. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +73 -0
  706. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +42 -0
  707. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +198 -0
  708. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +27 -0
  709. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +131 -0
  710. package/dist/core/ingestion/scope-resolution/passes/imported-return-types.d.ts +48 -0
  711. package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +130 -0
  712. package/dist/core/ingestion/scope-resolution/passes/mro.d.ts +42 -0
  713. package/dist/core/ingestion/scope-resolution/passes/mro.js +99 -0
  714. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +26 -0
  715. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +61 -0
  716. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +46 -0
  717. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +327 -0
  718. package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +47 -0
  719. package/dist/core/ingestion/scope-resolution/pipeline/phase.js +130 -0
  720. package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.d.ts +68 -0
  721. package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +125 -0
  722. package/dist/core/ingestion/scope-resolution/pipeline/registry.d.ts +17 -0
  723. package/dist/core/ingestion/scope-resolution/pipeline/registry.js +21 -0
  724. package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +66 -0
  725. package/dist/core/ingestion/scope-resolution/pipeline/run.js +157 -0
  726. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +36 -0
  727. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +52 -0
  728. package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +127 -0
  729. package/dist/core/ingestion/scope-resolution/scope/walkers.js +349 -0
  730. package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +52 -0
  731. package/dist/core/ingestion/scope-resolution/workspace-index.js +61 -0
  732. package/dist/core/ingestion/shadow-harness.d.ts +113 -0
  733. package/dist/core/ingestion/shadow-harness.js +148 -0
  734. package/dist/core/ingestion/structure-processor.d.ts +2 -0
  735. package/dist/core/ingestion/structure-processor.js +36 -0
  736. package/dist/core/ingestion/tree-sitter-queries.d.ts +16 -0
  737. package/dist/core/ingestion/tree-sitter-queries.js +1338 -0
  738. package/dist/core/ingestion/type-env.d.ts +86 -0
  739. package/dist/core/ingestion/type-env.js +1128 -0
  740. package/dist/core/ingestion/type-extractors/c-cpp.d.ts +7 -0
  741. package/dist/core/ingestion/type-extractors/c-cpp.js +532 -0
  742. package/dist/core/ingestion/type-extractors/csharp.d.ts +2 -0
  743. package/dist/core/ingestion/type-extractors/csharp.js +583 -0
  744. package/dist/core/ingestion/type-extractors/dart.d.ts +15 -0
  745. package/dist/core/ingestion/type-extractors/dart.js +369 -0
  746. package/dist/core/ingestion/type-extractors/go.d.ts +2 -0
  747. package/dist/core/ingestion/type-extractors/go.js +513 -0
  748. package/dist/core/ingestion/type-extractors/jvm.d.ts +3 -0
  749. package/dist/core/ingestion/type-extractors/jvm.js +856 -0
  750. package/dist/core/ingestion/type-extractors/php.d.ts +2 -0
  751. package/dist/core/ingestion/type-extractors/php.js +534 -0
  752. package/dist/core/ingestion/type-extractors/python.d.ts +2 -0
  753. package/dist/core/ingestion/type-extractors/python.js +474 -0
  754. package/dist/core/ingestion/type-extractors/ruby.d.ts +2 -0
  755. package/dist/core/ingestion/type-extractors/ruby.js +377 -0
  756. package/dist/core/ingestion/type-extractors/rust.d.ts +2 -0
  757. package/dist/core/ingestion/type-extractors/rust.js +515 -0
  758. package/dist/core/ingestion/type-extractors/shared.d.ts +131 -0
  759. package/dist/core/ingestion/type-extractors/shared.js +796 -0
  760. package/dist/core/ingestion/type-extractors/swift.d.ts +2 -0
  761. package/dist/core/ingestion/type-extractors/swift.js +484 -0
  762. package/dist/core/ingestion/type-extractors/types.d.ts +172 -0
  763. package/dist/core/ingestion/type-extractors/types.js +1 -0
  764. package/dist/core/ingestion/type-extractors/typescript.d.ts +2 -0
  765. package/dist/core/ingestion/type-extractors/typescript.js +661 -0
  766. package/dist/core/ingestion/utils/ast-helpers.d.ts +89 -0
  767. package/dist/core/ingestion/utils/ast-helpers.js +535 -0
  768. package/dist/core/ingestion/utils/call-analysis.d.ts +75 -0
  769. package/dist/core/ingestion/utils/call-analysis.js +574 -0
  770. package/dist/core/ingestion/utils/env.d.ts +10 -0
  771. package/dist/core/ingestion/utils/env.js +10 -0
  772. package/dist/core/ingestion/utils/event-loop.d.ts +5 -0
  773. package/dist/core/ingestion/utils/event-loop.js +5 -0
  774. package/dist/core/ingestion/utils/graph-sort.d.ts +58 -0
  775. package/dist/core/ingestion/utils/graph-sort.js +100 -0
  776. package/dist/core/ingestion/utils/max-file-size.d.ts +20 -0
  777. package/dist/core/ingestion/utils/max-file-size.js +52 -0
  778. package/dist/core/ingestion/utils/method-props.d.ts +32 -0
  779. package/dist/core/ingestion/utils/method-props.js +147 -0
  780. package/dist/core/ingestion/utils/ruby-self-call.d.ts +52 -0
  781. package/dist/core/ingestion/utils/ruby-self-call.js +59 -0
  782. package/dist/core/ingestion/utils/verbose.d.ts +1 -0
  783. package/dist/core/ingestion/utils/verbose.js +7 -0
  784. package/dist/core/ingestion/variable-extractors/configs/c-cpp.d.ts +3 -0
  785. package/dist/core/ingestion/variable-extractors/configs/c-cpp.js +81 -0
  786. package/dist/core/ingestion/variable-extractors/configs/csharp.d.ts +9 -0
  787. package/dist/core/ingestion/variable-extractors/configs/csharp.js +63 -0
  788. package/dist/core/ingestion/variable-extractors/configs/dart.d.ts +2 -0
  789. package/dist/core/ingestion/variable-extractors/configs/dart.js +94 -0
  790. package/dist/core/ingestion/variable-extractors/configs/go.d.ts +2 -0
  791. package/dist/core/ingestion/variable-extractors/configs/go.js +83 -0
  792. package/dist/core/ingestion/variable-extractors/configs/jvm.d.ts +18 -0
  793. package/dist/core/ingestion/variable-extractors/configs/jvm.js +115 -0
  794. package/dist/core/ingestion/variable-extractors/configs/php.d.ts +14 -0
  795. package/dist/core/ingestion/variable-extractors/configs/php.js +58 -0
  796. package/dist/core/ingestion/variable-extractors/configs/python.d.ts +2 -0
  797. package/dist/core/ingestion/variable-extractors/configs/python.js +101 -0
  798. package/dist/core/ingestion/variable-extractors/configs/ruby.d.ts +11 -0
  799. package/dist/core/ingestion/variable-extractors/configs/ruby.js +52 -0
  800. package/dist/core/ingestion/variable-extractors/configs/rust.d.ts +2 -0
  801. package/dist/core/ingestion/variable-extractors/configs/rust.js +76 -0
  802. package/dist/core/ingestion/variable-extractors/configs/swift.d.ts +2 -0
  803. package/dist/core/ingestion/variable-extractors/configs/swift.js +88 -0
  804. package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.d.ts +3 -0
  805. package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.js +83 -0
  806. package/dist/core/ingestion/variable-extractors/generic.d.ts +5 -0
  807. package/dist/core/ingestion/variable-extractors/generic.js +80 -0
  808. package/dist/core/ingestion/variable-types.d.ts +82 -0
  809. package/dist/core/ingestion/variable-types.js +2 -0
  810. package/dist/core/ingestion/vue-sfc-extractor.d.ts +44 -0
  811. package/dist/core/ingestion/vue-sfc-extractor.js +94 -0
  812. package/dist/core/ingestion/workers/parse-worker.d.ts +198 -0
  813. package/dist/core/ingestion/workers/parse-worker.js +1928 -0
  814. package/dist/core/ingestion/workers/worker-pool.d.ts +16 -0
  815. package/dist/core/ingestion/workers/worker-pool.js +126 -0
  816. package/dist/core/lbug/csv-generator.d.ts +33 -0
  817. package/dist/core/lbug/csv-generator.js +459 -0
  818. package/dist/core/lbug/lbug-adapter.d.ts +173 -0
  819. package/dist/core/lbug/lbug-adapter.js +1188 -0
  820. package/dist/core/lbug/pool-adapter.d.ts +93 -0
  821. package/dist/core/lbug/pool-adapter.js +543 -0
  822. package/dist/core/lbug/schema.d.ts +62 -0
  823. package/dist/core/lbug/schema.js +484 -0
  824. package/dist/core/run-analyze.d.ts +72 -0
  825. package/dist/core/run-analyze.js +315 -0
  826. package/dist/core/search/bm25-index.d.ts +41 -0
  827. package/dist/core/search/bm25-index.js +209 -0
  828. package/dist/core/search/hybrid-search.d.ts +49 -0
  829. package/dist/core/search/hybrid-search.js +118 -0
  830. package/dist/core/search/phase-timer.d.ts +72 -0
  831. package/dist/core/search/phase-timer.js +106 -0
  832. package/dist/core/tree-sitter/parser-loader.d.ts +8 -0
  833. package/dist/core/tree-sitter/parser-loader.js +84 -0
  834. package/dist/core/wiki/cursor-client.d.ts +31 -0
  835. package/dist/core/wiki/cursor-client.js +122 -0
  836. package/dist/core/wiki/generator.d.ts +129 -0
  837. package/dist/core/wiki/generator.js +898 -0
  838. package/dist/core/wiki/graph-queries.d.ts +84 -0
  839. package/dist/core/wiki/graph-queries.js +244 -0
  840. package/dist/core/wiki/html-viewer.d.ts +10 -0
  841. package/dist/core/wiki/html-viewer.js +303 -0
  842. package/dist/core/wiki/llm-client.d.ts +63 -0
  843. package/dist/core/wiki/llm-client.js +234 -0
  844. package/dist/core/wiki/prompts.d.ts +53 -0
  845. package/dist/core/wiki/prompts.js +181 -0
  846. package/dist/lib/utils.d.ts +1 -0
  847. package/dist/lib/utils.js +3 -0
  848. package/dist/mcp/compatible-stdio-transport.d.ts +25 -0
  849. package/dist/mcp/compatible-stdio-transport.js +200 -0
  850. package/dist/mcp/core/embedder.d.ts +27 -0
  851. package/dist/mcp/core/embedder.js +122 -0
  852. package/dist/mcp/core/lbug-adapter.d.ts +5 -0
  853. package/dist/mcp/core/lbug-adapter.js +5 -0
  854. package/dist/mcp/local/graphstore-handler.d.ts +214 -0
  855. package/dist/mcp/local/graphstore-handler.js +272 -0
  856. package/dist/mcp/local/local-backend.d.ts +347 -0
  857. package/dist/mcp/local/local-backend.js +3218 -0
  858. package/dist/mcp/resources.d.ts +62 -0
  859. package/dist/mcp/resources.js +696 -0
  860. package/dist/mcp/server.d.ts +23 -0
  861. package/dist/mcp/server.js +533 -0
  862. package/dist/mcp/staleness.d.ts +5 -0
  863. package/dist/mcp/staleness.js +4 -0
  864. package/dist/mcp/tools.d.ts +27 -0
  865. package/dist/mcp/tools.js +823 -0
  866. package/dist/server/analyze-job.d.ts +55 -0
  867. package/dist/server/analyze-job.js +150 -0
  868. package/dist/server/analyze-worker.d.ts +13 -0
  869. package/dist/server/analyze-worker.js +59 -0
  870. package/dist/server/api.d.ts +47 -0
  871. package/dist/server/api.js +1727 -0
  872. package/dist/server/git-clone.d.ts +26 -0
  873. package/dist/server/git-clone.js +184 -0
  874. package/dist/server/mcp-http.d.ts +13 -0
  875. package/dist/server/mcp-http.js +100 -0
  876. package/dist/storage/git.d.ts +80 -0
  877. package/dist/storage/git.js +190 -0
  878. package/dist/storage/repo-manager.d.ts +458 -0
  879. package/dist/storage/repo-manager.js +766 -0
  880. package/dist/types/pipeline.d.ts +18 -0
  881. package/dist/types/pipeline.js +1 -0
  882. package/hooks/claude/codragraph-hook.cjs +268 -0
  883. package/hooks/claude/pre-tool-use.sh +79 -0
  884. package/hooks/claude/session-start.sh +42 -0
  885. package/package.json +127 -0
  886. package/scripts/bench-scope-resolution.ts +134 -0
  887. package/scripts/build-tree-sitter-proto.cjs +82 -0
  888. package/scripts/build.js +90 -0
  889. package/scripts/ci-list-migrated-languages.ts +24 -0
  890. package/scripts/patch-tree-sitter-swift.cjs +78 -0
  891. package/skills/codragraph-cli.md +82 -0
  892. package/skills/codragraph-debugging.md +89 -0
  893. package/skills/codragraph-exploring.md +78 -0
  894. package/skills/codragraph-guide.md +64 -0
  895. package/skills/codragraph-impact-analysis.md +97 -0
  896. package/skills/codragraph-pr-review.md +163 -0
  897. package/skills/codragraph-refactoring.md +121 -0
  898. package/vendor/leiden/index.cjs +355 -0
  899. package/vendor/leiden/utils.cjs +392 -0
  900. package/vendor/tree-sitter-proto/binding.gyp +30 -0
  901. package/vendor/tree-sitter-proto/bindings/node/binding.cc +20 -0
  902. package/vendor/tree-sitter-proto/bindings/node/index.d.ts +28 -0
  903. package/vendor/tree-sitter-proto/bindings/node/index.js +7 -0
  904. package/vendor/tree-sitter-proto/package.json +12 -0
  905. package/vendor/tree-sitter-proto/src/node-types.json +1145 -0
  906. package/vendor/tree-sitter-proto/src/parser.c +10149 -0
  907. package/vendor/tree-sitter-proto/src/tree_sitter/alloc.h +54 -0
  908. package/vendor/tree-sitter-proto/src/tree_sitter/array.h +291 -0
  909. package/vendor/tree-sitter-proto/src/tree_sitter/parser.h +266 -0
@@ -0,0 +1,1338 @@
1
+ /*
2
+ * Tree-sitter queries for extracting code definitions.
3
+ *
4
+ * Note: Different grammars (typescript vs tsx vs javascript) may have
5
+ * slightly different node types. These queries are designed to be
6
+ * compatible with the standard tree-sitter grammars.
7
+ */
8
+ // TypeScript queries - works with tree-sitter-typescript
9
+ export const TYPESCRIPT_QUERIES = `
10
+ (class_declaration
11
+ name: (type_identifier) @name) @definition.class
12
+
13
+ (abstract_class_declaration
14
+ name: (type_identifier) @name) @definition.class
15
+
16
+ (interface_declaration
17
+ name: (type_identifier) @name) @definition.interface
18
+
19
+ (function_declaration
20
+ name: (identifier) @name) @definition.function
21
+
22
+ ; TypeScript overload signatures (function_signature is a separate node type from function_declaration)
23
+ (function_signature
24
+ name: (identifier) @name) @definition.function
25
+
26
+ (method_definition
27
+ name: (property_identifier) @name) @definition.method
28
+
29
+ ; ES2022 #private methods (private_property_identifier not matched by property_identifier)
30
+ (method_definition
31
+ name: (private_property_identifier) @name) @definition.method
32
+
33
+ ; Abstract method signatures in abstract classes
34
+ (abstract_method_signature
35
+ name: (property_identifier) @name) @definition.method
36
+
37
+ ; Interface method signatures
38
+ (method_signature
39
+ name: (property_identifier) @name) @definition.method
40
+
41
+ (lexical_declaration
42
+ (variable_declarator
43
+ name: (identifier) @name
44
+ value: (arrow_function))) @definition.function
45
+
46
+ (lexical_declaration
47
+ (variable_declarator
48
+ name: (identifier) @name
49
+ value: (function_expression))) @definition.function
50
+
51
+ (export_statement
52
+ declaration: (lexical_declaration
53
+ (variable_declarator
54
+ name: (identifier) @name
55
+ value: (arrow_function)))) @definition.function
56
+
57
+ (export_statement
58
+ declaration: (lexical_declaration
59
+ (variable_declarator
60
+ name: (identifier) @name
61
+ value: (function_expression)))) @definition.function
62
+
63
+ ; Variable/constant declarations (non-function values).
64
+ ; Overlap with @definition.function patterns is handled by parse-worker dedup.
65
+ (lexical_declaration
66
+ (variable_declarator
67
+ name: (identifier) @name)) @definition.const
68
+
69
+ (export_statement
70
+ declaration: (lexical_declaration
71
+ (variable_declarator
72
+ name: (identifier) @name))) @definition.const
73
+
74
+ ; var declarations (mutable, function-scoped)
75
+ (variable_declaration
76
+ (variable_declarator
77
+ name: (identifier) @name)) @definition.variable
78
+
79
+ (import_statement
80
+ source: (string) @import.source) @import
81
+
82
+ ; Re-export statements: export { X } from './y'
83
+ (export_statement
84
+ source: (string) @import.source) @import
85
+
86
+ (call_expression
87
+ function: (identifier) @call.name) @call
88
+
89
+ (call_expression
90
+ function: (member_expression
91
+ property: (property_identifier) @call.name)) @call
92
+
93
+ ; Generic awaited free call: await fn<T>(args)
94
+ ; tree-sitter-typescript parses "await fn<T>(args)" as a call_expression whose
95
+ ; "function" field is an await_expression (not a bare identifier), because the
96
+ ; grammar resolves the ambiguity between generics and comparisons by consuming
97
+ ; "await fn" as an expression before attaching <T> as type_arguments.
98
+ (call_expression
99
+ function: (await_expression
100
+ (identifier) @call.name)
101
+ (type_arguments)) @call
102
+
103
+ ; Generic awaited member call: await obj.fn<T>(args)
104
+ (call_expression
105
+ function: (await_expression
106
+ (member_expression
107
+ property: (property_identifier) @call.name))
108
+ (type_arguments)) @call
109
+
110
+ ; Constructor calls: new Foo()
111
+ (new_expression
112
+ constructor: (identifier) @call.name) @call
113
+
114
+ ; Class properties — public_field_definition covers most TS class fields
115
+ (public_field_definition
116
+ name: (property_identifier) @name) @definition.property
117
+
118
+ ; Private class fields: #address: Address
119
+ (public_field_definition
120
+ name: (private_property_identifier) @name) @definition.property
121
+
122
+ ; Constructor parameter properties: constructor(public address: Address)
123
+ (required_parameter
124
+ (accessibility_modifier)
125
+ pattern: (identifier) @name) @definition.property
126
+
127
+ ; Heritage queries - class extends
128
+ (class_declaration
129
+ name: (type_identifier) @heritage.class
130
+ (class_heritage
131
+ (extends_clause
132
+ value: (identifier) @heritage.extends))) @heritage
133
+
134
+ ; Heritage queries - class implements interface
135
+ (class_declaration
136
+ name: (type_identifier) @heritage.class
137
+ (class_heritage
138
+ (implements_clause
139
+ (type_identifier) @heritage.implements))) @heritage.impl
140
+
141
+ ; Write access: obj.field = value
142
+ (assignment_expression
143
+ left: (member_expression
144
+ object: (_) @assignment.receiver
145
+ property: (property_identifier) @assignment.property)
146
+ right: (_)) @assignment
147
+
148
+ ; Write access: obj.field += value (compound assignment)
149
+ (augmented_assignment_expression
150
+ left: (member_expression
151
+ object: (_) @assignment.receiver
152
+ property: (property_identifier) @assignment.property)
153
+ right: (_)) @assignment
154
+
155
+ ; HTTP consumers: fetch('/path'), axios.get('/path'), $.get('/path'), etc.
156
+ ; fetch() — global function
157
+ (call_expression
158
+ function: (identifier) @_fetch_fn (#eq? @_fetch_fn "fetch")
159
+ arguments: (arguments
160
+ [(string (string_fragment) @route.url)
161
+ (template_string) @route.template_url])) @route.fetch
162
+
163
+ ; axios.get/post/put/delete/patch('/path'), $.get/post/ajax({url:'/path'})
164
+ (call_expression
165
+ function: (member_expression
166
+ property: (property_identifier) @http_client.method)
167
+ arguments: (arguments
168
+ (string (string_fragment) @http_client.url))) @http_client
169
+
170
+ ; Decorators: @Controller, @Get, @Post, etc.
171
+ (decorator
172
+ (call_expression
173
+ function: (identifier) @decorator.name
174
+ arguments: (arguments (string (string_fragment) @decorator.arg)?))) @decorator
175
+
176
+ ; Express/Hono route registration: app.get('/path', handler), router.post('/path', fn)
177
+ (call_expression
178
+ function: (member_expression
179
+ property: (property_identifier) @express_route.method)
180
+ arguments: (arguments
181
+ (string (string_fragment) @express_route.path))) @express_route
182
+ `;
183
+ // JavaScript queries - works with tree-sitter-javascript
184
+ export const JAVASCRIPT_QUERIES = `
185
+ (class_declaration
186
+ name: (identifier) @name) @definition.class
187
+
188
+ (function_declaration
189
+ name: (identifier) @name) @definition.function
190
+
191
+ (method_definition
192
+ name: (property_identifier) @name) @definition.method
193
+
194
+ ; ES2022 #private methods
195
+ (method_definition
196
+ name: (private_property_identifier) @name) @definition.method
197
+
198
+ (lexical_declaration
199
+ (variable_declarator
200
+ name: (identifier) @name
201
+ value: (arrow_function))) @definition.function
202
+
203
+ (lexical_declaration
204
+ (variable_declarator
205
+ name: (identifier) @name
206
+ value: (function_expression))) @definition.function
207
+
208
+ (export_statement
209
+ declaration: (lexical_declaration
210
+ (variable_declarator
211
+ name: (identifier) @name
212
+ value: (arrow_function)))) @definition.function
213
+
214
+ (export_statement
215
+ declaration: (lexical_declaration
216
+ (variable_declarator
217
+ name: (identifier) @name
218
+ value: (function_expression)))) @definition.function
219
+
220
+ ; Variable/constant declarations (non-function values).
221
+ ; Overlap with @definition.function patterns is handled by parse-worker dedup.
222
+ (lexical_declaration
223
+ (variable_declarator
224
+ name: (identifier) @name)) @definition.const
225
+
226
+ (export_statement
227
+ declaration: (lexical_declaration
228
+ (variable_declarator
229
+ name: (identifier) @name))) @definition.const
230
+
231
+ ; var declarations (mutable, function-scoped)
232
+ (variable_declaration
233
+ (variable_declarator
234
+ name: (identifier) @name)) @definition.variable
235
+
236
+ (import_statement
237
+ source: (string) @import.source) @import
238
+
239
+ ; Re-export statements: export { X } from './y'
240
+ (export_statement
241
+ source: (string) @import.source) @import
242
+
243
+ (call_expression
244
+ function: (identifier) @call.name) @call
245
+
246
+ (call_expression
247
+ function: (member_expression
248
+ property: (property_identifier) @call.name)) @call
249
+
250
+ ; Constructor calls: new Foo()
251
+ (new_expression
252
+ constructor: (identifier) @call.name) @call
253
+
254
+ ; Class fields — field_definition captures JS class fields (class User { address = ... })
255
+ (field_definition
256
+ property: (property_identifier) @name) @definition.property
257
+
258
+ ; Heritage queries - class extends (JavaScript uses different AST than TypeScript)
259
+ ; In tree-sitter-javascript, class_heritage directly contains the parent identifier
260
+ (class_declaration
261
+ name: (identifier) @heritage.class
262
+ (class_heritage
263
+ (identifier) @heritage.extends)) @heritage
264
+
265
+ ; Write access: obj.field = value
266
+ (assignment_expression
267
+ left: (member_expression
268
+ object: (_) @assignment.receiver
269
+ property: (property_identifier) @assignment.property)
270
+ right: (_)) @assignment
271
+
272
+ ; Write access: obj.field += value (compound assignment)
273
+ (augmented_assignment_expression
274
+ left: (member_expression
275
+ object: (_) @assignment.receiver
276
+ property: (property_identifier) @assignment.property)
277
+ right: (_)) @assignment
278
+
279
+ ; HTTP consumers: fetch('/path'), axios.get('/path'), $.get('/path'), etc.
280
+ (call_expression
281
+ function: (identifier) @_fetch_fn (#eq? @_fetch_fn "fetch")
282
+ arguments: (arguments
283
+ [(string (string_fragment) @route.url)
284
+ (template_string) @route.template_url])) @route.fetch
285
+
286
+ ; axios.get/post, $.get/post/ajax
287
+ (call_expression
288
+ function: (member_expression
289
+ property: (property_identifier) @http_client.method)
290
+ arguments: (arguments
291
+ (string (string_fragment) @http_client.url))) @http_client
292
+
293
+ ; Express/Hono route registration
294
+ (call_expression
295
+ function: (member_expression
296
+ property: (property_identifier) @express_route.method)
297
+ arguments: (arguments
298
+ (string (string_fragment) @express_route.path))) @express_route
299
+ `;
300
+ // Python queries - works with tree-sitter-python
301
+ export const PYTHON_QUERIES = `
302
+ (class_definition
303
+ name: (identifier) @name) @definition.class
304
+
305
+ (function_definition
306
+ name: (identifier) @name) @definition.function
307
+
308
+ (import_statement
309
+ name: (dotted_name) @import.source) @import
310
+
311
+ ; import numpy as np → aliased_import captures the module name so the
312
+ ; import path is resolved and named-binding extraction stores "np" → "numpy".
313
+ (import_statement
314
+ name: (aliased_import
315
+ name: (dotted_name) @import.source)) @import
316
+
317
+ (import_from_statement
318
+ module_name: (dotted_name) @import.source) @import
319
+
320
+ (import_from_statement
321
+ module_name: (relative_import) @import.source) @import
322
+
323
+ (call
324
+ function: (identifier) @call.name) @call
325
+
326
+ (call
327
+ function: (attribute
328
+ attribute: (identifier) @call.name)) @call
329
+
330
+ ; Class attribute type annotations — PEP 526: address: Address or address: Address = Address()
331
+ ; Both bare annotations (address: Address) and annotated assignments (name: str = "test")
332
+ ; are parsed as (assignment left: ... type: ...) in tree-sitter-python.
333
+ (expression_statement
334
+ (assignment
335
+ left: (identifier) @name
336
+ type: (type)) @definition.property)
337
+
338
+ ; Plain variable assignments without type annotation: x = 5, MAX_SIZE = 100
339
+ ; Overlap with @definition.property (typed) is handled by parse-worker dedup.
340
+ (expression_statement
341
+ (assignment
342
+ left: (identifier) @name)) @definition.variable
343
+
344
+ ; Heritage queries - Python class inheritance
345
+ (class_definition
346
+ name: (identifier) @heritage.class
347
+ superclasses: (argument_list
348
+ (identifier) @heritage.extends)) @heritage
349
+
350
+ ; Write access: obj.field = value
351
+ (assignment
352
+ left: (attribute
353
+ object: (_) @assignment.receiver
354
+ attribute: (identifier) @assignment.property)
355
+ right: (_)) @assignment
356
+
357
+ ; Write access: obj.field += value (compound assignment)
358
+ (augmented_assignment
359
+ left: (attribute
360
+ object: (_) @assignment.receiver
361
+ attribute: (identifier) @assignment.property)
362
+ right: (_)) @assignment
363
+
364
+ ; Python HTTP clients: requests.get('/path'), httpx.post('/path'), session.get('/path')
365
+ (call
366
+ function: (attribute
367
+ attribute: (identifier) @http_client.method)
368
+ arguments: (argument_list
369
+ (string (string_content) @http_client.url))) @http_client
370
+
371
+ ; Python decorators: @app.route, @router.get, etc.
372
+ (decorator
373
+ (call
374
+ function: (attribute
375
+ object: (identifier) @decorator.receiver
376
+ attribute: (identifier) @decorator.name)
377
+ arguments: (argument_list
378
+ (string (string_content) @decorator.arg)?))) @decorator
379
+ `;
380
+ // Java queries - works with tree-sitter-java
381
+ export const JAVA_QUERIES = `
382
+ ; Classes, Interfaces, Enums, Annotations
383
+ (class_declaration name: (identifier) @name) @definition.class
384
+ (interface_declaration name: (identifier) @name) @definition.interface
385
+ (enum_declaration name: (identifier) @name) @definition.enum
386
+ (annotation_type_declaration name: (identifier) @name) @definition.annotation
387
+
388
+ ; Methods & Constructors
389
+ (method_declaration name: (identifier) @name) @definition.method
390
+ (constructor_declaration name: (identifier) @name) @definition.constructor
391
+
392
+ ; Fields — typed field declarations inside class bodies
393
+ (field_declaration
394
+ declarator: (variable_declarator
395
+ name: (identifier) @name)) @definition.property
396
+
397
+ ; Imports - capture any import declaration child as source
398
+ (import_declaration (_) @import.source) @import
399
+
400
+ ; Calls
401
+ (method_invocation name: (identifier) @call.name) @call
402
+ (method_invocation object: (_) name: (identifier) @call.name) @call
403
+ (method_reference) @call
404
+
405
+ ; Constructor calls: new Foo()
406
+ (object_creation_expression type: (type_identifier) @call.name) @call
407
+
408
+ ; Local variable declarations inside method bodies
409
+ (local_variable_declaration
410
+ declarator: (variable_declarator
411
+ name: (identifier) @name)) @definition.variable
412
+
413
+ ; Heritage - extends class
414
+ (class_declaration name: (identifier) @heritage.class
415
+ (superclass (type_identifier) @heritage.extends)) @heritage
416
+
417
+ ; Heritage - implements interfaces
418
+ (class_declaration name: (identifier) @heritage.class
419
+ (super_interfaces (type_list (type_identifier) @heritage.implements))) @heritage.impl
420
+
421
+ ; Write access: obj.field = value
422
+ (assignment_expression
423
+ left: (field_access
424
+ object: (_) @assignment.receiver
425
+ field: (identifier) @assignment.property)
426
+ right: (_)) @assignment
427
+ `;
428
+ // C queries - works with tree-sitter-c
429
+ export const C_QUERIES = `
430
+ ; Functions (direct declarator)
431
+ (function_definition declarator: (function_declarator declarator: (identifier) @name)) @definition.function
432
+ (declaration declarator: (function_declarator declarator: (identifier) @name)) @definition.function
433
+
434
+ ; Functions returning pointers (pointer_declarator wraps function_declarator)
435
+ (function_definition declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name))) @definition.function
436
+ (declaration declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name))) @definition.function
437
+
438
+ ; Functions returning double pointers (nested pointer_declarator)
439
+ (function_definition declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name)))) @definition.function
440
+
441
+ ; Structs, Unions, Enums, Typedefs
442
+ (struct_specifier name: (type_identifier) @name) @definition.struct
443
+ (union_specifier name: (type_identifier) @name) @definition.union
444
+ (enum_specifier name: (type_identifier) @name) @definition.enum
445
+ (type_definition declarator: (type_identifier) @name) @definition.typedef
446
+
447
+ ; Macros
448
+ (preproc_function_def name: (identifier) @name) @definition.macro
449
+ (preproc_def name: (identifier) @name) @definition.macro
450
+
451
+ ; Includes
452
+ (preproc_include path: (_) @import.source) @import
453
+
454
+ ; Calls
455
+ (call_expression function: (identifier) @call.name) @call
456
+ (call_expression function: (field_expression field: (field_identifier) @call.name)) @call
457
+
458
+ ; Variable declarations: int x = 5; or int x;
459
+ (declaration
460
+ declarator: (init_declarator
461
+ declarator: (identifier) @name)) @definition.variable
462
+ `;
463
+ // Go queries - works with tree-sitter-go
464
+ export const GO_QUERIES = `
465
+ ; Functions & Methods
466
+ (function_declaration name: (identifier) @name) @definition.function
467
+ (method_declaration name: (field_identifier) @name) @definition.method
468
+
469
+ ; Types
470
+ (type_declaration (type_spec name: (type_identifier) @name type: (struct_type))) @definition.struct
471
+ (type_declaration (type_spec name: (type_identifier) @name type: (interface_type))) @definition.interface
472
+
473
+ ; Imports
474
+ (import_declaration (import_spec path: (interpreted_string_literal) @import.source)) @import
475
+ (import_declaration (import_spec_list (import_spec path: (interpreted_string_literal) @import.source))) @import
476
+
477
+ ; Struct fields — named field declarations inside struct types
478
+ (field_declaration_list
479
+ (field_declaration
480
+ name: (field_identifier) @name) @definition.property)
481
+
482
+ ; Struct embedding (anonymous fields = inheritance)
483
+ (type_declaration
484
+ (type_spec
485
+ name: (type_identifier) @heritage.class
486
+ type: (struct_type
487
+ (field_declaration_list
488
+ (field_declaration
489
+ type: (type_identifier) @heritage.extends))))) @definition.struct
490
+
491
+ ; Calls
492
+ (call_expression function: (identifier) @call.name) @call
493
+ (call_expression function: (selector_expression field: (field_identifier) @call.name)) @call
494
+
495
+ ; Const/var declarations
496
+ (const_declaration (const_spec name: (identifier) @name)) @definition.const
497
+ (var_declaration (var_spec name: (identifier) @name)) @definition.variable
498
+
499
+ ; Short variable declaration: x := 5
500
+ (short_var_declaration left: (expression_list (identifier) @name)) @definition.variable
501
+
502
+ ; Struct literal construction: User{Name: "Alice"}
503
+ (composite_literal type: (type_identifier) @call.name) @call
504
+
505
+ ; Write access: obj.field = value
506
+ (assignment_statement
507
+ left: (expression_list
508
+ (selector_expression
509
+ operand: (_) @assignment.receiver
510
+ field: (field_identifier) @assignment.property))
511
+ right: (_)) @assignment
512
+
513
+ ; Write access: obj.field++ / obj.field--
514
+ (inc_statement
515
+ (selector_expression
516
+ operand: (_) @assignment.receiver
517
+ field: (field_identifier) @assignment.property)) @assignment
518
+ (dec_statement
519
+ (selector_expression
520
+ operand: (_) @assignment.receiver
521
+ field: (field_identifier) @assignment.property)) @assignment
522
+ `;
523
+ // C++ queries - works with tree-sitter-cpp
524
+ export const CPP_QUERIES = `
525
+ ; Classes, Structs, Namespaces
526
+ (class_specifier name: (type_identifier) @name) @definition.class
527
+ (struct_specifier name: (type_identifier) @name) @definition.struct
528
+ (namespace_definition name: (namespace_identifier) @name) @definition.namespace
529
+ (enum_specifier name: (type_identifier) @name) @definition.enum
530
+
531
+ ; Typedefs and unions (common in C-style headers and mixed C/C++ code)
532
+ (type_definition declarator: (type_identifier) @name) @definition.typedef
533
+ (union_specifier name: (type_identifier) @name) @definition.union
534
+
535
+ ; Macros
536
+ (preproc_function_def name: (identifier) @name) @definition.macro
537
+ (preproc_def name: (identifier) @name) @definition.macro
538
+
539
+ ; Functions & Methods (direct declarator)
540
+ (function_definition declarator: (function_declarator declarator: (identifier) @name)) @definition.function
541
+ (function_definition declarator: (function_declarator declarator: (qualified_identifier name: (identifier) @name))) @definition.method
542
+
543
+ ; Functions/methods returning pointers (pointer_declarator wraps function_declarator)
544
+ (function_definition declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name))) @definition.function
545
+ (function_definition declarator: (pointer_declarator declarator: (function_declarator declarator: (qualified_identifier name: (identifier) @name)))) @definition.method
546
+
547
+ ; Functions/methods returning double pointers (nested pointer_declarator)
548
+ (function_definition declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name)))) @definition.function
549
+ (function_definition declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (qualified_identifier name: (identifier) @name))))) @definition.method
550
+
551
+ ; Functions/methods returning references (reference_declarator wraps function_declarator)
552
+ (function_definition declarator: (reference_declarator (function_declarator declarator: (identifier) @name))) @definition.function
553
+ (function_definition declarator: (reference_declarator (function_declarator declarator: (qualified_identifier name: (identifier) @name)))) @definition.method
554
+
555
+ ; Destructors (destructor_name is distinct from identifier in tree-sitter-cpp)
556
+ (function_definition declarator: (function_declarator declarator: (qualified_identifier name: (destructor_name) @name))) @definition.method
557
+
558
+ ; Function declarations / prototypes (common in headers)
559
+ (declaration declarator: (function_declarator declarator: (identifier) @name)) @definition.function
560
+ (declaration declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) @name))) @definition.function
561
+
562
+ ; Class/struct data member fields (Address address; int count;)
563
+ ; Uses field_identifier to exclude method declarations (which use function_declarator)
564
+ (field_declaration
565
+ declarator: (field_identifier) @name) @definition.property
566
+
567
+ ; Pointer member fields (Address* address;)
568
+ (field_declaration
569
+ declarator: (pointer_declarator
570
+ declarator: (field_identifier) @name)) @definition.property
571
+
572
+ ; Reference member fields (Address& address;)
573
+ (field_declaration
574
+ declarator: (reference_declarator
575
+ (field_identifier) @name)) @definition.property
576
+
577
+ ; Inline class method declarations (inside class body, no body: void save();)
578
+ ; tree-sitter-cpp uses field_identifier (not identifier) for names inside class bodies
579
+ (field_declaration declarator: (function_declarator declarator: [(field_identifier) (identifier)] @name)) @definition.method
580
+
581
+ ; Inline class method declarations returning a pointer (User* lookup();)
582
+ (field_declaration declarator: (pointer_declarator declarator: (function_declarator declarator: [(field_identifier) (identifier)] @name))) @definition.method
583
+
584
+ ; Inline class method declarations returning a reference (User& lookup();)
585
+ (field_declaration declarator: (reference_declarator (function_declarator declarator: [(field_identifier) (identifier)] @name))) @definition.method
586
+
587
+ ; Inline class method definitions (inside class body, with body: void Foo() { ... })
588
+ (field_declaration_list
589
+ (function_definition
590
+ declarator: (function_declarator
591
+ declarator: [(field_identifier) (identifier) (operator_name) (destructor_name)] @name)) @definition.method)
592
+
593
+ ; Inline class methods returning a pointer type (User* lookup(int id) { ... })
594
+ (field_declaration_list
595
+ (function_definition
596
+ declarator: (pointer_declarator
597
+ declarator: (function_declarator
598
+ declarator: [(field_identifier) (identifier) (operator_name)] @name))) @definition.method)
599
+
600
+ ; Inline class methods returning a reference type (User& lookup(int id) { ... })
601
+ (field_declaration_list
602
+ (function_definition
603
+ declarator: (reference_declarator
604
+ (function_declarator
605
+ declarator: [(field_identifier) (identifier) (operator_name)] @name))) @definition.method)
606
+
607
+ ; Templates
608
+ (template_declaration (class_specifier name: (type_identifier) @name)) @definition.template
609
+ (template_declaration (function_definition declarator: (function_declarator declarator: (identifier) @name))) @definition.template
610
+
611
+ ; Includes
612
+ (preproc_include path: (_) @import.source) @import
613
+
614
+ ; Calls
615
+ (call_expression function: (identifier) @call.name) @call
616
+ (call_expression function: (field_expression field: (field_identifier) @call.name)) @call
617
+ (call_expression function: (qualified_identifier name: (identifier) @call.name)) @call
618
+ (call_expression function: (template_function name: (identifier) @call.name)) @call
619
+
620
+ ; Constructor calls: new User()
621
+ (new_expression type: (type_identifier) @call.name) @call
622
+
623
+ ; Variable declarations: int x = 5; or auto x = 5;
624
+ (declaration
625
+ declarator: (init_declarator
626
+ declarator: (identifier) @name)) @definition.variable
627
+
628
+ ; Heritage
629
+ (class_specifier name: (type_identifier) @heritage.class
630
+ (base_class_clause (type_identifier) @heritage.extends)) @heritage
631
+ (class_specifier name: (type_identifier) @heritage.class
632
+ (base_class_clause (access_specifier) (type_identifier) @heritage.extends)) @heritage
633
+
634
+ ; Write access: obj.field = value
635
+ (assignment_expression
636
+ left: (field_expression
637
+ argument: (_) @assignment.receiver
638
+ field: (field_identifier) @assignment.property)
639
+ right: (_)) @assignment
640
+
641
+ `;
642
+ // C# queries - works with tree-sitter-c-sharp
643
+ export const CSHARP_QUERIES = `
644
+ ; Types
645
+ (class_declaration name: (identifier) @name) @definition.class
646
+ (interface_declaration name: (identifier) @name) @definition.interface
647
+ (struct_declaration name: (identifier) @name) @definition.struct
648
+ (enum_declaration name: (identifier) @name) @definition.enum
649
+ (record_declaration name: (identifier) @name) @definition.record
650
+ (delegate_declaration name: (identifier) @name) @definition.delegate
651
+
652
+ ; Namespaces (block form and C# 10+ file-scoped form)
653
+ (namespace_declaration name: (identifier) @name) @definition.namespace
654
+ (namespace_declaration name: (qualified_name) @name) @definition.namespace
655
+ (file_scoped_namespace_declaration name: (identifier) @name) @definition.namespace
656
+ (file_scoped_namespace_declaration name: (qualified_name) @name) @definition.namespace
657
+
658
+ ; Methods & Properties
659
+ (method_declaration name: (identifier) @name) @definition.method
660
+ (local_function_statement name: (identifier) @name) @definition.function
661
+ (constructor_declaration name: (identifier) @name) @definition.constructor
662
+ (property_declaration name: (identifier) @name) @definition.property
663
+
664
+ ; Primary constructors (C# 12): class User(string name, int age) { }
665
+ (class_declaration name: (identifier) @name (parameter_list) @definition.constructor)
666
+ (record_declaration name: (identifier) @name (parameter_list) @definition.constructor)
667
+
668
+ ; Using
669
+ (using_directive (qualified_name) @import.source) @import
670
+ (using_directive (identifier) @import.source) @import
671
+
672
+ ; Calls
673
+ (invocation_expression function: (identifier) @call.name) @call
674
+ (invocation_expression function: (member_access_expression name: (identifier) @call.name)) @call
675
+
676
+ ; Null-conditional method calls: user?.Save()
677
+ ; Parses as: invocation_expression → conditional_access_expression → member_binding_expression → identifier
678
+ (invocation_expression
679
+ function: (conditional_access_expression
680
+ (member_binding_expression
681
+ (identifier) @call.name))) @call
682
+
683
+ ; Constructor calls: new Foo() and new Foo { Props }
684
+ (object_creation_expression type: (identifier) @call.name) @call
685
+
686
+ ; Target-typed new (C# 9): User u = new("x", 5)
687
+ (variable_declaration type: (identifier) @call.name (variable_declarator (implicit_object_creation_expression) @call))
688
+
689
+ ; Local variable declarations
690
+ (local_declaration_statement
691
+ (variable_declaration
692
+ (variable_declarator
693
+ (identifier) @name))) @definition.variable
694
+
695
+ ; Heritage
696
+ (class_declaration name: (identifier) @heritage.class
697
+ (base_list (identifier) @heritage.extends)) @heritage
698
+ (class_declaration name: (identifier) @heritage.class
699
+ (base_list (generic_name (identifier) @heritage.extends))) @heritage
700
+
701
+ ; Interface inheritance: interface IFoo : IBar / interface IFoo : IBar, IBaz
702
+ ; Without these patterns, interface-to-interface relationships are never
703
+ ; captured, so transitive "class X implements IBar" chains are broken.
704
+ (interface_declaration name: (identifier) @heritage.class
705
+ (base_list (identifier) @heritage.extends)) @heritage
706
+ (interface_declaration name: (identifier) @heritage.class
707
+ (base_list (generic_name (identifier) @heritage.extends))) @heritage
708
+
709
+ ; Write access: obj.field = value
710
+ (assignment_expression
711
+ left: (member_access_expression
712
+ expression: (_) @assignment.receiver
713
+ name: (identifier) @assignment.property)
714
+ right: (_)) @assignment
715
+ `;
716
+ // Rust queries - works with tree-sitter-rust
717
+ export const RUST_QUERIES = `
718
+ ; Functions & Items
719
+ (function_item name: (identifier) @name) @definition.function
720
+ (function_signature_item name: (identifier) @name) @definition.function
721
+ (struct_item name: (type_identifier) @name) @definition.struct
722
+ (enum_item name: (type_identifier) @name) @definition.enum
723
+ (trait_item name: (type_identifier) @name) @definition.trait
724
+ (impl_item type: (type_identifier) @name !trait) @definition.impl
725
+ (impl_item type: (generic_type type: (type_identifier) @name) !trait) @definition.impl
726
+ (mod_item name: (identifier) @name) @definition.module
727
+
728
+ ; Type aliases, const, static, macros
729
+ (type_item name: (type_identifier) @name) @definition.type
730
+ (const_item name: (identifier) @name) @definition.const
731
+ (static_item name: (identifier) @name) @definition.static
732
+ (macro_definition name: (identifier) @name) @definition.macro
733
+
734
+ ; Use statements
735
+ (use_declaration argument: (_) @import.source) @import
736
+
737
+ ; Calls
738
+ (call_expression function: (identifier) @call.name) @call
739
+ (call_expression function: (field_expression field: (field_identifier) @call.name)) @call
740
+ (call_expression function: (scoped_identifier name: (identifier) @call.name)) @call
741
+ (call_expression function: (generic_function function: (identifier) @call.name)) @call
742
+
743
+ ; Struct literal construction: User { name: value }
744
+ (struct_expression name: (type_identifier) @call.name) @call
745
+
746
+ ; Struct fields — named field declarations inside struct bodies
747
+ (field_declaration_list
748
+ (field_declaration
749
+ name: (field_identifier) @name) @definition.property)
750
+
751
+ ; Heritage (trait implementation) — all combinations of concrete/generic trait × concrete/generic type
752
+ (impl_item trait: (type_identifier) @heritage.trait type: (type_identifier) @heritage.class) @heritage
753
+ (impl_item trait: (generic_type type: (type_identifier) @heritage.trait) type: (type_identifier) @heritage.class) @heritage
754
+ (impl_item trait: (type_identifier) @heritage.trait type: (generic_type type: (type_identifier) @heritage.class)) @heritage
755
+ (impl_item trait: (generic_type type: (type_identifier) @heritage.trait) type: (generic_type type: (type_identifier) @heritage.class)) @heritage
756
+
757
+ ; Write access: obj.field = value
758
+ (assignment_expression
759
+ left: (field_expression
760
+ value: (_) @assignment.receiver
761
+ field: (field_identifier) @assignment.property)
762
+ right: (_)) @assignment
763
+
764
+ ; Write access: obj.field += value (compound assignment)
765
+ (compound_assignment_expr
766
+ left: (field_expression
767
+ value: (_) @assignment.receiver
768
+ field: (field_identifier) @assignment.property)
769
+ right: (_)) @assignment
770
+ `;
771
+ // PHP queries - works with tree-sitter-php (php_only grammar)
772
+ export const PHP_QUERIES = `
773
+ ; ── Namespace ────────────────────────────────────────────────────────────────
774
+ (namespace_definition
775
+ name: (namespace_name) @name) @definition.namespace
776
+
777
+ ; ── Classes ──────────────────────────────────────────────────────────────────
778
+ (class_declaration
779
+ name: (name) @name) @definition.class
780
+
781
+ ; ── Interfaces ───────────────────────────────────────────────────────────────
782
+ (interface_declaration
783
+ name: (name) @name) @definition.interface
784
+
785
+ ; ── Traits ───────────────────────────────────────────────────────────────────
786
+ (trait_declaration
787
+ name: (name) @name) @definition.trait
788
+
789
+ ; ── Enums (PHP 8.1) ──────────────────────────────────────────────────────────
790
+ (enum_declaration
791
+ name: (name) @name) @definition.enum
792
+
793
+ ; ── Top-level functions ───────────────────────────────────────────────────────
794
+ (function_definition
795
+ name: (name) @name) @definition.function
796
+
797
+ ; ── Methods (including constructors) ─────────────────────────────────────────
798
+ (method_declaration
799
+ name: (name) @name) @definition.method
800
+
801
+ ; ── Class properties (including Eloquent $fillable, $casts, etc.) ────────────
802
+ (property_declaration
803
+ (property_element
804
+ (variable_name
805
+ (name) @name))) @definition.property
806
+
807
+ ; Constructor property promotion (PHP 8.0+: public Address $address in __construct)
808
+ (method_declaration
809
+ parameters: (formal_parameters
810
+ (property_promotion_parameter
811
+ name: (variable_name
812
+ (name) @name)))) @definition.property
813
+
814
+ ; ── Imports: use statements ──────────────────────────────────────────────────
815
+ ; Simple: use App\\Models\\User;
816
+ (namespace_use_declaration
817
+ (namespace_use_clause
818
+ (qualified_name) @import.source)) @import
819
+
820
+ ; ── Function/method calls ────────────────────────────────────────────────────
821
+ ; Regular function call: foo()
822
+ (function_call_expression
823
+ function: (name) @call.name) @call
824
+
825
+ ; Method call: $obj->method()
826
+ (member_call_expression
827
+ name: (name) @call.name) @call
828
+
829
+ ; Nullsafe method call: $obj?->method()
830
+ (nullsafe_member_call_expression
831
+ name: (name) @call.name) @call
832
+
833
+ ; Static call: Foo::bar() (php_only uses scoped_call_expression)
834
+ (scoped_call_expression
835
+ name: (name) @call.name) @call
836
+
837
+ ; Constructor call: new User()
838
+ (object_creation_expression (name) @call.name) @call
839
+
840
+ ; Const declarations at class scope
841
+ (const_declaration
842
+ (const_element
843
+ (name) @name)) @definition.const
844
+
845
+ ; ── Heritage: extends ────────────────────────────────────────────────────────
846
+ (class_declaration
847
+ name: (name) @heritage.class
848
+ (base_clause
849
+ [(name) (qualified_name)] @heritage.extends)) @heritage
850
+
851
+ ; ── Heritage: implements ─────────────────────────────────────────────────────
852
+ (class_declaration
853
+ name: (name) @heritage.class
854
+ (class_interface_clause
855
+ [(name) (qualified_name)] @heritage.implements)) @heritage.impl
856
+
857
+ ; ── Heritage: use trait (must capture enclosing class name) ──────────────────
858
+ (class_declaration
859
+ name: (name) @heritage.class
860
+ body: (declaration_list
861
+ (use_declaration
862
+ [(name) (qualified_name)] @heritage.trait))) @heritage
863
+
864
+ ; PHP HTTP consumers: file_get_contents('/path'), curl_init('/path')
865
+ (function_call_expression
866
+ function: (name) @_php_http (#match? @_php_http "^(file_get_contents|curl_init)$")
867
+ arguments: (arguments
868
+ (argument (string (string_content) @http_client.url)))) @http_client
869
+
870
+ ; Write access: $obj->field = value
871
+ (assignment_expression
872
+ left: (member_access_expression
873
+ object: (_) @assignment.receiver
874
+ name: (name) @assignment.property)
875
+ right: (_)) @assignment
876
+
877
+ ; Write access: ClassName::$field = value (static property)
878
+ (assignment_expression
879
+ left: (scoped_property_access_expression
880
+ scope: (_) @assignment.receiver
881
+ name: (variable_name (name) @assignment.property))
882
+ right: (_)) @assignment
883
+ `;
884
+ // Ruby queries - works with tree-sitter-ruby
885
+ // NOTE: Ruby uses `call` for require, include, extend, prepend, attr_* etc.
886
+ // These are all captured as @call and routed in JS post-processing:
887
+ // - require/require_relative → import extraction
888
+ // - include/extend/prepend → heritage (mixin) extraction
889
+ // - attr_accessor/attr_reader/attr_writer → property definition extraction
890
+ // - everything else → regular call extraction
891
+ export const RUBY_QUERIES = `
892
+ ; ── Modules ──────────────────────────────────────────────────────────────────
893
+ (module
894
+ name: (constant) @name) @definition.module
895
+
896
+ ; ── Classes ──────────────────────────────────────────────────────────────────
897
+ (class
898
+ name: (constant) @name) @definition.class
899
+
900
+ ; ── Instance methods ─────────────────────────────────────────────────────────
901
+ (method
902
+ name: (identifier) @name) @definition.method
903
+
904
+ ; ── Singleton (class-level) methods ──────────────────────────────────────────
905
+ (singleton_method
906
+ name: (identifier) @name) @definition.method
907
+
908
+ ; ── All calls (require, include, attr_*, and regular calls routed in JS) ─────
909
+ (call
910
+ method: (identifier) @call.name) @call
911
+
912
+ ; ── Constant assignment: MAX_SIZE = 100, ITEMS = [...] ───────────────────────
913
+ (assignment
914
+ left: (constant) @name) @definition.const
915
+
916
+ ; ── Bare calls without parens (identifiers at statement level are method calls) ─
917
+ ; NOTE: This may over-capture variable reads as calls (e.g. 'result' at
918
+ ; statement level). Ruby's grammar makes bare identifiers ambiguous — they
919
+ ; could be local variables or zero-arity method calls. Post-processing via
920
+ ; provider.isBuiltInName and symbol resolution filtering suppresses most false
921
+ ; positives, but a variable name that coincidentally matches a method name
922
+ ; elsewhere may produce a false CALLS edge.
923
+ (body_statement
924
+ (identifier) @call.name @call)
925
+
926
+ ; ── Heritage: class < SuperClass ─────────────────────────────────────────────
927
+ (class
928
+ name: (constant) @heritage.class
929
+ superclass: (superclass
930
+ (constant) @heritage.extends)) @heritage
931
+
932
+ ; Write access: obj.field = value (Ruby setter — syntactically a method call to field=)
933
+ (assignment
934
+ left: (call
935
+ receiver: (_) @assignment.receiver
936
+ method: (identifier) @assignment.property)
937
+ right: (_)) @assignment
938
+
939
+ ; Write access: obj.field += value (compound assignment — operator_assignment node, not assignment)
940
+ (operator_assignment
941
+ left: (call
942
+ receiver: (_) @assignment.receiver
943
+ method: (identifier) @assignment.property)
944
+ right: (_)) @assignment
945
+ `;
946
+ // Kotlin queries - works with tree-sitter-kotlin (fwcd/tree-sitter-kotlin)
947
+ // Based on official tags.scm; functions use simple_identifier, classes use type_identifier
948
+ export const KOTLIN_QUERIES = `
949
+ ; ── Interfaces ─────────────────────────────────────────────────────────────
950
+ ; tree-sitter-kotlin (fwcd) has no interface_declaration node type.
951
+ ; Interfaces are class_declaration nodes with an anonymous "interface" keyword child.
952
+ (class_declaration
953
+ "interface"
954
+ (type_identifier) @name) @definition.interface
955
+
956
+ ; ── Classes (regular, data, sealed, enum) ────────────────────────────────
957
+ ; All have the anonymous "class" keyword child. enum class has both
958
+ ; "enum" and "class" children — the "class" child still matches.
959
+ (class_declaration
960
+ "class"
961
+ (type_identifier) @name) @definition.class
962
+
963
+ ; ── Object declarations (Kotlin singletons) ──────────────────────────────
964
+ (object_declaration
965
+ (type_identifier) @name) @definition.class
966
+
967
+ ; ── Companion objects (named only) ───────────────────────────────────────
968
+ (companion_object
969
+ (type_identifier) @name) @definition.class
970
+
971
+ ; ── Functions (top-level, member, extension) ──────────────────────────────
972
+ (function_declaration
973
+ (simple_identifier) @name) @definition.function
974
+
975
+ ; ── Properties ───────────────────────────────────────────────────────────
976
+ (property_declaration
977
+ (variable_declaration
978
+ (simple_identifier) @name)) @definition.property
979
+
980
+ ; Primary constructor val/var parameters (data class, value class, regular class)
981
+ ; binding_pattern_kind contains "val" or "var" — without it, the param is not a property
982
+ (class_parameter
983
+ (binding_pattern_kind)
984
+ (simple_identifier) @name) @definition.property
985
+
986
+ ; ── Enum entries ─────────────────────────────────────────────────────────
987
+ (enum_entry
988
+ (simple_identifier) @name) @definition.enum
989
+
990
+ ; ── Type aliases ─────────────────────────────────────────────────────────
991
+ (type_alias
992
+ (type_identifier) @name) @definition.type
993
+
994
+ ; ── Imports ──────────────────────────────────────────────────────────────
995
+ (import_header
996
+ (identifier) @import.source) @import
997
+
998
+ ; ── Function calls (direct) ──────────────────────────────────────────────
999
+ (call_expression
1000
+ (simple_identifier) @call.name) @call
1001
+
1002
+ ; ── Method calls (via navigation: obj.method()) ──────────────────────────
1003
+ (call_expression
1004
+ (navigation_expression
1005
+ (navigation_suffix
1006
+ (simple_identifier) @call.name))) @call
1007
+
1008
+ ; ── Constructor invocations ──────────────────────────────────────────────
1009
+ (constructor_invocation
1010
+ (user_type
1011
+ (type_identifier) @call.name)) @call
1012
+
1013
+ ; ── Infix function calls (e.g., a to b, x until y) ──────────────────────
1014
+ (infix_expression
1015
+ (simple_identifier) @call.name) @call
1016
+
1017
+ ; ── Heritage: extends / implements via delegation_specifier ──────────────
1018
+ ; Interface implementation (bare user_type): class Foo : Bar
1019
+ (class_declaration
1020
+ (type_identifier) @heritage.class
1021
+ (delegation_specifier
1022
+ (user_type (type_identifier) @heritage.extends))) @heritage
1023
+
1024
+ ; Class extension (constructor_invocation): class Foo : Bar()
1025
+ (class_declaration
1026
+ (type_identifier) @heritage.class
1027
+ (delegation_specifier
1028
+ (constructor_invocation
1029
+ (user_type (type_identifier) @heritage.extends)))) @heritage
1030
+
1031
+ ; Write access: obj.field = value
1032
+ (assignment
1033
+ (directly_assignable_expression
1034
+ (_) @assignment.receiver
1035
+ (navigation_suffix
1036
+ (simple_identifier) @assignment.property))
1037
+ (_)) @assignment
1038
+
1039
+ `;
1040
+ // Swift queries - works with tree-sitter-swift
1041
+ export const SWIFT_QUERIES = `
1042
+ ; Classes
1043
+ (class_declaration "class" name: (type_identifier) @name) @definition.class
1044
+
1045
+ ; Structs
1046
+ (class_declaration "struct" name: (type_identifier) @name) @definition.struct
1047
+
1048
+ ; Enums
1049
+ (class_declaration "enum" name: (type_identifier) @name) @definition.enum
1050
+
1051
+ ; Extensions (mapped to class — no dedicated label in schema)
1052
+ (class_declaration "extension" name: (user_type (type_identifier) @name)) @definition.class
1053
+
1054
+ ; Actors
1055
+ (class_declaration "actor" name: (type_identifier) @name) @definition.class
1056
+
1057
+ ; Protocols (mapped to interface)
1058
+ (protocol_declaration name: (type_identifier) @name) @definition.interface
1059
+
1060
+ ; Type aliases
1061
+ (typealias_declaration name: (type_identifier) @name) @definition.type
1062
+
1063
+ ; Functions (top-level and methods)
1064
+ (function_declaration name: (simple_identifier) @name) @definition.function
1065
+
1066
+ ; Protocol method declarations
1067
+ (protocol_function_declaration name: (simple_identifier) @name) @definition.method
1068
+
1069
+ ; Initializers
1070
+ (init_declaration) @definition.constructor
1071
+
1072
+ ; Properties (stored and computed)
1073
+ (property_declaration (pattern (simple_identifier) @name)) @definition.property
1074
+
1075
+ ; Enum cases
1076
+ (enum_entry (simple_identifier) @name) @definition.property
1077
+
1078
+ ; Imports
1079
+ (import_declaration (identifier (simple_identifier) @import.source)) @import
1080
+
1081
+ ; Calls - direct function calls
1082
+ (call_expression (simple_identifier) @call.name) @call
1083
+
1084
+ ; Calls - member/navigation calls (obj.method())
1085
+ (call_expression (navigation_expression (navigation_suffix (simple_identifier) @call.name))) @call
1086
+
1087
+ ; Heritage - class/struct/enum inheritance and protocol conformance
1088
+ (class_declaration name: (type_identifier) @heritage.class
1089
+ (inheritance_specifier inherits_from: (user_type (type_identifier) @heritage.extends))) @heritage
1090
+
1091
+ ; Heritage - protocol inheritance
1092
+ (protocol_declaration name: (type_identifier) @heritage.class
1093
+ (inheritance_specifier inherits_from: (user_type (type_identifier) @heritage.extends))) @heritage
1094
+
1095
+ ; Heritage - extension protocol conformance (e.g. extension Foo: SomeProtocol)
1096
+ ; Extensions wrap the name in user_type unlike class/struct/enum declarations
1097
+ (class_declaration "extension" name: (user_type (type_identifier) @heritage.class)
1098
+ (inheritance_specifier inherits_from: (user_type (type_identifier) @heritage.extends))) @heritage
1099
+
1100
+ ; Write access: obj.field = value (tree-sitter-swift 0.7.1 uses named fields)
1101
+ (assignment
1102
+ target: (directly_assignable_expression
1103
+ (navigation_expression
1104
+ target: (_) @assignment.receiver
1105
+ suffix: (navigation_suffix
1106
+ suffix: (simple_identifier) @assignment.property)))
1107
+ result: (_)) @assignment
1108
+
1109
+ `;
1110
+ // Dart queries - works with tree-sitter-dart (UserNobody14/tree-sitter-dart, ABI 14)
1111
+ // Note: Dart grammar has function_signature/method_signature as wrappers;
1112
+ // top-level functions are (program > function_signature),
1113
+ // methods inside classes are (method_signature > function_signature).
1114
+ // We match top-level functions via (program (function_signature ...)) to avoid
1115
+ // double-counting methods that also contain function_signature.
1116
+ export const DART_QUERIES = `
1117
+ ; ── Classes ──────────────────────────────────────────────────────────────────
1118
+ (class_definition
1119
+ name: (identifier) @name) @definition.class
1120
+
1121
+ ; ── Mixins ───────────────────────────────────────────────────────────────────
1122
+ (mixin_declaration
1123
+ (identifier) @name) @definition.trait
1124
+
1125
+ ; ── Extensions ───────────────────────────────────────────────────────────────
1126
+ (extension_declaration
1127
+ name: (identifier) @name) @definition.class
1128
+
1129
+ ; ── Enums ────────────────────────────────────────────────────────────────────
1130
+ (enum_declaration
1131
+ name: (identifier) @name) @definition.enum
1132
+
1133
+ ; ── Type aliases ─────────────────────────────────────────────────────────────
1134
+ ; Anchor "=" after the name to avoid capturing the RHS type
1135
+ (type_alias
1136
+ (type_identifier) @name
1137
+ "=") @definition.type
1138
+
1139
+ ; ── Top-level functions (parent is program, not method_signature) ────────────
1140
+ (program
1141
+ (function_signature
1142
+ name: (identifier) @name) @definition.function)
1143
+
1144
+ ; ── Abstract method declarations (function_signature inside class body declaration) ──
1145
+ (declaration
1146
+ (function_signature
1147
+ name: (identifier) @name)) @definition.method
1148
+
1149
+ ; ── Methods (inside class/mixin/extension bodies) ────────────────────────────
1150
+ (method_signature
1151
+ (function_signature
1152
+ name: (identifier) @name)) @definition.method
1153
+
1154
+ ; ── Constructors ─────────────────────────────────────────────────────────────
1155
+ (constructor_signature
1156
+ name: (identifier) @name) @definition.constructor
1157
+
1158
+ ; ── Factory constructors (anchor before param list to capture variant name, not class) ──
1159
+ (method_signature
1160
+ (factory_constructor_signature
1161
+ (identifier) @name . (formal_parameter_list))) @definition.constructor
1162
+
1163
+ ; ── Field declarations (String name = '', Address address = Address()) ──────
1164
+ (declaration
1165
+ (type_identifier)
1166
+ (initialized_identifier_list
1167
+ (initialized_identifier
1168
+ (identifier) @name))) @definition.property
1169
+
1170
+ ; ── Nullable field declarations (String? name) ──────────────────────────────
1171
+ (declaration
1172
+ (nullable_type)
1173
+ (initialized_identifier_list
1174
+ (initialized_identifier
1175
+ (identifier) @name))) @definition.property
1176
+
1177
+ ; ── Getters ──────────────────────────────────────────────────────────────────
1178
+ (method_signature
1179
+ (getter_signature
1180
+ name: (identifier) @name)) @definition.property
1181
+
1182
+ ; ── Setters ──────────────────────────────────────────────────────────────────
1183
+ (method_signature
1184
+ (setter_signature
1185
+ name: (identifier) @name)) @definition.property
1186
+
1187
+ ; ── Top-level variable declarations (const maxSize = 100, final x = 5, var y = 0) ──
1188
+ (declaration
1189
+ (initialized_identifier_list
1190
+ (initialized_identifier
1191
+ (identifier) @name))) @definition.variable
1192
+
1193
+ ; ── Imports ──────────────────────────────────────────────────────────────────
1194
+ (import_or_export
1195
+ (library_import
1196
+ (import_specification
1197
+ (configurable_uri) @import.source))) @import
1198
+
1199
+ ; ── Calls: direct function/constructor calls (identifier immediately before argument_part) ──
1200
+ (expression_statement
1201
+ (identifier) @call.name
1202
+ .
1203
+ (selector (argument_part))) @call
1204
+
1205
+ ; ── Calls: method calls (obj.method()) ───────────────────────────────────────
1206
+ (expression_statement
1207
+ (selector
1208
+ (unconditional_assignable_selector
1209
+ (identifier) @call.name))) @call
1210
+
1211
+ ; ── Calls: in return statements (return User()) ─────────────────────────────
1212
+ (return_statement
1213
+ (identifier) @call.name
1214
+ (selector (argument_part))) @call
1215
+
1216
+ ; ── Calls: in variable assignments (var x = getUser()) ──────────────────────
1217
+ (initialized_variable_definition
1218
+ value: (identifier) @call.name
1219
+ (selector (argument_part))) @call
1220
+
1221
+ ; ── Calls: member calls in variable assignments (var x = obj.method()) ──────
1222
+ (initialized_variable_definition
1223
+ (selector
1224
+ (unconditional_assignable_selector
1225
+ (identifier) @call.name))
1226
+ (selector (argument_part))) @call
1227
+
1228
+ ; ── Calls: await direct (await doSomething()) ────────────────────────────────
1229
+ (await_expression
1230
+ (identifier) @call.name
1231
+ .
1232
+ (selector (argument_part))) @call
1233
+
1234
+ ; ── Calls: await method chain (await obj.method()) ───────────────────────────
1235
+ ; Requires argument_part to distinguish method calls from field access (await obj.field)
1236
+ (await_expression
1237
+ (selector
1238
+ (unconditional_assignable_selector
1239
+ (identifier) @call.name))
1240
+ (selector (argument_part))) @call
1241
+
1242
+ ; ── Calls: named argument (foo(child: buildX())) ─────────────────────────────
1243
+ (named_argument
1244
+ (identifier) @call.name
1245
+ .
1246
+ (selector (argument_part))) @call
1247
+
1248
+ ; ── Calls: inside list literals ([buildA(), buildB()]) ───────────────────────
1249
+ (list_literal
1250
+ (identifier) @call.name
1251
+ .
1252
+ (selector (argument_part))) @call
1253
+
1254
+ ; ── Calls: cascade (obj..add(x)..sort()) ─────────────────────────────────────
1255
+ ; Note: cascade_selector contains identifier directly (no unconditional_assignable_selector
1256
+ ; wrapper in Dart grammar), so inferCallForm() classifies these as free calls rather than
1257
+ ; member calls. Cross-file resolution still benefits from the call being recorded.
1258
+ (cascade_section
1259
+ (cascade_selector (identifier) @call.name)
1260
+ (argument_part)) @call
1261
+
1262
+ ; ── Calls: static final field initializers (static final _svc = MyService()) ──
1263
+ (static_final_declaration
1264
+ (identifier) @call.name
1265
+ .
1266
+ (selector (argument_part))) @call
1267
+
1268
+ ; ── Calls: arrow function body (=> buildWidget()) ────────────────────────────
1269
+ (function_body "=>"
1270
+ (identifier) @call.name
1271
+ .
1272
+ (selector (argument_part))) @call
1273
+
1274
+ ; ── Calls: lambda body (() => doSomething()) ─────────────────────────────────
1275
+ (function_expression_body
1276
+ (identifier) @call.name
1277
+ .
1278
+ (selector (argument_part))) @call
1279
+
1280
+ ; ── Re-exports (export 'foo.dart') ───────────────────────────────────────────
1281
+ (import_or_export
1282
+ (library_export
1283
+ (configurable_uri) @import.source)) @import
1284
+
1285
+ ; ── Write access: obj.field = value ──────────────────────────────────────────
1286
+ (assignment_expression
1287
+ left: (assignable_expression
1288
+ (identifier) @assignment.receiver
1289
+ (unconditional_assignable_selector
1290
+ (identifier) @assignment.property))
1291
+ right: (_)) @assignment
1292
+
1293
+ ; ── Write access: this.field = value ─────────────────────────────────────────
1294
+ (assignment_expression
1295
+ left: (assignable_expression
1296
+ (this) @assignment.receiver
1297
+ (unconditional_assignable_selector
1298
+ (identifier) @assignment.property))
1299
+ right: (_)) @assignment
1300
+
1301
+ ; ── Heritage: extends ────────────────────────────────────────────────────────
1302
+ (class_definition
1303
+ name: (identifier) @heritage.class
1304
+ superclass: (superclass
1305
+ (type_identifier) @heritage.extends)) @heritage
1306
+
1307
+ ; ── Heritage: implements ─────────────────────────────────────────────────────
1308
+ (class_definition
1309
+ name: (identifier) @heritage.class
1310
+ interfaces: (interfaces
1311
+ (type_identifier) @heritage.implements)) @heritage.impl
1312
+
1313
+ ; ── Heritage: with (mixins) ──────────────────────────────────────────────────
1314
+ (class_definition
1315
+ name: (identifier) @heritage.class
1316
+ superclass: (superclass
1317
+ (mixins
1318
+ (type_identifier) @heritage.trait))) @heritage
1319
+ `;
1320
+ import { SupportedLanguages } from '../../_shared/index.js';
1321
+ export const LANGUAGE_QUERIES = {
1322
+ [SupportedLanguages.TypeScript]: TYPESCRIPT_QUERIES,
1323
+ [SupportedLanguages.JavaScript]: JAVASCRIPT_QUERIES,
1324
+ [SupportedLanguages.Python]: PYTHON_QUERIES,
1325
+ [SupportedLanguages.Java]: JAVA_QUERIES,
1326
+ [SupportedLanguages.C]: C_QUERIES,
1327
+ [SupportedLanguages.Go]: GO_QUERIES,
1328
+ [SupportedLanguages.CPlusPlus]: CPP_QUERIES,
1329
+ [SupportedLanguages.CSharp]: CSHARP_QUERIES,
1330
+ [SupportedLanguages.Rust]: RUST_QUERIES,
1331
+ [SupportedLanguages.PHP]: PHP_QUERIES,
1332
+ [SupportedLanguages.Kotlin]: KOTLIN_QUERIES,
1333
+ [SupportedLanguages.Ruby]: RUBY_QUERIES,
1334
+ [SupportedLanguages.Swift]: SWIFT_QUERIES,
1335
+ [SupportedLanguages.Dart]: DART_QUERIES,
1336
+ [SupportedLanguages.Vue]: TYPESCRIPT_QUERIES, // Vue <script> blocks are parsed as TypeScript
1337
+ [SupportedLanguages.Cobol]: '', // Standalone regex processor — no tree-sitter queries
1338
+ };