From 47cd9c3c2778ee2377fa7c8b3f4a14d9c1c0d939 Mon Sep 17 00:00:00 2001 From: matdev83 <211248003+matdev83@users.noreply.github.com> Date: Mon, 13 Oct 2025 00:43:58 +0200 Subject: [PATCH] Avoid redundant canonical request cloning --- src/core/services/translation_service.py | 5 ++++- tests/unit/core/services/test_translation_service.py | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/core/services/translation_service.py b/src/core/services/translation_service.py index 0fce6c9b..93c4a102 100644 --- a/src/core/services/translation_service.py +++ b/src/core/services/translation_service.py @@ -130,7 +130,10 @@ def to_domain_request( ChatRequest as _ChatRequest, ) - if isinstance(request, _Canonical | _ChatRequest): + if isinstance(request, _Canonical): + return request + + if isinstance(request, _ChatRequest): return _Canonical.model_validate(request.model_dump()) if source_format == "responses": diff --git a/tests/unit/core/services/test_translation_service.py b/tests/unit/core/services/test_translation_service.py index 53d7fea5..8e6a209c 100644 --- a/tests/unit/core/services/test_translation_service.py +++ b/tests/unit/core/services/test_translation_service.py @@ -12,6 +12,18 @@ def test_translation_service_initialization(): assert service is not None, "TranslationService should initialize without errors." +def test_to_domain_request_returns_same_instance_for_canonical_request(): + service = TranslationService() + canonical_request = CanonicalChatRequest( + model="test-model", + messages=[ChatMessage(role="user", content="ping")], + ) + + result = service.to_domain_request(canonical_request, "openai") + + assert result is canonical_request + + def test_to_domain_request_gemini(): service = TranslationService() gemini_request = {