feat: add auto-memory panel, /memory command, and unified toast system

- Add /memory CLI built-in slash command
- Refactor MemoryBrowserPanel to accept isOpen/onClose props
- Add Send /memory and Refresh buttons to MemoryBrowserPanel header
- Add Memory Manager entry to NavMenu
- Create unified ToastContainer replacing AchievementNotification and
  UpdateNotification with a single stacked toast system
- Add toasts store with info (4s), achievement (5s), and persistent
  update toast types
- Move getAchievementRarity and getRarityColour helpers to toasts store
- Detect auto-memory writes in tauri.ts output listener and fire toast
- Remove action buttons from update toast; version is now a direct link

Closes #212
This commit is contained in:
2026-03-12 22:45:03 -07:00
committed by Naomi Carrigan
parent 02c8d6c990
commit 8f278da304
12 changed files with 691 additions and 528 deletions
+11
View File
@@ -23,6 +23,7 @@ import {
handleNewUserMessage,
} from "$lib/notifications/rules";
import { notificationManager } from "$lib/notifications/notificationManager";
import { toastStore } from "$lib/stores/toasts";
interface StateChangePayload {
state: CharacterState;
@@ -431,6 +432,16 @@ export async function initializeTauriListeners() {
parent_tool_use_id
);
}
// Detect auto-memory updates — tool writes to ~/.claude/ markdown files
if (
line_type === "tool" &&
content &&
content.includes("/.claude/") &&
content.includes(".md")
) {
toastStore.addInfo("Auto-memory updated", "🧠");
}
});
unlisteners.push(outputUnlisten);