cotx-engine 0.1.0

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