MCPcopy Create free account
hub / github.com/Roy3838/Observer / MemoryManager

Function MemoryManager

app/src/components/MemoryManager.tsx:25–351  ·  view source on GitHub ↗
({ 
  agentId, 
  agentName, 
  isOpen, 
  onClose 
})

Source from the content-addressed store, hash-verified

23}
24
25const MemoryManager: React.FC<MemoryManagerProps> = ({
26 agentId,
27 agentName,
28 isOpen,
29 onClose
30}) => {
31 const [memory, setMemory] = useState('');
32 const [savedMemory, setSavedMemory] = useState('');
33 const [imageMemory, setImageMemory] = useState<string[]>([]);
34 const [isSaving, setIsSaving] = useState(false);
35 const [isClearing, setIsClearing] = useState(false);
36 const [isClearingImages, setIsClearingImages] = useState(false);
37 const [isUploading, setIsUploading] = useState(false);
38 const [error, setError] = useState<string | null>(null);
39 const fileInputRef = useRef<HTMLInputElement>(null);
40
41 // Load memory when component opens
42 useEffect(() => {
43 if (isOpen) {
44 loadMemory();
45 loadImageMemory();
46 }
47 }, [isOpen, agentId]);
48
49 // Listen for memory update events
50 useEffect(() => {
51 const handleMemoryUpdate = (event: CustomEvent) => {
52 if (event.detail.agentId === agentId && isOpen) {
53 loadMemory(false); // Silent update
54 loadImageMemory(false); // Also reload image memory
55 }
56 };
57
58 // Add event listener
59 window.addEventListener(MEMORY_UPDATE_EVENT, handleMemoryUpdate as EventListener);
60
61 // Clean up
62 return () => {
63 window.removeEventListener(MEMORY_UPDATE_EVENT, handleMemoryUpdate as EventListener);
64 };
65 }, [agentId, isOpen]);
66
67 const loadMemory = async (logActivity = true) => {
68 try {
69 setError(null);
70 const agentMemory = await getAgentMemory(agentId);
71
72 setMemory(agentMemory);
73 setSavedMemory(agentMemory);
74
75 if (logActivity) {
76 Logger.debug(agentId, `Memory loaded (${agentMemory.length} characters)`);
77 }
78 } catch (err) {
79 const errorMessage = err instanceof Error ? err.message : 'Unknown error';
80 setError(`Failed to load memory: ${errorMessage}`);
81 Logger.error(agentId, `Failed to load memory: ${errorMessage}`, err);
82 }

Callers

nothing calls this directly

Calls 5

loadImageMemoryFunction · 0.85
setMemoryFunction · 0.85
handleDeleteImageFunction · 0.85
loadMemoryFunction · 0.70
writeMethod · 0.45

Tested by

no test coverage detected