@jhizzard/termdeck 0.9.0 → 0.10.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jhizzard/termdeck",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Browser-based terminal multiplexer with metadata overlays, panel flashback memory recall, and AI-aware session management",
5
5
  "bin": {
6
6
  "termdeck": "./packages/cli/src/index.js"
@@ -0,0 +1,104 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>TermDeck · Knowledge Graph</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ </head>
9
+ <body class="graph-page">
10
+
11
+ <header class="graph-topbar" id="graphTopbar">
12
+ <div class="graph-tb-left">
13
+ <a class="graph-tb-back" href="/" title="Back to dashboard" aria-label="Back to dashboard">
14
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
15
+ <path d="M10 12L6 8l4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
16
+ </svg>
17
+ TermDeck
18
+ </a>
19
+ <span class="graph-tb-divider">/</span>
20
+ <span class="graph-tb-title">Knowledge Graph</span>
21
+ </div>
22
+
23
+ <div class="graph-tb-controls">
24
+ <label class="graph-tb-control">
25
+ <span>Project</span>
26
+ <select id="graphProject"></select>
27
+ </label>
28
+ <label class="graph-tb-control graph-tb-search-wrap">
29
+ <span>Search</span>
30
+ <input type="search" id="graphSearch" placeholder="content, category…" autocomplete="off" spellcheck="false">
31
+ </label>
32
+ <button type="button" class="graph-tb-btn" id="graphReheat" title="Re-heat the simulation">re-heat</button>
33
+ <button type="button" class="graph-tb-btn" id="graphFit" title="Frame the full graph">fit</button>
34
+ </div>
35
+
36
+ <div class="graph-tb-right">
37
+ <span class="graph-tb-stat" id="graphStatNodes">— nodes</span>
38
+ <span class="graph-tb-stat" id="graphStatEdges">— edges</span>
39
+ <span class="graph-tb-stat" id="graphStatProject">project</span>
40
+ </div>
41
+ </header>
42
+
43
+ <div class="graph-filters" id="graphFilters" role="toolbar" aria-label="Edge type filters"></div>
44
+
45
+ <main class="graph-stage" id="graphStage">
46
+ <div class="graph-loading" id="graphLoading">
47
+ <div class="graph-loading-spinner" aria-hidden="true"></div>
48
+ <p id="graphLoadingMsg">Loading graph…</p>
49
+ </div>
50
+
51
+ <div class="graph-empty" id="graphEmpty" hidden>
52
+ <h3 id="graphEmptyTitle">No memories yet</h3>
53
+ <p id="graphEmptyBody">This project has no <code>memory_items</code> rows. Run a Claude Code session in this project; the session-end hook will populate Mnestra and edges will be inferred on the next nightly cron.</p>
54
+ </div>
55
+
56
+ <svg class="graph-svg" id="graphSvg" role="img" aria-label="Force-directed knowledge graph">
57
+ <defs>
58
+ <radialGradient id="graphBgGrad" cx="50%" cy="50%" r="75%">
59
+ <stop offset="0%" stop-color="#1a1f2e" />
60
+ <stop offset="100%" stop-color="#0a0c12" />
61
+ </radialGradient>
62
+ <filter id="nodeGlow" x="-50%" y="-50%" width="200%" height="200%">
63
+ <feGaussianBlur stdDeviation="2.5" result="blur"/>
64
+ <feMerge>
65
+ <feMergeNode in="blur"/>
66
+ <feMergeNode in="SourceGraphic"/>
67
+ </feMerge>
68
+ </filter>
69
+ </defs>
70
+ <rect class="graph-bg" width="100%" height="100%" fill="url(#graphBgGrad)" />
71
+ <g class="graph-zoom-root" id="graphZoomRoot">
72
+ <g class="graph-edges" id="graphEdgesLayer"></g>
73
+ <g class="graph-nodes" id="graphNodesLayer"></g>
74
+ <g class="graph-labels" id="graphLabelsLayer"></g>
75
+ </g>
76
+ </svg>
77
+
78
+ <aside class="graph-drawer" id="graphDrawer" hidden aria-label="Memory detail">
79
+ <header class="graph-drawer-header">
80
+ <div class="gd-h-meta">
81
+ <span class="gd-project" id="gdProject">project</span>
82
+ <span class="gd-source-type" id="gdSourceType">fact</span>
83
+ <span class="gd-created" id="gdCreated">—</span>
84
+ </div>
85
+ <button type="button" class="graph-drawer-close" id="gdClose" aria-label="Close">×</button>
86
+ </header>
87
+ <div class="graph-drawer-body">
88
+ <pre class="gd-content" id="gdContent">—</pre>
89
+ <h4 class="gd-section">Neighbors</h4>
90
+ <div class="gd-neighbors" id="gdNeighbors">—</div>
91
+ </div>
92
+ <footer class="graph-drawer-footer">
93
+ <button type="button" class="graph-drawer-action" id="gdExpand" title="Center the graph on this memory">focus</button>
94
+ <button type="button" class="graph-drawer-action" id="gdCopyId" title="Copy the memory id">copy id</button>
95
+ </footer>
96
+ </aside>
97
+
98
+ <div class="graph-tooltip" id="graphTooltip" hidden></div>
99
+ </main>
100
+
101
+ <script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
102
+ <script src="graph.js" defer></script>
103
+ </body>
104
+ </html>