mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 20:41:37 +00:00
refactor(auto-reply): share mode-switch events
This commit is contained in:
@@ -40,6 +40,29 @@ export const formatReasoningEvent = (level: ReasoningLevel) => {
|
||||
return "Reasoning OFF — hide <think>.";
|
||||
};
|
||||
|
||||
export function enqueueModeSwitchEvents(params: {
|
||||
enqueueSystemEvent: (text: string, meta: { sessionKey: string; contextKey: string }) => void;
|
||||
sessionEntry: { elevatedLevel?: string | null; reasoningLevel?: string | null };
|
||||
sessionKey: string;
|
||||
elevatedChanged?: boolean;
|
||||
reasoningChanged?: boolean;
|
||||
}): void {
|
||||
if (params.elevatedChanged) {
|
||||
const nextElevated = (params.sessionEntry.elevatedLevel ?? "off") as ElevatedLevel;
|
||||
params.enqueueSystemEvent(formatElevatedEvent(nextElevated), {
|
||||
sessionKey: params.sessionKey,
|
||||
contextKey: "mode:elevated",
|
||||
});
|
||||
}
|
||||
if (params.reasoningChanged) {
|
||||
const nextReasoning = (params.sessionEntry.reasoningLevel ?? "off") as ReasoningLevel;
|
||||
params.enqueueSystemEvent(formatReasoningEvent(nextReasoning), {
|
||||
sessionKey: params.sessionKey,
|
||||
contextKey: "mode:reasoning",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function formatElevatedUnavailableText(params: {
|
||||
runtimeSandboxed: boolean;
|
||||
failures?: Array<{ gate: string; key: string }>;
|
||||
|
||||
Reference in New Issue
Block a user