From d1b4f56109d4900c76c27b6a35763694323046af Mon Sep 17 00:00:00 2001 From: soryu Date: Thu, 12 Feb 2026 23:37:44 +0000 Subject: feat: makima.jp: Remove memory system from frontend --- .../src/components/directives/DirectiveDetail.tsx | 261 +-------------------- makima/frontend/src/hooks/useDirectiveMemories.ts | 119 ---------- makima/frontend/src/lib/api.ts | 185 --------------- 3 files changed, 1 insertion(+), 564 deletions(-) delete mode 100644 makima/frontend/src/hooks/useDirectiveMemories.ts diff --git a/makima/frontend/src/components/directives/DirectiveDetail.tsx b/makima/frontend/src/components/directives/DirectiveDetail.tsx index ab6ddbb..39eaa3f 100644 --- a/makima/frontend/src/components/directives/DirectiveDetail.tsx +++ b/makima/frontend/src/components/directives/DirectiveDetail.tsx @@ -1,8 +1,7 @@ import { useState, useMemo, useEffect, useRef } from "react"; -import type { DirectiveWithSteps, DirectiveStatus, MemoryCategory } from "../../lib/api"; +import type { DirectiveWithSteps, DirectiveStatus } from "../../lib/api"; import { DirectiveDAG } from "./DirectiveDAG"; import { DirectiveLogStream } from "./DirectiveLogStream"; -import { useDirectiveMemories } from "../../hooks/useDirectiveMemories"; import { useMultiTaskSubscription } from "../../hooks/useMultiTaskSubscription"; const STATUS_BADGE: Record = { @@ -13,16 +12,6 @@ const STATUS_BADGE: Record = archived: { color: "text-[#556677] border-[#2a3a5a]", label: "ARCHIVED" }, }; -const CATEGORY_COLORS: Record = { - decision: { text: "text-amber-400", border: "border-amber-800", bg: "bg-amber-900/20", label: "Decision" }, - context: { text: "text-cyan-400", border: "border-cyan-800", bg: "bg-cyan-900/20", label: "Context" }, - preference: { text: "text-violet-400", border: "border-violet-800", bg: "bg-violet-900/20", label: "Preference" }, - learning: { text: "text-emerald-400", border: "border-emerald-800", bg: "bg-emerald-900/20", label: "Learning" }, - other: { text: "text-[#7788aa]", border: "border-[#2a3a5a]", bg: "bg-[#1a2540]", label: "Other" }, -}; - -const ALL_CATEGORIES: MemoryCategory[] = ["decision", "context", "preference", "learning", "other"]; - interface DirectiveDetailProps { directive: DirectiveWithSteps; onStart: () => void; @@ -60,29 +49,6 @@ export function DirectiveDetail({ const totalSteps = directive.steps.length; const progress = totalSteps > 0 ? Math.round((completedSteps / totalSteps) * 100) : 0; - // Memory panel state - const [memoryOpen, setMemoryOpen] = useState(false); - const [addingMemory, setAddingMemory] = useState(false); - const [newCategory, setNewCategory] = useState("context"); - const [newContent, setNewContent] = useState(""); - const [newSource, setNewSource] = useState(""); - const [confirmClear, setConfirmClear] = useState(false); - - const { - grouped, - config: memoryConfig, - loading: memoryLoading, - error: memoryError, - toggleEnabled, - add: addMemory, - remove: removeMemory, - clearAll: clearMemories, - refresh: refreshMemories, - } = useDirectiveMemories(directive.id); - - const memoryEnabled = memoryConfig?.enabled ?? false; - const totalMemories = Object.values(grouped).reduce((sum, arr) => sum + arr.length, 0); - // Build task map from directive steps and orchestrator const taskMap = useMemo(() => { const map = new Map(); @@ -121,23 +87,6 @@ export function DirectiveDetail({ setEditingGoal(false); }; - const handleAddMemory = async () => { - if (!newContent.trim()) return; - await addMemory({ - category: newCategory, - content: newContent.trim(), - source: newSource.trim() || undefined, - }); - setNewContent(""); - setNewSource(""); - setAddingMemory(false); - }; - - const handleClearAll = async () => { - await clearMemories(); - setConfirmClear(false); - }; - return (
{/* Header */} @@ -337,214 +286,6 @@ export function DirectiveDetail({ )}
- {/* Memory Panel */} -
- {/* Memory header — always visible */} -
- -
- {/* Enable/disable toggle */} - -
-
- - {/* Collapsible content */} - {memoryOpen && ( -
- {memoryError && ( -
- {memoryError} -
- )} - - {memoryLoading ? ( -
Loading...
- ) : totalMemories === 0 ? ( -
- No memory entries yet. - {!memoryEnabled && " Enable memory to start capturing entries."} -
- ) : ( - /* Grouped entries */ -
- {ALL_CATEGORIES.map((cat) => { - const entries = grouped[cat]; - if (entries.length === 0) return null; - const style = CATEGORY_COLORS[cat]; - return ( -
-
- - {style.label} - - - ({entries.length}) - -
-
- {entries.map((entry) => ( -
-
-

- {entry.content} -

- {entry.source && ( - - src: {entry.source} - - )} -
- -
- ))} -
-
- ); - })} -
- )} - - {/* Action bar: Add + Clear */} -
- - {totalMemories > 0 && ( - <> - {confirmClear ? ( -
- Clear all? - - -
- ) : ( - - )} - - )} - -
- - {/* Add form */} - {addingMemory && ( -
-
- - -
-