cgraphx 2.0.2 → 2.0.6

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 (754) hide show
  1. package/dist/.claude-template/FLOW-MAP.md +13 -3
  2. package/dist/.claude-template/agents/task-history.md +186 -0
  3. package/dist/.claude-template/commands/end.md +1 -0
  4. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +5 -3
  5. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +8 -8
  6. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +8 -8
  7. package/dist/.claude-template/skills/clarify-requirements/SKILL.md +13 -9
  8. package/dist/.claude-template/skills/db-query/SKILL.md +19 -2
  9. package/dist/.claude-template/skills/iboc-check/SKILL.md +51 -23
  10. package/dist/.claude-template/skills/iboc-check/filler-prompt.md +3 -4
  11. package/dist/.claude-template/skills/run-api-test/SKILL.md +15 -15
  12. package/dist/.claude-template/skills/run-api-test/assets/{template-test-report.md → template-/346/216/245/345/217/243/346/265/213/350/257/225/346/212/245/345/221/212.md} +4 -4
  13. package/dist/.claude-template/skills/run-api-test/references/bru-run.md +1 -1
  14. package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
  15. package/dist/.claude-template/skills/run-api-test/references/report-format.md +6 -6
  16. package/dist/.claude-template/skills/run-api-test/references/service-readiness.md +1 -1
  17. package/dist/.claude-template/skills/run-api-test/references/test-scope.md +6 -6
  18. package/dist/.claude-template/skills/run-ui-test/SKILL.md +186 -0
  19. package/dist/.claude-template/skills/run-ui-test/references/report-format.md +77 -0
  20. package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
  21. package/dist/.claude-template/skills/write-api/SKILL.md +18 -18
  22. package/dist/.claude-template/skills/write-api/assets/{template-api-spec.md → template-/346/216/245/345/217/243/346/265/213/350/257/225-spec.md} +1 -1
  23. package/dist/.claude-template/skills/write-api/references/{api-spec-format.md → /346/216/245/345/217/243/346/265/213/350/257/225-spec-format.md} +3 -3
  24. package/dist/.claude-template/skills/write-plan/SKILL.md +4 -2
  25. package/dist/.claude-template/skills/write-ui-test/SKILL.md +125 -0
  26. package/dist/.claude-template/skills/write-ui-test/references//347/224/250/344/276/213/350/247/204/346/240/274-format.md +94 -0
  27. package/dist/core/code/engine/cli/analyze-config.js +320 -0
  28. package/dist/core/code/engine/cli/analyze.js +1086 -0
  29. package/dist/core/code/engine/cli/cli-message.js +83 -0
  30. package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
  31. package/dist/core/code/engine/cli/embedding-dims.js +43 -0
  32. package/dist/core/code/engine/cli/format-elapsed.js +12 -0
  33. package/dist/core/code/engine/cli/help-i18n.js +144 -0
  34. package/dist/core/code/engine/cli/i18n/en.js +110 -0
  35. package/dist/core/code/engine/cli/i18n/index.js +47 -0
  36. package/dist/core/code/engine/cli/i18n/resources.js +9 -0
  37. package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
  38. package/dist/core/code/engine/cli/lazy-action.js +67 -0
  39. package/dist/core/code/engine/cli/optional-grammars.js +136 -0
  40. package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
  41. package/dist/core/code/engine/cli/status.js +156 -0
  42. package/dist/core/code/engine/cli/tool.js +384 -0
  43. package/dist/core/code/engine/config/ignore-service.js +511 -0
  44. package/dist/core/code/engine/config/supported-languages.js +17 -0
  45. package/dist/core/code/engine/core/analysis-features.js +64 -0
  46. package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
  47. package/dist/core/code/engine/core/git-staleness.js +180 -0
  48. package/dist/core/code/engine/core/graph/graph.js +180 -0
  49. package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
  50. package/dist/core/code/engine/core/graph/types.js +2 -0
  51. package/dist/core/code/engine/core/index-freshness.js +12 -0
  52. package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
  53. package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
  54. package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
  55. package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
  56. package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
  57. package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
  58. package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
  59. package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
  60. package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
  61. package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
  62. package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
  63. package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
  64. package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
  65. package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
  66. package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
  67. package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
  68. package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
  69. package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
  70. package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
  71. package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
  72. package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
  73. package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
  74. package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
  75. package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
  76. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
  77. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
  78. package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
  79. package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
  80. package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
  81. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
  82. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
  83. package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
  84. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
  85. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
  86. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
  87. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
  88. package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
  89. package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
  90. package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
  91. package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
  92. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
  93. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
  94. package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
  95. package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
  96. package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
  97. package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
  98. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
  99. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
  100. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
  101. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
  102. package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
  103. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
  104. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
  105. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
  106. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
  107. package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
  108. package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
  109. package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
  110. package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
  111. package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
  112. package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
  113. package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
  114. package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
  115. package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
  116. package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
  117. package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
  118. package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
  119. package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
  120. package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
  121. package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
  122. package/dist/core/code/engine/core/ingestion/constants.js +26 -0
  123. package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
  124. package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
  125. package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
  126. package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
  127. package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
  128. package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
  129. package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
  130. package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
  131. package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
  132. package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
  133. package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
  134. package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
  135. package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
  136. package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
  137. package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
  138. package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
  139. package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
  140. package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
  141. package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
  142. package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
  143. package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
  144. package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
  145. package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
  146. package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
  147. package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
  148. package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
  149. package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
  150. package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
  151. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
  152. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
  153. package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
  154. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
  155. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
  156. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
  157. package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
  158. package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
  159. package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
  160. package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
  161. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
  162. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
  163. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
  164. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
  165. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
  166. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
  167. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
  168. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
  169. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
  170. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
  171. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
  172. package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
  173. package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
  174. package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
  175. package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
  176. package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
  177. package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
  178. package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
  179. package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
  180. package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
  181. package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
  182. package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
  183. package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
  184. package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
  185. package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
  186. package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
  187. package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
  188. package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
  189. package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
  190. package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
  191. package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
  192. package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
  193. package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
  194. package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
  195. package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
  196. package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
  197. package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
  198. package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
  199. package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
  200. package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
  201. package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
  202. package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
  203. package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
  204. package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
  205. package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
  206. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
  207. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
  208. package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
  209. package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
  210. package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
  211. package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
  212. package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
  213. package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
  214. package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
  215. package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
  216. package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
  217. package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
  218. package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
  219. package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
  220. package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
  221. package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
  222. package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
  223. package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
  224. package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
  225. package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
  226. package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
  227. package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
  228. package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
  229. package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
  230. package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
  231. package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
  232. package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
  233. package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
  234. package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
  235. package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
  236. package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
  237. package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
  238. package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
  239. package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
  240. package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
  241. package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
  242. package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
  243. package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
  244. package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
  245. package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
  246. package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
  247. package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
  248. package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
  249. package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
  250. package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
  251. package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
  252. package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
  253. package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
  254. package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
  255. package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
  256. package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
  257. package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
  258. package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
  259. package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
  260. package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
  261. package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
  262. package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
  263. package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
  264. package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
  265. package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
  266. package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
  267. package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
  268. package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
  269. package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
  270. package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
  271. package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
  272. package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
  273. package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
  274. package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
  275. package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
  276. package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
  277. package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
  278. package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
  279. package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
  280. package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
  281. package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
  282. package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
  283. package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
  284. package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
  285. package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
  286. package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
  287. package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
  288. package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
  289. package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
  290. package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
  291. package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
  292. package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
  293. package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
  294. package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
  295. package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
  296. package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
  297. package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
  298. package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
  299. package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
  300. package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
  301. package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
  302. package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
  303. package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
  304. package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
  305. package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
  306. package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
  307. package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
  308. package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
  309. package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
  310. package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
  311. package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
  312. package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
  313. package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
  314. package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
  315. package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
  316. package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
  317. package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
  318. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
  319. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
  320. package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
  321. package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
  322. package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
  323. package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
  324. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
  325. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
  326. package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
  327. package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
  328. package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
  329. package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
  330. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
  331. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
  332. package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
  333. package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
  334. package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
  335. package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
  336. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
  337. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
  338. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
  339. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
  340. package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
  341. package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
  342. package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
  343. package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
  344. package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
  345. package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
  346. package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
  347. package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
  348. package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
  349. package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
  350. package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
  351. package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
  352. package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
  353. package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
  354. package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
  355. package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
  356. package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
  357. package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
  358. package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
  359. package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
  360. package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
  361. package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
  362. package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
  363. package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
  364. package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
  365. package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
  366. package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
  367. package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
  368. package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
  369. package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
  370. package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
  371. package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
  372. package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
  373. package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
  374. package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
  375. package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
  376. package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
  377. package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
  378. package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
  379. package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
  380. package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
  381. package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
  382. package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
  383. package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
  384. package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
  385. package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
  386. package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
  387. package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
  388. package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
  389. package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
  390. package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
  391. package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
  392. package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
  393. package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
  394. package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
  395. package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
  396. package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
  397. package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
  398. package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
  399. package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
  400. package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
  401. package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
  402. package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
  403. package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
  404. package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
  405. package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
  406. package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
  407. package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
  408. package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
  409. package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
  410. package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
  411. package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
  412. package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
  413. package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
  414. package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
  415. package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
  416. package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
  417. package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
  418. package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
  419. package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
  420. package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
  421. package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
  422. package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
  423. package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
  424. package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
  425. package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
  426. package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
  427. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
  428. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
  429. package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
  430. package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
  431. package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
  432. package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
  433. package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
  434. package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
  435. package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
  436. package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
  437. package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
  438. package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
  439. package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
  440. package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
  441. package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
  442. package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
  443. package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
  444. package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
  445. package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
  446. package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
  447. package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
  448. package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
  449. package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
  450. package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
  451. package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
  452. package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
  453. package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
  454. package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
  455. package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
  456. package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
  457. package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
  458. package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
  459. package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
  460. package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
  461. package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
  462. package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
  463. package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
  464. package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
  465. package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
  466. package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
  467. package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
  468. package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
  469. package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
  470. package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
  471. package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
  472. package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
  473. package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
  474. package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
  475. package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
  476. package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
  477. package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
  478. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
  479. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
  480. package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
  481. package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
  482. package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
  483. package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
  484. package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
  485. package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
  486. package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
  487. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
  488. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
  489. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
  490. package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
  491. package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
  492. package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
  493. package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
  494. package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
  495. package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
  496. package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
  497. package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
  498. package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
  499. package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
  500. package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
  501. package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
  502. package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
  503. package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
  504. package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
  505. package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
  506. package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
  507. package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
  508. package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
  509. package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
  510. package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
  511. package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
  512. package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
  513. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
  514. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
  515. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
  516. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
  517. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
  518. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
  519. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
  520. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
  521. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
  522. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
  523. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
  524. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
  525. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
  526. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
  527. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
  528. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
  529. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
  530. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
  531. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
  532. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
  533. package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
  534. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
  535. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
  536. package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
  537. package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
  538. package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
  539. package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
  540. package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
  541. package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
  542. package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
  543. package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
  544. package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
  545. package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
  546. package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
  547. package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
  548. package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
  549. package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
  550. package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
  551. package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
  552. package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
  553. package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
  554. package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
  555. package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
  556. package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
  557. package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
  558. package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
  559. package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
  560. package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
  561. package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
  562. package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
  563. package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
  564. package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
  565. package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
  566. package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
  567. package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
  568. package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
  569. package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
  570. package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
  571. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
  572. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
  573. package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
  574. package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
  575. package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
  576. package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
  577. package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
  578. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
  579. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
  580. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
  581. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
  582. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
  583. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
  584. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
  585. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
  586. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
  587. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
  588. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
  589. package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
  590. package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
  591. package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
  592. package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
  593. package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
  594. package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
  595. package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
  596. package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
  597. package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
  598. package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
  599. package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
  600. package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
  601. package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
  602. package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
  603. package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
  604. package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
  605. package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
  606. package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
  607. package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
  608. package/dist/core/code/engine/core/lbug/native-check.js +435 -0
  609. package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
  610. package/dist/core/code/engine/core/lbug/query-params.js +25 -0
  611. package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
  612. package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
  613. package/dist/core/code/engine/core/lbug/schema.js +771 -0
  614. package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
  615. package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
  616. package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
  617. package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
  618. package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
  619. package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
  620. package/dist/core/code/engine/core/logger.js +339 -0
  621. package/dist/core/code/engine/core/platform/capabilities.js +91 -0
  622. package/dist/core/code/engine/core/run-analyze.js +1098 -0
  623. package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
  624. package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
  625. package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
  626. package/dist/core/code/engine/lib/utils.js +121 -0
  627. package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
  628. package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
  629. package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
  630. package/dist/core/code/engine/mcp/local/limits.js +15 -0
  631. package/dist/core/code/engine/mcp/local/line-display.js +6 -0
  632. package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
  633. package/dist/core/code/engine/storage/branch-index.js +72 -0
  634. package/dist/core/code/engine/storage/file-hash.js +95 -0
  635. package/dist/core/code/engine/storage/fs-atomic.js +34 -0
  636. package/dist/core/code/engine/storage/git.js +555 -0
  637. package/dist/core/code/engine/storage/index-lock.js +664 -0
  638. package/dist/core/code/engine/storage/parse-cache.js +650 -0
  639. package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
  640. package/dist/core/code/engine/storage/repo-manager.js +1061 -0
  641. package/dist/core/code/engine/storage/scope-index-store.js +247 -0
  642. package/dist/core/code/engine/types/pipeline.js +2 -0
  643. package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
  644. package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
  645. package/dist/core/code/shared/graph/types.js +8 -0
  646. package/dist/core/code/shared/index.js +105 -0
  647. package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
  648. package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
  649. package/dist/core/code/shared/integrations/retry.js +70 -0
  650. package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
  651. package/dist/core/code/shared/language-detection.js +162 -0
  652. package/dist/core/code/shared/languages.js +27 -0
  653. package/dist/core/code/shared/lbug/schema-constants.js +98 -0
  654. package/dist/core/code/shared/mro-strategy.js +2 -0
  655. package/dist/core/code/shared/pipeline.js +5 -0
  656. package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
  657. package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
  658. package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
  659. package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
  660. package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
  661. package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
  662. package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
  663. package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
  664. package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
  665. package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
  666. package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
  667. package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
  668. package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
  669. package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
  670. package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
  671. package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
  672. package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
  673. package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
  674. package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
  675. package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
  676. package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
  677. package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
  678. package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
  679. package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
  680. package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
  681. package/dist/core/code/shared/scope-resolution/types.js +25 -0
  682. package/dist/core/code/shared/test-helpers.js +17 -0
  683. package/dist/core/code/vendor/leiden/index.cjs +355 -0
  684. package/dist/core/code/vendor/leiden/utils.cjs +419 -0
  685. package/dist/core/dbquery/cli.d.ts.map +1 -1
  686. package/dist/core/dbquery/cli.js +5 -4
  687. package/dist/core/dbquery/cli.js.map +1 -1
  688. package/dist/core/dbquery/config.d.ts.map +1 -1
  689. package/dist/core/dbquery/config.js +39 -3
  690. package/dist/core/dbquery/config.js.map +1 -1
  691. package/dist/core/dbquery/drivers/http.d.ts +23 -0
  692. package/dist/core/dbquery/drivers/http.d.ts.map +1 -0
  693. package/dist/core/dbquery/drivers/http.js +125 -0
  694. package/dist/core/dbquery/drivers/http.js.map +1 -0
  695. package/dist/core/dbquery/drivers/mysql.js +1 -1
  696. package/dist/core/dbquery/drivers/mysql.js.map +1 -1
  697. package/dist/core/dbquery/drivers/postgres.js +1 -1
  698. package/dist/core/dbquery/drivers/postgres.js.map +1 -1
  699. package/dist/core/dbquery/executor.d.ts.map +1 -1
  700. package/dist/core/dbquery/executor.js +46 -12
  701. package/dist/core/dbquery/executor.js.map +1 -1
  702. package/dist/core/dbquery/format.d.ts.map +1 -1
  703. package/dist/core/dbquery/format.js +2 -1
  704. package/dist/core/dbquery/format.js.map +1 -1
  705. package/dist/core/dbquery/init.d.ts.map +1 -1
  706. package/dist/core/dbquery/init.js +7 -0
  707. package/dist/core/dbquery/init.js.map +1 -1
  708. package/dist/core/dbquery/types.d.ts +55 -7
  709. package/dist/core/dbquery/types.d.ts.map +1 -1
  710. package/dist/core/directory.d.ts +17 -0
  711. package/dist/core/directory.d.ts.map +1 -1
  712. package/dist/core/directory.js +37 -0
  713. package/dist/core/directory.js.map +1 -1
  714. package/dist/core/features/cli.d.ts.map +1 -1
  715. package/dist/core/features/cli.js +3 -2
  716. package/dist/core/features/cli.js.map +1 -1
  717. package/dist/core/features/scanner.d.ts +1 -1
  718. package/dist/core/features/scanner.d.ts.map +1 -1
  719. package/dist/core/features/scanner.js +20 -4
  720. package/dist/core/features/scanner.js.map +1 -1
  721. package/dist/core/markdown/cli.d.ts.map +1 -1
  722. package/dist/core/markdown/cli.js +9 -8
  723. package/dist/core/markdown/cli.js.map +1 -1
  724. package/dist/core/timeline/cli.d.ts.map +1 -1
  725. package/dist/core/timeline/cli.js +13 -6
  726. package/dist/core/timeline/cli.js.map +1 -1
  727. package/dist/core/timeline/debris.d.ts +20 -0
  728. package/dist/core/timeline/debris.d.ts.map +1 -0
  729. package/dist/core/timeline/debris.js +124 -0
  730. package/dist/core/timeline/debris.js.map +1 -0
  731. package/dist/core/timeline/hook-runner.d.ts.map +1 -1
  732. package/dist/core/timeline/hook-runner.js +3 -1
  733. package/dist/core/timeline/hook-runner.js.map +1 -1
  734. package/dist/core/timeline/hooks.d.ts.map +1 -1
  735. package/dist/core/timeline/hooks.js +13 -5
  736. package/dist/core/timeline/hooks.js.map +1 -1
  737. package/dist/core/timeline/installer.d.ts +2 -0
  738. package/dist/core/timeline/installer.d.ts.map +1 -1
  739. package/dist/core/timeline/installer.js +12 -0
  740. package/dist/core/timeline/installer.js.map +1 -1
  741. package/dist/core/timeline/project-root.d.ts +21 -0
  742. package/dist/core/timeline/project-root.d.ts.map +1 -0
  743. package/dist/core/timeline/project-root.js +83 -0
  744. package/dist/core/timeline/project-root.js.map +1 -0
  745. package/dist/web/register.d.ts.map +1 -1
  746. package/dist/web/register.js +2 -1
  747. package/dist/web/register.js.map +1 -1
  748. package/package.json +1 -1
  749. package/dist/.claude-template/.cgraphx/timeline-current-turn.json +0 -1
  750. package/dist/.claude-template/skills/.cgraphx/timeline-current-turn.json +0 -1
  751. package/dist/.claude-template/skills/handdrawn-deck/.cgraphx/timeline-current-turn.json +0 -1
  752. package/dist/.claude-template/skills/handdrawn-deck/references/.cgraphx/timeline-current-turn.json +0 -1
  753. package/dist/.claude-template/skills/handdrawn-sketch-engine/.cgraphx/timeline-current-turn.json +0 -1
  754. /package/dist/.claude-template/skills/run-api-test/assets/{template-test-verify.jsonl → template-/346/216/245/345/217/243/346/265/213/350/257/225/351/252/214/350/257/201.jsonl"} +0 -0
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /**
3
+ * Synthesize `@type-binding.self` captures for C# instance methods —
4
+ * one for `this` (always on non-static methods inside a type
5
+ * declaration) and optionally one for `base` (only on class methods
6
+ * when the enclosing class has an explicit base in its `base_list`).
7
+ *
8
+ * Mirrors `languages/python/receiver-binding.ts` in structure. The
9
+ * tree-sitter-c-sharp grammar doesn't give us a clean `.scm` pattern
10
+ * for "this-receiver on every instance method inside an enclosing
11
+ * type" because the binding isn't a parameter — it's an implicit
12
+ * receiver. Synthesis in code is the same approach Python uses for
13
+ * `self` / `cls`.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.synthesizeCsharpReceiverBinding = synthesizeCsharpReceiverBinding;
17
+ const ast_helpers_js_1 = require("../../utils/ast-helpers.js");
18
+ const TYPE_DECL_NODE_TYPES = new Set([
19
+ 'class_declaration',
20
+ 'struct_declaration',
21
+ 'record_declaration',
22
+ 'interface_declaration',
23
+ ]);
24
+ const FUNCTION_NODE_TYPES = new Set([
25
+ 'method_declaration',
26
+ 'constructor_declaration',
27
+ 'destructor_declaration',
28
+ 'operator_declaration',
29
+ 'conversion_operator_declaration',
30
+ 'local_function_statement',
31
+ ]);
32
+ /** Walk up to the enclosing type declaration, stopping at any other
33
+ * function-like node (nested local functions shouldn't leak `this`
34
+ * from an outer class to an inner closure). */
35
+ function findEnclosingTypeDeclaration(node) {
36
+ let cur = node.parent;
37
+ while (cur !== null) {
38
+ if (TYPE_DECL_NODE_TYPES.has(cur.type))
39
+ return cur;
40
+ // A local function nested inside another method still sees `this`
41
+ // from the enclosing class — don't break on function-like nodes.
42
+ cur = cur.parent;
43
+ }
44
+ return null;
45
+ }
46
+ function typeName(typeNode) {
47
+ return typeNode.childForFieldName('name')?.text ?? null;
48
+ }
49
+ /** First entry in the type's `base_list`, read as raw type text. C#
50
+ * allows generic and qualified bases (`Foo<T>`, `N.M.Base`); we keep
51
+ * that form so downstream interpretation can strip generics and
52
+ * qualifiers consistently. A record primary-constructor base wraps
53
+ * its type and constructor arguments in `primary_constructor_base_type`,
54
+ * so read its `type` field instead of leaking `(args)` into the binding.
55
+ * Returns null when the type has no base (or an empty base_list). */
56
+ function firstBaseText(typeNode) {
57
+ for (let i = 0; i < typeNode.namedChildCount; i++) {
58
+ const child = typeNode.namedChild(i);
59
+ if (child === null || child.type !== 'base_list')
60
+ continue;
61
+ const firstBase = child.namedChild(0);
62
+ if (firstBase === null)
63
+ return null;
64
+ return firstBase.type === 'primary_constructor_base_type'
65
+ ? (firstBase.childForFieldName('type')?.text ?? firstBase.text)
66
+ : firstBase.text;
67
+ }
68
+ return null;
69
+ }
70
+ function isStaticMethod(fnNode) {
71
+ // A `static` modifier appears as a named `modifier` child whose text
72
+ // is exactly "static". collectModifierTexts in field-extractors
73
+ // handles this, but duplicating the tiny scan here keeps the
74
+ // receiver-binding module dependency-free.
75
+ for (let i = 0; i < fnNode.namedChildCount; i++) {
76
+ const child = fnNode.namedChild(i);
77
+ if (child !== null && child.type === 'modifier' && child.text.trim() === 'static')
78
+ return true;
79
+ }
80
+ return false;
81
+ }
82
+ /**
83
+ * Build zero, one, or two `@type-binding.self` matches for `fnNode`:
84
+ *
85
+ * - Returns `null` if the function is free (no enclosing type),
86
+ * static, or the enclosing type has no resolvable name.
87
+ * - Returns one match (`this`) for non-static methods inside a
88
+ * class/struct/record/interface.
89
+ * - Returns two matches (`this` + `base`) only when the function
90
+ * lives in a `class_declaration` (or `record_declaration`) that has
91
+ * at least one base entry. Structs cannot inherit classes;
92
+ * interfaces cannot call `base.X`.
93
+ *
94
+ * The caller is responsible for guaranteeing
95
+ * `FUNCTION_NODE_TYPES.has(fnNode.type)`.
96
+ */
97
+ function synthesizeCsharpReceiverBinding(fnNode) {
98
+ if (!FUNCTION_NODE_TYPES.has(fnNode.type))
99
+ return [];
100
+ if (isStaticMethod(fnNode))
101
+ return [];
102
+ const enclosingType = findEnclosingTypeDeclaration(fnNode);
103
+ if (enclosingType === null)
104
+ return [];
105
+ const enclosingName = typeName(enclosingType);
106
+ if (enclosingName === null)
107
+ return [];
108
+ // Anchor the synthesized captures to a node clearly *inside* the
109
+ // function's scope (not at the method's start position, which maps
110
+ // to the enclosing class scope via positionIndex). The method's
111
+ // `body` field is the block statement — its range is guaranteed to
112
+ // be inside the function scope. If the method has no body (interface
113
+ // declaration, `abstract`), skip — there's no function scope to
114
+ // attach the binding to.
115
+ const anchorNode = fnNode.childForFieldName('body');
116
+ if (anchorNode === null)
117
+ return [];
118
+ const out = [];
119
+ out.push(buildReceiverMatch(anchorNode, 'this', enclosingName));
120
+ // `base` applies only to class / record methods with an explicit
121
+ // base class. `struct` can't inherit a class; `interface` can't
122
+ // call `base.X`. The first entry of `base_list` is the base class
123
+ // (interfaces follow); we can't statically distinguish the two here,
124
+ // but `base.X` only compiles when the first entry IS a class, so we
125
+ // trust the source — if the user wrote `base.X` in a class with
126
+ // interface-only bases, their code wouldn't compile anyway.
127
+ if (enclosingType.type === 'class_declaration' || enclosingType.type === 'record_declaration') {
128
+ const baseText = firstBaseText(enclosingType);
129
+ if (baseText !== null) {
130
+ out.push(buildReceiverMatch(anchorNode, 'base', baseText));
131
+ }
132
+ }
133
+ return out;
134
+ }
135
+ function buildReceiverMatch(anchorNode, name, typeText) {
136
+ const m = {
137
+ '@type-binding.self': (0, ast_helpers_js_1.nodeToCapture)('@type-binding.self', anchorNode),
138
+ '@type-binding.name': (0, ast_helpers_js_1.syntheticCapture)('@type-binding.name', anchorNode, name),
139
+ '@type-binding.type': (0, ast_helpers_js_1.syntheticCapture)('@type-binding.type', anchorNode, typeText),
140
+ };
141
+ return m;
142
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * Per-workspace config for C# scope-resolution import targeting.
4
+ *
5
+ * Loaded once per analyze pass via `csharpScopeResolver.loadResolutionConfig`
6
+ * and threaded into `resolveCsharpImportTarget`. The pure gate predicates live
7
+ * in `../../csharp-namespace-gate.ts` (shared with the legacy DAG resolver).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.loadCsharpResolutionConfig = loadCsharpResolutionConfig;
11
+ const language_config_js_1 = require("../../language-config.js");
12
+ async function loadCsharpResolutionConfig(repoRoot) {
13
+ const scan = await (0, language_config_js_1.scanCSharpProject)(repoRoot);
14
+ return {
15
+ csharpConfigs: scan.configs,
16
+ namespaces: (0, language_config_js_1.csharpScanToEvidence)(scan),
17
+ };
18
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * C# `ScopeResolver` registered in `SCOPE_RESOLVERS` and consumed by
4
+ * the generic `runScopeResolution` orchestrator (RFC #909 Ring 3).
5
+ *
6
+ * Second migration after Python — see `pythonScopeResolver` for the
7
+ * canonical shape.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.csharpScopeResolver = void 0;
11
+ const index_js_1 = require("../../../../../shared/index.js");
12
+ const mro_js_1 = require("../../scope-resolution/passes/mro.js");
13
+ const walkers_js_1 = require("../../scope-resolution/scope/walkers.js");
14
+ const qualified_type_names_js_1 = require("./qualified-type-names.js");
15
+ const csharp_js_1 = require("../csharp.js");
16
+ const index_js_2 = require("./index.js");
17
+ const namespace_siblings_js_1 = require("./namespace-siblings.js");
18
+ const resolution_config_js_1 = require("./resolution-config.js");
19
+ const accessor_unwrap_js_1 = require("./accessor-unwrap.js");
20
+ const csharpScopeResolver = {
21
+ // Construction is keyword-prefixed: `new Service(db).doWork()` (#2708).
22
+ constructionSyntax: { keyword: 'new' },
23
+ language: index_js_1.SupportedLanguages.CSharp,
24
+ languageProvider: csharp_js_1.csharpProvider,
25
+ importEdgeReason: 'csharp-scope: using',
26
+ loadResolutionConfig: (repoPath) => (0, resolution_config_js_1.loadCsharpResolutionConfig)(repoPath),
27
+ resolveImportTarget: (targetRaw, fromFile, allFilePaths, resolutionConfig) => {
28
+ const config = resolutionConfig;
29
+ const ws = {
30
+ fromFile,
31
+ allFilePaths,
32
+ csharpConfigs: config?.csharpConfigs,
33
+ namespaces: config?.namespaces,
34
+ };
35
+ // `WorkspaceIndex` is an opaque `unknown` placeholder in the
36
+ // shared contract, so `ws` passes structurally without a cast.
37
+ return (0, index_js_2.resolveCsharpImportTarget)({ kind: 'namespace', localName: '_', importedName: '_', targetRaw }, ws);
38
+ },
39
+ // C# shadowing: local > using > using static. The per-scope id is
40
+ // unused by the C# implementation (shadowing is computed purely
41
+ // from the binding tier), so we don't need to synthesize a Scope.
42
+ mergeBindings: (existing, incoming) => [...(0, index_js_2.csharpMergeBindings)([...existing, ...incoming])],
43
+ // Adapter: csharpArityCompatibility uses (def, callsite); the
44
+ // contract is (callsite, def).
45
+ arityCompatibility: (callsite, def) => (0, index_js_2.csharpArityCompatibility)(def, callsite),
46
+ buildMro: (graph, parsedFiles, nodeLookup) => (0, mro_js_1.buildMro)(graph, parsedFiles, nodeLookup, mro_js_1.defaultLinearize),
47
+ populateOwners: (parsed) => {
48
+ (0, walkers_js_1.populateClassOwnedMembers)(parsed);
49
+ // Sidecar-only namespace tagging (does NOT touch qualifiedName) so the
50
+ // qualified constructor resolver can break same-tail collisions like
51
+ // `new B.Foo()` by matching the explicit qualifier (#2046).
52
+ (0, qualified_type_names_js_1.populateCsharpNamespacePrefixes)(parsed);
53
+ },
54
+ // C# uses `base` for super-class dispatch, not `super`. Match as a
55
+ // plain identifier (no `()` call like Python's `super(...)`) — `base`
56
+ // is a keyword-like receiver, not a callable.
57
+ isSuperReceiver: (text) => text.trim() === 'base',
58
+ // Same-namespace cross-file visibility — C# makes every type
59
+ // declared in `namespace X` visible to other files declaring the
60
+ // same namespace, without any `using` directive. See
61
+ // `namespace-siblings.ts` for the implementation.
62
+ populateNamespaceSiblings: namespace_siblings_js_1.populateCsharpNamespaceSiblings,
63
+ // C# is statically typed — type information is reliable. Field-
64
+ // fallback heuristic stays off (the type-binding layer already
65
+ // produces precise owner types); return-type propagation on is fine
66
+ // since signatures are authoritative.
67
+ fieldFallbackOnMethodLookup: false,
68
+ propagatesReturnTypesAcrossImports: true,
69
+ // `data.Values` / `data.Keys` on Dictionary-like receivers unwrap
70
+ // to the value / key element type. Other languages use method-call
71
+ // syntax for the same access and leave this hook undefined.
72
+ elementTypeOf: accessor_unwrap_js_1.unwrapCsharpElementType,
73
+ // C# matches legacy DAG by collapsing member-call CALLS edges to
74
+ // `(caller, target)` — multiple `g.Greet(...)` sites from Main
75
+ // yield ONE edge, not one per site.
76
+ collapseMemberCallsByCallerTarget: true,
77
+ freeCallsRequireInstanceOwnership: true,
78
+ // C# hoists method return-type bindings to the enclosing Module
79
+ // scope so `propagateImportedReturnTypes` can mirror them across
80
+ // files. The compound-receiver walker needs to walk up from the
81
+ // class scope to find them; see the contract field for rationale.
82
+ hoistTypeBindingsToModule: true,
83
+ };
84
+ exports.csharpScopeResolver = csharpScopeResolver;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * Trivial / no-op-ish hooks for the C# provider. Kept together because
4
+ * each is a few lines and they share a common theme: they make the
5
+ * provider's choice explicit rather than relying on "absence == default"
6
+ * so reviewers don't have to re-derive the analysis.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.csharpBindingScopeFor = csharpBindingScopeFor;
10
+ exports.csharpImportOwningScope = csharpImportOwningScope;
11
+ exports.csharpReceiverBinding = csharpReceiverBinding;
12
+ // ─── bindingScopeFor ──────────────────────────────────────────────────────
13
+ /** C# has block scope, but the central extractor's "innermost enclosing
14
+ * scope" default already handles it correctly: class-body declarations
15
+ * attach to the innermost Class scope, method-body declarations attach
16
+ * to the innermost Function scope, and namespace-body declarations
17
+ * attach to the innermost Namespace scope (which the scope query emits
18
+ * for both `namespace X { }` and `namespace X;` forms).
19
+ *
20
+ * Exception: **method return-type bindings** (`@type-binding.return`)
21
+ * must hoist all the way to the Module scope. The default auto-hoist
22
+ * in the central extractor only promotes one level (Function → its
23
+ * parent). For C# methods the parent is always a Class, so without
24
+ * this override the return binding gets stuck at the Class scope,
25
+ * where it's invisible to:
26
+ * - chain-follow's parent-chain walk in `followChainPostFinalize`
27
+ * (tests: `var u = GetUser(); u.Save()` single-file);
28
+ * - cross-file `propagateImportedReturnTypes`, which reads only
29
+ * `sourceModule.typeBindings`.
30
+ * Walking to Module restores both paths. */
31
+ function csharpBindingScopeFor(decl, innermost, tree) {
32
+ if (decl['@type-binding.return'] !== undefined) {
33
+ let cur = innermost;
34
+ while (cur !== undefined && cur.kind !== 'Module') {
35
+ const parentId = cur.parent ?? null;
36
+ if (parentId === null)
37
+ break;
38
+ cur = tree.getScope(parentId);
39
+ }
40
+ if (cur !== undefined && cur.kind === 'Module')
41
+ return cur.id;
42
+ }
43
+ return null;
44
+ }
45
+ // ─── importOwningScope ────────────────────────────────────────────────────
46
+ /** `using` inside `namespace X { }` binds to that namespace's scope (its
47
+ * types are visible only within that namespace's members). File-level
48
+ * `using` delegates to the module default. Class-body `using` is not
49
+ * legal C# — defensively handle it by attaching to the class if it
50
+ * ever slips through.
51
+ *
52
+ * `global using X;` (C# 10+) at the compilation_unit level is treated
53
+ * as a file-scoped using for Unit 2's purposes; cross-file propagation
54
+ * will be addressed if Unit 7's parity gate flags it. */
55
+ function csharpImportOwningScope(_imp, innermost, _tree) {
56
+ if (innermost.kind === 'Namespace' || innermost.kind === 'Class' || innermost.kind === 'Function')
57
+ return innermost.id;
58
+ return null;
59
+ }
60
+ // ─── receiverBinding ──────────────────────────────────────────────────────
61
+ /** Look up `this` or `base` in the function scope's type bindings.
62
+ *
63
+ * `this` and `base` are synthesized as type bindings on instance
64
+ * methods during capture emission (`receiver-binding.ts`) — `this`
65
+ * for every method inside a class/struct/record/interface body, and
66
+ * `base` additionally for methods of a class-like type with an
67
+ * explicit `base_list`. This hook therefore returns a non-null
68
+ * `TypeRef` for instance-method bodies.
69
+ *
70
+ * Returns `null` for:
71
+ * - static methods (no `this` synthesized)
72
+ * - free functions / module-level code (no enclosing class)
73
+ * - non-Function scopes
74
+ *
75
+ * Matches `pythonReceiverBinding`'s shape so the two provider
76
+ * wirings stay symmetric. */
77
+ function csharpReceiverBinding(functionScope) {
78
+ if (functionScope.kind !== 'Function')
79
+ return null;
80
+ return functionScope.typeBindings.get('this') ?? functionScope.typeBindings.get('base') ?? null;
81
+ }
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ /**
3
+ * C# language provider.
4
+ *
5
+ * C# uses named imports (using directives), modifier-based export detection,
6
+ * and an implements-split MRO strategy for multiple interface implementation.
7
+ * Interface names follow the I-prefix convention (e.g., IDisposable).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.csharpProvider = void 0;
11
+ const index_js_1 = require("../../../../shared/index.js");
12
+ const generic_js_1 = require("../class-extractors/generic.js");
13
+ const csharp_js_1 = require("../class-extractors/configs/csharp.js");
14
+ const language_provider_js_1 = require("../language-provider.js");
15
+ const csharp_js_2 = require("../type-extractors/csharp.js");
16
+ const export_detection_js_1 = require("../export-detection.js");
17
+ const resolver_factory_js_1 = require("../import-resolvers/resolver-factory.js");
18
+ const csharp_js_3 = require("../import-resolvers/configs/csharp.js");
19
+ const tree_sitter_queries_js_1 = require("../tree-sitter-queries.js");
20
+ const ast_helpers_js_1 = require("../utils/ast-helpers.js");
21
+ const generic_js_2 = require("../call-extractors/generic.js");
22
+ const csharp_js_4 = require("../call-extractors/configs/csharp.js");
23
+ const generic_js_3 = require("../field-extractors/generic.js");
24
+ const csharp_js_5 = require("../field-extractors/configs/csharp.js");
25
+ const generic_js_4 = require("../method-extractors/generic.js");
26
+ const csharp_js_6 = require("../method-extractors/configs/csharp.js");
27
+ const generic_js_5 = require("../variable-extractors/generic.js");
28
+ const csharp_js_7 = require("../variable-extractors/configs/csharp.js");
29
+ const csharp_js_8 = require("../cfg/visitors/csharp.js");
30
+ const index_js_2 = require("./csharp/index.js");
31
+ const BUILT_INS = new Set([
32
+ 'Console',
33
+ 'WriteLine',
34
+ 'ReadLine',
35
+ 'Write',
36
+ 'Task',
37
+ 'Run',
38
+ 'Wait',
39
+ 'WhenAll',
40
+ 'WhenAny',
41
+ 'FromResult',
42
+ 'Delay',
43
+ 'ContinueWith',
44
+ 'ConfigureAwait',
45
+ 'GetAwaiter',
46
+ 'GetResult',
47
+ 'ToString',
48
+ 'GetType',
49
+ 'Equals',
50
+ 'GetHashCode',
51
+ 'ReferenceEquals',
52
+ 'Add',
53
+ 'Remove',
54
+ 'Contains',
55
+ 'Clear',
56
+ 'Count',
57
+ 'Any',
58
+ 'All',
59
+ 'Where',
60
+ 'Select',
61
+ 'SelectMany',
62
+ 'OrderBy',
63
+ 'OrderByDescending',
64
+ 'GroupBy',
65
+ 'First',
66
+ 'FirstOrDefault',
67
+ 'Single',
68
+ 'SingleOrDefault',
69
+ 'Last',
70
+ 'LastOrDefault',
71
+ 'ToList',
72
+ 'ToArray',
73
+ 'ToDictionary',
74
+ 'AsEnumerable',
75
+ 'AsQueryable',
76
+ 'Aggregate',
77
+ 'Sum',
78
+ 'Average',
79
+ 'Min',
80
+ 'Max',
81
+ 'Distinct',
82
+ 'Skip',
83
+ 'Take',
84
+ 'String',
85
+ 'Format',
86
+ 'IsNullOrEmpty',
87
+ 'IsNullOrWhiteSpace',
88
+ 'Concat',
89
+ 'Join',
90
+ 'Trim',
91
+ 'TrimStart',
92
+ 'TrimEnd',
93
+ 'Split',
94
+ 'Replace',
95
+ 'StartsWith',
96
+ 'EndsWith',
97
+ 'Convert',
98
+ 'ToInt32',
99
+ 'ToDouble',
100
+ 'ToBoolean',
101
+ 'ToByte',
102
+ 'Math',
103
+ 'Abs',
104
+ 'Ceiling',
105
+ 'Floor',
106
+ 'Round',
107
+ 'Pow',
108
+ 'Sqrt',
109
+ 'Dispose',
110
+ 'Close',
111
+ 'TryParse',
112
+ 'Parse',
113
+ 'AddRange',
114
+ 'RemoveAt',
115
+ 'RemoveAll',
116
+ 'FindAll',
117
+ 'Exists',
118
+ 'TrueForAll',
119
+ 'ContainsKey',
120
+ 'TryGetValue',
121
+ 'AddOrUpdate',
122
+ 'Throw',
123
+ 'ThrowIfNull',
124
+ ]);
125
+ exports.csharpProvider = (0, language_provider_js_1.defineLanguage)({
126
+ id: index_js_1.SupportedLanguages.CSharp,
127
+ extensions: ['.cs'],
128
+ entryPointPatterns: [
129
+ /^(Get|Post|Put|Delete|Patch)/,
130
+ /Action$/,
131
+ /^On[A-Z]/,
132
+ /Async$/,
133
+ /^Configure$/,
134
+ /^ConfigureServices$/,
135
+ /^Handle$/,
136
+ /^Execute$/,
137
+ /^Invoke$/,
138
+ /^Map[A-Z]/,
139
+ /Service$/,
140
+ /^Seed/,
141
+ ],
142
+ astFrameworkPatterns: [
143
+ {
144
+ framework: 'aspnet',
145
+ entryPointMultiplier: 3.2,
146
+ reason: 'aspnet-attribute',
147
+ patterns: [
148
+ '[ApiController]',
149
+ '[HttpGet]',
150
+ '[HttpPost]',
151
+ '[HttpPut]',
152
+ '[HttpDelete]',
153
+ '[Route]',
154
+ '[Authorize]',
155
+ '[AllowAnonymous]',
156
+ ],
157
+ },
158
+ {
159
+ framework: 'signalr',
160
+ entryPointMultiplier: 2.8,
161
+ reason: 'signalr-attribute',
162
+ patterns: ['[HubMethodName]', ': Hub', ': Hub<'],
163
+ },
164
+ {
165
+ framework: 'blazor',
166
+ entryPointMultiplier: 2.5,
167
+ reason: 'blazor-attribute',
168
+ patterns: ['@page', '[Parameter]', '@inject'],
169
+ },
170
+ {
171
+ framework: 'efcore',
172
+ entryPointMultiplier: 2.0,
173
+ reason: 'efcore-pattern',
174
+ patterns: ['DbContext', 'DbSet<', 'OnModelCreating'],
175
+ },
176
+ ],
177
+ treeSitterQueries: tree_sitter_queries_js_1.CSHARP_QUERIES,
178
+ typeConfig: csharp_js_2.typeConfig,
179
+ exportChecker: export_detection_js_1.csharpExportChecker,
180
+ importResolver: (0, resolver_factory_js_1.createImportResolver)(csharp_js_3.csharpImportConfig),
181
+ mroStrategy: 'implements-split',
182
+ callExtractor: (0, generic_js_2.createCallExtractor)(csharp_js_4.csharpCallConfig),
183
+ fieldExtractor: (0, generic_js_3.createFieldExtractor)(csharp_js_5.csharpConfig),
184
+ methodExtractor: (0, generic_js_4.createMethodExtractor)(csharp_js_6.csharpMethodConfig),
185
+ variableExtractor: (0, generic_js_5.createVariableExtractor)(csharp_js_7.csharpVariableConfig),
186
+ classExtractor: (0, generic_js_1.createClassExtractor)(csharp_js_1.csharpClassConfig),
187
+ // ── XML doc comments (`///`) → description (issue #2270) ──
188
+ descriptionExtractor: (0, ast_helpers_js_1.createLeadingDocDescriptionExtractor)(),
189
+ builtInNames: BUILT_INS,
190
+ // ── RFC #909 Ring 3: scope-based resolution hooks (RFC §5) ──────────
191
+ // C# is the second migration after Python. See ./csharp/index.ts for
192
+ // the full per-hook rationale and the canonical capture vocabulary
193
+ // in ./csharp/query.ts (CSHARP_SCOPE_QUERY constant).
194
+ emitScopeCaptures: index_js_2.emitCsharpScopeCaptures,
195
+ cfgVisitor: (0, csharp_js_8.createCsharpCfgVisitor)(),
196
+ interpretImport: index_js_2.interpretCsharpImport,
197
+ interpretTypeBinding: index_js_2.interpretCsharpTypeBinding,
198
+ bindingScopeFor: index_js_2.csharpBindingScopeFor,
199
+ importOwningScope: index_js_2.csharpImportOwningScope,
200
+ mergeBindings: (_scope, bindings) => (0, index_js_2.csharpMergeBindings)(bindings),
201
+ receiverBinding: index_js_2.csharpReceiverBinding,
202
+ arityCompatibility: index_js_2.csharpArityCompatibility,
203
+ resolveImportTarget: index_js_2.resolveCsharpImportTarget,
204
+ });
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * Compute arity metadata from a Dart function-like node, reusing
4
+ * `dartMethodConfig.extractParameters` so scope-extracted defs carry the
5
+ * same semantics as the legacy parse-worker path. Mirror of
6
+ * `languages/swift/arity-metadata.ts` (and C#'s `computeCsharpArityMetadata`).
7
+ *
8
+ * Dart has no variadic parameters, so `parameterCount` is always the param
9
+ * total and the required count falls out of the optional flag:
10
+ * `requiredParameterCount = total − optionalCount`, where a non-`required`
11
+ * named param or an optional positional (`[...]`) param is optional.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.computeDartArityMetadata = computeDartArityMetadata;
15
+ const dart_js_1 = require("../../method-extractors/configs/dart.js");
16
+ /**
17
+ * `fnNode` is the declaration WRAPPER node (`method_signature` /
18
+ * `declaration` / a top-level `function_signature` / `constructor_signature`).
19
+ * `dartMethodConfig.extractParameters` descends to the inner signature
20
+ * internally, so the wrapper is the correct node to pass.
21
+ */
22
+ function computeDartArityMetadata(fnNode) {
23
+ const params = dart_js_1.dartMethodConfig.extractParameters?.(fnNode) ?? [];
24
+ let optionalCount = 0;
25
+ const types = [];
26
+ for (const p of params) {
27
+ if (p.isOptional)
28
+ optionalCount++;
29
+ if (p.type !== null)
30
+ types.push(p.type);
31
+ }
32
+ const total = params.length;
33
+ return {
34
+ parameterCount: total,
35
+ requiredParameterCount: total - optionalCount,
36
+ parameterTypes: types.length > 0 ? types : undefined,
37
+ };
38
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Dart arity compatibility (count-primary, labels soft) — mirror of
4
+ * `languages/swift/arity.ts`.
5
+ *
6
+ * Dart parameters come in four flavours: required positional, optional
7
+ * positional (`[...]`), named (`{...}`), and required-named
8
+ * (`{required ...}`). `dartMethodConfig.extractParameters` collapses these
9
+ * into `isOptional` (a non-`required` named/optional-positional param is
10
+ * optional), which `computeDartArityMetadata` turns into
11
+ * `requiredParameterCount = total − optionalCount`. Named arguments are
12
+ * unordered and matched on COUNT only here — label-precise dispatch is left
13
+ * to the type-binding layer (Swift's documented "labels soft" decision).
14
+ * Dart has no variadic parameters, so the max bound always applies.
15
+ *
16
+ * NOTE arg order: `(def, callsite)` — matches the `LanguageProvider` hook.
17
+ * The `ScopeResolver` wires an adapter that flips the order to `(callsite, def)`.
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.dartArityCompatibility = dartArityCompatibility;
21
+ function dartArityCompatibility(def, callsite) {
22
+ const max = def.parameterCount;
23
+ const min = def.requiredParameterCount;
24
+ if (max === undefined && min === undefined)
25
+ return 'unknown';
26
+ const argCount = callsite.arity;
27
+ if (argCount === undefined || !Number.isFinite(argCount) || argCount < 0)
28
+ return 'unknown';
29
+ if (min !== undefined && argCount < min)
30
+ return 'incompatible';
31
+ if (max !== undefined && argCount > max)
32
+ return 'incompatible';
33
+ return 'compatible';
34
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * Dart built-in / framework names whose calls the legacy DAG suppresses
4
+ * (Flutter / Dart-SDK members not part of the indexed workspace). The
5
+ * registry-primary capture walk skips emitting call references for these so
6
+ * its CALLS graph matches the legacy DAG — which suppresses built-in-named
7
+ * calls via `isBuiltInName` BEFORE resolution, for both free and member calls.
8
+ *
9
+ * Leaf module: shared by the provider (`builtInNames`) and `captures.ts`
10
+ * without an import cycle (`dart.ts` → `dart/index.ts` → `captures.ts`).
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DART_BUILT_INS = void 0;
14
+ exports.DART_BUILT_INS = new Set([
15
+ 'setState',
16
+ 'mounted',
17
+ 'debugPrint',
18
+ 'runApp',
19
+ 'showDialog',
20
+ 'showModalBottomSheet',
21
+ 'Navigator',
22
+ 'push',
23
+ 'pushNamed',
24
+ 'pushReplacement',
25
+ 'pop',
26
+ 'maybePop',
27
+ 'ScaffoldMessenger',
28
+ 'showSnackBar',
29
+ 'deactivate',
30
+ 'reassemble',
31
+ 'debugDumpApp',
32
+ 'debugDumpRenderTree',
33
+ 'then',
34
+ 'catchError',
35
+ 'whenComplete',
36
+ 'listen',
37
+ ]);
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /**
3
+ * Dev-mode (`PROF_SCOPE_RESOLUTION=1`) cache hit/miss counters for the
4
+ * cross-phase scope-captures parse cache. A module-level `PROF` const folds
5
+ * increments to dead code in production so `captures.ts` stays branch-free.
6
+ * Mirror of `languages/swift/cache-stats.ts`.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.recordCacheHit = recordCacheHit;
10
+ exports.recordCacheMiss = recordCacheMiss;
11
+ exports.getDartCaptureCacheStats = getDartCaptureCacheStats;
12
+ exports.resetDartCaptureCacheStats = resetDartCaptureCacheStats;
13
+ const PROF = process.env.PROF_SCOPE_RESOLUTION === '1';
14
+ let CACHE_HITS = 0;
15
+ let CACHE_MISSES = 0;
16
+ function recordCacheHit() {
17
+ if (PROF)
18
+ CACHE_HITS++;
19
+ }
20
+ function recordCacheMiss() {
21
+ if (PROF)
22
+ CACHE_MISSES++;
23
+ }
24
+ function getDartCaptureCacheStats() {
25
+ return { hits: CACHE_HITS, misses: CACHE_MISSES };
26
+ }
27
+ function resetDartCaptureCacheStats() {
28
+ CACHE_HITS = 0;
29
+ CACHE_MISSES = 0;
30
+ }