From ffe57f7961858243a5ba62b2f4bd583cd778d29f Mon Sep 17 00:00:00 2001 From: Nourhan Shata Date: Wed, 9 Sep 2026 15:59:26 +0200 Subject: [PATCH] fixing the bug --- .../sdk/orchestration/ConfigToRequestTransformer.java | 4 ++++ .../orchestration/ConfigToRequestTransformerTest.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java b/orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java index 4806489ce..193fddedc 100644 --- a/orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java +++ b/orchestration/src/main/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformer.java @@ -82,6 +82,10 @@ static PromptTemplatingModuleConfigPrompt toTemplateModuleConfig( * To be fixed with https://github.tools.sap/AI/llm-orchestration/issues/662 */ if (config instanceof TemplateRef) { + if (!prompt.getMessages().isEmpty()) { + throw new IllegalArgumentException( + "Prompt must not contain messages when using a template reference"); + } return config; } diff --git a/orchestration/src/test/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformerTest.java b/orchestration/src/test/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformerTest.java index e01415733..697640570 100644 --- a/orchestration/src/test/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformerTest.java +++ b/orchestration/src/test/java/com/sap/ai/sdk/orchestration/ConfigToRequestTransformerTest.java @@ -29,6 +29,17 @@ void testThrowsOnMissingMessages() { .hasMessageContaining("A prompt is required"); } + @Test + void testThrowsOnTemplateRefWithMessages() { + var prompt = new OrchestrationPrompt("Foo bar"); + var templateRef = + TemplateConfig.reference().byId("21cb1358-0bf1-4f43-870b-00f14d0f9f16").toLowLevel(); + + assertThatThrownBy(() -> ConfigToRequestTransformer.toTemplateModuleConfig(prompt, templateRef)) + .isInstanceOf(IllegalArgumentException.class) + .hasMessageContaining("Prompt must not contain messages when using a template reference"); + } + @Test void testEmptyTemplateConfig() { var systemMessage = new SystemMessage("foo");