From c99cc59ddaeb29f0f30ec0693b9314e67b315e6c Mon Sep 17 00:00:00 2001 From: albertbausili Date: Fri, 16 Oct 2026 09:43:10 +0200 Subject: [PATCH] fix(guardrails): preserve the existing stream sink value types --- .../base_llm/guardrail_translation/base_translation.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/litellm/llms/base_llm/guardrail_translation/base_translation.py b/litellm/llms/base_llm/guardrail_translation/base_translation.py index 6280e636700..f3dd67a2bb9 100644 --- a/litellm/llms/base_llm/guardrail_translation/base_translation.py +++ b/litellm/llms/base_llm/guardrail_translation/base_translation.py @@ -31,12 +31,12 @@ class StreamTransformSink: single call, not shared state. """ - mutated_text_per_choice: Mapping[int, str] = field(default_factory=dict) - holdback_per_choice: Mapping[int, int] = field(default_factory=dict) + mutated_text_per_choice: dict[int, str] = field(default_factory=dict) + holdback_per_choice: dict[int, int] = field(default_factory=dict) def record(self, texts: Mapping[int, str], holdback: Mapping[int, int]) -> None: - self.mutated_text_per_choice = texts - self.holdback_per_choice = holdback + self.mutated_text_per_choice = dict(texts) + self.holdback_per_choice = dict(holdback) @dataclass(frozen=True, slots=True)