From b79df1796c523b3b6264f308580bb95c886224a5 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 20 Apr 2026 14:11:55 +0100 Subject: [PATCH] refactor: share session plugin line filtering --- src/config/sessions/types.ts | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/config/sessions/types.ts b/src/config/sessions/types.ts index 149a10f43dd..526bd7e6d35 100644 --- a/src/config/sessions/types.ts +++ b/src/config/sessions/types.ts @@ -263,38 +263,32 @@ function isSessionPluginTraceLine(line: string): boolean { return trimmed.startsWith("🔎 ") || /(?:^|\s)(?:Debug|Trace):/.test(trimmed); } -export function resolveSessionPluginStatusLines( +function resolveSessionPluginLines( entry: Pick | undefined, + includeLine: (line: string) => boolean, ): string[] { return Array.isArray(entry?.pluginDebugEntries) ? entry.pluginDebugEntries.flatMap((pluginEntry) => Array.isArray(pluginEntry?.lines) ? pluginEntry.lines.filter( (line): line is string => - typeof line === "string" && - line.trim().length > 0 && - !isSessionPluginTraceLine(line), + typeof line === "string" && line.trim().length > 0 && includeLine(line), ) : [], ) : []; } +export function resolveSessionPluginStatusLines( + entry: Pick | undefined, +): string[] { + return resolveSessionPluginLines(entry, (line) => !isSessionPluginTraceLine(line)); +} + export function resolveSessionPluginTraceLines( entry: Pick | undefined, ): string[] { - return Array.isArray(entry?.pluginDebugEntries) - ? entry.pluginDebugEntries.flatMap((pluginEntry) => - Array.isArray(pluginEntry?.lines) - ? pluginEntry.lines.filter( - (line): line is string => - typeof line === "string" && - line.trim().length > 0 && - isSessionPluginTraceLine(line), - ) - : [], - ) - : []; + return resolveSessionPluginLines(entry, isSessionPluginTraceLine); } export function normalizeSessionRuntimeModelFields(entry: SessionEntry): SessionEntry {