From d4a19cf53eba5994667e9c3c160fecd8e4115bc6 Mon Sep 17 00:00:00 2001 From: Alix-007 <267018309+Alix-007@users.noreply.github.com> Date: Sun, 29 Mar 2026 14:55:34 +0800 Subject: [PATCH] fix(agent): keep light routing cooldown coverage after rebase --- pkg/agent/instance.go | 4 ++++ pkg/agent/instance_test.go | 2 ++ pkg/agent/loop_test.go | 16 +++------------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/pkg/agent/instance.go b/pkg/agent/instance.go index da4914212..0acd7f31e 100644 --- a/pkg/agent/instance.go +++ b/pkg/agent/instance.go @@ -185,6 +185,10 @@ func NewAgentInstance( logger.WarnCF("agent", "Routing light model config invalid; routing disabled", map[string]any{"light_model": rc.LightModel, "agent_id": agentID, "error": err.Error()}) } else { + // Reuse the resolved candidate's canonical provider/model form so + // routing init stays aligned with model-list resolution behavior. + lightModelCfg.Model = providers.ModelKey(resolved[0].Provider, resolved[0].Model) + lp, _, err := providers.CreateProviderFromConfig(lightModelCfg) if err != nil { logger.WarnCF("agent", "Routing light model provider init failed; routing disabled", diff --git a/pkg/agent/instance_test.go b/pkg/agent/instance_test.go index b23ff40b0..fe29c1ea0 100644 --- a/pkg/agent/instance_test.go +++ b/pkg/agent/instance_test.go @@ -235,6 +235,8 @@ func TestNewAgentInstance_ResolveLightModelPerModelCooldownKeys(t *testing.T) { ModelName: "light-model", Model: " LiteLLM/OpenAI/GPT-4O ", CooldownStrategy: "per_model", + APIBase: "https://litellm.example.invalid/v1", + APIKeys: config.SimpleSecureStrings("test-key"), }, }, } diff --git a/pkg/agent/loop_test.go b/pkg/agent/loop_test.go index b7be4b3ed..6815f19d0 100644 --- a/pkg/agent/loop_test.go +++ b/pkg/agent/loop_test.go @@ -1579,33 +1579,23 @@ func TestProcessMessage_SwitchModelPreservesPerModelCooldownKeys(t *testing.T) { ModelName: "local", Model: "openai/local-model", APIBase: "https://local.example.invalid/v1", + APIKeys: config.SimpleSecureStrings("test-key"), }, { ModelName: "router-a", Model: "litellm/openai/gpt-4o-mini", APIBase: "https://litellm.example.invalid/v1", CooldownStrategy: "per-model", + APIKeys: config.SimpleSecureStrings("test-key"), }, { ModelName: "shared-provider", Model: "litellm/openai/gpt-4.1", APIBase: "https://litellm.example.invalid/v1", + APIKeys: config.SimpleSecureStrings("test-key"), }, }, } - cfg.WithSecurity(&config.SecurityConfig{ - ModelList: map[string]config.ModelSecurityEntry{ - "local": { - APIKeys: []string{"test-key"}, - }, - "router-a": { - APIKeys: []string{"test-key"}, - }, - "shared-provider": { - APIKeys: []string{"test-key"}, - }, - }, - }) msgBus := bus.NewMessageBus() provider := &countingMockProvider{response: "LLM reply"}