cgraphx 2.0.1 → 2.0.3

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 (701) hide show
  1. package/dist/.claude-template/FLOW-MAP.md +7 -5
  2. package/dist/.claude-template/commands/end.md +1 -1
  3. package/dist/.claude-template/skills/cgraphx-guide/SKILL.md +2 -1
  4. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.html +4 -2
  5. package/dist/.claude-template/skills/cgraphx-guide/how-to-use.md +5 -2
  6. package/dist/.claude-template/skills/iboc-check/SKILL.md +116 -0
  7. package/dist/.claude-template/skills/iboc-check/filler-prompt.md +75 -0
  8. package/dist/.claude-template/skills/implementation/SKILL.md +7 -0
  9. package/dist/.claude-template/skills/init-project-guides/SKILL.md +1 -1
  10. package/dist/.claude-template/skills/run-api-test/references/db-verification.md +2 -2
  11. package/dist/.claude-template/skills/subagent-implement/SKILL.md +3 -2
  12. package/dist/.claude-template/skills/write-api/assets/template-request.bru +3 -3
  13. package/dist/.claude-template/skills/write-api/references/bru-format.md +6 -6
  14. package/dist/.claude-template/skills/write-delivery-guide/SKILL.md +97 -0
  15. package/dist/.claude-template/skills/write-delivery-guide/template-change-type.md +120 -0
  16. package/dist/.claude-template/skills/write-delivery-guide/template-multi-role-flow.md +148 -0
  17. package/dist/.claude-template/skills/write-unit-test-code/SKILL.md +23 -6
  18. package/dist/core/code/engine/cli/analyze-config.js +320 -0
  19. package/dist/core/code/engine/cli/analyze.js +1086 -0
  20. package/dist/core/code/engine/cli/cli-message.js +83 -0
  21. package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
  22. package/dist/core/code/engine/cli/embedding-dims.js +43 -0
  23. package/dist/core/code/engine/cli/format-elapsed.js +12 -0
  24. package/dist/core/code/engine/cli/help-i18n.js +144 -0
  25. package/dist/core/code/engine/cli/i18n/en.js +110 -0
  26. package/dist/core/code/engine/cli/i18n/index.js +47 -0
  27. package/dist/core/code/engine/cli/i18n/resources.js +9 -0
  28. package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
  29. package/dist/core/code/engine/cli/lazy-action.js +67 -0
  30. package/dist/core/code/engine/cli/optional-grammars.js +136 -0
  31. package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
  32. package/dist/core/code/engine/cli/status.js +156 -0
  33. package/dist/core/code/engine/cli/tool.js +384 -0
  34. package/dist/core/code/engine/config/ignore-service.js +511 -0
  35. package/dist/core/code/engine/config/supported-languages.js +17 -0
  36. package/dist/core/code/engine/core/analysis-features.js +64 -0
  37. package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
  38. package/dist/core/code/engine/core/git-staleness.js +180 -0
  39. package/dist/core/code/engine/core/graph/graph.js +180 -0
  40. package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
  41. package/dist/core/code/engine/core/graph/types.js +2 -0
  42. package/dist/core/code/engine/core/index-freshness.js +12 -0
  43. package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
  44. package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
  45. package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
  46. package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
  47. package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
  48. package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
  49. package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
  50. package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
  51. package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
  52. package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
  53. package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
  54. package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
  55. package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
  56. package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
  57. package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
  58. package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
  59. package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
  60. package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
  61. package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
  62. package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
  63. package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
  64. package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
  65. package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
  66. package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
  67. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
  68. package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
  69. package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
  70. package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
  71. package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
  72. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
  73. package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
  74. package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
  75. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
  76. package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
  77. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
  78. package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
  79. package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
  80. package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
  81. package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
  82. package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
  83. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
  84. package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
  85. package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
  86. package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
  87. package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
  88. package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
  89. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
  90. package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
  91. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
  92. package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
  93. package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
  94. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
  95. package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
  96. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
  97. package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
  98. package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
  99. package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
  100. package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
  101. package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
  102. package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
  103. package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
  104. package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
  105. package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
  106. package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
  107. package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
  108. package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
  109. package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
  110. package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
  111. package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
  112. package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
  113. package/dist/core/code/engine/core/ingestion/constants.js +26 -0
  114. package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
  115. package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
  116. package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
  117. package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
  118. package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
  119. package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
  120. package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
  121. package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
  122. package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
  123. package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
  124. package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
  125. package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
  126. package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
  127. package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
  128. package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
  129. package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
  130. package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
  131. package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
  132. package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
  133. package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
  134. package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
  135. package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
  136. package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
  137. package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
  138. package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
  139. package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
  140. package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
  141. package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
  142. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
  143. package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
  144. package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
  145. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
  146. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
  147. package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
  148. package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
  149. package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
  150. package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
  151. package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
  152. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
  153. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
  154. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
  155. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
  156. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
  157. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
  158. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
  159. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
  160. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
  161. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
  162. package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
  163. package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
  164. package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
  165. package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
  166. package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
  167. package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
  168. package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
  169. package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
  170. package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
  171. package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
  172. package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
  173. package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
  174. package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
  175. package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
  176. package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
  177. package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
  178. package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
  179. package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
  180. package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
  181. package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
  182. package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
  183. package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
  184. package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
  185. package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
  186. package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
  187. package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
  188. package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
  189. package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
  190. package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
  191. package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
  192. package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
  193. package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
  194. package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
  195. package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
  196. package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
  197. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
  198. package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
  199. package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
  200. package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
  201. package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
  202. package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
  203. package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
  204. package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
  205. package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
  206. package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
  207. package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
  208. package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
  209. package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
  210. package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
  211. package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
  212. package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
  213. package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
  214. package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
  215. package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
  216. package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
  217. package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
  218. package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
  219. package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
  220. package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
  221. package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
  222. package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
  223. package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
  224. package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
  225. package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
  226. package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
  227. package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
  228. package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
  229. package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
  230. package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
  231. package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
  232. package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
  233. package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
  234. package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
  235. package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
  236. package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
  237. package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
  238. package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
  239. package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
  240. package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
  241. package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
  242. package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
  243. package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
  244. package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
  245. package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
  246. package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
  247. package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
  248. package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
  249. package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
  250. package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
  251. package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
  252. package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
  253. package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
  254. package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
  255. package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
  256. package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
  257. package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
  258. package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
  259. package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
  260. package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
  261. package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
  262. package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
  263. package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
  264. package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
  265. package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
  266. package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
  267. package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
  268. package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
  269. package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
  270. package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
  271. package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
  272. package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
  273. package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
  274. package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
  275. package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
  276. package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
  277. package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
  278. package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
  279. package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
  280. package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
  281. package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
  282. package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
  283. package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
  284. package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
  285. package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
  286. package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
  287. package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
  288. package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
  289. package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
  290. package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
  291. package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
  292. package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
  293. package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
  294. package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
  295. package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
  296. package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
  297. package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
  298. package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
  299. package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
  300. package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
  301. package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
  302. package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
  303. package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
  304. package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
  305. package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
  306. package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
  307. package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
  308. package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
  309. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
  310. package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
  311. package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
  312. package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
  313. package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
  314. package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
  315. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
  316. package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
  317. package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
  318. package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
  319. package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
  320. package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
  321. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
  322. package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
  323. package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
  324. package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
  325. package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
  326. package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
  327. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
  328. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
  329. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
  330. package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
  331. package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
  332. package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
  333. package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
  334. package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
  335. package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
  336. package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
  337. package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
  338. package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
  339. package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
  340. package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
  341. package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
  342. package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
  343. package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
  344. package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
  345. package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
  346. package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
  347. package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
  348. package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
  349. package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
  350. package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
  351. package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
  352. package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
  353. package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
  354. package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
  355. package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
  356. package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
  357. package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
  358. package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
  359. package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
  360. package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
  361. package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
  362. package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
  363. package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
  364. package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
  365. package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
  366. package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
  367. package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
  368. package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
  369. package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
  370. package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
  371. package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
  372. package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
  373. package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
  374. package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
  375. package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
  376. package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
  377. package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
  378. package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
  379. package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
  380. package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
  381. package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
  382. package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
  383. package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
  384. package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
  385. package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
  386. package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
  387. package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
  388. package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
  389. package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
  390. package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
  391. package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
  392. package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
  393. package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
  394. package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
  395. package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
  396. package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
  397. package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
  398. package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
  399. package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
  400. package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
  401. package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
  402. package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
  403. package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
  404. package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
  405. package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
  406. package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
  407. package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
  408. package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
  409. package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
  410. package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
  411. package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
  412. package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
  413. package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
  414. package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
  415. package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
  416. package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
  417. package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
  418. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
  419. package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
  420. package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
  421. package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
  422. package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
  423. package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
  424. package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
  425. package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
  426. package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
  427. package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
  428. package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
  429. package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
  430. package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
  431. package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
  432. package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
  433. package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
  434. package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
  435. package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
  436. package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
  437. package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
  438. package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
  439. package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
  440. package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
  441. package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
  442. package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
  443. package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
  444. package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
  445. package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
  446. package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
  447. package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
  448. package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
  449. package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
  450. package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
  451. package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
  452. package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
  453. package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
  454. package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
  455. package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
  456. package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
  457. package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
  458. package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
  459. package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
  460. package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
  461. package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
  462. package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
  463. package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
  464. package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
  465. package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
  466. package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
  467. package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
  468. package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
  469. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
  470. package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
  471. package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
  472. package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
  473. package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
  474. package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
  475. package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
  476. package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
  477. package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
  478. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
  479. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
  480. package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
  481. package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
  482. package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
  483. package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
  484. package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
  485. package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
  486. package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
  487. package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
  488. package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
  489. package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
  490. package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
  491. package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
  492. package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
  493. package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
  494. package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
  495. package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
  496. package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
  497. package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
  498. package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
  499. package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
  500. package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
  501. package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
  502. package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
  503. package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
  504. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
  505. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
  506. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
  507. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
  508. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
  509. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
  510. package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
  511. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
  512. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
  513. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
  514. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
  515. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
  516. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
  517. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
  518. package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
  519. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
  520. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
  521. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
  522. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
  523. package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
  524. package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
  525. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
  526. package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
  527. package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
  528. package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
  529. package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
  530. package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
  531. package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
  532. package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
  533. package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
  534. package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
  535. package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
  536. package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
  537. package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
  538. package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
  539. package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
  540. package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
  541. package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
  542. package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
  543. package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
  544. package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
  545. package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
  546. package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
  547. package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
  548. package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
  549. package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
  550. package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
  551. package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
  552. package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
  553. package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
  554. package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
  555. package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
  556. package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
  557. package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
  558. package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
  559. package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
  560. package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
  561. package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
  562. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
  563. package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
  564. package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
  565. package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
  566. package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
  567. package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
  568. package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
  569. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
  570. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
  571. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
  572. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
  573. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
  574. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
  575. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
  576. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
  577. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
  578. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
  579. package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
  580. package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
  581. package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
  582. package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
  583. package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
  584. package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
  585. package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
  586. package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
  587. package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
  588. package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
  589. package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
  590. package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
  591. package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
  592. package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
  593. package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
  594. package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
  595. package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
  596. package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
  597. package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
  598. package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
  599. package/dist/core/code/engine/core/lbug/native-check.js +435 -0
  600. package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
  601. package/dist/core/code/engine/core/lbug/query-params.js +25 -0
  602. package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
  603. package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
  604. package/dist/core/code/engine/core/lbug/schema.js +771 -0
  605. package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
  606. package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
  607. package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
  608. package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
  609. package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
  610. package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
  611. package/dist/core/code/engine/core/logger.js +339 -0
  612. package/dist/core/code/engine/core/platform/capabilities.js +91 -0
  613. package/dist/core/code/engine/core/run-analyze.js +1098 -0
  614. package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
  615. package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
  616. package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
  617. package/dist/core/code/engine/lib/utils.js +121 -0
  618. package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
  619. package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
  620. package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
  621. package/dist/core/code/engine/mcp/local/limits.js +15 -0
  622. package/dist/core/code/engine/mcp/local/line-display.js +6 -0
  623. package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
  624. package/dist/core/code/engine/storage/branch-index.js +72 -0
  625. package/dist/core/code/engine/storage/file-hash.js +95 -0
  626. package/dist/core/code/engine/storage/fs-atomic.js +34 -0
  627. package/dist/core/code/engine/storage/git.js +555 -0
  628. package/dist/core/code/engine/storage/index-lock.js +664 -0
  629. package/dist/core/code/engine/storage/parse-cache.js +650 -0
  630. package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
  631. package/dist/core/code/engine/storage/repo-manager.js +1061 -0
  632. package/dist/core/code/engine/storage/scope-index-store.js +247 -0
  633. package/dist/core/code/engine/types/pipeline.js +2 -0
  634. package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
  635. package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
  636. package/dist/core/code/shared/graph/types.js +8 -0
  637. package/dist/core/code/shared/index.js +105 -0
  638. package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
  639. package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
  640. package/dist/core/code/shared/integrations/retry.js +70 -0
  641. package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
  642. package/dist/core/code/shared/language-detection.js +162 -0
  643. package/dist/core/code/shared/languages.js +27 -0
  644. package/dist/core/code/shared/lbug/schema-constants.js +98 -0
  645. package/dist/core/code/shared/mro-strategy.js +2 -0
  646. package/dist/core/code/shared/pipeline.js +5 -0
  647. package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
  648. package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
  649. package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
  650. package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
  651. package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
  652. package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
  653. package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
  654. package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
  655. package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
  656. package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
  657. package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
  658. package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
  659. package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
  660. package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
  661. package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
  662. package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
  663. package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
  664. package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
  665. package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
  666. package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
  667. package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
  668. package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
  669. package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
  670. package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
  671. package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
  672. package/dist/core/code/shared/scope-resolution/types.js +25 -0
  673. package/dist/core/code/shared/test-helpers.js +17 -0
  674. package/dist/core/code/vendor/leiden/index.cjs +355 -0
  675. package/dist/core/code/vendor/leiden/utils.cjs +419 -0
  676. package/dist/core/features/scanner.d.ts +2 -0
  677. package/dist/core/features/scanner.d.ts.map +1 -1
  678. package/dist/core/features/scanner.js +27 -6
  679. package/dist/core/features/scanner.js.map +1 -1
  680. package/dist/core/timeline/cli.d.ts.map +1 -1
  681. package/dist/core/timeline/cli.js +13 -6
  682. package/dist/core/timeline/cli.js.map +1 -1
  683. package/dist/core/timeline/debris.d.ts +20 -0
  684. package/dist/core/timeline/debris.d.ts.map +1 -0
  685. package/dist/core/timeline/debris.js +124 -0
  686. package/dist/core/timeline/debris.js.map +1 -0
  687. package/dist/core/timeline/hook-runner.d.ts.map +1 -1
  688. package/dist/core/timeline/hook-runner.js +3 -1
  689. package/dist/core/timeline/hook-runner.js.map +1 -1
  690. package/dist/core/timeline/hooks.d.ts.map +1 -1
  691. package/dist/core/timeline/hooks.js +13 -5
  692. package/dist/core/timeline/hooks.js.map +1 -1
  693. package/dist/core/timeline/installer.d.ts +2 -0
  694. package/dist/core/timeline/installer.d.ts.map +1 -1
  695. package/dist/core/timeline/installer.js +12 -0
  696. package/dist/core/timeline/installer.js.map +1 -1
  697. package/dist/core/timeline/project-root.d.ts +21 -0
  698. package/dist/core/timeline/project-root.d.ts.map +1 -0
  699. package/dist/core/timeline/project-root.js +83 -0
  700. package/dist/core/timeline/project-root.js.map +1 -0
  701. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cliInfo = cliInfo;
4
+ exports.cliInfoKey = cliInfoKey;
5
+ exports.cliWarn = cliWarn;
6
+ exports.cliWarnKey = cliWarnKey;
7
+ exports.cliError = cliError;
8
+ exports.cliErrorKey = cliErrorKey;
9
+ /**
10
+ * CLI message helpers — for user-facing banners, error guidance, and
11
+ * recovery hints emitted by `gitnexus` subcommands.
12
+ *
13
+ * These functions write **plain text** directly to `process.stderr` AND
14
+ * tee a structured pino record through the singleton `logger`. Plain text
15
+ * preserves the human-readable contract for users running `gitnexus`
16
+ * interactively, redirecting to a file, or piping to `cat`/`grep`. The
17
+ * structured tee keeps log aggregators happy.
18
+ *
19
+ * **Use these for:**
20
+ * - User-facing banners ("Server listening on http://...:N")
21
+ * - Validation errors ("--worker-timeout must be at least 1 second")
22
+ * - Recovery hints ("Suggestions: 1. Clear the npm cache, 2. ...")
23
+ * - One-line user notices ("No indexed repositories found.")
24
+ *
25
+ * **Do NOT use these for:**
26
+ * - Internal diagnostics (worker progress, retry counts, telemetry)
27
+ * — use `logger.info`/`warn`/`error` directly. Internal logs only
28
+ * need structured fields, not double-output to stderr.
29
+ * - High-volume hot paths — every `cliMessage` call writes twice (raw
30
+ * + structured). Acceptable for user-facing messages, wasteful for
31
+ * ingestion pipeline events.
32
+ *
33
+ * Design note: stderr is the right channel even for non-error messages
34
+ * because GitNexus CLI tools (`context`, `cypher`, `impact`) emit JSON
35
+ * data on stdout for piping (`cgraph cypher | jq`). User banners on
36
+ * stdout would corrupt that pipeline.
37
+ */
38
+ const logger_js_1 = require("../core/logger.js");
39
+ const index_js_1 = require("./i18n/index.js");
40
+ function writeStderr(msg) {
41
+ // Direct write — bypassing `console.*` so it cannot be intercepted by
42
+ // progress-bar redirection (see `cli/analyze.ts:barLog`) or other
43
+ // routing. The structured tee below still goes through the logger so
44
+ // log aggregation works either way.
45
+ process.stderr.write(msg.endsWith('\n') ? msg : msg + '\n');
46
+ }
47
+ /**
48
+ * User-facing informational message. Use for banners, listening URLs,
49
+ * and any message the user expects to read in plain text.
50
+ */
51
+ function cliInfo(msg, fields) {
52
+ writeStderr(msg);
53
+ logger_js_1.logger.info(fields ?? {}, msg);
54
+ }
55
+ /**
56
+ * Key-based informational message. Keeps the legacy string API intact while
57
+ * allowing commands to opt into localized user-facing stderr output.
58
+ */
59
+ function cliInfoKey(key, vars, fields) {
60
+ cliInfo((0, index_js_1.t)(key, vars), fields);
61
+ }
62
+ /**
63
+ * User-facing warning. Operator-actionable but non-fatal — `cliWarn`
64
+ * indicates the command can still proceed in some form.
65
+ */
66
+ function cliWarn(msg, fields) {
67
+ writeStderr(msg);
68
+ logger_js_1.logger.warn(fields ?? {}, msg);
69
+ }
70
+ function cliWarnKey(key, vars, fields) {
71
+ cliWarn((0, index_js_1.t)(key, vars), fields);
72
+ }
73
+ /**
74
+ * User-facing error. Indicates the command cannot proceed; usually
75
+ * paired with a non-zero exit code at the call site.
76
+ */
77
+ function cliError(msg, fields) {
78
+ writeStderr(msg);
79
+ logger_js_1.logger.error(fields ?? {}, msg);
80
+ }
81
+ function cliErrorKey(key, vars, fields) {
82
+ cliError((0, index_js_1.t)(key, vars), fields);
83
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatDetectChangesResult = formatDetectChangesResult;
4
+ const index_js_1 = require("./i18n/index.js");
5
+ function formatDetectChangesResult(result) {
6
+ const payload = (result ?? {});
7
+ if (payload.error)
8
+ return (0, index_js_1.t)('common.error', { message: String(payload.error) });
9
+ const summary = payload.summary ?? {};
10
+ if ((summary.changed_count ?? 0) === 0) {
11
+ return (0, index_js_1.t)('tool.detectChanges.noChanges');
12
+ }
13
+ const lines = [];
14
+ lines.push((0, index_js_1.t)('tool.detectChanges.changesSummary', {
15
+ files: summary.changed_files ?? 0,
16
+ symbols: summary.changed_count ?? 0,
17
+ }));
18
+ lines.push((0, index_js_1.t)('tool.detectChanges.affectedProcesses', { count: summary.affected_count ?? 0 }));
19
+ lines.push((0, index_js_1.t)('tool.detectChanges.riskLevel', {
20
+ risk: summary.risk_level || (0, index_js_1.t)('tool.detectChanges.unknownRisk'),
21
+ }));
22
+ lines.push('');
23
+ const changed = Array.isArray(payload.changed_symbols) ? payload.changed_symbols : [];
24
+ if (changed.length > 0) {
25
+ lines.push((0, index_js_1.t)('tool.detectChanges.changedSymbols'));
26
+ const shown = changed.slice(0, 15);
27
+ for (const symbol of shown) {
28
+ lines.push(` ${symbol.type ?? 'Symbol'} ${symbol.name ?? '?'} → ${symbol.filePath ?? '?'}`);
29
+ }
30
+ // Overflow is measured against the TRUE total (summary.changed_count), not
31
+ // the array length — the array may already be `--limit`-sliced, so using its
32
+ // length would under-report (or hide) how many symbols are not shown.
33
+ const totalChanged = summary.changed_count ?? changed.length;
34
+ if (totalChanged > shown.length) {
35
+ lines.push((0, index_js_1.t)('tool.detectChanges.overflowMore', { count: totalChanged - shown.length }));
36
+ }
37
+ lines.push('');
38
+ }
39
+ const affected = Array.isArray(payload.affected_processes) ? payload.affected_processes : [];
40
+ if (affected.length > 0) {
41
+ lines.push((0, index_js_1.t)('tool.detectChanges.affectedExecutionFlows'));
42
+ const shownAffected = affected.slice(0, 10);
43
+ for (const processInfo of shownAffected) {
44
+ const changedSteps = Array.isArray(processInfo.changed_steps)
45
+ ? processInfo.changed_steps
46
+ : [];
47
+ const steps = changedSteps.map((step) => step.symbol ?? '?').join(', ');
48
+ lines.push(` • ${processInfo.name ?? '?'} (${(0, index_js_1.t)('tool.detectChanges.steps', {
49
+ count: processInfo.step_count ?? 0,
50
+ })}) — ${(0, index_js_1.t)('tool.detectChanges.changedSteps', { steps })}`);
51
+ }
52
+ const totalAffected = summary.affected_count ?? affected.length;
53
+ if (totalAffected > shownAffected.length) {
54
+ lines.push((0, index_js_1.t)('tool.detectChanges.overflowMore', { count: totalAffected - shownAffected.length }));
55
+ }
56
+ }
57
+ return lines.join('\n').trim();
58
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ /**
3
+ * Strict positive-integer normalization for the `--embedding-dims` flag /
4
+ * `CGRAPH_EMBEDDING_DIMS` value.
5
+ *
6
+ * Single source of truth shared by two write paths:
7
+ * 1. the `analyze` `preAction` hook (CLI path) — it must set the env var
8
+ * BEFORE `schema.ts` reads `CGRAPH_EMBEDDING_DIMS` at module-load time
9
+ * (the static import chain `analyze.ts → run-analyze.ts → schema.ts`
10
+ * bakes `FLOAT[dims]` into the vector-table DDL), and
11
+ * 2. `analyzeCommandImpl` (direct / programmatic-call path, which bypasses
12
+ * the commander hook).
13
+ *
14
+ * Keep this module dependency-free. `index.ts` imports it eagerly, so pulling
15
+ * in anything that transitively loads `schema.ts` (e.g. `analyze.ts`) — or
16
+ * even `cli-message.ts`, which drags in the logger + i18n — would defeat the
17
+ * lazy `import('./analyze.js')` the hook exists to enable. Callers print the
18
+ * error themselves (the hook to stderr, the impl via `cliError`).
19
+ *
20
+ * Trim-then-validate, matching the sibling URL/MODEL/TOKEN flags: surrounding
21
+ * whitespace is tolerated, but the remaining value must be all digits and
22
+ * `> 0`. This rejects scientific notation (`1e3`), hex (`0x10`), fractions
23
+ * (`3.5`), signs (`+5`/`-5`), and trailing junk (`4096x`) so the three
24
+ * downstream readers — `schema.ts` (`parseInt`), `http-client.ts` (`/^\d+$/`),
25
+ * and this helper — all agree on one canonical value. Without it, `1e3` parsed
26
+ * to `FLOAT[1]` at module-load but requested 1000-dim vectors at runtime.
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.normalizeEmbeddingDims = exports.EMBEDDING_DIMS_ERROR = void 0;
30
+ /** Shared error message so both call sites surface identical wording. */
31
+ exports.EMBEDDING_DIMS_ERROR = '--embedding-dims must be a positive integer.';
32
+ /**
33
+ * Returns the canonical positive-integer string (e.g. `"007"` → `"7"`), or
34
+ * `null` when the input is not a strict positive integer.
35
+ */
36
+ const normalizeEmbeddingDims = (raw) => {
37
+ const trimmed = raw.trim();
38
+ if (!/^\d+$/.test(trimmed) || parseInt(trimmed, 10) <= 0) {
39
+ return null;
40
+ }
41
+ return String(parseInt(trimmed, 10));
42
+ };
43
+ exports.normalizeEmbeddingDims = normalizeEmbeddingDims;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatElapsed = formatElapsed;
4
+ function formatElapsed(secs) {
5
+ if (secs < 60)
6
+ return `${secs}s`;
7
+ if (secs < 3600)
8
+ return `${Math.floor(secs / 60)}m ${secs % 60}s`;
9
+ const h = Math.floor(secs / 3600);
10
+ const m = Math.floor((secs % 3600) / 60);
11
+ return `${h}h ${m}m`;
12
+ }
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.localizeCliHelp = localizeCliHelp;
4
+ const index_js_1 = require("./i18n/index.js");
5
+ const TITLE_KEYS = {
6
+ 'Usage:': 'help.title.usage',
7
+ 'Arguments:': 'help.title.arguments',
8
+ 'Options:': 'help.title.options',
9
+ 'Global Options:': 'help.title.globalOptions',
10
+ 'Commands:': 'help.title.commands',
11
+ };
12
+ const COMMAND_DESCRIPTION_KEYS = {
13
+ '': 'help.description.root',
14
+ analyze: 'help.command.analyze.description',
15
+ status: 'help.command.status.description',
16
+ context: 'help.command.context.description',
17
+ impact: 'help.command.impact.description',
18
+ cypher: 'help.command.cypher.description',
19
+ 'detect-changes': 'help.command.detectChanges.description',
20
+ trace: 'help.command.trace.description',
21
+ 'route-map': 'help.command.routeMap.description',
22
+ 'api-impact': 'help.command.apiImpact.description',
23
+ 'shape-check': 'help.command.shapeCheck.description',
24
+ 'tool-map': 'help.command.toolMap.description',
25
+ };
26
+ const OPTION_DESCRIPTION_KEYS = {
27
+ '|-V, --version': 'help.option.version',
28
+ 'analyze|-f, --force': 'help.option.analyze.force',
29
+ 'analyze|--embeddings [limit]': 'help.option.analyze.embeddings',
30
+ 'analyze|--drop-embeddings': 'help.option.analyze.dropEmbeddings',
31
+ 'analyze|--name <alias>': 'help.option.analyze.name',
32
+ 'analyze|--allow-duplicate-name': 'help.option.analyze.allowDuplicateName',
33
+ 'analyze|-v, --verbose': 'help.option.verbose',
34
+ 'analyze|--max-file-size <kb>': 'help.option.analyze.maxFileSize',
35
+ 'analyze|--worker-timeout <seconds>': 'help.option.analyze.workerTimeout',
36
+ 'analyze|--wal-checkpoint-threshold <bytes>': 'help.option.analyze.walCheckpointThreshold',
37
+ 'analyze|--workers <n>': 'help.option.analyze.workers',
38
+ 'analyze|--embedding-threads <n>': 'help.option.analyze.embeddingThreads',
39
+ 'analyze|--embedding-batch-size <n>': 'help.option.analyze.embeddingBatchSize',
40
+ 'analyze|--embedding-sub-batch-size <n>': 'help.option.analyze.embeddingSubBatchSize',
41
+ 'analyze|--embedding-device <device>': 'help.option.analyze.embeddingDevice',
42
+ 'status|--json': 'help.option.status.json',
43
+ 'context|-r, --repo <name>': 'help.option.repo.target',
44
+ 'context|--branch <name>': 'help.option.branch',
45
+ 'context|-u, --uid <uid>': 'help.option.context.uid',
46
+ 'context|-f, --file <path>': 'help.option.context.file',
47
+ 'context|-l, --limit <n>': 'help.option.context.limit',
48
+ 'context|--content': 'help.option.content',
49
+ 'impact|-d, --direction <dir>': 'help.option.impact.direction',
50
+ 'impact|-r, --repo <name>': 'help.option.repo.target',
51
+ 'impact|--branch <name>': 'help.option.branch',
52
+ 'impact|-u, --uid <uid>': 'help.option.context.uid',
53
+ 'impact|-f, --file <path>': 'help.option.context.file',
54
+ 'impact|--kind <kind>': 'help.option.impact.kind',
55
+ 'impact|--depth <n>': 'help.option.impact.depth',
56
+ 'impact|--include-tests': 'help.option.impact.includeTests',
57
+ 'impact|-l, --limit <n>': 'help.option.impact.limit',
58
+ 'impact|--offset <n>': 'help.option.impact.offset',
59
+ 'impact|--summary-only': 'help.option.impact.summaryOnly',
60
+ 'cypher|-r, --repo <name>': 'help.option.repo.target',
61
+ 'cypher|--branch <name>': 'help.option.branch',
62
+ 'cypher|-l, --limit <n>': 'help.option.cypher.limit',
63
+ 'detect-changes|-s, --scope <scope>': 'help.option.detectChanges.scope',
64
+ 'detect-changes|-b, --base-ref <ref>': 'help.option.detectChanges.baseRef',
65
+ 'detect-changes|-l, --limit <n>': 'help.option.detectChanges.limit',
66
+ 'detect-changes|-r, --repo <name>': 'help.option.repo.target',
67
+ 'detect-changes|--branch <name>': 'help.option.branch',
68
+ 'trace|--from-uid <uid>': 'help.option.trace.fromUid',
69
+ 'trace|-f, --file <path>': 'help.option.trace.file',
70
+ 'trace|--from-file <path>': 'help.option.trace.fromFile',
71
+ 'trace|--to-uid <uid>': 'help.option.trace.toUid',
72
+ 'trace|--to-file <path>': 'help.option.trace.toFile',
73
+ 'trace|--depth <n>': 'help.option.trace.depth',
74
+ 'trace|--include-tests': 'help.option.trace.includeTests',
75
+ 'trace|-r, --repo <name>': 'help.option.repo.target',
76
+ 'trace|--branch <name>': 'help.option.branch',
77
+ 'api-impact|-f, --file <path>': 'help.option.apiImpact.file',
78
+ 'api-impact|--method <verb>': 'help.option.apiImpact.method',
79
+ };
80
+ function localizeTitle(title) {
81
+ const key = TITLE_KEYS[title];
82
+ return key ? (0, index_js_1.t)(key) : title;
83
+ }
84
+ function localizeOptionDescription(option) {
85
+ const extraInfo = [];
86
+ if (option.argChoices) {
87
+ const label = (0, index_js_1.t)('help.optionMeta.choices');
88
+ extraInfo.push(`${label}: ${option.argChoices.map((choice) => JSON.stringify(choice)).join(', ')}`);
89
+ }
90
+ if (option.defaultValue !== undefined) {
91
+ const showDefault = option.required ||
92
+ option.optional ||
93
+ (option.isBoolean() && typeof option.defaultValue === 'boolean');
94
+ if (showDefault) {
95
+ const label = (0, index_js_1.t)('help.optionMeta.default');
96
+ extraInfo.push(`${label}: ${option.defaultValueDescription || JSON.stringify(option.defaultValue)}`);
97
+ }
98
+ }
99
+ if (option.presetArg !== undefined && option.optional) {
100
+ const label = (0, index_js_1.t)('help.optionMeta.preset');
101
+ extraInfo.push(`${label}: ${JSON.stringify(option.presetArg)}`);
102
+ }
103
+ if (option.envVar !== undefined) {
104
+ const label = (0, index_js_1.t)('help.optionMeta.env');
105
+ extraInfo.push(`${label}: ${option.envVar}`);
106
+ }
107
+ if (extraInfo.length > 0) {
108
+ const extraDescription = `(${extraInfo.join(', ')})`;
109
+ if (option.description)
110
+ return `${option.description} ${extraDescription}`;
111
+ return extraDescription;
112
+ }
113
+ return option.description;
114
+ }
115
+ function pathFor(commandPath, command) {
116
+ if (!command.parent)
117
+ return '';
118
+ return commandPath ? `${commandPath} ${command.name()}` : command.name();
119
+ }
120
+ function applyHelpI18n(command, commandPath = '') {
121
+ const descriptionKey = COMMAND_DESCRIPTION_KEYS[commandPath];
122
+ if (descriptionKey)
123
+ command.description((0, index_js_1.t)(descriptionKey));
124
+ command.helpOption('-h, --help', (0, index_js_1.t)('help.option.help'));
125
+ command.configureHelp({
126
+ styleTitle: localizeTitle,
127
+ optionDescription: localizeOptionDescription,
128
+ });
129
+ if (command.commands.length > 0) {
130
+ command.helpCommand('help [command]', (0, index_js_1.t)('help.command.help.description'));
131
+ }
132
+ for (const option of command.options) {
133
+ const optionKey = OPTION_DESCRIPTION_KEYS[`${commandPath}|${option.flags}`];
134
+ if (optionKey)
135
+ option.description = (0, index_js_1.t)(optionKey);
136
+ }
137
+ for (const subcommand of command.commands) {
138
+ applyHelpI18n(subcommand, pathFor(commandPath, subcommand));
139
+ }
140
+ }
141
+ function localizeCliHelp(program) {
142
+ applyHelpI18n(program);
143
+ return program;
144
+ }
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.en = void 0;
4
+ exports.en = {
5
+ 'common.runAnalyzeShort': 'Run: cgraph analyze',
6
+ 'common.error': 'Error: {{message}}',
7
+ 'status.notGitRepo': 'Not a git repository.',
8
+ 'status.staleKuzu': 'Repository has a stale KuzuDB index from a previous version.',
9
+ 'status.rebuildLadybug': 'Run: cgraph analyze (rebuilds the index with LadybugDB)',
10
+ 'status.repoNotIndexed': 'Repository not indexed.',
11
+ 'status.repository': 'Repository',
12
+ 'status.indexed': 'Indexed',
13
+ 'status.indexedCommit': 'Indexed commit',
14
+ 'status.currentCommit': 'Current commit',
15
+ 'status.indexRunnerIdentity': 'Indexed analyzer runner identity',
16
+ 'status.currentRunnerIdentity': 'Current analyzer runner identity',
17
+ 'status.branch': 'Branch',
18
+ 'status.detached': '(detached HEAD)',
19
+ 'status.plainFolderMode': 'Mode: plain-folder (no .git — commit tracking unavailable)',
20
+ 'status.workspaceIndexLabel': "Workspace index: last analyzed on '{{primary}}' (re-run cgraph analyze to follow the current branch)",
21
+ 'status.status': 'Status',
22
+ 'status.upToDate': '✅ up-to-date',
23
+ 'status.stale': '⚠️ stale (re-run cgraph analyze)',
24
+ 'tool.noIndexed': '[cgraph] No index found in {{searchedPath}}. Run: cgraph analyze to build it',
25
+ 'tool.usage.context': 'Usage: cgraph context <symbol_name> [--uid <uid>] [--file <path>]',
26
+ 'tool.usage.impact': 'Usage: cgraph impact <symbol_name> [--uid <uid>] [--file <path>] [--kind <kind>] [--direction upstream|downstream]',
27
+ 'tool.usage.trace': 'Usage: cgraph trace <from> <to> [-f|--file <path>] [--from-file <path>] [--to-file <path>] [--from-uid <uid>] [--to-uid <uid>] [--depth <n>]',
28
+ 'tool.usage.cypher': 'Usage: cgraph cypher <cypher_query>',
29
+ 'tool.usage.apiImpact': 'Usage: cgraph api-impact <route> [--file <path>] [--method <verb>]',
30
+ 'tool.warn.unknownKind': "--kind '{{kind}}' is not a known symbol kind (e.g. Function, Class, Method); it will not narrow the result.",
31
+ 'tool.detectChanges.noChanges': 'No changes detected.',
32
+ 'tool.detectChanges.changesSummary': 'Changes: {{files}} files, {{symbols}} symbols',
33
+ 'tool.detectChanges.affectedProcesses': 'Affected processes: {{count}}',
34
+ 'tool.detectChanges.riskLevel': 'Risk level: {{risk}}',
35
+ 'tool.detectChanges.unknownRisk': 'unknown',
36
+ 'tool.detectChanges.changedSymbols': 'Changed symbols:',
37
+ 'tool.detectChanges.overflowMore': '... and {{count}} more',
38
+ 'tool.detectChanges.affectedExecutionFlows': 'Affected execution flows:',
39
+ 'tool.detectChanges.steps': '{{count}} steps',
40
+ 'tool.detectChanges.steps_one': '{{count}} step',
41
+ 'tool.detectChanges.steps_other': '{{count}} steps',
42
+ 'tool.detectChanges.changedSteps': 'changed: {{steps}}',
43
+ 'help.title.usage': 'Usage:',
44
+ 'help.title.arguments': 'Arguments:',
45
+ 'help.title.options': 'Options:',
46
+ 'help.title.globalOptions': 'Global Options:',
47
+ 'help.title.commands': 'Commands:',
48
+ 'help.optionMeta.choices': 'choices',
49
+ 'help.optionMeta.default': 'default',
50
+ 'help.optionMeta.preset': 'preset',
51
+ 'help.optionMeta.env': 'env',
52
+ 'help.description.root': 'cgraph local CLI',
53
+ 'help.command.help.description': 'display help for command',
54
+ 'help.option.help': 'display help for command',
55
+ 'help.option.version': 'output the version number',
56
+ 'help.command.analyze.description': 'Index a repository (full analysis)',
57
+ 'help.command.status.description': 'Show index status for current repo',
58
+ 'help.command.context.description': '360-degree view of a code symbol: callers, callees, processes',
59
+ 'help.command.impact.description': 'Blast radius analysis: what breaks if you change a symbol',
60
+ 'help.command.trace.description': 'Find the shortest directed path between two symbols (call + class-member edges)',
61
+ 'help.command.cypher.description': 'Execute raw Cypher query against the knowledge graph',
62
+ 'help.command.detectChanges.description': 'Map git diff hunks to indexed symbols and affected execution flows',
63
+ 'help.command.routeMap.description': 'Map API routes to handlers and consumers (front-end HTTP consumers require workspace config)',
64
+ 'help.command.apiImpact.description': 'Pre-change impact report for an API route handler',
65
+ 'help.command.shapeCheck.description': 'Detect response-shape vs consumer access mismatches (front-end HTTP consumers require workspace config)',
66
+ 'help.command.toolMap.description': 'Map MCP/RPC tool definitions to handlers',
67
+ 'help.option.analyze.force': 'Force full re-index even if up to date',
68
+ 'help.option.analyze.embeddings': 'Enable embedding generation for semantic search (off by default). Optional [limit] overrides the 50,000-node safety cap; pass 0 to disable the cap entirely.',
69
+ 'help.option.analyze.dropEmbeddings': 'Drop existing embeddings on rebuild. By default, an `analyze` without `--embeddings` preserves any embeddings already present in the index.',
70
+ 'help.option.analyze.name': 'Register this repo under a custom name (disambiguates repos whose paths share a basename, e.g. two different .../app folders)',
71
+ 'help.option.analyze.allowDuplicateName': 'Register this repo even if another path already uses the same --name alias. Leaves `-r <name>` ambiguous for the two paths; use -r <path> to disambiguate.',
72
+ 'help.option.verbose': 'Enable verbose output',
73
+ 'help.option.analyze.maxFileSize': 'Skip files larger than this (KB). Default: 512. Hard cap: 32768 (tree-sitter limit).',
74
+ 'help.option.analyze.workerTimeout': 'Worker sub-batch idle timeout before retry/fallback. Default: 30.',
75
+ 'help.option.analyze.walCheckpointThreshold': 'LadybugDB WAL auto-checkpoint threshold in bytes during analyze (integer >= -1; default: 67108864 = 64 MiB; -1 keeps Ladybug stock ~16 MiB).',
76
+ 'help.option.analyze.workers': 'Parse worker pool size (>=1). Default: cores-1 capped at 16, auto-sized to the repo.',
77
+ 'help.option.analyze.embeddingThreads': 'Limit local ONNX embedding CPU threads',
78
+ 'help.option.analyze.embeddingBatchSize': 'Number of nodes per embedding batch',
79
+ 'help.option.analyze.embeddingSubBatchSize': 'Number of chunks per embedding model call',
80
+ 'help.option.analyze.embeddingDevice': 'Embedding device: auto, cpu, dml, cuda, or wasm',
81
+ 'help.option.status.json': 'Emit machine-readable index and analyzer provenance',
82
+ 'help.option.repo.target': 'Target repository',
83
+ 'help.option.branch': 'Scope to a specific branch index (multi-branch repos)',
84
+ 'help.option.content': 'Include full symbol source code',
85
+ 'help.option.context.uid': 'Direct symbol UID (zero-ambiguity lookup)',
86
+ 'help.option.context.file': 'File path to disambiguate common names',
87
+ 'help.option.context.limit': 'Max callers/callees/processes to return',
88
+ 'help.option.impact.kind': 'Kind filter to disambiguate common names (e.g. Function, Class, Method)',
89
+ 'help.option.impact.direction': 'upstream (dependants) or downstream (dependencies)',
90
+ 'help.option.impact.depth': 'Max relationship depth (default: 3)',
91
+ 'help.option.impact.includeTests': 'Include test files in results',
92
+ 'help.option.impact.limit': 'Max symbols per depth level and affected processes/modules to return (default: 100)',
93
+ 'help.option.impact.offset': 'Skip N symbols per depth level for pagination',
94
+ 'help.option.impact.summaryOnly': 'Return counts and risk only, omit symbol list',
95
+ 'help.option.trace.fromUid': 'Source symbol UID (zero-ambiguity lookup)',
96
+ 'help.option.trace.file': 'Source file path hint (alias for --from-file)',
97
+ 'help.option.trace.fromFile': 'Source file path to disambiguate common names',
98
+ 'help.option.trace.toUid': 'Target symbol UID (zero-ambiguity lookup)',
99
+ 'help.option.trace.toFile': 'Target file path to disambiguate common names',
100
+ 'help.option.trace.depth': 'Max path length in hops (default: 10)',
101
+ 'help.option.trace.includeTests': 'Traverse through test-file symbols (default: false)',
102
+ 'help.option.apiImpact.file': 'Handler file path (alternative to a route name in <target>)',
103
+ 'help.option.apiImpact.method': 'HTTP verb to narrow multi-verb routes (e.g. GET, POST)',
104
+ 'help.option.detectChanges.scope': 'What to analyze: unstaged, staged, all, or compare',
105
+ 'help.option.detectChanges.baseRef': 'Branch/commit for compare scope (e.g. main)',
106
+ 'help.option.detectChanges.limit': 'Max changed symbols to return',
107
+ 'help.option.cypher.limit': 'Max result rows to return',
108
+ 'help.identityCache.environment': '\nAnalyzer identity cache:\n CGRAPH_ANALYZER_IDENTITY_CACHE_DIR=/absolute/protected/dir\n Operator-trusted persistent cache for warm cross-process status. The directory must pre-exist, be outside the GitNexus package/build roots, and contain no symlink or junction components. Defaults remain fail-closed on platforms without POSIX ownership APIs.',
109
+ 'help.analyze.environment': '\nEnvironment variables:\n CGRAPH_NO_GITIGNORE=1 Skip .gitignore parsing (still reads .cgraphignore)\n CGRAPH_MAX_FILE_SIZE=N Override large-file skip threshold (KB). Default 512, max 32768.\n CGRAPH_ANALYZER_IDENTITY_CACHE_DIR=/absolute/protected/dir Operator-trusted persistent analyzer identity cache; must pre-exist, be outside package/build roots, and contain no symlink/junction components.\n CGRAPH_WORKER_SUB_BATCH_TIMEOUT_MS=N Worker idle timeout in milliseconds. Default 30000.\n CGRAPH_WAL_CHECKPOINT_THRESHOLD=N LadybugDB WAL auto-checkpoint threshold in bytes (default 67108864 = 64 MiB; -1 keeps Ladybug stock ~16 MiB).\n CGRAPH_WORKER_SUB_BATCH_MAX_BYTES=N Worker job byte budget. Default 8388608.\n CGRAPH_WORKER_POOL_SIZE=N Parse worker count override. Default cores-1 capped at 16.\n CGRAPH_PARSE_CHUNK_CONCURRENCY=N Concurrent in-flight parse chunks. Default 2.\n CGRAPH_WORKER_MAX_RESPAWNS_PER_SLOT=N Max replacement spawns per slot before drop. Default 3.\n CGRAPH_WORKER_MAX_CUMULATIVE_TIMEOUT_MS=N Total retry wall-time per job. Default 5x sub-batch timeout.\n CGRAPH_WORKER_CONSECUTIVE_FAILURE_THRESHOLD=N Per-slot deaths to trip circuit breaker. Default max(3, poolSize).\n CGRAPH_WORKER_SHUTDOWN_DRAIN_MS=N Max wait at pool shutdown for a retired worker still inside native code (terminated at its next safe point instead of aborting the process). Default 30000.\n CGRAPH_CPP_CAPTURE_BUDGET_MS=N Per-file wall-clock budget for C++ capture extraction; on breach the file keeps partial captures with a warning. Default 20000.\n\nFlags override the corresponding env vars when both are provided.\n\nTip: `.cgraphignore` supports `.gitignore`-style negation. Add e.g.\n `!__tests__/` to index a directory that is auto-filtered by default (#771).',
110
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.detectCliLanguage = detectCliLanguage;
4
+ exports.setCliLanguage = setCliLanguage;
5
+ exports.getCliLanguage = getCliLanguage;
6
+ exports.t = t;
7
+ const resources_js_1 = require("./resources.js");
8
+ let overrideLanguage = null;
9
+ function normalizeCliLanguage(raw) {
10
+ const normalized = raw.trim().split('.')[0]?.replace(/_/g, '-').toLowerCase() ?? '';
11
+ if (!normalized)
12
+ return 'en';
13
+ // GitNexus currently ships Simplified Chinese only. Do not map Traditional
14
+ // Chinese locales (zh-TW/zh-HK/zh-Hant) to zh-CN just because they start
15
+ // with "zh".
16
+ if (normalized === 'zh' ||
17
+ normalized === 'zh-cn' ||
18
+ normalized.startsWith('zh-cn-') ||
19
+ normalized === 'zh-hans' ||
20
+ normalized.startsWith('zh-hans-')) {
21
+ return 'zh-CN';
22
+ }
23
+ return 'en';
24
+ }
25
+ function detectCliLanguage(env = process.env) {
26
+ const raw = env.CGRAPH_LANG || env.LC_ALL || env.LC_MESSAGES || env.LANG || '';
27
+ return normalizeCliLanguage(raw);
28
+ }
29
+ function setCliLanguage(language) {
30
+ overrideLanguage = language;
31
+ }
32
+ function getCliLanguage() {
33
+ return overrideLanguage ?? detectCliLanguage();
34
+ }
35
+ function t(key, vars = {}) {
36
+ const language = getCliLanguage();
37
+ const count = typeof vars.count === 'number' && Number.isFinite(vars.count) ? vars.count : null;
38
+ const pluralKey = count === null ? null : `${String(key)}_${count === 1 ? 'one' : 'other'}`;
39
+ const template = (pluralKey ? (resources_js_1.cliResources[language][pluralKey] ?? resources_js_1.cliResources.en[pluralKey]) : undefined) ??
40
+ resources_js_1.cliResources[language][key] ??
41
+ resources_js_1.cliResources.en[key] ??
42
+ key;
43
+ return template.replace(/\{\{\s*([\w.-]+)\s*\}\}/g, (_match, name) => {
44
+ const value = vars[name];
45
+ return value === undefined || value === null ? '' : String(value);
46
+ });
47
+ }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cliResources = void 0;
4
+ const en_js_1 = require("./en.js");
5
+ const zh_CN_js_1 = require("./zh-CN.js");
6
+ exports.cliResources = {
7
+ en: en_js_1.en,
8
+ 'zh-CN': zh_CN_js_1.zhCN,
9
+ };
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zhCN = void 0;
4
+ exports.zhCN = {
5
+ 'common.runAnalyzeShort': '运行:cgraph analyze',
6
+ 'common.error': '错误:{{message}}',
7
+ 'status.notGitRepo': '当前目录不是 git 仓库。',
8
+ 'status.staleKuzu': '仓库包含旧版本遗留的 KuzuDB 索引。',
9
+ 'status.rebuildLadybug': '运行:cgraph analyze (使用 LadybugDB 重建索引)',
10
+ 'status.repoNotIndexed': '仓库尚未索引。',
11
+ 'status.repository': '仓库',
12
+ 'status.indexed': '索引时间',
13
+ 'status.indexedCommit': '索引提交',
14
+ 'status.currentCommit': '当前提交',
15
+ 'status.indexRunnerIdentity': '索引记录的分析器运行身份',
16
+ 'status.currentRunnerIdentity': '当前分析器运行身份',
17
+ 'status.branch': '分支',
18
+ 'status.detached': '(分离 HEAD)',
19
+ 'status.plainFolderMode': '模式:纯目录(无 .git——commit 跟踪不可用)',
20
+ 'status.workspaceIndexLabel': "工作区索引:最近在 '{{primary}}' 分支上分析(重新运行 cgraph analyze 以跟随当前分支)",
21
+ 'status.status': '状态',
22
+ 'status.upToDate': '✅ 已是最新',
23
+ 'status.stale': '⚠️ 已过期(重新运行 cgraph analyze)',
24
+ 'tool.noIndexed': '[cgraph] 在 {{searchedPath}} 未找到索引。请运行:cgraph analyze 构建索引',
25
+ 'tool.usage.context': '用法:cgraph context <符号名> [--uid <uid>] [--file <路径>]',
26
+ 'tool.usage.impact': '用法:cgraph impact <符号名> [--uid <uid>] [--file <路径>] [--kind <类型>] [--direction upstream|downstream]',
27
+ 'tool.usage.trace': '用法:cgraph trace <起点> <终点> [-f|--file <路径>] [--from-file <路径>] [--to-file <路径>] [--from-uid <uid>] [--to-uid <uid>] [--depth <n>]',
28
+ 'tool.usage.cypher': '用法:cgraph cypher <Cypher 查询>',
29
+ 'tool.usage.apiImpact': '用法:cgraph api-impact <路由> [--file <路径>] [--method <动词>]',
30
+ 'tool.warn.unknownKind': "--kind '{{kind}}' 不是已知的符号类型(如 Function、Class、Method),不会用于缩小结果范围。",
31
+ 'tool.detectChanges.noChanges': '未检测到变更。',
32
+ 'tool.detectChanges.changesSummary': '变更:{{files}} 个文件,{{symbols}} 个符号',
33
+ 'tool.detectChanges.affectedProcesses': '受影响流程:{{count}}',
34
+ 'tool.detectChanges.riskLevel': '风险等级:{{risk}}',
35
+ 'tool.detectChanges.unknownRisk': '未知',
36
+ 'tool.detectChanges.changedSymbols': '已变更符号:',
37
+ 'tool.detectChanges.overflowMore': '... 以及另外 {{count}} 个',
38
+ 'tool.detectChanges.affectedExecutionFlows': '受影响执行流程:',
39
+ 'tool.detectChanges.steps': '{{count}} 步',
40
+ 'tool.detectChanges.steps_one': '{{count}} 步',
41
+ 'tool.detectChanges.steps_other': '{{count}} 步',
42
+ 'tool.detectChanges.changedSteps': '已变更:{{steps}}',
43
+ 'help.title.usage': '用法:',
44
+ 'help.title.arguments': '参数:',
45
+ 'help.title.options': '选项:',
46
+ 'help.title.globalOptions': '全局选项:',
47
+ 'help.title.commands': '命令:',
48
+ 'help.optionMeta.choices': '可选值',
49
+ 'help.optionMeta.default': '默认',
50
+ 'help.optionMeta.preset': '预设',
51
+ 'help.optionMeta.env': '环境变量',
52
+ 'help.description.root': 'GitNexus 本地 CLI',
53
+ 'help.command.help.description': '显示命令帮助',
54
+ 'help.option.help': '显示命令帮助',
55
+ 'help.option.version': '输出版本号',
56
+ 'help.command.analyze.description': '索引仓库(完整分析)',
57
+ 'help.command.status.description': '显示当前仓库的索引状态',
58
+ 'help.command.context.description': '查看代码符号的 360 度视图:调用者、被调用者、流程',
59
+ 'help.command.impact.description': '影响面分析:修改符号会影响什么',
60
+ 'help.command.trace.description': '查找两个符号之间的最短有向路径(调用与类成员边)',
61
+ 'help.command.cypher.description': '对知识图谱执行原始 Cypher 查询',
62
+ 'help.command.detectChanges.description': '将 git diff hunk 映射到已索引符号和受影响执行流程',
63
+ 'help.command.routeMap.description': '映射 API 路由到 handler 与消费方(前端 HTTP 消费关系需 workspace 配置声明)',
64
+ 'help.command.apiImpact.description': '针对 API 路由 handler 的改动前影响报告',
65
+ 'help.command.shapeCheck.description': '检测接口响应形状与消费方属性访问的不匹配(前端 HTTP 消费关系需 workspace 配置声明)',
66
+ 'help.command.toolMap.description': '映射 MCP/RPC 工具定义到 handler',
67
+ 'help.option.analyze.force': '即使已是最新也强制完整重建索引',
68
+ 'help.option.analyze.embeddings': '启用语义搜索的嵌入生成(默认关闭)。可选 [limit] 覆盖 50,000 节点安全上限;传 0 可完全禁用上限。',
69
+ 'help.option.analyze.dropEmbeddings': '重建时删除现有嵌入。默认情况下,未传 `--embeddings` 的 `analyze` 会保留索引中已有嵌入。',
70
+ 'help.option.analyze.name': '使用自定义名称注册该仓库(用于区分路径 basename 相同的仓库,例如两个不同的 .../app 目录)',
71
+ 'help.option.analyze.allowDuplicateName': '即使已有其他路径使用相同 --name 别名,也注册该仓库。会使两个路径的 `-r <name>` 产生歧义;请用 -r <path> 消除歧义。',
72
+ 'help.option.verbose': '启用详细输出',
73
+ 'help.option.analyze.maxFileSize': '跳过大于该值的文件(KB)。默认:512。硬上限:32768(tree-sitter 限制)。',
74
+ 'help.option.analyze.workerTimeout': 'Worker 子批次空闲超时,超时后重试/回退。默认:30。',
75
+ 'help.option.analyze.walCheckpointThreshold': 'analyze 期间 LadybugDB WAL 自动 checkpoint 阈值(字节,整数 >= -1;默认:67108864 = 64 MiB;-1 保持 Ladybug 默认约 16 MiB)。',
76
+ 'help.option.analyze.workers': '解析 worker 池大小(>=1)。默认:cores-1,最多 16,按仓库规模自适应。',
77
+ 'help.option.analyze.embeddingThreads': '限制本地 ONNX 嵌入 CPU 线程数',
78
+ 'help.option.analyze.embeddingBatchSize': '每个嵌入批次的节点数',
79
+ 'help.option.analyze.embeddingSubBatchSize': '每次嵌入模型调用的分块数',
80
+ 'help.option.analyze.embeddingDevice': '嵌入设备:auto、cpu、dml、cuda 或 wasm',
81
+ 'help.option.status.json': '输出机器可读的索引和分析器来源信息',
82
+ 'help.option.repo.target': '目标仓库',
83
+ 'help.option.branch': '将查询限定到指定分支的索引(多分支仓库)',
84
+ 'help.option.content': '包含完整符号源码',
85
+ 'help.option.context.uid': '直接符号 UID(零歧义查找)',
86
+ 'help.option.context.file': '用于消除常见名称歧义的文件路径',
87
+ 'help.option.context.limit': '最多返回的调用者/被调用者/流程数',
88
+ 'help.option.impact.kind': '用于消除常见名称歧义的类型过滤(如 Function、Class、Method)',
89
+ 'help.option.impact.direction': 'upstream(依赖它的项)或 downstream(它依赖的项)',
90
+ 'help.option.impact.depth': '最大关系遍历深度(默认:3)',
91
+ 'help.option.impact.includeTests': '在结果中包含测试文件',
92
+ 'help.option.impact.limit': '每层深度最大符号数及最多返回的受影响流程/模块数(默认:100)',
93
+ 'help.option.impact.offset': '每层深度跳过 N 个符号(分页用)',
94
+ 'help.option.impact.summaryOnly': '仅返回计数和风险等级,省略符号列表',
95
+ 'help.option.trace.fromUid': '源符号 UID(零歧义查找)',
96
+ 'help.option.trace.file': '源文件路径提示(--from-file 的别名)',
97
+ 'help.option.trace.fromFile': '源文件路径,用于消除常见名称歧义',
98
+ 'help.option.trace.toUid': '目标符号 UID(零歧义查找)',
99
+ 'help.option.trace.toFile': '目标文件路径,用于消除常见名称歧义',
100
+ 'help.option.trace.depth': '最大路径跳数(默认:10)',
101
+ 'help.option.trace.includeTests': '遍历时包含测试文件中的符号(默认:false)',
102
+ 'help.option.apiImpact.file': 'handler 文件路径(与 <target> 路由名二选一)',
103
+ 'help.option.apiImpact.method': '用于收窄多动词路由的 HTTP 动词(如 GET、POST)',
104
+ 'help.option.detectChanges.scope': '分析范围:unstaged、staged、all 或 compare',
105
+ 'help.option.detectChanges.baseRef': 'compare 范围的分支/提交(例如 main)',
106
+ 'help.option.detectChanges.limit': '最多返回的已变更符号数',
107
+ 'help.option.cypher.limit': '最多返回的结果行数',
108
+ 'help.identityCache.environment': '\n分析器身份缓存:\n CGRAPH_ANALYZER_IDENTITY_CACHE_DIR=/absolute/protected/dir\n 由操作员明确信任的持久缓存,用于跨进程快速查询状态。目录必须预先存在、位于 GitNexus 包/构建根目录之外,且路径中不得包含符号链接或 junction。缺少 POSIX 所有权 API 的平台默认保持故障关闭。',
109
+ 'help.analyze.environment': '\n环境变量:\n CGRAPH_NO_GITIGNORE=1 跳过 .gitignore 解析(仍读取 .cgraphignore)\n CGRAPH_MAX_FILE_SIZE=N 覆盖大文件跳过阈值(KB)。默认 512,最大 32768。\n CGRAPH_ANALYZER_IDENTITY_CACHE_DIR=/absolute/protected/dir 由操作员明确信任的持久分析器身份缓存;目录必须预先存在、位于包/构建根目录之外,且路径中不得包含符号链接或 junction。\n CGRAPH_WORKER_SUB_BATCH_TIMEOUT_MS=N Worker 空闲超时(毫秒)。默认 30000。\n CGRAPH_WAL_CHECKPOINT_THRESHOLD=N LadybugDB WAL 自动 checkpoint 阈值(字节,默认 67108864 = 64 MiB;-1 保持 Ladybug 默认约 16 MiB)。\n CGRAPH_WORKER_SUB_BATCH_MAX_BYTES=N Worker 作业字节预算。默认 8388608。\n CGRAPH_WORKER_POOL_SIZE=N 解析 worker 数量覆盖值。默认 cores-1,最多 16。\n CGRAPH_PARSE_CHUNK_CONCURRENCY=N 并发进行中的解析分块数。默认 2。\n CGRAPH_WORKER_MAX_RESPAWNS_PER_SLOT=N 每个 slot 丢弃前允许的最大替换进程数。默认 3。\n CGRAPH_WORKER_MAX_CUMULATIVE_TIMEOUT_MS=N 每个作业的总重试墙钟时间。默认 5 倍子批次超时。\n CGRAPH_WORKER_CONSECUTIVE_FAILURE_THRESHOLD=N 每个 slot 触发熔断的死亡次数。默认 max(3, poolSize)。\n CGRAPH_WORKER_SHUTDOWN_DRAIN_MS=N 线程池关闭时等待仍在原生代码中的已退役 worker 的最长时间(到达安全点后再终止,避免进程级 abort)。默认 30000。\n CGRAPH_CPP_CAPTURE_BUDGET_MS=N C++ 捕获提取的每文件墙钟预算;超出后该文件保留部分捕获并输出警告。默认 20000。\n\n当参数和对应环境变量同时提供时,参数优先。\n\n提示:`.cgraphignore` 支持 `.gitignore` 风格的取反。比如添加\n `!__tests__/` 可以索引默认自动过滤的目录(#771)。',
110
+ };