@ttsc/graph 0.19.1 → 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 (46) 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 +509 -162
  7. package/lib/model/TtscGraphSession.js.map +1 -1
  8. package/lib/model/loadGraph.d.ts +14 -0
  9. package/lib/model/loadGraph.js +382 -101
  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/ITtscGraphDump.d.ts +169 -6
  24. package/lib/structures/ITtscGraphNode.d.ts +37 -0
  25. package/lib/structures/ITtscGraphSnapshot.d.ts +55 -0
  26. package/lib/structures/ITtscGraphSnapshot.js +3 -0
  27. package/lib/structures/ITtscGraphSnapshot.js.map +1 -0
  28. package/lib/structures/ITtscGraphTour.d.ts +1 -1
  29. package/lib/structures/index.d.ts +1 -0
  30. package/lib/structures/index.js +1 -0
  31. package/lib/structures/index.js.map +1 -1
  32. package/package.json +5 -2
  33. package/src/TtscGraphApplication.ts +4 -1
  34. package/src/index.ts +1 -0
  35. package/src/model/TtscGraphSession.ts +89 -16
  36. package/src/model/loadGraph.ts +36 -0
  37. package/src/resolveGraphBinary.ts +9 -3
  38. package/src/server/resultAudit.ts +47 -8
  39. package/src/server/runDetails.ts +95 -70
  40. package/src/structures/ITtscGraphApplication.ts +8 -7
  41. package/src/structures/ITtscGraphDetails.ts +18 -8
  42. package/src/structures/ITtscGraphDump.ts +194 -6
  43. package/src/structures/ITtscGraphNode.ts +40 -0
  44. package/src/structures/ITtscGraphSnapshot.ts +69 -0
  45. package/src/structures/ITtscGraphTour.ts +1 -1
  46. package/src/structures/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"loadGraph.js","sourceRoot":"","sources":["../../src/model/loadGraph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+C;AAC/C,kDAA0B;AAE1B,0DAAuD;AACvD,8DAA2D;AAE3D,uDAAoD;AAEpD,4EAA4E;AAC5E,+EAA+E;AAC/E,uDAAuD;AACvD,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1C;;;;;;;;;GASG;AACH,mBACE,OAAO,GAWH,EAAE;IAEN,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;IACrD,8EAA8E;IAC9E,oEAAoE;IACpE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAA,uCAAkB,EAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,uDAAuD;YACrD,qDAAqD;YACrD,+CAA+C,CAClD,CAAC;IACJ,CAAC;IACD,IAAA,mCAAgB,EAAC,MAAM,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,IAAA,8BAAS,EACtB,MAAM,EACN,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,EAC9C,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CACnE,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO,iCAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+CACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAoC,KAAK,EAAE;AAC7C,CAAC"}
1
+ {"version":3,"file":"loadGraph.js","sourceRoot":"","sources":["../../src/model/loadGraph.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,15 @@
2
2
  * Resolve the per-platform `ttscgraph` binary, or `null` when it cannot be
3
3
  * located.
4
4
  *
5
- * `ttsc` is a peer the user installs alongside `@ttsc/graph` (not a dependency
6
- * of this launcher), so resolution starts from the user's project, not from
7
- * this package's own tree.
5
+ * `ttsc` is a peer dependency pinned to this package's own version, installed
6
+ * alongside `@ttsc/graph` in the user's project rather than nested under this
7
+ * launcher, so resolution starts from the user's project, not from this
8
+ * package's own tree.
9
+ *
10
+ * The pin is what keeps the two halves of the graph in step. `literals` and the
11
+ * rest of the node facts are resolved by the Go builder and ride the dump, so a
12
+ * newer `@ttsc/graph` reading an older `ttscgraph` would find those fields
13
+ * simply absent and answer from a graph missing facts it believes are there.
8
14
  *
9
15
  * Resolution order:
10
16
  *
@@ -10,9 +10,15 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  * Resolve the per-platform `ttscgraph` binary, or `null` when it cannot be
11
11
  * located.
12
12
  *
13
- * `ttsc` is a peer the user installs alongside `@ttsc/graph` (not a dependency
14
- * of this launcher), so resolution starts from the user's project, not from
15
- * this package's own tree.
13
+ * `ttsc` is a peer dependency pinned to this package's own version, installed
14
+ * alongside `@ttsc/graph` in the user's project rather than nested under this
15
+ * launcher, so resolution starts from the user's project, not from this
16
+ * package's own tree.
17
+ *
18
+ * The pin is what keeps the two halves of the graph in step. `literals` and the
19
+ * rest of the node facts are resolved by the Go builder and ride the dump, so a
20
+ * newer `@ttsc/graph` reading an older `ttscgraph` would find those fields
21
+ * simply absent and answer from a graph missing facts it believes are there.
16
22
  *
17
23
  * Resolution order:
18
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"resolveGraphBinary.js","sourceRoot":"","sources":["../src/resolveGraphBinary.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,0DAA6B;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,4BACE,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,GAAG,CAAC,iBAAiB,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;IACzE,IAAI,CAAC;QACH,2EAA2E;QAC3E,0DAA0D;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAC3D,KAAK,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,eAAe,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,OAAO,CACrB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,GAAG,EAAE,CACvD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"resolveGraphBinary.js","sourceRoot":"","sources":["../src/resolveGraphBinary.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,0DAA6B;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,4BACE,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,GAAG,GAAW,OAAO,CAAC,GAAG,EAAE;IAE3B,IAAI,GAAG,CAAC,iBAAiB,IAAI,mBAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACpE,OAAO,GAAG,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;IACzE,IAAI,CAAC;QACH,2EAA2E;QAC3E,0DAA0D;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAC3D,KAAK,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,eAAe,CAAC,CAAC;QAChD,OAAO,QAAQ,CAAC,OAAO,CACrB,SAAS,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,GAAG,EAAE,CACvD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -78,7 +78,7 @@ function createServer(graph, version) {
78
78
  properties: {
79
79
  audit: {
80
80
  type: "string",
81
- description: "What the server audited this result against before returning it, in its\nown words: every node, span, edge, signature, member, and step in it\nresolves to the type-checked program for the snapshot the call synced to,\nso opening a file it cites only returns a fact already in it.\n\nThe audit is operation-aware. For the exact operations (`trace`,\n`details`, `overview`) it reports the result as the structure the graph\nholds for the handles named, bounded only where `truncated` says. For the\nranked operations (`lookup`, `entrypoints`, `tour`) it adds that the\nselection is heuristic \u2014 matched, scored, ranked, and limited against the\nquestion \u2014 so the facts are verified but the shortlist's coverage is the\ncaller's to judge."
81
+ description: "What the server audited this result against before returning it, in its\nown words: every node, span, edge, signature, member, and step in it\nresolves to the type-checked program for the snapshot the call synced to,\nso opening a file it cites only returns a fact already in it.\n\nThe audit is operation-aware. For the walks from a named handle (`trace`,\n`overview`) it reports the result as the structure the graph holds,\nbounded where `truncated` says. For `details` it reports the two halves of\na resolved symbol: its own shape returned whole, its fan-out returned as a\nslice with `trace` for the rest. For the ranked operations (`lookup`,\n`entrypoints`, `tour`) it adds that the selection is heuristic \u2014 matched,\nscored, ranked, and limited against the question \u2014 so the facts are\nverified but the shortlist's coverage is the caller's to judge."
82
82
  },
83
83
  next: {
84
84
  $ref: "#/$defs/ITtscGraphNext",
@@ -372,7 +372,7 @@ function createServer(graph, version) {
372
372
  items: {
373
373
  type: "string"
374
374
  },
375
- description: "String literal values from the signature."
375
+ description: "The complete value set a type alias or enum admits, in TypeScript source\nform (`\"a\"`, `1`, `true`, `null`) \u2014 the checker's resolved union members,\nnot the quoted tokens that happened to fit in `signature`.\n\nAbsent when the type has no enumerable value set. A `signature` is capped\nat the declaration head, so for a union or enum written across several\nlines this is the field that carries the members."
376
376
  },
377
377
  members: {
378
378
  type: "array",
@@ -1679,15 +1679,15 @@ function createServer(graph, version) {
1679
1679
  },
1680
1680
  neighborLimit: {
1681
1681
  type: "number",
1682
- description: "Maximum dependencies and dependents per side when `neighbors:true`. Above\na few is usually overfetch; call `trace` for flow instead."
1682
+ description: "Dependencies and dependents per side when `neighbors:true`. A small\norientation slice by default; what uses a symbol grows with its\npopularity, so `trace` answers the whole \"who uses this\"."
1683
1683
  },
1684
1684
  memberLimit: {
1685
1685
  type: "number",
1686
- description: "Maximum owned members for a container or object literal."
1686
+ description: "Owned members for a container or object literal. The complete outline by\ndefault \u2014 a class's members and an enum's are the symbol itself, so they\nare not sampled. Pass a number to cap."
1687
1687
  },
1688
1688
  dependencyLimit: {
1689
1689
  type: "number",
1690
- description: "Maximum direct execution and type references per group."
1690
+ description: "Direct execution and type references per group. A small orientation slice\nby default; `trace` follows the whole fan-out."
1691
1691
  },
1692
1692
  includeExternal: {
1693
1693
  type: "boolean",
@@ -47,14 +47,18 @@
47
47
  * payload, and told it to stop where the shortlist's coverage was exactly what
48
48
  * needed judging.
49
49
  *
50
- * So there are two audits. {@link RESULT_AUDIT} covers the operations that walk
51
- * from an explicit handle or structure (`trace`, `details`, `overview`): the
52
- * result is what the graph holds for what you named, bounded only where
53
- * `truncated` says. {@link RESULT_AUDIT_SELECTION} covers the ranked shortlists
54
- * (`lookup`, `entrypoints`, `tour`): it keeps the same fact-verification and
55
- * adds that the _selection_ is heuristic, so whether the shortlist covers the
56
- * question is the caller's to judge and a follow-up request or a read of a
57
- * cited span is a sound next step, not a failure to trust the result.
50
+ * So the audits split by what the reader must judge. {@link RESULT_AUDIT}
51
+ * covers the walks from an explicit handle or structure (`trace`, `overview`):
52
+ * the result is what the graph holds for what you named, bounded where
53
+ * `truncated` says. {@link RESULT_AUDIT_DETAILS} covers `details`, whose result
54
+ * is not one bounded whole but two halves — a symbol's own shape, returned
55
+ * complete, and its fan-out, returned as a slice with `trace` for the rest so
56
+ * it names which half to trust outright and which to follow. {@link
57
+ * RESULT_AUDIT_SELECTION} covers the ranked shortlists (`lookup`, `entrypoints`,
58
+ * `tour`): it keeps the same fact-verification and adds that the _selection_ is
59
+ * heuristic, so whether the shortlist covers the question is the caller's to
60
+ * judge — and a follow-up request or a read of a cited span is a sound next
61
+ * step, not a failure to trust the result.
58
62
  *
59
63
  * Keep both narrow, and keep the stop-or-continue decision with the result's
60
64
  * `next`, so neither contradicts a partial result that legitimately asks for
@@ -70,5 +74,22 @@ export declare const RESULT_AUDIT: string;
70
74
  * many — is heuristic, so coverage is the caller's to judge.
71
75
  */
72
76
  export declare const RESULT_AUDIT_SELECTION: string;
77
+ /**
78
+ * The audit for `details`, whose contract is not the other exact operations'.
79
+ *
80
+ * `trace` walks and marks where the walk was cut with `truncated`; `details`
81
+ * does not walk. It resolves a named handle, and its result splits in two. What
82
+ * a symbol *is* — its members, its values, its signature — is bounded by the
83
+ * declaration and returned whole, so the old "trust it, do not open the file"
84
+ * is finally true of it rather than contradicted by a capped member list. What
85
+ * a symbol *reaches or is reached by* — its calls, its type references, its
86
+ * implementers, its dependents — is bounded by how widely it is used, not by
87
+ * the symbol, so returning it whole is a `trace`/impact answer of a thousand
88
+ * refs in a "what is this" call. That half is a short orientation slice, and
89
+ * the audit has to say which half is which so the reader trusts the complete
90
+ * one and reaches for `trace` on the other, instead of reading the file for a
91
+ * member list that is already here.
92
+ */
93
+ export declare const RESULT_AUDIT_DETAILS: string;
73
94
  /** The escape branch carries no graph facts, so it claims none. */
74
95
  export declare const RESULT_AUDIT_ESCAPE: string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AUDIT = void 0;
3
+ exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_DETAILS = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AUDIT = void 0;
4
4
  /**
5
5
  * The audit stamped as the first property of every
6
6
  * {@link ITtscGraphApplication.IOutput}. Because it serializes before `result`,
@@ -50,14 +50,18 @@ exports.RESULT_AUDIT_ESCAPE = exports.RESULT_AUDIT_SELECTION = exports.RESULT_AU
50
50
  * payload, and told it to stop where the shortlist's coverage was exactly what
51
51
  * needed judging.
52
52
  *
53
- * So there are two audits. {@link RESULT_AUDIT} covers the operations that walk
54
- * from an explicit handle or structure (`trace`, `details`, `overview`): the
55
- * result is what the graph holds for what you named, bounded only where
56
- * `truncated` says. {@link RESULT_AUDIT_SELECTION} covers the ranked shortlists
57
- * (`lookup`, `entrypoints`, `tour`): it keeps the same fact-verification and
58
- * adds that the _selection_ is heuristic, so whether the shortlist covers the
59
- * question is the caller's to judge and a follow-up request or a read of a
60
- * cited span is a sound next step, not a failure to trust the result.
53
+ * So the audits split by what the reader must judge. {@link RESULT_AUDIT}
54
+ * covers the walks from an explicit handle or structure (`trace`, `overview`):
55
+ * the result is what the graph holds for what you named, bounded where
56
+ * `truncated` says. {@link RESULT_AUDIT_DETAILS} covers `details`, whose result
57
+ * is not one bounded whole but two halves — a symbol's own shape, returned
58
+ * complete, and its fan-out, returned as a slice with `trace` for the rest so
59
+ * it names which half to trust outright and which to follow. {@link
60
+ * RESULT_AUDIT_SELECTION} covers the ranked shortlists (`lookup`, `entrypoints`,
61
+ * `tour`): it keeps the same fact-verification and adds that the _selection_ is
62
+ * heuristic, so whether the shortlist covers the question is the caller's to
63
+ * judge — and a follow-up request or a read of a cited span is a sound next
64
+ * step, not a failure to trust the result.
61
65
  *
62
66
  * Keep both narrow, and keep the stop-or-continue decision with the result's
63
67
  * `next`, so neither contradicts a partial result that legitimately asks for
@@ -105,6 +109,40 @@ span is a sound next step, not a failure to trust the result.
105
109
 
106
110
  Follow \`next\` for where that leaves the question.
107
111
  `.trim();
112
+ /**
113
+ * The audit for `details`, whose contract is not the other exact operations'.
114
+ *
115
+ * `trace` walks and marks where the walk was cut with `truncated`; `details`
116
+ * does not walk. It resolves a named handle, and its result splits in two. What
117
+ * a symbol *is* — its members, its values, its signature — is bounded by the
118
+ * declaration and returned whole, so the old "trust it, do not open the file"
119
+ * is finally true of it rather than contradicted by a capped member list. What
120
+ * a symbol *reaches or is reached by* — its calls, its type references, its
121
+ * implementers, its dependents — is bounded by how widely it is used, not by
122
+ * the symbol, so returning it whole is a `trace`/impact answer of a thousand
123
+ * refs in a "what is this" call. That half is a short orientation slice, and
124
+ * the audit has to say which half is which so the reader trusts the complete
125
+ * one and reaches for `trace` on the other, instead of reading the file for a
126
+ * member list that is already here.
127
+ */
128
+ exports.RESULT_AUDIT_DETAILS = `
129
+ AUDITED BEFORE RETURNING. READ FIRST.
130
+
131
+ The server assembled this \`result\`, then checked it: every fact in it — each name, span,
132
+ edge, signature, member, and value — was taken back to the type-checked program for the
133
+ snapshot this call synced to, and resolved there, so for this snapshot a fact here cannot be
134
+ wrong.
135
+
136
+ This is the structure the graph holds for the handles you named. What a symbol is — its
137
+ members, its values, its signature — is complete: trust it and do not open the file to read
138
+ what is already here. What a symbol reaches or is reached by — its calls, its type
139
+ references, its implementers, and under \`neighbors\` its dependents — is a short orientation
140
+ slice, not the whole set, because that grows with how widely a symbol is used; \`trace\`
141
+ follows it in full.
142
+
143
+ Follow \`next\`: answer from this result, and re-call the graph only when it says inspect, or
144
+ after you edit the source.
145
+ `.trim();
108
146
  /** The escape branch carries no graph facts, so it claims none. */
109
147
  exports.RESULT_AUDIT_ESCAPE = "This escape carries no graph facts to audit.";
110
148
  //# sourceMappingURL=resultAudit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resultAudit.js","sourceRoot":"","sources":["../../src/server/resultAudit.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACU,QAAA,YAAY,GAAW;;;;;;;;;;;;;;;CAenC,CAAC,IAAI,EAAE,CAAC;AAET;;;;;GAKG;AACU,QAAA,sBAAsB,GAAW;;;;;;;;;;;;;;;;;CAiB7C,CAAC,IAAI,EAAE,CAAC;AAET,mEAAmE;AACtD,QAAA,mBAAmB,GAC9B,8CAA8C,CAAC"}
1
+ {"version":3,"file":"resultAudit.js","sourceRoot":"","sources":["../../src/server/resultAudit.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACU,QAAA,YAAY,GAAW;;;;;;;;;;;;;;;CAenC,CAAC,IAAI,EAAE,CAAC;AAET;;;;;GAKG;AACU,QAAA,sBAAsB,GAAW;;;;;;;;;;;;;;;;;CAiB7C,CAAC,IAAI,EAAE,CAAC;AAET;;;;;;;;;;;;;;;GAeG;AACU,QAAA,oBAAoB,GAAW;;;;;;;;;;;;;;;;;CAiB3C,CAAC,IAAI,EAAE,CAAC;AAET,mEAAmE;AACtD,QAAA,mBAAmB,GAC9B,8CAA8C,CAAC"}
@@ -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. */