Source code for klea_utils.graph.reducers

#!/usr/bin/env python3
"""
Reducers shared by LangGraph orchestrators.

File: klea_utils/graph/reducers.py

Copyright 2026 Ankur Sinha
Author: Ankur Sinha <sanjay DOT ankur AT gmail DOT com>
"""

from klea_utils.graph.schemas import TokenUsage


[docs] def add_token_usage( left: TokenUsage | dict[str, int], right: TokenUsage | dict[str, int] ) -> TokenUsage: """Add token usage updates from sequential or concurrent graph nodes.""" left = TokenUsage.model_validate(left) right = TokenUsage.model_validate(right) return TokenUsage( input_tokens=left.input_tokens + right.input_tokens, output_tokens=left.output_tokens + right.output_tokens, total_tokens=left.total_tokens + right.total_tokens, )