

























@@ -180,6 +180,8 @@ function createChatHeaderState(
180180model?: string | null;
181181modelProvider?: string | null;
182182models?: ModelCatalogEntry[];
183+defaultsThinkingDefault?: string;
184+thinkingDefault?: string;
183185omitSessionFromList?: boolean;
184186} = {},
185187): { state: AppViewState; request: ReturnType<typeof vi.fn> } {
@@ -218,6 +220,8 @@ function createChatHeaderState(
218220return createSessionsListResult({
219221model: currentModel,
220222modelProvider: currentModelProvider,
223+defaultsThinkingDefault: overrides.defaultsThinkingDefault,
224+thinkingDefault: overrides.thinkingDefault,
221225 omitSessionFromList,
222226});
223227}
@@ -240,6 +244,8 @@ function createChatHeaderState(
240244sessionsResult: createSessionsListResult({
241245model: currentModel,
242246modelProvider: currentModelProvider,
247+defaultsThinkingDefault: overrides.defaultsThinkingDefault,
248+thinkingDefault: overrides.thinkingDefault,
243249 omitSessionFromList,
244250}),
245251chatModelOverrides: {},
@@ -704,4 +710,39 @@ describe("chat session controls", () => {
704710?.textContent?.trim(),
705711).toBe("maximum");
706712});
713+714+it("labels chat thinking default from the active session row", () => {
715+const { state } = createChatHeaderState({
716+model: "gemma4:hermes-e4b",
717+modelProvider: "ollama",
718+thinkingDefault: "adaptive",
719+});
720+const container = document.createElement("div");
721+render(renderChatSessionSelect(state), container);
722+723+const thinkingSelect = container.querySelector<HTMLSelectElement>(
724+'select[data-chat-thinking-select="true"]',
725+);
726+727+expect(thinkingSelect?.value).toBe("");
728+expect(thinkingSelect?.options[0]?.textContent?.trim()).toBe("Default (adaptive)");
729+expect(thinkingSelect?.title).toBe("Default (adaptive)");
730+});
731+732+it("labels chat thinking default from session defaults when the row is absent", () => {
733+const { state } = createChatHeaderState({
734+defaultsThinkingDefault: "adaptive",
735+omitSessionFromList: true,
736+});
737+const container = document.createElement("div");
738+render(renderChatSessionSelect(state), container);
739+740+const thinkingSelect = container.querySelector<HTMLSelectElement>(
741+'select[data-chat-thinking-select="true"]',
742+);
743+744+expect(thinkingSelect?.value).toBe("");
745+expect(thinkingSelect?.options[0]?.textContent?.trim()).toBe("Default (adaptive)");
746+expect(thinkingSelect?.title).toBe("Default (adaptive)");
747+});
707748});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。