pindex 1.2.1 → 1.2.2
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/dist/cli/index.js +34 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +2 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +33 -11
- package/dist/cli/init.js.map +1 -1
- package/dist/monitoring/ui/dashboard.js +321 -0
- package/dist/monitoring/ui/index.html +103 -0
- package/dist/monitoring/ui/styles.css +278 -0
- package/package.json +2 -2
package/dist/cli/index.js
CHANGED
|
@@ -177,16 +177,42 @@ async function main() {
|
|
|
177
177
|
}
|
|
178
178
|
case 'gui':
|
|
179
179
|
case 'monitor': {
|
|
180
|
-
const
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
180
|
+
const net = await import('node:net');
|
|
181
|
+
const port = parseInt(process.env.GUI_PORT ?? '7842', 10);
|
|
182
|
+
// Check if pindex-gui is already running
|
|
183
|
+
const isRunning = await new Promise((resolve) => {
|
|
184
|
+
const s = net.createConnection(port, 'localhost');
|
|
185
|
+
s.on('connect', () => { s.destroy(); resolve(true); });
|
|
186
|
+
s.on('error', () => resolve(false));
|
|
187
|
+
});
|
|
188
|
+
if (!isRunning) {
|
|
189
|
+
const registry = new GlobalRegistry();
|
|
190
|
+
if (registry.list().length === 0) {
|
|
191
|
+
console.log('No projects registered. Run `pindex` in a project first.');
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
const { spawn } = await import('node:child_process');
|
|
195
|
+
spawn('pindex-gui', ['--port', String(port)], {
|
|
196
|
+
detached: true,
|
|
197
|
+
stdio: 'ignore',
|
|
198
|
+
shell: true,
|
|
199
|
+
}).unref();
|
|
200
|
+
// Wait for server to be ready (max 3s)
|
|
201
|
+
for (let i = 0; i < 15; i++) {
|
|
202
|
+
await new Promise((r) => setTimeout(r, 200));
|
|
203
|
+
const up = await new Promise((resolve) => {
|
|
204
|
+
const s = net.createConnection(port, 'localhost');
|
|
205
|
+
s.on('connect', () => { s.destroy(); resolve(true); });
|
|
206
|
+
s.on('error', () => resolve(false));
|
|
207
|
+
});
|
|
208
|
+
if (up)
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
console.log(` [pindex] Started GUI dashboard on port ${port}`);
|
|
187
212
|
}
|
|
213
|
+
const { default: open } = await import('open');
|
|
188
214
|
await open(`http://localhost:${port}`);
|
|
189
|
-
console.log(`
|
|
215
|
+
console.log(` [pindex] Dashboard: http://localhost:${port}`);
|
|
190
216
|
break;
|
|
191
217
|
}
|
|
192
218
|
case 'stats': {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export declare function injectClaudeMdSection(projectRoot: string, { force }?: {
|
|
|
9
9
|
force?: boolean | undefined;
|
|
10
10
|
}): 'added' | 'updated' | 'skipped' | 'created';
|
|
11
11
|
/**
|
|
12
|
-
* Writes/merges
|
|
12
|
+
* Writes/merges PindeX hooks (PreToolUse + SessionStart) into .claude/settings.json.
|
|
13
13
|
* Idempotent: skips if the hook marker is already present.
|
|
14
14
|
*/
|
|
15
15
|
export declare function injectClaudeSettings(projectRoot: string, { force }?: {
|
|
@@ -31,7 +31,7 @@ export declare function initProject(cwd: string): Promise<void>;
|
|
|
31
31
|
*/
|
|
32
32
|
export declare function removeClaudeMdSection(projectRoot: string): 'removed' | 'not_found' | 'skipped';
|
|
33
33
|
/**
|
|
34
|
-
* Removes
|
|
34
|
+
* Removes PindeX hooks (PreToolUse + SessionStart) from .claude/settings.json (if present).
|
|
35
35
|
* Returns 'removed' | 'not_found' | 'skipped' (file didn't exist).
|
|
36
36
|
*/
|
|
37
37
|
export declare function removeClaudeSettings(projectRoot: string): 'removed' | 'not_found' | 'skipped';
|
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,IAAI,CA4BN;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAqB7C;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,IAAI,CA4BN;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAqB7C;AAkCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,CA4CjC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAczC;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAQ9F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAyB7F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKxE;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF"}
|
package/dist/cli/init.js
CHANGED
|
@@ -17,7 +17,7 @@ export function writeMcpJson(projectRoot, entry) {
|
|
|
17
17
|
MONITORING_PORT: String(entry.monitoringPort),
|
|
18
18
|
AUTO_REINDEX: 'true',
|
|
19
19
|
GENERATE_SUMMARIES: 'false',
|
|
20
|
-
MONITORING_AUTO_OPEN: '
|
|
20
|
+
MONITORING_AUTO_OPEN: 'true',
|
|
21
21
|
BASELINE_MODE: 'false',
|
|
22
22
|
TOKEN_PRICE_PER_MILLION: '3.00',
|
|
23
23
|
...federationEnv,
|
|
@@ -94,10 +94,21 @@ const PINDEX_HOOKS = {
|
|
|
94
94
|
],
|
|
95
95
|
},
|
|
96
96
|
],
|
|
97
|
+
SessionStart: [
|
|
98
|
+
{
|
|
99
|
+
hooks: [
|
|
100
|
+
{
|
|
101
|
+
type: 'command',
|
|
102
|
+
// Auto-start pindex-gui dashboard if not already running
|
|
103
|
+
command: 'pindex gui',
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
},
|
|
107
|
+
],
|
|
97
108
|
},
|
|
98
109
|
};
|
|
99
110
|
/**
|
|
100
|
-
* Writes/merges
|
|
111
|
+
* Writes/merges PindeX hooks (PreToolUse + SessionStart) into .claude/settings.json.
|
|
101
112
|
* Idempotent: skips if the hook marker is already present.
|
|
102
113
|
*/
|
|
103
114
|
export function injectClaudeSettings(projectRoot, { force = false } = {}) {
|
|
@@ -117,16 +128,22 @@ export function injectClaudeSettings(projectRoot, { force = false } = {}) {
|
|
|
117
128
|
existing = {};
|
|
118
129
|
}
|
|
119
130
|
// Deep-merge hooks
|
|
131
|
+
const existingHooks = existing.hooks;
|
|
120
132
|
const merged = {
|
|
121
133
|
...existing,
|
|
122
134
|
hooks: {
|
|
123
|
-
...
|
|
135
|
+
...existingHooks,
|
|
124
136
|
PreToolUse: [
|
|
125
137
|
// Remove old pindex hook entries, then re-add
|
|
126
|
-
...(
|
|
138
|
+
...(existingHooks?.PreToolUse ?? [])
|
|
127
139
|
.filter((h) => !JSON.stringify(h).includes(HOOK_MARKER)),
|
|
128
140
|
{ ...PINDEX_HOOKS.hooks.PreToolUse[0], _pindex: HOOK_MARKER },
|
|
129
141
|
],
|
|
142
|
+
SessionStart: [
|
|
143
|
+
...(existingHooks?.SessionStart ?? [])
|
|
144
|
+
.filter((h) => !JSON.stringify(h).includes(HOOK_MARKER)),
|
|
145
|
+
{ ...PINDEX_HOOKS.hooks.SessionStart[0], _pindex: HOOK_MARKER },
|
|
146
|
+
],
|
|
130
147
|
},
|
|
131
148
|
};
|
|
132
149
|
writeFileSync(settingsPath, JSON.stringify(merged, null, 2) + '\n', 'utf-8');
|
|
@@ -136,6 +153,7 @@ export function injectClaudeSettings(projectRoot, { force = false } = {}) {
|
|
|
136
153
|
const config = {
|
|
137
154
|
hooks: {
|
|
138
155
|
PreToolUse: [{ ...PINDEX_HOOKS.hooks.PreToolUse[0], _pindex: HOOK_MARKER }],
|
|
156
|
+
SessionStart: [{ ...PINDEX_HOOKS.hooks.SessionStart[0], _pindex: HOOK_MARKER }],
|
|
139
157
|
},
|
|
140
158
|
};
|
|
141
159
|
writeFileSync(settingsPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
@@ -229,7 +247,7 @@ export function removeClaudeMdSection(projectRoot) {
|
|
|
229
247
|
return 'removed';
|
|
230
248
|
}
|
|
231
249
|
/**
|
|
232
|
-
* Removes
|
|
250
|
+
* Removes PindeX hooks (PreToolUse + SessionStart) from .claude/settings.json (if present).
|
|
233
251
|
* Returns 'removed' | 'not_found' | 'skipped' (file didn't exist).
|
|
234
252
|
*/
|
|
235
253
|
export function removeClaudeSettings(projectRoot) {
|
|
@@ -247,15 +265,19 @@ export function removeClaudeSettings(projectRoot) {
|
|
|
247
265
|
return 'not_found';
|
|
248
266
|
}
|
|
249
267
|
const hooks = existing.hooks;
|
|
250
|
-
const
|
|
268
|
+
const filteredPre = (hooks?.PreToolUse ?? []).filter((h) => !JSON.stringify(h).includes(HOOK_MARKER));
|
|
269
|
+
const filteredSession = (hooks?.SessionStart ?? []).filter((h) => !JSON.stringify(h).includes(HOOK_MARKER));
|
|
251
270
|
const updated = {
|
|
252
271
|
...existing,
|
|
253
|
-
hooks: { ...hooks, PreToolUse:
|
|
272
|
+
hooks: { ...hooks, PreToolUse: filteredPre, SessionStart: filteredSession },
|
|
254
273
|
};
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
274
|
+
const hooksObj = updated.hooks;
|
|
275
|
+
// Remove empty arrays to keep settings.json clean
|
|
276
|
+
if (filteredPre.length === 0)
|
|
277
|
+
delete hooksObj.PreToolUse;
|
|
278
|
+
if (filteredSession.length === 0)
|
|
279
|
+
delete hooksObj.SessionStart;
|
|
280
|
+
if (Object.keys(hooksObj).length === 0)
|
|
259
281
|
delete updated.hooks;
|
|
260
282
|
writeFileSync(settingsPath, JSON.stringify(updated, null, 2) + '\n', 'utf-8');
|
|
261
283
|
return 'removed';
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/* MCP Codebase Indexer – Live Dashboard (Vanilla JS + WebSocket) */
|
|
2
|
+
|
|
3
|
+
// ─── State ────────────────────────────────────────────────────────────────────
|
|
4
|
+
|
|
5
|
+
const MAX_CHART_POINTS = 20;
|
|
6
|
+
const state = {
|
|
7
|
+
calls: [],
|
|
8
|
+
cumulativeActual: 0,
|
|
9
|
+
cumulativeSavings: 0,
|
|
10
|
+
chart: null,
|
|
11
|
+
ws: null,
|
|
12
|
+
sessionId: null,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// ─── WebSocket Connection ─────────────────────────────────────────────────────
|
|
16
|
+
|
|
17
|
+
function connect() {
|
|
18
|
+
const protocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
19
|
+
const ws = new WebSocket(`${protocol}//${location.host}`);
|
|
20
|
+
state.ws = ws;
|
|
21
|
+
|
|
22
|
+
ws.addEventListener('open', () => {
|
|
23
|
+
document.getElementById('statusDot').classList.add('connected');
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
ws.addEventListener('close', () => {
|
|
27
|
+
document.getElementById('statusDot').classList.remove('connected');
|
|
28
|
+
setTimeout(connect, 3000); // Reconnect
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
ws.addEventListener('message', (event) => {
|
|
32
|
+
try {
|
|
33
|
+
const data = JSON.parse(event.data);
|
|
34
|
+
handleEvent(data);
|
|
35
|
+
} catch (e) {
|
|
36
|
+
console.error('Failed to parse event:', e);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ─── Event Handling ───────────────────────────────────────────────────────────
|
|
42
|
+
|
|
43
|
+
function handleEvent(event) {
|
|
44
|
+
if (event.type === 'tool_call') {
|
|
45
|
+
state.cumulativeActual = event.cumulative_actual;
|
|
46
|
+
state.cumulativeSavings = event.cumulative_savings;
|
|
47
|
+
state.sessionId = event.session_id;
|
|
48
|
+
|
|
49
|
+
updateStatsCards(event);
|
|
50
|
+
updateChart(event);
|
|
51
|
+
appendCallFeedItem(event);
|
|
52
|
+
} else if (event.type === 'session_start' || event.type === 'session_update') {
|
|
53
|
+
if (event.session) {
|
|
54
|
+
document.getElementById('sessionLabel').textContent = event.session.label || event.session.id;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// ─── Stats Cards ──────────────────────────────────────────────────────────────
|
|
60
|
+
|
|
61
|
+
function formatNumber(n) {
|
|
62
|
+
return n.toLocaleString('de-DE');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function updateStatsCards(event) {
|
|
66
|
+
document.getElementById('tokensUsed').textContent = formatNumber(event.cumulative_actual);
|
|
67
|
+
document.getElementById('tokensSaved').textContent = formatNumber(event.cumulative_savings);
|
|
68
|
+
document.getElementById('savingsPercent').textContent = event.savings_percent.toFixed(1) + '%';
|
|
69
|
+
document.getElementById('savingsBar').style.width = Math.min(100, event.savings_percent) + '%';
|
|
70
|
+
document.getElementById('barTokenCount').textContent = formatNumber(event.cumulative_actual) + ' Token';
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// ─── Chart ────────────────────────────────────────────────────────────────────
|
|
74
|
+
|
|
75
|
+
function initChart() {
|
|
76
|
+
const ctx = document.getElementById('tokenChart').getContext('2d');
|
|
77
|
+
state.chart = new Chart(ctx, {
|
|
78
|
+
type: 'bar',
|
|
79
|
+
data: {
|
|
80
|
+
labels: [],
|
|
81
|
+
datasets: [
|
|
82
|
+
{
|
|
83
|
+
label: 'Tatsächlich',
|
|
84
|
+
data: [],
|
|
85
|
+
backgroundColor: 'rgba(59, 130, 246, 0.8)',
|
|
86
|
+
borderRadius: 3,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
label: 'Ohne Index (geschätzt)',
|
|
90
|
+
data: [],
|
|
91
|
+
backgroundColor: 'rgba(75, 85, 99, 0.5)',
|
|
92
|
+
borderRadius: 3,
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
options: {
|
|
97
|
+
responsive: true,
|
|
98
|
+
maintainAspectRatio: false,
|
|
99
|
+
plugins: { legend: { labels: { color: '#9ca3af', font: { size: 11 } } } },
|
|
100
|
+
scales: {
|
|
101
|
+
x: { ticks: { color: '#6b7280', font: { size: 10 } }, grid: { color: '#1f2937' } },
|
|
102
|
+
y: { ticks: { color: '#6b7280', font: { size: 10 } }, grid: { color: '#1f2937' } },
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function updateChart(event) {
|
|
109
|
+
const chart = state.chart;
|
|
110
|
+
const label = event.tool;
|
|
111
|
+
chart.data.labels.push(label);
|
|
112
|
+
chart.data.datasets[0].data.push(event.tokens_actual);
|
|
113
|
+
chart.data.datasets[1].data.push(event.tokens_estimated);
|
|
114
|
+
|
|
115
|
+
// Keep only last N points
|
|
116
|
+
if (chart.data.labels.length > MAX_CHART_POINTS) {
|
|
117
|
+
chart.data.labels.shift();
|
|
118
|
+
chart.data.datasets[0].data.shift();
|
|
119
|
+
chart.data.datasets[1].data.shift();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
chart.update('none');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// ─── Calls Feed ───────────────────────────────────────────────────────────────
|
|
126
|
+
|
|
127
|
+
function appendCallFeedItem(event) {
|
|
128
|
+
const feed = document.getElementById('callsFeed');
|
|
129
|
+
const time = dayjs(event.timestamp).format('HH:mm:ss');
|
|
130
|
+
|
|
131
|
+
const item = document.createElement('div');
|
|
132
|
+
item.className = 'call-item';
|
|
133
|
+
item.innerHTML = `
|
|
134
|
+
<span class="call-time">${time}</span>
|
|
135
|
+
<span class="call-tool">${event.tool}${event.query ? `("${event.query}")` : ''}</span>
|
|
136
|
+
<span class="call-tokens"><span class="actual">${event.tokens_actual}</span> / ~${event.tokens_estimated}</span>
|
|
137
|
+
`;
|
|
138
|
+
|
|
139
|
+
// Prepend so newest is at top
|
|
140
|
+
feed.insertBefore(item, feed.firstChild);
|
|
141
|
+
|
|
142
|
+
// Keep only last 50 items in DOM
|
|
143
|
+
while (feed.children.length > 50) {
|
|
144
|
+
feed.removeChild(feed.lastChild);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// ─── Session History ──────────────────────────────────────────────────────────
|
|
149
|
+
|
|
150
|
+
async function loadSessionHistory() {
|
|
151
|
+
try {
|
|
152
|
+
const res = await fetch('/api/sessions');
|
|
153
|
+
if (!res.ok) return;
|
|
154
|
+
const sessions = await res.json();
|
|
155
|
+
|
|
156
|
+
const tbody = document.getElementById('historyBody');
|
|
157
|
+
tbody.innerHTML = '';
|
|
158
|
+
|
|
159
|
+
let totalTokens = 0;
|
|
160
|
+
let totalSaved = 0;
|
|
161
|
+
|
|
162
|
+
for (const s of sessions) {
|
|
163
|
+
const pct = s.total_tokens + s.total_savings > 0
|
|
164
|
+
? ((s.total_savings / (s.total_tokens + s.total_savings)) * 100).toFixed(1)
|
|
165
|
+
: '0.0';
|
|
166
|
+
|
|
167
|
+
totalTokens += s.total_tokens;
|
|
168
|
+
totalSaved += s.total_savings;
|
|
169
|
+
|
|
170
|
+
const row = document.createElement('tr');
|
|
171
|
+
row.innerHTML = `
|
|
172
|
+
<td>${s.label || s.id.substring(0, 8)}</td>
|
|
173
|
+
<td>${formatNumber(s.total_tokens)}</td>
|
|
174
|
+
<td>${formatNumber(s.total_savings)}</td>
|
|
175
|
+
<td>${pct}%</td>
|
|
176
|
+
`;
|
|
177
|
+
tbody.appendChild(row);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
const grandTotal = totalTokens + totalSaved;
|
|
181
|
+
const grandPct = grandTotal > 0 ? ((totalSaved / grandTotal) * 100).toFixed(1) : '0.0';
|
|
182
|
+
document.getElementById('histTotalTokens').textContent = formatNumber(totalTokens);
|
|
183
|
+
document.getElementById('histTotalSaved').textContent = formatNumber(totalSaved);
|
|
184
|
+
document.getElementById('histTotalPct').textContent = grandPct + '%';
|
|
185
|
+
} catch (e) {
|
|
186
|
+
console.error('Failed to load session history:', e);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// ─── Clock ────────────────────────────────────────────────────────────────────
|
|
191
|
+
|
|
192
|
+
function updateClock() {
|
|
193
|
+
document.getElementById('sessionTime').textContent = dayjs().format('HH:mm:ss');
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// ─── Refresh Rate Control ─────────────────────────────────────────────────────
|
|
197
|
+
|
|
198
|
+
let historyInterval = null;
|
|
199
|
+
|
|
200
|
+
function setRefreshInterval(seconds) {
|
|
201
|
+
if (historyInterval) clearInterval(historyInterval);
|
|
202
|
+
historyInterval = setInterval(() => {
|
|
203
|
+
loadSessionHistory();
|
|
204
|
+
loadSessionMemory();
|
|
205
|
+
}, seconds * 1000);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// ─── Session Memory (Anti-Patterns & Observations) ───────────────────────────
|
|
209
|
+
|
|
210
|
+
const AP_LABELS = {
|
|
211
|
+
thrash_detected: 'Thrashing',
|
|
212
|
+
dead_end: 'Sackgasse',
|
|
213
|
+
failed_search: 'Fehlsuche',
|
|
214
|
+
tool_error: 'Tool-Fehler',
|
|
215
|
+
index_blind_spot: 'Index-Blindspot',
|
|
216
|
+
redundant_access: 'Redundanter Zugriff',
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
function escHtml(str) {
|
|
220
|
+
return String(str ?? '')
|
|
221
|
+
.replace(/&/g, '&')
|
|
222
|
+
.replace(/</g, '<')
|
|
223
|
+
.replace(/>/g, '>')
|
|
224
|
+
.replace(/"/g, '"');
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function renderAntiPatterns(items) {
|
|
228
|
+
const feed = document.getElementById('antiPatternsFeed');
|
|
229
|
+
const countEl = document.getElementById('apCount');
|
|
230
|
+
countEl.textContent = items.length ? `(${items.length})` : '';
|
|
231
|
+
|
|
232
|
+
if (!items.length) {
|
|
233
|
+
feed.innerHTML = '<div class="memory-empty">Keine Anti-Patterns erkannt</div>';
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
feed.innerHTML = items.map((item) => {
|
|
238
|
+
let description = item.event_type;
|
|
239
|
+
try {
|
|
240
|
+
const extra = JSON.parse(item.extra_json || '{}');
|
|
241
|
+
if (extra.description) description = extra.description;
|
|
242
|
+
} catch { /* ignore */ }
|
|
243
|
+
|
|
244
|
+
const label = AP_LABELS[item.event_type] || item.event_type;
|
|
245
|
+
const cssType = item.event_type.replace(/_/g, '-');
|
|
246
|
+
const time = dayjs(item.timestamp).format('DD.MM HH:mm');
|
|
247
|
+
const meta = [item.file_path, item.symbol_name].filter(Boolean).join(' › ');
|
|
248
|
+
|
|
249
|
+
return `
|
|
250
|
+
<div class="memory-item ap-${escHtml(cssType)}">
|
|
251
|
+
<div class="memory-item-header">
|
|
252
|
+
<span class="memory-badge">${escHtml(label)}</span>
|
|
253
|
+
<span class="memory-session">${escHtml((item.session_id || '').substring(0, 8))}</span>
|
|
254
|
+
<span class="memory-time">${time}</span>
|
|
255
|
+
</div>
|
|
256
|
+
<div class="memory-text">${escHtml(description)}</div>
|
|
257
|
+
${meta ? `<div class="memory-meta">${escHtml(meta)}</div>` : ''}
|
|
258
|
+
</div>`;
|
|
259
|
+
}).join('');
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
function renderObservations(items) {
|
|
263
|
+
const feed = document.getElementById('observationsFeed');
|
|
264
|
+
const countEl = document.getElementById('obsCount');
|
|
265
|
+
countEl.textContent = items.length ? `(${items.length})` : '';
|
|
266
|
+
|
|
267
|
+
if (!items.length) {
|
|
268
|
+
feed.innerHTML = '<div class="memory-empty">Keine Beobachtungen vorhanden</div>';
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
feed.innerHTML = items.map((item) => {
|
|
273
|
+
const time = dayjs(item.created_at).format('DD.MM HH:mm');
|
|
274
|
+
const meta = [item.file_path, item.symbol_name].filter(Boolean).join(' › ');
|
|
275
|
+
const stale = item.stale === 1;
|
|
276
|
+
|
|
277
|
+
return `
|
|
278
|
+
<div class="memory-item obs-item${stale ? ' stale' : ''}">
|
|
279
|
+
<div class="memory-item-header">
|
|
280
|
+
<span class="memory-badge obs-badge">${escHtml(item.type)}</span>
|
|
281
|
+
<span class="memory-session">${escHtml((item.session_id || '').substring(0, 8))}</span>
|
|
282
|
+
<span class="memory-time">${time}</span>
|
|
283
|
+
${stale ? '<span class="stale-badge">veraltet</span>' : ''}
|
|
284
|
+
</div>
|
|
285
|
+
<div class="memory-text">${escHtml(item.observation)}</div>
|
|
286
|
+
${meta ? `<div class="memory-meta">${escHtml(meta)}</div>` : ''}
|
|
287
|
+
</div>`;
|
|
288
|
+
}).join('');
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
async function loadSessionMemory() {
|
|
292
|
+
try {
|
|
293
|
+
const res = await fetch('/api/session-memory');
|
|
294
|
+
if (!res.ok) return;
|
|
295
|
+
const { anti_patterns, observations } = await res.json();
|
|
296
|
+
renderAntiPatterns(anti_patterns);
|
|
297
|
+
renderObservations(observations);
|
|
298
|
+
} catch (e) {
|
|
299
|
+
console.error('Failed to load session memory:', e);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// ─── Initialization ───────────────────────────────────────────────────────────
|
|
304
|
+
|
|
305
|
+
document.addEventListener('DOMContentLoaded', () => {
|
|
306
|
+
initChart();
|
|
307
|
+
connect();
|
|
308
|
+
loadSessionHistory();
|
|
309
|
+
loadSessionMemory();
|
|
310
|
+
setInterval(updateClock, 1000);
|
|
311
|
+
setRefreshInterval(30);
|
|
312
|
+
updateClock();
|
|
313
|
+
|
|
314
|
+
const slider = document.getElementById('refreshSlider');
|
|
315
|
+
const label = document.getElementById('refreshLabel');
|
|
316
|
+
slider.addEventListener('input', () => {
|
|
317
|
+
const s = Number(slider.value);
|
|
318
|
+
label.textContent = s + 's';
|
|
319
|
+
setRefreshInterval(s);
|
|
320
|
+
});
|
|
321
|
+
});
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="de">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>MCP Codebase Indexer – Monitoring</title>
|
|
7
|
+
<link rel="stylesheet" href="/styles.css">
|
|
8
|
+
<script src="https://cdn.jsdelivr.net/npm/chart.js@4/dist/chart.umd.min.js"></script>
|
|
9
|
+
<script src="https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js"></script>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div class="header">
|
|
13
|
+
<div class="header-title">
|
|
14
|
+
<span class="dot" id="statusDot">●</span>
|
|
15
|
+
<h1>MCP Codebase Indexer</h1>
|
|
16
|
+
<span id="sessionLabel" class="session-label"></span>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="header-meta">
|
|
19
|
+
<label class="refresh-control" title="Aktualisierungsintervall der Session History">
|
|
20
|
+
<span id="refreshLabel">30s</span>
|
|
21
|
+
<input type="range" id="refreshSlider" min="1" max="60" value="30" step="1">
|
|
22
|
+
</label>
|
|
23
|
+
<span id="sessionTime"></span>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div class="grid">
|
|
28
|
+
<!-- Stats Cards -->
|
|
29
|
+
<div class="card stats-card">
|
|
30
|
+
<div class="stat">
|
|
31
|
+
<div class="stat-value" id="tokensUsed">0</div>
|
|
32
|
+
<div class="stat-label">Token verwendet</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="stat">
|
|
35
|
+
<div class="stat-value savings" id="tokensSaved">0</div>
|
|
36
|
+
<div class="stat-label">Token gespart</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="stat">
|
|
39
|
+
<div class="stat-value" id="savingsPercent">0%</div>
|
|
40
|
+
<div class="stat-label">Effizienz</div>
|
|
41
|
+
<div class="progress-bar">
|
|
42
|
+
<div class="progress-fill" id="savingsBar" style="width: 0%"></div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="bar-token-count" id="barTokenCount">0 Token</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<!-- Live Chart -->
|
|
49
|
+
<div class="card chart-card">
|
|
50
|
+
<h2>Live Token-Verlauf (letzte 20 Aufrufe)</h2>
|
|
51
|
+
<canvas id="tokenChart"></canvas>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<!-- Recent Calls -->
|
|
55
|
+
<div class="card calls-card">
|
|
56
|
+
<h2>Letzte Aufrufe</h2>
|
|
57
|
+
<div id="callsFeed"></div>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
<!-- Session History -->
|
|
61
|
+
<div class="card history-card">
|
|
62
|
+
<h2>Session History</h2>
|
|
63
|
+
<table id="historyTable">
|
|
64
|
+
<thead>
|
|
65
|
+
<tr>
|
|
66
|
+
<th>Label</th>
|
|
67
|
+
<th>Token</th>
|
|
68
|
+
<th>Gespart</th>
|
|
69
|
+
<th>%</th>
|
|
70
|
+
</tr>
|
|
71
|
+
</thead>
|
|
72
|
+
<tbody id="historyBody"></tbody>
|
|
73
|
+
<tfoot>
|
|
74
|
+
<tr id="historyTotal">
|
|
75
|
+
<td><strong>Gesamt</strong></td>
|
|
76
|
+
<td id="histTotalTokens">-</td>
|
|
77
|
+
<td id="histTotalSaved">-</td>
|
|
78
|
+
<td id="histTotalPct">-</td>
|
|
79
|
+
</tr>
|
|
80
|
+
</tfoot>
|
|
81
|
+
</table>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<!-- Session Memory: Anti-Patterns & Observations -->
|
|
86
|
+
<div class="memory-section">
|
|
87
|
+
<div class="memory-panel">
|
|
88
|
+
<h2>Anti-Patterns <span class="memory-count" id="apCount"></span></h2>
|
|
89
|
+
<div id="antiPatternsFeed" class="memory-feed">
|
|
90
|
+
<div class="memory-empty">Wird geladen…</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="memory-panel">
|
|
94
|
+
<h2>Beobachtungen <span class="memory-count" id="obsCount"></span></h2>
|
|
95
|
+
<div id="observationsFeed" class="memory-feed">
|
|
96
|
+
<div class="memory-empty">Wird geladen…</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<script src="/dashboard.js"></script>
|
|
102
|
+
</body>
|
|
103
|
+
</html>
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/* ─── Reset & Base ────────────────────────────────────────────────────────── */
|
|
2
|
+
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
3
|
+
|
|
4
|
+
:root {
|
|
5
|
+
--bg: #0f1117;
|
|
6
|
+
--bg2: #1a1d27;
|
|
7
|
+
--bg3: #242838;
|
|
8
|
+
--border: #2e3348;
|
|
9
|
+
--text: #e2e8f0;
|
|
10
|
+
--text-muted: #6b7280;
|
|
11
|
+
--accent: #6366f1;
|
|
12
|
+
--green: #22c55e;
|
|
13
|
+
--blue: #3b82f6;
|
|
14
|
+
--gray: #4b5563;
|
|
15
|
+
--font: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
html, body { height: 100%; }
|
|
19
|
+
body {
|
|
20
|
+
background: var(--bg);
|
|
21
|
+
color: var(--text);
|
|
22
|
+
font-family: var(--font);
|
|
23
|
+
font-size: 14px;
|
|
24
|
+
line-height: 1.5;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* ─── Header ──────────────────────────────────────────────────────────────── */
|
|
28
|
+
.header {
|
|
29
|
+
display: flex;
|
|
30
|
+
justify-content: space-between;
|
|
31
|
+
align-items: center;
|
|
32
|
+
padding: 16px 24px;
|
|
33
|
+
border-bottom: 1px solid var(--border);
|
|
34
|
+
background: var(--bg2);
|
|
35
|
+
position: sticky;
|
|
36
|
+
top: 0;
|
|
37
|
+
z-index: 10;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.header-title { display: flex; align-items: center; gap: 10px; }
|
|
41
|
+
.header-title h1 { font-size: 1rem; font-weight: 600; }
|
|
42
|
+
.dot { font-size: 10px; color: var(--gray); }
|
|
43
|
+
.dot.connected { color: var(--green); }
|
|
44
|
+
.session-label {
|
|
45
|
+
background: var(--bg3);
|
|
46
|
+
border: 1px solid var(--border);
|
|
47
|
+
border-radius: 4px;
|
|
48
|
+
padding: 2px 8px;
|
|
49
|
+
font-size: 12px;
|
|
50
|
+
color: var(--text-muted);
|
|
51
|
+
}
|
|
52
|
+
.header-meta { display: flex; align-items: center; gap: 16px; color: var(--text-muted); font-size: 12px; }
|
|
53
|
+
|
|
54
|
+
.refresh-control {
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
gap: 6px;
|
|
58
|
+
color: var(--text-muted);
|
|
59
|
+
font-size: 11px;
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
user-select: none;
|
|
62
|
+
}
|
|
63
|
+
.refresh-control input[type="range"] {
|
|
64
|
+
-webkit-appearance: none;
|
|
65
|
+
appearance: none;
|
|
66
|
+
width: 80px;
|
|
67
|
+
height: 3px;
|
|
68
|
+
background: var(--bg3);
|
|
69
|
+
border-radius: 2px;
|
|
70
|
+
outline: none;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
}
|
|
73
|
+
.refresh-control input[type="range"]::-webkit-slider-thumb {
|
|
74
|
+
-webkit-appearance: none;
|
|
75
|
+
appearance: none;
|
|
76
|
+
width: 12px;
|
|
77
|
+
height: 12px;
|
|
78
|
+
border-radius: 50%;
|
|
79
|
+
background: var(--accent);
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
}
|
|
82
|
+
.refresh-control input[type="range"]::-moz-range-thumb {
|
|
83
|
+
width: 12px;
|
|
84
|
+
height: 12px;
|
|
85
|
+
border: none;
|
|
86
|
+
border-radius: 50%;
|
|
87
|
+
background: var(--accent);
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/* ─── Grid Layout ─────────────────────────────────────────────────────────── */
|
|
92
|
+
.grid {
|
|
93
|
+
display: grid;
|
|
94
|
+
grid-template-columns: repeat(12, 1fr);
|
|
95
|
+
gap: 16px;
|
|
96
|
+
padding: 20px 24px;
|
|
97
|
+
max-width: 1400px;
|
|
98
|
+
margin: 0 auto;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.card {
|
|
102
|
+
background: var(--bg2);
|
|
103
|
+
border: 1px solid var(--border);
|
|
104
|
+
border-radius: 8px;
|
|
105
|
+
padding: 16px;
|
|
106
|
+
}
|
|
107
|
+
.card h2 { font-size: 0.85rem; font-weight: 600; margin-bottom: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
|
|
108
|
+
|
|
109
|
+
.stats-card { grid-column: span 12; display: flex; gap: 24px; }
|
|
110
|
+
.chart-card { grid-column: span 8; }
|
|
111
|
+
.calls-card { grid-column: span 4; }
|
|
112
|
+
.history-card { grid-column: span 12; }
|
|
113
|
+
|
|
114
|
+
@media (max-width: 768px) {
|
|
115
|
+
.chart-card, .calls-card, .history-card { grid-column: span 12; }
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/* ─── Stats ───────────────────────────────────────────────────────────────── */
|
|
119
|
+
.stat { flex: 1; }
|
|
120
|
+
.stat-value { font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
|
|
121
|
+
.stat-value.savings { color: var(--green); }
|
|
122
|
+
.stat-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; margin-top: 2px; }
|
|
123
|
+
|
|
124
|
+
.progress-bar {
|
|
125
|
+
height: 6px;
|
|
126
|
+
background: var(--bg3);
|
|
127
|
+
border-radius: 3px;
|
|
128
|
+
margin-top: 8px;
|
|
129
|
+
overflow: hidden;
|
|
130
|
+
}
|
|
131
|
+
.progress-fill {
|
|
132
|
+
height: 100%;
|
|
133
|
+
background: var(--green);
|
|
134
|
+
border-radius: 3px;
|
|
135
|
+
transition: width 0.4s ease;
|
|
136
|
+
}
|
|
137
|
+
.bar-token-count {
|
|
138
|
+
font-size: 11px;
|
|
139
|
+
color: var(--text-muted);
|
|
140
|
+
margin-top: 5px;
|
|
141
|
+
font-variant-numeric: tabular-nums;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* ─── Chart ───────────────────────────────────────────────────────────────── */
|
|
145
|
+
#tokenChart { width: 100% !important; height: 200px !important; }
|
|
146
|
+
|
|
147
|
+
/* ─── Calls Feed ──────────────────────────────────────────────────────────── */
|
|
148
|
+
#callsFeed { overflow-y: auto; max-height: 300px; }
|
|
149
|
+
.call-item {
|
|
150
|
+
display: grid;
|
|
151
|
+
grid-template-columns: 55px 1fr auto;
|
|
152
|
+
gap: 6px;
|
|
153
|
+
padding: 6px 0;
|
|
154
|
+
border-bottom: 1px solid var(--border);
|
|
155
|
+
font-size: 12px;
|
|
156
|
+
align-items: baseline;
|
|
157
|
+
}
|
|
158
|
+
.call-item:last-child { border-bottom: none; }
|
|
159
|
+
.call-time { color: var(--text-muted); font-variant-numeric: tabular-nums; }
|
|
160
|
+
.call-tool { color: var(--blue); font-family: monospace; }
|
|
161
|
+
.call-tokens { color: var(--text-muted); text-align: right; white-space: nowrap; }
|
|
162
|
+
.call-tokens .actual { color: var(--text); font-weight: 600; }
|
|
163
|
+
|
|
164
|
+
/* ─── History Table ───────────────────────────────────────────────────────── */
|
|
165
|
+
#historyTable { width: 100%; border-collapse: collapse; font-size: 13px; }
|
|
166
|
+
#historyTable th, #historyTable td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--border); }
|
|
167
|
+
#historyTable th { color: var(--text-muted); font-weight: 500; font-size: 11px; text-transform: uppercase; }
|
|
168
|
+
#historyTable tbody tr:hover { background: var(--bg3); }
|
|
169
|
+
#historyTotal td { color: var(--text-muted); font-size: 12px; }
|
|
170
|
+
|
|
171
|
+
/* ─── Session Memory (Anti-Patterns & Observations) ─────────────────────────── */
|
|
172
|
+
.memory-section {
|
|
173
|
+
display: grid;
|
|
174
|
+
grid-template-columns: 1fr 1fr;
|
|
175
|
+
gap: 16px;
|
|
176
|
+
padding: 0 24px 24px;
|
|
177
|
+
max-width: 1400px;
|
|
178
|
+
margin: 0 auto;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@media (max-width: 768px) {
|
|
182
|
+
.memory-section { grid-template-columns: 1fr; }
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.memory-panel {
|
|
186
|
+
background: var(--bg2);
|
|
187
|
+
border: 1px solid var(--border);
|
|
188
|
+
border-radius: 8px;
|
|
189
|
+
padding: 16px;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.memory-panel h2 {
|
|
193
|
+
font-size: 0.85rem;
|
|
194
|
+
font-weight: 600;
|
|
195
|
+
margin-bottom: 12px;
|
|
196
|
+
color: var(--text-muted);
|
|
197
|
+
text-transform: uppercase;
|
|
198
|
+
letter-spacing: 0.05em;
|
|
199
|
+
display: flex;
|
|
200
|
+
align-items: center;
|
|
201
|
+
gap: 6px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.memory-count { font-weight: 400; font-size: 11px; color: var(--text-muted); }
|
|
205
|
+
|
|
206
|
+
.memory-feed { overflow-y: auto; max-height: 320px; display: flex; flex-direction: column; gap: 6px; }
|
|
207
|
+
.memory-empty { color: var(--text-muted); font-size: 12px; padding: 16px 0; text-align: center; }
|
|
208
|
+
|
|
209
|
+
.memory-item {
|
|
210
|
+
background: var(--bg3);
|
|
211
|
+
border-radius: 6px;
|
|
212
|
+
padding: 9px 12px;
|
|
213
|
+
border-left: 3px solid var(--gray);
|
|
214
|
+
font-size: 12px;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/* Anti-pattern accent colours */
|
|
218
|
+
.ap-failed-search { border-left-color: #f59e0b; }
|
|
219
|
+
.ap-dead-end { border-left-color: #ef4444; }
|
|
220
|
+
.ap-thrash-detected { border-left-color: #f97316; }
|
|
221
|
+
.ap-tool-error { border-left-color: #ef4444; }
|
|
222
|
+
.ap-index-blind-spot { border-left-color: #eab308; }
|
|
223
|
+
.ap-redundant-access { border-left-color: #6b7280; }
|
|
224
|
+
|
|
225
|
+
/* Observations */
|
|
226
|
+
.obs-item { border-left-color: var(--accent); }
|
|
227
|
+
.memory-item.stale { opacity: 0.55; }
|
|
228
|
+
|
|
229
|
+
.memory-item-header {
|
|
230
|
+
display: flex;
|
|
231
|
+
align-items: center;
|
|
232
|
+
gap: 6px;
|
|
233
|
+
margin-bottom: 4px;
|
|
234
|
+
flex-wrap: wrap;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
.memory-badge {
|
|
238
|
+
font-size: 10px;
|
|
239
|
+
font-weight: 600;
|
|
240
|
+
text-transform: uppercase;
|
|
241
|
+
letter-spacing: 0.05em;
|
|
242
|
+
background: var(--bg);
|
|
243
|
+
border-radius: 3px;
|
|
244
|
+
padding: 1px 5px;
|
|
245
|
+
color: var(--text-muted);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.obs-badge { color: var(--accent); }
|
|
249
|
+
|
|
250
|
+
.memory-session {
|
|
251
|
+
font-size: 10px;
|
|
252
|
+
color: var(--text-muted);
|
|
253
|
+
font-family: monospace;
|
|
254
|
+
opacity: 0.6;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.memory-time { margin-left: auto; color: var(--text-muted); font-variant-numeric: tabular-nums; font-size: 11px; }
|
|
258
|
+
|
|
259
|
+
.stale-badge {
|
|
260
|
+
font-size: 10px;
|
|
261
|
+
color: var(--text-muted);
|
|
262
|
+
background: var(--bg);
|
|
263
|
+
border-radius: 3px;
|
|
264
|
+
padding: 1px 5px;
|
|
265
|
+
border: 1px solid var(--border);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.memory-text { color: var(--text); line-height: 1.4; }
|
|
269
|
+
|
|
270
|
+
.memory-meta {
|
|
271
|
+
margin-top: 4px;
|
|
272
|
+
color: var(--text-muted);
|
|
273
|
+
font-family: monospace;
|
|
274
|
+
font-size: 11px;
|
|
275
|
+
overflow: hidden;
|
|
276
|
+
text-overflow: ellipsis;
|
|
277
|
+
white-space: nowrap;
|
|
278
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pindex",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
4
4
|
"description": "MCP Server that structurally indexes a codebase for 80-90% token reduction",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"LICENSE"
|
|
16
16
|
],
|
|
17
17
|
"scripts": {
|
|
18
|
-
"build": "tsc",
|
|
18
|
+
"build": "tsc && node -e \"require('fs').cpSync('src/monitoring/ui','dist/monitoring/ui',{recursive:true})\"",
|
|
19
19
|
"build:watch": "tsc --watch",
|
|
20
20
|
"test": "vitest run",
|
|
21
21
|
"test:watch": "vitest",
|