graphiti/tests
Daniel Chalef f59845e2a8 feat: Add optional callback to control node summary generation
Add NodeSummaryFilter callback parameter to extract_attributes_from_nodes
and extract_attributes_from_node functions, allowing consumers to
selectively skip summary regeneration for specific nodes.

This enables downstream applications to implement custom logic for
throttling or filtering which nodes should have summaries regenerated,
reducing unnecessary LLM calls and token costs.

Key changes:
- Add NodeSummaryFilter type alias: Callable[[EntityNode], Awaitable[bool]]
- Update extract_attributes_from_nodes with optional should_summarize_node parameter
- Update extract_attributes_from_node with conditional summary generation logic
- Add 5 comprehensive test cases covering callback functionality
- Maintain full backwards compatibility (default None = all summaries generated)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-01 13:22:20 -07:00
..
cross_encoder Gemini client improvements; Gemini reranker (#645) 2025-06-30 12:55:17 -07:00
driver chore/prepare kuzu integration (#762) 2025-07-29 09:07:34 -04:00
embedder save edge update (#721) 2025-07-14 11:15:38 -04:00
evals add_episode() refactor (#421) 2025-04-30 12:08:52 -04:00
llm_client save edge update (#721) 2025-07-14 11:15:38 -04:00
utils feat: Add optional callback to control node summary generation 2025-10-01 13:22:20 -07:00
helpers_test.py Add support for Kuzu as the graph driver (#799) 2025-08-27 11:45:21 -04:00
test_edge_int.py Improve node deduplication w/ deterministic matching, LLM fallbacks (#929) 2025-09-25 07:13:19 -07:00
test_entity_exclusion_int.py Add support for Kuzu as the graph driver (#799) 2025-08-27 11:45:21 -04:00
test_graphiti_int.py Add support for Kuzu as the graph driver (#799) 2025-08-27 11:45:21 -04:00
test_graphiti_mock.py don't return index labels (#887) 2025-09-02 12:02:33 -04:00
test_node_int.py Improve node deduplication w/ deterministic matching, LLM fallbacks (#929) 2025-09-25 07:13:19 -07:00