@ttsc/graph 0.16.4 → 0.16.6

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 (115) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +24 -53
  3. package/lib/TtscGraphApplication.js +59 -0
  4. package/lib/TtscGraphApplication.js.map +1 -0
  5. package/lib/index.js +31 -108
  6. package/lib/index.js.map +1 -1
  7. package/lib/model/TtscGraphMemory.js +185 -0
  8. package/lib/model/TtscGraphMemory.js.map +1 -0
  9. package/lib/model/loadGraph.js +418 -0
  10. package/lib/model/loadGraph.js.map +1 -0
  11. package/lib/reduce.js +101 -0
  12. package/lib/reduce.js.map +1 -0
  13. package/lib/resolveGraphBinary.js +42 -0
  14. package/lib/resolveGraphBinary.js.map +1 -0
  15. package/lib/server/accessAliases.js +53 -0
  16. package/lib/server/accessAliases.js.map +1 -0
  17. package/lib/server/createServer.js +1726 -0
  18. package/lib/server/createServer.js.map +1 -0
  19. package/lib/server/instructions.js +80 -0
  20. package/lib/server/instructions.js.map +1 -0
  21. package/lib/server/resolveHandle.js +25 -0
  22. package/lib/server/resolveHandle.js.map +1 -0
  23. package/lib/server/runDetails.js +413 -0
  24. package/lib/server/runDetails.js.map +1 -0
  25. package/lib/server/runEntrypoints.js +211 -0
  26. package/lib/server/runEntrypoints.js.map +1 -0
  27. package/lib/server/runLookup.js +234 -0
  28. package/lib/server/runLookup.js.map +1 -0
  29. package/lib/server/runOverview.js +160 -0
  30. package/lib/server/runOverview.js.map +1 -0
  31. package/lib/server/runTrace.js +314 -0
  32. package/lib/server/runTrace.js.map +1 -0
  33. package/lib/server/startServer.js +21 -0
  34. package/lib/server/startServer.js.map +1 -0
  35. package/lib/structures/ITtscGraphApplication.js +3 -0
  36. package/lib/structures/ITtscGraphApplication.js.map +1 -0
  37. package/lib/structures/ITtscGraphDecorator.js +3 -0
  38. package/lib/structures/ITtscGraphDecorator.js.map +1 -0
  39. package/lib/structures/ITtscGraphDetails.js +3 -0
  40. package/lib/structures/ITtscGraphDetails.js.map +1 -0
  41. package/lib/structures/ITtscGraphDiagnostic.js +3 -0
  42. package/lib/structures/ITtscGraphDiagnostic.js.map +1 -0
  43. package/lib/structures/ITtscGraphDump.js +3 -0
  44. package/lib/structures/ITtscGraphDump.js.map +1 -0
  45. package/lib/structures/ITtscGraphEdge.js +3 -0
  46. package/lib/structures/ITtscGraphEdge.js.map +1 -0
  47. package/lib/structures/ITtscGraphEntrypoints.js +3 -0
  48. package/lib/structures/ITtscGraphEntrypoints.js.map +1 -0
  49. package/lib/structures/ITtscGraphEscape.js +3 -0
  50. package/lib/structures/ITtscGraphEscape.js.map +1 -0
  51. package/lib/structures/ITtscGraphEvidence.js +3 -0
  52. package/lib/structures/ITtscGraphEvidence.js.map +1 -0
  53. package/lib/structures/ITtscGraphLookup.js +3 -0
  54. package/lib/structures/ITtscGraphLookup.js.map +1 -0
  55. package/lib/structures/ITtscGraphNode.js +3 -0
  56. package/lib/structures/ITtscGraphNode.js.map +1 -0
  57. package/lib/structures/ITtscGraphOverview.js +3 -0
  58. package/lib/structures/ITtscGraphOverview.js.map +1 -0
  59. package/lib/structures/ITtscGraphTrace.js +3 -0
  60. package/lib/structures/ITtscGraphTrace.js.map +1 -0
  61. package/lib/structures/TtscGraphEdgeKind.js +3 -0
  62. package/lib/structures/TtscGraphEdgeKind.js.map +1 -0
  63. package/lib/structures/TtscGraphNodeKind.js +3 -0
  64. package/lib/structures/TtscGraphNodeKind.js.map +1 -0
  65. package/lib/structures/TtscGraphNodeModifier.js +3 -0
  66. package/lib/structures/TtscGraphNodeModifier.js.map +1 -0
  67. package/lib/structures/index.js +38 -0
  68. package/lib/structures/index.js.map +1 -0
  69. package/lib/view.js +140 -0
  70. package/lib/view.js.map +1 -0
  71. package/lib/viewer/index.html +123 -0
  72. package/lib/viewer/viewer.js +4610 -0
  73. package/package.json +17 -4
  74. package/src/TtscGraphApplication.ts +64 -0
  75. package/src/index.ts +40 -126
  76. package/src/model/TtscGraphMemory.ts +204 -0
  77. package/src/model/loadGraph.ts +85 -0
  78. package/src/reduce.ts +165 -0
  79. package/src/resolveGraphBinary.ts +40 -0
  80. package/src/server/accessAliases.ts +55 -0
  81. package/src/server/createServer.ts +101 -0
  82. package/src/server/instructions.ts +76 -0
  83. package/src/server/resolveHandle.ts +34 -0
  84. package/src/server/runDetails.ts +469 -0
  85. package/src/server/runEntrypoints.ts +256 -0
  86. package/src/server/runLookup.ts +257 -0
  87. package/src/server/runOverview.ts +166 -0
  88. package/src/server/runTrace.ts +359 -0
  89. package/src/server/startServer.ts +25 -0
  90. package/src/structures/ITtscGraphApplication.ts +116 -0
  91. package/src/structures/ITtscGraphDecorator.ts +31 -0
  92. package/src/structures/ITtscGraphDetails.ts +134 -0
  93. package/src/structures/ITtscGraphDiagnostic.ts +34 -0
  94. package/src/structures/ITtscGraphDump.ts +35 -0
  95. package/src/structures/ITtscGraphEdge.ts +24 -0
  96. package/src/structures/ITtscGraphEntrypoints.ts +118 -0
  97. package/src/structures/ITtscGraphEscape.ts +39 -0
  98. package/src/structures/ITtscGraphEvidence.ts +26 -0
  99. package/src/structures/ITtscGraphLookup.ts +61 -0
  100. package/src/structures/ITtscGraphNode.ts +70 -0
  101. package/src/structures/ITtscGraphOverview.ts +87 -0
  102. package/src/structures/ITtscGraphTrace.ts +140 -0
  103. package/src/structures/TtscGraphEdgeKind.ts +23 -0
  104. package/src/structures/TtscGraphNodeKind.ts +26 -0
  105. package/src/structures/TtscGraphNodeModifier.ts +19 -0
  106. package/src/structures/index.ts +22 -0
  107. package/src/view.ts +155 -0
  108. package/src/viewer/index.html +123 -0
  109. package/src/viewer/main.ts +209 -0
  110. package/lib/bin.d.ts +0 -2
  111. package/lib/diagnostics.d.ts +0 -23
  112. package/lib/diagnostics.js +0 -84
  113. package/lib/diagnostics.js.map +0 -1
  114. package/lib/index.d.ts +0 -29
  115. package/src/diagnostics.ts +0 -93
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runTrace = runTrace;
4
+ const accessAliases_1 = require("./accessAliases");
5
+ const resolveHandle_1 = require("./resolveHandle");
6
+ const runDetails_1 = require("./runDetails");
7
+ const DEFAULT_DEPTH = 2;
8
+ const DEFAULT_MAX_NODES = 6;
9
+ const MAX_OPEN_DEPTH = 2;
10
+ const MAX_OPEN_NODES = 8;
11
+ const MAX_HOPS_PER_NODE = 1;
12
+ const MAX_STEPS = 6;
13
+ const MAX_NEXT_HANDLES = 2;
14
+ /**
15
+ * Breadth-first trace along the dependency graph. Structural
16
+ * (contains/exports/imports) edges are excluded so the path is real call/type
17
+ * flow; forward walks callees, reverse and impact walk callers. Impact
18
+ * additionally tags each reached node's role so the blast radius on the public
19
+ * surface is legible.
20
+ */
21
+ function runTrace(graph, props) {
22
+ const direction = props.direction ?? "forward";
23
+ const focus = props.focus ?? "all";
24
+ const maxDepth = bound(props.maxDepth, DEFAULT_DEPTH, 1, MAX_OPEN_DEPTH);
25
+ const maxNodes = bound(props.maxNodes, DEFAULT_MAX_NODES, 1, MAX_OPEN_NODES);
26
+ const maxHops = maxNodes * MAX_HOPS_PER_NODE;
27
+ const reverse = direction === "reverse" || direction === "impact";
28
+ // Only an impact trace tags reached nodes with their public-surface role; for
29
+ // forward/reverse the role is noise.
30
+ const withRoles = direction === "impact";
31
+ const start = (0, resolveHandle_1.resolveGraphHandle)(graph, props.from);
32
+ if (start.candidates) {
33
+ return {
34
+ type: "trace",
35
+ direction,
36
+ hops: [],
37
+ reached: [],
38
+ truncated: false,
39
+ candidates: start.candidates.map((n) => summary(graph, n)),
40
+ };
41
+ }
42
+ if (start.node === undefined) {
43
+ return {
44
+ type: "trace",
45
+ direction,
46
+ hops: [],
47
+ reached: [],
48
+ truncated: false,
49
+ };
50
+ }
51
+ // Path mode: with `to`, return the dependency path from `from` to `to`, the
52
+ // one-call answer for "how does A reach B", instead of an open-ended trace.
53
+ if (props.to !== undefined && props.to !== "") {
54
+ const base = {
55
+ type: "trace",
56
+ direction: "path",
57
+ hops: [],
58
+ reached: [],
59
+ truncated: false,
60
+ };
61
+ const target = (0, resolveHandle_1.resolveGraphHandle)(graph, props.to);
62
+ if (target.candidates) {
63
+ return {
64
+ ...base,
65
+ start: summary(graph, start.node),
66
+ candidates: target.candidates.map((n) => summary(graph, n)),
67
+ };
68
+ }
69
+ if (target.node === undefined) {
70
+ return { ...base, start: summary(graph, start.node) };
71
+ }
72
+ const found = findPath(graph, start.node.id, target.node.id, bound(props.maxDepth, 12, 1, 12), focus);
73
+ const path = found?.path ?? [];
74
+ const hops = found?.hops ?? [];
75
+ return {
76
+ ...base,
77
+ start: summary(graph, start.node),
78
+ target: summary(graph, target.node),
79
+ hops,
80
+ path: path.map((node, i) => summary(graph, node, i, false, true)),
81
+ steps: traceSteps(graph, hops),
82
+ next: nextFromPath(path),
83
+ };
84
+ }
85
+ const hops = [];
86
+ const reached = new Map();
87
+ const visited = new Set([start.node.id]);
88
+ let queue = [
89
+ { id: start.node.id, depth: 0 },
90
+ ];
91
+ let truncated = false;
92
+ while (queue.length > 0) {
93
+ const next = [];
94
+ for (const { id, depth } of queue) {
95
+ if (depth >= maxDepth) {
96
+ truncated = true;
97
+ continue;
98
+ }
99
+ const edges = reverse ? graph.incoming(id) : graph.outgoing(id);
100
+ for (const edge of edges) {
101
+ if (!traversable(edge.kind, focus))
102
+ continue;
103
+ const otherId = reverse ? edge.from : edge.to;
104
+ const other = graph.node(otherId);
105
+ if (other === undefined || other.kind === "file")
106
+ continue;
107
+ const hop = {
108
+ from: edge.from,
109
+ to: edge.to,
110
+ kind: edge.kind,
111
+ depth: depth + 1,
112
+ };
113
+ const evidence = (0, runDetails_1.edgeEvidenceOf)(edge);
114
+ if (evidence !== undefined)
115
+ hop.evidence = evidence;
116
+ const aliases = (0, accessAliases_1.accessAliasesFor)(graph.node(edge.to), (0, runDetails_1.edgeEvidenceTextOf)(edge));
117
+ if (aliases !== undefined)
118
+ hop.aliases = aliases;
119
+ // A back-edge to the start or an already-reached node: record the hop;
120
+ // its endpoints are already represented.
121
+ if (visited.has(otherId)) {
122
+ if (hops.length >= maxHops)
123
+ truncated = true;
124
+ else
125
+ hops.push(hop);
126
+ continue;
127
+ }
128
+ // A new node past the cap is left unrepresented, so drop its hop too:
129
+ // every hop's endpoints stay resolvable in `reached`/`start`.
130
+ if (reached.size >= maxNodes) {
131
+ truncated = true;
132
+ continue;
133
+ }
134
+ if (hops.length >= maxHops) {
135
+ truncated = true;
136
+ continue;
137
+ }
138
+ visited.add(otherId);
139
+ reached.set(otherId, summary(graph, other, depth + 1, withRoles));
140
+ next.push({ id: otherId, depth: depth + 1 });
141
+ hops.push(hop);
142
+ }
143
+ }
144
+ queue = next;
145
+ }
146
+ return {
147
+ type: "trace",
148
+ start: summary(graph, start.node),
149
+ direction,
150
+ hops,
151
+ reached: [...reached.values()],
152
+ steps: traceSteps(graph, hops),
153
+ next: {
154
+ details: [start.node.id, ...reached.keys()].slice(0, MAX_NEXT_HANDLES),
155
+ traceFrom: [...reached.keys()].slice(0, MAX_NEXT_HANDLES),
156
+ },
157
+ truncated,
158
+ };
159
+ }
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
+ function traceSteps(graph, hops) {
167
+ return hops.slice(0, MAX_STEPS).map((hop) => {
168
+ const from = graph.node(hop.from);
169
+ const to = graph.node(hop.to);
170
+ const lhs = from?.qualifiedName ?? from?.name ?? hop.from;
171
+ const rhs = to?.qualifiedName ?? to?.name ?? hop.to;
172
+ const evidence = hop.evidence === undefined
173
+ ? ""
174
+ : ` at ${hop.evidence.file}:${hop.evidence.startLine}`;
175
+ const aliases = hop.aliases === undefined ? "" : ` aliases ${hop.aliases.join(", ")}`;
176
+ return `${lhs} -[${hop.kind}${evidence}${aliases}]-> ${rhs}`;
177
+ });
178
+ }
179
+ /**
180
+ * The shortest dependency path from `startId` to `targetId` over real (non-
181
+ * structural) forward edges, breadth-first, or null when `targetId` is not
182
+ * reachable within maxDepth. Returns the nodes in order and the hops between.
183
+ */
184
+ function findPath(graph, startId, targetId, maxDepth, focus) {
185
+ const startNode = graph.node(startId);
186
+ if (startNode === undefined)
187
+ return null;
188
+ if (startId === targetId)
189
+ return { path: [startNode], hops: [] };
190
+ const parent = new Map();
191
+ const visited = new Set([startId]);
192
+ let queue = [{ id: startId, depth: 0 }];
193
+ while (queue.length > 0) {
194
+ const next = [];
195
+ for (const { id, depth } of queue) {
196
+ if (depth >= maxDepth)
197
+ continue;
198
+ for (const edge of graph.outgoing(id)) {
199
+ if (!traversable(edge.kind, focus))
200
+ continue;
201
+ const otherId = edge.to;
202
+ if (visited.has(otherId))
203
+ continue;
204
+ const other = graph.node(otherId);
205
+ if (other === undefined || other.kind === "file")
206
+ continue;
207
+ visited.add(otherId);
208
+ const evidence = (0, runDetails_1.edgeEvidenceOf)(edge);
209
+ parent.set(otherId, {
210
+ via: id,
211
+ kind: edge.kind,
212
+ evidence,
213
+ evidenceText: (0, runDetails_1.edgeEvidenceTextOf)(edge),
214
+ });
215
+ if (otherId === targetId) {
216
+ const ids = [otherId];
217
+ let cur = otherId;
218
+ while (cur !== startId) {
219
+ const p = parent.get(cur);
220
+ if (p === undefined)
221
+ break;
222
+ ids.unshift(p.via);
223
+ cur = p.via;
224
+ }
225
+ const path = [];
226
+ for (const nid of ids) {
227
+ const n = graph.node(nid);
228
+ if (n !== undefined)
229
+ path.push(n);
230
+ }
231
+ const hops = [];
232
+ for (let i = 1; i < path.length; i++) {
233
+ const node = path[i];
234
+ const parentEdge = parent.get(node.id);
235
+ const hop = {
236
+ from: path[i - 1].id,
237
+ to: node.id,
238
+ kind: parentEdge?.kind ?? "calls",
239
+ depth: i,
240
+ };
241
+ if (parentEdge?.evidence !== undefined)
242
+ hop.evidence = parentEdge.evidence;
243
+ const aliases = (0, accessAliases_1.accessAliasesFor)(node, parentEdge?.evidenceText);
244
+ if (aliases !== undefined)
245
+ hop.aliases = aliases;
246
+ hops.push(hop);
247
+ }
248
+ return { path, hops };
249
+ }
250
+ next.push({ id: otherId, depth: depth + 1 });
251
+ }
252
+ }
253
+ queue = next;
254
+ }
255
+ return null;
256
+ }
257
+ /**
258
+ * Summarize a node for a trace result. With `withRoles`, tag the public-surface
259
+ * roles (exported / test) an impact trace reports; other directions omit them.
260
+ */
261
+ function summary(graph, node, depth, withRoles = false, withSignature = false) {
262
+ const out = {
263
+ id: node.id,
264
+ name: node.qualifiedName ?? node.name,
265
+ kind: node.kind,
266
+ file: node.file,
267
+ };
268
+ if (depth !== undefined)
269
+ out.depth = depth;
270
+ if (withSignature) {
271
+ const sig = (0, runDetails_1.signatureOf)(graph.project, node);
272
+ if (sig !== undefined)
273
+ out.signature = sig;
274
+ }
275
+ if (withRoles) {
276
+ const roles = [];
277
+ if (node.exported)
278
+ roles.push("exported");
279
+ if (isTestFile(node.file))
280
+ roles.push("test");
281
+ if (roles.length > 0)
282
+ out.roles = roles;
283
+ }
284
+ return out;
285
+ }
286
+ /** An edge the trace should follow: a real dependency, not a structural edge. */
287
+ function traversable(kind, focus) {
288
+ if (kind === "contains" || kind === "exports" || kind === "imports") {
289
+ return false;
290
+ }
291
+ if (focus === "execution") {
292
+ return (kind === "calls" ||
293
+ kind === "instantiates" ||
294
+ kind === "accesses" ||
295
+ kind === "renders");
296
+ }
297
+ if (focus === "types") {
298
+ return (kind === "type_ref" ||
299
+ kind === "extends" ||
300
+ kind === "implements" ||
301
+ kind === "overrides" ||
302
+ kind === "decorates");
303
+ }
304
+ return true;
305
+ }
306
+ function isTestFile(file) {
307
+ return (/(^|\/)(test|tests|__tests__|spec)\//.test(file) ||
308
+ /\.(test|spec)\.[cm]?tsx?$/.test(file));
309
+ }
310
+ function bound(value, fallback, min, max) {
311
+ const n = value === undefined || !Number.isFinite(value) ? fallback : value;
312
+ return Math.max(min, Math.min(max, Math.floor(n)));
313
+ }
314
+ //# sourceMappingURL=runTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runTrace.js","sourceRoot":"","sources":["../../src/server/runTrace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startServer = startServer;
4
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
5
+ const loadGraph_1 = require("../model/loadGraph");
6
+ const createServer_1 = require("./createServer");
7
+ /**
8
+ * Serve the graph tools over MCP on stdio. The server answers the MCP handshake
9
+ * immediately and builds the resident graph on the first tool call, so a large
10
+ * project cannot make the client give up before tools are advertised.
11
+ */
12
+ async function startServer(options) {
13
+ let graph;
14
+ const server = (0, createServer_1.createServer)(() => {
15
+ graph ??= (0, loadGraph_1.loadGraph)({ cwd: options.cwd, tsconfig: options.tsconfig });
16
+ return graph;
17
+ }, options.version);
18
+ const transport = new stdio_js_1.StdioServerTransport();
19
+ await server.connect(transport);
20
+ }
21
+ //# sourceMappingURL=startServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startServer.js","sourceRoot":"","sources":["../../src/server/startServer.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AAGjF,kDAA+C;AAC/C,iDAA8C;AAE9C;;;;GAIG;AACI,KAAK,sBAAsB,OAKjC;IACC,IAAI,KAAkC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAA,2BAAY,EAAC,GAAG,EAAE;QAC/B,KAAK,KAAK,IAAA,qBAAS,EAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphApplication.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphApplication.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphDecorator.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphDecorator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphDetails.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphDetails.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphDiagnostic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphDiagnostic.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphDiagnostic.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphDump.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphDump.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphDump.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphEdge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphEdge.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphEdge.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphEntrypoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphEntrypoints.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphEntrypoints.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphEscape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphEscape.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphEscape.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphEvidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphEvidence.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphEvidence.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphLookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphLookup.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphLookup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphNode.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphNode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphOverview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphOverview.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphOverview.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ITtscGraphTrace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITtscGraphTrace.js","sourceRoot":"","sources":["../../src/structures/ITtscGraphTrace.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TtscGraphEdgeKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TtscGraphEdgeKind.js","sourceRoot":"","sources":["../../src/structures/TtscGraphEdgeKind.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TtscGraphNodeKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TtscGraphNodeKind.js","sourceRoot":"","sources":["../../src/structures/TtscGraphNodeKind.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TtscGraphNodeModifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TtscGraphNodeModifier.js","sourceRoot":"","sources":["../../src/structures/TtscGraphNodeModifier.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // The canonical graph data model and tool I/O types: the wire contract
3
+ // `ttscgraph dump` emits and the MCP server loads, plus the schemas typia
4
+ // derives the tool surface from. Pure types so typia can build validators and
5
+ // tool schemas at build time, and so the Go `dump.go` writer has one TypeScript
6
+ // source of truth to mirror.
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ __exportStar(require("./ITtscGraphApplication"), exports);
23
+ __exportStar(require("./ITtscGraphDecorator"), exports);
24
+ __exportStar(require("./ITtscGraphDiagnostic"), exports);
25
+ __exportStar(require("./ITtscGraphDump"), exports);
26
+ __exportStar(require("./ITtscGraphEdge"), exports);
27
+ __exportStar(require("./ITtscGraphEvidence"), exports);
28
+ __exportStar(require("./ITtscGraphEscape"), exports);
29
+ __exportStar(require("./ITtscGraphDetails"), exports);
30
+ __exportStar(require("./ITtscGraphEntrypoints"), exports);
31
+ __exportStar(require("./ITtscGraphNode"), exports);
32
+ __exportStar(require("./ITtscGraphOverview"), exports);
33
+ __exportStar(require("./ITtscGraphLookup"), exports);
34
+ __exportStar(require("./ITtscGraphTrace"), exports);
35
+ __exportStar(require("./TtscGraphEdgeKind"), exports);
36
+ __exportStar(require("./TtscGraphNodeKind"), exports);
37
+ __exportStar(require("./TtscGraphNodeModifier"), exports);
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}