From d6e9ae53fee5caa79e89254ed35fb3beed55d30a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 25 Apr 2026 12:48:20 +0100 Subject: [PATCH] perf: split chat strip helper --- ui/src/ui/chat/message-extract.ts | 2 +- ui/src/ui/format.ts | 6 +----- ui/src/ui/strip-thinking-tags.ts | 5 +++++ 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 ui/src/ui/strip-thinking-tags.ts diff --git a/ui/src/ui/chat/message-extract.ts b/ui/src/ui/chat/message-extract.ts index bfae47a98e6..a233a0d7c6e 100644 --- a/ui/src/ui/chat/message-extract.ts +++ b/ui/src/ui/chat/message-extract.ts @@ -2,8 +2,8 @@ import { stripInternalRuntimeContext } from "../../../../src/agents/internal-run import { stripInboundMetadata } from "../../../../src/auto-reply/reply/strip-inbound-meta.js"; import { stripEnvelope } from "../../../../src/shared/chat-envelope.js"; import { extractAssistantVisibleText as extractSharedAssistantVisibleText } from "../../../../src/shared/chat-message-content.js"; -import { stripThinkingTags } from "../format.ts"; import { normalizeLowercaseStringOrEmpty } from "../string-coerce.ts"; +import { stripThinkingTags } from "../strip-thinking-tags.ts"; const textCache = new WeakMap(); const thinkingCache = new WeakMap(); diff --git a/ui/src/ui/format.ts b/ui/src/ui/format.ts index a65f40ed2d2..f982c0700b0 100644 --- a/ui/src/ui/format.ts +++ b/ui/src/ui/format.ts @@ -1,9 +1,9 @@ import { formatDurationHuman } from "../../../src/infra/format-time/format-duration.ts"; import { formatRelativeTimestamp } from "../../../src/infra/format-time/format-relative.ts"; -import { stripAssistantInternalScaffolding } from "../../../src/shared/text/assistant-visible-text.js"; import { t } from "../i18n/index.ts"; export { formatRelativeTimestamp, formatDurationHuman }; +export { stripThinkingTags } from "./strip-thinking-tags.ts"; export function formatUnknownText( value: unknown, @@ -80,10 +80,6 @@ export function toNumber(value: string, fallback: number): number { return Number.isFinite(n) ? n : fallback; } -export function stripThinkingTags(value: string): string { - return stripAssistantInternalScaffolding(value); -} - export function formatCost(cost: number | null | undefined, fallback = "$0.00"): string { if (cost == null || !Number.isFinite(cost)) { return fallback; diff --git a/ui/src/ui/strip-thinking-tags.ts b/ui/src/ui/strip-thinking-tags.ts new file mode 100644 index 00000000000..8ae24dcecdb --- /dev/null +++ b/ui/src/ui/strip-thinking-tags.ts @@ -0,0 +1,5 @@ +import { stripAssistantInternalScaffolding } from "../../../src/shared/text/assistant-visible-text.js"; + +export function stripThinkingTags(value: string): string { + return stripAssistantInternalScaffolding(value); +}