|
|
@@ -241,6 +241,15 @@ export namespace Provider {
|
|
|
const config = await Config.get()
|
|
|
const database = await ModelsDev.get()
|
|
|
|
|
|
+ const disabled = new Set(config.disabled_providers ?? [])
|
|
|
+ const enabled = config.enabled_providers ? new Set(config.enabled_providers) : null
|
|
|
+
|
|
|
+ function isProviderAllowed(providerID: string): boolean {
|
|
|
+ if (enabled && !enabled.has(providerID)) return false
|
|
|
+ if (disabled.has(providerID)) return false
|
|
|
+ return true
|
|
|
+ }
|
|
|
+
|
|
|
const providers: {
|
|
|
[providerID: string]: {
|
|
|
source: Source
|
|
|
@@ -369,7 +378,6 @@ export namespace Provider {
|
|
|
database[providerID] = parsed
|
|
|
}
|
|
|
|
|
|
- const disabled = await Config.get().then((cfg) => new Set(cfg.disabled_providers ?? []))
|
|
|
// load env
|
|
|
for (const [providerID, provider] of Object.entries(database)) {
|
|
|
if (disabled.has(providerID)) continue
|
|
|
@@ -447,6 +455,11 @@ export namespace Provider {
|
|
|
}
|
|
|
|
|
|
for (const [providerID, provider] of Object.entries(providers)) {
|
|
|
+ if (!isProviderAllowed(providerID)) {
|
|
|
+ delete providers[providerID]
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
const configProvider = config.provider?.[providerID]
|
|
|
const filteredModels = Object.fromEntries(
|
|
|
Object.entries(provider.info.models)
|