fix: ensure adminModels is loaded before checking providers in ensureOpencodeConfig
- Add check to load adminModels if not already loaded - Add error handling for models.dev fetch failures - Log provider source (models.dev vs built-in) for debugging
This commit is contained in:
@@ -5124,6 +5124,11 @@ async function ensureOpencodeConfig(session) {
|
||||
[providerName]: providerCfg
|
||||
};
|
||||
|
||||
// Ensure adminModels is loaded
|
||||
if (!adminModels || adminModels.length === 0) {
|
||||
await loadAdminModelStore();
|
||||
}
|
||||
|
||||
// Find which providers are used in adminModels
|
||||
const usedProviders = new Set();
|
||||
for (const model of adminModels) {
|
||||
@@ -5165,7 +5170,15 @@ async function ensureOpencodeConfig(session) {
|
||||
for (const [providerId, config] of Object.entries(providerConfigs)) {
|
||||
if (config.apiKey && usedProviders.has(providerId)) {
|
||||
// Fetch all models from models.dev for this provider
|
||||
const models = await fetchModelsDevProviderModels(providerId);
|
||||
let models = {};
|
||||
try {
|
||||
models = await fetchModelsDevProviderModels(providerId);
|
||||
} catch (err) {
|
||||
log('Failed to fetch models from models.dev, using empty models list', {
|
||||
provider: providerId,
|
||||
error: String(err)
|
||||
});
|
||||
}
|
||||
|
||||
providers[providerId] = {
|
||||
options: {
|
||||
@@ -5175,9 +5188,10 @@ async function ensureOpencodeConfig(session) {
|
||||
models: models
|
||||
};
|
||||
|
||||
log('Configured provider with models.dev data', {
|
||||
log('Configured provider', {
|
||||
provider: providerId,
|
||||
modelCount: Object.keys(models).length
|
||||
modelCount: Object.keys(models).length,
|
||||
source: Object.keys(models).length > 0 ? 'models.dev' : 'built-in'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user