@ttsc/graph 0.16.6 → 0.16.7
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/README.md +22 -0
- package/lib/TtscGraphApplication.js +39 -16
- package/lib/TtscGraphApplication.js.map +1 -1
- package/lib/model/TtscGraphMemory.js +43 -4
- package/lib/model/TtscGraphMemory.js.map +1 -1
- package/lib/server/createServer.js +555 -221
- package/lib/server/createServer.js.map +1 -1
- package/lib/server/instructions.js +81 -69
- package/lib/server/instructions.js.map +1 -1
- package/lib/server/pathPolicy.js +35 -0
- package/lib/server/pathPolicy.js.map +1 -0
- package/lib/server/resultGuide.js +16 -0
- package/lib/server/resultGuide.js.map +1 -0
- package/lib/server/runDetails.js +71 -10
- package/lib/server/runDetails.js.map +1 -1
- package/lib/server/runEntrypoints.js +3 -4
- package/lib/server/runEntrypoints.js.map +1 -1
- package/lib/server/runLookup.js +21 -9
- package/lib/server/runLookup.js.map +1 -1
- package/lib/server/runOverview.js +13 -6
- package/lib/server/runOverview.js.map +1 -1
- package/lib/server/runTour.js +737 -0
- package/lib/server/runTour.js.map +1 -0
- package/lib/server/runTrace.js +108 -22
- package/lib/server/runTrace.js.map +1 -1
- package/lib/structures/ITtscGraphNext.js +3 -0
- package/lib/structures/ITtscGraphNext.js.map +1 -0
- package/lib/structures/ITtscGraphTour.js +3 -0
- package/lib/structures/ITtscGraphTour.js.map +1 -0
- package/lib/structures/index.js +2 -0
- package/lib/structures/index.js.map +1 -1
- package/package.json +2 -2
- package/src/TtscGraphApplication.ts +49 -16
- package/src/model/TtscGraphMemory.ts +46 -4
- package/src/server/instructions.ts +81 -69
- package/src/server/pathPolicy.ts +43 -0
- package/src/server/resultGuide.ts +20 -0
- package/src/server/runDetails.ts +90 -6
- package/src/server/runEntrypoints.ts +9 -4
- package/src/server/runLookup.ts +33 -6
- package/src/server/runOverview.ts +24 -8
- package/src/server/runTour.ts +881 -0
- package/src/server/runTrace.ts +151 -23
- package/src/structures/ITtscGraphApplication.ts +35 -64
- package/src/structures/ITtscGraphDetails.ts +74 -11
- package/src/structures/ITtscGraphEntrypoints.ts +46 -15
- package/src/structures/ITtscGraphEscape.ts +19 -9
- package/src/structures/ITtscGraphLookup.ts +36 -15
- package/src/structures/ITtscGraphNext.ts +23 -0
- package/src/structures/ITtscGraphOverview.ts +20 -5
- package/src/structures/ITtscGraphTour.ts +150 -0
- package/src/structures/ITtscGraphTrace.ts +58 -21
- package/src/structures/index.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTour.js","sourceRoot":"","sources":["../../src/server/runTour.ts"],"names":[],"mappings":"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"}
|
package/lib/server/runTrace.js
CHANGED
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runTrace = runTrace;
|
|
4
4
|
const accessAliases_1 = require("./accessAliases");
|
|
5
|
+
const pathPolicy_1 = require("./pathPolicy");
|
|
5
6
|
const resolveHandle_1 = require("./resolveHandle");
|
|
7
|
+
const resultGuide_1 = require("./resultGuide");
|
|
6
8
|
const runDetails_1 = require("./runDetails");
|
|
7
9
|
const DEFAULT_DEPTH = 2;
|
|
8
10
|
const DEFAULT_MAX_NODES = 6;
|
|
9
11
|
const MAX_OPEN_DEPTH = 2;
|
|
10
12
|
const MAX_OPEN_NODES = 8;
|
|
11
|
-
const
|
|
13
|
+
const MAX_IMPACT_DEPTH = 4;
|
|
14
|
+
const MAX_IMPACT_NODES = 16;
|
|
15
|
+
const MAX_HOPS_PER_NODE = 2;
|
|
12
16
|
const MAX_STEPS = 6;
|
|
13
|
-
const MAX_NEXT_HANDLES = 2;
|
|
14
17
|
/**
|
|
15
18
|
* Breadth-first trace along the dependency graph. Structural
|
|
16
19
|
* (contains/exports/imports) edges are excluded so the path is real call/type
|
|
@@ -21,10 +24,12 @@ const MAX_NEXT_HANDLES = 2;
|
|
|
21
24
|
function runTrace(graph, props) {
|
|
22
25
|
const direction = props.direction ?? "forward";
|
|
23
26
|
const focus = props.focus ?? "all";
|
|
24
|
-
const
|
|
25
|
-
const
|
|
27
|
+
const impact = direction === "impact";
|
|
28
|
+
const maxDepth = bound(props.maxDepth, DEFAULT_DEPTH, 1, impact ? MAX_IMPACT_DEPTH : MAX_OPEN_DEPTH);
|
|
29
|
+
const maxNodes = bound(props.maxNodes, DEFAULT_MAX_NODES, 1, impact ? MAX_IMPACT_NODES : MAX_OPEN_NODES);
|
|
26
30
|
const maxHops = maxNodes * MAX_HOPS_PER_NODE;
|
|
27
31
|
const reverse = direction === "reverse" || direction === "impact";
|
|
32
|
+
const includeExternal = props.includeExternal === true;
|
|
28
33
|
// Only an impact trace tags reached nodes with their public-surface role; for
|
|
29
34
|
// forward/reverse the role is noise.
|
|
30
35
|
const withRoles = direction === "impact";
|
|
@@ -36,6 +41,8 @@ function runTrace(graph, props) {
|
|
|
36
41
|
hops: [],
|
|
37
42
|
reached: [],
|
|
38
43
|
truncated: false,
|
|
44
|
+
next: (0, resultGuide_1.resultNext)("clarify", "The start handle is ambiguous; choose one returned candidate."),
|
|
45
|
+
guide: (0, resultGuide_1.resultGuide)("Disambiguate with the returned candidates, or ask the user for the intended symbol."),
|
|
39
46
|
candidates: start.candidates.map((n) => summary(graph, n)),
|
|
40
47
|
};
|
|
41
48
|
}
|
|
@@ -46,6 +53,8 @@ function runTrace(graph, props) {
|
|
|
46
53
|
hops: [],
|
|
47
54
|
reached: [],
|
|
48
55
|
truncated: false,
|
|
56
|
+
next: (0, resultGuide_1.resultNext)("clarify", "The start handle did not resolve in the compiler graph."),
|
|
57
|
+
guide: (0, resultGuide_1.resultGuide)("The start symbol was not resolved; answer that the graph has no trace from this handle."),
|
|
49
58
|
};
|
|
50
59
|
}
|
|
51
60
|
// Path mode: with `to`, return the dependency path from `from` to `to`, the
|
|
@@ -57,6 +66,8 @@ function runTrace(graph, props) {
|
|
|
57
66
|
hops: [],
|
|
58
67
|
reached: [],
|
|
59
68
|
truncated: false,
|
|
69
|
+
next: (0, resultGuide_1.resultNext)("answer", "The path result is the structural flow answer; cite path nodes and evidence ranges."),
|
|
70
|
+
guide: (0, resultGuide_1.resultGuide)("Use the returned path, hops, and evidence ranges as the flow answer."),
|
|
60
71
|
};
|
|
61
72
|
const target = (0, resolveHandle_1.resolveGraphHandle)(graph, props.to);
|
|
62
73
|
if (target.candidates) {
|
|
@@ -69,7 +80,7 @@ function runTrace(graph, props) {
|
|
|
69
80
|
if (target.node === undefined) {
|
|
70
81
|
return { ...base, start: summary(graph, start.node) };
|
|
71
82
|
}
|
|
72
|
-
const found = findPath(graph, start.node.id, target.node.id, bound(props.maxDepth, 12, 1, 12), focus);
|
|
83
|
+
const found = findPath(graph, start.node.id, target.node.id, bound(props.maxDepth, 12, 1, 12), focus, includeExternal);
|
|
73
84
|
const path = found?.path ?? [];
|
|
74
85
|
const hops = found?.hops ?? [];
|
|
75
86
|
return {
|
|
@@ -79,7 +90,6 @@ function runTrace(graph, props) {
|
|
|
79
90
|
hops,
|
|
80
91
|
path: path.map((node, i) => summary(graph, node, i, false, true)),
|
|
81
92
|
steps: traceSteps(graph, hops),
|
|
82
|
-
next: nextFromPath(path),
|
|
83
93
|
};
|
|
84
94
|
}
|
|
85
95
|
const hops = [];
|
|
@@ -96,7 +106,7 @@ function runTrace(graph, props) {
|
|
|
96
106
|
truncated = true;
|
|
97
107
|
continue;
|
|
98
108
|
}
|
|
99
|
-
const edges = reverse ? graph.incoming(id) : graph.outgoing(id);
|
|
109
|
+
const edges = orderedEdges(graph, reverse ? graph.incoming(id) : graph.outgoing(id), direction, reverse);
|
|
100
110
|
for (const edge of edges) {
|
|
101
111
|
if (!traversable(edge.kind, focus))
|
|
102
112
|
continue;
|
|
@@ -104,6 +114,8 @@ function runTrace(graph, props) {
|
|
|
104
114
|
const other = graph.node(otherId);
|
|
105
115
|
if (other === undefined || other.kind === "file")
|
|
106
116
|
continue;
|
|
117
|
+
if (!includeExternal && (0, pathPolicy_1.isExternalNode)(other))
|
|
118
|
+
continue;
|
|
107
119
|
const hop = {
|
|
108
120
|
from: edge.from,
|
|
109
121
|
to: edge.to,
|
|
@@ -150,19 +162,11 @@ function runTrace(graph, props) {
|
|
|
150
162
|
hops,
|
|
151
163
|
reached: [...reached.values()],
|
|
152
164
|
steps: traceSteps(graph, hops),
|
|
153
|
-
next:
|
|
154
|
-
|
|
155
|
-
traceFrom: [...reached.keys()].slice(0, MAX_NEXT_HANDLES),
|
|
156
|
-
},
|
|
165
|
+
next: (0, resultGuide_1.resultNext)("answer", "Steps, hops, reached nodes, and evidence ranges are the flow answer surface."),
|
|
166
|
+
guide: (0, resultGuide_1.resultGuide)("Use steps, hops, reached nodes, and evidence ranges as the flow answer or reading-list anchor."),
|
|
157
167
|
truncated,
|
|
158
168
|
};
|
|
159
169
|
}
|
|
160
|
-
function nextFromPath(path) {
|
|
161
|
-
return {
|
|
162
|
-
details: path.map((node) => node.id),
|
|
163
|
-
traceFrom: path.length > 0 ? [path[path.length - 1].id] : [],
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
170
|
function traceSteps(graph, hops) {
|
|
167
171
|
return hops.slice(0, MAX_STEPS).map((hop) => {
|
|
168
172
|
const from = graph.node(hop.from);
|
|
@@ -181,7 +185,7 @@ function traceSteps(graph, hops) {
|
|
|
181
185
|
* structural) forward edges, breadth-first, or null when `targetId` is not
|
|
182
186
|
* reachable within maxDepth. Returns the nodes in order and the hops between.
|
|
183
187
|
*/
|
|
184
|
-
function findPath(graph, startId, targetId, maxDepth, focus) {
|
|
188
|
+
function findPath(graph, startId, targetId, maxDepth, focus, includeExternal) {
|
|
185
189
|
const startNode = graph.node(startId);
|
|
186
190
|
if (startNode === undefined)
|
|
187
191
|
return null;
|
|
@@ -204,6 +208,8 @@ function findPath(graph, startId, targetId, maxDepth, focus) {
|
|
|
204
208
|
const other = graph.node(otherId);
|
|
205
209
|
if (other === undefined || other.kind === "file")
|
|
206
210
|
continue;
|
|
211
|
+
if (!includeExternal && (0, pathPolicy_1.isExternalNode)(other))
|
|
212
|
+
continue;
|
|
207
213
|
visited.add(otherId);
|
|
208
214
|
const evidence = (0, runDetails_1.edgeEvidenceOf)(edge);
|
|
209
215
|
parent.set(otherId, {
|
|
@@ -254,6 +260,51 @@ function findPath(graph, startId, targetId, maxDepth, focus) {
|
|
|
254
260
|
}
|
|
255
261
|
return null;
|
|
256
262
|
}
|
|
263
|
+
function orderedEdges(graph, edges, direction, reverse) {
|
|
264
|
+
if (direction !== "impact")
|
|
265
|
+
return [...edges].sort((a, b) => edgeKindRank(a.kind) - edgeKindRank(b.kind) ||
|
|
266
|
+
traceEndpointRank(graph, reverse ? a.from : a.to) -
|
|
267
|
+
traceEndpointRank(graph, reverse ? b.from : b.to) ||
|
|
268
|
+
evidenceRank(a) - evidenceRank(b));
|
|
269
|
+
return [...edges].sort((a, b) => impactEndpointRank(graph, reverse ? a.from : a.to) -
|
|
270
|
+
impactEndpointRank(graph, reverse ? b.from : b.to) ||
|
|
271
|
+
edgeKindRank(a.kind) - edgeKindRank(b.kind) ||
|
|
272
|
+
evidenceRank(a) - evidenceRank(b));
|
|
273
|
+
}
|
|
274
|
+
function impactEndpointRank(graph, id) {
|
|
275
|
+
const node = graph.node(id);
|
|
276
|
+
if (node === undefined)
|
|
277
|
+
return 9;
|
|
278
|
+
if ((0, pathPolicy_1.isTestPath)(node.file))
|
|
279
|
+
return 0;
|
|
280
|
+
if (node.exported)
|
|
281
|
+
return 1;
|
|
282
|
+
if (node.external || node.ignored)
|
|
283
|
+
return 4;
|
|
284
|
+
return 2;
|
|
285
|
+
}
|
|
286
|
+
function traceEndpointRank(graph, id) {
|
|
287
|
+
const node = graph.node(id);
|
|
288
|
+
if (node === undefined)
|
|
289
|
+
return 9;
|
|
290
|
+
if ((0, pathPolicy_1.isTestPath)(node.file))
|
|
291
|
+
return 6;
|
|
292
|
+
switch (node.kind) {
|
|
293
|
+
case "function":
|
|
294
|
+
case "method":
|
|
295
|
+
case "class":
|
|
296
|
+
return 0;
|
|
297
|
+
case "variable":
|
|
298
|
+
return 1;
|
|
299
|
+
case "property":
|
|
300
|
+
return 2;
|
|
301
|
+
case "interface":
|
|
302
|
+
case "type":
|
|
303
|
+
return 4;
|
|
304
|
+
default:
|
|
305
|
+
return 3;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
257
308
|
/**
|
|
258
309
|
* Summarize a node for a trace result. With `withRoles`, tag the public-surface
|
|
259
310
|
* roles (exported / test) an impact trace reports; other directions omit them.
|
|
@@ -265,6 +316,16 @@ function summary(graph, node, depth, withRoles = false, withSignature = false) {
|
|
|
265
316
|
kind: node.kind,
|
|
266
317
|
file: node.file,
|
|
267
318
|
};
|
|
319
|
+
if (node.evidence?.startLine !== undefined)
|
|
320
|
+
out.line = node.evidence.startLine;
|
|
321
|
+
const span = node.implementation ?? node.evidence;
|
|
322
|
+
if (span !== undefined) {
|
|
323
|
+
out.sourceSpan = {
|
|
324
|
+
file: span.file,
|
|
325
|
+
startLine: span.startLine,
|
|
326
|
+
...(span.endLine !== undefined ? { endLine: span.endLine } : {}),
|
|
327
|
+
};
|
|
328
|
+
}
|
|
268
329
|
if (depth !== undefined)
|
|
269
330
|
out.depth = depth;
|
|
270
331
|
if (withSignature) {
|
|
@@ -276,7 +337,7 @@ function summary(graph, node, depth, withRoles = false, withSignature = false) {
|
|
|
276
337
|
const roles = [];
|
|
277
338
|
if (node.exported)
|
|
278
339
|
roles.push("exported");
|
|
279
|
-
if (
|
|
340
|
+
if ((0, pathPolicy_1.isTestPath)(node.file))
|
|
280
341
|
roles.push("test");
|
|
281
342
|
if (roles.length > 0)
|
|
282
343
|
out.roles = roles;
|
|
@@ -303,9 +364,34 @@ function traversable(kind, focus) {
|
|
|
303
364
|
}
|
|
304
365
|
return true;
|
|
305
366
|
}
|
|
306
|
-
function
|
|
307
|
-
|
|
308
|
-
|
|
367
|
+
function edgeKindRank(kind) {
|
|
368
|
+
switch (kind) {
|
|
369
|
+
case "calls":
|
|
370
|
+
return 0;
|
|
371
|
+
case "instantiates":
|
|
372
|
+
return 1;
|
|
373
|
+
case "renders":
|
|
374
|
+
return 2;
|
|
375
|
+
case "accesses":
|
|
376
|
+
return 3;
|
|
377
|
+
case "tests":
|
|
378
|
+
return 4;
|
|
379
|
+
case "overrides":
|
|
380
|
+
case "decorates":
|
|
381
|
+
return 5;
|
|
382
|
+
case "extends":
|
|
383
|
+
case "implements":
|
|
384
|
+
return 6;
|
|
385
|
+
case "type_ref":
|
|
386
|
+
return 7;
|
|
387
|
+
default:
|
|
388
|
+
return 10;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
function evidenceRank(edge) {
|
|
392
|
+
const line = edge.evidence?.startLine ?? 9999;
|
|
393
|
+
const col = edge.evidence?.startCol ?? 999;
|
|
394
|
+
return line * 100 + col;
|
|
309
395
|
}
|
|
310
396
|
function bound(value, fallback, min, max) {
|
|
311
397
|
const n = value === undefined || !Number.isFinite(value) ? fallback : value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTrace.js","sourceRoot":"","sources":["../../src/server/runTrace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runTrace.js","sourceRoot":"","sources":["../../src/server/runTrace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITtscGraphNext.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphNext.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITtscGraphTour.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphTour.ts"],"names":[],"mappings":""}
|
package/lib/structures/index.js
CHANGED
|
@@ -31,7 +31,9 @@ __exportStar(require("./ITtscGraphEntrypoints"), exports);
|
|
|
31
31
|
__exportStar(require("./ITtscGraphNode"), exports);
|
|
32
32
|
__exportStar(require("./ITtscGraphOverview"), exports);
|
|
33
33
|
__exportStar(require("./ITtscGraphLookup"), exports);
|
|
34
|
+
__exportStar(require("./ITtscGraphNext"), exports);
|
|
34
35
|
__exportStar(require("./ITtscGraphTrace"), exports);
|
|
36
|
+
__exportStar(require("./ITtscGraphTour"), exports);
|
|
35
37
|
__exportStar(require("./TtscGraphEdgeKind"), exports);
|
|
36
38
|
__exportStar(require("./TtscGraphNodeKind"), exports);
|
|
37
39
|
__exportStar(require("./TtscGraphNodeModifier"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,6BAA6B;;;;;;;;;;;;;;;;AAE7B,0DAAwC;AACxC,wDAAsC;AACtC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/structures/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,0EAA0E;AAC1E,8EAA8E;AAC9E,gFAAgF;AAChF,6BAA6B;;;;;;;;;;;;;;;;AAE7B,0DAAwC;AACxC,wDAAsC;AACtC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttsc/graph",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.7",
|
|
4
4
|
"description": "Checker-resolved architecture graph over MCP for coding agents, backed by ttsc's in-process TypeScript-Go compiler.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"three": "^0.184.0",
|
|
44
44
|
"three-forcegraph": "^1.43.4",
|
|
45
45
|
"typescript": "7.0.1-rc",
|
|
46
|
-
"ttsc": "0.16.
|
|
46
|
+
"ttsc": "0.16.7"
|
|
47
47
|
},
|
|
48
48
|
"repository": {
|
|
49
49
|
"type": "git",
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { TtscGraphMemory } from "./model/TtscGraphMemory";
|
|
2
|
+
import { resultGuide, resultNext } from "./server/resultGuide";
|
|
2
3
|
import { runDetails } from "./server/runDetails";
|
|
3
4
|
import { runEntrypoints } from "./server/runEntrypoints";
|
|
4
5
|
import { runLookup } from "./server/runLookup";
|
|
5
6
|
import { runOverview } from "./server/runOverview";
|
|
7
|
+
import { runTour } from "./server/runTour";
|
|
6
8
|
import { runTrace } from "./server/runTrace";
|
|
7
9
|
import { ITtscGraphApplication } from "./structures/ITtscGraphApplication";
|
|
8
10
|
import { ITtscGraphEscape } from "./structures/ITtscGraphEscape";
|
|
@@ -30,35 +32,66 @@ export class TtscGraphApplication implements ITtscGraphApplication {
|
|
|
30
32
|
this.graph = typeof source === "function" ? source : () => source;
|
|
31
33
|
}
|
|
32
34
|
|
|
33
|
-
public
|
|
35
|
+
public inspect_typescript_graph(
|
|
34
36
|
props: ITtscGraphApplication.IProps,
|
|
35
37
|
): ITtscGraphApplication.IResult {
|
|
38
|
+
if (props.request.type === "escape") {
|
|
39
|
+
const result = this.escape(props.request.reason);
|
|
40
|
+
if (props.request.nextStep !== undefined) {
|
|
41
|
+
result.nextStep = props.request.nextStep;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
result,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
36
47
|
switch (props.request.type) {
|
|
37
48
|
case "entrypoints":
|
|
38
|
-
return {
|
|
49
|
+
return {
|
|
50
|
+
result: runEntrypoints(this.graph(), props.request),
|
|
51
|
+
};
|
|
39
52
|
case "lookup":
|
|
40
|
-
return {
|
|
53
|
+
return {
|
|
54
|
+
result: runLookup(this.graph(), props.request),
|
|
55
|
+
};
|
|
41
56
|
case "trace":
|
|
42
|
-
return {
|
|
57
|
+
return {
|
|
58
|
+
result: runTrace(this.graph(), props.request),
|
|
59
|
+
};
|
|
43
60
|
case "details":
|
|
44
|
-
return {
|
|
61
|
+
return {
|
|
62
|
+
result: runDetails(this.graph(), props.request),
|
|
63
|
+
};
|
|
45
64
|
case "overview":
|
|
46
|
-
return {
|
|
47
|
-
|
|
48
|
-
const result: ITtscGraphEscape = {
|
|
49
|
-
type: "escape",
|
|
50
|
-
skipped: true,
|
|
51
|
-
reason: props.request.reason,
|
|
65
|
+
return {
|
|
66
|
+
result: runOverview(this.graph(), props.request),
|
|
52
67
|
};
|
|
53
|
-
|
|
54
|
-
result.nextStep = props.request.nextStep;
|
|
55
|
-
}
|
|
68
|
+
case "tour":
|
|
56
69
|
return {
|
|
57
|
-
result,
|
|
70
|
+
result: runTour(this.graph(), props.request),
|
|
58
71
|
};
|
|
59
|
-
}
|
|
60
72
|
default:
|
|
61
73
|
throw new Error("Unknown graph request type");
|
|
62
74
|
}
|
|
63
75
|
}
|
|
76
|
+
|
|
77
|
+
private escape(
|
|
78
|
+
reason: string,
|
|
79
|
+
nextStep?: string,
|
|
80
|
+
action: "answer" | "outside" | "clarify" = "outside",
|
|
81
|
+
): ITtscGraphEscape {
|
|
82
|
+
return {
|
|
83
|
+
type: "escape",
|
|
84
|
+
skipped: true,
|
|
85
|
+
reason,
|
|
86
|
+
next: resultNext(
|
|
87
|
+
action,
|
|
88
|
+
nextStep ??
|
|
89
|
+
"Graph evidence is exhausted or not the next evidence source.",
|
|
90
|
+
),
|
|
91
|
+
guide: resultGuide(
|
|
92
|
+
"Finish from existing graph evidence, state the graph gap, or ask for clarification.",
|
|
93
|
+
),
|
|
94
|
+
...(nextStep !== undefined ? { nextStep } : {}),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
64
97
|
}
|
|
@@ -9,9 +9,9 @@ import { TtscGraphEdgeKind } from "../structures/TtscGraphEdgeKind";
|
|
|
9
9
|
* It loads one `ttscgraph dump` — the checker-resolved fact graph — then
|
|
10
10
|
* synthesizes the structural relationships the dump deliberately leaves to this
|
|
11
11
|
* layer: `file` container nodes, the `contains` ownership tree, and `exports`
|
|
12
|
-
* edges, plus
|
|
13
|
-
* Every tool call is then a lookup
|
|
14
|
-
* nothing recompiles.
|
|
12
|
+
* edges, plus class/interface member implementation edges and the refinement of
|
|
13
|
+
* a class-member `variable` to a `property`. Every tool call is then a lookup
|
|
14
|
+
* or a traversal over the indexes built here; nothing recompiles.
|
|
15
15
|
*/
|
|
16
16
|
export class TtscGraphMemory {
|
|
17
17
|
private readonly byId: Map<string, ITtscGraphNode>;
|
|
@@ -179,9 +179,11 @@ function synthesize(dump: ITtscGraphDump): {
|
|
|
179
179
|
// Ownership: a member is contained by its owner; a top-level declaration by
|
|
180
180
|
// its file. Exports: a file exports each of its public nodes.
|
|
181
181
|
const structural: ITtscGraphEdge[] = [];
|
|
182
|
+
const membersByOwner = new Map<string, ITtscGraphNode[]>();
|
|
182
183
|
for (const node of nodes) {
|
|
183
184
|
if (node.external || node.file === "") continue;
|
|
184
185
|
const parent = owner(node);
|
|
186
|
+
if (parent !== undefined) push(membersByOwner, parent.id, node);
|
|
185
187
|
const container = parent ? parent.id : fileNodeId(node.file);
|
|
186
188
|
structural.push({
|
|
187
189
|
from: container,
|
|
@@ -197,8 +199,48 @@ function synthesize(dump: ITtscGraphDump): {
|
|
|
197
199
|
}
|
|
198
200
|
}
|
|
199
201
|
|
|
202
|
+
const synthesized = [...edges, ...structural];
|
|
203
|
+
const edgeKeys = new Set(
|
|
204
|
+
synthesized.map((edge) => `${edge.kind}\0${edge.from}\0${edge.to}`),
|
|
205
|
+
);
|
|
206
|
+
const byId = new Map(nodes.map((node) => [node.id, node]));
|
|
207
|
+
for (const edge of edges) {
|
|
208
|
+
const kind: TtscGraphEdgeKind | undefined =
|
|
209
|
+
edge.kind === "implements"
|
|
210
|
+
? "implements"
|
|
211
|
+
: edge.kind === "extends"
|
|
212
|
+
? "overrides"
|
|
213
|
+
: undefined;
|
|
214
|
+
if (kind === undefined) continue;
|
|
215
|
+
const derived = byId.get(edge.from);
|
|
216
|
+
const base = byId.get(edge.to);
|
|
217
|
+
if (derived === undefined || base === undefined) continue;
|
|
218
|
+
const derivedMembers = membersByOwner.get(derived.id) ?? [];
|
|
219
|
+
const baseMembers = membersByOwner.get(base.id) ?? [];
|
|
220
|
+
for (const baseMember of baseMembers) {
|
|
221
|
+
const derivedMember = derivedMembers.find(
|
|
222
|
+
(member) =>
|
|
223
|
+
member.name === baseMember.name &&
|
|
224
|
+
implementationMemberKinds.has(member.kind) &&
|
|
225
|
+
implementationMemberKinds.has(baseMember.kind),
|
|
226
|
+
);
|
|
227
|
+
if (derivedMember === undefined) continue;
|
|
228
|
+
const key = `${kind}\0${derivedMember.id}\0${baseMember.id}`;
|
|
229
|
+
if (edgeKeys.has(key)) continue;
|
|
230
|
+
edgeKeys.add(key);
|
|
231
|
+
synthesized.push({
|
|
232
|
+
from: derivedMember.id,
|
|
233
|
+
to: baseMember.id,
|
|
234
|
+
kind,
|
|
235
|
+
evidence: derivedMember.implementation ?? derivedMember.evidence,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
200
240
|
return {
|
|
201
241
|
nodes: [...nodes, ...fileNodes.values()],
|
|
202
|
-
edges:
|
|
242
|
+
edges: synthesized,
|
|
203
243
|
};
|
|
204
244
|
}
|
|
245
|
+
|
|
246
|
+
const implementationMemberKinds = new Set(["method", "property"]);
|