@vyuhlabs/dxkit 2.19.0 → 2.21.0

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 (100) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/allowlist/categories.d.ts.map +1 -1
  3. package/dist/allowlist/categories.js +4 -0
  4. package/dist/allowlist/categories.js.map +1 -1
  5. package/dist/allowlist/hint.d.ts.map +1 -1
  6. package/dist/allowlist/hint.js +6 -0
  7. package/dist/allowlist/hint.js.map +1 -1
  8. package/dist/analyzers/flow/config.d.ts +37 -0
  9. package/dist/analyzers/flow/config.d.ts.map +1 -0
  10. package/dist/analyzers/flow/config.js +84 -0
  11. package/dist/analyzers/flow/config.js.map +1 -0
  12. package/dist/analyzers/flow/contract.d.ts +93 -0
  13. package/dist/analyzers/flow/contract.d.ts.map +1 -0
  14. package/dist/analyzers/flow/contract.js +176 -0
  15. package/dist/analyzers/flow/contract.js.map +1 -0
  16. package/dist/analyzers/flow/gate.d.ts +64 -0
  17. package/dist/analyzers/flow/gate.d.ts.map +1 -0
  18. package/dist/analyzers/flow/gate.js +84 -0
  19. package/dist/analyzers/flow/gate.js.map +1 -0
  20. package/dist/analyzers/flow/gather.d.ts +11 -0
  21. package/dist/analyzers/flow/gather.d.ts.map +1 -1
  22. package/dist/analyzers/flow/gather.js +10 -9
  23. package/dist/analyzers/flow/gather.js.map +1 -1
  24. package/dist/analyzers/flow/model.d.ts +12 -0
  25. package/dist/analyzers/flow/model.d.ts.map +1 -1
  26. package/dist/analyzers/flow/model.js +25 -3
  27. package/dist/analyzers/flow/model.js.map +1 -1
  28. package/dist/analyzers/tools/fingerprint.d.ts +32 -0
  29. package/dist/analyzers/tools/fingerprint.d.ts.map +1 -1
  30. package/dist/analyzers/tools/fingerprint.js +37 -1
  31. package/dist/analyzers/tools/fingerprint.js.map +1 -1
  32. package/dist/baseline/check-renderers.d.ts +21 -0
  33. package/dist/baseline/check-renderers.d.ts.map +1 -1
  34. package/dist/baseline/check-renderers.js +93 -3
  35. package/dist/baseline/check-renderers.js.map +1 -1
  36. package/dist/baseline/check.d.ts +18 -0
  37. package/dist/baseline/check.d.ts.map +1 -1
  38. package/dist/baseline/check.js +21 -2
  39. package/dist/baseline/check.js.map +1 -1
  40. package/dist/baseline/entry-to-located.d.ts.map +1 -1
  41. package/dist/baseline/entry-to-located.js +7 -0
  42. package/dist/baseline/entry-to-located.js.map +1 -1
  43. package/dist/baseline/finding-identity.d.ts.map +1 -1
  44. package/dist/baseline/finding-identity.js +5 -0
  45. package/dist/baseline/finding-identity.js.map +1 -1
  46. package/dist/baseline/flow-gate-check.d.ts +60 -0
  47. package/dist/baseline/flow-gate-check.d.ts.map +1 -0
  48. package/dist/baseline/flow-gate-check.js +171 -0
  49. package/dist/baseline/flow-gate-check.js.map +1 -0
  50. package/dist/baseline/migrate.d.ts.map +1 -1
  51. package/dist/baseline/migrate.js +3 -0
  52. package/dist/baseline/migrate.js.map +1 -1
  53. package/dist/baseline/producers/index.d.ts.map +1 -1
  54. package/dist/baseline/producers/index.js +9 -0
  55. package/dist/baseline/producers/index.js.map +1 -1
  56. package/dist/baseline/show.js +2 -0
  57. package/dist/baseline/show.js.map +1 -1
  58. package/dist/baseline/types.d.ts +32 -2
  59. package/dist/baseline/types.d.ts.map +1 -1
  60. package/dist/cli.d.ts.map +1 -1
  61. package/dist/cli.js +46 -13
  62. package/dist/cli.js.map +1 -1
  63. package/dist/dashboard/graph-adapter.d.ts.map +1 -1
  64. package/dist/dashboard/graph-adapter.js +1 -4
  65. package/dist/dashboard/graph-adapter.js.map +1 -1
  66. package/dist/explore/flow-graph.d.ts +62 -0
  67. package/dist/explore/flow-graph.d.ts.map +1 -0
  68. package/dist/explore/flow-graph.js +194 -0
  69. package/dist/explore/flow-graph.js.map +1 -0
  70. package/dist/explore/flow-view.d.ts +33 -0
  71. package/dist/explore/flow-view.d.ts.map +1 -0
  72. package/dist/explore/flow-view.js +85 -0
  73. package/dist/explore/flow-view.js.map +1 -0
  74. package/dist/explore/load.d.ts.map +1 -1
  75. package/dist/explore/load.js +16 -3
  76. package/dist/explore/load.js.map +1 -1
  77. package/dist/explore/queries.d.ts +92 -1
  78. package/dist/explore/queries.d.ts.map +1 -1
  79. package/dist/explore/queries.js +142 -0
  80. package/dist/explore/queries.js.map +1 -1
  81. package/dist/explore/types.d.ts +56 -3
  82. package/dist/explore/types.d.ts.map +1 -1
  83. package/dist/explore/types.js +10 -2
  84. package/dist/explore/types.js.map +1 -1
  85. package/dist/flow-cli.d.ts +32 -0
  86. package/dist/flow-cli.d.ts.map +1 -1
  87. package/dist/flow-cli.js +168 -21
  88. package/dist/flow-cli.js.map +1 -1
  89. package/dist/languages/index.d.ts +21 -0
  90. package/dist/languages/index.d.ts.map +1 -1
  91. package/dist/languages/index.js +41 -0
  92. package/dist/languages/index.js.map +1 -1
  93. package/dist/loop/policy.d.ts +4 -1
  94. package/dist/loop/policy.d.ts.map +1 -1
  95. package/dist/loop/policy.js +3 -0
  96. package/dist/loop/policy.js.map +1 -1
  97. package/dist/loop/stop-gate.d.ts.map +1 -1
  98. package/dist/loop/stop-gate.js +8 -2
  99. package/dist/loop/stop-gate.js.map +1 -1
  100. package/package.json +1 -1
@@ -27,7 +27,12 @@ exports.featureQuery = featureQuery;
27
27
  exports.contextQuery = contextQuery;
28
28
  exports.findingContextQuery = findingContextQuery;
29
29
  exports.enclosingSymbolFor = enclosingSymbolFor;
30
+ exports.enclosingNodeIdFor = enclosingNodeIdFor;
30
31
  exports.fileLineContextQuery = fileLineContextQuery;
32
+ exports.endpointCallers = endpointCallers;
33
+ exports.flowBlastRadius = flowBlastRadius;
34
+ exports.flowTrace = flowTrace;
35
+ exports.flowMapQuery = flowMapQuery;
31
36
  // ─── Low-level primitives ────────────────────────────────────────────────────
32
37
  /** Nodes that call into the given nodeId (predecessors via `calls` edges). */
33
38
  function callersOf(graph, nodeId) {
@@ -792,6 +797,40 @@ function enclosingSymbolFor(graph, sourceFile, line) {
792
797
  }
793
798
  return best ? stripParens(best.label) : undefined;
794
799
  }
800
+ /**
801
+ * Resolve the id of the structural node enclosing a source location —
802
+ * the node-id sibling of {@link enclosingSymbolFor}. Used by the flow
803
+ * writer to anchor the `from` end of a `calls-endpoint` edge onto the
804
+ * real call graph when graphify is present (so a UI→API edge composes
805
+ * with the structural `calls` edges for multi-hop blast radius). Returns
806
+ * `undefined` when the file declares no symbol at-or-above `line` AND has
807
+ * no module node (the writer then leaves `from` empty and relies on the
808
+ * edge's fromFile / fromLine coordinates, keeping the map
809
+ * graphify-independent).
810
+ *
811
+ * Prefers the nearest non-module declaration at-or-above `line`; falls
812
+ * back to the file's module node (a top-level call outside any symbol
813
+ * still anchors to its file). Graph traversal stays in this module
814
+ * (Rule 12).
815
+ */
816
+ function enclosingNodeIdFor(graph, sourceFile, line) {
817
+ const nodes = graph.nodesByFile.get(sourceFile);
818
+ if (!nodes)
819
+ return undefined;
820
+ let best;
821
+ let moduleFallback;
822
+ for (const n of nodes) {
823
+ if (n.kind === 'module') {
824
+ moduleFallback = n;
825
+ continue;
826
+ }
827
+ if (typeof n.line !== 'number' || n.line > line)
828
+ continue;
829
+ if (best?.line === undefined || n.line > best.line)
830
+ best = n;
831
+ }
832
+ return (best ?? moduleFallback)?.id;
833
+ }
795
834
  /**
796
835
  * Resolve the structural neighborhood of a `file:line` location. Reuses
797
836
  * `fileSummaryQuery` for the file-level blast radius + community (Rule 2
@@ -867,6 +906,109 @@ function fileLineContextQuery(graph, sourceFile, line, opts = {}) {
867
906
  blastRadius: { callerFiles: summary.callerFiles.length, callers: fileCallers },
868
907
  };
869
908
  }
909
+ /**
910
+ * Every UI surface that hits an endpoint — the `calls-endpoint` in-edges of the
911
+ * endpoint node, mapped to their consuming call sites. The core cross-boundary
912
+ * query the graph could not previously answer. Rule 12: relation-filtered edge
913
+ * traversal lives here, never re-walked by a consumer.
914
+ */
915
+ function endpointCallers(graph, endpointId) {
916
+ const out = [];
917
+ for (const e of graph.edgesToNode.get(endpointId) ?? []) {
918
+ if (e.relation !== 'calls-endpoint')
919
+ continue;
920
+ const node = e.from ? graph.nodeById.get(e.from) : undefined;
921
+ out.push({
922
+ file: e.fromFile ?? node?.sourceFile ?? '',
923
+ line: e.fromLine,
924
+ nodeId: node?.id,
925
+ symbol: node ? stripParens(node.label) : undefined,
926
+ });
927
+ }
928
+ return out;
929
+ }
930
+ function flowBlastRadius(graph, endpointId) {
931
+ const consumers = endpointCallers(graph, endpointId);
932
+ const consumerFiles = new Set();
933
+ for (const c of consumers)
934
+ if (c.file)
935
+ consumerFiles.add(c.file);
936
+ // Transitive upstream over `calls` edges, seeded by the anchored consumer
937
+ // nodes. BFS with a visited set — bounded by the graph size.
938
+ const upstreamNodes = new Set();
939
+ const upstreamFiles = new Set();
940
+ const queue = [];
941
+ for (const c of consumers)
942
+ if (c.nodeId)
943
+ queue.push(c.nodeId);
944
+ const seen = new Set(queue);
945
+ while (queue.length) {
946
+ const id = queue.shift();
947
+ for (const caller of callersOf(graph, id)) {
948
+ if (seen.has(caller.id))
949
+ continue;
950
+ seen.add(caller.id);
951
+ upstreamNodes.add(caller.id);
952
+ if (caller.sourceFile)
953
+ upstreamFiles.add(caller.sourceFile);
954
+ queue.push(caller.id);
955
+ }
956
+ }
957
+ return {
958
+ endpointId,
959
+ directConsumers: consumers.length,
960
+ consumerFiles: consumerFiles.size,
961
+ upstreamCallers: upstreamNodes.size,
962
+ upstreamFiles: upstreamFiles.size,
963
+ };
964
+ }
965
+ function flowTrace(graph, endpointId) {
966
+ const endpoint = graph.endpointById.get(endpointId);
967
+ if (!endpoint) {
968
+ return {
969
+ found: false,
970
+ handler: null,
971
+ consumers: [],
972
+ blastRadius: {
973
+ endpointId,
974
+ directConsumers: 0,
975
+ consumerFiles: 0,
976
+ upstreamCallers: 0,
977
+ upstreamFiles: 0,
978
+ },
979
+ };
980
+ }
981
+ return {
982
+ found: true,
983
+ endpoint,
984
+ handler: endpoint.handler,
985
+ consumers: endpointCallers(graph, endpointId),
986
+ blastRadius: flowBlastRadius(graph, endpointId),
987
+ };
988
+ }
989
+ function flowMapQuery(graph) {
990
+ const rows = [];
991
+ const unconsumed = [];
992
+ let totalBindings = 0;
993
+ for (const endpoint of graph.endpoints) {
994
+ const consumers = endpointCallers(graph, endpoint.id);
995
+ totalBindings += consumers.length;
996
+ const files = [...new Set(consumers.map((c) => c.file).filter(Boolean))].sort();
997
+ if (consumers.length === 0) {
998
+ unconsumed.push(endpoint);
999
+ continue;
1000
+ }
1001
+ rows.push({ endpoint, consumerCount: consumers.length, consumerFiles: files });
1002
+ }
1003
+ rows.sort((a, b) => b.consumerCount - a.consumerCount || a.endpoint.label.localeCompare(b.endpoint.label));
1004
+ unconsumed.sort((a, b) => a.label.localeCompare(b.label));
1005
+ return {
1006
+ endpoints: rows,
1007
+ unconsumedEndpoints: unconsumed,
1008
+ totalEndpoints: graph.endpoints.length,
1009
+ totalBindings,
1010
+ };
1011
+ }
870
1012
  function roleLabel(community) {
871
1013
  if (!community)
872
1014
  return 'unclustered';
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/explore/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/explore/queries.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,16 @@
13
13
  * never `JSON.parse` directly. Arch-check enforces.
14
14
  */
15
15
  import type { LanguageId } from '../types';
16
- /** Current schema version. Bump on breaking change; loader handles migration. */
17
- export declare const GRAPH_SCHEMA_VERSION = 1;
16
+ /**
17
+ * Current schema version. Bump on breaking change; loader handles migration.
18
+ *
19
+ * v2 (flow map): adds the `endpoints` overlay (`http-endpoint` nodes) and the
20
+ * `calls-endpoint` edge relation — the cross-boundary UI→API join the graph
21
+ * could not previously express. The overlay is purely additive: a v1 artifact
22
+ * migrates forward to an empty endpoint set, and the structural node/edge kinds
23
+ * are untouched, so every pre-flow query keeps working unchanged.
24
+ */
25
+ export declare const GRAPH_SCHEMA_VERSION = 2;
18
26
  /**
19
27
  * Canonical disk location for the graph artifact, relative to cwd.
20
28
  * Producer (`src/analyzers/tools/graphify.ts:gatherGraphifyGraph`) writes
@@ -24,7 +32,7 @@ export declare const GRAPH_SCHEMA_VERSION = 1;
24
32
  */
25
33
  export declare const GRAPH_REPORT_PATH = ".dxkit/reports/graph.json";
26
34
  export type GraphNodeKind = 'function' | 'class' | 'method' | 'module';
27
- export type GraphEdgeRelation = 'calls' | 'imports_from' | 'method';
35
+ export type GraphEdgeRelation = 'calls' | 'imports_from' | 'method' | 'calls-endpoint';
28
36
  export type ExportDetectionReliability = 'full' | 'partial' | 'unreliable';
29
37
  /**
30
38
  * A single graph node — a function, class, method, or module
@@ -49,6 +57,14 @@ export interface GraphNode {
49
57
  * for `calls` edges; `importedSymbol` only populated for
50
58
  * `imports_from` edges when graphify surfaces the per-symbol info
51
59
  * (today: omitted; reserved for future graphify extension).
60
+ *
61
+ * `fromFile` / `fromLine` are populated ONLY on `calls-endpoint` edges
62
+ * (the flow overlay): they carry the consuming call site's source
63
+ * coordinates directly on the edge. When graphify is present the flow
64
+ * writer resolves `from` to the enclosing structural node id (linking the
65
+ * consumer into the real call graph for multi-hop blast radius); when it
66
+ * is absent `from` is the empty string and these coordinates are the only
67
+ * consumer anchor — which is what keeps the flow map graphify-independent.
52
68
  */
53
69
  export interface GraphEdge {
54
70
  readonly from: string;
@@ -56,6 +72,32 @@ export interface GraphEdge {
56
72
  readonly relation: GraphEdgeRelation;
57
73
  readonly occurrences?: number;
58
74
  readonly importedSymbol?: string;
75
+ readonly fromFile?: string;
76
+ readonly fromLine?: number;
77
+ }
78
+ /**
79
+ * An HTTP endpoint a service serves — one per distinct `(method, path)`
80
+ * a backend exposes. The `to` end of every `calls-endpoint` edge. Lives
81
+ * in the separate `GraphJson.endpoints` overlay rather than in `nodes`,
82
+ * so the four structural node kinds (and every query that switches on
83
+ * them) stay untouched by the flow layer.
84
+ *
85
+ * `method` / `path` are the NORMALIZED join key (`GET`, `/articles/{var}`)
86
+ * — the same canonical form a client call reduces to, so the two sides
87
+ * meet on `${method} ${path}`. `via` records discovery provenance
88
+ * (source decorator, Express-style route call, or an ingested spec);
89
+ * `handler` is the best-effort handler symbol when known.
90
+ */
91
+ export interface HttpEndpointNode {
92
+ readonly id: string;
93
+ readonly kind: 'http-endpoint';
94
+ readonly label: string;
95
+ readonly method: string;
96
+ readonly path: string;
97
+ readonly via: 'decorator' | 'router-call' | 'spec';
98
+ readonly handler: string | null;
99
+ readonly sourceFile: string;
100
+ readonly line?: number;
59
101
  }
60
102
  /**
61
103
  * A Louvain-clustered grouping of nodes. `cohesion` in [0, 1].
@@ -102,6 +144,12 @@ export interface GraphMeta {
102
144
  /**
103
145
  * The on-disk wire format. `schemaVersion` at root level
104
146
  * matches the existing `StructuralResult` envelope pattern.
147
+ *
148
+ * `endpoints` is the v2 flow overlay: absent in a v1 artifact (the
149
+ * loader migrates it to `[]`), present-but-possibly-empty in v2. The
150
+ * `calls-endpoint` edges that reference these endpoints live in the
151
+ * normal `edges` array (relation-filtered, so they never leak into a
152
+ * structural `calls` / `imports_from` traversal).
105
153
  */
106
154
  export interface GraphJson {
107
155
  readonly schemaVersion: number;
@@ -110,6 +158,7 @@ export interface GraphJson {
110
158
  readonly edges: ReadonlyArray<GraphEdge>;
111
159
  readonly communities: ReadonlyArray<Community>;
112
160
  readonly symbolIndex: SymbolIndex;
161
+ readonly endpoints: ReadonlyArray<HttpEndpointNode>;
113
162
  }
114
163
  /**
115
164
  * In-memory graph representation. Extends `GraphJson` with
@@ -125,5 +174,9 @@ export interface Graph extends GraphJson {
125
174
  readonly nodesByFile: ReadonlyMap<string, ReadonlyArray<GraphNode>>;
126
175
  readonly communityById: ReadonlyMap<number, Community>;
127
176
  readonly communityByNode: ReadonlyMap<string, Community>;
177
+ /** The flow overlay, indexed by endpoint id. */
178
+ readonly endpointById: ReadonlyMap<string, HttpEndpointNode>;
179
+ /** The flow overlay, indexed by the `${method} ${path}` join key. */
180
+ readonly endpointByKey: ReadonlyMap<string, HttpEndpointNode>;
128
181
  }
129
182
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/explore/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,8BAA8B,CAAC;AAE7D,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,CAAC;AAEpE,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAE3E;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC1D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/explore/types.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,16 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.GRAPH_REPORT_PATH = exports.GRAPH_SCHEMA_VERSION = void 0;
18
- /** Current schema version. Bump on breaking change; loader handles migration. */
19
- exports.GRAPH_SCHEMA_VERSION = 1;
18
+ /**
19
+ * Current schema version. Bump on breaking change; loader handles migration.
20
+ *
21
+ * v2 (flow map): adds the `endpoints` overlay (`http-endpoint` nodes) and the
22
+ * `calls-endpoint` edge relation — the cross-boundary UI→API join the graph
23
+ * could not previously express. The overlay is purely additive: a v1 artifact
24
+ * migrates forward to an empty endpoint set, and the structural node/edge kinds
25
+ * are untouched, so every pre-flow query keeps working unchanged.
26
+ */
27
+ exports.GRAPH_SCHEMA_VERSION = 2;
20
28
  /**
21
29
  * Canonical disk location for the graph artifact, relative to cwd.
22
30
  * Producer (`src/analyzers/tools/graphify.ts:gatherGraphifyGraph`) writes
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/explore/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAIH,iFAAiF;AACpE,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,2BAA2B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/explore/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAIH;;;;;;;;GAQG;AACU,QAAA,oBAAoB,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG,2BAA2B,CAAC"}
@@ -12,5 +12,37 @@ export interface FlowExtractOptions {
12
12
  readonly out?: string;
13
13
  readonly json?: boolean;
14
14
  }
15
+ /** Shared options for the graph-backed `flow` / `flow trace` views. */
16
+ export interface FlowViewOptions {
17
+ readonly cwd: string;
18
+ readonly frontend?: string;
19
+ readonly backend?: string;
20
+ readonly specs?: string;
21
+ readonly json?: boolean;
22
+ }
15
23
  export declare function runFlowExtract(opts: FlowExtractOptions): Promise<void>;
24
+ /**
25
+ * `vyuh-dxkit flow` — the traceability map. Writes the flow overlay onto
26
+ * graph.json (the native artifact the dashboard + gate also read) and prints
27
+ * every served endpoint with how many UI surfaces consume it, plus the
28
+ * served-but-unconsumed set (dead-route or cross-repo candidates).
29
+ */
30
+ export declare function runFlowMap(opts: FlowViewOptions): Promise<void>;
31
+ /**
32
+ * `vyuh-dxkit flow trace "<METHOD> <path>"` — the full trace for one endpoint:
33
+ * its served-side handler + every UI call site + the change blast radius.
34
+ */
35
+ export declare function runFlowTrace(opts: FlowViewOptions & {
36
+ target: string;
37
+ }): Promise<void>;
38
+ /**
39
+ * `vyuh-dxkit flow refresh` — write this repo's flow contract snapshots
40
+ * (`.dxkit/flow/served.json` + `consumed.json`). A backend commits `served.json`
41
+ * so a frontend in another repo can gate against it; a frontend commits
42
+ * `consumed.json` so a backend can see who still binds each route. A monorepo
43
+ * commits both (or neither — its guardrail computes both sides live). This is
44
+ * the one command that needs a full flow gather + write; the per-PR gate reads
45
+ * the committed snapshots (or gathers live in a monorepo) without a refresh.
46
+ */
47
+ export declare function runFlowRefresh(opts: FlowViewOptions): Promise<void>;
16
48
  //# sourceMappingURL=flow-cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-cli.d.ts","sourceRoot":"","sources":["../src/flow-cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAwBD,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B5E"}
1
+ {"version":3,"file":"flow-cli.d.ts","sourceRoot":"","sources":["../src/flow-cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkBH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AA8CD,wBAAsB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5E;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrE;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC5F;AAeD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzE"}