@saluzi/codegraph 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/dist/bin/codegraph.d.ts +26 -0
  2. package/dist/bin/codegraph.d.ts.map +1 -0
  3. package/dist/bin/codegraph.js +2248 -0
  4. package/dist/bin/codegraph.js.map +1 -0
  5. package/dist/bin/command-supervision.d.ts +49 -0
  6. package/dist/bin/command-supervision.d.ts.map +1 -0
  7. package/dist/bin/command-supervision.js +95 -0
  8. package/dist/bin/command-supervision.js.map +1 -0
  9. package/dist/bin/fatal-handler.d.ts +20 -0
  10. package/dist/bin/fatal-handler.d.ts.map +1 -0
  11. package/dist/bin/fatal-handler.js +118 -0
  12. package/dist/bin/fatal-handler.js.map +1 -0
  13. package/dist/bin/node-version-check.d.ts +37 -0
  14. package/dist/bin/node-version-check.d.ts.map +1 -0
  15. package/dist/bin/node-version-check.js +79 -0
  16. package/dist/bin/node-version-check.js.map +1 -0
  17. package/dist/bin/uninstall.d.ts +14 -0
  18. package/dist/bin/uninstall.d.ts.map +1 -0
  19. package/dist/bin/uninstall.js +36 -0
  20. package/dist/bin/uninstall.js.map +1 -0
  21. package/dist/context/formatter.d.ts +30 -0
  22. package/dist/context/formatter.d.ts.map +1 -0
  23. package/dist/context/formatter.js +263 -0
  24. package/dist/context/formatter.js.map +1 -0
  25. package/dist/context/index.d.ts +119 -0
  26. package/dist/context/index.d.ts.map +1 -0
  27. package/dist/context/index.js +1296 -0
  28. package/dist/context/index.js.map +1 -0
  29. package/dist/context/markers.d.ts +19 -0
  30. package/dist/context/markers.d.ts.map +1 -0
  31. package/dist/context/markers.js +22 -0
  32. package/dist/context/markers.js.map +1 -0
  33. package/dist/db/index.d.ts +201 -0
  34. package/dist/db/index.d.ts.map +1 -0
  35. package/dist/db/index.js +493 -0
  36. package/dist/db/index.js.map +1 -0
  37. package/dist/db/migrations.d.ts +44 -0
  38. package/dist/db/migrations.d.ts.map +1 -0
  39. package/dist/db/migrations.js +212 -0
  40. package/dist/db/migrations.js.map +1 -0
  41. package/dist/db/queries.d.ts +513 -0
  42. package/dist/db/queries.d.ts.map +1 -0
  43. package/dist/db/queries.js +1886 -0
  44. package/dist/db/queries.js.map +1 -0
  45. package/dist/db/schema.sql +194 -0
  46. package/dist/db/sqlite-adapter.d.ts +53 -0
  47. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  48. package/dist/db/sqlite-adapter.js +117 -0
  49. package/dist/db/sqlite-adapter.js.map +1 -0
  50. package/dist/db/wal-valve.d.ts +106 -0
  51. package/dist/db/wal-valve.d.ts.map +1 -0
  52. package/dist/db/wal-valve.js +208 -0
  53. package/dist/db/wal-valve.js.map +1 -0
  54. package/dist/directory.d.ts +183 -0
  55. package/dist/directory.d.ts.map +1 -0
  56. package/dist/directory.js +797 -0
  57. package/dist/directory.js.map +1 -0
  58. package/dist/errors.d.ts +136 -0
  59. package/dist/errors.d.ts.map +1 -0
  60. package/dist/errors.js +219 -0
  61. package/dist/errors.js.map +1 -0
  62. package/dist/extraction/astro-extractor.d.ts +79 -0
  63. package/dist/extraction/astro-extractor.d.ts.map +1 -0
  64. package/dist/extraction/astro-extractor.js +320 -0
  65. package/dist/extraction/astro-extractor.js.map +1 -0
  66. package/dist/extraction/cfml-extractor.d.ts +107 -0
  67. package/dist/extraction/cfml-extractor.d.ts.map +1 -0
  68. package/dist/extraction/cfml-extractor.js +494 -0
  69. package/dist/extraction/cfml-extractor.js.map +1 -0
  70. package/dist/extraction/dfm-extractor.d.ts +31 -0
  71. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  72. package/dist/extraction/dfm-extractor.js +151 -0
  73. package/dist/extraction/dfm-extractor.js.map +1 -0
  74. package/dist/extraction/extraction-version.d.ts +25 -0
  75. package/dist/extraction/extraction-version.d.ts.map +1 -0
  76. package/dist/extraction/extraction-version.js +28 -0
  77. package/dist/extraction/extraction-version.js.map +1 -0
  78. package/dist/extraction/function-ref.d.ts +118 -0
  79. package/dist/extraction/function-ref.d.ts.map +1 -0
  80. package/dist/extraction/function-ref.js +727 -0
  81. package/dist/extraction/function-ref.js.map +1 -0
  82. package/dist/extraction/generated-detection.d.ts +30 -0
  83. package/dist/extraction/generated-detection.d.ts.map +1 -0
  84. package/dist/extraction/generated-detection.js +83 -0
  85. package/dist/extraction/generated-detection.js.map +1 -0
  86. package/dist/extraction/grammars.d.ts +138 -0
  87. package/dist/extraction/grammars.d.ts.map +1 -0
  88. package/dist/extraction/grammars.js +631 -0
  89. package/dist/extraction/grammars.js.map +1 -0
  90. package/dist/extraction/index.d.ts +232 -0
  91. package/dist/extraction/index.d.ts.map +1 -0
  92. package/dist/extraction/index.js +2409 -0
  93. package/dist/extraction/index.js.map +1 -0
  94. package/dist/extraction/languages/arkts.d.ts +3 -0
  95. package/dist/extraction/languages/arkts.d.ts.map +1 -0
  96. package/dist/extraction/languages/arkts.js +127 -0
  97. package/dist/extraction/languages/arkts.js.map +1 -0
  98. package/dist/extraction/languages/c-cpp.d.ts +110 -0
  99. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  100. package/dist/extraction/languages/c-cpp.js +837 -0
  101. package/dist/extraction/languages/c-cpp.js.map +1 -0
  102. package/dist/extraction/languages/cfquery.d.ts +12 -0
  103. package/dist/extraction/languages/cfquery.d.ts.map +1 -0
  104. package/dist/extraction/languages/cfquery.js +28 -0
  105. package/dist/extraction/languages/cfquery.js.map +1 -0
  106. package/dist/extraction/languages/cfscript.d.ts +3 -0
  107. package/dist/extraction/languages/cfscript.d.ts.map +1 -0
  108. package/dist/extraction/languages/cfscript.js +73 -0
  109. package/dist/extraction/languages/cfscript.js.map +1 -0
  110. package/dist/extraction/languages/cobol.d.ts +33 -0
  111. package/dist/extraction/languages/cobol.d.ts.map +1 -0
  112. package/dist/extraction/languages/cobol.js +499 -0
  113. package/dist/extraction/languages/cobol.js.map +1 -0
  114. package/dist/extraction/languages/csharp.d.ts +25 -0
  115. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  116. package/dist/extraction/languages/csharp.js +175 -0
  117. package/dist/extraction/languages/csharp.js.map +1 -0
  118. package/dist/extraction/languages/dart.d.ts +3 -0
  119. package/dist/extraction/languages/dart.d.ts.map +1 -0
  120. package/dist/extraction/languages/dart.js +374 -0
  121. package/dist/extraction/languages/dart.js.map +1 -0
  122. package/dist/extraction/languages/erlang.d.ts +3 -0
  123. package/dist/extraction/languages/erlang.d.ts.map +1 -0
  124. package/dist/extraction/languages/erlang.js +350 -0
  125. package/dist/extraction/languages/erlang.js.map +1 -0
  126. package/dist/extraction/languages/go.d.ts +3 -0
  127. package/dist/extraction/languages/go.d.ts.map +1 -0
  128. package/dist/extraction/languages/go.js +111 -0
  129. package/dist/extraction/languages/go.js.map +1 -0
  130. package/dist/extraction/languages/index.d.ts +10 -0
  131. package/dist/extraction/languages/index.d.ts.map +1 -0
  132. package/dist/extraction/languages/index.js +71 -0
  133. package/dist/extraction/languages/index.js.map +1 -0
  134. package/dist/extraction/languages/java.d.ts +3 -0
  135. package/dist/extraction/languages/java.d.ts.map +1 -0
  136. package/dist/extraction/languages/java.js +315 -0
  137. package/dist/extraction/languages/java.js.map +1 -0
  138. package/dist/extraction/languages/javascript.d.ts +3 -0
  139. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  140. package/dist/extraction/languages/javascript.js +106 -0
  141. package/dist/extraction/languages/javascript.js.map +1 -0
  142. package/dist/extraction/languages/kotlin.d.ts +3 -0
  143. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  144. package/dist/extraction/languages/kotlin.js +379 -0
  145. package/dist/extraction/languages/kotlin.js.map +1 -0
  146. package/dist/extraction/languages/lua.d.ts +3 -0
  147. package/dist/extraction/languages/lua.d.ts.map +1 -0
  148. package/dist/extraction/languages/lua.js +150 -0
  149. package/dist/extraction/languages/lua.js.map +1 -0
  150. package/dist/extraction/languages/luau.d.ts +3 -0
  151. package/dist/extraction/languages/luau.d.ts.map +1 -0
  152. package/dist/extraction/languages/luau.js +37 -0
  153. package/dist/extraction/languages/luau.js.map +1 -0
  154. package/dist/extraction/languages/nix.d.ts +3 -0
  155. package/dist/extraction/languages/nix.d.ts.map +1 -0
  156. package/dist/extraction/languages/nix.js +294 -0
  157. package/dist/extraction/languages/nix.js.map +1 -0
  158. package/dist/extraction/languages/objc.d.ts +3 -0
  159. package/dist/extraction/languages/objc.d.ts.map +1 -0
  160. package/dist/extraction/languages/objc.js +175 -0
  161. package/dist/extraction/languages/objc.js.map +1 -0
  162. package/dist/extraction/languages/pascal.d.ts +3 -0
  163. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  164. package/dist/extraction/languages/pascal.js +77 -0
  165. package/dist/extraction/languages/pascal.js.map +1 -0
  166. package/dist/extraction/languages/php.d.ts +3 -0
  167. package/dist/extraction/languages/php.d.ts.map +1 -0
  168. package/dist/extraction/languages/php.js +196 -0
  169. package/dist/extraction/languages/php.js.map +1 -0
  170. package/dist/extraction/languages/python.d.ts +3 -0
  171. package/dist/extraction/languages/python.d.ts.map +1 -0
  172. package/dist/extraction/languages/python.js +56 -0
  173. package/dist/extraction/languages/python.js.map +1 -0
  174. package/dist/extraction/languages/r.d.ts +3 -0
  175. package/dist/extraction/languages/r.d.ts.map +1 -0
  176. package/dist/extraction/languages/r.js +314 -0
  177. package/dist/extraction/languages/r.js.map +1 -0
  178. package/dist/extraction/languages/ruby.d.ts +3 -0
  179. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  180. package/dist/extraction/languages/ruby.js +149 -0
  181. package/dist/extraction/languages/ruby.js.map +1 -0
  182. package/dist/extraction/languages/rust.d.ts +3 -0
  183. package/dist/extraction/languages/rust.d.ts.map +1 -0
  184. package/dist/extraction/languages/rust.js +142 -0
  185. package/dist/extraction/languages/rust.js.map +1 -0
  186. package/dist/extraction/languages/scala.d.ts +3 -0
  187. package/dist/extraction/languages/scala.d.ts.map +1 -0
  188. package/dist/extraction/languages/scala.js +209 -0
  189. package/dist/extraction/languages/scala.js.map +1 -0
  190. package/dist/extraction/languages/solidity.d.ts +3 -0
  191. package/dist/extraction/languages/solidity.d.ts.map +1 -0
  192. package/dist/extraction/languages/solidity.js +293 -0
  193. package/dist/extraction/languages/solidity.js.map +1 -0
  194. package/dist/extraction/languages/swift.d.ts +3 -0
  195. package/dist/extraction/languages/swift.d.ts.map +1 -0
  196. package/dist/extraction/languages/swift.js +152 -0
  197. package/dist/extraction/languages/swift.js.map +1 -0
  198. package/dist/extraction/languages/terraform.d.ts +3 -0
  199. package/dist/extraction/languages/terraform.d.ts.map +1 -0
  200. package/dist/extraction/languages/terraform.js +641 -0
  201. package/dist/extraction/languages/terraform.js.map +1 -0
  202. package/dist/extraction/languages/typescript.d.ts +16 -0
  203. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  204. package/dist/extraction/languages/typescript.js +167 -0
  205. package/dist/extraction/languages/typescript.js.map +1 -0
  206. package/dist/extraction/languages/vbnet.d.ts +11 -0
  207. package/dist/extraction/languages/vbnet.d.ts.map +1 -0
  208. package/dist/extraction/languages/vbnet.js +141 -0
  209. package/dist/extraction/languages/vbnet.js.map +1 -0
  210. package/dist/extraction/liquid-extractor.d.ts +59 -0
  211. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  212. package/dist/extraction/liquid-extractor.js +357 -0
  213. package/dist/extraction/liquid-extractor.js.map +1 -0
  214. package/dist/extraction/mybatis-extractor.d.ts +68 -0
  215. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  216. package/dist/extraction/mybatis-extractor.js +300 -0
  217. package/dist/extraction/mybatis-extractor.js.map +1 -0
  218. package/dist/extraction/parse-pool.d.ts +152 -0
  219. package/dist/extraction/parse-pool.d.ts.map +1 -0
  220. package/dist/extraction/parse-pool.js +387 -0
  221. package/dist/extraction/parse-pool.js.map +1 -0
  222. package/dist/extraction/parse-worker.d.ts +8 -0
  223. package/dist/extraction/parse-worker.d.ts.map +1 -0
  224. package/dist/extraction/parse-worker.js +104 -0
  225. package/dist/extraction/parse-worker.js.map +1 -0
  226. package/dist/extraction/razor-extractor.d.ts +42 -0
  227. package/dist/extraction/razor-extractor.d.ts.map +1 -0
  228. package/dist/extraction/razor-extractor.js +285 -0
  229. package/dist/extraction/razor-extractor.js.map +1 -0
  230. package/dist/extraction/svelte-extractor.d.ts +56 -0
  231. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  232. package/dist/extraction/svelte-extractor.js +275 -0
  233. package/dist/extraction/svelte-extractor.js.map +1 -0
  234. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  235. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  236. package/dist/extraction/tree-sitter-helpers.js +153 -0
  237. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  238. package/dist/extraction/tree-sitter-types.d.ts +258 -0
  239. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  240. package/dist/extraction/tree-sitter-types.js +10 -0
  241. package/dist/extraction/tree-sitter-types.js.map +1 -0
  242. package/dist/extraction/tree-sitter.d.ts +706 -0
  243. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  244. package/dist/extraction/tree-sitter.js +6506 -0
  245. package/dist/extraction/tree-sitter.js.map +1 -0
  246. package/dist/extraction/vue-extractor.d.ts +51 -0
  247. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  248. package/dist/extraction/vue-extractor.js +254 -0
  249. package/dist/extraction/vue-extractor.js.map +1 -0
  250. package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  251. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  252. package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  253. package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  254. package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  255. package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  256. package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  257. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  258. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  259. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  260. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  261. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  262. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  263. package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  264. package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  265. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  266. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  267. package/dist/extraction/wasm-runtime-flags.js +106 -0
  268. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  269. package/dist/graph/index.d.ts +8 -0
  270. package/dist/graph/index.d.ts.map +1 -0
  271. package/dist/graph/index.js +13 -0
  272. package/dist/graph/index.js.map +1 -0
  273. package/dist/graph/queries.d.ts +106 -0
  274. package/dist/graph/queries.d.ts.map +1 -0
  275. package/dist/graph/queries.js +339 -0
  276. package/dist/graph/queries.js.map +1 -0
  277. package/dist/graph/traversal.d.ts +127 -0
  278. package/dist/graph/traversal.d.ts.map +1 -0
  279. package/dist/graph/traversal.js +599 -0
  280. package/dist/graph/traversal.js.map +1 -0
  281. package/dist/index.d.ts +643 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +1491 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/installer/config-writer.d.ts +28 -0
  286. package/dist/installer/config-writer.d.ts.map +1 -0
  287. package/dist/installer/config-writer.js +91 -0
  288. package/dist/installer/config-writer.js.map +1 -0
  289. package/dist/installer/index.d.ts +142 -0
  290. package/dist/installer/index.d.ts.map +1 -0
  291. package/dist/installer/index.js +619 -0
  292. package/dist/installer/index.js.map +1 -0
  293. package/dist/installer/instructions-template.d.ts +41 -0
  294. package/dist/installer/instructions-template.d.ts.map +1 -0
  295. package/dist/installer/instructions-template.js +53 -0
  296. package/dist/installer/instructions-template.js.map +1 -0
  297. package/dist/installer/targets/antigravity.d.ts +57 -0
  298. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  299. package/dist/installer/targets/antigravity.js +308 -0
  300. package/dist/installer/targets/antigravity.js.map +1 -0
  301. package/dist/installer/targets/claude.d.ts +62 -0
  302. package/dist/installer/targets/claude.d.ts.map +1 -0
  303. package/dist/installer/targets/claude.js +454 -0
  304. package/dist/installer/targets/claude.js.map +1 -0
  305. package/dist/installer/targets/codex.d.ts +18 -0
  306. package/dist/installer/targets/codex.d.ts.map +1 -0
  307. package/dist/installer/targets/codex.js +185 -0
  308. package/dist/installer/targets/codex.js.map +1 -0
  309. package/dist/installer/targets/cursor.d.ts +35 -0
  310. package/dist/installer/targets/cursor.d.ts.map +1 -0
  311. package/dist/installer/targets/cursor.js +254 -0
  312. package/dist/installer/targets/cursor.js.map +1 -0
  313. package/dist/installer/targets/gemini.d.ts +26 -0
  314. package/dist/installer/targets/gemini.d.ts.map +1 -0
  315. package/dist/installer/targets/gemini.js +165 -0
  316. package/dist/installer/targets/gemini.js.map +1 -0
  317. package/dist/installer/targets/hermes.d.ts +18 -0
  318. package/dist/installer/targets/hermes.d.ts.map +1 -0
  319. package/dist/installer/targets/hermes.js +359 -0
  320. package/dist/installer/targets/hermes.js.map +1 -0
  321. package/dist/installer/targets/kiro.d.ts +27 -0
  322. package/dist/installer/targets/kiro.d.ts.map +1 -0
  323. package/dist/installer/targets/kiro.js +178 -0
  324. package/dist/installer/targets/kiro.js.map +1 -0
  325. package/dist/installer/targets/opencode.d.ts +38 -0
  326. package/dist/installer/targets/opencode.d.ts.map +1 -0
  327. package/dist/installer/targets/opencode.js +288 -0
  328. package/dist/installer/targets/opencode.js.map +1 -0
  329. package/dist/installer/targets/registry.d.ts +35 -0
  330. package/dist/installer/targets/registry.d.ts.map +1 -0
  331. package/dist/installer/targets/registry.js +91 -0
  332. package/dist/installer/targets/registry.js.map +1 -0
  333. package/dist/installer/targets/shared.d.ts +101 -0
  334. package/dist/installer/targets/shared.d.ts.map +1 -0
  335. package/dist/installer/targets/shared.js +264 -0
  336. package/dist/installer/targets/shared.js.map +1 -0
  337. package/dist/installer/targets/toml.d.ts +52 -0
  338. package/dist/installer/targets/toml.d.ts.map +1 -0
  339. package/dist/installer/targets/toml.js +147 -0
  340. package/dist/installer/targets/toml.js.map +1 -0
  341. package/dist/installer/targets/types.d.ts +108 -0
  342. package/dist/installer/targets/types.d.ts.map +1 -0
  343. package/dist/installer/targets/types.js +16 -0
  344. package/dist/installer/targets/types.js.map +1 -0
  345. package/dist/mcp/daemon-manager.d.ts +42 -0
  346. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  347. package/dist/mcp/daemon-manager.js +129 -0
  348. package/dist/mcp/daemon-manager.js.map +1 -0
  349. package/dist/mcp/daemon-paths.d.ts +73 -0
  350. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  351. package/dist/mcp/daemon-paths.js +165 -0
  352. package/dist/mcp/daemon-paths.js.map +1 -0
  353. package/dist/mcp/daemon-registry.d.ts +47 -0
  354. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  355. package/dist/mcp/daemon-registry.js +233 -0
  356. package/dist/mcp/daemon-registry.js.map +1 -0
  357. package/dist/mcp/daemon.d.ts +290 -0
  358. package/dist/mcp/daemon.d.ts.map +1 -0
  359. package/dist/mcp/daemon.js +862 -0
  360. package/dist/mcp/daemon.js.map +1 -0
  361. package/dist/mcp/dynamic-boundaries.d.ts +41 -0
  362. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  363. package/dist/mcp/dynamic-boundaries.js +360 -0
  364. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  365. package/dist/mcp/early-ppid.d.ts +26 -0
  366. package/dist/mcp/early-ppid.d.ts.map +1 -0
  367. package/dist/mcp/early-ppid.js +29 -0
  368. package/dist/mcp/early-ppid.js.map +1 -0
  369. package/dist/mcp/engine.d.ts +122 -0
  370. package/dist/mcp/engine.d.ts.map +1 -0
  371. package/dist/mcp/engine.js +350 -0
  372. package/dist/mcp/engine.js.map +1 -0
  373. package/dist/mcp/index.d.ts +113 -0
  374. package/dist/mcp/index.d.ts.map +1 -0
  375. package/dist/mcp/index.js +506 -0
  376. package/dist/mcp/index.js.map +1 -0
  377. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  378. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  379. package/dist/mcp/liveness-watchdog.js +267 -0
  380. package/dist/mcp/liveness-watchdog.js.map +1 -0
  381. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  382. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  383. package/dist/mcp/ppid-watchdog.js +64 -0
  384. package/dist/mcp/ppid-watchdog.js.map +1 -0
  385. package/dist/mcp/proxy.d.ts +87 -0
  386. package/dist/mcp/proxy.d.ts.map +1 -0
  387. package/dist/mcp/proxy.js +667 -0
  388. package/dist/mcp/proxy.js.map +1 -0
  389. package/dist/mcp/query-pool.d.ts +108 -0
  390. package/dist/mcp/query-pool.d.ts.map +1 -0
  391. package/dist/mcp/query-pool.js +315 -0
  392. package/dist/mcp/query-pool.js.map +1 -0
  393. package/dist/mcp/query-worker.d.ts +24 -0
  394. package/dist/mcp/query-worker.d.ts.map +1 -0
  395. package/dist/mcp/query-worker.js +87 -0
  396. package/dist/mcp/query-worker.js.map +1 -0
  397. package/dist/mcp/server-instructions.d.ts +34 -0
  398. package/dist/mcp/server-instructions.d.ts.map +1 -0
  399. package/dist/mcp/server-instructions.js +106 -0
  400. package/dist/mcp/server-instructions.js.map +1 -0
  401. package/dist/mcp/session.d.ts +93 -0
  402. package/dist/mcp/session.d.ts.map +1 -0
  403. package/dist/mcp/session.js +357 -0
  404. package/dist/mcp/session.js.map +1 -0
  405. package/dist/mcp/startup-handshake.d.ts +44 -0
  406. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  407. package/dist/mcp/startup-handshake.js +73 -0
  408. package/dist/mcp/startup-handshake.js.map +1 -0
  409. package/dist/mcp/stdin-teardown.d.ts +27 -0
  410. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  411. package/dist/mcp/stdin-teardown.js +49 -0
  412. package/dist/mcp/stdin-teardown.js.map +1 -0
  413. package/dist/mcp/tools.d.ts +613 -0
  414. package/dist/mcp/tools.d.ts.map +1 -0
  415. package/dist/mcp/tools.js +4477 -0
  416. package/dist/mcp/tools.js.map +1 -0
  417. package/dist/mcp/transport.d.ts +188 -0
  418. package/dist/mcp/transport.d.ts.map +1 -0
  419. package/dist/mcp/transport.js +377 -0
  420. package/dist/mcp/transport.js.map +1 -0
  421. package/dist/mcp/version.d.ts +19 -0
  422. package/dist/mcp/version.d.ts.map +1 -0
  423. package/dist/mcp/version.js +71 -0
  424. package/dist/mcp/version.js.map +1 -0
  425. package/dist/project-config.d.ts +94 -0
  426. package/dist/project-config.d.ts.map +1 -0
  427. package/dist/project-config.js +374 -0
  428. package/dist/project-config.js.map +1 -0
  429. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  430. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  431. package/dist/resolution/c-fnptr-synthesizer.js +1062 -0
  432. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  433. package/dist/resolution/callback-synthesizer.d.ts +15 -0
  434. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  435. package/dist/resolution/callback-synthesizer.js +3938 -0
  436. package/dist/resolution/callback-synthesizer.js.map +1 -0
  437. package/dist/resolution/cooperative-yield.d.ts +32 -0
  438. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  439. package/dist/resolution/cooperative-yield.js +42 -0
  440. package/dist/resolution/cooperative-yield.js.map +1 -0
  441. package/dist/resolution/frameworks/astro.d.ts +9 -0
  442. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  443. package/dist/resolution/frameworks/astro.js +169 -0
  444. package/dist/resolution/frameworks/astro.js.map +1 -0
  445. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  446. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  447. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  448. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  449. package/dist/resolution/frameworks/cics.d.ts +20 -0
  450. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  451. package/dist/resolution/frameworks/cics.js +90 -0
  452. package/dist/resolution/frameworks/cics.js.map +1 -0
  453. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  454. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  455. package/dist/resolution/frameworks/csharp.js +241 -0
  456. package/dist/resolution/frameworks/csharp.js.map +1 -0
  457. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  458. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  459. package/dist/resolution/frameworks/drupal.js +367 -0
  460. package/dist/resolution/frameworks/drupal.js.map +1 -0
  461. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  462. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  463. package/dist/resolution/frameworks/expo-modules.js +148 -0
  464. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  465. package/dist/resolution/frameworks/express.d.ts +8 -0
  466. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  467. package/dist/resolution/frameworks/express.js +308 -0
  468. package/dist/resolution/frameworks/express.js.map +1 -0
  469. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  470. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  471. package/dist/resolution/frameworks/fabric.js +354 -0
  472. package/dist/resolution/frameworks/fabric.js.map +1 -0
  473. package/dist/resolution/frameworks/go.d.ts +8 -0
  474. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  475. package/dist/resolution/frameworks/go.js +161 -0
  476. package/dist/resolution/frameworks/go.js.map +1 -0
  477. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  478. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  479. package/dist/resolution/frameworks/goframe.js +112 -0
  480. package/dist/resolution/frameworks/goframe.js.map +1 -0
  481. package/dist/resolution/frameworks/index.d.ts +50 -0
  482. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  483. package/dist/resolution/frameworks/index.js +175 -0
  484. package/dist/resolution/frameworks/index.js.map +1 -0
  485. package/dist/resolution/frameworks/java.d.ts +8 -0
  486. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  487. package/dist/resolution/frameworks/java.js +517 -0
  488. package/dist/resolution/frameworks/java.js.map +1 -0
  489. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  490. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  491. package/dist/resolution/frameworks/laravel.js +257 -0
  492. package/dist/resolution/frameworks/laravel.js.map +1 -0
  493. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  494. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  495. package/dist/resolution/frameworks/nestjs.js +698 -0
  496. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  497. package/dist/resolution/frameworks/play.d.ts +19 -0
  498. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  499. package/dist/resolution/frameworks/play.js +111 -0
  500. package/dist/resolution/frameworks/play.js.map +1 -0
  501. package/dist/resolution/frameworks/python.d.ts +10 -0
  502. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  503. package/dist/resolution/frameworks/python.js +400 -0
  504. package/dist/resolution/frameworks/python.js.map +1 -0
  505. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  506. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  507. package/dist/resolution/frameworks/react-native.js +410 -0
  508. package/dist/resolution/frameworks/react-native.js.map +1 -0
  509. package/dist/resolution/frameworks/react.d.ts +8 -0
  510. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  511. package/dist/resolution/frameworks/react.js +334 -0
  512. package/dist/resolution/frameworks/react.js.map +1 -0
  513. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  514. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  515. package/dist/resolution/frameworks/ruby.js +302 -0
  516. package/dist/resolution/frameworks/ruby.js.map +1 -0
  517. package/dist/resolution/frameworks/rust.d.ts +8 -0
  518. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  519. package/dist/resolution/frameworks/rust.js +304 -0
  520. package/dist/resolution/frameworks/rust.js.map +1 -0
  521. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  522. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  523. package/dist/resolution/frameworks/svelte.js +253 -0
  524. package/dist/resolution/frameworks/svelte.js.map +1 -0
  525. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  526. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  527. package/dist/resolution/frameworks/swift-objc.js +252 -0
  528. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  529. package/dist/resolution/frameworks/swift.d.ts +10 -0
  530. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  531. package/dist/resolution/frameworks/swift.js +400 -0
  532. package/dist/resolution/frameworks/swift.js.map +1 -0
  533. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  534. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  535. package/dist/resolution/frameworks/terraform.js +277 -0
  536. package/dist/resolution/frameworks/terraform.js.map +1 -0
  537. package/dist/resolution/frameworks/vue.d.ts +9 -0
  538. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  539. package/dist/resolution/frameworks/vue.js +303 -0
  540. package/dist/resolution/frameworks/vue.js.map +1 -0
  541. package/dist/resolution/go-module.d.ts +26 -0
  542. package/dist/resolution/go-module.d.ts.map +1 -0
  543. package/dist/resolution/go-module.js +78 -0
  544. package/dist/resolution/go-module.js.map +1 -0
  545. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  546. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  547. package/dist/resolution/goframe-synthesizer.js +163 -0
  548. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  549. package/dist/resolution/import-resolver.d.ts +85 -0
  550. package/dist/resolution/import-resolver.d.ts.map +1 -0
  551. package/dist/resolution/import-resolver.js +1974 -0
  552. package/dist/resolution/import-resolver.js.map +1 -0
  553. package/dist/resolution/index.d.ts +258 -0
  554. package/dist/resolution/index.d.ts.map +1 -0
  555. package/dist/resolution/index.js +1746 -0
  556. package/dist/resolution/index.js.map +1 -0
  557. package/dist/resolution/lru-cache.d.ts +24 -0
  558. package/dist/resolution/lru-cache.d.ts.map +1 -0
  559. package/dist/resolution/lru-cache.js +62 -0
  560. package/dist/resolution/lru-cache.js.map +1 -0
  561. package/dist/resolution/name-matcher.d.ts +112 -0
  562. package/dist/resolution/name-matcher.d.ts.map +1 -0
  563. package/dist/resolution/name-matcher.js +1830 -0
  564. package/dist/resolution/name-matcher.js.map +1 -0
  565. package/dist/resolution/path-aliases.d.ts +68 -0
  566. package/dist/resolution/path-aliases.d.ts.map +1 -0
  567. package/dist/resolution/path-aliases.js +238 -0
  568. package/dist/resolution/path-aliases.js.map +1 -0
  569. package/dist/resolution/strip-comments.d.ts +27 -0
  570. package/dist/resolution/strip-comments.d.ts.map +1 -0
  571. package/dist/resolution/strip-comments.js +492 -0
  572. package/dist/resolution/strip-comments.js.map +1 -0
  573. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  574. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  575. package/dist/resolution/swift-objc-bridge.js +256 -0
  576. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  577. package/dist/resolution/types.d.ts +262 -0
  578. package/dist/resolution/types.d.ts.map +1 -0
  579. package/dist/resolution/types.js +8 -0
  580. package/dist/resolution/types.js.map +1 -0
  581. package/dist/resolution/workspace-packages.d.ts +58 -0
  582. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  583. package/dist/resolution/workspace-packages.js +346 -0
  584. package/dist/resolution/workspace-packages.js.map +1 -0
  585. package/dist/search/identifier-segments.d.ts +60 -0
  586. package/dist/search/identifier-segments.d.ts.map +1 -0
  587. package/dist/search/identifier-segments.js +176 -0
  588. package/dist/search/identifier-segments.js.map +1 -0
  589. package/dist/search/query-parser.d.ts +57 -0
  590. package/dist/search/query-parser.d.ts.map +1 -0
  591. package/dist/search/query-parser.js +177 -0
  592. package/dist/search/query-parser.js.map +1 -0
  593. package/dist/search/query-utils.d.ts +87 -0
  594. package/dist/search/query-utils.d.ts.map +1 -0
  595. package/dist/search/query-utils.js +449 -0
  596. package/dist/search/query-utils.js.map +1 -0
  597. package/dist/sync/git-hooks.d.ts +45 -0
  598. package/dist/sync/git-hooks.d.ts.map +1 -0
  599. package/dist/sync/git-hooks.js +227 -0
  600. package/dist/sync/git-hooks.js.map +1 -0
  601. package/dist/sync/index.d.ts +19 -0
  602. package/dist/sync/index.d.ts.map +1 -0
  603. package/dist/sync/index.js +35 -0
  604. package/dist/sync/index.js.map +1 -0
  605. package/dist/sync/watch-policy.d.ts +48 -0
  606. package/dist/sync/watch-policy.d.ts.map +1 -0
  607. package/dist/sync/watch-policy.js +124 -0
  608. package/dist/sync/watch-policy.js.map +1 -0
  609. package/dist/sync/watcher.d.ts +355 -0
  610. package/dist/sync/watcher.d.ts.map +1 -0
  611. package/dist/sync/watcher.js +848 -0
  612. package/dist/sync/watcher.js.map +1 -0
  613. package/dist/sync/worktree.d.ts +63 -0
  614. package/dist/sync/worktree.d.ts.map +1 -0
  615. package/dist/sync/worktree.js +182 -0
  616. package/dist/sync/worktree.js.map +1 -0
  617. package/dist/telemetry/index.d.ts +143 -0
  618. package/dist/telemetry/index.d.ts.map +1 -0
  619. package/dist/telemetry/index.js +541 -0
  620. package/dist/telemetry/index.js.map +1 -0
  621. package/dist/types.d.ts +415 -0
  622. package/dist/types.d.ts.map +1 -0
  623. package/dist/types.js +91 -0
  624. package/dist/types.js.map +1 -0
  625. package/dist/ui/glyphs.d.ts +42 -0
  626. package/dist/ui/glyphs.d.ts.map +1 -0
  627. package/dist/ui/glyphs.js +78 -0
  628. package/dist/ui/glyphs.js.map +1 -0
  629. package/dist/ui/shimmer-progress.d.ts +11 -0
  630. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  631. package/dist/ui/shimmer-progress.js +90 -0
  632. package/dist/ui/shimmer-progress.js.map +1 -0
  633. package/dist/ui/shimmer-worker.d.ts +2 -0
  634. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  635. package/dist/ui/shimmer-worker.js +118 -0
  636. package/dist/ui/shimmer-worker.js.map +1 -0
  637. package/dist/ui/types.d.ts +17 -0
  638. package/dist/ui/types.d.ts.map +1 -0
  639. package/dist/ui/types.js +3 -0
  640. package/dist/ui/types.js.map +1 -0
  641. package/dist/upgrade/index.d.ts +164 -0
  642. package/dist/upgrade/index.d.ts.map +1 -0
  643. package/dist/upgrade/index.js +646 -0
  644. package/dist/upgrade/index.js.map +1 -0
  645. package/dist/upgrade/remove-binary.d.ts +87 -0
  646. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  647. package/dist/upgrade/remove-binary.js +289 -0
  648. package/dist/upgrade/remove-binary.js.map +1 -0
  649. package/dist/upgrade/update-check.d.ts +92 -0
  650. package/dist/upgrade/update-check.d.ts.map +1 -0
  651. package/dist/upgrade/update-check.js +258 -0
  652. package/dist/upgrade/update-check.js.map +1 -0
  653. package/dist/utils.d.ts +224 -0
  654. package/dist/utils.d.ts.map +1 -0
  655. package/dist/utils.js +583 -0
  656. package/dist/utils.js.map +1 -0
  657. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.csharpExtractor = void 0;
4
+ exports.blankCsharpPreprocessorDirectives = blankCsharpPreprocessorDirectives;
5
+ const tree_sitter_helpers_1 = require("../tree-sitter-helpers");
6
+ /**
7
+ * Blank C# conditional-compilation directive lines (`#if` / `#elif` / `#else` /
8
+ * `#endif`) before parsing. The vendored tree-sitter-c-sharp grammar mis-parses
9
+ * a `#if` that appears *inside an enum member list* — the canonical
10
+ * multi-targeting shape:
11
+ *
12
+ * enum ReadType {
13
+ * #if HAVE_DATE_TIME_OFFSET
14
+ * ReadAsDateTimeOffset,
15
+ * #endif
16
+ * ReadAsDouble,
17
+ * }
18
+ *
19
+ * It emits an ERROR that, for a nested enum, detaches the *enclosing class's*
20
+ * member list, so most of the class's methods drop out of the index. Removing
21
+ * the directive lines (keeping the guarded code) sidesteps it. Both branches of
22
+ * an `#if/#else` are kept — the same behaviour the previous grammar produced,
23
+ * and the right default for a code graph (index every symbol regardless of
24
+ * build flags). Replacement preserves byte offsets (directive text → spaces,
25
+ * newlines kept) so every symbol's line/column stays exact. (#237)
26
+ */
27
+ function blankCsharpPreprocessorDirectives(source) {
28
+ if (source.indexOf('#') === -1)
29
+ return source;
30
+ // Conditional-compilation directives only. `#region`/`#pragma`/`#nullable`
31
+ // parse fine and are left alone. A directive must be the first non-space token
32
+ // on its line (C# requirement), so anchor to line start.
33
+ const re = /^([ \t]*)#[ \t]*(if|elif|else|endif)\b[^\n]*/gm;
34
+ return source.replace(re, (m, indent) => indent + ' '.repeat(m.length - indent.length));
35
+ }
36
+ /**
37
+ * A C# method's declared return type, normalized to the bare class name a chained
38
+ * `Foo.Create().Bar()` could be called on (the #645/#608 mechanism). The return
39
+ * type lives in the `returns` field (`static Foo Create()` → `Foo`); built-in
40
+ * `predefined_type` (void/int/string/…) and arrays yield undefined, generics are
41
+ * unwrapped to the base type, nullable `Foo?` is stripped, and a dotted namespace
42
+ * is reduced to the simple name. Constructors have no `returns` field → undefined.
43
+ */
44
+ function extractCsharpReturnType(node, source) {
45
+ const typeNode = node.childForFieldName('returns');
46
+ if (!typeNode)
47
+ return undefined;
48
+ if (typeNode.type === 'predefined_type' || typeNode.type === 'array_type')
49
+ return undefined;
50
+ let t = (0, tree_sitter_helpers_1.getNodeText)(typeNode, source).trim();
51
+ t = t.replace(/\?+$/, ''); // nullable `Foo?`
52
+ t = t.replace(/<[^>]*>/g, ''); // generics `List<Foo>` → `List`
53
+ const last = t.split('.').pop()?.trim(); // namespace `Ns.Foo` → `Foo`
54
+ if (!last || !/^[A-Za-z_]\w*$/.test(last))
55
+ return undefined;
56
+ return last;
57
+ }
58
+ exports.csharpExtractor = {
59
+ preParse: blankCsharpPreprocessorDirectives,
60
+ functionTypes: [],
61
+ // Records are first-class type declarations in modern C# (DTOs, value objects,
62
+ // MediatR/CQRS messages). Without these, references to a record never resolve
63
+ // (#237). The shipped grammar parses EVERY record form as record_declaration —
64
+ // `record struct` / `readonly record struct` included (it has no
65
+ // record_struct_declaration node; that structTypes entry is forward-compat
66
+ // only) — so classifyClassNode tells the value-type form apart by its
67
+ // `struct` keyword child. (#831 follow-up)
68
+ classTypes: ['class_declaration', 'record_declaration'],
69
+ methodTypes: ['method_declaration', 'constructor_declaration'],
70
+ interfaceTypes: ['interface_declaration'],
71
+ structTypes: ['struct_declaration', 'record_struct_declaration'],
72
+ classifyClassNode: (node) => {
73
+ if (node.type === 'record_declaration') {
74
+ for (let i = 0; i < node.childCount; i++) {
75
+ if (node.child(i)?.type === 'struct')
76
+ return 'struct';
77
+ }
78
+ }
79
+ return 'class';
80
+ },
81
+ enumTypes: ['enum_declaration'],
82
+ enumMemberTypes: ['enum_member_declaration'],
83
+ typeAliasTypes: [],
84
+ // Namespaces qualify type names so same-named types in different namespaces are
85
+ // distinguishable (e.g. `ApplicationCore.Entities.CatalogBrand` vs
86
+ // `BlazorShared.Models.CatalogBrand`). Both block (`namespace Foo { … }`, which
87
+ // nests its types) and file-scoped (`namespace Foo;`) forms — extractFilePackage
88
+ // pushes the namespace onto the scope so nested/top-level types pick it up.
89
+ packageTypes: ['namespace_declaration', 'file_scoped_namespace_declaration'],
90
+ extractPackage: (node, source) => {
91
+ const name = node.childForFieldName('name') ??
92
+ node.namedChildren.find((c) => c.type === 'qualified_name' || c.type === 'identifier');
93
+ return name ? (0, tree_sitter_helpers_1.getNodeText)(name, source) : null;
94
+ },
95
+ importTypes: ['using_directive'],
96
+ callTypes: ['invocation_expression'],
97
+ variableTypes: ['local_declaration_statement'],
98
+ fieldTypes: ['field_declaration'],
99
+ propertyTypes: ['property_declaration'],
100
+ nameField: 'name',
101
+ bodyField: 'body',
102
+ paramsField: 'parameters',
103
+ returnField: 'type',
104
+ getReturnType: extractCsharpReturnType,
105
+ getVisibility: (node) => {
106
+ for (let i = 0; i < node.childCount; i++) {
107
+ const child = node.child(i);
108
+ if (child?.type === 'modifier') {
109
+ const text = child.text;
110
+ if (text === 'public')
111
+ return 'public';
112
+ if (text === 'private')
113
+ return 'private';
114
+ if (text === 'protected')
115
+ return 'protected';
116
+ if (text === 'internal')
117
+ return 'internal';
118
+ }
119
+ }
120
+ return 'private'; // C# defaults to private
121
+ },
122
+ isStatic: (node) => {
123
+ for (let i = 0; i < node.childCount; i++) {
124
+ const child = node.child(i);
125
+ if (child?.type === 'modifier' && child.text === 'static') {
126
+ return true;
127
+ }
128
+ }
129
+ return false;
130
+ },
131
+ // `const` and `static readonly` fields are C# constants (`MaxItems`, lookup
132
+ // tables, shared config). Drives `constant` kind so value-reference edges
133
+ // target them; instance `readonly` / plain `static` fields stay `field`s.
134
+ isConst: (node) => {
135
+ let hasStatic = false;
136
+ let hasReadonly = false;
137
+ for (let i = 0; i < node.childCount; i++) {
138
+ const child = node.child(i);
139
+ if (child?.type !== 'modifier')
140
+ continue;
141
+ const t = child.text;
142
+ if (t === 'const')
143
+ return true;
144
+ if (t === 'static')
145
+ hasStatic = true;
146
+ else if (t === 'readonly')
147
+ hasReadonly = true;
148
+ }
149
+ return hasStatic && hasReadonly;
150
+ },
151
+ isAsync: (node) => {
152
+ for (let i = 0; i < node.childCount; i++) {
153
+ const child = node.child(i);
154
+ if (child?.type === 'modifier' && child.text === 'async') {
155
+ return true;
156
+ }
157
+ }
158
+ return false;
159
+ },
160
+ extractImport: (node, source) => {
161
+ const importText = source.substring(node.startIndex, node.endIndex).trim();
162
+ // C# using directives: using System, using System.Collections.Generic, using static X, using Alias = X
163
+ const qualifiedName = node.namedChildren.find((c) => c.type === 'qualified_name');
164
+ if (qualifiedName) {
165
+ return { moduleName: (0, tree_sitter_helpers_1.getNodeText)(qualifiedName, source), signature: importText };
166
+ }
167
+ // Simple namespace like "using System;" - get the first identifier
168
+ const identifier = node.namedChildren.find((c) => c.type === 'identifier');
169
+ if (identifier) {
170
+ return { moduleName: (0, tree_sitter_helpers_1.getNodeText)(identifier, source), signature: importText };
171
+ }
172
+ return null;
173
+ },
174
+ };
175
+ //# sourceMappingURL=csharp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csharp.js","sourceRoot":"","sources":["../../../src/extraction/languages/csharp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageExtractor } from '../tree-sitter-types';
2
+ export declare const dartExtractor: LanguageExtractor;
3
+ //# sourceMappingURL=dart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dart.d.ts","sourceRoot":"","sources":["../../../src/extraction/languages/dart.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmH9D,eAAO,MAAM,aAAa,EAAE,iBAsQ3B,CAAC"}
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dartExtractor = void 0;
4
+ const tree_sitter_helpers_1 = require("../tree-sitter-helpers");
5
+ /**
6
+ * The `function_signature` carrying a method's return type — unwrapped from a
7
+ * `method_signature` wrapper (Dart nests the signature one level for methods).
8
+ */
9
+ function dartInnerSignature(node) {
10
+ if (node.type === 'method_signature') {
11
+ const inner = node.namedChildren.find((c) => c.type === 'function_signature' || c.type === 'getter_signature' || c.type === 'setter_signature');
12
+ if (inner)
13
+ return inner;
14
+ }
15
+ return node;
16
+ }
17
+ /**
18
+ * The factory/named-constructor signature inside a node, if any. A constructor
19
+ * parses as `method_signature > {factory_,}constructor_signature` (e.g.
20
+ * `factory Foo.create()` or `Foo._()`), whose children are the class identifier
21
+ * and — for a named ctor — the constructor-name identifier.
22
+ */
23
+ function dartConstructorSignature(node) {
24
+ if (node.type === 'factory_constructor_signature' || node.type === 'constructor_signature') {
25
+ return node;
26
+ }
27
+ if (node.type === 'method_signature') {
28
+ return node.namedChildren.find((c) => c.type === 'factory_constructor_signature' || c.type === 'constructor_signature');
29
+ }
30
+ return undefined;
31
+ }
32
+ /** The name of the class/mixin/extension/enum lexically enclosing `node`. */
33
+ function dartEnclosingTypeName(node) {
34
+ let p = node.parent;
35
+ while (p) {
36
+ if (p.type === 'class_definition' || p.type === 'mixin_declaration' ||
37
+ p.type === 'extension_declaration' || p.type === 'enum_declaration') {
38
+ return p.childForFieldName('name')?.text;
39
+ }
40
+ p = p.parent;
41
+ }
42
+ return undefined;
43
+ }
44
+ /**
45
+ * Validated constructor info for `node`, or undefined if it isn't genuinely a
46
+ * constructor. A constructor signature is structurally `<Class>` or
47
+ * `<Class>.<name>`, but tree-sitter-dart MISPARSES `@override (T) m()` — the
48
+ * annotation swallows the record return type `(T)`, leaving `m()` looking like a
49
+ * single-identifier constructor_signature. We disambiguate by the class name:
50
+ * a real ctor's class identifier matches the enclosing type; a misparsed method
51
+ * (`reduce` inside class `Action`) doesn't, and is treated as the method it is.
52
+ */
53
+ function dartCtorInfo(node) {
54
+ const ctor = dartConstructorSignature(node);
55
+ if (!ctor)
56
+ return undefined;
57
+ const ids = ctor.namedChildren.filter((c) => c.type === 'identifier');
58
+ const className = dartEnclosingTypeName(node);
59
+ if (!className || !ids[0])
60
+ return undefined;
61
+ if (ids[0].text !== className)
62
+ return undefined; // misparsed method, not a ctor
63
+ // `<Class>.<name>` is a named ctor; bare `<Class>` is the unnamed ctor.
64
+ return { className, ctorName: ids[1]?.text ?? className };
65
+ }
66
+ /**
67
+ * Capture a Dart method/function's declared return type as a bare type name, for
68
+ * the chained static-factory / fluent call mechanism (#750). `Bar makeBar()`
69
+ * yields `Bar`; a generic `List<Foo>` yields its container `List` (the method is
70
+ * on the container, not the element); a prefixed `prefix.Bar` yields `Bar`. A
71
+ * factory / named constructor returns its enclosing class implicitly, so its
72
+ * "return type" is the class.
73
+ */
74
+ function extractDartReturnType(node, source) {
75
+ const ctor = dartCtorInfo(node);
76
+ if (ctor)
77
+ return ctor.className;
78
+ const sig = dartInnerSignature(node);
79
+ // The return type precedes the method name; it's the first type_identifier
80
+ // (generic args sit in a sibling `type_arguments`, so this is the container).
81
+ const retType = sig.namedChildren.find((c) => c.type === 'type_identifier');
82
+ if (!retType)
83
+ return undefined;
84
+ const text = (0, tree_sitter_helpers_1.getNodeText)(retType, source).replace(/<[^>]*>/g, '').trim();
85
+ const last = text.split('.').pop(); // prefixed `p.Bar` → `Bar`
86
+ if (!last || !/^[A-Za-z_]\w*$/.test(last))
87
+ return undefined;
88
+ return last;
89
+ }
90
+ /**
91
+ * The callee name of the Dart call whose `argument_part` selector is `argPart`
92
+ * — mirrors the main extractBareCall accessor logic so a chained receiver
93
+ * (`Foo.create()` in `Foo.create().bar()`) can be reconstructed. Returns
94
+ * `Foo.create`, a bare `create`, or `Foo` (constructor) — or undefined.
95
+ */
96
+ function dartCalleeOfArgPart(argPart) {
97
+ const prev = argPart.previousNamedSibling;
98
+ if (!prev)
99
+ return undefined;
100
+ if (prev.type === 'identifier')
101
+ return prev.text; // bare `Foo()` / `create()`
102
+ if (prev.type === 'selector') {
103
+ const accessor = prev.namedChildren.find((c) => c.type === 'unconditional_assignable_selector' || c.type === 'conditional_assignable_selector');
104
+ const methodId = accessor?.namedChildren.find((c) => c.type === 'identifier');
105
+ if (methodId) {
106
+ const accessorPrev = prev.previousNamedSibling;
107
+ if (accessorPrev?.type === 'identifier')
108
+ return accessorPrev.text + '.' + methodId.text;
109
+ return methodId.text;
110
+ }
111
+ }
112
+ return undefined;
113
+ }
114
+ exports.dartExtractor = {
115
+ functionTypes: ['function_signature'],
116
+ classTypes: ['class_definition'],
117
+ // `method_signature` covers regular methods AND factory constructors (which
118
+ // parse as method_signature > factory_constructor_signature). A plain named
119
+ // constructor `Foo._()` parses as a bare `constructor_signature`, so include
120
+ // it too — resolveName names it by the ctor name and getReturnType gives it
121
+ // the class as its return type, so `Foo._().bar()` chains resolve (#750).
122
+ methodTypes: ['method_signature', 'constructor_signature'],
123
+ interfaceTypes: [],
124
+ structTypes: [],
125
+ enumTypes: ['enum_declaration'],
126
+ enumMemberTypes: ['enum_constant'],
127
+ typeAliasTypes: ['type_alias'],
128
+ importTypes: ['import_or_export'],
129
+ callTypes: [], // Dart calls use identifier+selector, handled via extractBareCall
130
+ variableTypes: [],
131
+ extraClassNodeTypes: ['mixin_declaration', 'extension_declaration'],
132
+ // A Dart `static_final_declaration` is exactly a top-level or class-`static`
133
+ // `const`/`final` — the shared-constant idiom — so extract it as `constant`
134
+ // for value-reference edges. Instance fields, `var`, and typed declarations
135
+ // use `initialized_identifier`, and method-locals use
136
+ // `initialized_variable_definition`; neither is this node, so there are no
137
+ // instance/local leaks to guard. The name is the first `identifier`; its
138
+ // parent scope (`file:` top-level / `class:` static member) comes from the
139
+ // node stack, both of which the value-reference target gate accepts.
140
+ visitNode: (node, ctx) => {
141
+ if (node.type === 'static_final_declaration') {
142
+ const nameNode = node.namedChildren.find((c) => c.type === 'identifier');
143
+ if (nameNode) {
144
+ const valueNode = nameNode.nextNamedSibling;
145
+ const initValue = valueNode ? (0, tree_sitter_helpers_1.getNodeText)(valueNode, ctx.source).slice(0, 100) : undefined;
146
+ ctx.createNode('constant', (0, tree_sitter_helpers_1.getNodeText)(nameNode, ctx.source), node, {
147
+ signature: initValue ? `= ${initValue}${initValue.length >= 100 ? '...' : ''}` : undefined,
148
+ });
149
+ }
150
+ return true;
151
+ }
152
+ return false;
153
+ },
154
+ resolveBody: (node, bodyField) => {
155
+ // Dart: function_body is a next sibling of function_signature/method_signature
156
+ if (node.type === 'function_signature' || node.type === 'method_signature') {
157
+ const next = node.nextNamedSibling;
158
+ if (next?.type === 'function_body')
159
+ return next;
160
+ return null;
161
+ }
162
+ // For class/mixin/extension: try standard field, then class_body/extension_body
163
+ const standard = node.childForFieldName(bodyField);
164
+ if (standard)
165
+ return standard;
166
+ return node.namedChildren.find((c) => c.type === 'class_body' || c.type === 'extension_body') || null;
167
+ },
168
+ nameField: 'name',
169
+ bodyField: 'body', // class_definition uses 'body' field
170
+ paramsField: 'formal_parameter_list',
171
+ returnField: 'type',
172
+ getReturnType: extractDartReturnType,
173
+ isMisparsedFunction: (_name, node) => {
174
+ // Skip the UNNAMED constructor `Foo()` (its ctor name equals the class). It's
175
+ // ordinary construction — an `instantiates` edge to the class `Foo` — so
176
+ // extracting it as a `Foo::Foo` method node would hijack instantiation
177
+ // resolution (a `Foo(...)` call would resolve to the ctor method, not the
178
+ // class). NAMED ctors `Foo.create()` / `Foo._()` ARE kept so their chains
179
+ // resolve (#750). dartCtorInfo validates against the class name, so a method
180
+ // tree-sitter misparsed as a ctor (`@override (T) m()`) is NOT skipped here.
181
+ // (isMisparsedFunction skips node creation but still visits the body.)
182
+ const ctor = dartCtorInfo(node);
183
+ return ctor != null && ctor.ctorName === ctor.className;
184
+ },
185
+ getSignature: (node, source) => {
186
+ // For function_signature: extract params + return type
187
+ // For method_signature: delegate to inner function_signature
188
+ let sig = node;
189
+ if (node.type === 'method_signature') {
190
+ const inner = node.namedChildren.find((c) => c.type === 'function_signature' || c.type === 'getter_signature' || c.type === 'setter_signature');
191
+ if (inner)
192
+ sig = inner;
193
+ }
194
+ const params = sig.namedChildren.find((c) => c.type === 'formal_parameter_list');
195
+ const retType = sig.namedChildren.find((c) => c.type === 'type_identifier' || c.type === 'void_type');
196
+ if (!params && !retType)
197
+ return undefined;
198
+ let result = '';
199
+ if (retType)
200
+ result += (0, tree_sitter_helpers_1.getNodeText)(retType, source) + ' ';
201
+ if (params)
202
+ result += (0, tree_sitter_helpers_1.getNodeText)(params, source);
203
+ return result.trim() || undefined;
204
+ },
205
+ getVisibility: (node) => {
206
+ // Dart convention: _ prefix means private, otherwise public
207
+ let nameNode = null;
208
+ if (node.type === 'method_signature') {
209
+ const inner = node.namedChildren.find((c) => c.type === 'function_signature' || c.type === 'getter_signature' || c.type === 'setter_signature');
210
+ if (inner)
211
+ nameNode = inner.namedChildren.find((c) => c.type === 'identifier') || null;
212
+ }
213
+ else {
214
+ nameNode = node.childForFieldName('name');
215
+ }
216
+ if (nameNode && nameNode.text.startsWith('_'))
217
+ return 'private';
218
+ return 'public';
219
+ },
220
+ isAsync: (node) => {
221
+ // In Dart, 'async' is on the function_body (next sibling), not the signature
222
+ const nextSibling = node.nextNamedSibling;
223
+ if (nextSibling?.type === 'function_body') {
224
+ for (let i = 0; i < nextSibling.childCount; i++) {
225
+ const child = nextSibling.child(i);
226
+ if (child?.type === 'async')
227
+ return true;
228
+ }
229
+ }
230
+ return false;
231
+ },
232
+ isStatic: (node) => {
233
+ // For method_signature, check for 'static' child
234
+ if (node.type === 'method_signature') {
235
+ for (let i = 0; i < node.childCount; i++) {
236
+ const child = node.child(i);
237
+ if (child?.type === 'static')
238
+ return true;
239
+ }
240
+ }
241
+ return false;
242
+ },
243
+ resolveName: (node) => {
244
+ // Name a factory / named constructor by its constructor name — the 2nd
245
+ // identifier (`create` in `factory Foo.create()`, `_` in `Foo._()`) — not
246
+ // the class, so a call `Foo.create()` resolves to `Foo::create` (#750). The
247
+ // default Dart naming returns the FIRST identifier (the class), which
248
+ // collides every named ctor onto `Foo::Foo` and leaves `Foo.create()`
249
+ // unresolvable. An unnamed ctor `Foo()` has a single identifier — fall
250
+ // through (undefined) to the default class name. Letting the core's
251
+ // extractMethod own the factory (rather than a custom visitNode) keeps the
252
+ // body attribution intact: calls inside `factory Foo.create() { … }` are
253
+ // attributed to `Foo::create`, and getReturnType gives it return type Foo.
254
+ const ctor = dartCtorInfo(node);
255
+ // A named ctor `Foo.create` → `create`; the unnamed ctor `Foo()` → undefined
256
+ // (default naming gives the class name `Foo`, which is correct).
257
+ if (ctor && ctor.ctorName !== ctor.className)
258
+ return ctor.ctorName;
259
+ return undefined;
260
+ },
261
+ extractImport: (node, source) => {
262
+ const importText = source.substring(node.startIndex, node.endIndex).trim();
263
+ let moduleName = '';
264
+ // Dart imports: import 'dart:async'; import 'package:foo/bar.dart' as bar;
265
+ const libraryImport = node.namedChildren.find((c) => c.type === 'library_import');
266
+ if (libraryImport) {
267
+ const importSpec = libraryImport.namedChildren.find((c) => c.type === 'import_specification');
268
+ if (importSpec) {
269
+ const configurableUri = importSpec.namedChildren.find((c) => c.type === 'configurable_uri');
270
+ if (configurableUri) {
271
+ const uri = configurableUri.namedChildren.find((c) => c.type === 'uri');
272
+ if (uri) {
273
+ const stringLiteral = uri.namedChildren.find((c) => c.type === 'string_literal');
274
+ if (stringLiteral) {
275
+ moduleName = (0, tree_sitter_helpers_1.getNodeText)(stringLiteral, source).replace(/['"]/g, '');
276
+ }
277
+ }
278
+ }
279
+ }
280
+ }
281
+ // Also handle exports: export 'src/foo.dart';
282
+ if (!moduleName) {
283
+ const libraryExport = node.namedChildren.find((c) => c.type === 'library_export');
284
+ if (libraryExport) {
285
+ const configurableUri = libraryExport.namedChildren.find((c) => c.type === 'configurable_uri');
286
+ if (configurableUri) {
287
+ const uri = configurableUri.namedChildren.find((c) => c.type === 'uri');
288
+ if (uri) {
289
+ const stringLiteral = uri.namedChildren.find((c) => c.type === 'string_literal');
290
+ if (stringLiteral) {
291
+ moduleName = (0, tree_sitter_helpers_1.getNodeText)(stringLiteral, source).replace(/['"]/g, '');
292
+ }
293
+ }
294
+ }
295
+ }
296
+ }
297
+ if (moduleName) {
298
+ return { moduleName, signature: importText };
299
+ }
300
+ return null;
301
+ },
302
+ extractBareCall: (node, _source) => {
303
+ // Dart calls are: identifier + selector(argument_part), not a dedicated call node.
304
+ // Match on selector nodes that contain argument_part.
305
+ if (node.type === 'selector') {
306
+ const hasArgPart = node.namedChildren.some((c) => c.type === 'argument_part');
307
+ if (!hasArgPart)
308
+ return undefined;
309
+ const prev = node.previousNamedSibling;
310
+ if (!prev)
311
+ return undefined;
312
+ // Simple function/constructor call: prev is identifier (e.g., runApp(...), MyWidget(...))
313
+ if (prev.type === 'identifier') {
314
+ return prev.text;
315
+ }
316
+ // Method call: prev is selector with accessor (e.g., obj.method(...), Navigator.push(...))
317
+ if (prev.type === 'selector') {
318
+ const accessor = prev.namedChildren.find((c) => c.type === 'unconditional_assignable_selector' || c.type === 'conditional_assignable_selector');
319
+ if (accessor) {
320
+ const methodId = accessor.namedChildren.find((c) => c.type === 'identifier');
321
+ if (methodId) {
322
+ // Include receiver for first call in chain (receiver is a direct identifier)
323
+ const accessorPrev = prev.previousNamedSibling;
324
+ if (accessorPrev?.type === 'identifier') {
325
+ return accessorPrev.text + '.' + methodId.text;
326
+ }
327
+ // Chained static-factory / fluent call: the receiver is itself a call
328
+ // (`Foo.create().bar()`), so accessorPrev is that call's argument_part
329
+ // selector. Encode `<innerCallee>().<method>` so resolution can infer
330
+ // bar's class from what `Foo.create` RETURNS (#645/#608 mechanism) —
331
+ // but only when the chain starts with a capitalized type (a companion
332
+ // factory / static method / constructor); an instance chain
333
+ // (`obj.foo().bar()`) keeps the bare name (its receiver's type can't
334
+ // be recovered here).
335
+ if (accessorPrev?.type === 'selector' &&
336
+ accessorPrev.namedChildren.some((c) => c.type === 'argument_part')) {
337
+ const innerCallee = dartCalleeOfArgPart(accessorPrev);
338
+ if (innerCallee && /^[A-Z]/.test(innerCallee)) {
339
+ return `${innerCallee}().${methodId.text}`;
340
+ }
341
+ }
342
+ return methodId.text;
343
+ }
344
+ }
345
+ }
346
+ // super.method() / this.method(): prev is bare unconditional_assignable_selector
347
+ if (prev.type === 'unconditional_assignable_selector' || prev.type === 'conditional_assignable_selector') {
348
+ const methodId = prev.namedChildren.find((c) => c.type === 'identifier');
349
+ if (methodId)
350
+ return methodId.text;
351
+ }
352
+ return undefined;
353
+ }
354
+ // new MyWidget() — explicit constructor call
355
+ if (node.type === 'new_expression') {
356
+ const typeId = node.namedChildren.find((c) => c.type === 'type_identifier');
357
+ if (typeId)
358
+ return typeId.text;
359
+ return undefined;
360
+ }
361
+ // const EdgeInsets.all(8.0) — const constructor call
362
+ if (node.type === 'const_object_expression') {
363
+ const typeId = node.namedChildren.find((c) => c.type === 'type_identifier');
364
+ const nameId = node.namedChildren.find((c) => c.type === 'identifier');
365
+ if (typeId && nameId)
366
+ return typeId.text + '.' + nameId.text;
367
+ if (typeId)
368
+ return typeId.text;
369
+ return undefined;
370
+ }
371
+ return undefined;
372
+ },
373
+ };
374
+ //# sourceMappingURL=dart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dart.js","sourceRoot":"","sources":["../../../src/extraction/languages/dart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageExtractor } from '../tree-sitter-types';
2
+ export declare const erlangExtractor: LanguageExtractor;
3
+ //# sourceMappingURL=erlang.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erlang.d.ts","sourceRoot":"","sources":["../../../src/extraction/languages/erlang.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAC;AAmQhF,eAAO,MAAM,eAAe,EAAE,iBAqF7B,CAAC"}