From bb3ab0271e34e76db5461b16b7823f823eaf63e9 Mon Sep 17 00:00:00 2001 From: nexxeln <95541290+nexxeln@users.noreply.github.com> Date: Tue, 2 Dec 2025 18:35:15 +0000 Subject: [PATCH] add support for merges relation in the graph (#590) new relation called "merges" we use orange dashed line to represent it works just like how extends, updates, etc are displayed --- packages/memory-graph/src/components/graph-canvas.tsx | 3 ++- packages/memory-graph/src/components/legend.tsx | 6 +++++- packages/memory-graph/src/constants.ts | 1 + packages/memory-graph/src/types.ts | 2 +- packages/validation/schemas.ts | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/memory-graph/src/components/graph-canvas.tsx b/packages/memory-graph/src/components/graph-canvas.tsx index 59efa74d..ae233a19 100644 --- a/packages/memory-graph/src/components/graph-canvas.tsx +++ b/packages/memory-graph/src/components/graph-canvas.tsx @@ -241,7 +241,8 @@ export const GraphCanvas = memo( connectionColor = colors.connection.medium; } else if (edge.edgeType === "version") { // Version chains: Double line effect with relation-specific colors - dashPattern = []; + // Special dashed pattern for "merges" relation + dashPattern = edge.relationType === "merges" ? [8, 4] : []; connectionColor = edge.color || colors.relations.updates; opacity = 0.8; lineWidth = 2; diff --git a/packages/memory-graph/src/components/legend.tsx b/packages/memory-graph/src/components/legend.tsx index 16f588a9..b36c8ffe 100644 --- a/packages/memory-graph/src/components/legend.tsx +++ b/packages/memory-graph/src/components/legend.tsx @@ -229,11 +229,15 @@ export const Legend = memo(function Legend({ ["updates", colors.relations.updates], ["extends", colors.relations.extends], ["derives", colors.relations.derives], + ["merges", colors.relations.merges], ].map(([label, color]) => (
-export const MemoryRelationEnum = z.enum(["updates", "extends", "derives"]) +export const MemoryRelationEnum = z.enum(["updates", "extends", "derives", "merges"]) export type MemoryRelation = z.infer export const MemoryEntrySchema = z.object({