From ae6a6e406466f4a928f629e83f615bef302f2fe2 Mon Sep 17 00:00:00 2001 From: geoffsee <> Date: Thu, 31 Jul 2025 10:10:35 -0400 Subject: [PATCH] Refactor model filtering logic into reusable `basicFilters` function. --- .../services/src/chat-service/ChatService.ts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/services/src/chat-service/ChatService.ts b/packages/services/src/chat-service/ChatService.ts index 072a458..4d7ab7c 100644 --- a/packages/services/src/chat-service/ChatService.ts +++ b/packages/services/src/chat-service/ChatService.ts @@ -161,7 +161,15 @@ const ChatService = types const openai = new OpenAI({ apiKey: provider.key, baseURL: provider.endpoint }); - // 2‑a. List models + const basicFilters = (model: any) => { + return ( + !model.id.includes('whisper') && + !model.id.includes('flux') && + !model.id.includes('ocr') && + !model.id.includes('tts') && + !model.id.includes('guard') + ); + }; // 2‑a. List models try { const listResp: any = yield openai.models.list(); // <‑‑ async const models = 'data' in listResp ? listResp.data : listResp; @@ -170,16 +178,11 @@ const ChatService = types provider.name, models.filter((mdl: any) => { if ('supports_chat' in mdl && mdl.supports_chat) { - return true; + return basicFilters(mdl); } else if ('supports_chat' in mdl && !mdl.supports_chat) { return false; } - - return ( - !mdl.id.includes('whisper') && - !mdl.id.includes('tts') && - !mdl.id.includes('guard') - ); + return basicFilters(mdl); }), );