@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.
Files changed (53) hide show
  1. package/README.md +22 -0
  2. package/lib/TtscGraphApplication.js +39 -16
  3. package/lib/TtscGraphApplication.js.map +1 -1
  4. package/lib/model/TtscGraphMemory.js +43 -4
  5. package/lib/model/TtscGraphMemory.js.map +1 -1
  6. package/lib/server/createServer.js +555 -221
  7. package/lib/server/createServer.js.map +1 -1
  8. package/lib/server/instructions.js +81 -69
  9. package/lib/server/instructions.js.map +1 -1
  10. package/lib/server/pathPolicy.js +35 -0
  11. package/lib/server/pathPolicy.js.map +1 -0
  12. package/lib/server/resultGuide.js +16 -0
  13. package/lib/server/resultGuide.js.map +1 -0
  14. package/lib/server/runDetails.js +71 -10
  15. package/lib/server/runDetails.js.map +1 -1
  16. package/lib/server/runEntrypoints.js +3 -4
  17. package/lib/server/runEntrypoints.js.map +1 -1
  18. package/lib/server/runLookup.js +21 -9
  19. package/lib/server/runLookup.js.map +1 -1
  20. package/lib/server/runOverview.js +13 -6
  21. package/lib/server/runOverview.js.map +1 -1
  22. package/lib/server/runTour.js +737 -0
  23. package/lib/server/runTour.js.map +1 -0
  24. package/lib/server/runTrace.js +108 -22
  25. package/lib/server/runTrace.js.map +1 -1
  26. package/lib/structures/ITtscGraphNext.js +3 -0
  27. package/lib/structures/ITtscGraphNext.js.map +1 -0
  28. package/lib/structures/ITtscGraphTour.js +3 -0
  29. package/lib/structures/ITtscGraphTour.js.map +1 -0
  30. package/lib/structures/index.js +2 -0
  31. package/lib/structures/index.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/TtscGraphApplication.ts +49 -16
  34. package/src/model/TtscGraphMemory.ts +46 -4
  35. package/src/server/instructions.ts +81 -69
  36. package/src/server/pathPolicy.ts +43 -0
  37. package/src/server/resultGuide.ts +20 -0
  38. package/src/server/runDetails.ts +90 -6
  39. package/src/server/runEntrypoints.ts +9 -4
  40. package/src/server/runLookup.ts +33 -6
  41. package/src/server/runOverview.ts +24 -8
  42. package/src/server/runTour.ts +881 -0
  43. package/src/server/runTrace.ts +151 -23
  44. package/src/structures/ITtscGraphApplication.ts +35 -64
  45. package/src/structures/ITtscGraphDetails.ts +74 -11
  46. package/src/structures/ITtscGraphEntrypoints.ts +46 -15
  47. package/src/structures/ITtscGraphEscape.ts +19 -9
  48. package/src/structures/ITtscGraphLookup.ts +36 -15
  49. package/src/structures/ITtscGraphNext.ts +23 -0
  50. package/src/structures/ITtscGraphOverview.ts +20 -5
  51. package/src/structures/ITtscGraphTour.ts +150 -0
  52. package/src/structures/ITtscGraphTrace.ts +58 -21
  53. package/src/structures/index.ts +2 -0
package/README.md CHANGED
@@ -53,6 +53,28 @@ Run this in your own project to open that 3D map in your browser, served from a
53
53
  npx @ttsc/graph view
54
54
  ```
55
55
 
56
+ ## Benchmark
57
+
58
+ On the current GPT 5.4 Mini snapshot, the published median token cost is lowest with `@ttsc/graph`. Values below are thousands of tokens from `website/public/benchmark/graph.json`.
59
+
60
+ ```mermaid
61
+ xychart-beta
62
+ title "Common prompt median token use"
63
+ x-axis ["baseline", "@ttsc/graph", "codegraph", "codebase-memory-mcp"]
64
+ y-axis "Tokens (k)" 0 --> 1400
65
+ bar [781, 41, 617, 1302]
66
+ ```
67
+
68
+ ```mermaid
69
+ xychart-beta
70
+ title "Dedicated prompt median token use"
71
+ x-axis ["baseline", "@ttsc/graph", "codegraph", "codebase-memory-mcp"]
72
+ y-axis "Tokens (k)" 0 --> 1000
73
+ bar [776, 57, 323, 945]
74
+ ```
75
+
76
+ See the [full benchmark page](https://ttsc.dev/docs/benchmark/graph) for the raw rows and method.
77
+
56
78
  ## Sponsors
57
79
 
58
80
  [![Sponsors](https://raw.githubusercontent.com/samchon/sponsor-images/refs/heads/master/public/circle.svg)](https://github.com/sponsors/samchon)
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TtscGraphApplication = void 0;
4
+ const resultGuide_1 = require("./server/resultGuide");
4
5
  const runDetails_1 = require("./server/runDetails");
5
6
  const runEntrypoints_1 = require("./server/runEntrypoints");
6
7
  const runLookup_1 = require("./server/runLookup");
7
8
  const runOverview_1 = require("./server/runOverview");
9
+ const runTour_1 = require("./server/runTour");
8
10
  const runTrace_1 = require("./server/runTrace");
9
11
  /**
10
12
  * The MCP tool surface as a plain class over the resident
@@ -25,35 +27,56 @@ class TtscGraphApplication {
25
27
  constructor(source) {
26
28
  this.graph = typeof source === "function" ? source : () => source;
27
29
  }
28
- query(props) {
30
+ inspect_typescript_graph(props) {
31
+ if (props.request.type === "escape") {
32
+ const result = this.escape(props.request.reason);
33
+ if (props.request.nextStep !== undefined) {
34
+ result.nextStep = props.request.nextStep;
35
+ }
36
+ return {
37
+ result,
38
+ };
39
+ }
29
40
  switch (props.request.type) {
30
41
  case "entrypoints":
31
- return { result: (0, runEntrypoints_1.runEntrypoints)(this.graph(), props.request) };
42
+ return {
43
+ result: (0, runEntrypoints_1.runEntrypoints)(this.graph(), props.request),
44
+ };
32
45
  case "lookup":
33
- return { result: (0, runLookup_1.runLookup)(this.graph(), props.request) };
46
+ return {
47
+ result: (0, runLookup_1.runLookup)(this.graph(), props.request),
48
+ };
34
49
  case "trace":
35
- return { result: (0, runTrace_1.runTrace)(this.graph(), props.request) };
50
+ return {
51
+ result: (0, runTrace_1.runTrace)(this.graph(), props.request),
52
+ };
36
53
  case "details":
37
- return { result: (0, runDetails_1.runDetails)(this.graph(), props.request) };
54
+ return {
55
+ result: (0, runDetails_1.runDetails)(this.graph(), props.request),
56
+ };
38
57
  case "overview":
39
- return { result: (0, runOverview_1.runOverview)(this.graph(), props.request) };
40
- case "escape": {
41
- const result = {
42
- type: "escape",
43
- skipped: true,
44
- reason: props.request.reason,
58
+ return {
59
+ result: (0, runOverview_1.runOverview)(this.graph(), props.request),
45
60
  };
46
- if (props.request.nextStep !== undefined) {
47
- result.nextStep = props.request.nextStep;
48
- }
61
+ case "tour":
49
62
  return {
50
- result,
63
+ result: (0, runTour_1.runTour)(this.graph(), props.request),
51
64
  };
52
- }
53
65
  default:
54
66
  throw new Error("Unknown graph request type");
55
67
  }
56
68
  }
69
+ escape(reason, nextStep, action = "outside") {
70
+ return {
71
+ type: "escape",
72
+ skipped: true,
73
+ reason,
74
+ next: (0, resultGuide_1.resultNext)(action, nextStep ??
75
+ "Graph evidence is exhausted or not the next evidence source."),
76
+ guide: (0, resultGuide_1.resultGuide)("Finish from existing graph evidence, state the graph gap, or ask for clarification."),
77
+ ...(nextStep !== undefined ? { nextStep } : {}),
78
+ };
79
+ }
57
80
  }
58
81
  exports.TtscGraphApplication = TtscGraphApplication;
59
82
  //# sourceMappingURL=TtscGraphApplication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TtscGraphApplication.js","sourceRoot":"","sources":["../src/TtscGraphApplication.ts"],"names":[],"mappings":";;;AACA,oDAAiD;AACjD,4DAAyD;AACzD,kDAA+C;AAC/C,sDAAmD;AACnD,gDAA6C;AAM7C;;;;;;;;;;;;;GAaG;AACH;IACmB,KAAK,CAAwB;IAE9C,YAAmB,MAAuB;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IACpE,CAAC;IAEM,KAAK,CACV,KAAmC;QAEnC,QAAQ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,aAAa;gBAChB,OAAO,EAAE,MAAM,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,KAAK,QAAQ;gBACX,OAAO,EAAE,MAAM,EAAE,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,KAAK,OAAO;gBACV,OAAO,EAAE,MAAM,EAAE,IAAA,mBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,KAAK,SAAS;gBACZ,OAAO,EAAE,MAAM,EAAE,IAAA,uBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,KAAK,UAAU;gBACb,OAAO,EAAE,MAAM,EAAE,IAAA,yBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,KAAK,QAAQ,EAAE,CAAC;gBACd,MAAM,MAAM,GAAqB;oBAC/B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;iBAC7B,CAAC;gBACF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC3C,CAAC;gBACD,OAAO;oBACL,MAAM;iBACP,CAAC;YACJ,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"TtscGraphApplication.js","sourceRoot":"","sources":["../src/TtscGraphApplication.ts"],"names":[],"mappings":";;;AACA,sDAA+D;AAC/D,oDAAiD;AACjD,4DAAyD;AACzD,kDAA+C;AAC/C,sDAAmD;AACnD,8CAA2C;AAC3C,gDAA6C;AAM7C;;;;;;;;;;;;;GAaG;AACH;IACmB,KAAK,CAAwB;IAE9C,YAAmB,MAAuB;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IACpE,CAAC;IAEM,wBAAwB,CAC7B,KAAmC;QAEnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,CAAC;YACD,OAAO;gBACL,MAAM;aACP,CAAC;QACJ,CAAC;QACD,QAAQ,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,KAAK,aAAa;gBAChB,OAAO;oBACL,MAAM,EAAE,IAAA,+BAAc,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBACpD,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO;oBACL,MAAM,EAAE,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBAC/C,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;oBACL,MAAM,EAAE,IAAA,mBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBAC9C,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO;oBACL,MAAM,EAAE,IAAA,uBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBAChD,CAAC;YACJ,KAAK,UAAU;gBACb,OAAO;oBACL,MAAM,EAAE,IAAA,yBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBACjD,CAAC;YACJ,KAAK,MAAM;gBACT,OAAO;oBACL,MAAM,EAAE,IAAA,iBAAO,EAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC;iBAC7C,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,MAAM,CACZ,MAAc,EACd,QAAiB,EACjB,MAAM,GAAqC,SAAS;QAEpD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,IAAI;YACb,MAAM;YACN,IAAI,EAAE,IAAA,wBAAU,EACd,MAAM,EACN,QAAQ;gBACN,8DAA8D,CACjE;YACD,KAAK,EAAE,IAAA,yBAAW,EAChB,qFAAqF,CACtF;YACD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;CACF"}
@@ -7,9 +7,9 @@ exports.TtscGraphMemory = void 0;
7
7
  * It loads one `ttscgraph dump` — the checker-resolved fact graph — then
8
8
  * synthesizes the structural relationships the dump deliberately leaves to this
9
9
  * layer: `file` container nodes, the `contains` ownership tree, and `exports`
10
- * edges, plus the refinement of a class-member `variable` to a `property`.
11
- * Every tool call is then a lookup or a traversal over the indexes built here;
12
- * nothing recompiles.
10
+ * edges, plus class/interface member implementation edges and the refinement of
11
+ * a class-member `variable` to a `property`. Every tool call is then a lookup
12
+ * or a traversal over the indexes built here; nothing recompiles.
13
13
  */
14
14
  class TtscGraphMemory {
15
15
  byId;
@@ -159,10 +159,13 @@ function synthesize(dump) {
159
159
  // Ownership: a member is contained by its owner; a top-level declaration by
160
160
  // its file. Exports: a file exports each of its public nodes.
161
161
  const structural = [];
162
+ const membersByOwner = new Map();
162
163
  for (const node of nodes) {
163
164
  if (node.external || node.file === "")
164
165
  continue;
165
166
  const parent = owner(node);
167
+ if (parent !== undefined)
168
+ push(membersByOwner, parent.id, node);
166
169
  const container = parent ? parent.id : fileNodeId(node.file);
167
170
  structural.push({
168
171
  from: container,
@@ -177,9 +180,45 @@ function synthesize(dump) {
177
180
  });
178
181
  }
179
182
  }
183
+ const synthesized = [...edges, ...structural];
184
+ const edgeKeys = new Set(synthesized.map((edge) => `${edge.kind}\0${edge.from}\0${edge.to}`));
185
+ const byId = new Map(nodes.map((node) => [node.id, node]));
186
+ for (const edge of edges) {
187
+ const kind = edge.kind === "implements"
188
+ ? "implements"
189
+ : edge.kind === "extends"
190
+ ? "overrides"
191
+ : undefined;
192
+ if (kind === undefined)
193
+ continue;
194
+ const derived = byId.get(edge.from);
195
+ const base = byId.get(edge.to);
196
+ if (derived === undefined || base === undefined)
197
+ continue;
198
+ const derivedMembers = membersByOwner.get(derived.id) ?? [];
199
+ const baseMembers = membersByOwner.get(base.id) ?? [];
200
+ for (const baseMember of baseMembers) {
201
+ const derivedMember = derivedMembers.find((member) => member.name === baseMember.name &&
202
+ implementationMemberKinds.has(member.kind) &&
203
+ implementationMemberKinds.has(baseMember.kind));
204
+ if (derivedMember === undefined)
205
+ continue;
206
+ const key = `${kind}\0${derivedMember.id}\0${baseMember.id}`;
207
+ if (edgeKeys.has(key))
208
+ continue;
209
+ edgeKeys.add(key);
210
+ synthesized.push({
211
+ from: derivedMember.id,
212
+ to: baseMember.id,
213
+ kind,
214
+ evidence: derivedMember.implementation ?? derivedMember.evidence,
215
+ });
216
+ }
217
+ }
180
218
  return {
181
219
  nodes: [...nodes, ...fileNodes.values()],
182
- edges: [...edges, ...structural],
220
+ edges: synthesized,
183
221
  };
184
222
  }
223
+ const implementationMemberKinds = new Set(["method", "property"]);
185
224
  //# sourceMappingURL=TtscGraphMemory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TtscGraphMemory.js","sourceRoot":"","sources":["../../src/model/TtscGraphMemory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TtscGraphMemory.js","sourceRoot":"","sources":["../../src/model/TtscGraphMemory.ts"],"names":[],"mappings":"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"}