From 8ff6de91b0ae1cecd3147762452080cb40c5e93b Mon Sep 17 00:00:00 2001 From: -LAN- Date: Thu, 23 Oct 2025 23:18:20 +0800 Subject: [PATCH] Fix UpdatedVariable truncation crash (#27359) Signed-off-by: -LAN- --- api/services/variable_truncator.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/services/variable_truncator.py b/api/services/variable_truncator.py index 4e13d2d964..6f8adb7536 100644 --- a/api/services/variable_truncator.py +++ b/api/services/variable_truncator.py @@ -283,7 +283,7 @@ class VariableTruncator: break remaining_budget = target_size - used_size - if item is None or isinstance(item, (str, list, dict, bool, int, float)): + if item is None or isinstance(item, (str, list, dict, bool, int, float, UpdatedVariable)): part_result = self._truncate_json_primitives(item, remaining_budget) else: raise UnknownTypeError(f"got unknown type {type(item)} in array truncation") @@ -373,6 +373,11 @@ class VariableTruncator: return _PartResult(truncated_obj, used_size, truncated) + @overload + def _truncate_json_primitives( + self, val: UpdatedVariable, target_size: int + ) -> _PartResult[Mapping[str, object]]: ... + @overload def _truncate_json_primitives(self, val: str, target_size: int) -> _PartResult[str]: ...