From ec0757997c288461b22fc9a7040742c66d605c1c Mon Sep 17 00:00:00 2001 From: Aakash Wijesekara Date: Wed, 15 Jul 2026 11:26:25 +0530 Subject: [PATCH 1/2] fix: rename injected transformer provider parameter --- gateway/examples/openai-multi-provider-proxy.yaml | 6 +++--- gateway/gateway-controller/pkg/utils/llm_transformer.go | 8 ++++---- .../pkg/utils/llm_transformer_multiprovider_test.go | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gateway/examples/openai-multi-provider-proxy.yaml b/gateway/examples/openai-multi-provider-proxy.yaml index e88f18901..2d24fc6b5 100644 --- a/gateway/examples/openai-multi-provider-proxy.yaml +++ b/gateway/examples/openai-multi-provider-proxy.yaml @@ -20,9 +20,9 @@ # # * Multi-provider mode — put openai-header-router first. It writes # the chosen provider into metadata["selected_provider"]. Each -# translator then runs only when that selection equals its own "id". -# The "id" doubles as the upstream cluster name, so it must match an -# entry in additionalProviders (id or as). +# translator then runs only when that selection equals its own +# "provider-id". The "provider-id" doubles as the upstream cluster +# name, so it must match an entry in additionalProviders (id or as). # # -------------------------------------------------------------------- diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer.go b/gateway/gateway-controller/pkg/utils/llm_transformer.go index 131d1d39d..4432b0bb9 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer.go @@ -798,9 +798,9 @@ func (t *LLMProviderTransformer) proxyUpstreamAuthPolicy(auth *api.LLMUpstreamAu } // proxyTransformerPolicy builds a translator policy for an additional provider's -// inline transformer. The provider's upstream name is passed to the translator as -// its "id" param so it targets the correct upstream, and gates execution so the -// translator runs only when this provider is the selected upstream. +// inline transformer. The provider's upstream name is passed to the translator +// as its "provider-id" param so it targets the correct upstream, and gates +// execution so the translator runs only when this provider is selected. func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProxyTransformer, name, field string) (*api.Policy, error) { if transformer == nil { return nil, nil @@ -818,7 +818,7 @@ func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProx params[k] = v } } - params["id"] = name + params["provider-id"] = name condition := selectedProviderExecutionCondition(name, false) return &api.Policy{ diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go index 9d558dfaf..1c8bc277a 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go @@ -238,7 +238,7 @@ func TestLLMProviderTransformer_TransformProxy_AdditionalProviderTransformerIsCo require.NotNil(t, transformerPolicy.ExecutionCondition) assert.Contains(t, *transformerPolicy.ExecutionCondition, "anthropic-provider") require.NotNil(t, transformerPolicy.Params) - assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["id"]) + assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["provider-id"]) assert.Equal(t, "claude-sonnet-4-5-20250929", (*transformerPolicy.Params)["model"]) } From 290a1a61dd4ad4f7d44652ce7907c144bc255c17 Mon Sep 17 00:00:00 2001 From: Aakash Wijesekara Date: Wed, 15 Jul 2026 13:24:48 +0530 Subject: [PATCH 2/2] Use providerId for injected transformer parameter --- gateway/examples/openai-multi-provider-proxy.yaml | 2 +- gateway/gateway-controller/pkg/utils/llm_transformer.go | 4 ++-- .../pkg/utils/llm_transformer_multiprovider_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gateway/examples/openai-multi-provider-proxy.yaml b/gateway/examples/openai-multi-provider-proxy.yaml index 2d24fc6b5..113c3594b 100644 --- a/gateway/examples/openai-multi-provider-proxy.yaml +++ b/gateway/examples/openai-multi-provider-proxy.yaml @@ -21,7 +21,7 @@ # * Multi-provider mode — put openai-header-router first. It writes # the chosen provider into metadata["selected_provider"]. Each # translator then runs only when that selection equals its own -# "provider-id". The "provider-id" doubles as the upstream cluster +# "providerId". The "providerId" doubles as the upstream cluster # name, so it must match an entry in additionalProviders (id or as). # # -------------------------------------------------------------------- diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer.go b/gateway/gateway-controller/pkg/utils/llm_transformer.go index 4432b0bb9..ae55b557b 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer.go @@ -799,7 +799,7 @@ func (t *LLMProviderTransformer) proxyUpstreamAuthPolicy(auth *api.LLMUpstreamAu // proxyTransformerPolicy builds a translator policy for an additional provider's // inline transformer. The provider's upstream name is passed to the translator -// as its "provider-id" param so it targets the correct upstream, and gates +// as its "providerId" param so it targets the correct upstream, and gates // execution so the translator runs only when this provider is selected. func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProxyTransformer, name, field string) (*api.Policy, error) { if transformer == nil { @@ -818,7 +818,7 @@ func (t *LLMProviderTransformer) proxyTransformerPolicy(transformer *api.LLMProx params[k] = v } } - params["provider-id"] = name + params["providerId"] = name condition := selectedProviderExecutionCondition(name, false) return &api.Policy{ diff --git a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go index 1c8bc277a..1cbad8db5 100644 --- a/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go +++ b/gateway/gateway-controller/pkg/utils/llm_transformer_multiprovider_test.go @@ -238,7 +238,7 @@ func TestLLMProviderTransformer_TransformProxy_AdditionalProviderTransformerIsCo require.NotNil(t, transformerPolicy.ExecutionCondition) assert.Contains(t, *transformerPolicy.ExecutionCondition, "anthropic-provider") require.NotNil(t, transformerPolicy.Params) - assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["provider-id"]) + assert.Equal(t, "anthropic-provider", (*transformerPolicy.Params)["providerId"]) assert.Equal(t, "claude-sonnet-4-5-20250929", (*transformerPolicy.Params)["model"]) }