From 4f0743f4bc25c0fa6c219c4469bb17717908cf0b Mon Sep 17 00:00:00 2001 From: Daniel Chalef <131175+danielchalef@users.noreply.github.com> Date: Thu, 2 Oct 2025 16:32:08 -0700 Subject: [PATCH] fix: Improve edge extraction validation checks - Add explicit check for empty nodes list - Use more explicit 0 <= idx comparison instead of -1 < idx - Prevents nonsensical error message when no entities provided --- graphiti_core/utils/maintenance/edge_operations.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/graphiti_core/utils/maintenance/edge_operations.py b/graphiti_core/utils/maintenance/edge_operations.py index d85af7a9..cd97bea8 100644 --- a/graphiti_core/utils/maintenance/edge_operations.py +++ b/graphiti_core/utils/maintenance/edge_operations.py @@ -179,7 +179,12 @@ async def extract_edges( source_node_idx = edge_data.source_entity_id target_node_idx = edge_data.target_entity_id - if not (-1 < source_node_idx < len(nodes) and -1 < target_node_idx < len(nodes)): + + if len(nodes) == 0: + logger.warning('No entities provided for edge extraction') + continue + + if not (0 <= source_node_idx < len(nodes) and 0 <= target_node_idx < len(nodes)): logger.warning( f'Invalid entity IDs in edge extraction for {edge_data.relation_type}. ' f'source_entity_id: {source_node_idx}, target_entity_id: {target_node_idx}, '