From 1fd3b2e75ce5801fda2596db731e48484784b8fa Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Tue, 25 Nov 2025 12:26:38 +0000 Subject: [PATCH] Add toggle for usage metrics --- packages/ui/src/App.tsx | 2 ++ packages/ui/src/components/message-item.tsx | 5 ++++ packages/ui/src/components/message-stream.tsx | 27 ++++++++++--------- .../session/context-usage-panel.tsx | 1 + packages/ui/src/lib/hooks/use-commands.ts | 14 ++++++++++ packages/ui/src/stores/preferences.tsx | 10 +++++++ 6 files changed, 46 insertions(+), 13 deletions(-) diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx index 7df5b893..1dd3cb13 100644 --- a/packages/ui/src/App.tsx +++ b/packages/ui/src/App.tsx @@ -47,6 +47,7 @@ const App: Component = () => { preferences, recordWorkspaceLaunch, toggleShowThinkingBlocks, + toggleUsageMetrics, setDiffViewMode, setToolOutputExpansion, setDiagnosticsExpansion, @@ -205,6 +206,7 @@ const App: Component = () => { const { commands: paletteCommands, executeCommand } = useCommands({ preferences, toggleShowThinkingBlocks, + toggleUsageMetrics, setDiffViewMode, setToolOutputExpansion, setDiagnosticsExpansion, diff --git a/packages/ui/src/components/message-item.tsx b/packages/ui/src/components/message-item.tsx index 64cb3432..8591d2b5 100644 --- a/packages/ui/src/components/message-item.tsx +++ b/packages/ui/src/components/message-item.tsx @@ -2,6 +2,7 @@ import { For, Show, createMemo } from "solid-js" import type { Message, SDKPart, MessageInfo, ClientPart } from "../types/message" import { partHasRenderableText } from "../types/message" import { formatTokenTotal } from "../lib/formatters" +import { preferences } from "../stores/preferences" import MessagePart from "./message-part" interface MessageItemProps { @@ -17,6 +18,7 @@ interface MessageItemProps { export default function MessageItem(props: MessageItemProps) { const isUser = () => props.message.type === "user" + const showUsageMetrics = () => preferences().showUsageMetrics ?? true const timestamp = () => { const date = new Date(props.message.timestamp) return date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) @@ -150,6 +152,9 @@ export default function MessageItem(props: MessageItemProps) { if (!info || info.role !== "assistant" || !info.tokens) { return null } + if (!showUsageMetrics()) { + return null + } const tokens = info.tokens const input = tokens.input ?? 0 diff --git a/packages/ui/src/components/message-stream.tsx b/packages/ui/src/components/message-stream.tsx index 16b477c9..55172ab5 100644 --- a/packages/ui/src/components/message-stream.tsx +++ b/packages/ui/src/components/message-stream.tsx @@ -545,21 +545,22 @@ export default function MessageStream(props: MessageStreamProps) { return (
-
-
-
- Used - {formatTokens(sessionInfo().actualUsageTokens ?? 0)} -
-
- Avail - - {sessionInfo().contextAvailableTokens !== null ? formatTokens(sessionInfo().contextAvailableTokens ?? 0) : "--"} - -
+
+
+
+ Used + {formatTokens(sessionInfo().actualUsageTokens ?? 0)}
- +
+ Avail + + {sessionInfo().contextAvailableTokens !== null ? formatTokens(sessionInfo().contextAvailableTokens ?? 0) : "--"} + +
+
+
+