fix: prefer target entry for fast status

This commit is contained in:
Tak Hoffman
2026-04-10 21:10:22 -05:00
parent 1c7444dab6
commit f6f81960f3
2 changed files with 32 additions and 1 deletions

View File

@@ -189,4 +189,34 @@ describe("handleFastCommand", () => {
);
expect(result?.reply?.text).toContain("Current fast mode: on");
});
it("prefers the target session entry from sessionStore for /fast status", async () => {
const params = buildUsageParams();
params.command.commandBodyNormalized = "/fast status";
params.provider = "openai";
params.model = "gpt-5.4";
params.sessionEntry = {
sessionId: "wrapper-session",
updatedAt: Date.now(),
fastMode: false,
};
params.sessionStore = {
[params.sessionKey]: {
sessionId: "target-session",
updatedAt: Date.now(),
fastMode: true,
},
};
await handleFastCommand(params, true);
expect(resolveFastModeStateMock).toHaveBeenCalledWith(
expect.objectContaining({
sessionEntry: expect.objectContaining({
sessionId: "target-session",
fastMode: true,
}),
}),
);
});
});

View File

@@ -355,6 +355,7 @@ export const handleFastCommand: CommandHandler = async (params, allowTextCommand
const rawArgs = normalized === "/fast" ? "" : normalized.slice("/fast".length).trim();
const rawMode = normalizeLowercaseStringOrEmpty(rawArgs);
if (!rawMode || rawMode === "status") {
const targetSessionEntry = params.sessionStore?.[params.sessionKey] ?? params.sessionEntry;
const sessionAgentId = params.sessionKey
? resolveSessionAgentId({ sessionKey: params.sessionKey, config: params.cfg })
: params.agentId;
@@ -363,7 +364,7 @@ export const handleFastCommand: CommandHandler = async (params, allowTextCommand
provider: params.provider,
model: params.model,
agentId: sessionAgentId,
sessionEntry: params.sessionEntry,
sessionEntry: targetSessionEntry,
});
const suffix =
state.source === "agent"