claude-cortex 1.10.0 → 1.11.1
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/dashboard/package-lock.json +273 -4
- package/dashboard/package.json +1 -0
- package/dashboard/src/app/page.tsx +65 -32
- package/dashboard/src/components/graph/KnowledgeGraph.tsx +230 -0
- package/dashboard/src/components/insights/ActivityHeatmap.tsx +131 -0
- package/dashboard/src/components/insights/InsightsView.tsx +46 -0
- package/dashboard/src/components/insights/KnowledgeMapPanel.tsx +80 -0
- package/dashboard/src/components/insights/QualityPanel.tsx +116 -0
- package/dashboard/src/components/memories/MemoriesView.tsx +150 -0
- package/dashboard/src/components/memories/MemoryCard.tsx +103 -0
- package/dashboard/src/components/nav/NavRail.tsx +53 -0
- package/dashboard/src/hooks/useMemories.ts +73 -0
- package/dashboard/src/lib/store.ts +3 -3
- package/dist/api/visualization-server.d.ts.map +1 -1
- package/dist/api/visualization-server.js +65 -0
- package/dist/api/visualization-server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/pre-compact-hook.mjs +0 -17
- package/dashboard/README.md +0 -36
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useState, useMemo, useCallback } from 'react';
|
|
4
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
5
|
+
import { Memory } from '@/types/memory';
|
|
6
|
+
import { MemoryCard } from './MemoryCard';
|
|
7
|
+
|
|
8
|
+
const API_BASE = process.env.NEXT_PUBLIC_API_URL || 'http://localhost:3001';
|
|
9
|
+
|
|
10
|
+
type SortKey = 'salience' | 'createdAt' | 'lastAccessed' | 'decayedScore';
|
|
11
|
+
type ViewStyle = 'grid' | 'list';
|
|
12
|
+
|
|
13
|
+
interface MemoriesViewProps {
|
|
14
|
+
memories: Memory[];
|
|
15
|
+
selectedMemory: Memory | null;
|
|
16
|
+
onSelectMemory: (m: Memory | null) => void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function MemoriesView({ memories, selectedMemory, onSelectMemory }: MemoriesViewProps) {
|
|
20
|
+
const [sortKey, setSortKey] = useState<SortKey>('salience');
|
|
21
|
+
const [viewStyle, setViewStyle] = useState<ViewStyle>('grid');
|
|
22
|
+
const [bulkMode, setBulkMode] = useState(false);
|
|
23
|
+
const [checked, setChecked] = useState<Set<number>>(new Set());
|
|
24
|
+
const [deleting, setDeleting] = useState(false);
|
|
25
|
+
const queryClient = useQueryClient();
|
|
26
|
+
|
|
27
|
+
const sorted = useMemo(() => {
|
|
28
|
+
const arr = [...memories];
|
|
29
|
+
arr.sort((a, b) => {
|
|
30
|
+
switch (sortKey) {
|
|
31
|
+
case 'salience': return b.salience - a.salience;
|
|
32
|
+
case 'createdAt': return new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime();
|
|
33
|
+
case 'lastAccessed': return new Date(b.lastAccessed).getTime() - new Date(a.lastAccessed).getTime();
|
|
34
|
+
case 'decayedScore': return (b.decayedScore ?? b.salience) - (a.decayedScore ?? a.salience);
|
|
35
|
+
default: return 0;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return arr;
|
|
39
|
+
}, [memories, sortKey]);
|
|
40
|
+
|
|
41
|
+
const handleCheck = useCallback((id: number, val: boolean) => {
|
|
42
|
+
setChecked((prev) => {
|
|
43
|
+
const next = new Set(prev);
|
|
44
|
+
if (val) next.add(id); else next.delete(id);
|
|
45
|
+
return next;
|
|
46
|
+
});
|
|
47
|
+
}, []);
|
|
48
|
+
|
|
49
|
+
const selectAll = () => setChecked(new Set(sorted.map((m) => m.id)));
|
|
50
|
+
const deselectAll = () => setChecked(new Set());
|
|
51
|
+
|
|
52
|
+
const deleteSelected = async () => {
|
|
53
|
+
if (checked.size === 0) return;
|
|
54
|
+
setDeleting(true);
|
|
55
|
+
try {
|
|
56
|
+
await Promise.all(
|
|
57
|
+
Array.from(checked).map((id) =>
|
|
58
|
+
fetch(`${API_BASE}/api/memories/${id}`, { method: 'DELETE' })
|
|
59
|
+
)
|
|
60
|
+
);
|
|
61
|
+
setChecked(new Set());
|
|
62
|
+
queryClient.invalidateQueries({ queryKey: ['memories'] });
|
|
63
|
+
} finally {
|
|
64
|
+
setDeleting(false);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<div className="flex flex-col h-full">
|
|
70
|
+
{/* Toolbar */}
|
|
71
|
+
<div className="flex items-center gap-3 px-4 py-2 border-b border-slate-800 shrink-0">
|
|
72
|
+
<span className="text-xs text-slate-400">{memories.length} memories</span>
|
|
73
|
+
|
|
74
|
+
<div className="w-px h-5 bg-slate-700" />
|
|
75
|
+
|
|
76
|
+
<select
|
|
77
|
+
value={sortKey}
|
|
78
|
+
onChange={(e) => setSortKey(e.target.value as SortKey)}
|
|
79
|
+
className="bg-slate-800 border border-slate-700 text-white text-xs rounded px-2 py-1"
|
|
80
|
+
>
|
|
81
|
+
<option value="salience">Salience</option>
|
|
82
|
+
<option value="createdAt">Created</option>
|
|
83
|
+
<option value="lastAccessed">Last Accessed</option>
|
|
84
|
+
<option value="decayedScore">Decay Score</option>
|
|
85
|
+
</select>
|
|
86
|
+
|
|
87
|
+
<div className="flex items-center border border-slate-700 rounded overflow-hidden">
|
|
88
|
+
<button
|
|
89
|
+
onClick={() => setViewStyle('grid')}
|
|
90
|
+
className={`px-2 py-1 text-xs ${viewStyle === 'grid' ? 'bg-slate-700 text-white' : 'text-slate-400 hover:text-white'}`}
|
|
91
|
+
>
|
|
92
|
+
Grid
|
|
93
|
+
</button>
|
|
94
|
+
<button
|
|
95
|
+
onClick={() => setViewStyle('list')}
|
|
96
|
+
className={`px-2 py-1 text-xs ${viewStyle === 'list' ? 'bg-slate-700 text-white' : 'text-slate-400 hover:text-white'}`}
|
|
97
|
+
>
|
|
98
|
+
List
|
|
99
|
+
</button>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<div className="w-px h-5 bg-slate-700" />
|
|
103
|
+
|
|
104
|
+
<button
|
|
105
|
+
onClick={() => { setBulkMode(!bulkMode); setChecked(new Set()); }}
|
|
106
|
+
className={`px-2 py-1 text-xs rounded ${bulkMode ? 'bg-blue-600 text-white' : 'bg-slate-800 text-slate-400 hover:text-white'}`}
|
|
107
|
+
>
|
|
108
|
+
Select
|
|
109
|
+
</button>
|
|
110
|
+
|
|
111
|
+
{bulkMode && (
|
|
112
|
+
<>
|
|
113
|
+
<button onClick={selectAll} className="px-2 py-1 text-xs text-slate-400 hover:text-white">
|
|
114
|
+
Select all
|
|
115
|
+
</button>
|
|
116
|
+
<button
|
|
117
|
+
onClick={deleteSelected}
|
|
118
|
+
disabled={checked.size === 0 || deleting}
|
|
119
|
+
className="px-2 py-1 text-xs rounded bg-red-600/20 text-red-400 hover:bg-red-600/40 disabled:opacity-40"
|
|
120
|
+
>
|
|
121
|
+
{deleting ? 'Deleting...' : `Delete (${checked.size})`}
|
|
122
|
+
</button>
|
|
123
|
+
</>
|
|
124
|
+
)}
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
{/* Card grid */}
|
|
128
|
+
<div className="flex-1 overflow-y-auto p-4">
|
|
129
|
+
<div
|
|
130
|
+
className={
|
|
131
|
+
viewStyle === 'grid'
|
|
132
|
+
? 'grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3'
|
|
133
|
+
: 'flex flex-col gap-3 max-w-2xl'
|
|
134
|
+
}
|
|
135
|
+
>
|
|
136
|
+
{sorted.map((memory) => (
|
|
137
|
+
<MemoryCard
|
|
138
|
+
key={memory.id}
|
|
139
|
+
memory={memory}
|
|
140
|
+
isSelected={selectedMemory?.id === memory.id}
|
|
141
|
+
onSelect={onSelectMemory}
|
|
142
|
+
isChecked={bulkMode ? checked.has(memory.id) : undefined}
|
|
143
|
+
onCheck={bulkMode ? handleCheck : undefined}
|
|
144
|
+
/>
|
|
145
|
+
))}
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
);
|
|
150
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Memory } from '@/types/memory';
|
|
4
|
+
import { getCategoryColor, getTypeColor } from '@/lib/category-colors';
|
|
5
|
+
|
|
6
|
+
function relativeTime(dateStr: string): string {
|
|
7
|
+
const diff = Date.now() - new Date(dateStr).getTime();
|
|
8
|
+
const mins = Math.floor(diff / 60000);
|
|
9
|
+
if (mins < 1) return 'now';
|
|
10
|
+
if (mins < 60) return `${mins}m ago`;
|
|
11
|
+
const hrs = Math.floor(mins / 60);
|
|
12
|
+
if (hrs < 24) return `${hrs}h ago`;
|
|
13
|
+
const days = Math.floor(hrs / 24);
|
|
14
|
+
if (days < 7) return `${days}d ago`;
|
|
15
|
+
const weeks = Math.floor(days / 7);
|
|
16
|
+
return `${weeks}w ago`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface MemoryCardProps {
|
|
20
|
+
memory: Memory;
|
|
21
|
+
isSelected: boolean;
|
|
22
|
+
onSelect: (m: Memory) => void;
|
|
23
|
+
isChecked?: boolean;
|
|
24
|
+
onCheck?: (id: number, checked: boolean) => void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function MemoryCard({ memory, isSelected, onSelect, isChecked, onCheck }: MemoryCardProps) {
|
|
28
|
+
const catColor = getCategoryColor(memory.category);
|
|
29
|
+
const typeColor = getTypeColor(memory.type);
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<div
|
|
33
|
+
onClick={() => onSelect(memory)}
|
|
34
|
+
className={`bg-slate-900 border rounded-lg p-3 hover:border-slate-600 cursor-pointer transition-colors relative ${
|
|
35
|
+
isSelected ? 'border-cyan-500' : 'border-slate-800'
|
|
36
|
+
}`}
|
|
37
|
+
>
|
|
38
|
+
{/* Salience bar */}
|
|
39
|
+
<div className="h-0.5 rounded-full bg-slate-800 mb-2 overflow-hidden">
|
|
40
|
+
<div
|
|
41
|
+
className="h-full rounded-full"
|
|
42
|
+
style={{ width: `${memory.salience * 100}%`, backgroundColor: catColor }}
|
|
43
|
+
/>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
{/* Checkbox */}
|
|
47
|
+
{onCheck && (
|
|
48
|
+
<input
|
|
49
|
+
type="checkbox"
|
|
50
|
+
checked={isChecked ?? false}
|
|
51
|
+
onChange={(e) => {
|
|
52
|
+
e.stopPropagation();
|
|
53
|
+
onCheck(memory.id, e.target.checked);
|
|
54
|
+
}}
|
|
55
|
+
onClick={(e) => e.stopPropagation()}
|
|
56
|
+
className="absolute top-3 right-3 w-4 h-4 accent-blue-500"
|
|
57
|
+
/>
|
|
58
|
+
)}
|
|
59
|
+
|
|
60
|
+
{/* Title */}
|
|
61
|
+
<h3 className="text-sm font-semibold text-white truncate pr-6">{memory.title}</h3>
|
|
62
|
+
|
|
63
|
+
{/* Badges */}
|
|
64
|
+
<div className="flex items-center gap-1.5 mt-1">
|
|
65
|
+
<span
|
|
66
|
+
className="text-[10px] px-1.5 py-0.5 rounded-full font-medium"
|
|
67
|
+
style={{ backgroundColor: catColor + '22', color: catColor }}
|
|
68
|
+
>
|
|
69
|
+
{memory.category}
|
|
70
|
+
</span>
|
|
71
|
+
<span
|
|
72
|
+
className="text-[10px] px-1.5 py-0.5 rounded-full font-medium"
|
|
73
|
+
style={{ backgroundColor: typeColor + '22', color: typeColor }}
|
|
74
|
+
>
|
|
75
|
+
{memory.type.replace('_', '-')}
|
|
76
|
+
</span>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
{/* Content preview */}
|
|
80
|
+
<p className="text-[13px] text-slate-400 mt-1.5 line-clamp-3 leading-snug">{memory.content}</p>
|
|
81
|
+
|
|
82
|
+
{/* Tags */}
|
|
83
|
+
{memory.tags.length > 0 && (
|
|
84
|
+
<div className="flex items-center gap-1 mt-2 flex-wrap">
|
|
85
|
+
{memory.tags.slice(0, 3).map((tag) => (
|
|
86
|
+
<span key={tag} className="text-[10px] px-1.5 py-0.5 rounded bg-slate-800 text-slate-400">
|
|
87
|
+
{tag}
|
|
88
|
+
</span>
|
|
89
|
+
))}
|
|
90
|
+
{memory.tags.length > 3 && (
|
|
91
|
+
<span className="text-[10px] text-slate-500">+{memory.tags.length - 3} more</span>
|
|
92
|
+
)}
|
|
93
|
+
</div>
|
|
94
|
+
)}
|
|
95
|
+
|
|
96
|
+
{/* Footer */}
|
|
97
|
+
<div className="flex items-center justify-between mt-2 text-[11px] text-slate-500">
|
|
98
|
+
<span>Created {relativeTime(memory.createdAt)}</span>
|
|
99
|
+
<span>Accessed {relativeTime(memory.lastAccessed)}</span>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useDashboardStore } from '@/lib/store';
|
|
4
|
+
import { useStats } from '@/hooks/useMemories';
|
|
5
|
+
import { Network, LayoutGrid, BarChart3, Brain } from 'lucide-react';
|
|
6
|
+
|
|
7
|
+
const NAV_ITEMS = [
|
|
8
|
+
{ id: 'graph' as const, label: 'Graph', icon: Network },
|
|
9
|
+
{ id: 'memories' as const, label: 'Memories', icon: LayoutGrid },
|
|
10
|
+
{ id: 'insights' as const, label: 'Insights', icon: BarChart3 },
|
|
11
|
+
{ id: 'brain' as const, label: 'Brain', icon: Brain },
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
export function NavRail() {
|
|
15
|
+
const { viewMode, setViewMode } = useDashboardStore();
|
|
16
|
+
const { data: stats } = useStats();
|
|
17
|
+
|
|
18
|
+
const healthPercent = stats?.decayDistribution
|
|
19
|
+
? Math.round(
|
|
20
|
+
(stats.decayDistribution.healthy /
|
|
21
|
+
Math.max(1, stats.total)) *
|
|
22
|
+
100
|
|
23
|
+
)
|
|
24
|
+
: null;
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<nav className="w-14 border-r border-slate-800 bg-slate-900/50 flex flex-col items-center py-3 shrink-0">
|
|
28
|
+
<div className="flex-1 flex flex-col items-center gap-1">
|
|
29
|
+
{NAV_ITEMS.map(({ id, label, icon: Icon }) => (
|
|
30
|
+
<button
|
|
31
|
+
key={id}
|
|
32
|
+
onClick={() => setViewMode(id)}
|
|
33
|
+
className={`w-10 h-10 rounded-lg flex flex-col items-center justify-center gap-0.5 transition-colors ${
|
|
34
|
+
viewMode === id
|
|
35
|
+
? 'bg-cyan-600/20 text-cyan-400'
|
|
36
|
+
: 'text-slate-500 hover:text-slate-300 hover:bg-slate-800'
|
|
37
|
+
}`}
|
|
38
|
+
title={label}
|
|
39
|
+
>
|
|
40
|
+
<Icon size={18} />
|
|
41
|
+
<span className="text-[9px] leading-none">{label}</span>
|
|
42
|
+
</button>
|
|
43
|
+
))}
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
{/* Bottom stats */}
|
|
47
|
+
<div className="flex flex-col items-center gap-1 text-[10px] text-slate-500">
|
|
48
|
+
{stats && <span>{stats.total}</span>}
|
|
49
|
+
{healthPercent !== null && <span>{healthPercent}%</span>}
|
|
50
|
+
</div>
|
|
51
|
+
</nav>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
@@ -383,3 +383,76 @@ export function useRestartServer() {
|
|
|
383
383
|
mutationFn: restartServer,
|
|
384
384
|
});
|
|
385
385
|
}
|
|
386
|
+
|
|
387
|
+
// ============================================
|
|
388
|
+
// INSIGHTS API
|
|
389
|
+
// ============================================
|
|
390
|
+
|
|
391
|
+
// Activity data for heatmap
|
|
392
|
+
export interface ActivityDay {
|
|
393
|
+
date: string;
|
|
394
|
+
count: number;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
async function fetchActivity(project?: string): Promise<{ activity: ActivityDay[] }> {
|
|
398
|
+
const params = project ? `?project=${project}` : '';
|
|
399
|
+
const response = await fetch(`${API_BASE}/api/memories/activity${params}`);
|
|
400
|
+
if (!response.ok) throw new Error('Failed to fetch activity');
|
|
401
|
+
return response.json();
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
export function useActivity(project?: string) {
|
|
405
|
+
return useQuery({
|
|
406
|
+
queryKey: ['activity', project],
|
|
407
|
+
queryFn: () => fetchActivity(project),
|
|
408
|
+
staleTime: 5 * 60 * 1000,
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
// Memory quality data
|
|
413
|
+
export interface QualityData {
|
|
414
|
+
neverAccessed: { count: number; items: Array<Record<string, unknown>> };
|
|
415
|
+
stale: { count: number; items: Array<Record<string, unknown>> };
|
|
416
|
+
duplicates: { count: number; items: Array<Record<string, unknown>> };
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
async function fetchQuality(project?: string): Promise<QualityData> {
|
|
420
|
+
const params = project ? `?project=${project}` : '';
|
|
421
|
+
const response = await fetch(`${API_BASE}/api/memories/quality${params}`);
|
|
422
|
+
if (!response.ok) throw new Error('Failed to fetch quality');
|
|
423
|
+
return response.json();
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
export function useQuality(project?: string) {
|
|
427
|
+
return useQuery({
|
|
428
|
+
queryKey: ['quality', project],
|
|
429
|
+
queryFn: () => fetchQuality(project),
|
|
430
|
+
staleTime: 5 * 60 * 1000,
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
// Contradictions data
|
|
435
|
+
export interface Contradiction {
|
|
436
|
+
memoryAId: number;
|
|
437
|
+
memoryATitle: string;
|
|
438
|
+
memoryBId: number;
|
|
439
|
+
memoryBTitle: string;
|
|
440
|
+
score: number;
|
|
441
|
+
reason: string;
|
|
442
|
+
sharedTopics: string[];
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
async function fetchContradictions(project?: string): Promise<{ contradictions: Contradiction[]; count: number }> {
|
|
446
|
+
const params = project ? `?project=${project}` : '';
|
|
447
|
+
const response = await fetch(`${API_BASE}/api/contradictions${params}`);
|
|
448
|
+
if (!response.ok) throw new Error('Failed to fetch contradictions');
|
|
449
|
+
return response.json();
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export function useContradictions(project?: string) {
|
|
453
|
+
return useQuery({
|
|
454
|
+
queryKey: ['contradictions', project],
|
|
455
|
+
queryFn: () => fetchContradictions(project),
|
|
456
|
+
staleTime: 5 * 60 * 1000,
|
|
457
|
+
});
|
|
458
|
+
}
|
|
@@ -14,8 +14,8 @@ interface DashboardState {
|
|
|
14
14
|
setSelectedMemory: (memory: Memory | null) => void;
|
|
15
15
|
|
|
16
16
|
// View mode
|
|
17
|
-
viewMode: '
|
|
18
|
-
setViewMode: (mode: '
|
|
17
|
+
viewMode: 'graph' | 'memories' | 'insights' | 'brain';
|
|
18
|
+
setViewMode: (mode: 'graph' | 'memories' | 'insights' | 'brain') => void;
|
|
19
19
|
|
|
20
20
|
// Filters
|
|
21
21
|
typeFilter: string | null;
|
|
@@ -51,7 +51,7 @@ export const useDashboardStore = create<DashboardState>((set) => ({
|
|
|
51
51
|
setSelectedMemory: (memory) => set({ selectedMemory: memory }),
|
|
52
52
|
|
|
53
53
|
// View mode
|
|
54
|
-
viewMode: '
|
|
54
|
+
viewMode: 'graph',
|
|
55
55
|
setViewMode: (mode) => set({ viewMode: mode }),
|
|
56
56
|
|
|
57
57
|
// Filters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization-server.d.ts","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"visualization-server.d.ts","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAo/B9D"}
|
|
@@ -103,6 +103,67 @@ export function startVisualizationServer(dbPath) {
|
|
|
103
103
|
res.status(500).json({ error: error.message });
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
|
+
// Activity data for heatmap (must be before :id route)
|
|
107
|
+
app.get('/api/memories/activity', (req, res) => {
|
|
108
|
+
try {
|
|
109
|
+
const project = typeof req.query.project === 'string' ? req.query.project : undefined;
|
|
110
|
+
const db = getDatabase();
|
|
111
|
+
const query = project
|
|
112
|
+
? `SELECT date(created_at) as date, COUNT(*) as count
|
|
113
|
+
FROM memories WHERE project = ?
|
|
114
|
+
GROUP BY date(created_at)
|
|
115
|
+
ORDER BY date DESC
|
|
116
|
+
LIMIT 365`
|
|
117
|
+
: `SELECT date(created_at) as date, COUNT(*) as count
|
|
118
|
+
FROM memories
|
|
119
|
+
GROUP BY date(created_at)
|
|
120
|
+
ORDER BY date DESC
|
|
121
|
+
LIMIT 365`;
|
|
122
|
+
const rows = project
|
|
123
|
+
? db.prepare(query).all(project)
|
|
124
|
+
: db.prepare(query).all();
|
|
125
|
+
res.json({ activity: rows });
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
res.status(500).json({ error: error.message });
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
// Memory quality analysis (must be before :id route)
|
|
132
|
+
app.get('/api/memories/quality', (req, res) => {
|
|
133
|
+
try {
|
|
134
|
+
const project = typeof req.query.project === 'string' ? req.query.project : undefined;
|
|
135
|
+
const db = getDatabase();
|
|
136
|
+
const projectFilter = project ? 'AND project = ?' : '';
|
|
137
|
+
const params = project ? [project] : [];
|
|
138
|
+
const neverAccessed = db.prepare(`
|
|
139
|
+
SELECT id, title, category, type, created_at, salience
|
|
140
|
+
FROM memories WHERE access_count = 0 ${projectFilter}
|
|
141
|
+
AND created_at < datetime('now', '-1 day')
|
|
142
|
+
ORDER BY created_at DESC LIMIT 50
|
|
143
|
+
`).all(...params);
|
|
144
|
+
const stale = db.prepare(`
|
|
145
|
+
SELECT id, title, category, type, last_accessed, decayed_score, salience
|
|
146
|
+
FROM memories WHERE decayed_score < 0.3 ${projectFilter}
|
|
147
|
+
AND last_accessed < datetime('now', '-30 days')
|
|
148
|
+
ORDER BY decayed_score ASC LIMIT 50
|
|
149
|
+
`).all(...params);
|
|
150
|
+
const duplicates = db.prepare(`
|
|
151
|
+
SELECT m1.id as id1, m1.title as title_a, m2.id as id2, m2.title as title_b
|
|
152
|
+
FROM memories m1
|
|
153
|
+
JOIN memories m2 ON m1.title = m2.title AND m1.id < m2.id
|
|
154
|
+
${project ? 'WHERE m1.project = ?' : ''}
|
|
155
|
+
LIMIT 50
|
|
156
|
+
`).all(...params);
|
|
157
|
+
res.json({
|
|
158
|
+
neverAccessed: { count: neverAccessed.length, items: neverAccessed },
|
|
159
|
+
stale: { count: stale.length, items: stale },
|
|
160
|
+
duplicates: { count: duplicates.length, items: duplicates },
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
res.status(500).json({ error: error.message });
|
|
165
|
+
}
|
|
166
|
+
});
|
|
106
167
|
// Get single memory by ID
|
|
107
168
|
app.get('/api/memories/:id', (req, res) => {
|
|
108
169
|
try {
|
|
@@ -490,6 +551,10 @@ export function startVisualizationServer(dbPath) {
|
|
|
490
551
|
}
|
|
491
552
|
});
|
|
492
553
|
// ============================================
|
|
554
|
+
// INSIGHTS ENDPOINTS
|
|
555
|
+
// ============================================
|
|
556
|
+
// (activity and quality routes moved above :id route)
|
|
557
|
+
// ============================================
|
|
493
558
|
// SQL CONSOLE ENDPOINT
|
|
494
559
|
// ============================================
|
|
495
560
|
// Execute SQL query (with safety restrictions)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visualization-server.js","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visualization-server.js","sourceRoot":"","sources":["../../src/api/visualization-server.ts"],"names":[],"mappings":"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"}
|