diff options
| author | soryu <soryu@soryu.co> | 2026-02-13 19:19:39 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-13 19:19:39 +0000 |
| commit | a6677bafe52d9988c9948df34c1635e4411c9591 (patch) | |
| tree | a3d05924fe6ff1a06c1abdfe1fa165e0d0546406 /makima/frontend/src/hooks | |
| parent | 5edaf1228b4e48a441b98c49f58de312b7924ed6 (diff) | |
| download | soryu-a6677bafe52d9988c9948df34c1635e4411c9591.tar.gz soryu-a6677bafe52d9988c9948df34c1635e4411c9591.zip | |
Fix worktree branching for directive tasks and remove memories
Diffstat (limited to 'makima/frontend/src/hooks')
| -rw-r--r-- | makima/frontend/src/hooks/useDirectiveMemories.ts | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/makima/frontend/src/hooks/useDirectiveMemories.ts b/makima/frontend/src/hooks/useDirectiveMemories.ts deleted file mode 100644 index b2a87d0..0000000 --- a/makima/frontend/src/hooks/useDirectiveMemories.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { useState, useEffect, useCallback } from "react"; -import { - type DirectiveMemory, - type MemoryCategory, - type CreateDirectiveMemoryRequest, - listDirectiveMemories, - createDirectiveMemory, - deleteDirectiveMemory, -} from "../lib/api"; - -export function useDirectiveMemories(directiveId: string | undefined) { - const [memories, setMemories] = useState<DirectiveMemory[]>([]); - const [loading, setLoading] = useState(false); - const [error, setError] = useState<string | null>(null); - - const refreshMemories = useCallback(async () => { - if (!directiveId) return; - try { - setLoading(true); - setError(null); - const response = await listDirectiveMemories(directiveId); - setMemories(response.memories); - } catch (e) { - setError(e instanceof Error ? e.message : "Failed to load memories"); - } finally { - setLoading(false); - } - }, [directiveId]); - - useEffect(() => { - refreshMemories(); - }, [refreshMemories]); - - const add = useCallback(async (req: CreateDirectiveMemoryRequest) => { - if (!directiveId) return; - try { - setError(null); - await createDirectiveMemory(directiveId, req); - await refreshMemories(); - } catch (e) { - setError(e instanceof Error ? e.message : "Failed to add memory"); - } - }, [directiveId, refreshMemories]); - - const remove = useCallback(async (memoryId: string) => { - if (!directiveId) return; - try { - setError(null); - await deleteDirectiveMemory(directiveId, memoryId); - await refreshMemories(); - } catch (e) { - setError(e instanceof Error ? e.message : "Failed to delete memory"); - } - }, [directiveId, refreshMemories]); - - const clearAll = useCallback(async () => { - if (!directiveId) return; - try { - setError(null); - await Promise.all(memories.map((m) => deleteDirectiveMemory(directiveId, m.id))); - setMemories([]); - } catch (e) { - setError(e instanceof Error ? e.message : "Failed to clear memories"); - } - }, [directiveId, memories]); - - /** Group entries by category */ - const grouped = memories.reduce<Record<MemoryCategory, DirectiveMemory[]>>( - (acc, entry) => { - acc[entry.category].push(entry); - return acc; - }, - { decision: [], context: [], preference: [], learning: [], issue: [], progress: [], other: [] }, - ); - - return { - memories, - grouped, - loading, - error, - refresh: refreshMemories, - add, - remove, - clearAll, - }; -} |
