@ttsc/graph 0.19.2 → 0.19.3

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 (36) hide show
  1. package/lib/TtscGraphApplication.js +3 -1
  2. package/lib/TtscGraphApplication.js.map +1 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/index.js +2 -1
  5. package/lib/index.js.map +1 -1
  6. package/lib/model/TtscGraphSession.js +109 -49
  7. package/lib/model/TtscGraphSession.js.map +1 -1
  8. package/lib/model/loadGraph.d.ts +14 -0
  9. package/lib/model/loadGraph.js +114 -66
  10. package/lib/model/loadGraph.js.map +1 -1
  11. package/lib/resolveGraphBinary.d.ts +9 -3
  12. package/lib/resolveGraphBinary.js +9 -3
  13. package/lib/resolveGraphBinary.js.map +1 -1
  14. package/lib/server/createServer.js +5 -5
  15. package/lib/server/resultAudit.d.ts +29 -8
  16. package/lib/server/resultAudit.js +47 -9
  17. package/lib/server/resultAudit.js.map +1 -1
  18. package/lib/server/runDetails.d.ts +7 -0
  19. package/lib/server/runDetails.js +87 -58
  20. package/lib/server/runDetails.js.map +1 -1
  21. package/lib/structures/ITtscGraphApplication.d.ts +8 -7
  22. package/lib/structures/ITtscGraphDetails.d.ts +18 -8
  23. package/lib/structures/ITtscGraphNode.d.ts +37 -0
  24. package/lib/structures/ITtscGraphTour.d.ts +1 -1
  25. package/package.json +5 -2
  26. package/src/TtscGraphApplication.ts +4 -1
  27. package/src/index.ts +1 -0
  28. package/src/model/TtscGraphSession.ts +27 -0
  29. package/src/model/loadGraph.ts +6 -1
  30. package/src/resolveGraphBinary.ts +9 -3
  31. package/src/server/resultAudit.ts +47 -8
  32. package/src/server/runDetails.ts +95 -70
  33. package/src/structures/ITtscGraphApplication.ts +8 -7
  34. package/src/structures/ITtscGraphDetails.ts +18 -8
  35. package/src/structures/ITtscGraphNode.ts +40 -0
  36. package/src/structures/ITtscGraphTour.ts +1 -1
@@ -32,5 +32,12 @@ export declare function docOf(project: string, node: ITtscGraphNode): string | u
32
32
  * The declaration signature: the head of the declaration up to and including
33
33
  * the line that opens its body (`{`), or the single declaration line when there
34
34
  * is no brace, capped so a wrapped signature cannot run away.
35
+ *
36
+ * It never runs past the declaration's own span. The stop used to be the brace,
37
+ * the trailing semicolon, or the line cap, and a declaration ending in none of
38
+ * them read its neighbors instead: an enum member ends in a comma, so `VIEW`
39
+ * came back as itself plus the two members after it and the closing brace. The
40
+ * span is the fact that says where the declaration ends, and it was already on
41
+ * the node.
35
42
  */
36
43
  export declare function signatureOf(project: string, node: ITtscGraphNode): string | undefined;
@@ -17,17 +17,20 @@ const resultNext_1 = require("./resultNext");
17
17
  const MAX_SIGNATURE_LINES = 4;
18
18
  // A doc summary is one sentence; the rest of the comment is the file's to keep.
19
19
  const MAX_DOC_CHARS = 200;
20
- // Neighbor lists are a map, not a dump; keep them scannable.
20
+ // An object literal's outline is scanned from source, so a runaway literal is
21
+ // bounded here; the members it does find are not capped.
22
+ const MAX_OBJECT_MEMBER_LINES = 300;
23
+ // A symbol's fan-out — what it calls, what names it in a type, what depends on
24
+ // it — scales with how popular it is, not with the symbol: a central type is
25
+ // named in a thousand places, and returning all of them is a hundred thousand
26
+ // tokens of "who uses this", which is a trace/impact question, not "what is
27
+ // this". So fan-out is a small default slice; identity (members, literals) is
28
+ // not, because a class's members and a union's values are the symbol itself and
29
+ // are bounded by the declaration.
21
30
  const DEFAULT_NEIGHBORS = 2;
22
31
  const MAX_NEIGHBORS = 3;
23
- // A container outline can be long; default to a scannable first page.
24
- const DEFAULT_MEMBERS = 6;
25
- const MAX_MEMBERS = 8;
26
- // Direct dependency groups are orientation slices, not full fan-out dumps.
27
32
  const DEFAULT_DEPENDENCIES = 2;
28
33
  const MAX_DEPENDENCIES = 4;
29
- // Object literal outlines are navigation aids, not source excerpts.
30
- const MAX_OBJECT_MEMBER_LINES = 300;
31
34
  // Structural relationships are navigation, not the dependency picture details is for.
32
35
  const STRUCTURAL_KINDS = new Set(["contains", "exports", "imports"]);
33
36
  // Kinds whose value is their member outline, not implementation text.
@@ -45,9 +48,15 @@ const CONTAINER_KINDS = new Set([
45
48
  * graph's resolved structure instead of inlining implementation bodies.
46
49
  */
47
50
  function runDetails(graph, props) {
48
- const neighborLimit = bound(props.neighborLimit, DEFAULT_NEIGHBORS, 1, MAX_NEIGHBORS);
49
- const memberLimit = bound(props.memberLimit, DEFAULT_MEMBERS, 1, MAX_MEMBERS);
50
- const dependencyLimit = bound(props.dependencyLimit, DEFAULT_DEPENDENCIES, 1, MAX_DEPENDENCIES);
51
+ // Identity is the whole answer. The caller named this handle to learn what it
52
+ // is, and a class's members or a union's values are the symbol itself — cut
53
+ // them and the model reads the file for the rest, the read this index exists
54
+ // to remove. So `memberLimit` and `literals` default to unlimited. Fan-out
55
+ // does not: what names or uses a symbol is bounded by its popularity, not by
56
+ // it, so those stay a small slice with `trace` for the rest.
57
+ const memberLimit = limitOf(props.memberLimit);
58
+ const neighborLimit = capOf(props.neighborLimit, DEFAULT_NEIGHBORS, MAX_NEIGHBORS);
59
+ const dependencyLimit = capOf(props.dependencyLimit, DEFAULT_DEPENDENCIES, MAX_DEPENDENCIES);
51
60
  const wantNeighbors = props.neighbors === true;
52
61
  const includeExternal = props.includeExternal === true;
53
62
  const nodes = [];
@@ -92,7 +101,6 @@ function runDetails(graph, props) {
92
101
  const doc = docOf(graph.project, node);
93
102
  if (doc !== undefined)
94
103
  detail.doc = doc;
95
- const signatureLiterals = literalSummaries(sig);
96
104
  const decorators = decoratorsOf(node);
97
105
  if (decorators !== undefined)
98
106
  detail.decorators = decorators;
@@ -126,8 +134,19 @@ function runDetails(graph, props) {
126
134
  if (list.length > 0)
127
135
  detail.members = list;
128
136
  }
129
- if (signatureLiterals.length > 0)
130
- detail.literals = signatureLiterals.slice(0, 6);
137
+ // An enum's members ride on its own node rather than on `contains` edges,
138
+ // because they are not nodes: the outline above finds nothing for an enum
139
+ // and always did. Its signature stops at the `{`, so without this the one
140
+ // kind whose entire content is its member list answered with none of it.
141
+ // Uncapped like every other identity list — the members are the enum.
142
+ if (node.kind === "enum") {
143
+ const list = enumMembers(node, memberLimit);
144
+ if (list.length > 0)
145
+ detail.members = list;
146
+ }
147
+ if (node.literals !== undefined && node.literals.length > 0) {
148
+ detail.literals = node.literals;
149
+ }
131
150
  if (wantNeighbors) {
132
151
  detail.dependsOn = refs(graph, graph.outgoing(node.id), "to", neighborLimit, includeExternal);
133
152
  detail.dependedOnBy = refs(graph, graph.incoming(node.id), "from", neighborLimit, includeExternal);
@@ -175,6 +194,24 @@ function members(graph, node, limit) {
175
194
  }
176
195
  return out;
177
196
  }
197
+ /**
198
+ * An enum's members, owner-qualified so the name reads the way the code writes
199
+ * it, with the value each carries as its signature.
200
+ *
201
+ * The name is why this exists. `literals` answers what values the enum admits,
202
+ * but a caller writes `Colors.Red` and never `"red"`, so an enum the graph
203
+ * already held sent a caller that had named it to the file for the one fact it
204
+ * came for (#738).
205
+ */
206
+ function enumMembers(node, limit) {
207
+ return (node.enumMembers ?? []).slice(0, limit).map((member) => ({
208
+ name: `${node.qualifiedName ?? node.name}.${member.name}`,
209
+ kind: "property",
210
+ ...(member.value !== undefined
211
+ ? { signature: `${member.name} = ${member.value}` }
212
+ : {}),
213
+ }));
214
+ }
178
215
  function objectLiteralMembers(project, span, limit) {
179
216
  if (span.endLine === undefined)
180
217
  return [];
@@ -271,14 +308,11 @@ function refs(graph, edges, end, limit, includeExternal) {
271
308
  ref.evidence = evidence;
272
309
  ranked.push({ ref, rank: refRank(ref, edge) });
273
310
  }
311
+ // Ranked so a caller that does throttle (the tour) keeps the strongest refs,
312
+ // not the ones nearest the top of a file. Uncapped, `limit` is Infinity and
313
+ // the sort is just a stable order.
274
314
  ranked.sort((a, b) => a.rank - b.rank);
275
- const out = [];
276
- for (const item of ranked) {
277
- out.push(item.ref);
278
- if (out.length >= limit)
279
- break;
280
- }
281
- return out;
315
+ return ranked.map((item) => item.ref).slice(0, limit);
282
316
  }
283
317
  const executionKinds = new Set([
284
318
  "calls",
@@ -316,19 +350,7 @@ function dependencyRefs(graph, node, kinds, limit, includeExternal) {
316
350
  rank: refRank(ref, edge),
317
351
  });
318
352
  }
319
- ranked.sort((a, b) => a.rank - b.rank);
320
- const out = [];
321
- const seen = new Set();
322
- for (const item of ranked) {
323
- const key = `${item.ref.relation}:${item.ref.id}`;
324
- if (seen.has(key))
325
- continue;
326
- seen.add(key);
327
- out.push(item.ref);
328
- if (out.length >= limit)
329
- break;
330
- }
331
- return out;
353
+ return rankedRefs(ranked, limit);
332
354
  }
333
355
  function incomingDependencyRefs(graph, node, kinds, limit, includeExternal) {
334
356
  const ranked = [];
@@ -357,6 +379,10 @@ function incomingDependencyRefs(graph, node, kinds, limit, includeExternal) {
357
379
  rank: refRank(ref, edge),
358
380
  });
359
381
  }
382
+ return rankedRefs(ranked, limit);
383
+ }
384
+ /** Sort by rank, drop duplicate (relation, id) pairs, and cut to `limit`. */
385
+ function rankedRefs(ranked, limit) {
360
386
  ranked.sort((a, b) => a.rank - b.rank);
361
387
  const out = [];
362
388
  const seen = new Set();
@@ -371,32 +397,25 @@ function incomingDependencyRefs(graph, node, kinds, limit, includeExternal) {
371
397
  }
372
398
  return out;
373
399
  }
374
- function literalSummaries(text) {
375
- if (text === undefined)
376
- return [];
377
- const out = [];
378
- for (const match of text.matchAll(/(["'`])((?:\\.|(?!\1).){1,80})\1/g)) {
379
- const value = cleanLiteral(match[2]);
380
- if (value !== undefined && !out.includes(value))
381
- out.push(value);
382
- if (out.length >= 20)
383
- break;
384
- }
385
- return out;
386
- }
387
- function cleanLiteral(value) {
388
- const text = value?.replace(/\s+/g, " ").trim();
389
- if (text === undefined ||
390
- text === "" ||
391
- text.length > 40 ||
392
- /^[{}()[\],.:;]+$/.test(text)) {
393
- return undefined;
394
- }
395
- return text;
400
+ /**
401
+ * An identity list's cap: none by default, honored when a caller passes one.
402
+ * details answers a named handle's own shape in full — its members, its values —
403
+ * so the default is unlimited; the tour passes an explicit number to embed a
404
+ * compact slice of its own.
405
+ */
406
+ function limitOf(value) {
407
+ return value === undefined || !Number.isFinite(value)
408
+ ? Infinity
409
+ : Math.max(1, Math.floor(value));
396
410
  }
397
- function bound(value, fallback, min, max) {
411
+ /**
412
+ * A fan-out list's cap: a small default, clamped to a ceiling. What names or
413
+ * uses a symbol grows with its popularity, not with the symbol, so the whole
414
+ * list is a trace/impact answer and details returns an orientation slice.
415
+ */
416
+ function capOf(value, fallback, max) {
398
417
  const n = value === undefined || !Number.isFinite(value) ? fallback : value;
399
- return Math.max(min, Math.min(max, Math.floor(n)));
418
+ return Math.max(1, Math.min(max, Math.floor(n)));
400
419
  }
401
420
  /**
402
421
  * Which references a capped list keeps.
@@ -534,6 +553,13 @@ function docOf(project, node) {
534
553
  * The declaration signature: the head of the declaration up to and including
535
554
  * the line that opens its body (`{`), or the single declaration line when there
536
555
  * is no brace, capped so a wrapped signature cannot run away.
556
+ *
557
+ * It never runs past the declaration's own span. The stop used to be the brace,
558
+ * the trailing semicolon, or the line cap, and a declaration ending in none of
559
+ * them read its neighbors instead: an enum member ends in a comma, so `VIEW`
560
+ * came back as itself plus the two members after it and the closing brace. The
561
+ * span is the fact that says where the declaration ends, and it was already on
562
+ * the node.
537
563
  */
538
564
  function signatureOf(project, node) {
539
565
  const evidence = node.evidence;
@@ -541,8 +567,11 @@ function signatureOf(project, node) {
541
567
  if (lines === undefined || evidence === undefined)
542
568
  return undefined;
543
569
  const start = Math.max(0, evidence.startLine - 1);
570
+ const last = evidence.endLine === undefined
571
+ ? lines.length - 1
572
+ : Math.min(lines.length - 1, evidence.endLine - 1);
544
573
  const out = [];
545
- for (let i = start; i < lines.length && out.length < MAX_SIGNATURE_LINES; i++) {
574
+ for (let i = start; i <= last && out.length < MAX_SIGNATURE_LINES; i++) {
546
575
  const line = lines[i];
547
576
  if (line === undefined)
548
577
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"runDetails.js","sourceRoot":"","sources":["../../src/server/runDetails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runDetails.js","sourceRoot":"","sources":["../../src/server/runDetails.ts"],"names":[],"mappings":"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"}
@@ -152,13 +152,14 @@ export declare namespace ITtscGraphApplication {
152
152
  * resolves to the type-checked program for the snapshot the call synced to,
153
153
  * so opening a file it cites only returns a fact already in it.
154
154
  *
155
- * The audit is operation-aware. For the exact operations (`trace`,
156
- * `details`, `overview`) it reports the result as the structure the graph
157
- * holds for the handles named, bounded only where `truncated` says. For the
158
- * ranked operations (`lookup`, `entrypoints`, `tour`) it adds that the
159
- * selection is heuristic matched, scored, ranked, and limited against the
160
- * question so the facts are verified but the shortlist's coverage is the
161
- * caller's to judge.
155
+ * The audit is operation-aware. For the walks from a named handle (`trace`,
156
+ * `overview`) it reports the result as the structure the graph holds,
157
+ * bounded where `truncated` says. For `details` it reports the two halves of
158
+ * a resolved symbol: its own shape returned whole, its fan-out returned as a
159
+ * slice with `trace` for the rest. For the ranked operations (`lookup`,
160
+ * `entrypoints`, `tour`) it adds that the selection is heuristic matched,
161
+ * scored, ranked, and limited against the question — so the facts are
162
+ * verified but the shortlist's coverage is the caller's to judge.
162
163
  */
163
164
  audit: string;
164
165
  /** What to do with `result`: answer, inspect one named request, or escape. */
@@ -42,22 +42,24 @@ export declare namespace ITtscGraphDetails {
42
42
  */
43
43
  neighbors?: boolean;
44
44
  /**
45
- * Maximum dependencies and dependents per side when `neighbors:true`. Above
46
- * a few is usually overfetch; call `trace` for flow instead.
45
+ * Dependencies and dependents per side when `neighbors:true`. A small
46
+ * orientation slice by default; what uses a symbol grows with its
47
+ * popularity, so `trace` answers the whole "who uses this".
47
48
  *
48
49
  * @default 2
49
50
  */
50
51
  neighborLimit?: number;
51
52
  /**
52
- * Maximum owned members for a container or object literal.
53
- *
54
- * @default 6
53
+ * Owned members for a container or object literal. The complete outline by
54
+ * default — a class's members and an enum's are the symbol itself, so they
55
+ * are not sampled. Pass a number to cap.
55
56
  */
56
57
  memberLimit?: number;
57
58
  /**
58
- * Maximum direct execution and type references per group.
59
+ * Direct execution and type references per group. A small orientation slice
60
+ * by default; `trace` follows the whole fan-out.
59
61
  *
60
- * @default 1
62
+ * @default 2
61
63
  */
62
64
  dependencyLimit?: number;
63
65
  /**
@@ -115,7 +117,15 @@ export declare namespace ITtscGraphDetails {
115
117
  types?: IReference[];
116
118
  /** Concrete nodes that implement or override this interface/base member. */
117
119
  implementedBy?: IReference[];
118
- /** String literal values from the signature. */
120
+ /**
121
+ * The complete value set a type alias or enum admits, in TypeScript source
122
+ * form (`"a"`, `1`, `true`, `null`) — the checker's resolved union members,
123
+ * not the quoted tokens that happened to fit in `signature`.
124
+ *
125
+ * Absent when the type has no enumerable value set. A `signature` is capped
126
+ * at the declaration head, so for a union or enum written across several
127
+ * lines this is the field that carries the members.
128
+ */
119
129
  literals?: string[];
120
130
  /**
121
131
  * Owned symbol or top-level property outline a consumer reaches for on a
@@ -52,6 +52,30 @@ export interface ITtscGraphNode {
52
52
  closure?: boolean;
53
53
  /** Declaration modifiers, when the declaration pass recorded any. */
54
54
  modifiers?: TtscGraphNodeModifier[];
55
+ /**
56
+ * The complete value set of a type alias or enum whose declared type the
57
+ * checker resolved to literals, each in TypeScript source form (`"a"`, `1`,
58
+ * `true`, `null`).
59
+ *
60
+ * Present only when every constituent is enumerable, so the list is the whole
61
+ * type and never a sample of it: `type T = Kind | string` admits values no
62
+ * list can name and carries none. It is resolved from the type, not read off
63
+ * the declaration, so indirection (`type I = Kind | 'f'`) is followed and the
64
+ * answer does not depend on how the declaration is wrapped.
65
+ */
66
+ literals?: string[];
67
+ /**
68
+ * What an enum declares, in checker order: the name a caller writes and the
69
+ * value it carries. Absent on every other kind.
70
+ *
71
+ * `literals` says which values the enum admits, which is what a serializer
72
+ * asks. The code says `Colors.Red`, so the names are the other half, and
73
+ * without them a caller that had already named the enum still had to open the
74
+ * file to learn what to type. The members are not nodes — `Colors.Red` is a
75
+ * string a grep finds exactly — so this fills in the node the graph already
76
+ * holds instead of minting one per member.
77
+ */
78
+ enumMembers?: ITtscGraphNode.IEnumMember[];
55
79
  /**
56
80
  * Decorators written on this declaration, in source order: raw facts
57
81
  * (`@Controller`, `@Get`) a consumer interprets without re-parsing source.
@@ -65,3 +89,16 @@ export interface ITtscGraphNode {
65
89
  */
66
90
  implementation?: ITtscGraphEvidence;
67
91
  }
92
+ export declare namespace ITtscGraphNode {
93
+ /** One member of an enum: the name a caller writes and the value it carries. */
94
+ interface IEnumMember {
95
+ /** The member's own name, unqualified (`Red` on `Colors.Red`). */
96
+ name: string;
97
+ /**
98
+ * The value it carries, in TypeScript source form (`"red"`, `1`). Absent
99
+ * for a computed member the checker could not fold to a constant; the name
100
+ * still stands.
101
+ */
102
+ value?: string;
103
+ }
104
+ }
@@ -56,7 +56,7 @@ export declare namespace ITtscGraphTour {
56
56
  * Central entrypoints to seed the tour. Raise only when the question names
57
57
  * several public paths that must all appear in one answer.
58
58
  *
59
- * @default 4
59
+ * @default 5
60
60
  */
61
61
  limit?: number;
62
62
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttsc/graph",
3
- "version": "0.19.2",
3
+ "version": "0.19.3",
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",
@@ -19,6 +19,9 @@
19
19
  "@typia/mcp": "13.1.0",
20
20
  "typia": "13.1.0"
21
21
  },
22
+ "peerDependencies": {
23
+ "ttsc": "0.19.3"
24
+ },
22
25
  "keywords": [
23
26
  "ttsc",
24
27
  "mcp",
@@ -39,7 +42,7 @@
39
42
  "three": "^0.184.0",
40
43
  "three-forcegraph": "^1.43.4",
41
44
  "typescript": "^7.0.2",
42
- "ttsc": "0.19.2"
45
+ "ttsc": "0.19.3"
43
46
  },
44
47
  "repository": {
45
48
  "type": "git",
@@ -1,6 +1,7 @@
1
1
  import { TtscGraphMemory } from "./model/TtscGraphMemory";
2
2
  import {
3
3
  RESULT_AUDIT,
4
+ RESULT_AUDIT_DETAILS,
4
5
  RESULT_AUDIT_ESCAPE,
5
6
  RESULT_AUDIT_SELECTION,
6
7
  } from "./server/resultAudit";
@@ -90,9 +91,11 @@ export class TtscGraphApplication implements ITtscGraphApplication {
90
91
  };
91
92
  }
92
93
  case "details": {
94
+ // details' identity is complete and its fan-out is a slice, which is
95
+ // not the walk-bounded-and-marked shape RESULT_AUDIT states.
93
96
  const r = runDetails(graph, props.request);
94
97
  return {
95
- audit: RESULT_AUDIT,
98
+ audit: RESULT_AUDIT_DETAILS,
96
99
  next: r.next,
97
100
  result: r.result,
98
101
  };
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ import { runView } from "./view";
9
9
  /** What a graph result says about where its facts came from. */
10
10
  export {
11
11
  RESULT_AUDIT,
12
+ RESULT_AUDIT_DETAILS,
12
13
  RESULT_AUDIT_ESCAPE,
13
14
  RESULT_AUDIT_SELECTION,
14
15
  } from "./server/resultAudit";
@@ -5,6 +5,7 @@ import typia from "typia";
5
5
  import { ensureExecutable } from "../nativeExecutable";
6
6
  import { resolveGraphBinary } from "../resolveGraphBinary";
7
7
  import { ITtscGraphSnapshot } from "../structures/ITtscGraphSnapshot";
8
+ import { DUMP_SCHEMA_VERSION } from "./loadGraph";
8
9
  import { TtscGraphMemory } from "./TtscGraphMemory";
9
10
 
10
11
  /**
@@ -226,6 +227,32 @@ export class TtscGraphSession {
226
227
  );
227
228
  return;
228
229
  }
230
+ // The envelope's version is not the body's, and only the envelope has been
231
+ // held to one so far. A producer can speak this protocol and still carry a
232
+ // dump from another schema — the two move apart the moment a node field is
233
+ // added without the frame around it changing — and then the facts that field
234
+ // holds are silently absent rather than refused. `literals` is exactly that
235
+ // shape: an older producer resolves no value set, so a union comes back
236
+ // looking like a type with no members. Hold the body to its own number too,
237
+ // once the frame is understood.
238
+ if (
239
+ response.dump !== undefined &&
240
+ response.dump.provenance.schemaVersion !== DUMP_SCHEMA_VERSION
241
+ ) {
242
+ // Session-wide, for the same reason the protocol mismatch above is: it is
243
+ // the wrong binary, not one bad frame.
244
+ this.failPending(
245
+ new Error(
246
+ `@ttsc/graph: ttscgraph sends dump schema v${String(
247
+ response.dump.provenance.schemaVersion,
248
+ )}, this client reads v${String(DUMP_SCHEMA_VERSION)}. ` +
249
+ "Install a matching `ttsc` (the binary resolves from the target " +
250
+ "project, or from TTSC_GRAPH_BINARY).",
251
+ ),
252
+ );
253
+ return;
254
+ }
255
+
229
256
  const pending = this.pending.get(response.id);
230
257
  if (pending === undefined) return;
231
258
  this.pending.delete(response.id);
@@ -18,8 +18,13 @@ const MAX_DUMP_BYTES = 1024 * 1024 * 1024;
18
18
  * `packages/ttsc/internal/graph/provenance.go`. The two are hand-synchronized,
19
19
  * and `dump_schema_version_matches_the_typescript_client_test.go` reads this
20
20
  * constant out of this file and fails if the pair drifts.
21
+ *
22
+ * Exported because the resident session reads the same dump body over the serve
23
+ * protocol and has to hold it to the same number: the envelope's version and the
24
+ * body's are independent, so a producer can speak this protocol and still send a
25
+ * body from another schema.
21
26
  */
22
- const DUMP_SCHEMA_VERSION = 1;
27
+ export const DUMP_SCHEMA_VERSION = 3;
23
28
 
24
29
  /**
25
30
  * Build the resident {@link TtscGraphMemory} for a project by running `ttscgraph
@@ -5,9 +5,15 @@ import path from "node:path";
5
5
  * Resolve the per-platform `ttscgraph` binary, or `null` when it cannot be
6
6
  * located.
7
7
  *
8
- * `ttsc` is a peer the user installs alongside `@ttsc/graph` (not a dependency
9
- * of this launcher), so resolution starts from the user's project, not from
10
- * this package's own tree.
8
+ * `ttsc` is a peer dependency pinned to this package's own version, installed
9
+ * alongside `@ttsc/graph` in the user's project rather than nested under this
10
+ * launcher, so resolution starts from the user's project, not from this
11
+ * package's own tree.
12
+ *
13
+ * The pin is what keeps the two halves of the graph in step. `literals` and the
14
+ * rest of the node facts are resolved by the Go builder and ride the dump, so a
15
+ * newer `@ttsc/graph` reading an older `ttscgraph` would find those fields
16
+ * simply absent and answer from a graph missing facts it believes are there.
11
17
  *
12
18
  * Resolution order:
13
19
  *