diff options
| author | soryu <soryu@soryu.co> | 2026-02-13 02:00:32 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-13 02:00:32 +0000 |
| commit | 5edaf1228b4e48a441b98c49f58de312b7924ed6 (patch) | |
| tree | a26d7d69344788ac1ec5e7216cbc57921f483fa4 /makima/frontend/src/hooks/useDirectiveMemories.ts | |
| parent | 639b4c6bc3b3964c00cdfc64c4f262c61ee22fc7 (diff) | |
| download | soryu-5edaf1228b4e48a441b98c49f58de312b7924ed6.tar.gz soryu-5edaf1228b4e48a441b98c49f58de312b7924ed6.zip | |
Fix frontend build
Diffstat (limited to 'makima/frontend/src/hooks/useDirectiveMemories.ts')
| -rw-r--r-- | makima/frontend/src/hooks/useDirectiveMemories.ts | 59 |
1 files changed, 13 insertions, 46 deletions
diff --git a/makima/frontend/src/hooks/useDirectiveMemories.ts b/makima/frontend/src/hooks/useDirectiveMemories.ts index 3844c44..b2a87d0 100644 --- a/makima/frontend/src/hooks/useDirectiveMemories.ts +++ b/makima/frontend/src/hooks/useDirectiveMemories.ts @@ -1,41 +1,25 @@ import { useState, useEffect, useCallback } from "react"; import { - type DirectiveMemoryEntry, - type DirectiveMemoryConfig, + type DirectiveMemory, type MemoryCategory, type CreateDirectiveMemoryRequest, - getDirectiveMemoryConfig, - setDirectiveMemoryEnabled, listDirectiveMemories, - addDirectiveMemory, + createDirectiveMemory, deleteDirectiveMemory, - clearDirectiveMemories, } from "../lib/api"; export function useDirectiveMemories(directiveId: string | undefined) { - const [memories, setMemories] = useState<DirectiveMemoryEntry[]>([]); - const [config, setConfig] = useState<DirectiveMemoryConfig | null>(null); + const [memories, setMemories] = useState<DirectiveMemory[]>([]); const [loading, setLoading] = useState(false); const [error, setError] = useState<string | null>(null); - const refreshConfig = useCallback(async () => { - if (!directiveId) return; - try { - const c = await getDirectiveMemoryConfig(directiveId); - setConfig(c); - } catch (e) { - // Config may not exist yet — treat as disabled - setConfig({ directiveId, enabled: false, updatedAt: new Date().toISOString() }); - } - }, [directiveId]); - const refreshMemories = useCallback(async () => { if (!directiveId) return; try { setLoading(true); setError(null); - const entries = await listDirectiveMemories(directiveId); - setMemories(entries); + const response = await listDirectiveMemories(directiveId); + setMemories(response.memories); } catch (e) { setError(e instanceof Error ? e.message : "Failed to load memories"); } finally { @@ -43,30 +27,15 @@ export function useDirectiveMemories(directiveId: string | undefined) { } }, [directiveId]); - const refresh = useCallback(async () => { - await Promise.all([refreshConfig(), refreshMemories()]); - }, [refreshConfig, refreshMemories]); - useEffect(() => { - refresh(); - }, [refresh]); - - const toggleEnabled = useCallback(async (enabled: boolean) => { - if (!directiveId) return; - try { - setError(null); - const c = await setDirectiveMemoryEnabled(directiveId, enabled); - setConfig(c); - } catch (e) { - setError(e instanceof Error ? e.message : "Failed to toggle memory"); - } - }, [directiveId]); + refreshMemories(); + }, [refreshMemories]); const add = useCallback(async (req: CreateDirectiveMemoryRequest) => { if (!directiveId) return; try { setError(null); - await addDirectiveMemory(directiveId, req); + await createDirectiveMemory(directiveId, req); await refreshMemories(); } catch (e) { setError(e instanceof Error ? e.message : "Failed to add memory"); @@ -88,30 +57,28 @@ export function useDirectiveMemories(directiveId: string | undefined) { if (!directiveId) return; try { setError(null); - await clearDirectiveMemories(directiveId); + await Promise.all(memories.map((m) => deleteDirectiveMemory(directiveId, m.id))); setMemories([]); } catch (e) { setError(e instanceof Error ? e.message : "Failed to clear memories"); } - }, [directiveId]); + }, [directiveId, memories]); /** Group entries by category */ - const grouped = memories.reduce<Record<MemoryCategory, DirectiveMemoryEntry[]>>( + const grouped = memories.reduce<Record<MemoryCategory, DirectiveMemory[]>>( (acc, entry) => { acc[entry.category].push(entry); return acc; }, - { decision: [], context: [], preference: [], learning: [], other: [] }, + { decision: [], context: [], preference: [], learning: [], issue: [], progress: [], other: [] }, ); return { memories, grouped, - config, loading, error, - refresh, - toggleEnabled, + refresh: refreshMemories, add, remove, clearAll, |
