From 9bf48e7289cef34b0f1527a5dc0792a7ebf14710 Mon Sep 17 00:00:00 2001 From: KernelDeimos Date: Mon, 5 May 2025 16:10:52 -0400 Subject: [PATCH] fix: fallback behavior related to fake-chat service Fallbacks from or to the fake-chat service should not be allowed. Fallbacks to the "costly" model from fake-chat could result in unintended charges and fallbacks to real models from fake-chat could result in service abuse. --- src/backend/src/modules/puterai/AIChatService.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/src/modules/puterai/AIChatService.js b/src/backend/src/modules/puterai/AIChatService.js index 5cd6035cd..98156af0b 100644 --- a/src/backend/src/modules/puterai/AIChatService.js +++ b/src/backend/src/modules/puterai/AIChatService.js @@ -474,6 +474,11 @@ class AIChatService extends BaseService { error: e, }); while ( !! error ) { + // No fallbacks for pseudo-models + if ( intended_service === 'fake-chat' ) { + break; + } + const fallback = this.get_fallback_model({ model, tried, }); @@ -845,6 +850,7 @@ class AIChatService extends BaseService { for ( const model of sorted_models ) { if ( tried.includes(model.id) ) continue; + if ( model.provider === 'fake-chat' ) continue; return { fallback_service_name: model.provider,