From 78c63802229680727398534074659d1ebda11464 Mon Sep 17 00:00:00 2001 From: Pascal Date: Fri, 16 Jan 2026 15:18:59 +0100 Subject: [PATCH] refactor: remove reasoning after first turn filter --- tools/server/webui/src/lib/clients/agentic.client.ts | 5 +---- .../components/app/chat/ChatSettings/ChatSettings.svelte | 5 ----- tools/server/webui/src/lib/constants/agentic.ts | 3 +-- tools/server/webui/src/lib/constants/settings-config.ts | 3 --- tools/server/webui/src/lib/types/agentic.d.ts | 1 - tools/server/webui/src/lib/utils/agentic.ts | 7 +------ 6 files changed, 3 insertions(+), 21 deletions(-) diff --git a/tools/server/webui/src/lib/clients/agentic.client.ts b/tools/server/webui/src/lib/clients/agentic.client.ts index ecbea1e02d..c9926c9806 100644 --- a/tools/server/webui/src/lib/clients/agentic.client.ts +++ b/tools/server/webui/src/lib/clients/agentic.client.ts @@ -278,9 +278,6 @@ export class AgenticClient { return; } - // Filter reasoning content after first turn if configured - const shouldFilterReasoning = agenticConfig.filterReasoningAfterFirstTurn && turn > 0; - let turnContent = ''; let turnToolCalls: ApiChatCompletionToolCall[] = []; let lastStreamingToolCallName = ''; @@ -314,7 +311,7 @@ export class AgenticClient { turnContent += chunk; onChunk?.(chunk); }, - onReasoningChunk: shouldFilterReasoning ? undefined : onReasoningChunk, + onReasoningChunk, onToolCallChunk: (serialized: string) => { try { turnToolCalls = JSON.parse(serialized) as ApiChatCompletionToolCall[]; diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index 00e0b555ce..f482ac8ee0 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -259,11 +259,6 @@ label: 'Max lines per tool preview', type: 'input' }, - { - key: 'agenticFilterReasoningAfterFirstTurn', - label: 'Filter reasoning after first turn', - type: 'checkbox' - }, { key: 'showToolCallInProgress', label: 'Show tool call in progress', diff --git a/tools/server/webui/src/lib/constants/agentic.ts b/tools/server/webui/src/lib/constants/agentic.ts index 140fee41ad..5b57294eb4 100644 --- a/tools/server/webui/src/lib/constants/agentic.ts +++ b/tools/server/webui/src/lib/constants/agentic.ts @@ -3,8 +3,7 @@ import type { AgenticConfig } from '$lib/types/agentic'; export const DEFAULT_AGENTIC_CONFIG: AgenticConfig = { enabled: true, maxTurns: 100, - maxToolPreviewLines: 25, - filterReasoningAfterFirstTurn: true + maxToolPreviewLines: 25 } as const; // Agentic tool call tag markers diff --git a/tools/server/webui/src/lib/constants/settings-config.ts b/tools/server/webui/src/lib/constants/settings-config.ts index e8052b833d..b394bfcd46 100644 --- a/tools/server/webui/src/lib/constants/settings-config.ts +++ b/tools/server/webui/src/lib/constants/settings-config.ts @@ -23,7 +23,6 @@ export const SETTING_CONFIG_DEFAULT: Record = mcpServerUsageStats: '{}', // JSON object: { [serverId]: usageCount } agenticMaxTurns: 10, agenticMaxToolPreviewLines: 25, - agenticFilterReasoningAfterFirstTurn: true, showToolCallInProgress: false, // make sure these default values are in sync with `common.h` samplers: 'top_k;typ_p;top_p;min_p;temperature', @@ -124,8 +123,6 @@ export const SETTING_CONFIG_INFO: Record = { 'Maximum number of tool execution cycles before stopping (prevents infinite loops).', agenticMaxToolPreviewLines: 'Number of lines shown in tool output previews (last N lines). Only these previews and the final LLM response persist after the agentic loop completes.', - agenticFilterReasoningAfterFirstTurn: - 'Only show reasoning from the first agentic turn. When disabled, reasoning from all turns is merged in one (WebUI limitation).', showToolCallInProgress: 'Automatically expand tool call details while executing and keep them expanded after completion.', pyInterpreterEnabled: diff --git a/tools/server/webui/src/lib/types/agentic.d.ts b/tools/server/webui/src/lib/types/agentic.d.ts index 9a33b34a33..4bf7c93768 100644 --- a/tools/server/webui/src/lib/types/agentic.d.ts +++ b/tools/server/webui/src/lib/types/agentic.d.ts @@ -7,7 +7,6 @@ export interface AgenticConfig { enabled: boolean; maxTurns: number; maxToolPreviewLines: number; - filterReasoningAfterFirstTurn: boolean; } /** diff --git a/tools/server/webui/src/lib/utils/agentic.ts b/tools/server/webui/src/lib/utils/agentic.ts index 936047aa23..741d70d04d 100644 --- a/tools/server/webui/src/lib/utils/agentic.ts +++ b/tools/server/webui/src/lib/utils/agentic.ts @@ -24,16 +24,11 @@ export function getAgenticConfig( settings.agenticMaxToolPreviewLines, DEFAULT_AGENTIC_CONFIG.maxToolPreviewLines ); - const filterReasoningAfterFirstTurn = - typeof settings.agenticFilterReasoningAfterFirstTurn === 'boolean' - ? settings.agenticFilterReasoningAfterFirstTurn - : DEFAULT_AGENTIC_CONFIG.filterReasoningAfterFirstTurn; return { enabled: mcpStore.hasEnabledServers(perChatOverrides) && DEFAULT_AGENTIC_CONFIG.enabled, maxTurns, - maxToolPreviewLines, - filterReasoningAfterFirstTurn + maxToolPreviewLines }; }