feat(agent-memory): UI fuer Agent-Memories mit semantischer Suche — Modul 8/16
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
Drittes Modul via Phase-Q-Manifest-Architektur: Registrierung komplett ueber das agent_memory-Plugin-Manifest (page_route /agent-memory + menu_item, Brain-Icon) — routes/index.tsx unangetastet. Komponenten-Map mit 40 Eintraegen. Zusaetzlicher Fix: Sidebar-ICON_MAP um Brain, Store, Tags erweitert — Marketplace (Store) und Tags zeigten bisher Fallback-Icons, weil die Manifest-Icons nicht in der kuratierten Map standen. Backend existierte vollstaendig (create mit Embedding, list mit agent_id-Pflichtfilter + Typ + Pagination, semantische Suche via pgvector, update mit Embedding-Regeneration, delete; agent_memory:read/write), Frontend hatte 0% Abdeckung. - api/agentMemory.ts: TanStack-Hooks (useAgentMemories mit enabled-Gating, useAgentMemorySearch, create/update/delete) - pages/AgentMemory.tsx: Agent-Picker (Pflichtfeld — Backend filtert zwingend nach agent_id), Pick-Agent-Prompt, semantische Suche mit Relevanz-Score-Badges und Clear, Memory-Karten mit Typ-Badges (fact/context/pattern/instruction), Create/Edit-Dialog, Delete mit Confirm — Aktionen hinter agent_memory:write - i18n agentMemory.* + nav.agentMemory de/en Verifikation: Vitest 11/11 (Agent-Picker-Pflicht, Pick-Prompt, Badges, Suche mit Score + Clear, Create/Edit prefilled, Delete mit+ohne Confirm, Gating, Empty/Error) · tsc exit 0 · production build exit 0 · Backend-Regressionen (route-order, m5-miniapps) 10/10 · compileall sauber · Manifest-Check OK.
This commit is contained in:
@@ -25,7 +25,8 @@
|
||||
"approvals": "Freigaben",
|
||||
"delegations": "Delegationen",
|
||||
"marketplace": "Marketplace",
|
||||
"skills": "Skills"
|
||||
"skills": "Skills",
|
||||
"agentMemory": "Agent Memory"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Anmelden",
|
||||
@@ -1788,5 +1789,36 @@
|
||||
"deleteConfirm": "Skill '{{name}}' wirklich loeschen?",
|
||||
"empty": "Keine Skills vorhanden.",
|
||||
"loadError": "Skills konnten nicht geladen werden."
|
||||
},
|
||||
"agentMemory": {
|
||||
"title": "Agent Memory",
|
||||
"agentLabel": "Agent",
|
||||
"agentPlaceholder": "Agent auswaehlen",
|
||||
"loadingAgents": "Lade Agenten...",
|
||||
"pickAgent": "Bitte einen Agenten auswaehlen, um dessen Memories zu sehen.",
|
||||
"create": "Memory erstellen",
|
||||
"createTitle": "Neues Memory",
|
||||
"createSubmit": "Erstellen",
|
||||
"editTitle": "Memory bearbeiten",
|
||||
"save": "Speichern",
|
||||
"memoryType": "Typ",
|
||||
"type_fact": "Fakt",
|
||||
"type_context": "Kontext",
|
||||
"type_pattern": "Muster",
|
||||
"type_instruction": "Anweisung",
|
||||
"content": "Inhalt",
|
||||
"contentPlaceholder": "Was soll der Agent sich merken?",
|
||||
"search": "Suchen",
|
||||
"searchPlaceholder": "Semantische Suche... (Enter)",
|
||||
"clearSearch": "Zuruecksetzen",
|
||||
"searchResults": "{{count}} Treffer (semantisch)",
|
||||
"noSearchResults": "Keine Treffer fuer diese Suche.",
|
||||
"score": "Relevanz: {{score}}%",
|
||||
"created": "Erstellt:",
|
||||
"edit": "Bearbeiten",
|
||||
"delete": "Loeschen",
|
||||
"deleteConfirm": "Dieses Memory wirklich loeschen?",
|
||||
"empty": "Keine Memories fuer diesen Agenten.",
|
||||
"loadError": "Memories konnten nicht geladen werden."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
"approvals": "Approvals",
|
||||
"delegations": "Delegations",
|
||||
"marketplace": "Marketplace",
|
||||
"skills": "Skills"
|
||||
"skills": "Skills",
|
||||
"agentMemory": "Agent Memory"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Sign In",
|
||||
@@ -1788,5 +1789,36 @@
|
||||
"deleteConfirm": "Really delete skill '{{name}}'?",
|
||||
"empty": "No skills yet.",
|
||||
"loadError": "Failed to load skills."
|
||||
},
|
||||
"agentMemory": {
|
||||
"title": "Agent Memory",
|
||||
"agentLabel": "Agent",
|
||||
"agentPlaceholder": "Select an agent",
|
||||
"loadingAgents": "Loading agents...",
|
||||
"pickAgent": "Pick an agent to see its memories.",
|
||||
"create": "Create memory",
|
||||
"createTitle": "New memory",
|
||||
"createSubmit": "Create",
|
||||
"editTitle": "Edit memory",
|
||||
"save": "Save",
|
||||
"memoryType": "Type",
|
||||
"type_fact": "Fact",
|
||||
"type_context": "Context",
|
||||
"type_pattern": "Pattern",
|
||||
"type_instruction": "Instruction",
|
||||
"content": "Content",
|
||||
"contentPlaceholder": "What should the agent remember?",
|
||||
"search": "Search",
|
||||
"searchPlaceholder": "Semantic search... (Enter)",
|
||||
"clearSearch": "Clear",
|
||||
"searchResults": "{{count}} matches (semantic)",
|
||||
"noSearchResults": "No matches for this search.",
|
||||
"score": "Relevance: {{score}}%",
|
||||
"created": "Created:",
|
||||
"edit": "Edit",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Really delete this memory?",
|
||||
"empty": "No memories for this agent.",
|
||||
"loadError": "Failed to load memories."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user