-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
User request
Memory page has a memory node selector that currently displays node IDs. Change it to display node titles.
Specification (research)
Current behavior / locations
- Memory node selector labels are built in
packages/platform-ui/src/pages/AgentsMemoryManager.tsxand shown in dropdown inpackages/platform-ui/src/components/screens/memoryManager/MemoryManager.tsx. - Labels are currently based on
nodeId(e.g.,"{nodeId} (global)","{nodeId} (thread: ...)").
Where titles come from
- Memory API items include
nodeId,scope, and optionalthreadId, but do not includetitle. - Node titles can be derived from the Graph + Templates APIs:
/api/graph(persisted graph)/api/graph/templates(template metadata)- Existing mapper
packages/platform-ui/src/features/graph/mappers/index.ts(mapPersistedGraphToNodes) derivesnode.titlefrom config/template.
Implementation approach
- Add a shared client hook (suggested):
useNodeTitleMap()that fetches graph + templates (via existing graph api module) and returns aMap<nodeId, title>. - Update UI to use title (fallback to nodeId if not resolvable):
packages/platform-ui/src/pages/AgentsMemoryManager.tsx- Update option label builder to use
titleMap.get(nodeId) ?? nodeId.
- Update option label builder to use
- (Optional but recommended for consistency)
packages/platform-ui/src/pages/MemoryNodesListPage.tsxandpackages/platform-ui/src/pages/MemoryNodeDetailPage.tsx- Replace prominent
nodeIddisplay with title, with fallback.
- Replace prominent
Acceptance criteria
- Memory node selector shows node titles (derived from graph/templates) instead of raw node IDs.
- If a title cannot be resolved (loading/error/stale node), UI falls back to showing the node ID.
- Existing selection behavior remains unchanged (still keyed by nodeId).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels