@@ -59,7 +59,7 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri
5959 }
6060 break
6161 case "deepinfra" :
62- if ( ! apiConfiguration . deepInfraApiKey ) {
62+ if ( ! ( apiConfiguration . deepInfraApiKey || apiConfiguration . deepInfraConfigUseEnvVars ) ) {
6363 return i18next . t ( "settings:validation.apiKey" )
6464 }
6565 break
@@ -121,30 +121,30 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri
121121 }
122122 break
123123 case "huggingface" :
124- if ( ! apiConfiguration . huggingFaceApiKey ) {
124+ if ( ! ( apiConfiguration . huggingFaceApiKey || apiConfiguration . huggingFaceConfigUseEnvVars ) ) {
125125 return i18next . t ( "settings:validation.apiKey" )
126126 }
127127 if ( ! apiConfiguration . huggingFaceModelId ) {
128128 return i18next . t ( "settings:validation.modelId" )
129129 }
130130 break
131131 case "cerebras" :
132- if ( ! apiConfiguration . cerebrasApiKey ) {
132+ if ( ! ( apiConfiguration . cerebrasApiKey || apiConfiguration . cerebrasConfigUseEnvVars ) ) {
133133 return i18next . t ( "settings:validation.apiKey" )
134134 }
135135 break
136136 case "fireworks" :
137- if ( ! apiConfiguration . fireworksApiKey ) {
137+ if ( ! ( apiConfiguration . fireworksApiKey || apiConfiguration . fireworksConfigUseEnvVars ) ) {
138138 return i18next . t ( "settings:validation.apiKey" )
139139 }
140140 break
141141 case "io-intelligence" :
142- if ( ! apiConfiguration . ioIntelligenceApiKey ) {
142+ if ( ! ( apiConfiguration . ioIntelligenceApiKey || apiConfiguration . ioIntelligenceConfigUseEnvVars ) ) {
143143 return i18next . t ( "settings:validation.apiKey" )
144144 }
145145 break
146146 case "featherless" :
147- if ( ! apiConfiguration . featherlessApiKey ) {
147+ if ( ! ( apiConfiguration . featherlessApiKey || apiConfiguration . featherlessConfigUseEnvVars ) ) {
148148 return i18next . t ( "settings:validation.apiKey" )
149149 }
150150 break
@@ -154,7 +154,47 @@ function validateModelsAndKeysProvided(apiConfiguration: ProviderSettings): stri
154154 }
155155 break
156156 case "vercel-ai-gateway" :
157- if ( ! apiConfiguration . vercelAiGatewayApiKey ) {
157+ if ( ! ( apiConfiguration . vercelAiGatewayApiKey || apiConfiguration . vercelConfigUseEnvVars ) ) {
158+ return i18next . t ( "settings:validation.apiKey" )
159+ }
160+ break
161+ case "deepseek" :
162+ if ( ! ( apiConfiguration . deepSeekApiKey || apiConfiguration . deepSeekConfigUseEnvVars ) ) {
163+ return i18next . t ( "settings:validation.apiKey" )
164+ }
165+ break
166+ case "doubao" :
167+ if ( ! ( apiConfiguration . doubaoApiKey || apiConfiguration . doubaoConfigUseEnvVars ) ) {
168+ return i18next . t ( "settings:validation.apiKey" )
169+ }
170+ break
171+ case "moonshot" :
172+ if ( ! ( apiConfiguration . moonshotApiKey || apiConfiguration . moonshotConfigUseEnvVars ) ) {
173+ return i18next . t ( "settings:validation.apiKey" )
174+ }
175+ break
176+ case "xai" :
177+ if ( ! ( apiConfiguration . xaiApiKey || apiConfiguration . xaiConfigUseEnvVars ) ) {
178+ return i18next . t ( "settings:validation.apiKey" )
179+ }
180+ break
181+ case "groq" :
182+ if ( ! ( apiConfiguration . groqApiKey || apiConfiguration . groqConfigUseEnvVars ) ) {
183+ return i18next . t ( "settings:validation.apiKey" )
184+ }
185+ break
186+ case "chutes" :
187+ if ( ! ( apiConfiguration . chutesApiKey || apiConfiguration . chutesConfigUseEnvVars ) ) {
188+ return i18next . t ( "settings:validation.apiKey" )
189+ }
190+ break
191+ case "sambanova" :
192+ if ( ! ( apiConfiguration . sambaNovaApiKey || apiConfiguration . sambaNovaConfigUseEnvVars ) ) {
193+ return i18next . t ( "settings:validation.apiKey" )
194+ }
195+ break
196+ case "zai" :
197+ if ( ! ( apiConfiguration . zaiApiKey || apiConfiguration . zaiConfigUseEnvVars ) ) {
158198 return i18next . t ( "settings:validation.apiKey" )
159199 }
160200 break
0 commit comments