refactor: tidy directive parsing + queue status

This commit is contained in:
Peter Steinberger
2026-01-08 03:40:39 +01:00
parent e657e59b46
commit 8aa3efb9e8
7 changed files with 342 additions and 211 deletions

View File

@@ -50,6 +50,7 @@ import {
extractQueueDirective,
type QueueDropPolicy,
type QueueMode,
resolveQueueSettings,
} from "./queue.js";
const SYSTEM_MARK = "⚙️";
@@ -328,6 +329,7 @@ export async function handleDirectiveOnly(params: {
allowedModelKeys,
allowedModelCatalog,
resetModelOverride,
provider,
initialModelLabel,
formatModelSwitchEvent,
currentThinkLevel,
@@ -433,6 +435,33 @@ export async function handleDirectiveOnly(params: {
return { text: "elevated is not available right now." };
}
if (
directives.hasQueueDirective &&
!directives.queueMode &&
!directives.queueReset &&
!directives.hasQueueOptions &&
directives.rawQueueMode === undefined &&
directives.rawDebounce === undefined &&
directives.rawCap === undefined &&
directives.rawDrop === undefined
) {
const settings = resolveQueueSettings({
cfg: params.cfg,
provider,
sessionEntry,
});
const debounceLabel =
typeof settings.debounceMs === "number"
? `${settings.debounceMs}ms`
: "default";
const capLabel =
typeof settings.cap === "number" ? String(settings.cap) : "default";
const dropLabel = settings.dropPolicy ?? "default";
return {
text: `Current queue settings: mode=${settings.mode}, debounce=${debounceLabel}, cap=${capLabel}, drop=${dropLabel}.`,
};
}
const queueModeInvalid =
directives.hasQueueDirective &&
!directives.queueMode &&