()
| 70 | }; |
| 71 | |
| 72 | const handleCreateMemory = async () => { |
| 73 | if (!newMemoryId.trim()) { |
| 74 | setError('Memory ID cannot be empty'); |
| 75 | return; |
| 76 | } |
| 77 | |
| 78 | if (!newMemoryId.match(/^[a-zA-Z0-9_-]+$/)) { |
| 79 | setError('Memory ID can only contain letters, numbers, underscores, and hyphens'); |
| 80 | return; |
| 81 | } |
| 82 | |
| 83 | try { |
| 84 | setError(null); |
| 85 | setIsCreating(true); |
| 86 | await updateAgentMemory(newMemoryId, ''); |
| 87 | Logger.info('MEMORY_STORE', `Created memory: ${newMemoryId}`); |
| 88 | setNewMemoryId(''); |
| 89 | await loadMemories(); |
| 90 | } catch (err) { |
| 91 | const errorMessage = err instanceof Error ? err.message : 'Unknown error'; |
| 92 | setError(`Failed to create memory: ${errorMessage}`); |
| 93 | Logger.error('MEMORY_STORE', `Failed to create memory: ${errorMessage}`, err); |
| 94 | } finally { |
| 95 | setIsCreating(false); |
| 96 | } |
| 97 | }; |
| 98 | |
| 99 | const handleDeleteMemory = async (memoryId: string) => { |
| 100 | if (!await confirm(`Delete memory "${memoryId}"?`)) { |
no test coverage detected