feat: refine language controls and add per-tier ChatGPT Fast mode

This commit is contained in:
2026-10-25 21:19:48 +03:00
parent f8ce0f21ef
commit 8c564946ef
17 changed files with 488 additions and 37 deletions
+11 -1
View File
@@ -348,7 +348,17 @@ export function parseModelsSettingsBody(body: unknown): SettingsBodyResult<Model
if (!parsed.override.model) {
return { ok: false, error: `slot "${key}" must set a model (thinkingLevel alone cannot run — absent slot = unset)` };
}
settings[key as (typeof MODEL_SLOTS)[number]] = parsed.override;
const value = asRecord(raw[key])!;
if (value.fastMode !== undefined && typeof value.fastMode !== "boolean") {
return { ok: false, error: `${key}.fastMode must be a boolean` };
}
if (value.fastMode === true && parsed.override.model.provider !== "chatgpt") {
return { ok: false, error: "Fast mode is available only for ChatGPT models." };
}
settings[key as (typeof MODEL_SLOTS)[number]] = {
...parsed.override,
...(typeof value.fastMode === "boolean" ? { fastMode: value.fastMode } : {}),
};
}
return { ok: true, settings };
}