feat: refine language controls and add per-tier ChatGPT Fast mode
This commit is contained in:
@@ -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 };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user