ghagga-core 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/agents/issue-triage.d.ts +143 -0
  2. package/dist/agents/issue-triage.d.ts.map +1 -0
  3. package/dist/agents/issue-triage.js +230 -0
  4. package/dist/agents/issue-triage.js.map +1 -0
  5. package/dist/agents/prompts.d.ts +41 -1
  6. package/dist/agents/prompts.d.ts.map +1 -1
  7. package/dist/agents/prompts.js +123 -2
  8. package/dist/agents/prompts.js.map +1 -1
  9. package/dist/enhance/prompt.d.ts +1 -1
  10. package/dist/enhance/prompt.d.ts.map +1 -1
  11. package/dist/graph/builder.d.ts +13 -1
  12. package/dist/graph/builder.d.ts.map +1 -1
  13. package/dist/graph/builder.js +305 -6
  14. package/dist/graph/builder.js.map +1 -1
  15. package/dist/graph/call-chain.d.ts +27 -0
  16. package/dist/graph/call-chain.d.ts.map +1 -1
  17. package/dist/graph/call-chain.js +113 -18
  18. package/dist/graph/call-chain.js.map +1 -1
  19. package/dist/graph/changed-symbols.d.ts +57 -0
  20. package/dist/graph/changed-symbols.d.ts.map +1 -0
  21. package/dist/graph/changed-symbols.js +123 -0
  22. package/dist/graph/changed-symbols.js.map +1 -0
  23. package/dist/graph/extractors/index.d.ts +3 -3
  24. package/dist/graph/extractors/index.d.ts.map +1 -1
  25. package/dist/graph/extractors/index.js +2 -2
  26. package/dist/graph/extractors/index.js.map +1 -1
  27. package/dist/graph/extractors/javascript.d.ts.map +1 -1
  28. package/dist/graph/extractors/javascript.js +89 -3
  29. package/dist/graph/extractors/javascript.js.map +1 -1
  30. package/dist/graph/extractors/rust.d.ts.map +1 -1
  31. package/dist/graph/extractors/rust.js +7 -2
  32. package/dist/graph/extractors/rust.js.map +1 -1
  33. package/dist/graph/extractors/types.d.ts +7 -1
  34. package/dist/graph/extractors/types.d.ts.map +1 -1
  35. package/dist/graph/extractors/typescript.d.ts.map +1 -1
  36. package/dist/graph/extractors/typescript.js +95 -4
  37. package/dist/graph/extractors/typescript.js.map +1 -1
  38. package/dist/graph/index.d.ts +8 -3
  39. package/dist/graph/index.d.ts.map +1 -1
  40. package/dist/graph/index.js +4 -2
  41. package/dist/graph/index.js.map +1 -1
  42. package/dist/graph/loader.d.ts +29 -0
  43. package/dist/graph/loader.d.ts.map +1 -1
  44. package/dist/graph/loader.js +70 -1
  45. package/dist/graph/loader.js.map +1 -1
  46. package/dist/graph/narrow-symbols.d.ts +73 -0
  47. package/dist/graph/narrow-symbols.d.ts.map +1 -0
  48. package/dist/graph/narrow-symbols.js +195 -0
  49. package/dist/graph/narrow-symbols.js.map +1 -0
  50. package/dist/graph/schema.d.ts +117 -4
  51. package/dist/graph/schema.d.ts.map +1 -1
  52. package/dist/graph/schema.js +67 -3
  53. package/dist/graph/schema.js.map +1 -1
  54. package/dist/graph/scip/builder.d.ts +64 -0
  55. package/dist/graph/scip/builder.d.ts.map +1 -0
  56. package/dist/graph/scip/builder.js +268 -0
  57. package/dist/graph/scip/builder.js.map +1 -0
  58. package/dist/graph/scip/merge.d.ts +66 -0
  59. package/dist/graph/scip/merge.d.ts.map +1 -0
  60. package/dist/graph/scip/merge.js +98 -0
  61. package/dist/graph/scip/merge.js.map +1 -0
  62. package/dist/index.d.ts +5 -2
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +3 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/pipeline/prepare-graph.d.ts +23 -1
  67. package/dist/pipeline/prepare-graph.d.ts.map +1 -1
  68. package/dist/pipeline/prepare-graph.js +119 -3
  69. package/dist/pipeline/prepare-graph.js.map +1 -1
  70. package/dist/pipeline/prepare.d.ts.map +1 -1
  71. package/dist/pipeline/prepare.js +2 -0
  72. package/dist/pipeline/prepare.js.map +1 -1
  73. package/dist/providers/cli-bridge.d.ts.map +1 -1
  74. package/dist/providers/cli-bridge.js +1 -0
  75. package/dist/providers/cli-bridge.js.map +1 -1
  76. package/dist/types.d.ts +21 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js.map +1 -1
  79. package/package.json +3 -1
@@ -26,11 +26,114 @@ const IMPORT_NAMED_RE = /import\s*\{([^}]+)\}\s*from\s*["'][^"']+["']/g;
26
26
  /** Matches: import X from "..." */
27
27
  const IMPORT_DEFAULT_RE = /import\s+([A-Za-z_$][A-Za-z0-9_$]*)\s+from\s*["'][^"']+["']/g;
28
28
  // ─── Helpers ─────────────────────────────────────────────────────
29
+ /** Leading modifier keywords that precede a declaration but are never the symbol name. */
30
+ const MODIFIER_KEYWORDS = new Set([
31
+ 'export',
32
+ 'default',
33
+ 'public',
34
+ 'private',
35
+ 'protected',
36
+ 'static',
37
+ 'async',
38
+ 'pub',
39
+ 'final',
40
+ 'abstract',
41
+ ]);
42
+ /** Keywords that introduce a declaration — the symbol name is the token AFTER these. */
43
+ const DECLARATION_KEYWORDS = new Set([
44
+ 'function',
45
+ 'func',
46
+ 'fn',
47
+ 'class',
48
+ 'const',
49
+ 'let',
50
+ 'var',
51
+ 'def',
52
+ 'type',
53
+ 'interface',
54
+ 'enum',
55
+ 'impl',
56
+ 'struct',
57
+ 'trait',
58
+ ]);
59
+ /**
60
+ * Extract the declared/referenced symbol name from a snippet of code
61
+ * (e.g. a diff hunk-header context or a bare changed line).
62
+ *
63
+ * Skips leading modifier keywords (export, default, pub, async, ...). If the
64
+ * next token is a declaration keyword (function, class, const, ...), the
65
+ * symbol is the token AFTER it. Otherwise the symbol is the first
66
+ * non-modifier identifier (covers bare context lines like `someMethod(args)`).
67
+ */
68
+ /**
69
+ * Matches the Go/Rust receiver-method declaration form:
70
+ * func (r *Receiver) Method(...)
71
+ * func (t Type) Value(...)
72
+ * The receiver group is skipped as a unit so the method name — not the
73
+ * receiver variable — is captured.
74
+ */
75
+ const GO_RECEIVER_METHOD_RE = /^\s*(?:func|fn)\s*\([^)]*\)\s*([A-Za-z_$][A-Za-z0-9_$]*)/;
76
+ /**
77
+ * Known residual limitations (deliberately not handled — lower-impact than
78
+ * the Go receiver-method case):
79
+ * - `impl Display for MyStruct` currently extracts "Display" (the trait),
80
+ * not "MyStruct" (the type being implemented).
81
+ * - Generic bare declarations like `<T> T process` currently extract "T"
82
+ * (the generic parameter), not "process".
83
+ * Same class of accepted residual as Java's `public static void main` -> "void".
84
+ */
85
+ export function extractDeclaredSymbol(text) {
86
+ const receiverMatch = text.match(GO_RECEIVER_METHOD_RE);
87
+ if (receiverMatch)
88
+ return receiverMatch[1];
89
+ const tokens = text.trim().match(/[A-Za-z_$][A-Za-z0-9_$]*/g);
90
+ if (!tokens || tokens.length === 0)
91
+ return undefined;
92
+ let i = 0;
93
+ while (i < tokens.length && MODIFIER_KEYWORDS.has(tokens[i]))
94
+ i++;
95
+ if (i >= tokens.length)
96
+ return undefined;
97
+ const token = tokens[i];
98
+ if (DECLARATION_KEYWORDS.has(token)) {
99
+ return tokens[i + 1];
100
+ }
101
+ return token;
102
+ }
103
+ /** Regex alternation of DECLARATION_KEYWORDS, built once. */
104
+ const DECLARATION_KEYWORDS_ALT = [...DECLARATION_KEYWORDS].join('|');
105
+ /** Regex alternation of MODIFIER_KEYWORDS, built once. */
106
+ const MODIFIER_KEYWORDS_ALT = [...MODIFIER_KEYWORDS].join('|');
107
+ /**
108
+ * Matches a TOP-LEVEL declaration on a changed diff line: the line must
109
+ * start (no leading whitespace, beyond the +/- diff marker already
110
+ * stripped) with optional modifier keywords followed by a declaration
111
+ * keyword and a symbol name. Deliberately conservative — a `const local = …`
112
+ * indented inside a function body (leading whitespace present) will NOT
113
+ * match, avoiding false positives from mid-expression/nested declarations.
114
+ */
115
+ const TOP_LEVEL_DECL_RE = new RegExp(`^(?:(?:${MODIFIER_KEYWORDS_ALT})\\s+)*(?:${DECLARATION_KEYWORDS_ALT})\\s+([A-Za-z_$][A-Za-z0-9_$]*)`);
116
+ function extractTopLevelDeclaredSymbol(content) {
117
+ const m = content.match(TOP_LEVEL_DECL_RE);
118
+ return m?.[1];
119
+ }
29
120
  /**
30
121
  * Extract diff hunk context to find symbols that had +/- lines.
31
122
  * Returns the file path and approximate symbol name for each modified hunk.
123
+ *
124
+ * Exported (was module-private) for reuse by the Symbol Impact review
125
+ * context (`pipeline/prepare-graph.ts` step 2.6) — same diff-parsing logic,
126
+ * different consumer.
127
+ *
128
+ * DEPRECATED (scip-symbol-ranges D5): this is a declaration-level LOWER
129
+ * BOUND — it only sees hunk-header context and top-level declaration
130
+ * lines, so a body-only change to a symbol whose signature didn't change
131
+ * is invisible to it. `pipeline/prepare-graph.ts` now prefers
132
+ * `graph/changed-symbols.ts`'s `computeChangedSymbolsComplete` whenever
133
+ * the graph has SCIP `symbolRanges`; this function is kept ONLY as the
134
+ * no-symbolRanges fallback (regex-built graphs, C#/PHP) — do not remove.
32
135
  */
33
- function extractChangedSymbolsFromDiff(unifiedDiff) {
136
+ export function extractChangedSymbolsFromDiff(unifiedDiff) {
34
137
  const result = new Map();
35
138
  const lines = unifiedDiff.split('\n');
36
139
  let currentFile = '';
@@ -48,31 +151,23 @@ function extractChangedSymbolsFromDiff(unifiedDiff) {
48
151
  if (line.startsWith('@@')) {
49
152
  const m = line.match(/@@ .* @@ (.+)/);
50
153
  if (m?.[1]) {
51
- const ctx = m[1].trim();
52
- // Extract first identifier from the hunk context
53
- const idMatch = ctx.match(/(?:function|class|const|let|var|async)?\s*([A-Za-z_$][A-Za-z0-9_$]*)/);
54
- if (idMatch?.[1]) {
55
- currentSymbol = idMatch[1];
154
+ const symbol = extractDeclaredSymbol(m[1]);
155
+ if (symbol) {
156
+ currentSymbol = symbol;
56
157
  }
57
158
  }
58
159
  continue;
59
160
  }
60
- // Changed lines (+ or -) that declare a function/class
161
+ // Changed lines (+ or -) that declare a top-level function/class/const/
162
+ // let/var/type/interface/enum.
61
163
  if ((line.startsWith('+') || line.startsWith('-')) &&
62
164
  !line.startsWith('+++') &&
63
165
  !line.startsWith('---')) {
64
166
  const content = line.slice(1);
65
- // Check for function declarations in changed lines
66
- const fnMatch = content.match(/(?:export\s+)?(?:async\s+)?function\s+([A-Za-z_$][A-Za-z0-9_$]*)\s*\(/);
67
- if (fnMatch?.[1] && currentFile) {
68
- result.get(currentFile)?.add(fnMatch[1]);
69
- currentSymbol = fnMatch[1];
70
- }
71
- // Check for class declarations
72
- const clsMatch = content.match(/(?:export\s+)?class\s+([A-Za-z_$][A-Za-z0-9_$]*)/);
73
- if (clsMatch?.[1] && currentFile) {
74
- result.get(currentFile)?.add(clsMatch[1]);
75
- currentSymbol = clsMatch[1];
167
+ const declMatch = extractTopLevelDeclaredSymbol(content);
168
+ if (declMatch && currentFile) {
169
+ result.get(currentFile)?.add(declMatch);
170
+ currentSymbol = declMatch;
76
171
  }
77
172
  }
78
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"call-chain.js","sourceRoot":"","sources":["../../src/graph/call-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"call-chain.js","sourceRoot":"","sources":["../../src/graph/call-chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Complete Changed-Symbol Detection (scip-symbol-ranges, D3/D4/D7)
3
+ *
4
+ * Unlike `call-chain.ts`'s `extractChangedSymbolsFromDiff` (a regex-based
5
+ * DECLARATION-LEVEL lower bound — it only sees hunk-header context and
6
+ * top-level declaration lines, so a body-only change to an unchanged
7
+ * signature is invisible to it), `computeChangedSymbolsComplete` maps
8
+ * EVERY changed diff line to the innermost SCIP `symbolRanges` entry that
9
+ * contains it. This is the fix for the symbol-precise-context no-op: a
10
+ * function body edit now shows up as a real "changed" symbol instead of
11
+ * silently vanishing.
12
+ *
13
+ * Requires `GraphNode.symbolRanges` (graph/scip/builder.ts, SCIP-only —
14
+ * the regex-based `buildGraph()` never populates it). Files/graphs without
15
+ * `symbolRanges` degrade to `hasUnattributedChanges: true` — callers MUST
16
+ * fall back to the declaration-level extractor for those (see D5,
17
+ * pipeline/prepare-graph.ts `buildSymbolImpactBlock`).
18
+ */
19
+ import type { DependencyGraph } from './schema.js';
20
+ export interface ChangedSymbolsResult {
21
+ /** Every symbol whose `symbolRanges` entry overlaps a changed line. */
22
+ changedSymbols: Set<string>;
23
+ /**
24
+ * `true` when at least one changed line in this file could NOT be
25
+ * attributed to a known symbol range — a top-level statement, an
26
+ * import, a line in a file with no `symbolRanges` data, a deletion in a
27
+ * fully-removed symbol, a deleted/binary file with no addressable
28
+ * post-image content, or a renamed file (the path move itself is a
29
+ * structural change that affects importers via the path, not a symbol
30
+ * range — set regardless of whether the rename also carries a content
31
+ * hunk) (D7). Callers MUST treat this as "insufficient data" and fall
32
+ * back to conservative reporting — NEVER claim a symbol/file is
33
+ * unaffected when this is `true`.
34
+ */
35
+ hasUnattributedChanges: boolean;
36
+ }
37
+ /**
38
+ * D3: among all symbols whose range contains `line`, pick the one with
39
+ * the SMALLEST span (`end - start`) — the innermost enclosing symbol.
40
+ * Ties (identical span) break on smallest `start`. A line inside a class
41
+ * but between two methods (i.e. inside the class range but no nested
42
+ * method range) attributes to the class — the only container left.
43
+ */
44
+ export declare function findInnermostSymbol(ranges: Record<string, [number, number]> | undefined, line: number): string | undefined;
45
+ /**
46
+ * D4: walk the diff's NEW-side line cursor per hunk. `+`/` ` lines occupy
47
+ * the cursor then advance it; `-` lines attribute to whatever symbol
48
+ * currently owns the cursor position (the point where the deleted line
49
+ * used to sit) WITHOUT advancing it — deleting a line from inside a
50
+ * still-existing symbol correctly attributes to that symbol; deleting an
51
+ * entire symbol leaves the cursor between symbols → unattributed (D7,
52
+ * conservative by construction). Context (` `) lines are never attributed
53
+ * (they didn't change), only occupy+advance the cursor so later lines in
54
+ * the hunk land on the right line number.
55
+ */
56
+ export declare function computeChangedSymbolsComplete(diff: string, graph: DependencyGraph): Map<string, ChangedSymbolsResult>;
57
+ //# sourceMappingURL=changed-symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-symbols.d.ts","sourceRoot":"","sources":["../../src/graph/changed-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;;;;;;;OAWG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,EACpD,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,GACrB,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAuEnC"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Complete Changed-Symbol Detection (scip-symbol-ranges, D3/D4/D7)
3
+ *
4
+ * Unlike `call-chain.ts`'s `extractChangedSymbolsFromDiff` (a regex-based
5
+ * DECLARATION-LEVEL lower bound — it only sees hunk-header context and
6
+ * top-level declaration lines, so a body-only change to an unchanged
7
+ * signature is invisible to it), `computeChangedSymbolsComplete` maps
8
+ * EVERY changed diff line to the innermost SCIP `symbolRanges` entry that
9
+ * contains it. This is the fix for the symbol-precise-context no-op: a
10
+ * function body edit now shows up as a real "changed" symbol instead of
11
+ * silently vanishing.
12
+ *
13
+ * Requires `GraphNode.symbolRanges` (graph/scip/builder.ts, SCIP-only —
14
+ * the regex-based `buildGraph()` never populates it). Files/graphs without
15
+ * `symbolRanges` degrade to `hasUnattributedChanges: true` — callers MUST
16
+ * fall back to the declaration-level extractor for those (see D5,
17
+ * pipeline/prepare-graph.ts `buildSymbolImpactBlock`).
18
+ */
19
+ import { parseUnifiedDiff } from '../diff/parse.js';
20
+ /**
21
+ * D3: among all symbols whose range contains `line`, pick the one with
22
+ * the SMALLEST span (`end - start`) — the innermost enclosing symbol.
23
+ * Ties (identical span) break on smallest `start`. A line inside a class
24
+ * but between two methods (i.e. inside the class range but no nested
25
+ * method range) attributes to the class — the only container left.
26
+ */
27
+ export function findInnermostSymbol(ranges, line) {
28
+ if (!ranges)
29
+ return undefined;
30
+ let best;
31
+ let bestSpan = Number.POSITIVE_INFINITY;
32
+ let bestStart = Number.POSITIVE_INFINITY;
33
+ for (const [name, [start, end]] of Object.entries(ranges)) {
34
+ if (line < start || line > end)
35
+ continue;
36
+ const span = end - start;
37
+ if (span < bestSpan || (span === bestSpan && start < bestStart)) {
38
+ best = name;
39
+ bestSpan = span;
40
+ bestStart = start;
41
+ }
42
+ }
43
+ return best;
44
+ }
45
+ /**
46
+ * D4: walk the diff's NEW-side line cursor per hunk. `+`/` ` lines occupy
47
+ * the cursor then advance it; `-` lines attribute to whatever symbol
48
+ * currently owns the cursor position (the point where the deleted line
49
+ * used to sit) WITHOUT advancing it — deleting a line from inside a
50
+ * still-existing symbol correctly attributes to that symbol; deleting an
51
+ * entire symbol leaves the cursor between symbols → unattributed (D7,
52
+ * conservative by construction). Context (` `) lines are never attributed
53
+ * (they didn't change), only occupy+advance the cursor so later lines in
54
+ * the hunk land on the right line number.
55
+ */
56
+ export function computeChangedSymbolsComplete(diff, graph) {
57
+ const parsed = parseUnifiedDiff(diff);
58
+ const result = new Map();
59
+ for (const file of parsed.files) {
60
+ const path = file.path;
61
+ if (!path)
62
+ continue;
63
+ const entry = result.get(path) ?? {
64
+ changedSymbols: new Set(),
65
+ hasUnattributedChanges: false,
66
+ };
67
+ result.set(path, entry);
68
+ // D7 (LANDMINE): deleted/binary file, or no `+++ b/` at all (newPath
69
+ // resolved to null, i.e. /dev/null) — no addressable post-image
70
+ // ranges to attribute against. Conservative, no silent omission.
71
+ if (file.isDeleted || file.isBinary || file.newPath === null) {
72
+ entry.hasUnattributedChanges = true;
73
+ continue;
74
+ }
75
+ // D7 (LANDMINE): a rename. The path move itself is a structural change
76
+ // that is NOT symbol-attributable (it affects importers via the path,
77
+ // not a symbol range) — mark conservative REGARDLESS of whether the
78
+ // rename also carries a content hunk (still fall through below so any
79
+ // hunk is processed normally; the rename flag alone forces the
80
+ // conservative "unattributed" signal).
81
+ if (file.isRename) {
82
+ entry.hasUnattributedChanges = true;
83
+ }
84
+ const node = graph.nodes[path];
85
+ const ranges = node?.symbolRanges;
86
+ for (const hunk of file.hunks) {
87
+ // D7 (LANDMINE): pure-deletion hunk — the new side is empty at this
88
+ // hunk, so there is no new-side cursor to locate the deletion
89
+ // against. Cannot attribute; conservative.
90
+ if (hunk.newCount === 0) {
91
+ entry.hasUnattributedChanges = true;
92
+ continue;
93
+ }
94
+ let cursor = hunk.newStart;
95
+ for (const line of hunk.lines) {
96
+ if (line.prefix === '\\')
97
+ continue; // ""
98
+ if (line.prefix === ' ') {
99
+ cursor++;
100
+ continue;
101
+ }
102
+ if (line.prefix === '+') {
103
+ const symbol = findInnermostSymbol(ranges, cursor);
104
+ if (symbol)
105
+ entry.changedSymbols.add(symbol);
106
+ else
107
+ entry.hasUnattributedChanges = true;
108
+ cursor++;
109
+ continue;
110
+ }
111
+ // '-' deletion: attribute at the current cursor position, do not
112
+ // advance (the old-side line has no new-side position of its own).
113
+ const symbol = findInnermostSymbol(ranges, cursor);
114
+ if (symbol)
115
+ entry.changedSymbols.add(symbol);
116
+ else
117
+ entry.hasUnattributedChanges = true;
118
+ }
119
+ }
120
+ }
121
+ return result;
122
+ }
123
+ //# sourceMappingURL=changed-symbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changed-symbols.js","sourceRoot":"","sources":["../../src/graph/changed-symbols.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAqBpD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAoD,EACpD,IAAY;IAEZ,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,IAAI,IAAwB,CAAC;IAC7B,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACxC,IAAI,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAEzC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,GAAG;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,GAAG,QAAQ,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC;YAChE,IAAI,GAAG,IAAI,CAAC;YACZ,QAAQ,GAAG,IAAI,CAAC;YAChB,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,KAAsB;IAEtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,MAAM,KAAK,GAAyB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YACtD,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,sBAAsB,EAAE,KAAK;SAC9B,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAExB,qEAAqE;QACrE,gEAAgE;QAChE,iEAAiE;QACjE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7D,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACpC,SAAS;QACX,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,oEAAoE;QACpE,sEAAsE;QACtE,+DAA+D;QAC/D,uCAAuC;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC;QAElC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,oEAAoE;YACpE,8DAA8D;YAC9D,2CAA2C;YAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;oBAAE,SAAS,CAAC,gCAAgC;gBAEpE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxB,MAAM,EAAE,CAAC;oBACT,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACnD,IAAI,MAAM;wBAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;wBACxC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBACzC,MAAM,EAAE,CAAC;oBACT,SAAS;gBACX,CAAC;gBAED,iEAAiE;gBACjE,mEAAmE;gBACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnD,IAAI,MAAM;oBAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;oBACxC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -8,10 +8,10 @@ import type { SupportedLanguage } from '../schema.js';
8
8
  import type { Extractor } from './types.js';
9
9
  /**
10
10
  * Get the extractor for a given language.
11
- * Returns undefined if the language is not supported (should never happen
12
- * since SupportedLanguage is a closed union).
11
+ * Returns undefined for SCIP-only languages (kotlin/csharp/php), which have
12
+ * no regex extractor — `--fallback-regex` cannot index them.
13
13
  */
14
- export declare function getExtractor(language: SupportedLanguage): Extractor;
14
+ export declare function getExtractor(language: SupportedLanguage): Extractor | undefined;
15
15
  export { goExtractor } from './go.js';
16
16
  export { javaExtractor } from './java.js';
17
17
  export { javascriptExtractor } from './javascript.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAc5C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAEnE;AAID,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAA0B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAM9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAc5C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAE/E;AAID,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -21,8 +21,8 @@ const extractorRegistry = {
21
21
  };
22
22
  /**
23
23
  * Get the extractor for a given language.
24
- * Returns undefined if the language is not supported (should never happen
25
- * since SupportedLanguage is a closed union).
24
+ * Returns undefined for SCIP-only languages (kotlin/csharp/php), which have
25
+ * no regex extractor — `--fallback-regex` cannot index them.
26
26
  */
27
27
  export function getExtractor(language) {
28
28
  return extractorRegistry[language];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/extractors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,mEAAmE;AAEnE,MAAM,iBAAiB,GAAyC;IAC9D,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,eAAe;IACvB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,mEAAmE;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/graph/extractors/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,mEAAmE;AAEnE,MAAM,iBAAiB,GAA8C;IACnE,UAAU,EAAE,mBAAmB;IAC/B,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,eAAe;IACvB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,OAAQ,iBAA+C,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,mEAAmE;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/javascript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAc,SAAS,EAAc,MAAM,YAAY,CAAC;AA0DpE,eAAO,MAAM,mBAAmB,EAAE,SAkLjC,CAAC"}
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/javascript.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAc,SAAS,EAAc,MAAM,YAAY,CAAC;AAyEpE,eAAO,MAAM,mBAAmB,EAAE,SAoQjC,CAAC"}
@@ -29,10 +29,21 @@ const EXPORT_CLASS_RE = /export\s+class\s+(\w+)/g;
29
29
  const EXPORT_VARIABLE_RE = /export\s+(?:const|let|var)\s+(\w+)/g;
30
30
  /** export default */
31
31
  const EXPORT_DEFAULT_RE = /export\s+default\s+(?:function\s+(\w+)|class\s+(\w+)|(\w+))/g;
32
- /** export { x, y } */
33
- const EXPORT_NAMED_RE = /export\s+{([^}]+)}/g;
32
+ /**
33
+ * export { x, y } — LOCAL named exports only. The negative lookahead
34
+ * excludes `export { x } from '...'` (a re-export), handled separately by
35
+ * REEXPORT_NAMED_RE/REEXPORT_TYPE_RE below (mirrors typescript.ts D2).
36
+ */
37
+ const EXPORT_NAMED_RE = /export\s+{([^}]+)}(?!\s*from\b)/g;
34
38
  /** export default anonymous */
35
39
  const EXPORT_DEFAULT_ANON_RE = /export\s+default\s+(?:function|class)\s*[({]/g;
40
+ // ─── Re-export Patterns (D1, mirrors typescript.ts) ─────────────
41
+ /** export { x, y } from 'module' — named re-export (multiline-safe) */
42
+ const REEXPORT_NAMED_RE = /export\s+{([^}]+)}\s+from\s+['"]([^'"]+)['"]/g;
43
+ /** export type { x, y } from 'module' — type-only re-export */
44
+ const REEXPORT_TYPE_RE = /export\s+type\s+{([^}]+)}\s+from\s+['"]([^'"]+)['"]/g;
45
+ /** export * from 'module' — wildcard re-export (symbols not enumerable) */
46
+ const REEXPORT_WILDCARD_RE = /export\s+\*\s+from\s+['"]([^'"]+)['"]/g;
36
47
  // ─── CommonJS Export Patterns ───────────────────────────────────
37
48
  /** module.exports = x / module.exports = { x, y } */
38
49
  const MODULE_EXPORTS_RE = /module\.exports\s*=\s*(?:{([^}]+)}|(\w+))/g;
@@ -133,17 +144,64 @@ export const javascriptExtractor = {
133
144
  imports.push({ source, symbols: [] });
134
145
  }
135
146
  }
147
+ // Re-export named: export { x, y } from 'module' (D1)
148
+ for (const match of content.matchAll(REEXPORT_NAMED_RE)) {
149
+ const symbols = match[1]
150
+ ?.split(',')
151
+ .map((s) => s.trim().replace(/\s+as\s+\w+/, ''))
152
+ .filter(Boolean);
153
+ const source = match[2];
154
+ const key = `${source}:reexport-named`;
155
+ if (!seen.has(key)) {
156
+ seen.add(key);
157
+ imports.push({ source, symbols });
158
+ }
159
+ }
160
+ // Re-export type-only: export type { x, y } from 'module' (D1)
161
+ for (const match of content.matchAll(REEXPORT_TYPE_RE)) {
162
+ const symbols = match[1]
163
+ ?.split(',')
164
+ .map((s) => s.trim().replace(/\s+as\s+\w+/, ''))
165
+ .filter(Boolean);
166
+ const source = match[2];
167
+ const key = `${source}:reexport-type`;
168
+ if (!seen.has(key)) {
169
+ seen.add(key);
170
+ imports.push({ source, symbols });
171
+ }
172
+ }
173
+ // Re-export wildcard: export * from 'module' (D1, D4 — never enumerate)
174
+ for (const match of content.matchAll(REEXPORT_WILDCARD_RE)) {
175
+ const source = match[1];
176
+ const key = `${source}:reexport-wildcard`;
177
+ if (!seen.has(key)) {
178
+ seen.add(key);
179
+ imports.push({ source, symbols: [] });
180
+ }
181
+ }
136
182
  return imports;
137
183
  },
138
184
  extractExports(content) {
139
185
  const exports = [];
140
186
  const seen = new Set();
187
+ const seenReExports = new Set();
141
188
  function add(name, kind) {
142
189
  if (!seen.has(name)) {
143
190
  seen.add(name);
144
191
  exports.push({ name, kind });
145
192
  }
146
193
  }
194
+ // Re-exported names use a SEPARATE seen-set keyed by `name:source`
195
+ // (mirrors typescript.ts D2) — never collides with a genuine local
196
+ // export of the same name, and the wildcard sentinel (`'*'`) supports
197
+ // multiple `export * from` lines from different sources.
198
+ function addReExport(name, kind, source) {
199
+ const key = `${name}:${source}`;
200
+ if (!seenReExports.has(key)) {
201
+ seenReExports.add(key);
202
+ exports.push({ name, kind, source });
203
+ }
204
+ }
147
205
  // export default (named)
148
206
  for (const match of content.matchAll(EXPORT_DEFAULT_RE)) {
149
207
  const name = match[1] ?? match[2] ?? match[3];
@@ -167,7 +225,8 @@ export const javascriptExtractor = {
167
225
  for (const match of content.matchAll(EXPORT_VARIABLE_RE)) {
168
226
  add(match[1], 'variable');
169
227
  }
170
- // export { x, y }
228
+ // export { x, y } — local named exports only (D2: `from`-suffixed
229
+ // matches are excluded by EXPORT_NAMED_RE's negative lookahead)
171
230
  for (const match of content.matchAll(EXPORT_NAMED_RE)) {
172
231
  const names = match[1]
173
232
  ?.split(',')
@@ -177,6 +236,33 @@ export const javascriptExtractor = {
177
236
  add(name, 'variable');
178
237
  }
179
238
  }
239
+ // export { x, y } from 'module' — named re-export (D1, D2)
240
+ for (const match of content.matchAll(REEXPORT_NAMED_RE)) {
241
+ const names = match[1]
242
+ ?.split(',')
243
+ .map((s) => s.trim().replace(/\s+as\s+\w+/, ''))
244
+ .filter(Boolean);
245
+ const source = match[2];
246
+ for (const name of names) {
247
+ addReExport(name, 'variable', source);
248
+ }
249
+ }
250
+ // export type { x, y } from 'module' — type-only re-export (D1, D2)
251
+ for (const match of content.matchAll(REEXPORT_TYPE_RE)) {
252
+ const names = match[1]
253
+ ?.split(',')
254
+ .map((s) => s.trim().replace(/\s+as\s+\w+/, ''))
255
+ .filter(Boolean);
256
+ const source = match[2];
257
+ for (const name of names) {
258
+ addReExport(name, 'type', source);
259
+ }
260
+ }
261
+ // export * from 'module' — wildcard re-export (D1, D4: sentinel name)
262
+ for (const match of content.matchAll(REEXPORT_WILDCARD_RE)) {
263
+ const source = match[1];
264
+ addReExport('*', 'variable', source);
265
+ }
180
266
  // module.exports = { x, y } or module.exports = x
181
267
  for (const match of content.matchAll(MODULE_EXPORTS_RE)) {
182
268
  const objectPart = match[1];
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/graph/extractors/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/graph/extractors/javascript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/rust.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAc,SAAS,EAAc,MAAM,YAAY,CAAC;AAmCpE,eAAO,MAAM,aAAa,EAAE,SAoG3B,CAAC"}
1
+ {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/graph/extractors/rust.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAc,SAAS,EAAc,MAAM,YAAY,CAAC;AAwCpE,eAAO,MAAM,aAAa,EAAE,SAoG3B,CAAC"}