refactor(auto-reply): share mode-switch events

This commit is contained in:
Peter Steinberger
2026-02-15 17:03:02 +00:00
parent 9f393a045c
commit ca4c2b33d7
3 changed files with 39 additions and 31 deletions

View File

@@ -20,7 +20,7 @@ import { enqueueSystemEvent } from "../../infra/system-events.js";
import { applyVerboseOverride } from "../../sessions/level-overrides.js";
import { applyModelOverrideToSessionEntry } from "../../sessions/model-overrides.js";
import { resolveProfileOverride } from "./directive-handling.auth.js";
import { formatElevatedEvent, formatReasoningEvent } from "./directive-handling.shared.js";
import { enqueueModeSwitchEvents } from "./directive-handling.shared.js";
export async function persistInlineDirectives(params: {
directives: InlineDirectives;
@@ -199,20 +199,13 @@ export async function persistInlineDirectives(params: {
store[sessionKey] = sessionEntry;
});
}
if (elevatedChanged) {
const nextElevated = (sessionEntry.elevatedLevel ?? "off") as ElevatedLevel;
enqueueSystemEvent(formatElevatedEvent(nextElevated), {
sessionKey,
contextKey: "mode:elevated",
});
}
if (reasoningChanged) {
const nextReasoning = (sessionEntry.reasoningLevel ?? "off") as ReasoningLevel;
enqueueSystemEvent(formatReasoningEvent(nextReasoning), {
sessionKey,
contextKey: "mode:reasoning",
});
}
enqueueModeSwitchEvents({
enqueueSystemEvent,
sessionEntry,
sessionKey,
elevatedChanged,
reasoningChanged,
});
}
}