@cleocode/nexus 2026.9.8 → 2026.9.9
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.
- package/dist/src/code/parser.d.ts +19 -1
- package/dist/src/code/parser.d.ts.map +1 -1
- package/dist/src/code/parser.js +61 -1
- package/dist/src/code/parser.js.map +1 -1
- package/dist/src/intelligence/impact.d.ts +9 -0
- package/dist/src/intelligence/impact.d.ts.map +1 -1
- package/dist/src/intelligence/impact.js +25 -13
- package/dist/src/intelligence/impact.js.map +1 -1
- package/dist/src/pipeline/call-processor.d.ts +4 -1
- package/dist/src/pipeline/call-processor.d.ts.map +1 -1
- package/dist/src/pipeline/call-processor.js +43 -3
- package/dist/src/pipeline/call-processor.js.map +1 -1
- package/dist/src/pipeline/community-processor.d.ts.map +1 -1
- package/dist/src/pipeline/community-processor.js +6 -27
- package/dist/src/pipeline/community-processor.js.map +1 -1
- package/dist/src/pipeline/extractors/typescript-extractor.d.ts +27 -35
- package/dist/src/pipeline/extractors/typescript-extractor.d.ts.map +1 -1
- package/dist/src/pipeline/extractors/typescript-extractor.js +100 -213
- package/dist/src/pipeline/extractors/typescript-extractor.js.map +1 -1
- package/dist/src/pipeline/filesystem-walker.d.ts +9 -5
- package/dist/src/pipeline/filesystem-walker.d.ts.map +1 -1
- package/dist/src/pipeline/filesystem-walker.js +154 -79
- package/dist/src/pipeline/filesystem-walker.js.map +1 -1
- package/dist/src/pipeline/heritage-processor.d.ts.map +1 -1
- package/dist/src/pipeline/heritage-processor.js +29 -4
- package/dist/src/pipeline/heritage-processor.js.map +1 -1
- package/dist/src/pipeline/import-processor.d.ts +28 -6
- package/dist/src/pipeline/import-processor.d.ts.map +1 -1
- package/dist/src/pipeline/import-processor.js +68 -45
- package/dist/src/pipeline/import-processor.js.map +1 -1
- package/dist/src/pipeline/index.d.ts +32 -20
- package/dist/src/pipeline/index.d.ts.map +1 -1
- package/dist/src/pipeline/index.js +173 -148
- package/dist/src/pipeline/index.js.map +1 -1
- package/dist/src/pipeline/knowledge-graph.d.ts +3 -1
- package/dist/src/pipeline/knowledge-graph.d.ts.map +1 -1
- package/dist/src/pipeline/knowledge-graph.js +36 -2
- package/dist/src/pipeline/knowledge-graph.js.map +1 -1
- package/dist/src/pipeline/lexical-scope.d.ts +60 -0
- package/dist/src/pipeline/lexical-scope.d.ts.map +1 -0
- package/dist/src/pipeline/lexical-scope.js +362 -0
- package/dist/src/pipeline/lexical-scope.js.map +1 -0
- package/dist/src/pipeline/parse-loop.d.ts +49 -2
- package/dist/src/pipeline/parse-loop.d.ts.map +1 -1
- package/dist/src/pipeline/parse-loop.js +346 -144
- package/dist/src/pipeline/parse-loop.js.map +1 -1
- package/dist/src/pipeline/processors/access-processor.d.ts +27 -14
- package/dist/src/pipeline/processors/access-processor.d.ts.map +1 -1
- package/dist/src/pipeline/processors/access-processor.js +106 -27
- package/dist/src/pipeline/processors/access-processor.js.map +1 -1
- package/dist/src/pipeline/structure-processor.d.ts.map +1 -1
- package/dist/src/pipeline/structure-processor.js +1 -0
- package/dist/src/pipeline/structure-processor.js.map +1 -1
- package/dist/src/pipeline/symbol-table.d.ts +41 -3
- package/dist/src/pipeline/symbol-table.d.ts.map +1 -1
- package/dist/src/pipeline/symbol-table.js +104 -2
- package/dist/src/pipeline/symbol-table.js.map +1 -1
- package/dist/src/pipeline/workers/parse-worker.d.ts +29 -92
- package/dist/src/pipeline/workers/parse-worker.d.ts.map +1 -1
- package/dist/src/pipeline/workers/parse-worker.js +49 -1110
- package/dist/src/pipeline/workers/parse-worker.js.map +1 -1
- package/dist/src/pipeline/workers/worker-pool.d.ts +6 -4
- package/dist/src/pipeline/workers/worker-pool.d.ts.map +1 -1
- package/dist/src/pipeline/workers/worker-pool.js +112 -22
- package/dist/src/pipeline/workers/worker-pool.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
|
@@ -8,7 +8,25 @@
|
|
|
8
8
|
* @task T509
|
|
9
9
|
* @module code/parser
|
|
10
10
|
*/
|
|
11
|
-
import type { BatchParseResult, ParseResult } from '@cleocode/contracts';
|
|
11
|
+
import type { BatchParseResult, ParseResult, ParserExecutionLimits } from '@cleocode/contracts';
|
|
12
|
+
import type Parser from 'tree-sitter';
|
|
13
|
+
/**
|
|
14
|
+
* Parse original Unicode through bounded UTF-16 input chunks and a native deadline.
|
|
15
|
+
* @param parser - Configured native parser; the caller selects its grammar.
|
|
16
|
+
* @param source - Unmodified source text, retained for accurate node text and spans.
|
|
17
|
+
* @param limits - Per-file source size, native deadline and cooperative cancellation.
|
|
18
|
+
* @returns The native syntax tree retaining original UTF-16 source indexes.
|
|
19
|
+
* @remarks The native timeout bounds synchronous parsing; a JavaScript timer cannot
|
|
20
|
+
* preempt it. Cancellation in this realm is cooperative. Worker resource limits
|
|
21
|
+
* bound JavaScript heap separately and do not cap native allocations. The 4096-unit
|
|
22
|
+
* input chunks avoid the installed binding's default string-buffer limit without
|
|
23
|
+
* allocating a buffer proportional to the entire source. Surrogate pairs stay intact.
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const tree = parseOriginalSource(parser, 'const 解析 = "🌱";', { timeoutMs: 500 });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function parseOriginalSource(parser: Pick<Parser, 'parse' | 'reset' | 'setTimeoutMicros'>, source: string, limits?: ParserExecutionLimits): Parser.Tree;
|
|
12
30
|
/**
|
|
13
31
|
* Probe and cache tree-sitter native module availability.
|
|
14
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/code/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,gBAAgB,EAGhB,WAAW,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/code/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,gBAAgB,EAGhB,WAAW,EACX,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAuBtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,kBAAkB,CAAC,EAC5D,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,qBAA0B,GACjC,MAAM,CAAC,IAAI,CA2Cb;AAwDD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAmB/C;AA2RD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CA6E7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAgBtF"}
|
package/dist/src/code/parser.js
CHANGED
|
@@ -30,6 +30,66 @@ function tryRequire(id) {
|
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Parse original Unicode through bounded UTF-16 input chunks and a native deadline.
|
|
35
|
+
* @param parser - Configured native parser; the caller selects its grammar.
|
|
36
|
+
* @param source - Unmodified source text, retained for accurate node text and spans.
|
|
37
|
+
* @param limits - Per-file source size, native deadline and cooperative cancellation.
|
|
38
|
+
* @returns The native syntax tree retaining original UTF-16 source indexes.
|
|
39
|
+
* @remarks The native timeout bounds synchronous parsing; a JavaScript timer cannot
|
|
40
|
+
* preempt it. Cancellation in this realm is cooperative. Worker resource limits
|
|
41
|
+
* bound JavaScript heap separately and do not cap native allocations. The 4096-unit
|
|
42
|
+
* input chunks avoid the installed binding's default string-buffer limit without
|
|
43
|
+
* allocating a buffer proportional to the entire source. Surrogate pairs stay intact.
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const tree = parseOriginalSource(parser, 'const 解析 = "🌱";', { timeoutMs: 500 });
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export function parseOriginalSource(parser, source, limits = {}) {
|
|
50
|
+
const maxSourceBytes = limits.maxSourceBytes ?? 512 * 1024;
|
|
51
|
+
const timeoutMs = limits.timeoutMs ?? 1000;
|
|
52
|
+
if (!Number.isSafeInteger(maxSourceBytes) ||
|
|
53
|
+
maxSourceBytes <= 0 ||
|
|
54
|
+
!Number.isFinite(timeoutMs) ||
|
|
55
|
+
timeoutMs <= 0) {
|
|
56
|
+
throw new Error('E_PARSE_LIMIT: positive finite limits are required');
|
|
57
|
+
}
|
|
58
|
+
if (Buffer.byteLength(source, 'utf8') > maxSourceBytes) {
|
|
59
|
+
throw new Error(`E_PARSE_SIZE: source exceeds ${maxSourceBytes} UTF-8 bytes`);
|
|
60
|
+
}
|
|
61
|
+
limits.signal?.throwIfAborted();
|
|
62
|
+
const deadline = performance.now() + timeoutMs;
|
|
63
|
+
let parsing = true;
|
|
64
|
+
const input = (offset) => {
|
|
65
|
+
if (parsing) {
|
|
66
|
+
limits.signal?.throwIfAborted();
|
|
67
|
+
if (performance.now() >= deadline)
|
|
68
|
+
throw new Error('E_PARSE_TIMEOUT: input deadline exceeded');
|
|
69
|
+
}
|
|
70
|
+
let end = Math.min(source.length, offset + 4096);
|
|
71
|
+
const last = source.charCodeAt(end - 1);
|
|
72
|
+
if (end < source.length && last >= 0xd800 && last <= 0xdbff)
|
|
73
|
+
end--;
|
|
74
|
+
return source.slice(offset, end);
|
|
75
|
+
};
|
|
76
|
+
parser.reset();
|
|
77
|
+
parser.setTimeoutMicros(Math.max(1, Math.floor(timeoutMs * 1000)));
|
|
78
|
+
try {
|
|
79
|
+
const tree = parser.parse(input);
|
|
80
|
+
if (!tree || performance.now() >= deadline)
|
|
81
|
+
throw new Error('E_PARSE_TIMEOUT: native deadline exceeded');
|
|
82
|
+
limits.signal?.throwIfAborted();
|
|
83
|
+
if (tree.rootNode.hasError)
|
|
84
|
+
throw new Error('E_PARSE_SYNTAX: native tree contains syntax errors');
|
|
85
|
+
return tree;
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
parsing = false;
|
|
89
|
+
parser.reset();
|
|
90
|
+
parser.setTimeoutMicros(0);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
33
93
|
/** The native Parser constructor (null if module unavailable). */
|
|
34
94
|
let _ParserClass = null;
|
|
35
95
|
/** The native Query constructor (null if module unavailable). */
|
|
@@ -373,7 +433,7 @@ export function parseFile(filePath, projectRoot) {
|
|
|
373
433
|
try {
|
|
374
434
|
const parser = getParser();
|
|
375
435
|
parser.setLanguage(grammar);
|
|
376
|
-
const tree = parser
|
|
436
|
+
const tree = parseOriginalSource(parser, source);
|
|
377
437
|
const query = getQuery(grammar, queryKey, pattern);
|
|
378
438
|
if (!query) {
|
|
379
439
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/code/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/code/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,15 @@
|
|
|
24
24
|
* @module intelligence/impact
|
|
25
25
|
*/
|
|
26
26
|
import type { GraphNode, GraphRelation, GraphRelationType, ImpactResult } from '@cleocode/contracts';
|
|
27
|
+
/** Ambiguous short symbol names require an exact graph identifier. */
|
|
28
|
+
export declare class ImpactSymbolAmbiguityError extends Error {
|
|
29
|
+
/** Stable code for CLI/SDK callers. */
|
|
30
|
+
readonly code = "E_AMBIGUOUS_SYMBOL";
|
|
31
|
+
/** Candidate records retain exact IDs and source paths. */
|
|
32
|
+
readonly candidates: GraphNode[];
|
|
33
|
+
/** Create a resolvable ambiguity failure without choosing a checkout. */
|
|
34
|
+
constructor(target: string, candidates: GraphNode[]);
|
|
35
|
+
}
|
|
27
36
|
/**
|
|
28
37
|
* Options for {@link analyzeImpact}.
|
|
29
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../../src/intelligence/impact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,YAAY,EACb,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"impact.d.ts","sourceRoot":"","sources":["../../../src/intelligence/impact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,uCAAuC;IACvC,QAAQ,CAAC,IAAI,wBAAwB;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;IACjC,yEAAyE;gBAC7D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;CAKpD;AAMD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACrC;AAqJD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,aAAa,EAAE,EAC1B,OAAO,CAAC,EAAE,aAAa,GACtB,YAAY,CAmFd"}
|
|
@@ -23,6 +23,19 @@
|
|
|
23
23
|
* @task T512
|
|
24
24
|
* @module intelligence/impact
|
|
25
25
|
*/
|
|
26
|
+
/** Ambiguous short symbol names require an exact graph identifier. */
|
|
27
|
+
export class ImpactSymbolAmbiguityError extends Error {
|
|
28
|
+
/** Stable code for CLI/SDK callers. */
|
|
29
|
+
code = 'E_AMBIGUOUS_SYMBOL';
|
|
30
|
+
/** Candidate records retain exact IDs and source paths. */
|
|
31
|
+
candidates;
|
|
32
|
+
/** Create a resolvable ambiguity failure without choosing a checkout. */
|
|
33
|
+
constructor(target, candidates) {
|
|
34
|
+
super(`Symbol '${target}' is ambiguous; use an exact candidate identifier.`);
|
|
35
|
+
this.name = 'ImpactSymbolAmbiguityError';
|
|
36
|
+
this.candidates = candidates;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
26
39
|
// ---------------------------------------------------------------------------
|
|
27
40
|
// Risk assessment
|
|
28
41
|
// ---------------------------------------------------------------------------
|
|
@@ -64,6 +77,8 @@ const DEFAULT_UPSTREAM_TYPES = [
|
|
|
64
77
|
function classifyRisk(targetNode, depth1, depth2, depth3, relations) {
|
|
65
78
|
const directCount = depth1.length;
|
|
66
79
|
const total = directCount + depth2.length + depth3.length;
|
|
80
|
+
if (total === 0)
|
|
81
|
+
return 'none';
|
|
67
82
|
// Check for cross-module usage: relations that cross file boundaries
|
|
68
83
|
const targetFilePath = targetNode.filePath;
|
|
69
84
|
const crossModuleRelations = relations.filter((r) => CROSS_MODULE_TYPES.has(r.type) && r.source !== targetFilePath && r.target !== targetFilePath);
|
|
@@ -94,7 +109,7 @@ function classifyRisk(targetNode, depth1, depth2, depth3, relations) {
|
|
|
94
109
|
function composeSummary(target, riskLevel, depth1Count, totalCount) {
|
|
95
110
|
const riskLabel = riskLevel.toUpperCase();
|
|
96
111
|
if (totalCount === 0) {
|
|
97
|
-
return `${target}: no dependants found — risk ${riskLabel}
|
|
112
|
+
return `${target}: no static dependants found — risk ${riskLabel}. Static analysis cannot prove all runtime callers.`;
|
|
98
113
|
}
|
|
99
114
|
return (`${target}: ${depth1Count} direct dependant(s), ` +
|
|
100
115
|
`${totalCount} total affected node(s) — risk ${riskLabel}`);
|
|
@@ -170,22 +185,19 @@ export function analyzeImpact(target, nodes, relations, options) {
|
|
|
170
185
|
: new Set(DEFAULT_UPSTREAM_TYPES);
|
|
171
186
|
// Build a fast lookup map for nodes
|
|
172
187
|
const nodeById = new Map();
|
|
173
|
-
const
|
|
174
|
-
for (const node of nodes) {
|
|
188
|
+
for (const node of nodes)
|
|
175
189
|
nodeById.set(node.id, node);
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
//
|
|
182
|
-
const targetNode = nodeByName.get(target) ?? nodeById.get(target);
|
|
183
|
-
// Return a zero-impact result if the target is not found
|
|
190
|
+
const exact = nodeById.get(target);
|
|
191
|
+
const candidates = exact ? [exact] : nodes.filter((node) => node.name === target);
|
|
192
|
+
if (candidates.length > 1)
|
|
193
|
+
throw new ImpactSymbolAmbiguityError(target, candidates);
|
|
194
|
+
const targetNode = candidates[0];
|
|
195
|
+
// Missing coverage cannot establish low or zero impact.
|
|
184
196
|
if (!targetNode) {
|
|
185
197
|
return {
|
|
186
198
|
target,
|
|
187
|
-
riskLevel: '
|
|
188
|
-
summary: `${target}:
|
|
199
|
+
riskLevel: 'unknown',
|
|
200
|
+
summary: `${target}: target is absent from the graph; impact is unknown. Static analysis cannot prove all runtime callers.`,
|
|
189
201
|
affectedByDepth: {
|
|
190
202
|
depth1_willBreak: [],
|
|
191
203
|
depth2_likelyAffected: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact.js","sourceRoot":"","sources":["../../../src/intelligence/impact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"impact.js","sourceRoot":"","sources":["../../../src/intelligence/impact.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,14 +29,17 @@
|
|
|
29
29
|
* @task T536
|
|
30
30
|
* @module pipeline/call-processor
|
|
31
31
|
*/
|
|
32
|
+
import type { GraphIndexReferenceReport } from '@cleocode/contracts';
|
|
32
33
|
import type { ExtractedCall } from './extractors/typescript-extractor.js';
|
|
33
34
|
import type { BarrelExportMap, NamedImportMap } from './import-processor.js';
|
|
34
35
|
import type { KnowledgeGraph } from './knowledge-graph.js';
|
|
35
|
-
import type
|
|
36
|
+
import { type SymbolTable } from './symbol-table.js';
|
|
36
37
|
/**
|
|
37
38
|
* Result counters from a call resolution run.
|
|
38
39
|
*/
|
|
39
40
|
export interface CallResolutionResult {
|
|
41
|
+
/** Unresolved sites retained with their original binding and range evidence. */
|
|
42
|
+
references: GraphIndexReferenceReport[];
|
|
40
43
|
/** CALLS edges emitted at Tier 1 (same-file confidence 0.95). */
|
|
41
44
|
tier1Count: number;
|
|
42
45
|
/** CALLS edges emitted at Tier 2a (named-import confidence 0.90). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/call-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;
|
|
1
|
+
{"version":3,"file":"call-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/call-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAiB,MAAM,qBAAqB,CAAC;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAwC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAM3F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gFAAgF;IAChF,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAmCA;AAwHD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,aAAa,EAAE,EACtB,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,eAA2B,GACrC,OAAO,CAAC,oBAAoB,CAAC,CAkH/B"}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
import { confidenceLabelFromNumeric } from '@cleocode/contracts';
|
|
33
33
|
import { resolveBarrelBinding } from './import-processor.js';
|
|
34
34
|
import { TIER_CONFIDENCE } from './resolution-context.js';
|
|
35
|
+
import { CLASS_KINDS, resolveLexicalReference } from './symbol-table.js';
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
// HAS_METHOD and HAS_PROPERTY edges
|
|
37
38
|
// ---------------------------------------------------------------------------
|
|
@@ -50,7 +51,7 @@ export function emitClassMemberEdges(graph) {
|
|
|
50
51
|
let hasMethodCount = 0;
|
|
51
52
|
let hasPropertyCount = 0;
|
|
52
53
|
for (const node of graph.nodes.values()) {
|
|
53
|
-
if (!node.parent)
|
|
54
|
+
if (!node.parent || !CLASS_KINDS.has(graph.nodes.get(node.parent)?.kind ?? 'file'))
|
|
54
55
|
continue;
|
|
55
56
|
if (node.kind === 'method' || node.kind === 'constructor') {
|
|
56
57
|
const confidence = 0.99;
|
|
@@ -190,6 +191,7 @@ function resolveSingleCall(call, symbolTable, namedImportMap, barrelMap) {
|
|
|
190
191
|
* @returns Resolution counters
|
|
191
192
|
*/
|
|
192
193
|
export async function resolveCalls(calls, graph, symbolTable, namedImportMap, barrelMap = new Map()) {
|
|
194
|
+
const references = [];
|
|
193
195
|
let tier1Count = 0;
|
|
194
196
|
let tier2aCount = 0;
|
|
195
197
|
let tier3Count = 0;
|
|
@@ -212,9 +214,46 @@ export async function resolveCalls(calls, graph, symbolTable, namedImportMap, ba
|
|
|
212
214
|
await Promise.resolve();
|
|
213
215
|
}
|
|
214
216
|
for (const call of fileCalls) {
|
|
215
|
-
const
|
|
217
|
+
const lexical = call.generation
|
|
218
|
+
? resolveLexicalReference({
|
|
219
|
+
filePath: call.filePath,
|
|
220
|
+
sourceId: call.sourceId,
|
|
221
|
+
targetName: call.calledName,
|
|
222
|
+
relationship: 'calls',
|
|
223
|
+
span: call.span,
|
|
224
|
+
generation: call.generation,
|
|
225
|
+
publicationGeneration: call.publicationGeneration,
|
|
226
|
+
lexical: call.lexical,
|
|
227
|
+
member: call.callForm === 'member' ||
|
|
228
|
+
(call.callForm === 'constructor' && call.receiverName !== undefined),
|
|
229
|
+
dynamic: call.dynamic,
|
|
230
|
+
}, symbolTable, graph.nodes, namedImportMap, barrelMap)
|
|
231
|
+
: undefined;
|
|
232
|
+
if (lexical && 'report' in lexical) {
|
|
233
|
+
references.push(lexical.report);
|
|
234
|
+
unresolvedCount++;
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
|
+
const resolved = lexical
|
|
238
|
+
? {
|
|
239
|
+
nodeId: lexical.targetId,
|
|
240
|
+
confidence: TIER_CONFIDENCE[lexical.tier],
|
|
241
|
+
tier: lexical.tier,
|
|
242
|
+
}
|
|
243
|
+
: resolveSingleCall(call, symbolTable, namedImportMap, barrelMap);
|
|
216
244
|
if (!resolved) {
|
|
217
245
|
unresolvedCount++;
|
|
246
|
+
references.push({
|
|
247
|
+
kind: 'unresolved',
|
|
248
|
+
filePath: call.filePath,
|
|
249
|
+
sourceId: call.sourceId,
|
|
250
|
+
targetName: call.calledName,
|
|
251
|
+
relationship: 'calls',
|
|
252
|
+
reason: 'Language-specific resolver did not establish a target; lexical capability unavailable',
|
|
253
|
+
candidateIds: symbolTable
|
|
254
|
+
.lookupCallableByName(call.calledName)
|
|
255
|
+
.map((candidate) => candidate.nodeId),
|
|
256
|
+
});
|
|
218
257
|
continue;
|
|
219
258
|
}
|
|
220
259
|
const rel = {
|
|
@@ -223,7 +262,7 @@ export async function resolveCalls(calls, graph, symbolTable, namedImportMap, ba
|
|
|
223
262
|
type: 'calls',
|
|
224
263
|
confidence: resolved.confidence,
|
|
225
264
|
confidenceLabel: confidenceLabelFromNumeric(resolved.confidence),
|
|
226
|
-
reason: `${call.callForm} call to ${call.calledName} (tier: ${resolved.tier})`,
|
|
265
|
+
reason: `${call.callForm} call to ${call.calledName} (tier: ${resolved.tier})${lexical ? `; ${lexical.reason}; utf16 ${call.span?.startIndex}:${call.span?.endIndex}; source ${call.generation}` : '; language-specific name resolution'}`,
|
|
227
266
|
};
|
|
228
267
|
graph.addRelation(rel);
|
|
229
268
|
if (resolved.tier === 'same-file') {
|
|
@@ -240,6 +279,7 @@ export async function resolveCalls(calls, graph, symbolTable, namedImportMap, ba
|
|
|
240
279
|
// Emit HAS_METHOD and HAS_PROPERTY structural edges
|
|
241
280
|
const { hasMethodCount, hasPropertyCount } = emitClassMemberEdges(graph);
|
|
242
281
|
return {
|
|
282
|
+
references,
|
|
243
283
|
tier1Count,
|
|
244
284
|
tier2aCount,
|
|
245
285
|
tier3Count,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-processor.js","sourceRoot":"","sources":["../../../src/pipeline/call-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"call-processor.js","sourceRoot":"","sources":["../../../src/pipeline/call-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"community-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6D3D,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QACL,iDAAiD;QACjD,gBAAgB,EAAE,MAAM,CAAC;QACzB,0DAA0D;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,cAAc,EAAE,MAAM,CAAC;QACvB,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oDAAoD;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,
|
|
1
|
+
{"version":3,"file":"community-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6D3D,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QACL,iDAAiD;QACjD,gBAAgB,EAAE,MAAM,CAAC;QACzB,0DAA0D;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,cAAc,EAAE,MAAM,CAAC;QACvB,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oDAAoD;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA0GhG"}
|
|
@@ -125,34 +125,13 @@ export async function detectCommunities(graph) {
|
|
|
125
125
|
}
|
|
126
126
|
process.stderr.write(`[nexus] Phase 5: Running Leiden on ${gGraph.order} nodes, ${gGraph.size} edges` +
|
|
127
127
|
`${isLarge ? ` (large-graph mode, filtered from ${symbolCount} symbols)` : ''}\n`);
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
// This library is synchronous. A Promise.race timer cannot preempt it and
|
|
129
|
+
// previously kept successful analysis processes alive for another 60 seconds.
|
|
130
|
+
// Parser process deadlines do not claim to bound this separate graph phase.
|
|
131
131
|
const t0 = performance.now();
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
new Promise((_, reject) => setTimeout(() => reject(new Error('Leiden timeout')), LEIDEN_TIMEOUT_MS)),
|
|
136
|
-
]);
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
140
|
-
if (msg === 'Leiden timeout') {
|
|
141
|
-
process.stderr.write('[nexus] Phase 5: Leiden timed out — falling back to single cluster\n');
|
|
142
|
-
const fallback = {};
|
|
143
|
-
gGraph.forEachNode((nodeId) => {
|
|
144
|
-
fallback[nodeId] = 0;
|
|
145
|
-
});
|
|
146
|
-
details = {
|
|
147
|
-
communities: fallback,
|
|
148
|
-
count: 1,
|
|
149
|
-
modularity: 0,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
else {
|
|
153
|
-
throw err;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
132
|
+
const details = leidenAlgo.detailed(gGraph, {
|
|
133
|
+
resolution: LEIDEN_RESOLUTION,
|
|
134
|
+
});
|
|
156
135
|
const durationMs = performance.now() - t0;
|
|
157
136
|
process.stderr.write(`[nexus] Phase 5: Leiden found ${details.count} raw communities in ${durationMs.toFixed(0)}ms\n`);
|
|
158
137
|
// Build community info nodes (skip singletons)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"community-processor.js","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"community-processor.js","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,10 @@
|
|
|
25
25
|
* @module pipeline/extractors/typescript-extractor
|
|
26
26
|
*/
|
|
27
27
|
import type { GraphNode } from '@cleocode/contracts';
|
|
28
|
+
import type { GraphLexicalResolution, GraphSourceSpan } from '@cleocode/contracts/graph';
|
|
29
|
+
import type Parser from 'tree-sitter';
|
|
28
30
|
import type { ExtractedImport } from '../import-processor.js';
|
|
31
|
+
import { type LexicalScopeModel } from '../lexical-scope.js';
|
|
29
32
|
/**
|
|
30
33
|
* A heritage relationship extracted from a class or interface declaration.
|
|
31
34
|
*
|
|
@@ -48,26 +51,7 @@ export interface ExtractedHeritage {
|
|
|
48
51
|
* Minimal tree-sitter SyntaxNode shape required by this extractor.
|
|
49
52
|
* Avoids a hard dependency on any particular tree-sitter type package.
|
|
50
53
|
*/
|
|
51
|
-
|
|
52
|
-
type: string;
|
|
53
|
-
text: string;
|
|
54
|
-
startPosition: {
|
|
55
|
-
row: number;
|
|
56
|
-
column: number;
|
|
57
|
-
};
|
|
58
|
-
endPosition: {
|
|
59
|
-
row: number;
|
|
60
|
-
column: number;
|
|
61
|
-
};
|
|
62
|
-
children: SyntaxNode[];
|
|
63
|
-
namedChildren: SyntaxNode[];
|
|
64
|
-
namedChildCount: number;
|
|
65
|
-
isNamed: boolean;
|
|
66
|
-
parent: SyntaxNode | null;
|
|
67
|
-
previousSibling: SyntaxNode | null;
|
|
68
|
-
childForFieldName(fieldName: string): SyntaxNode | null;
|
|
69
|
-
namedChild(index: number): SyntaxNode | null;
|
|
70
|
-
}
|
|
54
|
+
type SyntaxNode = Parser.SyntaxNode;
|
|
71
55
|
/**
|
|
72
56
|
* A re-export record extracted from a barrel/index file.
|
|
73
57
|
*
|
|
@@ -167,23 +151,30 @@ export interface ExtractedCall {
|
|
|
167
151
|
* E.g. `'user'` for `user.save()`.
|
|
168
152
|
*/
|
|
169
153
|
receiverName?: string;
|
|
154
|
+
/** Original call range, when the language has the shared lexical capability. */
|
|
155
|
+
span?: GraphSourceSpan;
|
|
156
|
+
/** Source content generation used for lexical/anonymous identities. */
|
|
157
|
+
generation?: string;
|
|
158
|
+
/** Preallocated publication identity, distinct from the source content hash. */
|
|
159
|
+
publicationGeneration?: string;
|
|
160
|
+
/** Nearest callee binding for free calls, or receiver binding for member calls. */
|
|
161
|
+
lexical?: GraphLexicalResolution;
|
|
162
|
+
/** True when the original callee cannot be statically named; never silently discard it. */
|
|
163
|
+
dynamic?: boolean;
|
|
170
164
|
}
|
|
171
165
|
/**
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
* -
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
* @param root - AST root node (program node)
|
|
183
|
-
* @param filePath - File path relative to repo root
|
|
184
|
-
* @returns Array of extracted call records
|
|
166
|
+
* Retain every call expression with shared lexical ownership and binding evidence.
|
|
167
|
+
* @param root - Original native AST root.
|
|
168
|
+
* @param filePath - Repository-relative source identity.
|
|
169
|
+
* @param model - Shared model, or a standalone TS/JS model when omitted.
|
|
170
|
+
* @returns Static call records, including explicit dynamic expressions.
|
|
171
|
+
* @remarks Lexical identity does not prove runtime dispatch or invocation.
|
|
172
|
+
* @example
|
|
173
|
+
* ```ts
|
|
174
|
+
* const calls = extractCalls(tree.rootNode, 'src/auth.ts', model);
|
|
175
|
+
* ```
|
|
185
176
|
*/
|
|
186
|
-
export declare function extractCalls(root: SyntaxNode, filePath: string): ExtractedCall[];
|
|
177
|
+
export declare function extractCalls(root: SyntaxNode, filePath: string, model?: LexicalScopeModel): ExtractedCall[];
|
|
187
178
|
/**
|
|
188
179
|
* Full extraction result for one file.
|
|
189
180
|
*
|
|
@@ -214,8 +205,9 @@ export interface TypeScriptExtractionResult {
|
|
|
214
205
|
* @param rootNode - The root (program) node of the parsed AST
|
|
215
206
|
* @param filePath - File path relative to the repository root
|
|
216
207
|
* @param language - Language string (`typescript` or `javascript`)
|
|
208
|
+
* @param model - One shared original-source scope model, reused by access extraction.
|
|
217
209
|
* @returns Full extraction result for the file
|
|
218
210
|
*/
|
|
219
|
-
export declare function extractTypeScript(rootNode: SyntaxNode, filePath: string, language: string): TypeScriptExtractionResult;
|
|
211
|
+
export declare function extractTypeScript(rootNode: SyntaxNode, filePath: string, language: string, model?: LexicalScopeModel): TypeScriptExtractionResult;
|
|
220
212
|
export {};
|
|
221
213
|
//# sourceMappingURL=typescript-extractor.d.ts.map
|