@kage-core/kage-graph-mcp 1.1.21 → 1.1.22

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 CHANGED
@@ -9,7 +9,15 @@ This package exposes two surfaces:
9
9
 
10
10
  ## Latest Release
11
11
 
12
- `1.1.21` publishes the memory-code graph quality pass:
12
+ `1.1.22` fixes viewer inspector scrolling:
13
+
14
+ - selecting high-degree nodes no longer expands the page or pushes the canvas
15
+ out of view.
16
+ - selected-node details, connected relations, and memory-code evidence scroll
17
+ inside bounded inspector regions.
18
+ - long summaries and relation bodies are capped so dense nodes stay readable.
19
+
20
+ `1.1.21` published the memory-code graph quality pass:
13
21
 
14
22
  - precise memory-code links now require explicit, non-generic symbol/test
15
23
  mentions instead of broad path-only matches.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kage-core/kage-graph-mcp",
3
- "version": "1.1.21",
3
+ "version": "1.1.22",
4
4
  "description": "Local-first repo memory, code graph, and recall MCP server for coding agents",
5
5
  "main": "dist/index.js",
6
6
  "files": [
package/viewer/app.js CHANGED
@@ -1852,6 +1852,8 @@
1852
1852
  heading.className = "detail-section-title";
1853
1853
  heading.textContent = title;
1854
1854
  section.appendChild(heading);
1855
+ var list = document.createElement("div");
1856
+ list.className = "detail-section-list";
1855
1857
  items.forEach(function (item) {
1856
1858
  var button = document.createElement("button");
1857
1859
  button.type = "button";
@@ -1864,14 +1866,15 @@
1864
1866
  state.selected = item.entity ? { kind: "entity", id: item.entity.id } : { kind: "edge", id: item.edge.id };
1865
1867
  render();
1866
1868
  });
1867
- section.appendChild(button);
1869
+ list.appendChild(button);
1868
1870
  });
1869
1871
  if (hiddenCount > 0) {
1870
1872
  var more = document.createElement("div");
1871
1873
  more.className = "detail-more";
1872
1874
  more.textContent = "+" + hiddenCount + " more connected items hidden to keep the graph readable.";
1873
- section.appendChild(more);
1875
+ list.appendChild(more);
1874
1876
  }
1877
+ section.appendChild(list);
1875
1878
  return section;
1876
1879
  }
1877
1880
 
package/viewer/index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1">
6
6
  <title>Kage Memory Terminal</title>
7
- <link rel="stylesheet" href="./styles.css?v=11">
7
+ <link rel="stylesheet" href="./styles.css?v=13">
8
8
  </head>
9
9
  <body>
10
10
  <header class="app-header">
@@ -149,6 +149,6 @@
149
149
  </section>
150
150
  </main>
151
151
 
152
- <script src="./app.js?v=11"></script>
152
+ <script src="./app.js?v=13"></script>
153
153
  </body>
154
154
  </html>
package/viewer/styles.css CHANGED
@@ -161,6 +161,8 @@ h2 { color: var(--terminal); font-size: 13px; letter-spacing: 0.04em; text-trans
161
161
  min-height: calc(100vh - 78px);
162
162
  }
163
163
 
164
+ .layout > * { min-width: 0; }
165
+
164
166
  .control-panel, .graph-panel, .details-panel, .table-panel, .review-panel, .proof-panel {
165
167
  border: 1px solid var(--line);
166
168
  border-radius: 6px;
@@ -425,20 +427,39 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
425
427
 
426
428
  .details-panel {
427
429
  grid-area: details;
430
+ align-self: start;
431
+ display: flex;
432
+ flex-direction: column;
433
+ height: min(960px, calc(100vh - 108px));
434
+ max-height: calc(100vh - 108px);
428
435
  min-height: 0;
429
- overflow: auto;
436
+ overflow: hidden;
430
437
  padding: 12px;
431
438
  }
432
439
  .details-empty { color: var(--terminal-dim); }
440
+ #selectionDetails {
441
+ min-height: 0;
442
+ overflow: auto;
443
+ overscroll-behavior: contain;
444
+ padding-right: 2px;
445
+ }
433
446
  .detail-title { margin-bottom: 8px; color: var(--text); font-weight: 780; font-size: 17px; overflow-wrap: anywhere; }
434
447
  .detail-kind { margin-bottom: 10px; color: var(--terminal-strong); background: #07130d; }
435
448
  .detail-row { padding: 9px 0; border-top: 1px solid var(--line); }
436
449
  .detail-row dt { margin: 0 0 4px; color: var(--terminal-dim); font-size: 11px; font-weight: 760; text-transform: uppercase; }
437
- .detail-row dd { margin: 0; color: var(--text); overflow-wrap: anywhere; white-space: pre-wrap; }
450
+ .detail-row dd {
451
+ max-height: 150px;
452
+ margin: 0;
453
+ color: var(--text);
454
+ overflow: auto;
455
+ overflow-wrap: anywhere;
456
+ white-space: pre-wrap;
457
+ }
438
458
  .detail-section {
439
459
  margin-top: 12px;
440
460
  padding-top: 12px;
441
461
  border-top: 1px solid var(--line);
462
+ min-height: 0;
442
463
  }
443
464
  .detail-section-title {
444
465
  margin-bottom: 8px;
@@ -447,6 +468,12 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
447
468
  font-weight: 800;
448
469
  text-transform: uppercase;
449
470
  }
471
+ .detail-section-list {
472
+ max-height: 260px;
473
+ overflow: auto;
474
+ overscroll-behavior: contain;
475
+ padding-right: 2px;
476
+ }
450
477
  .detail-link {
451
478
  width: 100%;
452
479
  display: grid;
@@ -475,8 +502,12 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
475
502
  overflow-wrap: anywhere;
476
503
  }
477
504
  .detail-link-body {
505
+ display: -webkit-box;
506
+ -webkit-box-orient: vertical;
507
+ -webkit-line-clamp: 3;
478
508
  color: var(--muted);
479
509
  font-size: 11px;
510
+ overflow: hidden;
480
511
  overflow-wrap: anywhere;
481
512
  }
482
513
  .detail-more {
@@ -663,6 +694,11 @@ input:focus, select:focus, button:focus, .file-picker:focus-within {
663
694
  .control-panel label, .control-panel button { margin-top: 0; }
664
695
  .graph-panel { min-height: 620px; }
665
696
  #graphCanvas, .graph-canvas-wrap, #graphSvg { min-height: 560px; }
697
+ .details-panel {
698
+ height: auto;
699
+ max-height: 70vh;
700
+ }
701
+ .detail-section-list { max-height: 220px; }
666
702
  }
667
703
 
668
704
  @media (max-width: 620px) {