gitnexus 1.6.3-rc.5 → 1.6.3-rc.51

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 (295) hide show
  1. package/README.md +21 -5
  2. package/dist/_shared/graph/types.d.ts +16 -0
  3. package/dist/_shared/graph/types.d.ts.map +1 -1
  4. package/dist/_shared/index.d.ts +31 -1
  5. package/dist/_shared/index.d.ts.map +1 -1
  6. package/dist/_shared/index.js +21 -0
  7. package/dist/_shared/index.js.map +1 -1
  8. package/dist/_shared/scope-resolution/def-index.js +2 -2
  9. package/dist/_shared/scope-resolution/def-index.js.map +1 -1
  10. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +139 -0
  11. package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -0
  12. package/dist/_shared/scope-resolution/finalize-algorithm.js +479 -0
  13. package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -0
  14. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts +80 -0
  15. package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -0
  16. package/dist/_shared/scope-resolution/method-dispatch-index.js +79 -0
  17. package/dist/_shared/scope-resolution/method-dispatch-index.js.map +1 -0
  18. package/dist/_shared/scope-resolution/module-scope-index.d.ts +8 -0
  19. package/dist/_shared/scope-resolution/module-scope-index.d.ts.map +1 -1
  20. package/dist/_shared/scope-resolution/module-scope-index.js +10 -2
  21. package/dist/_shared/scope-resolution/module-scope-index.js.map +1 -1
  22. package/dist/_shared/scope-resolution/parsed-file.d.ts +76 -0
  23. package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -0
  24. package/dist/_shared/scope-resolution/parsed-file.js +54 -0
  25. package/dist/_shared/scope-resolution/parsed-file.js.map +1 -0
  26. package/dist/_shared/scope-resolution/position-index.d.ts +62 -0
  27. package/dist/_shared/scope-resolution/position-index.d.ts.map +1 -0
  28. package/dist/_shared/scope-resolution/position-index.js +134 -0
  29. package/dist/_shared/scope-resolution/position-index.js.map +1 -0
  30. package/dist/_shared/scope-resolution/qualified-name-index.js +2 -2
  31. package/dist/_shared/scope-resolution/qualified-name-index.js.map +1 -1
  32. package/dist/_shared/scope-resolution/reference-site.d.ts +75 -0
  33. package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -0
  34. package/dist/_shared/scope-resolution/reference-site.js +24 -0
  35. package/dist/_shared/scope-resolution/reference-site.js.map +1 -0
  36. package/dist/_shared/scope-resolution/registries/class-registry.d.ts +27 -0
  37. package/dist/_shared/scope-resolution/registries/class-registry.d.ts.map +1 -0
  38. package/dist/_shared/scope-resolution/registries/class-registry.js +30 -0
  39. package/dist/_shared/scope-resolution/registries/class-registry.js.map +1 -0
  40. package/dist/_shared/scope-resolution/registries/context.d.ts +69 -0
  41. package/dist/_shared/scope-resolution/registries/context.d.ts.map +1 -0
  42. package/dist/_shared/scope-resolution/registries/context.js +44 -0
  43. package/dist/_shared/scope-resolution/registries/context.js.map +1 -0
  44. package/dist/_shared/scope-resolution/registries/evidence.d.ts +56 -0
  45. package/dist/_shared/scope-resolution/registries/evidence.d.ts.map +1 -0
  46. package/dist/_shared/scope-resolution/registries/evidence.js +150 -0
  47. package/dist/_shared/scope-resolution/registries/evidence.js.map +1 -0
  48. package/dist/_shared/scope-resolution/registries/field-registry.d.ts +26 -0
  49. package/dist/_shared/scope-resolution/registries/field-registry.d.ts.map +1 -0
  50. package/dist/_shared/scope-resolution/registries/field-registry.js +31 -0
  51. package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -0
  52. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts +81 -0
  53. package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -0
  54. package/dist/_shared/scope-resolution/registries/lookup-core.js +332 -0
  55. package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -0
  56. package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts +33 -0
  57. package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts.map +1 -0
  58. package/dist/_shared/scope-resolution/registries/lookup-qualified.js +56 -0
  59. package/dist/_shared/scope-resolution/registries/lookup-qualified.js.map +1 -0
  60. package/dist/_shared/scope-resolution/registries/method-registry.d.ts +36 -0
  61. package/dist/_shared/scope-resolution/registries/method-registry.d.ts.map +1 -0
  62. package/dist/_shared/scope-resolution/registries/method-registry.js +32 -0
  63. package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -0
  64. package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts +43 -0
  65. package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts.map +1 -0
  66. package/dist/_shared/scope-resolution/registries/tie-breaks.js +60 -0
  67. package/dist/_shared/scope-resolution/registries/tie-breaks.js.map +1 -0
  68. package/dist/_shared/scope-resolution/resolve-type-ref.d.ts +53 -0
  69. package/dist/_shared/scope-resolution/resolve-type-ref.d.ts.map +1 -0
  70. package/dist/_shared/scope-resolution/resolve-type-ref.js +126 -0
  71. package/dist/_shared/scope-resolution/resolve-type-ref.js.map +1 -0
  72. package/dist/_shared/scope-resolution/scope-id.d.ts +43 -0
  73. package/dist/_shared/scope-resolution/scope-id.d.ts.map +1 -0
  74. package/dist/_shared/scope-resolution/scope-id.js +46 -0
  75. package/dist/_shared/scope-resolution/scope-id.js.map +1 -0
  76. package/dist/_shared/scope-resolution/scope-tree.d.ts +61 -0
  77. package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -0
  78. package/dist/_shared/scope-resolution/scope-tree.js +186 -0
  79. package/dist/_shared/scope-resolution/scope-tree.js.map +1 -0
  80. package/dist/_shared/scope-resolution/shadow/aggregate.d.ts +6 -2
  81. package/dist/_shared/scope-resolution/shadow/aggregate.d.ts.map +1 -1
  82. package/dist/_shared/scope-resolution/shadow/aggregate.js +5 -0
  83. package/dist/_shared/scope-resolution/shadow/aggregate.js.map +1 -1
  84. package/dist/_shared/scope-resolution/types.d.ts +24 -4
  85. package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
  86. package/dist/cli/ai-context.js +35 -4
  87. package/dist/cli/analyze.d.ts +27 -0
  88. package/dist/cli/analyze.js +31 -1
  89. package/dist/cli/clean.js +19 -1
  90. package/dist/cli/group.js +73 -0
  91. package/dist/cli/index-repo.js +8 -1
  92. package/dist/cli/index.js +26 -1
  93. package/dist/cli/list.js +11 -1
  94. package/dist/cli/remove.d.ts +30 -0
  95. package/dist/cli/remove.js +99 -0
  96. package/dist/cli/setup.js +185 -57
  97. package/dist/cli/tool.d.ts +5 -0
  98. package/dist/cli/tool.js +42 -0
  99. package/dist/config/ignore-service.d.ts +9 -0
  100. package/dist/config/ignore-service.js +80 -13
  101. package/dist/core/embedding-mode.d.ts +30 -0
  102. package/dist/core/embedding-mode.js +30 -0
  103. package/dist/core/embeddings/ast-utils.js +22 -22
  104. package/dist/core/embeddings/chunker.js +30 -25
  105. package/dist/core/embeddings/embedding-pipeline.d.ts +6 -0
  106. package/dist/core/embeddings/embedding-pipeline.js +15 -6
  107. package/dist/core/embeddings/text-generator.d.ts +1 -1
  108. package/dist/core/embeddings/text-generator.js +33 -24
  109. package/dist/core/embeddings/types.d.ts +43 -1
  110. package/dist/core/embeddings/types.js +101 -29
  111. package/dist/core/git-staleness.d.ts +18 -0
  112. package/dist/core/git-staleness.js +108 -0
  113. package/dist/core/graph/graph.js +115 -20
  114. package/dist/core/graph/types.d.ts +12 -1
  115. package/dist/core/group/config-parser.d.ts +4 -0
  116. package/dist/core/group/config-parser.js +18 -1
  117. package/dist/core/group/cross-impact.d.ts +41 -0
  118. package/dist/core/group/cross-impact.js +441 -0
  119. package/dist/core/group/extractors/http-patterns/php.js +126 -18
  120. package/dist/core/group/group-path-utils.d.ts +17 -0
  121. package/dist/core/group/group-path-utils.js +40 -0
  122. package/dist/core/group/resolve-at-member.d.ts +10 -0
  123. package/dist/core/group/resolve-at-member.js +31 -0
  124. package/dist/core/group/service.d.ts +9 -0
  125. package/dist/core/group/service.js +259 -25
  126. package/dist/core/group/types.d.ts +30 -0
  127. package/dist/core/ingestion/ast-cache.d.ts +16 -1
  128. package/dist/core/ingestion/ast-cache.js +14 -2
  129. package/dist/core/ingestion/call-processor.js +9 -0
  130. package/dist/core/ingestion/emit-references.d.ts +88 -0
  131. package/dist/core/ingestion/emit-references.js +229 -0
  132. package/dist/core/ingestion/filesystem-walker.js +6 -4
  133. package/dist/core/ingestion/finalize-orchestrator.d.ts +63 -0
  134. package/dist/core/ingestion/finalize-orchestrator.js +139 -0
  135. package/dist/core/ingestion/framework-detection.js +6 -2
  136. package/dist/core/ingestion/import-processor.js +4 -0
  137. package/dist/core/ingestion/import-resolvers/python.js +9 -6
  138. package/dist/core/ingestion/import-target-adapter.d.ts +73 -0
  139. package/dist/core/ingestion/import-target-adapter.js +95 -0
  140. package/dist/core/ingestion/language-provider.d.ts +36 -33
  141. package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +21 -0
  142. package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +56 -0
  143. package/dist/core/ingestion/languages/csharp/arity-metadata.d.ts +26 -0
  144. package/dist/core/ingestion/languages/csharp/arity-metadata.js +46 -0
  145. package/dist/core/ingestion/languages/csharp/arity.d.ts +23 -0
  146. package/dist/core/ingestion/languages/csharp/arity.js +37 -0
  147. package/dist/core/ingestion/languages/csharp/cache-stats.d.ts +15 -0
  148. package/dist/core/ingestion/languages/csharp/cache-stats.js +26 -0
  149. package/dist/core/ingestion/languages/csharp/captures.d.ts +19 -0
  150. package/dist/core/ingestion/languages/csharp/captures.js +249 -0
  151. package/dist/core/ingestion/languages/csharp/import-decomposer.d.ts +19 -0
  152. package/dist/core/ingestion/languages/csharp/import-decomposer.js +93 -0
  153. package/dist/core/ingestion/languages/csharp/import-target.d.ts +25 -0
  154. package/dist/core/ingestion/languages/csharp/import-target.js +123 -0
  155. package/dist/core/ingestion/languages/csharp/index.d.ts +82 -0
  156. package/dist/core/ingestion/languages/csharp/index.js +82 -0
  157. package/dist/core/ingestion/languages/csharp/interpret.d.ts +15 -0
  158. package/dist/core/ingestion/languages/csharp/interpret.js +132 -0
  159. package/dist/core/ingestion/languages/csharp/merge-bindings.d.ts +27 -0
  160. package/dist/core/ingestion/languages/csharp/merge-bindings.js +55 -0
  161. package/dist/core/ingestion/languages/csharp/namespace-siblings.d.ts +50 -0
  162. package/dist/core/ingestion/languages/csharp/namespace-siblings.js +374 -0
  163. package/dist/core/ingestion/languages/csharp/query.d.ts +35 -0
  164. package/dist/core/ingestion/languages/csharp/query.js +515 -0
  165. package/dist/core/ingestion/languages/csharp/receiver-binding.d.ts +31 -0
  166. package/dist/core/ingestion/languages/csharp/receiver-binding.js +135 -0
  167. package/dist/core/ingestion/languages/csharp/scope-resolver.d.ts +10 -0
  168. package/dist/core/ingestion/languages/csharp/scope-resolver.js +63 -0
  169. package/dist/core/ingestion/languages/csharp/simple-hooks.d.ts +53 -0
  170. package/dist/core/ingestion/languages/csharp/simple-hooks.js +76 -0
  171. package/dist/core/ingestion/languages/csharp.js +14 -0
  172. package/dist/core/ingestion/languages/python/arity-metadata.d.ts +24 -0
  173. package/dist/core/ingestion/languages/python/arity-metadata.js +45 -0
  174. package/dist/core/ingestion/languages/python/arity.d.ts +22 -0
  175. package/dist/core/ingestion/languages/python/arity.js +38 -0
  176. package/dist/core/ingestion/languages/python/cache-stats.d.ts +17 -0
  177. package/dist/core/ingestion/languages/python/cache-stats.js +28 -0
  178. package/dist/core/ingestion/languages/python/captures.d.ts +19 -0
  179. package/dist/core/ingestion/languages/python/captures.js +106 -0
  180. package/dist/core/ingestion/languages/python/import-decomposer.d.ts +15 -0
  181. package/dist/core/ingestion/languages/python/import-decomposer.js +112 -0
  182. package/dist/core/ingestion/languages/python/import-target.d.ts +21 -0
  183. package/dist/core/ingestion/languages/python/import-target.js +99 -0
  184. package/dist/core/ingestion/languages/python/index.d.ts +80 -0
  185. package/dist/core/ingestion/languages/python/index.js +80 -0
  186. package/dist/core/ingestion/languages/python/interpret.d.ts +15 -0
  187. package/dist/core/ingestion/languages/python/interpret.js +191 -0
  188. package/dist/core/ingestion/languages/python/merge-bindings.d.ts +16 -0
  189. package/dist/core/ingestion/languages/python/merge-bindings.js +44 -0
  190. package/dist/core/ingestion/languages/python/query.d.ts +9 -0
  191. package/dist/core/ingestion/languages/python/query.js +267 -0
  192. package/dist/core/ingestion/languages/python/receiver-binding.d.ts +21 -0
  193. package/dist/core/ingestion/languages/python/receiver-binding.js +116 -0
  194. package/dist/core/ingestion/languages/python/scope-resolver.d.ts +16 -0
  195. package/dist/core/ingestion/languages/python/scope-resolver.js +53 -0
  196. package/dist/core/ingestion/languages/python/simple-hooks.d.ts +23 -0
  197. package/dist/core/ingestion/languages/python/simple-hooks.js +35 -0
  198. package/dist/core/ingestion/languages/python.js +14 -0
  199. package/dist/core/ingestion/model/method-registry.d.ts +9 -0
  200. package/dist/core/ingestion/model/method-registry.js +4 -0
  201. package/dist/core/ingestion/model/scope-resolution-indexes.d.ts +59 -0
  202. package/dist/core/ingestion/model/scope-resolution-indexes.js +42 -0
  203. package/dist/core/ingestion/model/semantic-model.d.ts +64 -0
  204. package/dist/core/ingestion/model/semantic-model.js +55 -0
  205. package/dist/core/ingestion/mro-processor.js +38 -22
  206. package/dist/core/ingestion/parsing-processor.d.ts +18 -1
  207. package/dist/core/ingestion/parsing-processor.js +45 -11
  208. package/dist/core/ingestion/pipeline-phases/index.d.ts +1 -0
  209. package/dist/core/ingestion/pipeline-phases/index.js +1 -0
  210. package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +10 -0
  211. package/dist/core/ingestion/pipeline-phases/parse-impl.js +17 -2
  212. package/dist/core/ingestion/pipeline-phases/parse.d.ts +18 -0
  213. package/dist/core/ingestion/pipeline.js +2 -1
  214. package/dist/core/ingestion/registry-primary-flag.d.ts +86 -0
  215. package/dist/core/ingestion/registry-primary-flag.js +111 -0
  216. package/dist/core/ingestion/resolve-references.d.ts +63 -0
  217. package/dist/core/ingestion/resolve-references.js +175 -0
  218. package/dist/core/ingestion/scope-extractor-bridge.d.ts +32 -0
  219. package/dist/core/ingestion/scope-extractor-bridge.js +44 -0
  220. package/dist/core/ingestion/scope-extractor.d.ts +86 -0
  221. package/dist/core/ingestion/scope-extractor.js +758 -0
  222. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +372 -0
  223. package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +212 -0
  224. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +43 -0
  225. package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +79 -0
  226. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +57 -0
  227. package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +112 -0
  228. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +17 -0
  229. package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +46 -0
  230. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.d.ts +19 -0
  231. package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +30 -0
  232. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +37 -0
  233. package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +113 -0
  234. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +38 -0
  235. package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +73 -0
  236. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +42 -0
  237. package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +198 -0
  238. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +27 -0
  239. package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +131 -0
  240. package/dist/core/ingestion/scope-resolution/passes/imported-return-types.d.ts +48 -0
  241. package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +130 -0
  242. package/dist/core/ingestion/scope-resolution/passes/mro.d.ts +42 -0
  243. package/dist/core/ingestion/scope-resolution/passes/mro.js +99 -0
  244. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +26 -0
  245. package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +61 -0
  246. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +46 -0
  247. package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +327 -0
  248. package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +47 -0
  249. package/dist/core/ingestion/scope-resolution/pipeline/phase.js +130 -0
  250. package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.d.ts +68 -0
  251. package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +125 -0
  252. package/dist/core/ingestion/scope-resolution/pipeline/registry.d.ts +17 -0
  253. package/dist/core/ingestion/scope-resolution/pipeline/registry.js +21 -0
  254. package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +66 -0
  255. package/dist/core/ingestion/scope-resolution/pipeline/run.js +157 -0
  256. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +36 -0
  257. package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +52 -0
  258. package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +127 -0
  259. package/dist/core/ingestion/scope-resolution/scope/walkers.js +349 -0
  260. package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +52 -0
  261. package/dist/core/ingestion/scope-resolution/workspace-index.js +61 -0
  262. package/dist/core/ingestion/shadow-harness.d.ts +113 -0
  263. package/dist/core/ingestion/shadow-harness.js +148 -0
  264. package/dist/core/ingestion/utils/ast-helpers.d.ts +19 -1
  265. package/dist/core/ingestion/utils/ast-helpers.js +70 -0
  266. package/dist/core/ingestion/utils/max-file-size.d.ts +20 -0
  267. package/dist/core/ingestion/utils/max-file-size.js +52 -0
  268. package/dist/core/ingestion/workers/parse-worker.d.ts +9 -0
  269. package/dist/core/ingestion/workers/parse-worker.js +57 -21
  270. package/dist/core/lbug/lbug-adapter.d.ts +22 -2
  271. package/dist/core/lbug/lbug-adapter.js +58 -14
  272. package/dist/core/lbug/pool-adapter.d.ts +17 -0
  273. package/dist/core/lbug/pool-adapter.js +24 -14
  274. package/dist/core/run-analyze.d.ts +32 -0
  275. package/dist/core/run-analyze.js +74 -19
  276. package/dist/core/search/bm25-index.d.ts +18 -0
  277. package/dist/core/search/bm25-index.js +125 -12
  278. package/dist/core/search/phase-timer.d.ts +72 -0
  279. package/dist/core/search/phase-timer.js +106 -0
  280. package/dist/core/tree-sitter/parser-loader.js +6 -1
  281. package/dist/mcp/local/local-backend.d.ts +67 -3
  282. package/dist/mcp/local/local-backend.js +344 -37
  283. package/dist/mcp/resources.d.ts +31 -0
  284. package/dist/mcp/resources.js +100 -17
  285. package/dist/mcp/tools.d.ts +4 -1
  286. package/dist/mcp/tools.js +75 -54
  287. package/dist/server/api.js +6 -2
  288. package/dist/storage/git.d.ts +49 -0
  289. package/dist/storage/git.js +111 -0
  290. package/dist/storage/repo-manager.d.ts +246 -1
  291. package/dist/storage/repo-manager.js +391 -9
  292. package/package.json +7 -6
  293. package/scripts/bench-scope-resolution.ts +134 -0
  294. package/scripts/ci-list-migrated-languages.ts +24 -0
  295. package/skills/gitnexus-cli.md +1 -0
package/README.md CHANGED
@@ -155,6 +155,7 @@ gitnexus analyze --force # Force full re-index
155
155
  gitnexus analyze --embeddings # Enable embedding generation (slower, better search)
156
156
  gitnexus analyze --skip-agents-md # Preserve custom AGENTS.md/CLAUDE.md gitnexus section edits
157
157
  gitnexus analyze --verbose # Log skipped files when parsers are unavailable
158
+ gitnexus analyze --max-file-size 1024 # Skip files larger than N KB (default: 512, cap: 32768)
158
159
  gitnexus mcp # Start MCP server (stdio) — serves all indexed repos
159
160
  gitnexus serve # Start local HTTP server (multi-repo) for web UI
160
161
  gitnexus index # Register an existing .gitnexus/ folder into the global registry
@@ -166,11 +167,11 @@ gitnexus wiki [path] # Generate LLM-powered docs from knowledge grap
166
167
  gitnexus wiki --model <model> # Wiki with custom LLM model (default: gpt-4o-mini)
167
168
 
168
169
  # Repository groups (multi-repo / monorepo service tracking)
169
- gitnexus group create <name> # Create a repository group
170
- gitnexus group add <name> <repo> # Add a repo to a group
171
- gitnexus group remove <name> <repo> # Remove a repo from a group
172
- gitnexus group list [name] # List groups, or show one group's config
173
- gitnexus group sync <name> # Extract contracts and match across repos/services
170
+ gitnexus group create <name> # Create a repository group
171
+ gitnexus group add <group> <groupPath> <registryName> # Add a repo to a group. <groupPath> is a hierarchy path (e.g. hr/hiring/backend); <registryName> is the repo's name from the registry (see `gitnexus list`)
172
+ gitnexus group remove <group> <groupPath> # Remove a repo from a group by its hierarchy path
173
+ gitnexus group list [name] # List groups, or show one group's config
174
+ gitnexus group sync <name> # Extract contracts and match across repos/services
174
175
  gitnexus group contracts <name> # Inspect extracted contracts and cross-links
175
176
  gitnexus group query <name> <q> # Search execution flows across all repos in a group
176
177
  gitnexus group status <name> # Check staleness of repos in a group
@@ -307,6 +308,21 @@ echo "vendor/" >> .gitnexusignore
307
308
  echo "dist/" >> .gitnexusignore
308
309
  ```
309
310
 
311
+ ### Large files are being skipped
312
+
313
+ By default the walker skips files larger than **512 KB** (see log line `Skipped N large files (>512KB)`). Raise the threshold via either the CLI flag or the environment variable — both accept a value in **KB**:
314
+
315
+ ```bash
316
+ # CLI flag (takes precedence over the env var)
317
+ npx gitnexus analyze --max-file-size 2048 # skip only files > 2 MB
318
+
319
+ # Environment variable (persists across commands)
320
+ export GITNEXUS_MAX_FILE_SIZE=2048
321
+ npx gitnexus analyze
322
+ ```
323
+
324
+ Values above **32768 KB (32 MB)** are clamped to the tree-sitter parser ceiling; invalid values fall back to the 512 KB default with a one-time warning. When an override is active, `analyze` prints the effective threshold in its startup banner (e.g. `GITNEXUS_MAX_FILE_SIZE: effective threshold 2048KB (default 512KB)`).
325
+
310
326
  ## Privacy
311
327
 
312
328
  - All processing happens locally on your machine
@@ -61,5 +61,21 @@ export interface GraphRelationship {
61
61
  confidence: number;
62
62
  reason: string;
63
63
  step?: number;
64
+ /**
65
+ * Per-signal evidence trace for edges emitted by the scope-based
66
+ * resolution pipeline (RFC #909 Ring 2 PKG #925). Populated by
67
+ * `emit-references.ts` when draining `ReferenceIndex` into the graph
68
+ * so downstream query / audit tools can inspect *why* a given edge
69
+ * was emitted with its confidence value.
70
+ *
71
+ * Optional and additive — every existing edge emitter ignores this
72
+ * field, and every existing query continues to work whether or not
73
+ * an edge carries it.
74
+ */
75
+ evidence?: readonly {
76
+ readonly kind: string;
77
+ readonly weight: number;
78
+ readonly note?: string;
79
+ }[];
64
80
  }
65
81
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/graph/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,UAAU,GACV,WAAW,GACX,MAAM,GACN,WAAW,GACX,QAAQ,GACR,MAAM,GACN,aAAa,GACb,WAAW,GACX,SAAS,GAET,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,GACP,WAAW,GACX,OAAO,GACP,MAAM,GACN,WAAW,GACX,OAAO,GACP,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,aAAa,GACb,UAAU,GACV,SAAS,GACT,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAEjC,WAAW,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,OAAO,GACP,UAAU,GACV,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,YAAY,GACZ,SAAS,GACT,YAAY,GACZ,cAAc,GACd,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,SAAS,GACT,cAAc,GACd,gBAAgB,GAChB,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,SAAS;QAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL"}
@@ -6,7 +6,7 @@ export { getLanguageFromFilename, getSyntaxLanguageFromFilename } from './langua
6
6
  export type { MroStrategy } from './mro-strategy.js';
7
7
  export type { PipelinePhase, PipelineProgress } from './pipeline.js';
8
8
  export type { SymbolDefinition } from './scope-resolution/symbol-definition.js';
9
- export type { ScopeId, DefId, ScopeKind, Range, Capture, CaptureMatch, BindingRef, ImportEdge, TypeRef, Scope, ResolutionEvidence, Resolution, Reference, ReferenceIndex, LookupParams, RegistryContributor, ParsedImport, ParsedTypeBinding, WorkspaceIndex, ScopeTree, Callsite, } from './scope-resolution/types.js';
9
+ export type { ScopeId, DefId, ScopeKind, Range, Capture, CaptureMatch, BindingRef, ImportEdge, TypeRef, Scope, ResolutionEvidence, Resolution, Reference, ReferenceIndex, LookupParams, RegistryContributor, ParsedImport, ParsedTypeBinding, WorkspaceIndex, Callsite, ScopeLookup, } from './scope-resolution/types.js';
10
10
  export { EvidenceWeights, typeBindingWeightAtDepth } from './scope-resolution/evidence-weights.js';
11
11
  export { ORIGIN_PRIORITY } from './scope-resolution/origin-priority.js';
12
12
  export type { OriginForTieBreak } from './scope-resolution/origin-priority.js';
@@ -18,6 +18,36 @@ export { buildModuleScopeIndex } from './scope-resolution/module-scope-index.js'
18
18
  export type { ModuleScopeIndex, ModuleScopeEntry } from './scope-resolution/module-scope-index.js';
19
19
  export { buildQualifiedNameIndex } from './scope-resolution/qualified-name-index.js';
20
20
  export type { QualifiedNameIndex } from './scope-resolution/qualified-name-index.js';
21
+ export { resolveTypeRef } from './scope-resolution/resolve-type-ref.js';
22
+ export type { ResolveTypeRefContext } from './scope-resolution/resolve-type-ref.js';
23
+ export type { ParsedFile } from './scope-resolution/parsed-file.js';
24
+ export type { ReferenceSite, ReferenceKind, CallForm } from './scope-resolution/reference-site.js';
25
+ export { buildMethodDispatchIndex } from './scope-resolution/method-dispatch-index.js';
26
+ export type { MethodDispatchIndex, MethodDispatchInput, } from './scope-resolution/method-dispatch-index.js';
27
+ export { finalize } from './scope-resolution/finalize-algorithm.js';
28
+ export type { FinalizeInput, FinalizeFile, FinalizeHooks, FinalizeOutput, FinalizedScc, FinalizeStats, } from './scope-resolution/finalize-algorithm.js';
29
+ export { buildClassRegistry } from './scope-resolution/registries/class-registry.js';
30
+ export type { ClassRegistry } from './scope-resolution/registries/class-registry.js';
31
+ export { buildMethodRegistry } from './scope-resolution/registries/method-registry.js';
32
+ export type { MethodRegistry, MethodLookupOptions, } from './scope-resolution/registries/method-registry.js';
33
+ export { buildFieldRegistry } from './scope-resolution/registries/field-registry.js';
34
+ export type { FieldRegistry, FieldLookupOptions, } from './scope-resolution/registries/field-registry.js';
35
+ export { lookupCore } from './scope-resolution/registries/lookup-core.js';
36
+ export type { CoreLookupParams } from './scope-resolution/registries/lookup-core.js';
37
+ export { lookupQualified } from './scope-resolution/registries/lookup-qualified.js';
38
+ export type { LookupQualifiedParams } from './scope-resolution/registries/lookup-qualified.js';
39
+ export { composeEvidence, confidenceFromEvidence } from './scope-resolution/registries/evidence.js';
40
+ export type { RawSignals } from './scope-resolution/registries/evidence.js';
41
+ export { compareByConfidenceWithTiebreaks, CONFIDENCE_EPSILON, } from './scope-resolution/registries/tie-breaks.js';
42
+ export type { TieBreakKey } from './scope-resolution/registries/tie-breaks.js';
43
+ export { CLASS_KINDS, METHOD_KINDS, FIELD_KINDS } from './scope-resolution/registries/context.js';
44
+ export type { RegistryContext, RegistryProviders, OwnerScopedContributor, ArityVerdict, } from './scope-resolution/registries/context.js';
45
+ export { makeScopeId, clearScopeIdInternPool } from './scope-resolution/scope-id.js';
46
+ export type { ScopeIdInput } from './scope-resolution/scope-id.js';
47
+ export { buildScopeTree, ScopeTreeInvariantError } from './scope-resolution/scope-tree.js';
48
+ export type { ScopeTree } from './scope-resolution/scope-tree.js';
49
+ export { buildPositionIndex } from './scope-resolution/position-index.js';
50
+ export type { PositionIndex } from './scope-resolution/position-index.js';
21
51
  export { diffResolutions } from './scope-resolution/shadow/diff.js';
22
52
  export type { ShadowAgreement, ShadowCallsite, ShadowDiff, } from './scope-resolution/shadow/diff.js';
23
53
  export { aggregateDiffs } from './scope-resolution/shadow/aggregate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACjG,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,YAAY,EACV,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,QAAQ,GACT,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,YAAY,EACV,eAAe,EACf,cAAc,EACd,UAAU,GACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,27 @@ export { LanguageClassifications, isProductionLanguage, } from './scope-resoluti
12
12
  export { buildDefIndex } from './scope-resolution/def-index.js';
13
13
  export { buildModuleScopeIndex } from './scope-resolution/module-scope-index.js';
14
14
  export { buildQualifiedNameIndex } from './scope-resolution/qualified-name-index.js';
15
+ // Strict type-reference resolver (RFC §4.6; Ring 2 SHARED #916)
16
+ // `ScopeLookup` is defined in `./scope-resolution/types.js` and exported
17
+ // from the type-export block above — not from this module.
18
+ export { resolveTypeRef } from './scope-resolution/resolve-type-ref.js';
19
+ // Method-dispatch materialized view over HeritageMap (RFC §3.1; Ring 2 SHARED #914)
20
+ export { buildMethodDispatchIndex } from './scope-resolution/method-dispatch-index.js';
21
+ // SCC-aware cross-file finalize (RFC §3.2 Phase 2; Ring 2 SHARED #915)
22
+ export { finalize } from './scope-resolution/finalize-algorithm.js';
23
+ // Scope-aware registries + 7-step lookup (RFC §4; Ring 2 SHARED #917)
24
+ export { buildClassRegistry } from './scope-resolution/registries/class-registry.js';
25
+ export { buildMethodRegistry } from './scope-resolution/registries/method-registry.js';
26
+ export { buildFieldRegistry } from './scope-resolution/registries/field-registry.js';
27
+ export { lookupCore } from './scope-resolution/registries/lookup-core.js';
28
+ export { lookupQualified } from './scope-resolution/registries/lookup-qualified.js';
29
+ export { composeEvidence, confidenceFromEvidence } from './scope-resolution/registries/evidence.js';
30
+ export { compareByConfidenceWithTiebreaks, CONFIDENCE_EPSILON, } from './scope-resolution/registries/tie-breaks.js';
31
+ export { CLASS_KINDS, METHOD_KINDS, FIELD_KINDS } from './scope-resolution/registries/context.js';
32
+ // Scope tree spine + position lookup (RFC §2.2 + §3.1; Ring 2 SHARED #912)
33
+ export { makeScopeId, clearScopeIdInternPool } from './scope-resolution/scope-id.js';
34
+ export { buildScopeTree, ScopeTreeInvariantError } from './scope-resolution/scope-tree.js';
35
+ export { buildPositionIndex } from './scope-resolution/position-index.js';
15
36
  // Shadow-mode diff + aggregation (RFC §6.3; Ring 2 SHARED #918)
16
37
  export { diffResolutions } from './scope-resolution/shadow/diff.js';
17
38
  export { aggregateDiffs } from './scope-resolution/shadow/aggregate.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAiCjG,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAGvD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,gEAAgE;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAiCjG,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAGvD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,gEAAgE;AAChE,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAOxE,oFAAoF;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAMvF,uEAAuE;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAUpE,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAKvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAKrF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEpG,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAQlG,2EAA2E;AAC3E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E,gEAAgE;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAMpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC"}
@@ -31,10 +31,10 @@ export function buildDefIndex(defs) {
31
31
  continue; // first-write-wins
32
32
  byId.set(def.nodeId, def);
33
33
  }
34
- return freezeIndex(byId);
34
+ return wrapIndex(byId);
35
35
  }
36
36
  // ─── Internal ───────────────────────────────────────────────────────────────
37
- function freezeIndex(byId) {
37
+ function wrapIndex(byId) {
38
38
  return {
39
39
  byId,
40
40
  get size() {
@@ -1 +1 @@
1
- {"version":3,"file":"def-index.js","sourceRoot":"","sources":["../../src/scope-resolution/def-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAAiC;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS,CAAC,mBAAmB;QACvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,+EAA+E;AAE/E,SAAS,WAAW,CAAC,IAAkC;IACrD,OAAO;QACL,IAAI;QACJ,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,EAAS;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,EAAS;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"def-index.js","sourceRoot":"","sources":["../../src/scope-resolution/def-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAAiC;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS,CAAC,mBAAmB;QACvD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,+EAA+E;AAE/E,SAAS,SAAS,CAAC,IAAkC;IACnD,OAAO;QACL,IAAI;QACJ,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,GAAG,CAAC,EAAS;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,GAAG,CAAC,EAAS;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * `finalize` — cross-file finalize algorithm for the SemanticModel
3
+ * (RFC §3.2 Phase 2; Ring 2 SHARED #915).
4
+ *
5
+ * Pure logic that takes per-file parse output (`ParsedImport[]` +
6
+ * `SymbolDefinition[]`) and returns:
7
+ *
8
+ * - Linked `ImportEdge[]` per module scope, with `targetModuleScope` and
9
+ * `targetDefId` filled where resolvable; edges that could not be
10
+ * resolved within the hard fixpoint cap are marked
11
+ * `linkStatus: 'unresolved'`.
12
+ * - Materialized `bindings` per module scope — local defs merged with
13
+ * imported / wildcard-expanded / re-exported names via the provider's
14
+ * `mergeBindings` precedence.
15
+ * - The SCC condensation of the import graph, exposed so disjoint SCCs
16
+ * can be processed in parallel by callers that want that.
17
+ *
18
+ * The algorithm is **SCC-aware**: it runs Tarjan SCC over the file-level
19
+ * import graph, processes SCCs in reverse-topological order (leaves
20
+ * first), and within each SCC runs a bounded fixpoint link pass capped at
21
+ * `N = |edges in SCC|`. Cyclic imports finalize without hanging; malformed
22
+ * inputs are bounded by the cap.
23
+ *
24
+ * **No language-specific logic.** Target resolution, wildcard expansion,
25
+ * and binding precedence all go through caller-supplied hooks
26
+ * (`resolveImportTarget`, `expandsWildcardTo`, `mergeBindings`) that
27
+ * match the LanguageProvider surface from #911.
28
+ *
29
+ * **Dynamic imports rule.** `kind === 'dynamic-unresolved'` passes through
30
+ * as an `ImportEdge { kind: 'dynamic-unresolved', targetFile: null }`
31
+ * with no `BindingRef`. They are parse-time signals, not linkable targets.
32
+ */
33
+ import type { SymbolDefinition } from './symbol-definition.js';
34
+ import type { BindingRef, ImportEdge, ParsedImport, ScopeId, WorkspaceIndex } from './types.js';
35
+ /** Per-file input for the finalize pass. */
36
+ export interface FinalizeFile {
37
+ readonly filePath: string;
38
+ /** The module scope id for this file; owns the finalized imports + bindings. */
39
+ readonly moduleScope: ScopeId;
40
+ readonly parsedImports: readonly ParsedImport[];
41
+ /**
42
+ * Defs exported from this file — the "what other files can import by name"
43
+ * surface. Typically those with `isExported: true` (the module's own
44
+ * declarations) plus, for multi-hop re-export chains, the re-exported
45
+ * names the parser chose to surface here.
46
+ *
47
+ * **Multi-hop re-export contract.** `finalize` resolves an edge
48
+ * `A → B (importedName: 'X')` by looking up `X` in `B.localDefs`. If B
49
+ * only has `export { X } from './C'` and the parser *does not* include
50
+ * `X` in `B.localDefs`, A's edge hits the fixpoint cap and is marked
51
+ * `linkStatus: 'unresolved'`. The fixpoint does NOT mutate `localDefs`
52
+ * across iterations — it is static input.
53
+ *
54
+ * Parsers that want multi-hop re-export chains to settle end-to-end must
55
+ * include re-exported names in the intermediate file's `localDefs` (with
56
+ * the original `DefId` of the source symbol). This keeps the algorithm
57
+ * O(1) per lookup and avoids graph-crawl during finalize.
58
+ */
59
+ readonly localDefs: readonly SymbolDefinition[];
60
+ }
61
+ /** Input to `finalize`. */
62
+ export interface FinalizeInput {
63
+ readonly files: readonly FinalizeFile[];
64
+ /** Opaque workspace context forwarded to provider hooks. */
65
+ readonly workspaceIndex: WorkspaceIndex;
66
+ }
67
+ /**
68
+ * Provider-supplied hooks. Mirror the optional LanguageProvider scope-
69
+ * resolution hooks declared in #911; `finalize` calls them pure-ly and
70
+ * expects pure answers.
71
+ */
72
+ export interface FinalizeHooks {
73
+ /**
74
+ * Resolve a raw import target to the concrete file path that owns it.
75
+ * Return `null` when no target file is resolvable (e.g., `np.foo` when
76
+ * `numpy` is external to the workspace).
77
+ */
78
+ resolveImportTarget(targetRaw: string, fromFile: string, workspaceIndex: WorkspaceIndex): string | null;
79
+ /**
80
+ * For a wildcard `import * from M`, return the names visible in the
81
+ * exporting module scope `M`. The finalize pass looks each name up in
82
+ * `M`'s local defs to produce a concrete `BindingRef`; names with no
83
+ * matching export are dropped.
84
+ */
85
+ expandsWildcardTo(targetModuleScope: ScopeId, workspaceIndex: WorkspaceIndex): readonly string[];
86
+ /**
87
+ * Merge `incoming` bindings into `existing` for a given name. Called
88
+ * once per name at each scope. Typical rules:
89
+ * - Python: local > imported > wildcard (last-write-wins within tier).
90
+ * - Rust: explicit `use` > glob; `pub use` overrides.
91
+ * Return value replaces the bucket entirely — no implicit append.
92
+ */
93
+ mergeBindings(existing: readonly BindingRef[], incoming: readonly BindingRef[], scope: ScopeId): readonly BindingRef[];
94
+ }
95
+ /** One SCC in the file-level import graph. */
96
+ export interface FinalizedScc {
97
+ readonly files: readonly string[];
98
+ /** True iff this SCC has ≥ 2 files OR a single file that self-imports. */
99
+ readonly isCycle: boolean;
100
+ }
101
+ /**
102
+ * Counters reported by `finalize`.
103
+ *
104
+ * **Counting granularity** — all edge counters are **per-`ParsedImport`**,
105
+ * not per-materialized-`ImportEdge`. A single `wildcard` ParsedImport that
106
+ * expands to N exports counts as one linked edge in these stats; the
107
+ * materialized output (`FinalizeOutput.imports`) will have N edges for
108
+ * that input. `dynamic-unresolved` ParsedImports count as linked (they
109
+ * pass through with no `linkStatus`), so `linkedEdges` ≠ "has a
110
+ * BindingRef" — use the `bindings` map for that.
111
+ *
112
+ * In other words: `totalEdges === input.parsedImports.length` summed
113
+ * across files, and `linkedEdges + unresolvedEdges === totalEdges`.
114
+ */
115
+ export interface FinalizeStats {
116
+ readonly totalFiles: number;
117
+ /** Total `ParsedImport` records seen across all files. */
118
+ readonly totalEdges: number;
119
+ /**
120
+ * `ParsedImport`s whose finalized edge does NOT carry
121
+ * `linkStatus: 'unresolved'`. Includes `dynamic-unresolved` pass-throughs.
122
+ */
123
+ readonly linkedEdges: number;
124
+ /** `ParsedImport`s whose finalized edge carries `linkStatus: 'unresolved'`. */
125
+ readonly unresolvedEdges: number;
126
+ readonly sccCount: number;
127
+ readonly largestSccSize: number;
128
+ }
129
+ export interface FinalizeOutput {
130
+ /** Linked `ImportEdge[]` per module scope, in original input order. */
131
+ readonly imports: ReadonlyMap<ScopeId, readonly ImportEdge[]>;
132
+ /** Materialized bindings per module scope. */
133
+ readonly bindings: ReadonlyMap<ScopeId, ReadonlyMap<string, readonly BindingRef[]>>;
134
+ /** SCCs in reverse-topological order (leaves first). */
135
+ readonly sccs: readonly FinalizedScc[];
136
+ readonly stats: FinalizeStats;
137
+ }
138
+ export declare function finalize(input: FinalizeInput, hooks: FinalizeHooks): FinalizeOutput;
139
+ //# sourceMappingURL=finalize-algorithm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalize-algorithm.d.ts","sourceRoot":"","sources":["../../src/scope-resolution/finalize-algorithm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIhG,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;IAChD;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACjD;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,cAAc,GAC7B,MAAM,GAAG,IAAI,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAAC;IAEjG;;;;;;OAMG;IACH,aAAa,CACX,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,KAAK,EAAE,OAAO,GACb,SAAS,UAAU,EAAE,CAAC;CAC1B;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IAC9D,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC;IACpF,wDAAwD;IACxD,QAAQ,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,cAAc,CAiInF"}