feat(ollama): add source field to model list response (api/fallback)

This commit is contained in:
LuisMIguelFurlanettoSousa 2026-03-25 21:36:43 -03:00
parent f7f69314a4
commit a9eec096ce

View File

@ -199,7 +199,7 @@ export class OllamaService {
query: null, query: null,
limit: 15, limit: 15,
} }
): Promise<{ models: NomadOllamaModel[], hasMore: boolean } | null> { ): Promise<{ models: NomadOllamaModel[], hasMore: boolean, source: 'api' | 'fallback' } | null> {
try { try {
const models = await this.retrieveAndRefreshModels(sort, force) const models = await this.retrieveAndRefreshModels(sort, force)
if (!models) { if (!models) {
@ -209,7 +209,8 @@ export class OllamaService {
) )
return { return {
models: FALLBACK_RECOMMENDED_OLLAMA_MODELS, models: FALLBACK_RECOMMENDED_OLLAMA_MODELS,
hasMore: false hasMore: false,
source: 'fallback',
} }
} }
@ -217,7 +218,8 @@ export class OllamaService {
const filteredModels = query ? this.fuseSearchModels(models, query) : models const filteredModels = query ? this.fuseSearchModels(models, query) : models
return { return {
models: filteredModels.slice(0, limit || 15), models: filteredModels.slice(0, limit || 15),
hasMore: filteredModels.length > (limit || 15) hasMore: filteredModels.length > (limit || 15),
source: 'api',
} }
} }
@ -237,13 +239,15 @@ export class OllamaService {
const filteredRecommendedModels = this.fuseSearchModels(recommendedModels, query) const filteredRecommendedModels = this.fuseSearchModels(recommendedModels, query)
return { return {
models: filteredRecommendedModels, models: filteredRecommendedModels,
hasMore: filteredRecommendedModels.length > (limit || 15) hasMore: filteredRecommendedModels.length > (limit || 15),
source: 'api',
} }
} }
return { return {
models: recommendedModels, models: recommendedModels,
hasMore: recommendedModels.length > (limit || 15) hasMore: recommendedModels.length > (limit || 15),
source: 'api',
} }
} catch (error) { } catch (error) {
logger.error( logger.error(