async function renderMemory() {
const content = document.getElementById('pageContent');
content.innerHTML = `
`;
try {
const brain = await api.getBrain();
const container = document.getElementById('memoryFiles');
const fileNames = Object.keys(brain);
if (fileNames.length === 0) {
container.innerHTML = '';
return;
}
fileNames.forEach(name => {
const content = brain[name];
const preview = content.slice(0, 300);
container.innerHTML += `
${escapeHtml(preview)}${content.length > 300 ? '\n...' : ''}
${content.length} characters
`;
});
} catch (err) {
content.innerHTML = `⚠
Error
${escapeHtml(err.message)}
`;
}
}
async function editMemoryFile(name) {
const content = document.getElementById('pageContent');
let existingContent = '';
try {
const file = await api.getBrainFile(name);
existingContent = file.content;
} catch {}
content.innerHTML = `
`;
}
async function saveMemoryFile(name) {
const content = document.getElementById('memoryEditor').value;
try {
await api.updateBrainFile(name, content);
showToast(`'${name}' saved`, 'success');
renderMemory();
} catch (err) {
showToast(`Error: ${err.message}`, 'error');
}
}