code-kg 0.1.1 → 0.1.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.
- package/README.md +1 -1
- package/dist/server/app.js +78 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/ui.js +221 -12
- package/dist/server/ui.js.map +1 -1
- package/dist/store/sqlite-store.d.ts +1 -0
- package/dist/store/sqlite-store.js +77 -3
- package/dist/store/sqlite-store.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ npx code-kg path \
|
|
|
83
83
|
- `GET /api/meta`
|
|
84
84
|
- `GET /api/search?q=...`
|
|
85
85
|
- `GET /api/node/:id`
|
|
86
|
-
- `GET /api/graph?view=fileDeps|symbolGraph|all&nodeTypes=...&edgeTypes=...&q=...&limit=...` (includes optional `meta` with query timing and recommended renderer quality mode)
|
|
86
|
+
- `GET /api/graph?view=fileDeps|moduleGraph|symbolGraph|all&nodeTypes=...&edgeTypes=...&q=...&limit=...` (includes optional `meta` with query timing and recommended renderer quality mode)
|
|
87
87
|
- `GET /api/subgraph?seed=<nodeId>&depth=2&direction=both`
|
|
88
88
|
- `GET /api/path?from=<nodeId>&to=<nodeId>&maxDepth=12&edgeTypes=...`
|
|
89
89
|
- `GET /api/routes`
|
package/dist/server/app.js
CHANGED
|
@@ -181,6 +181,81 @@ function createDefaultGraphQueryEngine() {
|
|
|
181
181
|
function isFileDependencyEdge(edge) {
|
|
182
182
|
return edge.type === 'IMPORTS' || edge.type === 'DEPENDS_ON';
|
|
183
183
|
}
|
|
184
|
+
function toModuleKey(node) {
|
|
185
|
+
const raw = (node.path ?? node.name ?? node.id)
|
|
186
|
+
.replace(/^file:/i, '')
|
|
187
|
+
.replaceAll('\\', '/')
|
|
188
|
+
.trim();
|
|
189
|
+
const parts = raw
|
|
190
|
+
.split('/')
|
|
191
|
+
.map((part) => part.trim())
|
|
192
|
+
.filter((part) => part.length > 0 && part !== '.');
|
|
193
|
+
if (parts.length === 0) {
|
|
194
|
+
return 'root';
|
|
195
|
+
}
|
|
196
|
+
const scopedRoots = new Set(['src', 'lib', 'app', 'packages', 'services']);
|
|
197
|
+
if (scopedRoots.has(parts[0]?.toLowerCase() ?? '') && parts.length >= 2) {
|
|
198
|
+
return `${parts[0]}/${parts[1]}`;
|
|
199
|
+
}
|
|
200
|
+
return parts[0] ?? 'root';
|
|
201
|
+
}
|
|
202
|
+
function buildModuleGraphView(view) {
|
|
203
|
+
const fileNodes = nodes.filter(isFileNode);
|
|
204
|
+
const fileNodeById = new Map(fileNodes.map((node) => [node.id, node]));
|
|
205
|
+
const moduleById = new Map();
|
|
206
|
+
const fileToModule = new Map();
|
|
207
|
+
for (const fileNode of fileNodes) {
|
|
208
|
+
const moduleKey = toModuleKey(fileNode);
|
|
209
|
+
const moduleId = `module:${moduleKey}`;
|
|
210
|
+
fileToModule.set(fileNode.id, moduleId);
|
|
211
|
+
const existing = moduleById.get(moduleId);
|
|
212
|
+
if (existing) {
|
|
213
|
+
const currentCount = typeof existing.props?.fileCount === 'number' ? existing.props.fileCount : 0;
|
|
214
|
+
existing.props = { ...(existing.props ?? {}), fileCount: currentCount + 1 };
|
|
215
|
+
continue;
|
|
216
|
+
}
|
|
217
|
+
moduleById.set(moduleId, {
|
|
218
|
+
id: moduleId,
|
|
219
|
+
type: 'Module',
|
|
220
|
+
name: moduleKey,
|
|
221
|
+
path: moduleKey,
|
|
222
|
+
props: { fileCount: 1 },
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
const moduleEdges = new Map();
|
|
226
|
+
for (const edge of edges) {
|
|
227
|
+
if (!isFileDependencyEdge(edge)) {
|
|
228
|
+
continue;
|
|
229
|
+
}
|
|
230
|
+
if (!fileNodeById.has(edge.from) || !fileNodeById.has(edge.to)) {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
const fromModule = fileToModule.get(edge.from);
|
|
234
|
+
const toModule = fileToModule.get(edge.to);
|
|
235
|
+
if (!fromModule || !toModule || fromModule === toModule) {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
const pairKey = `${fromModule}->${toModule}`;
|
|
239
|
+
const existing = moduleEdges.get(pairKey);
|
|
240
|
+
if (existing) {
|
|
241
|
+
const currentWeight = typeof existing.props?.weight === 'number' ? existing.props.weight : 0;
|
|
242
|
+
existing.props = { ...(existing.props ?? {}), weight: currentWeight + 1 };
|
|
243
|
+
continue;
|
|
244
|
+
}
|
|
245
|
+
moduleEdges.set(pairKey, {
|
|
246
|
+
id: `module-edge:${pairKey}`,
|
|
247
|
+
from: fromModule,
|
|
248
|
+
to: toModule,
|
|
249
|
+
type: 'MODULE_DEPENDS_ON',
|
|
250
|
+
props: { weight: 1 },
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
view,
|
|
255
|
+
nodes: [...moduleById.values()].sort((left, right) => left.id.localeCompare(right.id)),
|
|
256
|
+
edges: [...moduleEdges.values()].sort((left, right) => left.id.localeCompare(right.id)),
|
|
257
|
+
};
|
|
258
|
+
}
|
|
184
259
|
function buildRefactorInsights(limit) {
|
|
185
260
|
const fileNodes = nodes.filter(isFileNode);
|
|
186
261
|
const fanIn = new Map();
|
|
@@ -236,6 +311,9 @@ function createDefaultGraphQueryEngine() {
|
|
|
236
311
|
const viewEdges = edges.filter((edge) => allowedTypes.has(edge.type) && viewNodeIds.has(edge.from) && viewNodeIds.has(edge.to));
|
|
237
312
|
return { view, nodes: viewNodes, edges: viewEdges };
|
|
238
313
|
}
|
|
314
|
+
if (view === 'moduleGraph') {
|
|
315
|
+
return buildModuleGraphView(view);
|
|
316
|
+
}
|
|
239
317
|
return { view, nodes, edges };
|
|
240
318
|
}
|
|
241
319
|
function applyGraphFilters(graph, options) {
|
package/dist/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
|
package/dist/server/ui.js
CHANGED
|
@@ -470,6 +470,7 @@ function renderUiHtml() {
|
|
|
470
470
|
<span>Graph View</span>
|
|
471
471
|
<select id="viewSelect">
|
|
472
472
|
<option value="fileDeps">File Dependency Graph</option>
|
|
473
|
+
<option value="moduleGraph">Semantic Module Graph</option>
|
|
473
474
|
<option value="symbolGraph">Symbol Graph</option>
|
|
474
475
|
<option value="all">All Relationships</option>
|
|
475
476
|
</select>
|
|
@@ -572,14 +573,22 @@ function renderUiHtml() {
|
|
|
572
573
|
extremeEdges: ${graph_performance_1.GRAPH_PERFORMANCE_THRESHOLDS.extremeEdges}
|
|
573
574
|
};
|
|
574
575
|
const SEARCH_DEBOUNCE_MS = 150;
|
|
576
|
+
const RENDER_BUDGETS = {
|
|
577
|
+
normal: { nodes: Number.POSITIVE_INFINITY, edges: Number.POSITIVE_INFINITY },
|
|
578
|
+
degraded: { nodes: 18000, edges: 40000 },
|
|
579
|
+
extreme: { nodes: 9000, edges: 16000 }
|
|
580
|
+
};
|
|
581
|
+
const STATIC_LAYOUT_SPACING = 8.4;
|
|
575
582
|
|
|
576
583
|
const state = {
|
|
577
584
|
view: 'fileDeps',
|
|
578
585
|
graph: null,
|
|
579
|
-
graphData: { nodes: [], links: [] },
|
|
586
|
+
graphData: { nodes: [], links: [], nodeById: new Map() },
|
|
580
587
|
graphMeta: null,
|
|
581
588
|
perfMode: 'normal',
|
|
582
589
|
lastAppliedPerfMode: '',
|
|
590
|
+
defaultChargeForce: null,
|
|
591
|
+
staticLayoutApplied: false,
|
|
583
592
|
selectedNodeId: '',
|
|
584
593
|
searchTerm: '',
|
|
585
594
|
searchTimer: null,
|
|
@@ -693,6 +702,148 @@ function renderUiHtml() {
|
|
|
693
702
|
return 1;
|
|
694
703
|
}
|
|
695
704
|
|
|
705
|
+
function stableHash(value) {
|
|
706
|
+
const text = String(value || '');
|
|
707
|
+
let hash = 2166136261;
|
|
708
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
709
|
+
hash ^= text.charCodeAt(index);
|
|
710
|
+
hash = Math.imul(hash, 16777619);
|
|
711
|
+
}
|
|
712
|
+
return hash >>> 0;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
function shouldRenderByBudget(id, limit, total) {
|
|
716
|
+
if (!Number.isFinite(limit) || limit >= total) {
|
|
717
|
+
return true;
|
|
718
|
+
}
|
|
719
|
+
if (limit <= 0 || total <= 0) {
|
|
720
|
+
return false;
|
|
721
|
+
}
|
|
722
|
+
const sampleRatio = limit / total;
|
|
723
|
+
const threshold = Math.max(1, Math.floor(sampleRatio * 1000000));
|
|
724
|
+
return (stableHash(id) % 1000000) < threshold;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
function applyStaticLayout() {
|
|
728
|
+
if (state.staticLayoutApplied || !state.graphData || !Array.isArray(state.graphData.nodes)) {
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
const nodes = state.graphData.nodes;
|
|
732
|
+
for (let index = 0; index < nodes.length; index += 1) {
|
|
733
|
+
const node = nodes[index];
|
|
734
|
+
const radius = Math.sqrt(index + 1) * STATIC_LAYOUT_SPACING;
|
|
735
|
+
const angle = index * 2.399963229728653;
|
|
736
|
+
const x = Math.cos(angle) * radius;
|
|
737
|
+
const y = Math.sin(angle) * radius;
|
|
738
|
+
const z = ((index % 27) - 13) * (STATIC_LAYOUT_SPACING * 0.28);
|
|
739
|
+
node.x = x;
|
|
740
|
+
node.y = y;
|
|
741
|
+
node.z = z;
|
|
742
|
+
node.fx = x;
|
|
743
|
+
node.fy = y;
|
|
744
|
+
node.fz = z;
|
|
745
|
+
}
|
|
746
|
+
state.staticLayoutApplied = true;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
function clearStaticLayout() {
|
|
750
|
+
if (!state.staticLayoutApplied || !state.graphData || !Array.isArray(state.graphData.nodes)) {
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
for (const node of state.graphData.nodes) {
|
|
754
|
+
delete node.fx;
|
|
755
|
+
delete node.fy;
|
|
756
|
+
delete node.fz;
|
|
757
|
+
}
|
|
758
|
+
state.staticLayoutApplied = false;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
function applyRenderBudget() {
|
|
762
|
+
if (!state.graphData || !Array.isArray(state.graphData.nodes) || !Array.isArray(state.graphData.links)) {
|
|
763
|
+
return;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
const mode = state.perfMode;
|
|
767
|
+
const budget = RENDER_BUDGETS[mode] || RENDER_BUDGETS.normal;
|
|
768
|
+
const totalNodes = state.graphData.nodes.length;
|
|
769
|
+
const totalEdges = state.graphData.links.length;
|
|
770
|
+
const nodeById = state.graphData.nodeById instanceof Map ? state.graphData.nodeById : new Map();
|
|
771
|
+
let visibleEdges = 0;
|
|
772
|
+
|
|
773
|
+
for (const node of state.graphData.nodes) {
|
|
774
|
+
const pinned = Boolean(node.__selected || node.__matched);
|
|
775
|
+
const sampled = shouldRenderByBudget(node.id, budget.nodes, totalNodes);
|
|
776
|
+
node.__renderVisible = pinned || sampled;
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
for (const link of state.graphData.links) {
|
|
780
|
+
const sourceId = String(link.__sourceId || '');
|
|
781
|
+
const targetId = String(link.__targetId || '');
|
|
782
|
+
const sourceNode = nodeById.get(sourceId);
|
|
783
|
+
const targetNode = nodeById.get(targetId);
|
|
784
|
+
const forceVisible = Boolean(
|
|
785
|
+
link.__highlight ||
|
|
786
|
+
sourceId === state.selectedNodeId ||
|
|
787
|
+
targetId === state.selectedNodeId
|
|
788
|
+
);
|
|
789
|
+
|
|
790
|
+
if (forceVisible) {
|
|
791
|
+
if (sourceNode) {
|
|
792
|
+
sourceNode.__renderVisible = true;
|
|
793
|
+
}
|
|
794
|
+
if (targetNode) {
|
|
795
|
+
targetNode.__renderVisible = true;
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
for (const link of state.graphData.links) {
|
|
801
|
+
const sourceId = String(link.__sourceId || '');
|
|
802
|
+
const targetId = String(link.__targetId || '');
|
|
803
|
+
const sourceNode = nodeById.get(sourceId);
|
|
804
|
+
const targetNode = nodeById.get(targetId);
|
|
805
|
+
const forceVisible = Boolean(
|
|
806
|
+
link.__highlight ||
|
|
807
|
+
sourceId === state.selectedNodeId ||
|
|
808
|
+
targetId === state.selectedNodeId
|
|
809
|
+
);
|
|
810
|
+
const endpointsVisible = Boolean(sourceNode && targetNode && sourceNode.__renderVisible && targetNode.__renderVisible);
|
|
811
|
+
let sampled = true;
|
|
812
|
+
if (mode === 'extreme') {
|
|
813
|
+
sampled = shouldRenderByBudget(link.id || (sourceId + ':' + targetId), budget.edges, totalEdges);
|
|
814
|
+
}
|
|
815
|
+
link.__renderVisible = forceVisible || (sampled && endpointsVisible);
|
|
816
|
+
if (link.__renderVisible) {
|
|
817
|
+
visibleEdges += 1;
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
const minimumVisibleEdges = mode === 'extreme' ? 450 : mode === 'degraded' ? 1200 : 0;
|
|
822
|
+
if (minimumVisibleEdges > 0 && visibleEdges < minimumVisibleEdges) {
|
|
823
|
+
for (const link of state.graphData.links) {
|
|
824
|
+
if (visibleEdges >= minimumVisibleEdges) {
|
|
825
|
+
break;
|
|
826
|
+
}
|
|
827
|
+
if (link.__renderVisible) {
|
|
828
|
+
continue;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
const sourceId = String(link.__sourceId || '');
|
|
832
|
+
const targetId = String(link.__targetId || '');
|
|
833
|
+
const sourceNode = nodeById.get(sourceId);
|
|
834
|
+
const targetNode = nodeById.get(targetId);
|
|
835
|
+
if (!sourceNode || !targetNode) {
|
|
836
|
+
continue;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
sourceNode.__renderVisible = true;
|
|
840
|
+
targetNode.__renderVisible = true;
|
|
841
|
+
link.__renderVisible = true;
|
|
842
|
+
visibleEdges += 1;
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
|
|
696
847
|
function setStatus(text, tone) {
|
|
697
848
|
els.status.textContent = text;
|
|
698
849
|
if (tone === 'error') {
|
|
@@ -737,18 +888,47 @@ function renderUiHtml() {
|
|
|
737
888
|
|
|
738
889
|
const mode = state.perfMode;
|
|
739
890
|
const graph = state.graph;
|
|
891
|
+
if (mode === 'extreme') {
|
|
892
|
+
applyStaticLayout();
|
|
893
|
+
} else {
|
|
894
|
+
clearStaticLayout();
|
|
895
|
+
}
|
|
896
|
+
|
|
897
|
+
if (typeof graph.numDimensions === 'function') {
|
|
898
|
+
graph.numDimensions(mode === 'normal' ? 3 : 2);
|
|
899
|
+
}
|
|
740
900
|
if (typeof graph.cooldownTicks === 'function') {
|
|
741
|
-
graph.cooldownTicks(mode === 'normal' ? 240 : mode === 'degraded' ?
|
|
901
|
+
graph.cooldownTicks(mode === 'normal' ? 240 : mode === 'degraded' ? 40 : 2);
|
|
742
902
|
}
|
|
743
903
|
if (typeof graph.cooldownTime === 'function') {
|
|
744
|
-
graph.cooldownTime(mode === 'normal' ? 15000 : mode === 'degraded' ?
|
|
904
|
+
graph.cooldownTime(mode === 'normal' ? 15000 : mode === 'degraded' ? 1800 : 100);
|
|
905
|
+
}
|
|
906
|
+
if (typeof graph.warmupTicks === 'function') {
|
|
907
|
+
graph.warmupTicks(mode === 'normal' ? 90 : mode === 'degraded' ? 20 : 0);
|
|
745
908
|
}
|
|
746
909
|
if (typeof graph.d3VelocityDecay === 'function') {
|
|
747
|
-
graph.d3VelocityDecay(mode === 'normal' ? 0.25 : mode === 'degraded' ? 0.
|
|
910
|
+
graph.d3VelocityDecay(mode === 'normal' ? 0.25 : mode === 'degraded' ? 0.52 : 0.9);
|
|
911
|
+
}
|
|
912
|
+
if (typeof graph.nodeResolution === 'function') {
|
|
913
|
+
graph.nodeResolution(mode === 'normal' ? 8 : mode === 'degraded' ? 5 : 3);
|
|
914
|
+
}
|
|
915
|
+
if (typeof graph.linkResolution === 'function') {
|
|
916
|
+
graph.linkResolution(mode === 'normal' ? 6 : mode === 'degraded' ? 2 : 1);
|
|
748
917
|
}
|
|
749
918
|
|
|
750
|
-
graph.linkOpacity(mode === 'normal' ? 0.66 : mode === 'degraded' ? 0.
|
|
751
|
-
graph.nodeRelSize(mode === 'normal' ? 3.2 : mode === 'degraded' ? 2.
|
|
919
|
+
graph.linkOpacity(mode === 'normal' ? 0.66 : mode === 'degraded' ? 0.38 : 0.26);
|
|
920
|
+
graph.nodeRelSize(mode === 'normal' ? 3.2 : mode === 'degraded' ? 2.45 : 2.1);
|
|
921
|
+
|
|
922
|
+
if (typeof graph.d3Force === 'function') {
|
|
923
|
+
const currentCharge = graph.d3Force('charge');
|
|
924
|
+
if (mode === 'normal') {
|
|
925
|
+
if (state.defaultChargeForce && currentCharge == null) {
|
|
926
|
+
graph.d3Force('charge', state.defaultChargeForce);
|
|
927
|
+
}
|
|
928
|
+
} else if (currentCharge != null) {
|
|
929
|
+
graph.d3Force('charge', null);
|
|
930
|
+
}
|
|
931
|
+
}
|
|
752
932
|
|
|
753
933
|
try {
|
|
754
934
|
const renderer = typeof graph.renderer === 'function' ? graph.renderer() : null;
|
|
@@ -814,7 +994,8 @@ function renderUiHtml() {
|
|
|
814
994
|
__targetId: target,
|
|
815
995
|
type: edge.type,
|
|
816
996
|
__color: colorForEdge(edge.type),
|
|
817
|
-
__highlight: false
|
|
997
|
+
__highlight: false,
|
|
998
|
+
__renderVisible: true
|
|
818
999
|
};
|
|
819
1000
|
}
|
|
820
1001
|
|
|
@@ -836,11 +1017,17 @@ function renderUiHtml() {
|
|
|
836
1017
|
__color: colorForNode(type),
|
|
837
1018
|
__searchText: (String(name) + ' ' + String(path) + ' ' + String(type)).toLowerCase(),
|
|
838
1019
|
__matched: false,
|
|
839
|
-
__selected: false
|
|
1020
|
+
__selected: false,
|
|
1021
|
+
__renderVisible: true
|
|
840
1022
|
};
|
|
841
1023
|
}
|
|
842
1024
|
|
|
843
|
-
|
|
1025
|
+
const nodeById = new Map();
|
|
1026
|
+
for (const node of nodes) {
|
|
1027
|
+
nodeById.set(node.id, node);
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
return { nodes, links, nodeById };
|
|
844
1031
|
}
|
|
845
1032
|
|
|
846
1033
|
function ensureGraph() {
|
|
@@ -858,6 +1045,7 @@ function renderUiHtml() {
|
|
|
858
1045
|
.backgroundColor('#05060f')
|
|
859
1046
|
.showNavInfo(false)
|
|
860
1047
|
.nodeOpacity(0.95)
|
|
1048
|
+
.nodeVisibility((node) => node.__renderVisible !== false)
|
|
861
1049
|
.nodeLabel((node) => {
|
|
862
1050
|
if (state.perfMode === 'extreme' && !node.__selected) {
|
|
863
1051
|
return '';
|
|
@@ -892,8 +1080,9 @@ function renderUiHtml() {
|
|
|
892
1080
|
.linkWidth((link) => {
|
|
893
1081
|
const base = state.perfMode === 'normal' ? 0.75 : state.perfMode === 'degraded' ? 0.46 : 0.34;
|
|
894
1082
|
const highlight = state.perfMode === 'normal' ? 2.2 : state.perfMode === 'degraded' ? 1.35 : 1.05;
|
|
895
|
-
|
|
896
|
-
|
|
1083
|
+
return link.__highlight ? highlight : base;
|
|
1084
|
+
})
|
|
1085
|
+
.linkVisibility((link) => link.__renderVisible !== false)
|
|
897
1086
|
.linkDirectionalParticles((link) => {
|
|
898
1087
|
if (state.perfMode !== 'normal') {
|
|
899
1088
|
return 0;
|
|
@@ -916,6 +1105,9 @@ function renderUiHtml() {
|
|
|
916
1105
|
});
|
|
917
1106
|
|
|
918
1107
|
state.graph = graph;
|
|
1108
|
+
if (typeof graph.d3Force === 'function') {
|
|
1109
|
+
state.defaultChargeForce = graph.d3Force('charge');
|
|
1110
|
+
}
|
|
919
1111
|
applyGraphQualitySettings();
|
|
920
1112
|
state.lastAppliedPerfMode = state.perfMode;
|
|
921
1113
|
|
|
@@ -968,9 +1160,24 @@ function renderUiHtml() {
|
|
|
968
1160
|
state.lastAppliedPerfMode = state.perfMode;
|
|
969
1161
|
clearSearchTimer();
|
|
970
1162
|
}
|
|
1163
|
+
applyRenderBudget();
|
|
971
1164
|
|
|
1165
|
+
let visibleNodes = 0;
|
|
1166
|
+
for (const node of state.graphData.nodes) {
|
|
1167
|
+
if (node.__renderVisible !== false) {
|
|
1168
|
+
visibleNodes += 1;
|
|
1169
|
+
}
|
|
1170
|
+
}
|
|
1171
|
+
let visibleEdges = 0;
|
|
1172
|
+
for (const link of state.graphData.links) {
|
|
1173
|
+
if (link.__renderVisible !== false) {
|
|
1174
|
+
visibleEdges += 1;
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
972
1177
|
els.graphCounts.textContent =
|
|
973
|
-
'nodes: ' +
|
|
1178
|
+
'nodes: ' + visibleNodes + '/' + nodeCount +
|
|
1179
|
+
' | edges: ' + visibleEdges + '/' + edgeCount +
|
|
1180
|
+
' | mode: ' + String(state.perfMode).toUpperCase();
|
|
974
1181
|
|
|
975
1182
|
if (nodeCount === 0) {
|
|
976
1183
|
els.graphEmpty.style.display = 'grid';
|
|
@@ -1040,6 +1247,7 @@ function renderUiHtml() {
|
|
|
1040
1247
|
const view = state.view === 'all' ? 'all' : state.view;
|
|
1041
1248
|
const data = await readEnvelope('/api/graph?view=' + encodeURIComponent(view));
|
|
1042
1249
|
state.graphData = toGraphData(data);
|
|
1250
|
+
state.staticLayoutApplied = false;
|
|
1043
1251
|
state.graphMeta = normalizeGraphMeta(
|
|
1044
1252
|
data && data.meta ? data.meta : null,
|
|
1045
1253
|
state.graphData.nodes.length,
|
|
@@ -1239,6 +1447,7 @@ function renderUiHtml() {
|
|
|
1239
1447
|
'&direction=both'
|
|
1240
1448
|
);
|
|
1241
1449
|
state.graphData = toGraphData(data);
|
|
1450
|
+
state.staticLayoutApplied = false;
|
|
1242
1451
|
state.graphMeta = normalizeGraphMeta(
|
|
1243
1452
|
data && data.meta ? data.meta : null,
|
|
1244
1453
|
state.graphData.nodes.length,
|
package/dist/server/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/server/ui.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/server/ui.ts"],"names":[],"mappings":";;AAEA,oCAkjDC;AApjDD,2DAAmE;AAEnE,SAAgB,YAAY;IAC1B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAojBkB,gDAA4B,CAAC,aAAa;2BAC1C,gDAA4B,CAAC,aAAa;0BAC3C,gDAA4B,CAAC,YAAY;0BACzC,gDAA4B,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAy/B3D,CAAC;AACT,CAAC"}
|
|
@@ -68,6 +68,7 @@ export declare class SqliteStore implements QueryDataSource {
|
|
|
68
68
|
getAllGraph(): QueryGraph;
|
|
69
69
|
private getSymbolGraph;
|
|
70
70
|
getFileDependencyGraph(): QueryGraph;
|
|
71
|
+
private getModuleGraph;
|
|
71
72
|
getGraph(options?: GraphFilterOptions): QueryGraph;
|
|
72
73
|
getSubgraph(seedNodeId: string, depth?: number, direction?: SubgraphDirection): QueryGraph;
|
|
73
74
|
findShortestPath(fromNodeId: string, toNodeId: string, maxDepth?: number, edgeTypes?: string[]): PathQueryResult;
|
|
@@ -62,6 +62,25 @@ function normalizeTypeFilter(values) {
|
|
|
62
62
|
}
|
|
63
63
|
return new Set(normalized);
|
|
64
64
|
}
|
|
65
|
+
function toModuleKey(pathValue, nameValue, idValue) {
|
|
66
|
+
const raw = (pathValue ?? nameValue ?? idValue)
|
|
67
|
+
.replace(/^file:/i, "")
|
|
68
|
+
.replaceAll("\\", "/")
|
|
69
|
+
.trim();
|
|
70
|
+
const segments = raw
|
|
71
|
+
.split("/")
|
|
72
|
+
.map((segment) => segment.trim())
|
|
73
|
+
.filter((segment) => segment.length > 0 && segment !== ".");
|
|
74
|
+
if (segments.length === 0) {
|
|
75
|
+
return "root";
|
|
76
|
+
}
|
|
77
|
+
const first = segments[0]?.toLowerCase() ?? "";
|
|
78
|
+
const scopedRoots = new Set(["src", "lib", "app", "packages", "services"]);
|
|
79
|
+
if (scopedRoots.has(first) && segments.length >= 2) {
|
|
80
|
+
return `${segments[0]}/${segments[1]}`;
|
|
81
|
+
}
|
|
82
|
+
return segments[0] ?? "root";
|
|
83
|
+
}
|
|
65
84
|
class SqliteStore {
|
|
66
85
|
db;
|
|
67
86
|
constructor(dbPath) {
|
|
@@ -255,13 +274,68 @@ class SqliteStore {
|
|
|
255
274
|
edges: edgeRows.map((row) => this.mapEdgeRow(row)),
|
|
256
275
|
};
|
|
257
276
|
}
|
|
277
|
+
getModuleGraph() {
|
|
278
|
+
const fileGraph = this.getFileDependencyGraph();
|
|
279
|
+
const moduleById = new Map();
|
|
280
|
+
const fileToModuleId = new Map();
|
|
281
|
+
for (const fileNode of fileGraph.nodes) {
|
|
282
|
+
const moduleKey = toModuleKey(fileNode.path, fileNode.name, fileNode.id);
|
|
283
|
+
const moduleId = `module:${moduleKey}`;
|
|
284
|
+
fileToModuleId.set(fileNode.id, moduleId);
|
|
285
|
+
const existing = moduleById.get(moduleId);
|
|
286
|
+
if (existing) {
|
|
287
|
+
const currentCount = typeof existing.props.fileCount === "number" ? existing.props.fileCount : 0;
|
|
288
|
+
existing.props.fileCount = currentCount + 1;
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
moduleById.set(moduleId, {
|
|
292
|
+
id: moduleId,
|
|
293
|
+
type: "MODULE",
|
|
294
|
+
name: moduleKey,
|
|
295
|
+
path: moduleKey,
|
|
296
|
+
props: {
|
|
297
|
+
fileCount: 1,
|
|
298
|
+
},
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
const edgeByPair = new Map();
|
|
302
|
+
for (const edge of fileGraph.edges) {
|
|
303
|
+
const fromModuleId = fileToModuleId.get(edge.fromId);
|
|
304
|
+
const toModuleId = fileToModuleId.get(edge.toId);
|
|
305
|
+
if (!fromModuleId || !toModuleId || fromModuleId === toModuleId) {
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
const pairKey = `${fromModuleId}->${toModuleId}`;
|
|
309
|
+
const existing = edgeByPair.get(pairKey);
|
|
310
|
+
if (existing) {
|
|
311
|
+
const currentWeight = typeof existing.props.weight === "number" ? existing.props.weight : 0;
|
|
312
|
+
existing.props.weight = currentWeight + 1;
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
edgeByPair.set(pairKey, {
|
|
316
|
+
id: `module-edge:${pairKey}`,
|
|
317
|
+
fromId: fromModuleId,
|
|
318
|
+
toId: toModuleId,
|
|
319
|
+
type: "MODULE_DEPENDS_ON",
|
|
320
|
+
props: {
|
|
321
|
+
weight: 1,
|
|
322
|
+
},
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
return {
|
|
326
|
+
nodes: sortByIdIfNeeded([...moduleById.values()]),
|
|
327
|
+
edges: sortByIdIfNeeded([...edgeByPair.values()]),
|
|
328
|
+
};
|
|
329
|
+
}
|
|
258
330
|
getGraph(options = {}) {
|
|
259
331
|
const view = (options.view ?? "all").trim();
|
|
260
332
|
const baseGraph = view === "fileDeps"
|
|
261
333
|
? this.getFileDependencyGraph()
|
|
262
|
-
: view === "
|
|
263
|
-
? this.
|
|
264
|
-
:
|
|
334
|
+
: view === "moduleGraph"
|
|
335
|
+
? this.getModuleGraph()
|
|
336
|
+
: view === "symbolGraph"
|
|
337
|
+
? this.getSymbolGraph()
|
|
338
|
+
: this.getAllGraph();
|
|
265
339
|
const nodeTypeFilter = normalizeTypeFilter(options.nodeTypes);
|
|
266
340
|
const edgeTypeFilter = normalizeTypeFilter(options.edgeTypes);
|
|
267
341
|
const query = options.q?.trim().toLowerCase() ?? "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/store/sqlite-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/store/sqlite-store.ts"],"names":[],"mappings":"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"}
|