From 7d2e64b458facc1aee71eec765ca59dacb0f10b3 Mon Sep 17 00:00:00 2001 From: Enrico Ros Date: Wed, 8 Apr 2026 17:38:40 -0700 Subject: [PATCH] LLMs: Ollama: relax enrichment --- src/modules/llms/server/listModels.dispatch.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/modules/llms/server/listModels.dispatch.ts b/src/modules/llms/server/listModels.dispatch.ts index 8b68dac32..3cb636f67 100644 --- a/src/modules/llms/server/listModels.dispatch.ts +++ b/src/modules/llms/server/listModels.dispatch.ts @@ -255,16 +255,17 @@ function _listModelsCreateDispatch(access: AixAPI_Access, signal?: AbortSignal): _wire?.logResponse(wireModels); const models = wireOllamaListModelsSchema.parse(wireModels).models; - // retrieve info for each of the models - return await Promise.all(models.map(async (model) => { - - // perform /api/show on each model to get detailed info + // retrieve info for each of the models (don't fail all if a single /api/show fails) + const results = await Promise.allSettled(models.map(async (model) => { const { headers, url } = ollamaAccess(access, '/api/show'); const wireModelInfo = await fetchJsonOrTRPCThrow({ url, method: 'POST', headers, body: { 'name': model.name }, name: 'Ollama', signal }); const modelInfo = wireOllamaModelInfoSchema.parse(wireModelInfo); return { ...model, ...modelInfo }; })); + return results.map((result, i) => + result.status === 'fulfilled' ? result.value : { ...models[i], details: null }, + ); }, convertToDescriptions: (detailedModels) => { return detailedModels.map((model) => {