Remove budget saver mode (#378)
This code was quite complex and hairy and resulted in very opaque errors (for both free and pro users). There's not much benefit to budget saver because Google removed 2.5 Pro free quota a while ago (after it graduated the model from experimental to preview). Dyad Pro users can still use 2.5 Flash free quota by disabling Dyad Pro by clicking on the Dyad Pro button at the top.
This commit is contained in:
@@ -10,7 +10,6 @@ import { getEnvVar } from "./read_env";
|
||||
import log from "electron-log";
|
||||
import { getLanguageModelProviders } from "../shared/language_model_helpers";
|
||||
import { LanguageModelProvider } from "../ipc_types";
|
||||
import { llmErrorStore } from "@/main/llm_error_store";
|
||||
import { createDyadEngine } from "./llm_engine_provider";
|
||||
import { findLanguageModel } from "./findLanguageModel";
|
||||
import { LM_STUDIO_BASE_URL } from "./lm_studio_utils";
|
||||
@@ -50,7 +49,6 @@ export async function getModelClient(
|
||||
files?: File[],
|
||||
): Promise<{
|
||||
modelClient: ModelClient;
|
||||
backupModelClients: ModelClient[];
|
||||
isEngineEnabled?: boolean;
|
||||
}> {
|
||||
const allProviders = await getLanguageModelProviders();
|
||||
@@ -143,42 +141,11 @@ export async function getModelClient(
|
||||
),
|
||||
builtinProviderId: "auto",
|
||||
};
|
||||
const googleSettings = settings.providerSettings?.google;
|
||||
|
||||
// Budget saver mode logic (all must be true):
|
||||
// 1. Pro Saver Mode is enabled
|
||||
// 2. Provider is Google
|
||||
// 3. API Key is set
|
||||
// 4. Has no recent errors
|
||||
if (
|
||||
settings.enableProSaverMode &&
|
||||
providerConfig.id === "google" &&
|
||||
googleSettings &&
|
||||
googleSettings.apiKey?.value &&
|
||||
llmErrorStore.modelHasNoRecentError({
|
||||
model: model.name,
|
||||
provider: providerConfig.id,
|
||||
})
|
||||
) {
|
||||
return {
|
||||
modelClient: getRegularModelClient(
|
||||
{
|
||||
provider: providerConfig.id,
|
||||
name: model.name,
|
||||
},
|
||||
settings,
|
||||
providerConfig,
|
||||
).modelClient,
|
||||
backupModelClients: [autoModelClient],
|
||||
isEngineEnabled,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
modelClient: autoModelClient,
|
||||
backupModelClients: [],
|
||||
isEngineEnabled,
|
||||
};
|
||||
}
|
||||
return {
|
||||
modelClient: autoModelClient,
|
||||
isEngineEnabled,
|
||||
};
|
||||
} else {
|
||||
logger.warn(
|
||||
`Dyad Pro enabled, but provider ${model.provider} does not have a gateway prefix defined. Falling back to direct provider connection.`,
|
||||
|
||||
Reference in New Issue
Block a user