@@ -93,3 +93,77 @@ func TestNewAgentInstance_DefaultsTemperatureWhenUnset(t *testing.T) {
9393 t .Fatalf ("Temperature = %f, want %f" , agent .Temperature , 0.7 )
9494 }
9595}
96+
97+ func TestNewAgentInstance_ResolveCandidatesFromModelListAlias (t * testing.T ) {
98+ tmpDir , err := os .MkdirTemp ("" , "agent-instance-test-*" )
99+ if err != nil {
100+ t .Fatalf ("Failed to create temp dir: %v" , err )
101+ }
102+ defer os .RemoveAll (tmpDir )
103+
104+ cfg := & config.Config {
105+ Agents : config.AgentsConfig {
106+ Defaults : config.AgentDefaults {
107+ Workspace : tmpDir ,
108+ Model : "step-3.5-flash" ,
109+ },
110+ },
111+ ModelList : []config.ModelConfig {
112+ {
113+ ModelName : "step-3.5-flash" ,
114+ Model : "openrouter/stepfun/step-3.5-flash:free" ,
115+ APIBase : "https://openrouter.ai/api/v1" ,
116+ },
117+ },
118+ }
119+
120+ provider := & mockProvider {}
121+ agent := NewAgentInstance (nil , & cfg .Agents .Defaults , cfg , provider )
122+
123+ if len (agent .Candidates ) != 1 {
124+ t .Fatalf ("len(Candidates) = %d, want 1" , len (agent .Candidates ))
125+ }
126+ if agent .Candidates [0 ].Provider != "openrouter" {
127+ t .Fatalf ("candidate provider = %q, want %q" , agent .Candidates [0 ].Provider , "openrouter" )
128+ }
129+ if agent .Candidates [0 ].Model != "stepfun/step-3.5-flash:free" {
130+ t .Fatalf ("candidate model = %q, want %q" , agent .Candidates [0 ].Model , "stepfun/step-3.5-flash:free" )
131+ }
132+ }
133+
134+ func TestNewAgentInstance_ResolveCandidatesFromModelListAliasWithoutProtocol (t * testing.T ) {
135+ tmpDir , err := os .MkdirTemp ("" , "agent-instance-test-*" )
136+ if err != nil {
137+ t .Fatalf ("Failed to create temp dir: %v" , err )
138+ }
139+ defer os .RemoveAll (tmpDir )
140+
141+ cfg := & config.Config {
142+ Agents : config.AgentsConfig {
143+ Defaults : config.AgentDefaults {
144+ Workspace : tmpDir ,
145+ Model : "glm-5" ,
146+ },
147+ },
148+ ModelList : []config.ModelConfig {
149+ {
150+ ModelName : "glm-5" ,
151+ Model : "glm-5" ,
152+ APIBase : "https://api.z.ai/api/coding/paas/v4" ,
153+ },
154+ },
155+ }
156+
157+ provider := & mockProvider {}
158+ agent := NewAgentInstance (nil , & cfg .Agents .Defaults , cfg , provider )
159+
160+ if len (agent .Candidates ) != 1 {
161+ t .Fatalf ("len(Candidates) = %d, want 1" , len (agent .Candidates ))
162+ }
163+ if agent .Candidates [0 ].Provider != "openai" {
164+ t .Fatalf ("candidate provider = %q, want %q" , agent .Candidates [0 ].Provider , "openai" )
165+ }
166+ if agent .Candidates [0 ].Model != "glm-5" {
167+ t .Fatalf ("candidate model = %q, want %q" , agent .Candidates [0 ].Model , "glm-5" )
168+ }
169+ }
0 commit comments