fix: persist elevated off override

This commit is contained in:
Peter Steinberger
2026-01-10 05:23:29 +01:00
parent e4abd06094
commit 66db6c749d
3 changed files with 17 additions and 10 deletions

View File

@@ -866,8 +866,9 @@ export async function handleDirectiveOnly(params: {
else sessionEntry.reasoningLevel = directives.reasoningLevel;
}
if (directives.hasElevatedDirective && directives.elevatedLevel) {
if (directives.elevatedLevel === "off") delete sessionEntry.elevatedLevel;
else sessionEntry.elevatedLevel = directives.elevatedLevel;
// Unlike other toggles, elevated defaults can be "on".
// Persist "off" explicitly so `/elevated off` actually overrides defaults.
sessionEntry.elevatedLevel = directives.elevatedLevel;
}
if (modelSelection) {
if (modelSelection.isDefault) {
@@ -1049,11 +1050,8 @@ export async function persistInlineDirectives(params: {
elevatedEnabled &&
elevatedAllowed
) {
if (directives.elevatedLevel === "off") {
delete sessionEntry.elevatedLevel;
} else {
sessionEntry.elevatedLevel = directives.elevatedLevel;
}
// Persist "off" explicitly so inline `/elevated off` overrides defaults.
sessionEntry.elevatedLevel = directives.elevatedLevel;
updated = true;
}
const modelDirective =