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,93 @@
1
+ /**
2
+ * Field extraction configuration for Dart.
3
+ *
4
+ * Dart fields appear as `declaration` nodes inside `class_body`. The
5
+ * declaration typically nests:
6
+ * declaration > initialized_identifier_list > initialized_identifier > identifier
7
+ *
8
+ * Visibility follows Dart convention: an underscore prefix marks the
9
+ * member as library-private.
10
+ */
11
+ import { SupportedLanguages } from '../../../shared/index.js';
12
+ import { hasKeyword } from './helpers.js';
13
+ import { extractSimpleTypeName } from '../../type-extractors/shared.js';
14
+ /** AST node types that represent Dart type references. */
15
+ const DART_TYPE_NODES = new Set([
16
+ 'type_identifier',
17
+ 'generic_type',
18
+ 'function_type',
19
+ ]);
20
+ /**
21
+ * Walk a declaration node to find the first identifier text representing
22
+ * the field name. Handles both the common initialized_identifier_list
23
+ * wrapper and direct initialized_identifier children.
24
+ */
25
+ function locateFieldName(decl) {
26
+ for (let idx = 0; idx < decl.namedChildCount; idx++) {
27
+ const kid = decl.namedChild(idx);
28
+ // initialized_identifier_list > initialized_identifier > identifier
29
+ if (kid?.type === 'initialized_identifier_list') {
30
+ for (let j = 0; j < kid.namedChildCount; j++) {
31
+ const init = kid.namedChild(j);
32
+ if (init?.type === 'initialized_identifier') {
33
+ const ident = init.firstNamedChild;
34
+ if (ident?.type === 'identifier')
35
+ return ident.text;
36
+ }
37
+ }
38
+ }
39
+ // Direct initialized_identifier child
40
+ if (kid?.type === 'initialized_identifier') {
41
+ const ident = kid.firstNamedChild;
42
+ if (ident?.type === 'identifier')
43
+ return ident.text;
44
+ }
45
+ }
46
+ // Last resort: named 'name' field
47
+ const nameChild = decl.childForFieldName('name');
48
+ return nameChild?.text;
49
+ }
50
+ export const dartConfig = {
51
+ language: SupportedLanguages.Dart,
52
+ typeDeclarationNodes: ['class_definition'],
53
+ fieldNodeTypes: ['declaration'],
54
+ bodyNodeTypes: ['class_body'],
55
+ defaultVisibility: 'public',
56
+ extractName(decl) {
57
+ return locateFieldName(decl);
58
+ },
59
+ extractType(decl) {
60
+ // Scan for a type node among named children
61
+ for (let idx = 0; idx < decl.namedChildCount; idx++) {
62
+ const kid = decl.namedChild(idx);
63
+ if (kid && DART_TYPE_NODES.has(kid.type)) {
64
+ return extractSimpleTypeName(kid) ?? kid.text?.trim();
65
+ }
66
+ }
67
+ return undefined;
68
+ },
69
+ extractVisibility(decl) {
70
+ // Walk to find the identifier and check underscore convention
71
+ for (let idx = 0; idx < decl.namedChildCount; idx++) {
72
+ const kid = decl.namedChild(idx);
73
+ if (kid?.type === 'initialized_identifier_list') {
74
+ for (let j = 0; j < kid.namedChildCount; j++) {
75
+ const init = kid.namedChild(j);
76
+ if (init?.type === 'initialized_identifier') {
77
+ const ident = init.firstNamedChild;
78
+ if (ident?.text?.startsWith('_'))
79
+ return 'private';
80
+ }
81
+ }
82
+ }
83
+ }
84
+ return 'public';
85
+ },
86
+ isStatic(decl) {
87
+ return hasKeyword(decl, 'static');
88
+ },
89
+ isReadonly(decl) {
90
+ return hasKeyword(decl, 'final') || hasKeyword(decl, 'const');
91
+ },
92
+ };
93
+ //# sourceMappingURL=dart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dart.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/dart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Field extraction configuration for Go.
3
+ *
4
+ * Go struct fields are nested as:
5
+ * type_declaration > type_spec > struct_type > field_declaration_list > field_declaration
6
+ *
7
+ * Visibility follows Go's capitalization convention: an uppercase initial
8
+ * letter means the field is exported (public), lowercase means unexported
9
+ * (package-scoped).
10
+ */
11
+ import type { FieldExtractionConfig } from '../generic.js';
12
+ export declare const goConfig: FieldExtractionConfig;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Field extraction configuration for Go.
3
+ *
4
+ * Go struct fields are nested as:
5
+ * type_declaration > type_spec > struct_type > field_declaration_list > field_declaration
6
+ *
7
+ * Visibility follows Go's capitalization convention: an uppercase initial
8
+ * letter means the field is exported (public), lowercase means unexported
9
+ * (package-scoped).
10
+ */
11
+ import { SupportedLanguages } from '../../../shared/index.js';
12
+ import { extractSimpleTypeName } from '../../type-extractors/shared.js';
13
+ export const goConfig = {
14
+ language: SupportedLanguages.Go,
15
+ typeDeclarationNodes: ['type_declaration'],
16
+ fieldNodeTypes: ['field_declaration'],
17
+ bodyNodeTypes: ['field_declaration_list'],
18
+ defaultVisibility: 'package',
19
+ extractName(decl) {
20
+ // Primary path: named 'name' field holds a field_identifier
21
+ const nameChild = decl.childForFieldName('name');
22
+ if (nameChild)
23
+ return nameChild.text;
24
+ // Fallback: first field_identifier among named children
25
+ for (let idx = 0; idx < decl.namedChildCount; idx++) {
26
+ const kid = decl.namedChild(idx);
27
+ if (kid?.type === 'field_identifier')
28
+ return kid.text;
29
+ }
30
+ return undefined;
31
+ },
32
+ extractType(decl) {
33
+ // Named 'type' field on field_declaration
34
+ const typeChild = decl.childForFieldName('type');
35
+ if (typeChild)
36
+ return extractSimpleTypeName(typeChild) ?? typeChild.text?.trim();
37
+ // Fallback: the second named child is typically the type
38
+ if (decl.namedChildCount >= 2) {
39
+ const second = decl.namedChild(1);
40
+ if (second)
41
+ return extractSimpleTypeName(second) ?? second.text?.trim();
42
+ }
43
+ return undefined;
44
+ },
45
+ extractVisibility(decl) {
46
+ const nameChild = decl.childForFieldName('name');
47
+ const identifier = nameChild?.text;
48
+ if (identifier && identifier.length > 0) {
49
+ const ch = identifier.charAt(0);
50
+ // Uppercase first character that is NOT lowercase => exported
51
+ if (ch === ch.toUpperCase() && ch !== ch.toLowerCase())
52
+ return 'public';
53
+ return 'package';
54
+ }
55
+ return 'package';
56
+ },
57
+ isStatic() {
58
+ // Go does not support static struct fields
59
+ return false;
60
+ },
61
+ isReadonly() {
62
+ // Go struct fields are always mutable
63
+ return false;
64
+ },
65
+ };
66
+ //# sourceMappingURL=go.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/go.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,QAAQ,EAAE,kBAAkB,CAAC,EAAE;IAE/B,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;IAC1C,cAAc,EAAE,CAAC,mBAAmB,CAAC;IACrC,aAAa,EAAE,CAAC,wBAAwB,CAAC;IACzC,iBAAiB,EAAE,SAAS;IAE5B,WAAW,CAAC,IAAI;QACd,4DAA4D;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC,IAAI,CAAC;QAErC,wDAAwD;QACxD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,GAAG,EAAE,IAAI,KAAK,kBAAkB;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,IAAI;QACd,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,SAAS;YAAE,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAEjF,yDAAyD;QACzD,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,MAAM;gBAAE,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,IAAI;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,SAAS,EAAE,IAAI,CAAC;QACnC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChC,8DAA8D;YAC9D,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE;gBAAE,OAAO,QAAQ,CAAC;YACxE,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,2CAA2C;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,sCAAsC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Shared AST-walking helpers used by multiple language configs.
3
+ * Keeps individual config files small.
4
+ */
5
+ import type { SyntaxNode } from '../../utils/ast-helpers.js';
6
+ import type { FieldVisibility } from '../../field-types.js';
7
+ /**
8
+ * Check whether any child of `node` (named or unnamed) has .text matching
9
+ * the given `keyword`.
10
+ *
11
+ * Skips the `name` field child to avoid false positives when a method is
12
+ * named after a contextual keyword (e.g. `abstract()` in TypeScript).
13
+ */
14
+ export declare function hasKeyword(node: SyntaxNode, keyword: string): boolean;
15
+ /**
16
+ * Check whether a named child of type `modifierType` contains `keyword`.
17
+ * Useful for languages that group modifiers under a wrapper node
18
+ * (e.g. Java 'modifiers', Kotlin 'modifiers').
19
+ */
20
+ export declare function hasModifier(node: SyntaxNode, modifierType: string, keyword: string): boolean;
21
+ /**
22
+ * Return the first matching visibility keyword found either as a direct keyword
23
+ * child or inside a modifier wrapper node.
24
+ * Skips the `name` field child (same rationale as hasKeyword).
25
+ */
26
+ export declare function findVisibility(node: SyntaxNode, keywords: ReadonlySet<FieldVisibility>, defaultVis: FieldVisibility, modifierNodeType?: string): FieldVisibility;
27
+ /**
28
+ * Collect all modifier keyword texts from a declaration node's named `modifier` children.
29
+ * Used by C# configs to detect compound visibilities (protected internal, private protected).
30
+ */
31
+ export declare function collectModifierTexts(node: SyntaxNode): Set<string>;
32
+ /**
33
+ * Get type text from a named field on the node, using extractSimpleTypeName.
34
+ * Falls back to raw .text of the field child if extractSimpleTypeName returns undefined.
35
+ */
36
+ export declare function typeFromField(node: SyntaxNode, fieldName: string): string | undefined;
37
+ /**
38
+ * Walk named children looking for a type_annotation node and extract its type.
39
+ */
40
+ export declare function typeFromAnnotation(node: SyntaxNode): string | undefined;
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Shared AST-walking helpers used by multiple language configs.
3
+ * Keeps individual config files small.
4
+ */
5
+ import { extractSimpleTypeName } from '../../type-extractors/shared.js';
6
+ // ---------------------------------------------------------------------------
7
+ // Modifier scanning
8
+ // ---------------------------------------------------------------------------
9
+ /**
10
+ * Check whether any child of `node` (named or unnamed) has .text matching
11
+ * the given `keyword`.
12
+ *
13
+ * Skips the `name` field child to avoid false positives when a method is
14
+ * named after a contextual keyword (e.g. `abstract()` in TypeScript).
15
+ */
16
+ export function hasKeyword(node, keyword) {
17
+ const nameNode = node.childForFieldName('name');
18
+ for (let i = 0; i < node.childCount; i++) {
19
+ const child = node.child(i);
20
+ if (!child || child === nameNode)
21
+ continue;
22
+ if (child.text.trim() === keyword)
23
+ return true;
24
+ }
25
+ return false;
26
+ }
27
+ /**
28
+ * Check whether a named child of type `modifierType` contains `keyword`.
29
+ * Useful for languages that group modifiers under a wrapper node
30
+ * (e.g. Java 'modifiers', Kotlin 'modifiers').
31
+ */
32
+ export function hasModifier(node, modifierType, keyword) {
33
+ for (let i = 0; i < node.namedChildCount; i++) {
34
+ const child = node.namedChild(i);
35
+ if (child && child.type === modifierType) {
36
+ for (let j = 0; j < child.childCount; j++) {
37
+ const mod = child.child(j);
38
+ if (mod && mod.text.trim() === keyword)
39
+ return true;
40
+ }
41
+ }
42
+ }
43
+ return false;
44
+ }
45
+ /**
46
+ * Return the first matching visibility keyword found either as a direct keyword
47
+ * child or inside a modifier wrapper node.
48
+ * Skips the `name` field child (same rationale as hasKeyword).
49
+ */
50
+ export function findVisibility(node, keywords, defaultVis, modifierNodeType) {
51
+ const nameNode = node.childForFieldName('name');
52
+ // Direct keyword children
53
+ for (let i = 0; i < node.childCount; i++) {
54
+ const child = node.child(i);
55
+ if (!child || child === nameNode)
56
+ continue;
57
+ const text = child.text.trim();
58
+ if (text && keywords.has(text))
59
+ return text;
60
+ }
61
+ // Modifier wrapper
62
+ if (modifierNodeType) {
63
+ for (let i = 0; i < node.namedChildCount; i++) {
64
+ const child = node.namedChild(i);
65
+ if (child && child.type === modifierNodeType) {
66
+ for (let j = 0; j < child.childCount; j++) {
67
+ const mod = child.child(j);
68
+ const modText = mod?.text.trim();
69
+ if (modText && keywords.has(modText))
70
+ return modText;
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return defaultVis;
76
+ }
77
+ // ---------------------------------------------------------------------------
78
+ // Name and type extraction
79
+ // ---------------------------------------------------------------------------
80
+ /**
81
+ * Collect all modifier keyword texts from a declaration node's named `modifier` children.
82
+ * Used by C# configs to detect compound visibilities (protected internal, private protected).
83
+ */
84
+ export function collectModifierTexts(node) {
85
+ const result = new Set();
86
+ for (let i = 0; i < node.namedChildCount; i++) {
87
+ const child = node.namedChild(i);
88
+ if (child && child.type === 'modifier') {
89
+ result.add(child.text.trim());
90
+ }
91
+ }
92
+ return result;
93
+ }
94
+ /**
95
+ * Get type text from a named field on the node, using extractSimpleTypeName.
96
+ * Falls back to raw .text of the field child if extractSimpleTypeName returns undefined.
97
+ */
98
+ export function typeFromField(node, fieldName) {
99
+ const typeNode = node.childForFieldName(fieldName);
100
+ if (!typeNode)
101
+ return undefined;
102
+ return extractSimpleTypeName(typeNode) ?? typeNode.text?.trim();
103
+ }
104
+ /**
105
+ * Walk named children looking for a type_annotation node and extract its type.
106
+ */
107
+ export function typeFromAnnotation(node) {
108
+ for (let i = 0; i < node.namedChildCount; i++) {
109
+ const child = node.namedChild(i);
110
+ if (child && child.type === 'type_annotation') {
111
+ const inner = child.firstNamedChild;
112
+ if (inner)
113
+ return extractSimpleTypeName(inner) ?? inner.text?.trim();
114
+ }
115
+ }
116
+ return undefined;
117
+ }
118
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Field extraction configurations for Java and Kotlin.
3
+ *
4
+ * Java: Fields appear as `field_declaration` nodes. The name is inside a
5
+ * `variable_declarator` (via the `declarator` field or as a named child).
6
+ * Modifiers live in a `modifiers` wrapper node. Default visibility is
7
+ * package-private when no access modifier is specified.
8
+ *
9
+ * Kotlin: Properties appear as `property_declaration` nodes. The name is
10
+ * inside a `variable_declaration > simple_identifier` subtree. Types may
11
+ * appear as `user_type`, `nullable_type`, or other type nodes under the
12
+ * variable_declaration. Default visibility is public. `val` = readonly,
13
+ * `var` = mutable.
14
+ */
15
+ import type { FieldExtractionConfig } from '../generic.js';
16
+ export declare const javaConfig: FieldExtractionConfig;
17
+ export declare const kotlinConfig: FieldExtractionConfig;
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Field extraction configurations for Java and Kotlin.
3
+ *
4
+ * Java: Fields appear as `field_declaration` nodes. The name is inside a
5
+ * `variable_declarator` (via the `declarator` field or as a named child).
6
+ * Modifiers live in a `modifiers` wrapper node. Default visibility is
7
+ * package-private when no access modifier is specified.
8
+ *
9
+ * Kotlin: Properties appear as `property_declaration` nodes. The name is
10
+ * inside a `variable_declaration > simple_identifier` subtree. Types may
11
+ * appear as `user_type`, `nullable_type`, or other type nodes under the
12
+ * variable_declaration. Default visibility is public. `val` = readonly,
13
+ * `var` = mutable.
14
+ */
15
+ import { SupportedLanguages } from '../../../shared/index.js';
16
+ import { findVisibility, hasKeyword, hasModifier, typeFromField } from './helpers.js';
17
+ import { extractSimpleTypeName } from '../../type-extractors/shared.js';
18
+ // =========================================================================
19
+ // Java
20
+ // =========================================================================
21
+ const JAVA_VISIBILITY_SET = new Set(['public', 'private', 'protected']);
22
+ export const javaConfig = {
23
+ language: SupportedLanguages.Java,
24
+ typeDeclarationNodes: [
25
+ 'class_declaration',
26
+ 'interface_declaration',
27
+ 'enum_declaration',
28
+ 'record_declaration',
29
+ ],
30
+ fieldNodeTypes: ['field_declaration'],
31
+ bodyNodeTypes: ['class_body', 'interface_body', 'enum_body'],
32
+ defaultVisibility: 'package',
33
+ extractName(fieldDecl) {
34
+ // field_declaration > declarator:(variable_declarator name:(identifier))
35
+ const declarator = fieldDecl.childForFieldName('declarator');
36
+ if (declarator) {
37
+ const nameChild = declarator.childForFieldName('name');
38
+ return nameChild?.text;
39
+ }
40
+ // Fallback: scan named children for a variable_declarator
41
+ for (let idx = 0; idx < fieldDecl.namedChildCount; idx++) {
42
+ const kid = fieldDecl.namedChild(idx);
43
+ if (kid?.type === 'variable_declarator') {
44
+ const nameChild = kid.childForFieldName('name');
45
+ return nameChild?.text;
46
+ }
47
+ }
48
+ return undefined;
49
+ },
50
+ extractType(fieldDecl) {
51
+ // Try the named 'type' field first
52
+ const fromField = typeFromField(fieldDecl, 'type');
53
+ if (fromField)
54
+ return fromField;
55
+ // Fallback: first named child that is not a 'modifiers' node
56
+ const first = fieldDecl.firstNamedChild;
57
+ if (first && first.type !== 'modifiers') {
58
+ return extractSimpleTypeName(first) ?? first.text?.trim();
59
+ }
60
+ return undefined;
61
+ },
62
+ extractVisibility(fieldDecl) {
63
+ return findVisibility(fieldDecl, JAVA_VISIBILITY_SET, 'package', 'modifiers');
64
+ },
65
+ isStatic(fieldDecl) {
66
+ return hasKeyword(fieldDecl, 'static') || hasModifier(fieldDecl, 'modifiers', 'static');
67
+ },
68
+ isReadonly(fieldDecl) {
69
+ return hasKeyword(fieldDecl, 'final') || hasModifier(fieldDecl, 'modifiers', 'final');
70
+ },
71
+ };
72
+ // =========================================================================
73
+ // Kotlin
74
+ // =========================================================================
75
+ const KOTLIN_VISIBILITY_SET = new Set([
76
+ 'public',
77
+ 'private',
78
+ 'protected',
79
+ 'internal',
80
+ ]);
81
+ export const kotlinConfig = {
82
+ language: SupportedLanguages.Kotlin,
83
+ typeDeclarationNodes: ['class_declaration', 'object_declaration'],
84
+ fieldNodeTypes: ['property_declaration'],
85
+ bodyNodeTypes: ['class_body'],
86
+ defaultVisibility: 'public',
87
+ extractName(propDecl) {
88
+ // property_declaration > variable_declaration > simple_identifier
89
+ for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
90
+ const kid = propDecl.namedChild(idx);
91
+ if (kid?.type === 'variable_declaration') {
92
+ for (let j = 0; j < kid.namedChildCount; j++) {
93
+ const ident = kid.namedChild(j);
94
+ if (ident?.type === 'simple_identifier')
95
+ return ident.text;
96
+ }
97
+ }
98
+ // Direct simple_identifier child
99
+ if (kid?.type === 'simple_identifier')
100
+ return kid.text;
101
+ }
102
+ return undefined;
103
+ },
104
+ extractType(propDecl) {
105
+ // Types may live inside variable_declaration as user_type, nullable_type, etc.
106
+ for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
107
+ const kid = propDecl.namedChild(idx);
108
+ if (kid?.type === 'variable_declaration') {
109
+ for (let j = 0; j < kid.namedChildCount; j++) {
110
+ const typeNode = kid.namedChild(j);
111
+ if (typeNode &&
112
+ (typeNode.type === 'user_type' ||
113
+ typeNode.type === 'type_identifier' ||
114
+ typeNode.type === 'nullable_type' ||
115
+ typeNode.type === 'generic_type')) {
116
+ return extractSimpleTypeName(typeNode) ?? typeNode.text?.trim();
117
+ }
118
+ }
119
+ }
120
+ // Direct type children on the property_declaration
121
+ if (kid?.type === 'user_type' || kid?.type === 'nullable_type') {
122
+ return extractSimpleTypeName(kid) ?? kid.text?.trim();
123
+ }
124
+ }
125
+ return undefined;
126
+ },
127
+ extractVisibility(propDecl) {
128
+ return findVisibility(propDecl, KOTLIN_VISIBILITY_SET, 'public', 'modifiers');
129
+ },
130
+ isStatic() {
131
+ // Kotlin has no static keyword; companion object members are separate
132
+ return false;
133
+ },
134
+ isReadonly(propDecl) {
135
+ // `val` declares an immutable property, `var` is mutable
136
+ return hasKeyword(propDecl, 'val');
137
+ },
138
+ };
139
+ //# sourceMappingURL=jvm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jvm.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/jvm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Field extraction configuration for PHP.
3
+ *
4
+ * PHP class properties are represented as `property_declaration` nodes
5
+ * inside a `declaration_list` body. Each property_declaration typically
6
+ * contains a `property_element` with a `variable_name` (prefixed with `$`).
7
+ *
8
+ * Type declarations may appear as named_type, primitive_type, union_type,
9
+ * optional_type, intersection_type, or nullable_type children.
10
+ */
11
+ import type { FieldExtractionConfig } from '../generic.js';
12
+ export declare const phpConfig: FieldExtractionConfig;
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Field extraction configuration for PHP.
3
+ *
4
+ * PHP class properties are represented as `property_declaration` nodes
5
+ * inside a `declaration_list` body. Each property_declaration typically
6
+ * contains a `property_element` with a `variable_name` (prefixed with `$`).
7
+ *
8
+ * Type declarations may appear as named_type, primitive_type, union_type,
9
+ * optional_type, intersection_type, or nullable_type children.
10
+ */
11
+ import { SupportedLanguages } from '../../../shared/index.js';
12
+ import { findVisibility, hasKeyword } from './helpers.js';
13
+ import { extractSimpleTypeName } from '../../type-extractors/shared.js';
14
+ const PHP_VISIBILITY_SET = new Set(['public', 'private', 'protected']);
15
+ /** AST node types that represent PHP type annotations. */
16
+ const PHP_TYPE_NODES = new Set([
17
+ 'union_type',
18
+ 'named_type',
19
+ 'optional_type',
20
+ 'primitive_type',
21
+ 'intersection_type',
22
+ 'nullable_type',
23
+ ]);
24
+ export const phpConfig = {
25
+ language: SupportedLanguages.PHP,
26
+ typeDeclarationNodes: ['class_declaration', 'interface_declaration', 'trait_declaration'],
27
+ fieldNodeTypes: ['property_declaration'],
28
+ bodyNodeTypes: ['declaration_list'],
29
+ defaultVisibility: 'public',
30
+ extractName(propDecl) {
31
+ // property_declaration > property_element > variable_name ($foo)
32
+ for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
33
+ const kid = propDecl.namedChild(idx);
34
+ if (kid?.type === 'property_element') {
35
+ const varNode = kid.childForFieldName('name') ?? kid.firstNamedChild;
36
+ if (varNode) {
37
+ const raw = varNode.text;
38
+ return raw.startsWith('$') ? raw.slice(1) : raw;
39
+ }
40
+ }
41
+ // Direct variable_name child (alternative tree shape)
42
+ if (kid?.type === 'variable_name') {
43
+ const raw = kid.text;
44
+ return raw.startsWith('$') ? raw.slice(1) : raw;
45
+ }
46
+ }
47
+ return undefined;
48
+ },
49
+ extractType(propDecl) {
50
+ // Scan named children for a type annotation node
51
+ for (let idx = 0; idx < propDecl.namedChildCount; idx++) {
52
+ const kid = propDecl.namedChild(idx);
53
+ if (kid && PHP_TYPE_NODES.has(kid.type)) {
54
+ return extractSimpleTypeName(kid) ?? kid.text?.trim();
55
+ }
56
+ }
57
+ return undefined;
58
+ },
59
+ extractVisibility(propDecl) {
60
+ return findVisibility(propDecl, PHP_VISIBILITY_SET, 'public');
61
+ },
62
+ isStatic(propDecl) {
63
+ return hasKeyword(propDecl, 'static');
64
+ },
65
+ isReadonly(propDecl) {
66
+ return hasKeyword(propDecl, 'readonly');
67
+ },
68
+ };
69
+ //# sourceMappingURL=php.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php.js","sourceRoot":"","sources":["../../../../../src/core/parser/field-extractors/configs/php.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAGxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAExF,0DAA0D;AAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAA0B;IAC9C,QAAQ,EAAE,kBAAkB,CAAC,GAAG;IAEhC,oBAAoB,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,mBAAmB,CAAC;IACzF,cAAc,EAAE,CAAC,sBAAsB,CAAC;IACxC,aAAa,EAAE,CAAC,kBAAkB,CAAC;IACnC,iBAAiB,EAAE,QAAQ;IAE3B,WAAW,CAAC,QAAQ;QAClB,iEAAiE;QACjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,GAAG,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;gBACrE,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;oBACzB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,GAAG,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,iDAAiD;QACjD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE,EAAE,CAAC;YACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,QAAQ;QACxB,OAAO,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ,CAAC,QAAQ;QACf,OAAO,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,QAAQ;QACjB,OAAO,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Field extraction configuration for Python.
3
+ *
4
+ * Python class-level fields appear as expression_statement nodes wrapping
5
+ * either annotated assignments (`name: str = ""`) or plain assignments
6
+ * (`x = 5`). Instance variables set on `self` in `__init__` are not
7
+ * captured here -- only body-level declarations are in scope.
8
+ *
9
+ * Visibility uses Python convention:
10
+ * - `__name` (dunder without trailing __) -> private
11
+ * - `_name` -> protected
12
+ * - anything else -> public
13
+ */
14
+ import type { FieldExtractionConfig } from '../generic.js';
15
+ export declare const pythonConfig: FieldExtractionConfig;