feat: refine language controls and add per-tier ChatGPT Fast mode
This commit is contained in:
@@ -193,6 +193,8 @@ export interface ModelSlot {
|
||||
model?: { provider: string; id: string };
|
||||
/** The thinking budget swap. */
|
||||
thinkingLevel?: ThinkingLevel;
|
||||
/** Opt-in ChatGPT priority processing for this tier. Absent = off. */
|
||||
fastMode?: boolean;
|
||||
}
|
||||
|
||||
/** The `models` settings section (owner decision 2026-09-20: a dedicated
|
||||
@@ -490,7 +492,13 @@ function sanitizeModels(raw: Record<string, unknown>): ModelsSettings {
|
||||
const out: ModelsSettings = {};
|
||||
for (const slot of MODEL_SLOTS) {
|
||||
const cleaned = sanitizeRoleOverride(raw[slot]);
|
||||
if (cleaned) out[slot] = cleaned;
|
||||
if (cleaned) {
|
||||
const value = raw[slot] as Record<string, unknown>;
|
||||
out[slot] = {
|
||||
...cleaned,
|
||||
...(cleaned.model?.provider === "chatgpt" && typeof value.fastMode === "boolean" ? { fastMode: value.fastMode } : {}),
|
||||
};
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user