@@ -18,6 +18,7 @@ import {
1818 mistralModels ,
1919 moonshotModels ,
2020 openAiNativeModels ,
21+ qwenCodeModels ,
2122 rooModels ,
2223 sambaNovaModels ,
2324 vertexModels ,
@@ -48,6 +49,7 @@ export const providerNames = [
4849 "moonshot" ,
4950 "deepseek" ,
5051 "doubao" ,
52+ "qwen-code" ,
5153 "unbound" ,
5254 "requesty" ,
5355 "human-relay" ,
@@ -311,6 +313,10 @@ const ioIntelligenceSchema = apiModelIdProviderModelSchema.extend({
311313 ioIntelligenceApiKey : z . string ( ) . optional ( ) ,
312314} )
313315
316+ const qwenCodeSchema = apiModelIdProviderModelSchema . extend ( {
317+ qwenCodeOauthPath : z . string ( ) . optional ( ) ,
318+ } )
319+
314320const rooSchema = apiModelIdProviderModelSchema . extend ( {
315321 // No additional fields needed - uses cloud authentication
316322} )
@@ -352,6 +358,7 @@ export const providerSettingsSchemaDiscriminated = z.discriminatedUnion("apiProv
352358 fireworksSchema . merge ( z . object ( { apiProvider : z . literal ( "fireworks" ) } ) ) ,
353359 featherlessSchema . merge ( z . object ( { apiProvider : z . literal ( "featherless" ) } ) ) ,
354360 ioIntelligenceSchema . merge ( z . object ( { apiProvider : z . literal ( "io-intelligence" ) } ) ) ,
361+ qwenCodeSchema . merge ( z . object ( { apiProvider : z . literal ( "qwen-code" ) } ) ) ,
355362 rooSchema . merge ( z . object ( { apiProvider : z . literal ( "roo" ) } ) ) ,
356363 defaultSchema ,
357364] )
@@ -390,6 +397,7 @@ export const providerSettingsSchema = z.object({
390397 ...fireworksSchema . shape ,
391398 ...featherlessSchema . shape ,
392399 ...ioIntelligenceSchema . shape ,
400+ ...qwenCodeSchema . shape ,
393401 ...rooSchema . shape ,
394402 ...codebaseIndexProviderSchema . shape ,
395403} )
@@ -506,6 +514,7 @@ export const MODELS_BY_PROVIDER: Record<
506514 label : "OpenAI" ,
507515 models : Object . keys ( openAiNativeModels ) ,
508516 } ,
517+ "qwen-code" : { id : "qwen-code" , label : "Qwen Code" , models : Object . keys ( qwenCodeModels ) } ,
509518 roo : { id : "roo" , label : "Roo" , models : Object . keys ( rooModels ) } ,
510519 sambanova : {
511520 id : "sambanova" ,
0 commit comments