diff --git a/packages/agent-graph/src/ports/GraphConfigPort.ts b/packages/agent-graph/src/ports/GraphConfigPort.ts index 8b5ae57b..c86ba950 100644 --- a/packages/agent-graph/src/ports/GraphConfigPort.ts +++ b/packages/agent-graph/src/ports/GraphConfigPort.ts @@ -33,6 +33,7 @@ export interface GraphConfigPort { // ─── Filters (show/hide node kinds) ──────────────────────────────────── showActivity?: boolean; + showLogs?: boolean; showTasks?: boolean; showProcesses?: boolean; showCompletedTasks?: boolean; diff --git a/packages/agent-graph/src/ui/GraphControls.tsx b/packages/agent-graph/src/ui/GraphControls.tsx index dbf36ccf..c06384dc 100644 --- a/packages/agent-graph/src/ui/GraphControls.tsx +++ b/packages/agent-graph/src/ui/GraphControls.tsx @@ -9,6 +9,7 @@ import { Activity, Columns3, Expand, + FileText, Settings2, Eye, EyeOff, @@ -29,6 +30,7 @@ import type { GraphLayoutMode } from '../ports/types'; export interface GraphFilterState { showActivity: boolean; + showLogs: boolean; showTasks: boolean; showProcesses: boolean; showEdges: boolean; @@ -269,6 +271,13 @@ export function GraphControls({ label="Activity" block /> + toggle('showLogs')} + icon={} + label="Logs" + block + /> toggle('showTasks')} diff --git a/packages/agent-graph/src/ui/GraphView.tsx b/packages/agent-graph/src/ui/GraphView.tsx index 5486d139..b9e2520c 100644 --- a/packages/agent-graph/src/ui/GraphView.tsx +++ b/packages/agent-graph/src/ui/GraphView.tsx @@ -124,6 +124,7 @@ export function GraphView({ const [interactionLocked, setInteractionLocked] = useState(false); const [filters, setFilters] = useState({ showActivity: config?.showActivity ?? true, + showLogs: config?.showLogs ?? config?.showActivity ?? true, showTasks: config?.showTasks ?? true, showProcesses: config?.showProcesses ?? true, showEdges: true, @@ -138,10 +139,10 @@ export function GraphView({ ? { ...data.layout, showActivity: filters.showActivity, - showLogs: filters.showActivity, + showLogs: filters.showLogs, } : data.layout, - [data.layout, filters.showActivity] + [data.layout, filters.showActivity, filters.showLogs] ); // Ref mirror of selectedNodeId — read by RAF loop to avoid recreating animate on selection change diff --git a/src/features/agent-graph/renderer/ui/GraphMemberLogPreviewHud.tsx b/src/features/agent-graph/renderer/ui/GraphMemberLogPreviewHud.tsx index 9f4e07fe..8171a72f 100644 --- a/src/features/agent-graph/renderer/ui/GraphMemberLogPreviewHud.tsx +++ b/src/features/agent-graph/renderer/ui/GraphMemberLogPreviewHud.tsx @@ -416,7 +416,7 @@ export const GraphMemberLogPreviewHud = ({ key={item.id} type="button" className={[ - 'block h-14 min-h-14 w-full min-w-0 overflow-hidden rounded-md border px-2.5 py-1.5 text-left text-slate-400 transition-[border-color,background-color,box-shadow] duration-500 hover:border-white/20 hover:bg-[rgba(12,20,40,0.78)]', + 'block h-16 min-h-16 w-full min-w-0 overflow-hidden rounded-md border px-2.5 py-1.5 text-left text-slate-400 transition-[border-color,background-color,box-shadow] duration-500 hover:border-white/20 hover:bg-[rgba(12,20,40,0.78)]', isHighlighted ? 'border-sky-300/70 bg-[rgba(14,34,62,0.74)] shadow-[0_0_0_1px_rgba(125,211,252,0.30),0_0_18px_rgba(56,189,248,0.22)]' : 'border-white/10 bg-[rgba(8,14,28,0.52)]', @@ -430,15 +430,15 @@ export const GraphMemberLogPreviewHud = ({ > {itemIcon(item)} - + {displayTitle} {relativeTime ? ( - + {relativeTime} ) : null} - + {previewText} @@ -494,7 +494,7 @@ export const GraphMemberLogPreviewHud = ({ ) : (